Star64_linux/drivers
Stanislaw Gruszka 3598e1774c iwlwifi: fix enqueue hcmd race conditions
We mark command as huge by using meta->flags from other (non huge) command,
but flags can be possibly overridden, when non huge command is enqueued,
what can lead to:

WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0()
DMA-API: device driver has pending DMA allocations while released from device [count=1]

To fix introduce additional CMD_MAPPED to mark command as mapped and
serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using
hcmd_lock. Serialization will also fix possible race conditions,
because q->read_ptr, q->write_ptr are modified/used in parallel.

On the way fix whitespace.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-04-07 15:34:11 -04:00
..
accessibility
acpi
amba
ata
atm
auxdisplay
base
block
bluetooth Bluetooth: Fix sending LE data over USB 2011-03-31 14:25:25 -03:00
cdrom
char char/tpm: Fix unitialized usage of data buffer 2011-03-29 09:45:34 -07:00
clk
clocksource
connector
cpufreq
cpuidle
crypto
dca
dio
dma
edac amd64_edac: Fix potential memleak 2011-03-29 18:19:06 +02:00
eisa
firewire
firmware
gpio
gpu
hid
hwmon
hwspinlock
i2c
ide
idle
ieee802154
infiniband
input
isdn
leds
lguest
macintosh
mca
md
media
memstick
message
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
misc
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
mtd
net iwlwifi: fix enqueue hcmd race conditions 2011-04-07 15:34:11 -04:00
nfc
nubus
of
oprofile
parisc
parport
pci
pcmcia
platform
pnp
power
pps
ps3
rapidio
regulator
rtc
s390
sbus
scsi
sfi
sh
sn
spi
ssb ssb: pci: implement serdes workaround 2011-04-04 16:20:07 -04:00
staging
target
tc
telephony
thermal
tty
uio
usb
uwb
vhost
video
virtio
vlynq
w1
watchdog
xen xen: Use new irq_move functions 2011-03-29 10:01:05 -04:00
zorro
Kconfig
Makefile