Commit 290ba200 authored by Vikram Kandukuri's avatar Vikram Kandukuri Committed by Marcel Holtmann

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: default avatarVikram Kandukuri <vikram.kandukuri@atheros.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 981b1414
...@@ -301,7 +301,7 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags) ...@@ -301,7 +301,7 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags)
struct urb *urb; struct urb *urb;
unsigned char *buf; unsigned char *buf;
unsigned int pipe; unsigned int pipe;
int err, size; int err, size = HCI_MAX_FRAME_SIZE;
BT_DBG("%s", hdev->name); BT_DBG("%s", hdev->name);
...@@ -312,8 +312,6 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags) ...@@ -312,8 +312,6 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags)
if (!urb) if (!urb)
return -ENOMEM; return -ENOMEM;
size = le16_to_cpu(data->bulk_rx_ep->wMaxPacketSize);
buf = kmalloc(size, mem_flags); buf = kmalloc(size, mem_flags);
if (!buf) { if (!buf) {
usb_free_urb(urb); usb_free_urb(urb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment