aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hyperv/vmbus/vmbus_br.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hyperv/vmbus/vmbus_br.c')
-rw-r--r--sys/dev/hyperv/vmbus/vmbus_br.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/hyperv/vmbus/vmbus_br.c b/sys/dev/hyperv/vmbus/vmbus_br.c
index 997a5de1b230..6418f8e59cf8 100644
--- a/sys/dev/hyperv/vmbus/vmbus_br.c
+++ b/sys/dev/hyperv/vmbus/vmbus_br.c
@@ -682,7 +682,8 @@ vmbus_rxbr_idxadv(struct vmbus_rxbr *rbr, uint32_t idx_adv,
* We assume (dlen + skip) == sizeof(channel packet).
*/
int
-vmbus_rxbr_read(struct vmbus_rxbr *rbr, void *data, int dlen, uint32_t skip)
+vmbus_rxbr_read(struct vmbus_rxbr *rbr, void *data, int dlen, uint32_t skip,
+ boolean_t *need_sig)
{
uint32_t rindex, br_dsize = rbr->rxbr_dsize;
@@ -714,5 +715,11 @@ vmbus_rxbr_read(struct vmbus_rxbr *rbr, void *data, int dlen, uint32_t skip)
mtx_unlock_spin(&rbr->rxbr_lock);
+ if (need_sig) {
+ *need_sig =
+ vmbus_rxbr_need_signal(rbr,
+ dlen + skip + sizeof(uint64_t));
+ }
+
return (0);
}