emax c7034773d9 MFC if_an.c v1.69 to RELENG_6
Reorganize an_detach() a bit. Make sure ether_ifdetach() and if_free()
are called outside of AN_LOCK()/AN_UNLOCK. This fixes the following
WITNESS warning (produced when an(4) PCMCIA card is detached).
taskqueue_drain with the following non-sleepable locks held:
exclusive sleep mutex an0 (network driver) r = 0 (0xc59af168) locked @ /usr/src/
sys/dev/an/if_an.c:2836

Do not lock an to check gone flag. Only need to hold the lock to set
the gone flag.

Reviewed by:	imp
Approved by:	re (kemsmith)
2005-08-04 21:12:22 +00:00
..
2005-08-04 21:12:22 +00:00