Home
last modified time | relevance | path

Searched hist:"6 e1d8d1470b2c9335715f7d52e864f0bd91a5f59" (Results 1 – 1 of 1) sorted by relevance

/linux/drivers/net/wireless/broadcom/b43legacy/
H A Ddma.cdiff 6e1d8d1470b2c9335715f7d52e864f0bd91a5f59 Tue Apr 10 15:54:19 CEST 2018 Jia-Ju Bai <baijiaju1990@gmail.com> net: wireless: b43legacy: Replace GFP_ATOMIC with GFP_KERNEL in dma_tx_fragment

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>