diff options
author | Sepherosa Ziehau <sephe@FreeBSD.org> | 2016-09-28 04:25:25 +0000 |
---|---|---|
committer | Sepherosa Ziehau <sephe@FreeBSD.org> | 2016-09-28 04:25:25 +0000 |
commit | c8e8d13398eef7cf113f121c41c77905c5d4ed3e (patch) | |
tree | 61b9767c7e8ea35a214db34019f9aff6d6c9d7b8 /sys/dev/hyperv | |
parent | 5de11ef9510d0129c9a756b008a633ba3113f094 (diff) | |
download | src-c8e8d13398eef7cf113f121c41c77905c5d4ed3e.tar.gz src-c8e8d13398eef7cf113f121c41c77905c5d4ed3e.zip |
hyperv/vmbus: Add function to drain channel interrupt task.
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8045
Notes
Notes:
svn path=/head/; revision=306389
Diffstat (limited to 'sys/dev/hyperv')
-rw-r--r-- | sys/dev/hyperv/include/vmbus.h | 1 | ||||
-rw-r--r-- | sys/dev/hyperv/vmbus/vmbus_chan.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/hyperv/include/vmbus.h b/sys/dev/hyperv/include/vmbus.h index 50f3148d35d7..43831eb4b955 100644 --- a/sys/dev/hyperv/include/vmbus.h +++ b/sys/dev/hyperv/include/vmbus.h @@ -133,6 +133,7 @@ int vmbus_chan_open_br(struct vmbus_channel *chan, const struct vmbus_chan_br *cbr, const void *udata, int udlen, vmbus_chan_callback_t cb, void *cbarg); void vmbus_chan_close(struct vmbus_channel *chan); +void vmbus_chan_intr_drain(struct vmbus_channel *chan); int vmbus_chan_gpadl_connect(struct vmbus_channel *chan, bus_addr_t paddr, int size, uint32_t *gpadl); diff --git a/sys/dev/hyperv/vmbus/vmbus_chan.c b/sys/dev/hyperv/vmbus/vmbus_chan.c index 68a80d38790e..e7e194715273 100644 --- a/sys/dev/hyperv/vmbus/vmbus_chan.c +++ b/sys/dev/hyperv/vmbus/vmbus_chan.c @@ -756,6 +756,13 @@ vmbus_chan_close(struct vmbus_channel *chan) vmbus_chan_close_internal(chan); } +void +vmbus_chan_intr_drain(struct vmbus_channel *chan) +{ + + taskqueue_drain(chan->ch_tq, &chan->ch_task); +} + int vmbus_chan_send(struct vmbus_channel *chan, uint16_t type, uint16_t flags, void *data, int dlen, uint64_t xactid) |