CVSROOT:        /cvs
Module name:    src
Changes by:     s...@cvs.openbsd.org    2014/09/07 13:46:41

Modified files:
        sys/dev/pci    : Tag: OPENBSD_5_4 virtio.c virtiovar.h 

Log message:
Fix hang with virtio event_idx feature

backported from current virtio.c 1.6 / virtiovar.h 1.5:

date: 2014/06/15 11:18:39;  author: sf;  commitid: 8b7wbadq7EgTO3mO;

When using the RING_EVENT_IDX feature, we must first call publish_avail_idx()
and then read VQ_AVAIL_EVENT(vq), or there is a race condition that may cause
us to miss that the host needs to be notified.  This resulted in an occasional
hang of network in vio(4).

Reply via email to