forked from Minki/linux
6e1d8d1470
dma_tx_fragment() is never called in atomic context. dma_tx_fragment() is only called by b43legacy_dma_tx(), which is only called by b43legacy_tx_work(). b43legacy_tx_work() is only set a parameter of INIT_WORK() in b43legacy_wireless_init(). Despite never getting called from atomic context, dma_tx_fragment() calls alloc_skb() with GFP_ATOMIC, which does not sleep for allocation. GFP_ATOMIC is not necessary and can be replaced with GFP_KERNEL, which can sleep and improve the possibility of sucessful allocation. This is found by a static analysis tool named DCNS written by myself. And I also manually check it. Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
||
---|---|---|
.. | ||
b43legacy.h | ||
debugfs.c | ||
debugfs.h | ||
dma.c | ||
dma.h | ||
ilt.c | ||
ilt.h | ||
Kconfig | ||
leds.c | ||
leds.h | ||
main.c | ||
main.h | ||
Makefile | ||
phy.c | ||
phy.h | ||
pio.c | ||
pio.h | ||
radio.c | ||
radio.h | ||
rfkill.c | ||
rfkill.h | ||
sysfs.c | ||
sysfs.h | ||
xmit.c | ||
xmit.h |