From: Kim B. Heino on
This patch allows sending ACL/SCO packets if device is in RAW mode.
Previously only command packets were allowed.

Signed-off-by: Kim B. Heino <Kim.Heino(a)bluegiga.com>


diff -ur orig/drivers/bluetooth/btusb.c linux-2.6.33.2/drivers/bluetooth/btusb.c
--- orig/drivers/bluetooth/btusb.c 2010-04-02 02:02:33.000000000 +0300
+++ linux-2.6.33.2/drivers/bluetooth/btusb.c 2010-04-07 15:17:55.696672710 +0300
@@ -663,7 +663,9 @@
break;

case HCI_ACLDATA_PKT:
- if (!data->bulk_tx_ep || hdev->conn_hash.acl_num < 1)
+ if (!data->bulk_tx_ep ||
+ (!test_bit(HCI_RAW, &hdev->flags) &&
+ hdev->conn_hash.acl_num < 1))
return -ENODEV;

urb = usb_alloc_urb(0, GFP_ATOMIC);
@@ -680,7 +682,9 @@
break;

case HCI_SCODATA_PKT:
- if (!data->isoc_tx_ep || hdev->conn_hash.sco_num < 1)
+ if (!data->isoc_tx_ep ||
+ (!test_bit(HCI_RAW, &hdev->flags) &&
+ hdev->conn_hash.sco_num < 1))
return -ENODEV;

urb = usb_alloc_urb(BTUSB_MAX_ISOC_FRAMES, GFP_ATOMIC);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/