From: Helmut Schaa <helmut.schaa@googlemail.com>
To: Ivo van Doorn <ivdoorn@gmail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
linux-wireless@vger.kernel.org, users@rt2x00.serialmonkey.com
Subject: Re: [PATCH 8/9] rt2x00: Fix header_length in rt2x00lib_txdone
Date: Tue, 16 Nov 2010 16:36:27 +0100 [thread overview]
Message-ID: <201011161636.27245.helmut.schaa@googlemail.com> (raw)
In-Reply-To: <201011131912.55384.IvDoorn@gmail.com>
Am Samstag 13 November 2010 schrieb Ivo van Doorn:
> From: RA-Jay Hung <Jay_Hung@ralinktech.com>
>
> Put the assignment of header_length after pull out extra tx headroom
Thanks, this fixes an occasional panic for me in AP mode:
[ 133.980000] skb_under_panic: text:81933574 len:1550 put:16 head:80a86800 data:80a867fc tail:0x80a86e0a end:0x80a86ea0 dev:wlan0
[ 134.010000] Kernel bug detected[#1]:
[ 134.010000] Cpu 0
[ 134.010000] $ 0 : 00000000 80320000 00000089 00000001
[ 134.010000] $ 4 : 8020559c 00002a63 00000001 00002a63
[ 134.010000] $ 8 : 00000020 00000001 00000001 0000000a
[ 134.010000] $12 : 000000cd 00000009 00000000 3a699d00
[ 134.010000] $16 : 81909d00 80fac2f8 818f4aa8 80e7fba0
[ 134.010000] $20 : 81909d00 819036f8 819036e0 00000002
[ 134.010000] $24 : 00000000 80103130
[ 134.010000] $28 : 80e7e000 80e7fb58 00000001 8012c4f0
[ 134.010000] Hi : 00000000
[ 134.010000] Lo : cbd20000
[ 134.010000] epc : 8012c4f0 skb_push+0x6c/0x88
[ 134.010000] Not tainted
[ 134.010000] ra : 8012c4f0 skb_push+0x6c/0x88
[ 134.010000] Status: 1000e403 KERNEL EXL IE
[ 134.010000] Cause : 10800024
[ 134.010000] PrId : 0001964c (MIPS 24Kc)
[ 134.010000] Modules linked in: rt2800pci rt2800lib rt2x00soc rt2x00pci rt2x00lib mac80211 eeprom_93cx6 crc_itu_t crc_ccitt cfg80211 compat arc4 aes_generic deflate ecb cbc
[ 134.010000] Process irq/6-rt2800_wm (pid: 794, threadinfo=80e7e000, task=819811e0, tls=00000000)
[ 134.010000] Stack : 00005220 81933574 0000060e 00000010 80a86800 80a867fc 80a86e0a 80a86ea0
[ 134.010000] 81979000 81909d00 819036f8 81933574 80840000 819036f8 00000000 00000041
[ 134.010000] 8020f480 819a9a80 0000be88 00000002 001a05fc 00800030 00040000 0000000d
[ 134.010000] 00020007 00020005 00000003 00040000 00000006 00000004 001a0021 00000008
[ 134.010000] 819036f8 819036f8 819036e0 818f4aa8 00000000 81931cfc 80e7fc78 80f1831c
[ 134.010000] ...
[ 134.010000] Call Trace:
[ 134.010000] [<8012c4f0>] skb_push+0x6c/0x88
[ 134.010000] [<81933574>] rt2x00queue_write_tx_frame+0x218/0x344 [rt2x00lib]
[ 134.010000] [<81931cfc>] rt2x00mac_tx+0x258/0x2d4 [rt2x00lib]
[ 134.010000] [<80f19fa8>] __ieee80211_tx+0x14c/0x1e4 [mac80211]
[ 134.010000] [<80f1a118>] ieee80211_tx+0xd8/0x25c [mac80211]
[ 134.010000] [<80f1ae58>] ieee80211_tx_pending+0x11c/0x26c [mac80211]
[ 134.010000] [<8001e444>] tasklet_action+0x88/0xe4
[ 134.010000] [<8001ec10>] __do_softirq+0xb0/0x148
[ 134.010000] [<8001ecf0>] do_softirq+0x48/0x6c
[ 134.010000] [<8001ef78>] local_bh_enable+0x8c/0xa8
[ 134.010000] [<81930414>] rt2x00lib_rxdone+0x2d0/0x320 [rt2x00lib]
[ 134.010000] [<80eee2ec>] rt2x00pci_initialize+0x24c/0x270 [rt2x00pci]
[ 134.010000]
[ 134.010000]
[ 134.010000] Code: afa9001c 0c001571 afa20020 <0200000d> 0804b13d 00000000 8fbf002c 01001021 03e00008
Helmut
> Signed-off-by: RA-Jay Hung <jay_hung@ralinktech.com>
> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
> ---
> drivers/net/wireless/rt2x00/rt2x00dev.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
> index 3afa2a3..c879f9a 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00dev.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
> @@ -250,10 +250,9 @@ void rt2x00lib_txdone(struct queue_entry *entry,
> struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
> struct skb_frame_desc *skbdesc = get_skb_frame_desc(entry->skb);
> enum data_queue_qid qid = skb_get_queue_mapping(entry->skb);
> - unsigned int header_length = ieee80211_get_hdrlen_from_skb(entry->skb);
> + unsigned int header_length, i;
> u8 rate_idx, rate_flags, retry_rates;
> u8 skbdesc_flags = skbdesc->flags;
> - unsigned int i;
> bool success;
>
> /*
> @@ -272,6 +271,11 @@ void rt2x00lib_txdone(struct queue_entry *entry,
> skbdesc->flags &= ~SKBDESC_DESC_IN_SKB;
>
> /*
> + * Determine the length of 802.11 header.
> + */
> + header_length = ieee80211_get_hdrlen_from_skb(entry->skb);
> +
> + /*
> * Remove L2 padding which was added during
> */
> if (test_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags))
>
next prev parent reply other threads:[~2010-11-16 15:37 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-13 18:08 [PATCH 1/9] rt2x00: Increase REGISTER_BUSY_COUNT Ivo van Doorn
2010-11-13 18:09 ` [PATCH 2/9] rt2x00: Add initial support for RT3370/RT3390 devices Ivo van Doorn
2010-11-13 18:10 ` [PATCH 3/9] rt2x00: Clean up Kconfig for RT2800 devices Ivo van Doorn
2010-11-13 18:10 ` [PATCH 4/9] rt2x00: Remove RT30XX Kconfig variables Ivo van Doorn
2010-11-13 18:10 ` [PATCH 5/9] rt2x00: Remove unneccessary internal Kconfig symbols Ivo van Doorn
2010-11-13 18:11 ` [PATCH 6/9] rt2x00: Use ioremap for SoC devices instead of KSEG1ADDR Ivo van Doorn
2010-11-13 18:11 ` [PATCH 7/9] rt2x00: Fix rt2800 USB TX Path DMA issue Ivo van Doorn
2010-11-13 18:12 ` [PATCH 8/9] rt2x00: Fix header_length in rt2x00lib_txdone Ivo van Doorn
2010-11-13 18:13 ` [PATCH 9/9] rt2x00: Modify rt2x00queue_remove_l2pad to make skb->data two-byte alignment Ivo van Doorn
2010-11-16 15:45 ` Helmut Schaa
2010-11-17 8:46 ` Helmut Schaa
2010-11-17 10:16 ` RA-Jay Hung
2010-11-17 10:48 ` Helmut Schaa
2010-11-17 15:07 ` John W. Linville
2010-11-17 15:34 ` Gertjan van Wingerde
2010-11-17 16:41 ` Helmut Schaa
2010-11-18 1:47 ` [rt2x00-users] " David Ellingsworth
2010-11-22 7:00 ` Gertjan van Wingerde
2010-11-22 8:14 ` RA-Jay Hung
2010-11-22 10:05 ` Gertjan van Wingerde
2010-11-22 10:22 ` Helmut Schaa
2010-11-16 15:36 ` Helmut Schaa [this message]
2010-11-15 9:45 ` [PATCH 7/9] rt2x00: Fix rt2800 USB TX Path DMA issue Walter Goldens
2010-11-16 1:59 ` RA-Jay Hung
2010-11-16 15:59 ` Johannes Stezenbach
2010-11-16 16:11 ` Helmut Schaa
2010-11-16 16:34 ` Johannes Stezenbach
2010-11-16 16:42 ` Helmut Schaa
2010-11-16 16:53 ` Johannes Stezenbach
2010-11-16 17:00 ` Helmut Schaa
[not found] ` <AANLkTi=ANfE3s8RUmS5=qyofqHM2geRnatK-eCUjovEc@mail.gmail.com>
2010-11-16 19:06 ` Johannes Stezenbach
2010-11-16 19:23 ` Ivo Van Doorn
2010-11-16 19:26 ` Johannes Berg
2010-11-16 19:33 ` Ivo Van Doorn
2010-11-14 8:59 ` [PATCH 3/9] rt2x00: Clean up Kconfig for RT2800 devices Julian Calaby
2010-11-14 9:00 ` Julian Calaby
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=201011161636.27245.helmut.schaa@googlemail.com \
--to=helmut.schaa@googlemail.com \
--cc=ivdoorn@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--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 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).