212-b44_alignment_fix.patch 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --- a/drivers/net/b44.c
  2. +++ b/drivers/net/b44.c
  3. @@ -73,8 +73,8 @@
  4. (BP)->tx_cons - (BP)->tx_prod - TX_RING_GAP(BP))
  5. #define NEXT_TX(N) (((N) + 1) & (B44_TX_RING_SIZE - 1))
  6. -#define RX_PKT_OFFSET 30
  7. -#define RX_PKT_BUF_SZ (1536 + RX_PKT_OFFSET + 64)
  8. +#define RX_PKT_OFFSET (RX_HEADER_LEN + 2)
  9. +#define RX_PKT_BUF_SZ (1536 + RX_PKT_OFFSET)
  10. /* minimum number of free TX descriptors required to wake up TX process */
  11. #define B44_TX_WAKEUP_THRESH (B44_TX_RING_SIZE / 4)
  12. @@ -682,7 +682,6 @@ static int b44_alloc_rx_skb(struct b44 *
  13. }
  14. rh = (struct rx_header *) skb->data;
  15. - skb_reserve(skb, RX_PKT_OFFSET);
  16. rh->len = 0;
  17. rh->flags = 0;
  18. @@ -693,13 +692,13 @@ static int b44_alloc_rx_skb(struct b44 *
  19. if (src_map != NULL)
  20. src_map->skb = NULL;
  21. - ctrl = (DESC_CTRL_LEN & (RX_PKT_BUF_SZ - RX_PKT_OFFSET));
  22. + ctrl = (DESC_CTRL_LEN & RX_PKT_BUF_SZ);
  23. if (dest_idx == (B44_RX_RING_SIZE - 1))
  24. ctrl |= DESC_CTRL_EOT;
  25. dp = &bp->rx_ring[dest_idx];
  26. dp->ctrl = cpu_to_le32(ctrl);
  27. - dp->addr = cpu_to_le32((u32) mapping + RX_PKT_OFFSET + bp->dma_offset);
  28. + dp->addr = cpu_to_le32((u32) mapping + bp->dma_offset);
  29. if (bp->flags & B44_FLAG_RX_RING_HACK)
  30. b44_sync_dma_desc_for_device(bp->sdev, bp->rx_ring_dma,
  31. @@ -809,8 +808,8 @@ static int b44_rx(struct b44 *bp, int bu
  32. ssb_dma_unmap_single(bp->sdev, map,
  33. skb_size, DMA_FROM_DEVICE);
  34. /* Leave out rx_header */
  35. - skb_put(skb, len + RX_PKT_OFFSET);
  36. - skb_pull(skb, RX_PKT_OFFSET);
  37. + skb_put(skb, len + RX_PKT_OFFSET);
  38. + skb_pull(skb, RX_PKT_OFFSET);
  39. } else {
  40. struct sk_buff *copy_skb;