freebsd-nq/sys/dev/ata
Ed Maste 1707b4455f Fix panic after "WARNING - ATA_IDENTIFY taskqueue timeout"
When performing a firmware upgrade via atacontrol[1] the subsequent
command may time out producing the error message above.  When this
happens the callout could still be active, and the system would then
panic due to a destroyed semaphore.

Instead, ensure that the callout is done first, via callout_drain.

Note that this fix applies to the "old" ata(4) and so isn't applicable
to the default configuration in HEAD.  It is still applicable to
stable/8.

[1] http://lists.freebsd.org/pipermail/freebsd-current/2012-January/031122.html

Submitted by:   Nima Misaghian
Reviewed by:    rstone, attilio, mav
Obtained from:  SVOS
MFC after:      3 days
2012-02-13 01:44:12 +00:00
..
chipsets
ata_if.m
ata-all.c
ata-all.h
ata-card.c
ata-cbus.c
ata-disk.c
ata-disk.h
ata-dma.c
ata-isa.c
ata-lowlevel.c
ata-pci.c
ata-pci.h
ata-queue.c Fix panic after "WARNING - ATA_IDENTIFY taskqueue timeout" 2012-02-13 01:44:12 +00:00
ata-raid-ddf.h
ata-raid.c
ata-raid.h
ata-sata.c
atapi-cam.c
atapi-cd.c
atapi-cd.h
atapi-fd.c
atapi-fd.h
atapi-tape.c
atapi-tape.h