diff options
author | Jia-Ju Bai <baijiaju1990@gmail.com> | 2018-07-23 11:30:03 +0800 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2018-07-23 18:05:00 +0200 |
commit | 436018eee5eaf1891793efca38ed9455fa21e16c (patch) | |
tree | f9f450d30cba397ecdb5ed17f37b6af3b7e063dd /drivers/bluetooth/btmrvl_sdio.c | |
parent | 478113e43162e409bbc6d79e87c2301728f26db2 (diff) | |
download | lwn-436018eee5eaf1891793efca38ed9455fa21e16c.tar.gz lwn-436018eee5eaf1891793efca38ed9455fa21e16c.zip |
bluetooth: btmrvl_sdio: Replace GFP_ATOMIC with GFP_KERNEL in btmrvl_sdio_card_to_host()
btmrvl_sdio_card_to_host() is never called in atomic context.
It calls bt_skb_alloc() with GFP_ATOMIC, which is not necessary.
GFP_ATOMIC can be replaced with GFP_KERNEL.
This is found by a static analysis tool named DCNS written by myself.
I also manually check the kernel code before reporting it.
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/btmrvl_sdio.c')
-rw-r--r-- | drivers/bluetooth/btmrvl_sdio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c index 888bac49a87b..fb3d03928460 100644 --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c @@ -718,7 +718,7 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv) } /* Allocate buffer */ - skb = bt_skb_alloc(num_blocks * blksz + BTSDIO_DMA_ALIGN, GFP_ATOMIC); + skb = bt_skb_alloc(num_blocks * blksz + BTSDIO_DMA_ALIGN, GFP_KERNEL); if (!skb) { BT_ERR("No free skb"); ret = -ENOMEM; |