freebsd-dev/sys/dev/vr
Bruce M Simpson d6dd4af4ac Forcibly disable interrupts, if we find ourselves servicing one when
the device is suspended or shutting down. This will need to be rethought
slightly if we implement suspend/resume support within vr(4).
This appears to fix the vr_shutdown() panic on SMP machines.

My theory here is there's a race somewhere during vr_detach() with
vr_intr() in the SMP case which was sometimes being triggered,
although quite why this was happening is unclear (vr_stop() also
explicitly disables interrupts by writing to the IMR register).

MFC-to-RELENG_5* candidate.

PR:		kern/62889
Tested by:	seb at struchtrup dot com
MFC after:	10 days
2004-10-27 19:02:23 +00:00
..
if_vr.c Forcibly disable interrupts, if we find ourselves servicing one when 2004-10-27 19:02:23 +00:00
if_vrreg.h Add a 'suspended' flag to softc so that we can avoid races on detach. 2004-07-09 00:12:41 +00:00