CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/09/07 13:41:51
Modified files:
sys/dev/pci : Tag: OPENBSD_5_5 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).