diff options
Diffstat (limited to 'drivers/bluetooth/btmrvl_sdio.c')
-rw-r--r-- | drivers/bluetooth/btmrvl_sdio.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c index 224af53e0fae..1cfa8b4ace50 100644 --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c | |||
@@ -481,12 +481,14 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv) | |||
481 | goto exit; | 481 | goto exit; |
482 | } | 482 | } |
483 | 483 | ||
484 | if ((u32) skb->data & (BTSDIO_DMA_ALIGN - 1)) { | 484 | if ((unsigned long) skb->data & (BTSDIO_DMA_ALIGN - 1)) { |
485 | skb_put(skb, (u32) skb->data & (BTSDIO_DMA_ALIGN - 1)); | 485 | skb_put(skb, (unsigned long) skb->data & |
486 | skb_pull(skb, (u32) skb->data & (BTSDIO_DMA_ALIGN - 1)); | 486 | (BTSDIO_DMA_ALIGN - 1)); |
487 | skb_pull(skb, (unsigned long) skb->data & | ||
488 | (BTSDIO_DMA_ALIGN - 1)); | ||
487 | } | 489 | } |
488 | 490 | ||
489 | payload = skb->tail; | 491 | payload = skb->data; |
490 | 492 | ||
491 | ret = sdio_readsb(card->func, payload, card->ioport, | 493 | ret = sdio_readsb(card->func, payload, card->ioport, |
492 | buf_block_len * blksz); | 494 | buf_block_len * blksz); |
@@ -773,7 +775,7 @@ static int btmrvl_sdio_host_to_card(struct btmrvl_private *priv, | |||
773 | } | 775 | } |
774 | 776 | ||
775 | buf = payload; | 777 | buf = payload; |
776 | if ((u32) payload & (BTSDIO_DMA_ALIGN - 1)) { | 778 | if ((unsigned long) payload & (BTSDIO_DMA_ALIGN - 1)) { |
777 | tmpbufsz = ALIGN_SZ(nb, BTSDIO_DMA_ALIGN); | 779 | tmpbufsz = ALIGN_SZ(nb, BTSDIO_DMA_ALIGN); |
778 | tmpbuf = kmalloc(tmpbufsz, GFP_KERNEL); | 780 | tmpbuf = kmalloc(tmpbufsz, GFP_KERNEL); |
779 | memset(tmpbuf, 0, tmpbufsz); | 781 | memset(tmpbuf, 0, tmpbufsz); |