Bluetooth: Avoid using GFP_ATOMIC where not necessary
The various pieces of data cached in the hci_dev structure do not need to be allocated using GFP_ATOMIC since they are never added from interrupt context. This patch updates these allocations to use GFP_KERNEL instead. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
d66c295031
commit
0a14ab416d
1 changed files with 4 additions and 4 deletions
|
@ -2721,7 +2721,7 @@ int hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn, int new_key,
|
||||||
key = old_key;
|
key = old_key;
|
||||||
} else {
|
} else {
|
||||||
old_key_type = conn ? conn->key_type : 0xff;
|
old_key_type = conn ? conn->key_type : 0xff;
|
||||||
key = kzalloc(sizeof(*key), GFP_ATOMIC);
|
key = kzalloc(sizeof(*key), GFP_KERNEL);
|
||||||
if (!key)
|
if (!key)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
list_add(&key->list, &hdev->link_keys);
|
list_add(&key->list, &hdev->link_keys);
|
||||||
|
@ -2773,7 +2773,7 @@ int hci_add_ltk(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 addr_type, u8 type,
|
||||||
if (old_key)
|
if (old_key)
|
||||||
key = old_key;
|
key = old_key;
|
||||||
else {
|
else {
|
||||||
key = kzalloc(sizeof(*key), GFP_ATOMIC);
|
key = kzalloc(sizeof(*key), GFP_KERNEL);
|
||||||
if (!key)
|
if (!key)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
list_add(&key->list, &hdev->long_term_keys);
|
list_add(&key->list, &hdev->long_term_keys);
|
||||||
|
@ -2938,7 +2938,7 @@ int hci_add_remote_oob_data(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
||||||
|
|
||||||
data = hci_find_remote_oob_data(hdev, bdaddr);
|
data = hci_find_remote_oob_data(hdev, bdaddr);
|
||||||
if (!data) {
|
if (!data) {
|
||||||
data = kmalloc(sizeof(*data), GFP_ATOMIC);
|
data = kmalloc(sizeof(*data), GFP_KERNEL);
|
||||||
if (!data)
|
if (!data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
@ -2965,7 +2965,7 @@ int hci_add_remote_oob_ext_data(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
||||||
|
|
||||||
data = hci_find_remote_oob_data(hdev, bdaddr);
|
data = hci_find_remote_oob_data(hdev, bdaddr);
|
||||||
if (!data) {
|
if (!data) {
|
||||||
data = kmalloc(sizeof(*data), GFP_ATOMIC);
|
data = kmalloc(sizeof(*data), GFP_KERNEL);
|
||||||
if (!data)
|
if (!data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue