From: David Ellingsworth on
Wasn't sure where to send this, but with the latest 2.6.32-rc8-wl
kernel built from the wireless-testing repository I'm getting a number
of "ieee80211_tx_status: headroom too small" errors in my syslog. I'm
using the rt61pci driver in conjunction with hostap as a wpa2 secured
access point. The relevant information about my card from lspci is:

01:08.0 0280: 1814:0301
Subsystem: 1458:e934
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64, Cache Line Size: 128 bytes
Interrupt: pin A routed to IRQ 18
Region 0: Memory at fe6f0000 (32-bit, non-prefetchable) [size=32K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: rt61pci

If you need any other information, I'll be happy to provide it.

Regards,

David Ellingsworth
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Gertjan van Wingerde on
On 11/21/09 02:30, David Ellingsworth wrote:
> Wasn't sure where to send this, but with the latest 2.6.32-rc8-wl
> kernel built from the wireless-testing repository I'm getting a number
> of "ieee80211_tx_status: headroom too small" errors in my syslog. I'm
> using the rt61pci driver in conjunction with hostap as a wpa2 secured
> access point. The relevant information about my card from lspci is:
>
> 01:08.0 0280: 1814:0301
> Subsystem: 1458:e934
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
> ParErr- Stepping- SERR+ FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 64, Cache Line Size: 128 bytes
> Interrupt: pin A routed to IRQ 18
> Region 0: Memory at fe6f0000 (32-bit, non-prefetchable) [size=32K]
> Capabilities: [40] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> Kernel driver in use: rt61pci
>
> If you need any other information, I'll be happy to provide it.
>

Hi David,

This seems to be caused by the rt2x00 driver not properly declaring its alignment
maneuvring space properly, and thus it doesn't leave enough headroom left for
copying to the monitor interface.

Can you check whether the attached patch fixes the issue for you?
Note: patch looks a bit bigger than it actually is due to indenting cleanups.

---
Gertjan.

From: David Ellingsworth on
On Sat, Nov 21, 2009 at 10:27 AM, Gertjan van Wingerde
<gwingerde(a)gmail.com> wrote:
> On 11/21/09 02:30, David Ellingsworth wrote:
>> Wasn't sure where to send this, but with the latest 2.6.32-rc8-wl
>> kernel built from the wireless-testing repository I'm getting a number
>> of "ieee80211_tx_status: headroom too small" errors in my syslog. I'm
>> using the rt61pci driver in conjunction with hostap as a wpa2 secured
>> access point. The relevant information about my card from lspci is:
>>
>> 01:08.0 0280: 1814:0301
>> � � � � Subsystem: 1458:e934
>> � � � � Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
>> ParErr- Stepping- SERR+ FastB2B- DisINTx-
>> � � � � Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
>> <TAbort- <MAbort- >SERR- <PERR- INTx-
>> � � � � Latency: 64, Cache Line Size: 128 bytes
>> � � � � Interrupt: pin A routed to IRQ 18
>> � � � � Region 0: Memory at fe6f0000 (32-bit, non-prefetchable) [size=32K]
>> � � � � Capabilities: [40] Power Management version 2
>> � � � � � � � � Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
>> PME(D0-,D1-,D2-,D3hot-,D3cold-)
>> � � � � � � � � Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
>> � � � � Kernel driver in use: rt61pci
>>
>> If you need any other information, I'll be happy to provide it.
>>
>
> Hi David,
>
> This seems to be caused by the rt2x00 driver not properly declaring its alignment
> maneuvring space properly, and thus it doesn't leave enough headroom left for
> copying to the monitor interface.
>
> Can you check whether the attached patch fixes the issue for you?
> Note: patch looks a bit bigger than it actually is due to indenting cleanups.
>

Gertjan,

I haven't really been able to test this. The kernel version I was
using at the time was 2.6.32-rc7-wl and not 2.6.32-rc8-wl. I'm rather
certain the patch will resolve the issue, but I've been unable to get
my wireless card to function properly with the latest 2.6.32-rc8-wl
master branch. I'm not entirely sure what changed since two days ago,
but I know the following:

1. 2.6.32-rc8 from Linus' master branch works fine but still exhibits
this issue. However, this patch will not apply on top of 2.6.32-rc8.

2. 2.6.32-rc7-wl(11/19/2009) worked fine with the exception of the
above mentioned error. Unable to test patch since I pulled all the
recent modifications down.
3. 2.6.32-rc8-wl does not work at all for me, but patch does apply.

I'm not entirely sure what the differences are between Linus' master
branch of 2.6.32-rc8 and the current 2.6.32-rc8-wl tree are or what
changes have been made on the wireless-testing master branch in the
last couple of days that are preventing me from fully testing this
patch.

With the current wireless-testing master branch, 2.6.32-rc8-wl, with
and without the patch I can associate and authenticate with my AP but
am unable to do anything else. Any attempt to establish a wireless
connection thus dies while trying to obtain an ip address via DHCP.
Sadly, no errors are logged indicating what the cause of this problem
might be. Given that I've only seen these errors after establishing a
wireless connection, it's a little difficult for me to test without
being able to transmit any data.

I don't know if it's worth the effort or not, but if this patch were
re-based against Linus' master branch I might be able to test it since
my AP at least works with 2.6.32-rc8.

Regards,

David Ellingsworth
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Gertjan van Wingerde on
On 11/22/09 08:09, David Ellingsworth wrote:
> On Sat, Nov 21, 2009 at 10:27 AM, Gertjan van Wingerde
> <gwingerde(a)gmail.com> wrote:
>> On 11/21/09 02:30, David Ellingsworth wrote:
>>> Wasn't sure where to send this, but with the latest 2.6.32-rc8-wl
>>> kernel built from the wireless-testing repository I'm getting a number
>>> of "ieee80211_tx_status: headroom too small" errors in my syslog. I'm
>>> using the rt61pci driver in conjunction with hostap as a wpa2 secured
>>> access point. The relevant information about my card from lspci is:
>>>
>>> 01:08.0 0280: 1814:0301
>>> Subsystem: 1458:e934
>>> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
>>> ParErr- Stepping- SERR+ FastB2B- DisINTx-
>>> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
>>> <TAbort- <MAbort- >SERR- <PERR- INTx-
>>> Latency: 64, Cache Line Size: 128 bytes
>>> Interrupt: pin A routed to IRQ 18
>>> Region 0: Memory at fe6f0000 (32-bit, non-prefetchable) [size=32K]
>>> Capabilities: [40] Power Management version 2
>>> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
>>> PME(D0-,D1-,D2-,D3hot-,D3cold-)
>>> Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
>>> Kernel driver in use: rt61pci
>>>
>>> If you need any other information, I'll be happy to provide it.
>>>
>>
>> Hi David,
>>
>> This seems to be caused by the rt2x00 driver not properly declaring its alignment
>> maneuvring space properly, and thus it doesn't leave enough headroom left for
>> copying to the monitor interface.
>>
>> Can you check whether the attached patch fixes the issue for you?
>> Note: patch looks a bit bigger than it actually is due to indenting cleanups.
>>
>
> Gertjan,
>
> I haven't really been able to test this. The kernel version I was
> using at the time was 2.6.32-rc7-wl and not 2.6.32-rc8-wl. I'm rather
> certain the patch will resolve the issue, but I've been unable to get
> my wireless card to function properly with the latest 2.6.32-rc8-wl
> master branch. I'm not entirely sure what changed since two days ago,
> but I know the following:
>
> 1. 2.6.32-rc8 from Linus' master branch works fine but still exhibits
> this issue. However, this patch will not apply on top of 2.6.32-rc8.
>
> 2. 2.6.32-rc7-wl(11/19/2009) worked fine with the exception of the
> above mentioned error. Unable to test patch since I pulled all the
> recent modifications down.
> 3. 2.6.32-rc8-wl does not work at all for me, but patch does apply.
>
> I'm not entirely sure what the differences are between Linus' master
> branch of 2.6.32-rc8 and the current 2.6.32-rc8-wl tree are or what
> changes have been made on the wireless-testing master branch in the
> last couple of days that are preventing me from fully testing this
> patch.
>
> With the current wireless-testing master branch, 2.6.32-rc8-wl, with
> and without the patch I can associate and authenticate with my AP but
> am unable to do anything else. Any attempt to establish a wireless
> connection thus dies while trying to obtain an ip address via DHCP.
> Sadly, no errors are logged indicating what the cause of this problem
> might be. Given that I've only seen these errors after establishing a
> wireless connection, it's a little difficult for me to test without
> being able to transmit any data.
>
> I don't know if it's worth the effort or not, but if this patch were
> re-based against Linus' master branch I might be able to test it since
> my AP at least works with 2.6.32-rc8.

David,

OK. Find attached the patch ported to Linus' tree. It should apply to
any version of Linus' tree after 2.6.32-rc8.
I think it is good to get real confirmation that the patch behaves
as expected.

---
Gertjan.


From: David Ellingsworth on
On Sun, Nov 22, 2009 at 7:47 AM, Gertjan van Wingerde
<gwingerde(a)gmail.com> wrote:
> On 11/22/09 08:09, David Ellingsworth wrote:
>> On Sat, Nov 21, 2009 at 10:27 AM, Gertjan van Wingerde
>> <gwingerde(a)gmail.com> wrote:
>>> On 11/21/09 02:30, David Ellingsworth wrote:
>>>> Wasn't sure where to send this, but with the latest 2.6.32-rc8-wl
>>>> kernel built from the wireless-testing repository I'm getting a number
>>>> of "ieee80211_tx_status: headroom too small" errors in my syslog. I'm
>>>> using the rt61pci driver in conjunction with hostap as a wpa2 secured
>>>> access point. The relevant information about my card from lspci is:
>>>>
>>>> 01:08.0 0280: 1814:0301
>>>> � � � � Subsystem: 1458:e934
>>>> � � � � Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
>>>> ParErr- Stepping- SERR+ FastB2B- DisINTx-
>>>> � � � � Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort-
>>>> <TAbort- <MAbort- >SERR- <PERR- INTx-
>>>> � � � � Latency: 64, Cache Line Size: 128 bytes
>>>> � � � � Interrupt: pin A routed to IRQ 18
>>>> � � � � Region 0: Memory at fe6f0000 (32-bit, non-prefetchable) [size=32K]
>>>> � � � � Capabilities: [40] Power Management version 2
>>>> � � � � � � � � Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
>>>> PME(D0-,D1-,D2-,D3hot-,D3cold-)
>>>> � � � � � � � � Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
>>>> � � � � Kernel driver in use: rt61pci
>>>>
>>>> If you need any other information, I'll be happy to provide it.
>>>>
>>>
>>> Hi David,
>>>
>>> This seems to be caused by the rt2x00 driver not properly declaring its alignment
>>> maneuvring space properly, and thus it doesn't leave enough headroom left for
>>> copying to the monitor interface.
>>>
>>> Can you check whether the attached patch fixes the issue for you?
>>> Note: patch looks a bit bigger than it actually is due to indenting cleanups.
>>>
>>
>> Gertjan,
>>
>> I haven't really been able to test this. The kernel version I was
>> using at the time was 2.6.32-rc7-wl and not 2.6.32-rc8-wl. I'm rather
>> certain the patch will resolve the issue, but I've been unable to get
>> my wireless card to function properly with the latest 2.6.32-rc8-wl
>> master branch. I'm not entirely sure what changed since two days ago,
>> but I know the following:
>>
>> 1. 2.6.32-rc8 from Linus' master branch works fine but still exhibits
>> this issue. However, this patch will not apply on top of 2.6.32-rc8.
>>
>> 2. 2.6.32-rc7-wl(11/19/2009) worked fine with the exception of the
>> above mentioned error. Unable to test patch since I pulled all the
>> recent modifications down.
>> 3. 2.6.32-rc8-wl does not work at all for me, but patch does apply.
>>
>> I'm not entirely sure what the differences are between Linus' master
>> branch of 2.6.32-rc8 and the current 2.6.32-rc8-wl tree are or what
>> changes have been made on the wireless-testing master branch in the
>> last couple of days that are preventing me from fully testing this
>> patch.
>>
>> With the current wireless-testing master branch, 2.6.32-rc8-wl, with
>> and without the patch I can associate and authenticate with my AP but
>> am unable to do anything else. Any attempt to establish a wireless
>> connection thus dies while trying to obtain an ip address via DHCP.
>> Sadly, no errors are logged indicating what the cause of this problem
>> might be. Given that I've only seen these errors after establishing a
>> wireless connection, it's a little difficult for me to test without
>> being able to transmit any data.
>>
>> I don't know if it's worth the effort or not, but if this patch were
>> re-based against Linus' master branch I might be able to test it since
>> my AP at least works with 2.6.32-rc8.
>
> David,
>
> OK. Find attached the patch ported to Linus' tree. It should apply to
> any version of Linus' tree after 2.6.32-rc8.
> I think it is good to get real confirmation that the patch behaves
> as expected.
>
> ---
> Gertjan.
>

Gertjan,

The patch applies but doesn't quite fix the issue with the rt61pci
driver. With the patch applied, I still occasionally receive the error
message. I added a printk after the error to see how much was missing.
It indicates that skb_headroom is 12 and sizeof(*rthdr) is 13 when it
fails.

Regards,

David Ellingsworth
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/