freebsd-skq/sys/dev/ioat
Conrad Meyer 3a37091931 ioat(4): Fix race between process_events and reset_hw
In the case where a hardware error is detected during
ioat_process_events, hardware may advance (by one descriptor, probably)
and a subsequent ioat_process_events may race the intended ioat_reset_hw
followup.  In that case, the second process_events would observe a
completion update that does not match the software "last_seen" status,
and attempt to successfully complete already-failed descriptors.

Guard against this race with the resetting_cleanup flag.

Reviewed by:	bdrewery, markj
Sponsored by:	Dell EMC Isilon
2016-11-11 20:09:54 +00:00
..
ioat_hw.h ioat(4): Export HW capabilities to consumers 2016-07-12 21:56:49 +00:00
ioat_internal.h ioat(4): Allocate contiguous descriptors 2016-11-01 19:18:54 +00:00
ioat_test.c ioat(4): ioat_get_dmaengine(): Add M_WAITOK mode 2016-04-09 13:15:34 +00:00
ioat_test.h ioatcontrol(8): Add support for interrupt coalescing 2015-12-14 22:02:01 +00:00
ioat.c ioat(4): Fix race between process_events and reset_hw 2016-11-11 20:09:54 +00:00
ioat.h ioat(4): Export HW capabilities to consumers 2016-07-12 21:56:49 +00:00