diff options
Diffstat (limited to 'drivers/bluetooth/btusb.c')
| -rw-r--r-- | drivers/bluetooth/btusb.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index ab3894f742c3..1da773f899a2 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
| @@ -99,6 +99,9 @@ static struct usb_device_id blacklist_table[] = { | |||
| 99 | /* Broadcom BCM2033 without firmware */ | 99 | /* Broadcom BCM2033 without firmware */ |
| 100 | { USB_DEVICE(0x0a5c, 0x2033), .driver_info = BTUSB_IGNORE }, | 100 | { USB_DEVICE(0x0a5c, 0x2033), .driver_info = BTUSB_IGNORE }, |
| 101 | 101 | ||
| 102 | /* Atheros 3011 with sflash firmware */ | ||
| 103 | { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE }, | ||
| 104 | |||
| 102 | /* Broadcom BCM2035 */ | 105 | /* Broadcom BCM2035 */ |
| 103 | { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU }, | 106 | { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU }, |
| 104 | { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU }, | 107 | { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU }, |
| @@ -239,7 +242,8 @@ static void btusb_intr_complete(struct urb *urb) | |||
| 239 | 242 | ||
| 240 | err = usb_submit_urb(urb, GFP_ATOMIC); | 243 | err = usb_submit_urb(urb, GFP_ATOMIC); |
| 241 | if (err < 0) { | 244 | if (err < 0) { |
| 242 | BT_ERR("%s urb %p failed to resubmit (%d)", | 245 | if (err != -EPERM) |
| 246 | BT_ERR("%s urb %p failed to resubmit (%d)", | ||
| 243 | hdev->name, urb, -err); | 247 | hdev->name, urb, -err); |
| 244 | usb_unanchor_urb(urb); | 248 | usb_unanchor_urb(urb); |
| 245 | } | 249 | } |
| @@ -323,7 +327,8 @@ static void btusb_bulk_complete(struct urb *urb) | |||
| 323 | 327 | ||
| 324 | err = usb_submit_urb(urb, GFP_ATOMIC); | 328 | err = usb_submit_urb(urb, GFP_ATOMIC); |
| 325 | if (err < 0) { | 329 | if (err < 0) { |
| 326 | BT_ERR("%s urb %p failed to resubmit (%d)", | 330 | if (err != -EPERM) |
| 331 | BT_ERR("%s urb %p failed to resubmit (%d)", | ||
| 327 | hdev->name, urb, -err); | 332 | hdev->name, urb, -err); |
| 328 | usb_unanchor_urb(urb); | 333 | usb_unanchor_urb(urb); |
| 329 | } | 334 | } |
| @@ -412,7 +417,8 @@ static void btusb_isoc_complete(struct urb *urb) | |||
| 412 | 417 | ||
| 413 | err = usb_submit_urb(urb, GFP_ATOMIC); | 418 | err = usb_submit_urb(urb, GFP_ATOMIC); |
| 414 | if (err < 0) { | 419 | if (err < 0) { |
| 415 | BT_ERR("%s urb %p failed to resubmit (%d)", | 420 | if (err != -EPERM) |
| 421 | BT_ERR("%s urb %p failed to resubmit (%d)", | ||
| 416 | hdev->name, urb, -err); | 422 | hdev->name, urb, -err); |
| 417 | usb_unanchor_urb(urb); | 423 | usb_unanchor_urb(urb); |
| 418 | } | 424 | } |
