freebsd-nq/sys
Ian Dowse a3d327674a It was possible to have two threads concurrently aborting the same
transfer, which lead to panics or page faults. For example if a
transfer timed out, another thread could come along and attempt to
abort the same transfer while the timeout task was sleeping in
the *_abort_xfer() function.

Add an "aborting" flag to the private transfer state in each host
controller driver and use this to ensure that the abort is only
executed once. Also prioritise normal abort requests over timeouts
so that the callback is always given a status of USB_CANCELLED even
if the timeout-initiated abort began first.

The crashes caused by this bug were mainly reported in connection
with lpd printing to a USB printer.

PR:	usb/78208, usb/78986
2005-03-19 19:08:46 +00:00
..
alpha Add a comment to note that pseudo-device bpf is required for DHCP. 2005-03-18 15:24:00 +00:00
amd64 Add a comment to note that pseudo-device bpf is required for DHCP. 2005-03-18 15:24:00 +00:00
arm Bring back some of the cleanups and fixes jmg did in the TS7200 port. 2005-03-17 23:01:15 +00:00
boot
bsm
cam Don't free the SIM object twice. 2005-03-19 06:32:57 +00:00
coda
compat s/SLIST/STAILQ/ 2005-03-18 11:57:44 +00:00
conf Add a driver for the 'clock-board' device (the clock board is an 2005-03-19 01:04:48 +00:00
contrib
crypto
ddb
dev It was possible to have two threads concurrently aborting the same 2005-03-19 19:08:46 +00:00
doc
fs Use subr_unit 2005-03-19 08:22:36 +00:00
gdb
geom g_read_data() can return NULL, check for it. 2005-03-18 07:03:56 +00:00
gnu
i4b Add device ID for Planet IA 128P-STD card. 2005-03-19 03:00:22 +00:00
i386 Add a comment to note that pseudo-device bpf is required for DHCP. 2005-03-18 15:24:00 +00:00
ia64 Add a comment to note that pseudo-device bpf is required for DHCP. 2005-03-18 15:24:00 +00:00
isa Use STAILQ in preference to SLIST for the resources. Insert new resources 2005-03-18 05:19:50 +00:00
isofs/cd9660 Forgot to replace code to set fsid in vop_getattr. 2005-03-17 14:43:40 +00:00
kern Sleeping is not allowed in uma->fini 2005-03-19 08:22:13 +00:00
libkern
modules Add acpi_fujitsu for handling acpi-controlled buttons on Fujitsu laptops. 2005-03-18 08:48:10 +00:00
net
net80211
netatalk
netatm
netgraph
netinet If vhid exists return more informative EEXIST instead of EINVAL. While here 2005-03-18 13:41:38 +00:00
netinet6
netipsec
netipx
netkey
netnatm
netncp
netsmb
nfs
nfs4client Remove dead code. 2005-03-18 22:33:10 +00:00
nfsclient Don't brelse(bp) if bp is null. Also, eliminate some redundancy 2005-03-18 21:23:32 +00:00
nfsserver
opencrypto
pc98 Add a comment to note that pseudo-device bpf is required for DHCP. 2005-03-18 15:24:00 +00:00
pccard
pci Do not try to free non allocated memory in error case. 2005-03-17 14:27:22 +00:00
posix4
powerpc Optimize putc routine to write 2 ints instead of 8 chars to uncached 2005-03-19 01:43:29 +00:00
rpc - Don't call rpcclnt_realign() if we don't have any mbufs to realign. 2005-03-19 01:16:25 +00:00
security
sparc64 Add a driver for the 'clock-board' device (the clock board is an 2005-03-19 01:04:48 +00:00
sys makebdev() is long gone. 2005-03-18 10:57:11 +00:00
tools
ufs
vm Move the swap_zone == NULL check earlier (i.e. before we dereference 2005-03-18 21:22:48 +00:00
Makefile