freebsd-dev/sys
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
..
amd64 Move WITHOUT_SOURCELESS_* files to sys/conf/ in order to avoid "universe" 2012-02-12 14:55:27 +00:00
arm Add C11 macros describing subnormal numbers to float.h. 2012-01-23 06:36:41 +00:00
boot Reduce diffs against i386. 2012-02-10 15:34:36 +00:00
bsm
cam Avoid panic from unlocking a not locked mutex (in some error cases). 2012-02-06 18:11:00 +00:00
cddl Revert r230913 and r230914. 2012-02-03 13:40:51 +00:00
compat Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
conf Fix a typo. 2012-02-12 19:29:34 +00:00
contrib Allocate our mbuf with m_get2(). 2012-01-17 12:14:26 +00:00
crypto Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
ddb Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
dev Fix panic after "WARNING - ATA_IDENTIFY taskqueue timeout" 2012-02-13 01:44:12 +00:00
fs Merge si_name and __si_namebuf. 2012-02-10 12:40:50 +00:00
gdb kern cons: introduce infrastructure for console grabbing by kernel 2011-12-17 15:08:43 +00:00
geom Add alias for the partition with type 0x42 to the MBR scheme. 2012-02-10 09:55:18 +00:00
gnu/fs Use new OSS-based BSD-licensed header for cs sound driver. 2012-02-01 21:38:01 +00:00
i386 Move WITHOUT_SOURCELESS_* files to sys/conf/ in order to avoid "universe" 2012-02-12 14:55:27 +00:00
ia64 Rev. 228360 moved the call to cpu_set_upcall() to happen before 2012-02-08 04:05:38 +00:00
isa - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
kern The PTRACESTOP() macro is used only once. Inline the only use and remove 2012-02-11 14:49:25 +00:00
kgssapi Add missing break statement to make sure all 3DES etypes really are treated 2011-10-10 09:13:07 +00:00
libkern Implement extensions on top of standards instead of the other way around. 2012-01-03 07:05:30 +00:00
mips - Reverse logic so base tls is fixed up with correct number 2012-02-10 23:24:33 +00:00
modules Depend on the relevant header files. 2012-02-11 08:34:33 +00:00
net Introduce a new NET_RT_IFLISTL API to query the address list. It works 2012-02-11 06:02:16 +00:00
net80211 Update the 802.11s IE numbers to represent the latest 802.11 amendment standard. 2012-02-08 06:56:19 +00:00
netatalk Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netgraph - Use fixed-width integer types. 2012-02-12 05:14:12 +00:00
netinet Set vnet context in callouts and taskqueues. 2012-02-08 13:39:38 +00:00
netinet6 Remove casts from inet6 address testing macros, thus preserving 2012-01-26 12:04:19 +00:00
netipsec Clean up some #endif comments removing from short sections. Add #endif 2012-01-22 02:13:19 +00:00
netipx Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netnatm
netncp Change ncp_scan_bindery_object() to pass a constant search string. 2011-10-16 08:44:03 +00:00
netsmb Add unicode support to msdosfs and smbfs; original pathes from imura, 2011-11-18 03:05:20 +00:00
nfs Some cleanup of BOOTP code. Initially I wanted to just change the ifioctl() 2011-12-13 07:02:48 +00:00
nfsclient Rename cache_lookup_times() to cache_lookup() and retire the old API and 2012-02-06 17:00:28 +00:00
nfsserver Honor NFSv3 commit call (RFC 1813, Section 3.3.21) where when count is 0, 2011-12-15 02:26:53 +00:00
nlm jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011 2012-01-31 02:11:05 +00:00
ofed Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:54 +00:00
opencrypto
pc98 Remove full debugger options and enable KDB_TRACE option instead to decrease 2012-02-09 14:15:56 +00:00
pci To save more power, switch to 10/100Mbps link when controller is 2011-11-23 23:29:18 +00:00
powerpc The bus resource adjustment API is not meant to work on active resources. 2012-02-07 19:14:13 +00:00
rpc Both a crash reported on freebsd-current on Oct. 18 under the 2011-11-03 14:38:03 +00:00
security Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
sparc64 As it turns out r227960 may still be insufficient with PREEMPTION 2012-01-28 22:42:33 +00:00
sys The PTRACESTOP() macro is used only once. Inline the only use and remove 2012-02-11 14:49:25 +00:00
teken Link the demo application against ncursesw to make Unicode work. 2011-10-13 14:20:27 +00:00
tools Restore the comment that I removed by accident. 2011-11-09 13:26:59 +00:00
ufs Missing conditions in checking whether an inode has been written. 2012-02-13 01:33:39 +00:00
vm Close a race due to dropping of the map lock between creating map entry 2012-02-11 17:29:07 +00:00
x86 Fix a few bugs in the SRAT parsing code: 2012-01-03 20:53:58 +00:00
xdr
xen Add the GSO prefix descriptor define. 2012-02-01 20:19:33 +00:00
Makefile Improve the cscope target's handling of MD directories. Automatically 2012-01-03 17:31:27 +00:00