summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-11-30 12:17:18 +0100
committerMarcel Holtmann <marcel@holtmann.org>2008-11-30 12:17:18 +0100
commit7644d63d1348ec044ccd8f775fefe5eb7cbcac69 (patch)
treeb3ec4e0ae8afa474244bf00b2255959dfbd5e7a7 /drivers
parentBluetooth: Add suspend/resume support to btusb driver (diff)
downloadlinux-7644d63d1348ec044ccd8f775fefe5eb7cbcac69.tar.xz
linux-7644d63d1348ec044ccd8f775fefe5eb7cbcac69.zip
Bluetooth: Fix TX error path in btsdio driver
This patch fixes accumulating of the header in case packet was requeued in the error path. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bluetooth/btsdio.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
index cda6c7cc944b..f2ada0c65486 100644
--- a/drivers/bluetooth/btsdio.c
+++ b/drivers/bluetooth/btsdio.c
@@ -91,6 +91,7 @@ static int btsdio_tx_packet(struct btsdio_data *data, struct sk_buff *skb)
err = sdio_writesb(data->func, REG_TDAT, skb->data, skb->len);
if (err < 0) {
+ skb_pull(skb, 4);
sdio_writeb(data->func, 0x01, REG_PC_WRT, NULL);
return err;
}