* data have arrived.
*/
static inline bool
-vmbus_txbr_need_signal(const struct vmbus_br *tbr, uint32_t old_windex)
+vmbus_txbr_need_signal(const struct vmbus_bufring *vbr, uint32_t old_windex)
{
rte_smp_mb();
- if (tbr->vbr->imask)
+ if (vbr->imask)
return false;
rte_smp_rmb();
* This is the only case we need to signal when the
* ring transitions from being empty to non-empty.
*/
- return old_windex == tbr->vbr->rindex;
+ return old_windex == vbr->rindex;
}
static inline uint32_t
rte_pause();
/* If host had read all data before this, then need to signal */
- *need_sig |= vmbus_txbr_need_signal(tbr, old_windex);
+ *need_sig |= vmbus_txbr_need_signal(vbr, old_windex);
return 0;
}
if (vmbus_br_availread(rbr) < dlen + skip + sizeof(uint64_t))
return -EAGAIN;
+ /* Record where host was when we started read (for debug) */
+ rbr->windex = rbr->vbr->windex;
+
/*
* Copy channel packet from RX bufring.
*/