All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gertjan van Wingerde <gwingerde@gmail.com>
To: David Ellingsworth <david@identd.dyndns.org>
Cc: rt2x00 Users List <users@rt2x00.serialmonkey.com>,
	LKML <linux-kernel@vger.kernel.org>,
	wireless <linux-wireless@vger.kernel.org>
Subject: Re: [rt2x00-users] ieee80211_tx_status: headroom too small
Date: Sun, 22 Nov 2009 19:48:45 +0100	[thread overview]
Message-ID: <4B09878D.8060708@gmail.com> (raw)
In-Reply-To: <30353c3d0911220959l68cde41cpfd8c02c290497c30@mail.gmail.com>

On 11/22/09 18:59, David Ellingsworth wrote:
> On Sun, Nov 22, 2009 at 7:47 AM, Gertjan van Wingerde
> <gwingerde@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@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.
> 

David,

That is unexpected. This more starts to look like a problem that is
outside of rt2x00.

Would you be able to see what the available skb_headroom is when the TX
frame enters the rt61pci driver, i.e. when the rt2x00mac_tx function is
entered?

---
Gertjan.


WARNING: multiple messages have this Message-ID (diff)
From: Gertjan van Wingerde <gwingerde@gmail.com>
To: David Ellingsworth <david@identd.dyndns.org>
Cc: rt2x00 Users List <users@host1.serialmonkey.com>,
	LKML <linux-kernel@vger.kernel.org>,
	wireless <linux-wireless@vger.kernel.org>
Subject: Re: [rt2x00-users] ieee80211_tx_status: headroom too small
Date: Sun, 22 Nov 2009 19:48:45 +0100	[thread overview]
Message-ID: <4B09878D.8060708@gmail.com> (raw)
In-Reply-To: <30353c3d0911220959l68cde41cpfd8c02c290497c30@mail.gmail.com>

On 11/22/09 18:59, David Ellingsworth wrote:
> On Sun, Nov 22, 2009 at 7:47 AM, Gertjan van Wingerde
> <gwingerde@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@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.
> 

David,

That is unexpected. This more starts to look like a problem that is
outside of rt2x00.

Would you be able to see what the available skb_headroom is when the TX
frame enters the rt61pci driver, i.e. when the rt2x00mac_tx function is
entered?

---
Gertjan.


  reply	other threads:[~2009-11-22 18:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-21  1:30 ieee80211_tx_status: headroom too small David Ellingsworth
2009-11-21 15:27 ` [rt2x00-users] " Gertjan van Wingerde
2009-11-22  7:09   ` David Ellingsworth
2009-11-22  7:09     ` David Ellingsworth
2009-11-22 12:47     ` Gertjan van Wingerde
2009-11-22 12:47       ` Gertjan van Wingerde
2009-11-22 17:59       ` David Ellingsworth
2009-11-22 17:59         ` David Ellingsworth
2009-11-22 18:48         ` Gertjan van Wingerde [this message]
2009-11-22 18:48           ` Gertjan van Wingerde
2009-11-22 19:51           ` Gertjan van Wingerde
2009-11-22 19:51             ` Gertjan van Wingerde
2009-11-22 21:17             ` David Ellingsworth
2009-11-22 21:17               ` David Ellingsworth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B09878D.8060708@gmail.com \
    --to=gwingerde@gmail.com \
    --cc=david@identd.dyndns.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=users@rt2x00.serialmonkey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.