linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL
@ 2010-09-07 23:30 Pavel Roskin
  2010-09-08  6:50 ` Helmut Schaa
  0 siblings, 1 reply; 5+ messages in thread
From: Pavel Roskin @ 2010-09-07 23:30 UTC (permalink / raw)
  To: linux-wireless

Hello!

wireless-testing.git as of yesterday has a problem with rt61pci.  After
a minute of web browsing, the kernel reports an oops in
rt2x00lib_txdone() and no more traffic goes through.  That system used
to run a month old wireless-testing.git identified as 2.6.35-rc6-wl, and
it didn't have that problem.

The oops happens on this line:
enum data_queue_qid qid = skb_get_queue_mapping(entry->skb);

When it happens, entry->skb is NULL.  I cannot reproduce the problem by
ping, even by flood ping, but using a web browser on a moderately
complex site (e.g. cnn.com) triggers the oops reliably within a minute
or so.

The architecture is x86_64, it's a multicore system, SMP is enabled in
the kernel.

If there are no good ideas what it might be, I'll try to find time to
bisect the bug.

-- 
Regards,
Pavel Roskin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL
  2010-09-07 23:30 rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL Pavel Roskin
@ 2010-09-08  6:50 ` Helmut Schaa
  2010-09-08  8:12   ` Ivo Van Doorn
  0 siblings, 1 reply; 5+ messages in thread
From: Helmut Schaa @ 2010-09-08  6:50 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: linux-wireless, Ivo van Doorn

Hi Pavel,

Am Mittwoch 08 September 2010 schrieb Pavel Roskin:
> wireless-testing.git as of yesterday has a problem with rt61pci.  After
> a minute of web browsing, the kernel reports an oops in
> rt2x00lib_txdone() and no more traffic goes through.  That system used
> to run a month old wireless-testing.git identified as 2.6.35-rc6-wl, and
> it didn't have that problem.
> 
> The oops happens on this line:
> enum data_queue_qid qid = skb_get_queue_mapping(entry->skb);
> 
> When it happens, entry->skb is NULL.  I cannot reproduce the problem by
> ping, even by flood ping, but using a web browser on a moderately
> complex site (e.g. cnn.com) triggers the oops reliably within a minute
> or so.
> 
> The architecture is x86_64, it's a multicore system, SMP is enabled in
> the kernel.
> 
> If there are no good ideas what it might be, I'll try to find time to
> bisect the bug.

Seems like this was introduced by "rt2x00: Add helper function for
reporting tx status". At least the last hunk looks suspicious.

Pavel, could you please try this patch?

Thanks,
Helmut

diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 8b67cfd..80f80a0 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -2106,7 +2106,7 @@ static void rt61pci_txdone(struct rt2x00_dev *rt2x00dev)
 				"TX status report missed for entry %d\n",
 				entry_done->entry_idx);
 
-			rt2x00lib_txdone_noinfo(entry, TXDONE_UNKNOWN);
+			rt2x00lib_txdone_noinfo(entry_done, TXDONE_UNKNOWN);
 			entry_done = rt2x00queue_get_entry(queue, Q_INDEX_DONE);
 		}
 

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL
  2010-09-08  6:50 ` Helmut Schaa
@ 2010-09-08  8:12   ` Ivo Van Doorn
  2010-09-08 10:59     ` Pavel Roskin
  0 siblings, 1 reply; 5+ messages in thread
From: Ivo Van Doorn @ 2010-09-08  8:12 UTC (permalink / raw)
  To: Helmut Schaa; +Cc: Pavel Roskin, linux-wireless

Hi,

> Am Mittwoch 08 September 2010 schrieb Pavel Roskin:
>> wireless-testing.git as of yesterday has a problem with rt61pci.  After
>> a minute of web browsing, the kernel reports an oops in
>> rt2x00lib_txdone() and no more traffic goes through.  That system used
>> to run a month old wireless-testing.git identified as 2.6.35-rc6-wl, and
>> it didn't have that problem.
>>
>> The oops happens on this line:
>> enum data_queue_qid qid = skb_get_queue_mapping(entry->skb);
>>
>> When it happens, entry->skb is NULL.  I cannot reproduce the problem by
>> ping, even by flood ping, but using a web browser on a moderately
>> complex site (e.g. cnn.com) triggers the oops reliably within a minute
>> or so.
>>
>> The architecture is x86_64, it's a multicore system, SMP is enabled in
>> the kernel.
>>
>> If there are no good ideas what it might be, I'll try to find time to
>> bisect the bug.
>
> Seems like this was introduced by "rt2x00: Add helper function for
> reporting tx status". At least the last hunk looks suspicious.
>
> Pavel, could you please try this patch?
>
> Thanks,
> Helmut
>
> diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
> index 8b67cfd..80f80a0 100644
> --- a/drivers/net/wireless/rt2x00/rt61pci.c
> +++ b/drivers/net/wireless/rt2x00/rt61pci.c
> @@ -2106,7 +2106,7 @@ static void rt61pci_txdone(struct rt2x00_dev *rt2x00dev)
>                                "TX status report missed for entry %d\n",
>                                entry_done->entry_idx);
>
> -                       rt2x00lib_txdone_noinfo(entry, TXDONE_UNKNOWN);
> +                       rt2x00lib_txdone_noinfo(entry_done, TXDONE_UNKNOWN);
>                        entry_done = rt2x00queue_get_entry(queue, Q_INDEX_DONE);
>                }
>

Nice catch, this is indeed an obvious bug :S

Ivo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL
  2010-09-08  8:12   ` Ivo Van Doorn
@ 2010-09-08 10:59     ` Pavel Roskin
  2010-09-08 11:33       ` Helmut Schaa
  0 siblings, 1 reply; 5+ messages in thread
From: Pavel Roskin @ 2010-09-08 10:59 UTC (permalink / raw)
  To: Ivo Van Doorn; +Cc: Helmut Schaa, linux-wireless

Quoting Ivo Van Doorn <ivdoorn@gmail.com>:

> Nice catch, this is indeed an obvious bug :S

The patch is working for me.  Thanks!

-- 
Regards,
Pavel Roskin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL
  2010-09-08 10:59     ` Pavel Roskin
@ 2010-09-08 11:33       ` Helmut Schaa
  0 siblings, 0 replies; 5+ messages in thread
From: Helmut Schaa @ 2010-09-08 11:33 UTC (permalink / raw)
  To: Pavel Roskin; +Cc: Ivo Van Doorn, linux-wireless

Am Mittwoch 08 September 2010 schrieb Pavel Roskin:
> Quoting Ivo Van Doorn <ivdoorn@gmail.com>:
> 
> > Nice catch, this is indeed an obvious bug :S
> 
> The patch is working for me.  Thanks!

Great, thanks for testing ...

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-09-08 11:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-07 23:30 rt61pci: oops in rt2x00lib_txdone(), entry->skb is NULL Pavel Roskin
2010-09-08  6:50 ` Helmut Schaa
2010-09-08  8:12   ` Ivo Van Doorn
2010-09-08 10:59     ` Pavel Roskin
2010-09-08 11:33       ` Helmut Schaa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).