Browse Source

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>
Tomas Winkler 16 years ago
parent
commit
7644d63d13
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/bluetooth/btsdio.c

+ 1 - 0
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);
 	err = sdio_writesb(data->func, REG_TDAT, skb->data, skb->len);
 	if (err < 0) {
 	if (err < 0) {
+		skb_pull(skb, 4);
 		sdio_writeb(data->func, 0x01, REG_PC_WRT, NULL);
 		sdio_writeb(data->func, 0x01, REG_PC_WRT, NULL);
 		return err;
 		return err;
 	}
 	}