Search Linux Wireless

Re: [PATCH 5/6] rt2x00: Properly request tx headroom for alignment operations.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/23/09 08:35, Julian Calaby wrote:
> On Mon, Nov 23, 2009 at 18:16, Gertjan van Wingerde <gwingerde@xxxxxxxxx> wrote:
>> Current rt2x00 drivers may result in a "ieee80211_tx_status: headroom too
>> small" error message when a frame needs to be properly aligned before
>> transmitting it.
>> This is because the space needed to ensure proper alignment isn't
>> requested from mac80211.
>> Fix this by adding sufficient amount of alignment space to the amount
>> of headroom requested for TX frames.
>>
>> Reported-by: David Ellingsworth <david@xxxxxxxxxxxxxxxxx>
>> Signed-off-by: Gertjan van Wingerde <gwingerde@xxxxxxxxx>
>> Tested-by: David Ellingsworth <david@xxxxxxxxxxxxxxxxx>
>> ---
>>  drivers/net/wireless/rt2x00/rt2400pci.c   |   30 +++++++++++++++-------------
>>  drivers/net/wireless/rt2x00/rt2500pci.c   |   30 +++++++++++++++-------------
>>  drivers/net/wireless/rt2x00/rt2500usb.c   |   29 ++++++++++++++-------------
>>  drivers/net/wireless/rt2x00/rt2800lib.c   |    7 +----
>>  drivers/net/wireless/rt2x00/rt2800pci.c   |   31 +++++++++++++++--------------
>>  drivers/net/wireless/rt2x00/rt2800usb.c   |   25 ++++++++++++-----------
>>  drivers/net/wireless/rt2x00/rt2x00.h      |    7 ++++++
>>  drivers/net/wireless/rt2x00/rt2x00queue.c |    6 ++--
>>  drivers/net/wireless/rt2x00/rt61pci.c     |   28 ++++++++++++++------------
>>  drivers/net/wireless/rt2x00/rt73usb.c     |   27 +++++++++++++------------
>>  10 files changed, 117 insertions(+), 103 deletions(-)
>>
>> diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c
>> index 6e68bc7..f534d70 100644
>> --- a/drivers/net/wireless/rt2x00/rt2400pci.c
>> +++ b/drivers/net/wireless/rt2x00/rt2400pci.c
>> @@ -1623,20 +1624,21 @@ static const struct data_queue_desc rt2400pci_queue_atim = {
>>  };
>>
>>  static const struct rt2x00_ops rt2400pci_ops = {
>> -       .name           = KBUILD_MODNAME,
>> -       .max_sta_intf   = 1,
>> -       .max_ap_intf    = 1,
>> -       .eeprom_size    = EEPROM_SIZE,
>> -       .rf_size        = RF_SIZE,
>> -       .tx_queues      = NUM_TX_QUEUES,
>> -       .rx             = &rt2400pci_queue_rx,
>> -       .tx             = &rt2400pci_queue_tx,
>> -       .bcn            = &rt2400pci_queue_bcn,
>> -       .atim           = &rt2400pci_queue_atim,
>> -       .lib            = &rt2400pci_rt2x00_ops,
>> -       .hw             = &rt2400pci_mac80211_ops,
>> +       .name                   = KBUILD_MODNAME,
>> +       .max_sta_intf           = 1,
>> +       .max_ap_intf            = 1,
>> +       .eeprom_size            = EEPROM_SIZE,
>> +       .rf_size                = RF_SIZE,
>> +       .tx_queues              = NUM_TX_QUEUES,
>> +       .extra_tx_headroom      = 0,
>> +       .rx                     = &rt2400pci_queue_rx,
>> +       .tx                     = &rt2400pci_queue_tx,
>> +       .bcn                    = &rt2400pci_queue_bcn,
>> +       .atim                   = &rt2400pci_queue_atim,
>> +       .lib                    = &rt2400pci_rt2x00_ops,
>> +       .hw                     = &rt2400pci_mac80211_ops,
>>  #ifdef CONFIG_RT2X00_LIB_DEBUGFS
>> -       .debugfs        = &rt2400pci_rt2x00debug,
>> +       .debugfs                = &rt2400pci_rt2x00debug,
>>  #endif /* CONFIG_RT2X00_LIB_DEBUGFS */
>>  };
> 
> Shouldn't the re-formatting of the ops structures (and addition of the
> .debugfs member) go in a separate patch?
> 

Well, strictly speaking is the reformatting the result of the "meat" of this patch.
The addition of the extra_tx_headroom member. However, I can see how the reformatting
distracts the attention from that addition. I'll see if I can do the reformatting as
part of a preparatory patch.

Note that this patch does not add the .debugfs member.

---
Gertjan.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux