Commit 8bcde1f2 authored by Gustavo Padovan's avatar Gustavo Padovan

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: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
parent 2d792818
...@@ -1384,7 +1384,7 @@ static struct l2cap_conn *l2cap_conn_add(struct hci_conn *hcon, u8 status) ...@@ -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) ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment