Bluetooth: Remove GFP_ATOMIC usage from l2cap_core.c
Since we change the Bluetooth core to run in process context we don't need to use GFP_ATOMIC in many of places we were using it. The we just replace by GFP_KERNEL. Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
parent
2d7928184c
commit
8bcde1f2ab
1 changed files with 7 additions and 7 deletions
|
@ -1384,7 +1384,7 @@ static struct l2cap_conn *l2cap_conn_add(struct hci_conn *hcon, u8 status)
|
||||||
if (!hchan)
|
if (!hchan)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
conn = kzalloc(sizeof(struct l2cap_conn), GFP_ATOMIC);
|
conn = kzalloc(sizeof(struct l2cap_conn), GFP_KERNEL);
|
||||||
if (!conn) {
|
if (!conn) {
|
||||||
hci_chan_del(hchan);
|
hci_chan_del(hchan);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1836,9 +1836,9 @@ static void l2cap_ertm_resend(struct l2cap_chan *chan)
|
||||||
/* Cloned sk_buffs are read-only, so we need a
|
/* Cloned sk_buffs are read-only, so we need a
|
||||||
* writeable copy
|
* writeable copy
|
||||||
*/
|
*/
|
||||||
tx_skb = skb_copy(skb, GFP_ATOMIC);
|
tx_skb = skb_copy(skb, GFP_KERNEL);
|
||||||
} else {
|
} else {
|
||||||
tx_skb = skb_clone(skb, GFP_ATOMIC);
|
tx_skb = skb_clone(skb, GFP_KERNEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tx_skb) {
|
if (!tx_skb) {
|
||||||
|
@ -2584,7 +2584,7 @@ static void l2cap_raw_recv(struct l2cap_conn *conn, struct sk_buff *skb)
|
||||||
/* Don't send frame to the socket it came from */
|
/* Don't send frame to the socket it came from */
|
||||||
if (skb->sk == sk)
|
if (skb->sk == sk)
|
||||||
continue;
|
continue;
|
||||||
nskb = skb_clone(skb, GFP_ATOMIC);
|
nskb = skb_clone(skb, GFP_KERNEL);
|
||||||
if (!nskb)
|
if (!nskb)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -2610,7 +2610,7 @@ static struct sk_buff *l2cap_build_cmd(struct l2cap_conn *conn, u8 code,
|
||||||
len = L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE + dlen;
|
len = L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE + dlen;
|
||||||
count = min_t(unsigned int, conn->mtu, len);
|
count = min_t(unsigned int, conn->mtu, len);
|
||||||
|
|
||||||
skb = bt_skb_alloc(count, GFP_ATOMIC);
|
skb = bt_skb_alloc(count, GFP_KERNEL);
|
||||||
if (!skb)
|
if (!skb)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -2640,7 +2640,7 @@ static struct sk_buff *l2cap_build_cmd(struct l2cap_conn *conn, u8 code,
|
||||||
while (len) {
|
while (len) {
|
||||||
count = min_t(unsigned int, conn->mtu, len);
|
count = min_t(unsigned int, conn->mtu, len);
|
||||||
|
|
||||||
*frag = bt_skb_alloc(count, GFP_ATOMIC);
|
*frag = bt_skb_alloc(count, GFP_KERNEL);
|
||||||
if (!*frag)
|
if (!*frag)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
@ -5626,7 +5626,7 @@ int l2cap_recv_acldata(struct hci_conn *hcon, struct sk_buff *skb, u16 flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate skb for the complete frame (with header) */
|
/* Allocate skb for the complete frame (with header) */
|
||||||
conn->rx_skb = bt_skb_alloc(len, GFP_ATOMIC);
|
conn->rx_skb = bt_skb_alloc(len, GFP_KERNEL);
|
||||||
if (!conn->rx_skb)
|
if (!conn->rx_skb)
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue