Re: pull request: wireless-2.6 2008-11-18

Johannes Berg
2008-11-19T01:34:39Z

> and a final one fixes some mysterious DMA alignment problems
> that have been plaguing iwlwifi for some time.

> The following changes since commit 5f9021cfdc3524a4c5e3d7ae2d049eb7adcd6776:
> Johannes Berg (1):
> rtnetlink: propagate error from dev_change_flags in do_setlink()

heh.

> iwlagn: fix RX skb alignment

So Luis pointed out a bug in that, it might be useful to squish in this
patch: http://marc.info/?l=linux-wireless&m=122705425425763&w=2

(also below for reference)

But we can also just add it on top, whichever way you prefer.

johannes
---
drivers/net/wireless/iwlwifi/iwl-agn.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

--- everything.orig/drivers/net/wireless/iwlwifi/iwl-agn.c 2008-11-19 01:16:12.000000000 +0100
+++ everything/drivers/net/wireless/iwlwifi/iwl-agn.c 2008-11-19 01:19:13.000000000 +0100
@@ -1229,9 +1229,11 @@ void iwl_rx_handle(struct iwl_priv *priv

rxq->queue[i] = NULL;

- pci_dma_sync_single_for_cpu(priv->pci_dev, rxb->aligned_dma_addr,
- priv->hw_params.rx_buf_size,
- PCI_DMA_FROMDEVICE);
+ dma_sync_single_range_for_cpu(
+ &priv->pci_dev->dev, rxb->real_dma_addr,
+ rxb->aligned_dma_addr - rxb->real_dma_addr,
+ priv->hw_params.rx_buf_size,
+ PCI_DMA_FROMDEVICE);
pkt = (struct iwl_rx_packet *)rxb->skb->data;

/* Reclaim a command buffer only if this packet is a response