aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikram Kandukuri <vkandukuri@atheros.com>2009-07-02 05:01:59 -0400
committerMarcel Holtmann <marcel@holtmann.org>2009-08-22 17:12:37 -0400
commit290ba200815fdecb4d40dc942499c4ea6d0c4624 (patch)
treeb6a097bd9b8ddd580501aa9871af3380e95bd5dc
parent981b1414d78a7a42cab48b97d4de54a62d61db88 (diff)
Bluetooth: Improve USB driver throughput by increasing the frame size
This patch increases the receive buffer size to HCI_MAX_FRAME_SIZE which improves the RX throughput considerably. Tested against BRM/Atheros/CSR USB Dongles with PAN profile using iperf and chariot. This gave significant (around 40%) increase in performance (increased from 0.8 to 1.5 Mb/s in Sheld room) Signed-off-by: Vikram Kandukuri <vikram.kandukuri@atheros.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--drivers/bluetooth/btusb.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index e70c57ee4221..124db8cd144c 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -301,7 +301,7 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags)
301 struct urb *urb; 301 struct urb *urb;
302 unsigned char *buf; 302 unsigned char *buf;
303 unsigned int pipe; 303 unsigned int pipe;
304 int err, size; 304 int err, size = HCI_MAX_FRAME_SIZE;
305 305
306 BT_DBG("%s", hdev->name); 306 BT_DBG("%s", hdev->name);
307 307
@@ -312,8 +312,6 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags)
312 if (!urb) 312 if (!urb)
313 return -ENOMEM; 313 return -ENOMEM;
314 314
315 size = le16_to_cpu(data->bulk_rx_ep->wMaxPacketSize);
316
317 buf = kmalloc(size, mem_flags); 315 buf = kmalloc(size, mem_flags);
318 if (!buf) { 316 if (!buf) {
319 usb_free_urb(urb); 317 usb_free_urb(urb);