2010-02-25 01:01:43

by Alban Browaeys

[permalink] [raw]
Subject: [PATCH 2/2] rt2x00 : fix txdone implementation

Properly move to the headroom position in dma mapped skb. The hw extra
headroom is now taken into account.

Signed-off-by: Alban Browaeys <[email protected]>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 3ac1df0..4e62e84 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -718,8 +718,8 @@ static void rt2800pci_write_tx_desc(struct rt2x00_dev *rt2x00dev,
rt2x00_desc_write(txd, 1, word);

rt2x00_desc_read(txd, 2, &word);
- rt2x00_set_field32(&word, TXD_W2_SD_PTR1,
- skbdesc->skb_dma + rt2x00dev->ops->extra_tx_headroom);
+ rt2x00_set_field32(&word, TXD_W2_SD_PTR1, skbdesc->skb_dma
+ + rt2x00dev->ops->extra_tx_headroom);
rt2x00_desc_write(txd, 2, word);

rt2x00_desc_read(txd, 3, &word);
@@ -966,7 +966,7 @@ static void rt2800pci_txdone(struct rt2x00_dev *rt2x00dev)
/* Check if we got a match by looking at WCID/ACK/PID
* fields */
txwi = (__le32 *)(entry->skb->data -
- rt2x00dev->hw->extra_tx_headroom);
+ rt2x00dev->ops->extra_tx_headroom);

rt2x00_desc_read(txwi, 1, &word);
tx_wcid = rt2x00_get_field32(word, TXWI_W1_WIRELESS_CLI_ID);
--
1.7.0



2010-02-25 01:58:15

by Pavel Roskin

[permalink] [raw]
Subject: Re: [PATCH 2/2] rt2x00 : fix txdone implementation

Quoting Alban Browaeys <[email protected]>:

> Properly move to the headroom position in dma mapped skb. The hw extra
> headroom is now taken into account.
>
> Signed-off-by: Alban Browaeys <[email protected]>
...
> - rt2x00_set_field32(&word, TXD_W2_SD_PTR1,
> - skbdesc->skb_dma + rt2x00dev->ops->extra_tx_headroom);
> + rt2x00_set_field32(&word, TXD_W2_SD_PTR1, skbdesc->skb_dma
> + + rt2x00dev->ops->extra_tx_headroom);

I think it's just a formatting change. I would not mix formatting
changes with the real fixes. I can understand reformatting code that
is also modified in some other way, but that's even a separate function.

> txwi = (__le32 *)(entry->skb->data -
> - rt2x00dev->hw->extra_tx_headroom);
> + rt2x00dev->ops->extra_tx_headroom);

Now that's a real change.

--
Regards,
Pavel Roskin