diff options
author | sephe <sephe@FreeBSD.org> | 2016-04-26 05:00:40 +0000 |
---|---|---|
committer | sephe <sephe@FreeBSD.org> | 2016-04-26 05:00:40 +0000 |
commit | 35bcf1a1373adbb433f9eb46de9b81de3db7627b (patch) | |
tree | cdca52a480de6cfaf2da0a5635eb1bbb34f5cb0f | |
parent | f3d0188e03bca2dbf6e92741bdebd44c01b067f7 (diff) | |
download | FreeBSD-src-35bcf1a1373adbb433f9eb46de9b81de3db7627b.zip FreeBSD-src-35bcf1a1373adbb433f9eb46de9b81de3db7627b.tar.gz |
hyperv/stor: Synchronize sub-channel offers
MFC after: 1 week
Sponsored by: Microsoft OSTC
-rw-r--r-- | sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c index 26dc381..7477acf 100644 --- a/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ b/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -357,6 +357,7 @@ storvsc_handle_sc_creation(void *context) static void storvsc_send_multichannel_request(struct hv_device *dev, int max_chans) { + struct hv_vmbus_channel **subchan; struct storvsc_softc *sc; struct hv_storvsc_request *request; struct vstor_packet *vstor_packet; @@ -413,6 +414,12 @@ storvsc_send_multichannel_request(struct hv_device *dev, int max_chans) return; } + /* + * Wait for sub-channels setup to complete. + */ + subchan = vmbus_get_subchan(dev->channel, request_channels_cnt); + vmbus_rel_subchan(subchan, request_channels_cnt); + if (bootverbose) printf("Storvsc create multi-channel success!\n"); } |