2010-02-25 13:52:28

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 | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 46b06af..fbeff5c 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -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 13:54:13

by Alban Browaeys

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

On 25/02/2010 02:58, Pavel Roskin wrote:
> 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.
>

Thank you. There was a real change (I did not meant for to reformat this
line) but it got merged and I did not saw it.
I sent a new version of the patch without the first now uneeded change.

Best regards,
Alban

2010-02-25 17:23:40

by Gertjan van Wingerde

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

On 02/25/10 14:52, Alban Browaeys wrote:
> 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 | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c
> b/drivers/net/wireless/rt2x00/rt2800pci.c
> index 46b06af..fbeff5c 100644
> --- a/drivers/net/wireless/rt2x00/rt2800pci.c
> +++ b/drivers/net/wireless/rt2x00/rt2800pci.c
> @@ -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);

This seems to be fixing an issue with your first patch. Please fold this fix into the first
patch and submit a single "working" patch.

---
Gertjan.