diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-09-14 01:49:34 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-09-14 02:56:46 -0400 |
commit | e9753eff1b875d579dc04d675e72d6e31e866927 (patch) | |
tree | ce53b26d615eeba86eae5b62e9a8d960d6118db6 /drivers/bluetooth | |
parent | 9a783a139c32a905825ee0aa9597f485ea461f76 (diff) |
Bluetooth: btusb: Use GFP_KERNEL in btusb_send_frame()
All hdev->send() calls are these days done through a work queue. For the
btusb driver this means the btusb_send_frame() function. Because of this
we can safely use GFP_KERNEL for all memory allocations in this code
path.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/btusb.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index a79d657c0845..d696e68f326a 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
@@ -769,11 +769,11 @@ static int btusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb) | |||
769 | 769 | ||
770 | switch (bt_cb(skb)->pkt_type) { | 770 | switch (bt_cb(skb)->pkt_type) { |
771 | case HCI_COMMAND_PKT: | 771 | case HCI_COMMAND_PKT: |
772 | urb = usb_alloc_urb(0, GFP_ATOMIC); | 772 | urb = usb_alloc_urb(0, GFP_KERNEL); |
773 | if (!urb) | 773 | if (!urb) |
774 | return -ENOMEM; | 774 | return -ENOMEM; |
775 | 775 | ||
776 | dr = kmalloc(sizeof(*dr), GFP_ATOMIC); | 776 | dr = kmalloc(sizeof(*dr), GFP_KERNEL); |
777 | if (!dr) { | 777 | if (!dr) { |
778 | usb_free_urb(urb); | 778 | usb_free_urb(urb); |
779 | return -ENOMEM; | 779 | return -ENOMEM; |
@@ -797,7 +797,7 @@ static int btusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb) | |||
797 | if (!data->bulk_tx_ep) | 797 | if (!data->bulk_tx_ep) |
798 | return -ENODEV; | 798 | return -ENODEV; |
799 | 799 | ||
800 | urb = usb_alloc_urb(0, GFP_ATOMIC); | 800 | urb = usb_alloc_urb(0, GFP_KERNEL); |
801 | if (!urb) | 801 | if (!urb) |
802 | return -ENOMEM; | 802 | return -ENOMEM; |
803 | 803 | ||
@@ -814,7 +814,7 @@ static int btusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb) | |||
814 | if (!data->isoc_tx_ep || hci_conn_num(hdev, SCO_LINK) < 1) | 814 | if (!data->isoc_tx_ep || hci_conn_num(hdev, SCO_LINK) < 1) |
815 | return -ENODEV; | 815 | return -ENODEV; |
816 | 816 | ||
817 | urb = usb_alloc_urb(BTUSB_MAX_ISOC_FRAMES, GFP_ATOMIC); | 817 | urb = usb_alloc_urb(BTUSB_MAX_ISOC_FRAMES, GFP_KERNEL); |
818 | if (!urb) | 818 | if (!urb) |
819 | return -ENOMEM; | 819 | return -ENOMEM; |
820 | 820 | ||
@@ -848,7 +848,7 @@ static int btusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb) | |||
848 | skip_waking: | 848 | skip_waking: |
849 | usb_anchor_urb(urb, &data->tx_anchor); | 849 | usb_anchor_urb(urb, &data->tx_anchor); |
850 | 850 | ||
851 | err = usb_submit_urb(urb, GFP_ATOMIC); | 851 | err = usb_submit_urb(urb, GFP_KERNEL); |
852 | if (err < 0) { | 852 | if (err < 0) { |
853 | if (err != -EPERM && err != -ENODEV) | 853 | if (err != -EPERM && err != -ENODEV) |
854 | BT_ERR("%s urb %p submission failed (%d)", | 854 | BT_ERR("%s urb %p submission failed (%d)", |