From: Ian Schram <ischram@telenet.be>
To: Tomas Winkler <tomasw@gmail.com>
Cc: Johannes Berg <johannes@sipsolutions.net>,
linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: iwl5000 oopses
Date: Fri, 29 Aug 2008 01:58:48 +0200 [thread overview]
Message-ID: <48B73BB8.7000302@telenet.be> (raw)
In-Reply-To: <1ba2fa240808281430q7be3bb1eg8724af7247372efb@mail.gmail.com>
Tomas Winkler wrote:
> On Thu, Aug 28, 2008 at 6:44 PM, Ian Schram <ischram@telenet.be> wrote:
>>
>> Tomas Winkler wrote:
>>> On Thu, Aug 28, 2008 at 3:17 PM, Johannes Berg
>>> <johannes@sipsolutions.net> wrote:
>>>> On Thu, 2008-08-28 at 14:39 +0300, Tomas Winkler wrote:
>>>>> On Thu, Aug 28, 2008 at 1:36 PM, Johannes Berg
>>>>> <johannes@sipsolutions.net> wrote:
>>>>>> On Tue, 2008-08-05 at 18:20 +0300, Tomas Winkler wrote:
>>>>>>> On Tue, Aug 5, 2008 at 3:22 PM, Johannes Berg
>>>>>>> <johannes@sipsolutions.net> wrote:
>>>>>>>>> This is kernel 2.6.27-rc1-00504-g2b12a4c-dirty
>>>>>>>> [ 126.826663] iwlagn: Intel(R) Wireless WiFi Link AGN driver for
>>>>>>>> Linux, 1.3.27kds
>>>>>>>> [ 126.826947] iwlagn: Copyright(c) 2003-2008 Intel Corporation
>>>>>>>> [ 126.828369] iwlagn: Detected Intel Wireless WiFi Link 5350AGN
>>>>>>>> REV=0x24
>>>>>>>> [ 126.848680] iwlagn: Tunable channels: 13 802.11bg, 24 802.11a
>>>>>>>> channels
>>>>>>>> [ 127.014564] firmware: requesting iwlwifi-5000-1.ucode
>>>>>>>> [ 127.170640] iwlagn: Error wrong command queue 43 command id 0x6B
>>>>>>>> [ 127.170832] ------------[ cut here ]------------
>>>>>>>> [ 127.170884] kernel BUG at
>>>>>>>> drivers/net/wireless/iwlwifi/iwl-tx.c:1163!
>>>>>>>> [ 127.170941] Oops: Exception in kernel mode, sig: 5 [#1]
>>>>>> This is still happening with -rc4.
>>>>> I know, at least one regression.
>>>> Well, I guess for me the addition of the 5000 series code to the kernel
>>>> is the regression, without it I can use the machine just fine, just have
>>>> no wireless ;)
>>> And when I say that driver is half backed because I'm not done
>>> cleaning bugs it's somehow not understood
>>> Instead of chasing bugs I have to spend time to fitght the system.
>>> Tomas
>>> --
>> Probably a good idea to not see this as
>> ,,you vs system'' .. Anyways that discussion is going on in other threads
>> perhaps we can focus on what has to be done about this bug.
>>
>> what's known about this bug? ad where does it trigger? reproducible?
>>
>> the error message clearly shows an invalid queue id (43 or 0x2b) where it
>> should be
>> a number in the range of [0,4], this is multiqueue related?
>>
>> the value in this error message was set by the driver, and then relayed by
>> the ucode
>> in order to know which "command" this is a response to.
>>
>> assuming there is no memory corruption, and the ucode is correct, ...
>>
>> It might be set wrong. The value that is set is either the command queue, or
>> a
>> tx_command queue which is determined by a call to skb_get_queue_mapping(skb)
>>
>> might be nice to add some debug output documenting what this function is
>> returning.
>>
>>
>>
>> finally can i quickly ask why these macro's (that "encode" this queue id to
>> the field in which it's passed to the ucode):
>> #define SEQ_TO_QUEUE(x) ((x >> 8) & 0xbf)
>> #define QUEUE_TO_SEQ(x) ((x & 0xbf) << 8)
>> use 0xbf, when according to the sourcecode comments it only uses the last 6
>> bits, hence i would
>> expect 0x3f. In QUEUE_TO_SEQ this msb should never be set .. so i wonder if
>> there is a hack
>> i'm missing somewhere.
>
> Actually this is the correct settings (there is still a lot of old
> days junk in the code)
>
> +#define SEQ_TO_QUEUE(s) (((s) >> 8) & 0x1f)
> +#define QUEUE_TO_SEQ(q) (((q) & 0x1f) << 8)
> +#define SEQ_TO_INDEX(s) ((s) & 0xff)
> +#define INDEX_TO_SEQ(i) ((i) & 0xff)
>
> Yet this is not it an issue first of all it works pretty well I never
True. 0x1f seems slightly inconsistent with the iwl-command.h, but
that's not really the issue right now.
> hit this one if not under load.
> ' Error wrong command queue 43 command id ___0x6B___' 6b looks more
> like slub poison -- accessing already freed skb
>
> Thanks
> Tomas
hmm, 0x6B indeed is not a documented command ID...
Only triggering under load must point to some overflow or race i guess.
I should get myself a new laptop to be able to play with this...
The best i can do now, is wonder if this patch
"[PATCH 08/10] iwlwifi: decrement rx skb counter in scan abort handler"
might be responsible, but that's just fuzzy string matching "recent patches" with
"freed skb" ;-)
next prev parent reply other threads:[~2008-08-28 23:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-05 11:56 iwl5000 oopses with Linus's tree Johannes Berg
2008-08-05 12:22 ` iwl5000 oopses (was: iwl5000 oopses with Linus's tree) Johannes Berg
2008-08-05 15:20 ` Tomas Winkler
2008-08-28 10:36 ` Johannes Berg
2008-08-28 11:39 ` Tomas Winkler
2008-08-28 12:17 ` Johannes Berg
2008-08-28 14:52 ` Tomas Winkler
2008-08-28 15:44 ` iwl5000 oopses Ian Schram
2008-08-28 21:30 ` Tomas Winkler
2008-08-28 23:58 ` Ian Schram [this message]
2008-08-29 0:15 ` Tomas Winkler
2008-08-29 7:30 ` Johannes Berg
2008-10-06 12:29 ` iwl5000 oopses with Linus's tree Johannes Berg
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=48B73BB8.7000302@telenet.be \
--to=ischram@telenet.be \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=tomasw@gmail.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.