freebsd-dev/sys/cam/ata
Kenneth D. Merry 0ba1e4d063 Add a callback to the ada(4) driver so that it knows when GEOM has released
references to it.

This is the functional equivalent to change r237518, which added this
functionality to the cd(4) and da(4) drivers.

This fix prevents a panic caused by GEOM calling adaopen() while the device
is going away.  We now keep the device around until GEOM has finished
cleaning up its state.

ata_da.c:	In adaregister(), add a d_gone callback to the GEOM disk
		structure registered for the ada driver.  Increment the
		peripheral reference count for GEOM.

		Add a new callback, adadiskgonecb(), that GEOM calls when
		it is done with its resources.  This callback releases the
		reference acquired in adaregister().

Submitted by:	Po-Li Soong
Sponsored by:	Spectra Logic
MFC After:	5 days
2013-04-10 22:12:21 +00:00
..
ata_all.c Remove two bzero()s that are erasing only few more bytes then set later. 2013-03-25 06:31:17 +00:00
ata_all.h Unbreak ATA_NO_48BIT_DMA with ATA_CAM by treating 48-bit DMA as an 2013-04-06 13:39:02 +00:00
ata_da.c Add a callback to the ada(4) driver so that it knows when GEOM has released 2013-04-10 22:12:21 +00:00
ata_pmp.c Hide SEMB port of the SiI3826 Port Multiplier by default to avoid extra 2013-02-22 19:53:12 +00:00
ata_xpt.c Unbreak ATA_NO_48BIT_DMA with ATA_CAM by treating 48-bit DMA as an 2013-04-06 13:39:02 +00:00