linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
@ 2014-02-13 18:02 Ivaylo Dimitrov
  2014-02-13 18:21 ` Will Deacon
  0 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-02-13 18:02 UTC (permalink / raw)
  To: will.deacon
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár

Since next-21012014 I started to receive "Received disconnect from 
x.x.x.x: 2: Bad packet length 3149594624" errors when trying to 
establish ssh session over wifi to my N900, running Maemo 5. I bisected 
and it turned out that commit dce5c9e35bc4085bd33eccdb8c9ec5a643507a14 
"ARM: 7928/1: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ 
&& MMU" is the first bad. There is nothing related in either dmesg or 
syslog on the device. Reverting that commit on 3.14-rc1 make those 
errors disappear.

As my knowledge on how to deal with that stops here, advises on what to 
do next to find the real problem are appreciated.

Ivo

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-13 18:02 [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624 Ivaylo Dimitrov
@ 2014-02-13 18:21 ` Will Deacon
  2014-02-13 18:43   ` Ivaylo Dimitrov
  0 siblings, 1 reply; 17+ messages in thread
From: Will Deacon @ 2014-02-13 18:21 UTC (permalink / raw)
  To: Ivaylo Dimitrov
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár

Hi Ivo,

Thanks for bisecting this.

On Thu, Feb 13, 2014 at 06:02:57PM +0000, Ivaylo Dimitrov wrote:
> Since next-21012014 I started to receive "Received disconnect from 
> x.x.x.x: 2: Bad packet length 3149594624" errors when trying to 
> establish ssh session over wifi to my N900, running Maemo 5. I bisected 
> and it turned out that commit dce5c9e35bc4085bd33eccdb8c9ec5a643507a14 
> "ARM: 7928/1: kconfig: select HAVE_EFFICIENT_UNALIGNED_ACCESS for CPUv6+ 
> && MMU" is the first bad. There is nothing related in either dmesg or 
> syslog on the device. Reverting that commit on 3.14-rc1 make those 
> errors disappear.

That's certainly unexpected. The n900 has (iirc) a Cortex-A8, which as an
ARMv7 core, can perform unaligned accesses to normal, cacheable memory in
hardware.

Can you provide your .config and/or any information about your network chip
please? There's a chance that the driver is doing something odd.

Cheers,

Will

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-13 18:21 ` Will Deacon
@ 2014-02-13 18:43   ` Ivaylo Dimitrov
  2014-02-13 19:29     ` Will Deacon
  0 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-02-13 18:43 UTC (permalink / raw)
  To: Will Deacon
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár



On 13.02.2014 20:21, Will Deacon wrote:
>
> That's certainly unexpected. The n900 has (iirc) a Cortex-A8, which as an
> ARMv7 core, can perform unaligned accesses to normal, cacheable memory in
> hardware.
>

Yep, Cortex-A8 and it has no problem to do unaligned memory accesses 
AFAIK. I suspect it is a driver issue, not CPU.

> Can you provide your .config and/or any information about your network chip
> please? There's a chance that the driver is doing something odd.

The chip is TI wl1251, you can find the config file here(actually this 
is the tree I am using to boot 3.14-rc1 on N900) - 
https://gitorious.org/linux-n900/freemangordons-linux-n900/source/1434dbd7fbc5ec257b6cd6c547689b79177d1937:arch/arm/configs/rx51_defconfig

Thanks,
Ivo

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-13 18:43   ` Ivaylo Dimitrov
@ 2014-02-13 19:29     ` Will Deacon
  2014-02-14 16:12       ` Ivaylo Dimitrov
  0 siblings, 1 reply; 17+ messages in thread
From: Will Deacon @ 2014-02-13 19:29 UTC (permalink / raw)
  To: Ivaylo Dimitrov
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár

On Thu, Feb 13, 2014 at 06:43:15PM +0000, Ivaylo Dimitrov wrote:
> 
> 
> On 13.02.2014 20:21, Will Deacon wrote:
> >
> > That's certainly unexpected. The n900 has (iirc) a Cortex-A8, which as an
> > ARMv7 core, can perform unaligned accesses to normal, cacheable memory in
> > hardware.
> >
> 
> Yep, Cortex-A8 and it has no problem to do unaligned memory accesses 
> AFAIK. I suspect it is a driver issue, not CPU.
> 
> > Can you provide your .config and/or any information about your network chip
> > please? There's a chance that the driver is doing something odd.
> 
> The chip is TI wl1251, you can find the config file here(actually this 
> is the tree I am using to boot 3.14-rc1 on N900) - 
> https://gitorious.org/linux-n900/freemangordons-linux-n900/source/1434dbd7fbc5ec257b6cd6c547689b79177d1937:arch/arm/configs/rx51_defconfig

Ok, so based on that config I think we can narrow down the unaligned use to
the following files:


# Crypto
crypto/memneq.c:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
crypto/memneq.c:#endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
crypto/memneq.c:#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
crypto/memneq.c:#endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */

# Network
include/linux/etherdevice.h:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
include/linux/etherdevice.h:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
include/linux/etherdevice.h:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
include/linux/etherdevice.h:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
include/linux/etherdevice.h:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
net/mac80211/rx.c:#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
net/ipv4/netfilter/arp_tables.c:#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS

# Probably not relevant
kernel/printk/printk.c:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
kernel/taskstats.c:#if defined(CONFIG_64BIT) && !defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
lib/lz4/lz4defs.h:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)		\
lib/lz4/lz4defs.h:#else /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
lib/lzo/lzo1x_compress.c:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && defined(LZO_USE_CTZ64)
lib/lzo/lzo1x_compress.c:#elif defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) && defined(LZO_USE_CTZ32)
lib/lzo/lzo1x_decompress_safe.c:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
lib/lzo/lzo1x_decompress_safe.c:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
lib/lzo/lzo1x_decompress_safe.c:#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
lib/strncpy_from_user.c:#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
lib/zlib_inflate/inffast.c:#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS


Can you try hacking crypto/memneq.c so that it doesn't use
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS please? That would at least point the
finger at net/mac80211/rx.c or similar.

Cheers,

Will

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-13 19:29     ` Will Deacon
@ 2014-02-14 16:12       ` Ivaylo Dimitrov
  2014-02-14 16:24         ` Will Deacon
  0 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-02-14 16:12 UTC (permalink / raw)
  To: Will Deacon
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár



On 13.02.2014 21:29, Will Deacon wrote:
>
> Can you try hacking crypto/memneq.c so that it doesn't use
> CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS please? That would at least point the
> finger at net/mac80211/rx.c or similar.
>
> Cheers,
>
> Will
>

Well, I am lazy so I hacked net/mac80211/rx.c first:

index c24ca0d..6839c77 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1963,7 +1963,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
                 }
         }

-#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
+//#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
         if (skb) {
                 /* 'align' will only take the values 0 or 2 here since all
                  * frames are required to be aligned to 2-byte boundaries
@@ -1987,7 +1987,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
                         }
                 }
         }
-#endif
+//#endif

         if (skb) {
                 /* deliver to local stack */


and that seems to fix the problem.

I am not sure whom I should forward the problem.

Thanks,
Ivo

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-14 16:12       ` Ivaylo Dimitrov
@ 2014-02-14 16:24         ` Will Deacon
  2014-02-14 17:11           ` Ivaylo Dimitrov
                             ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Will Deacon @ 2014-02-14 16:24 UTC (permalink / raw)
  To: Ivaylo Dimitrov
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár, kvalo, linville

On Fri, Feb 14, 2014 at 04:12:44PM +0000, Ivaylo Dimitrov wrote:
> On 13.02.2014 21:29, Will Deacon wrote:
> >
> > Can you try hacking crypto/memneq.c so that it doesn't use
> > CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS please? That would at least point the
> > finger at net/mac80211/rx.c or similar.
> >
> 
> Well, I am lazy so I hacked net/mac80211/rx.c first:

No problem, thanks for having a go.

> index c24ca0d..6839c77 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1963,7 +1963,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
>                  }
>          }
> 
> -#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
> +//#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
>          if (skb) {
>                  /* 'align' will only take the values 0 or 2 here since all
>                   * frames are required to be aligned to 2-byte boundaries
> @@ -1987,7 +1987,7 @@ ieee80211_deliver_skb(struct ieee80211_rx_data *rx)
>                          }
>                  }
>          }
> -#endif
> +//#endif
> 
>          if (skb) {
>                  /* deliver to local stack */
> 
> 
> and that seems to fix the problem.
> 
> I am not sure whom I should forward the problem.

Well, we probably need a bit more to go on, because I doubt that this code
is to blame. More likely, the issue is in the caller.
Looking at drivers/net/wireless/ti/wl1251/rx.c:182

        /* The actual length doesn't include the target's alignment */
        skb->len = desc->length  - PLCP_HEADER_LENGTH;

        fc = (u16 *)skb->data;

        if ((*fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_BEACON)
                beacon = 1;

        wl1251_rx_status(wl, desc, &status, beacon);

        wl1251_debug(DEBUG_RX, "rx skb 0x%p: %d B %s", skb, skb->len,
                     beacon ? "beacon" : "");

        memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
        ieee80211_rx_ni(wl->hw, skb);

I wonder whether that first line (with the comment about alignment) is
assuming some behaviour from the mac80211 layer.

You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
above.

Adding the original author (I think) and John Linville, since I'm well out
of my depth in this code!

Will

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-14 16:24         ` Will Deacon
@ 2014-02-14 17:11           ` Ivaylo Dimitrov
  2014-02-23 19:06             ` Ivaylo Dimitrov
  2014-02-24 16:52           ` Kalle Valo
  2014-02-25  7:56           ` Ivaylo Dimitrov
  2 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-02-14 17:11 UTC (permalink / raw)
  To: Will Deacon
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár, kvalo, linville



On 14.02.2014 18:24, Will Deacon wrote:
>
> You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
> commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
> above.

This seems to fix the issue too, but I am afraid there is more to be 
done, as I see

Feb 14 18:33:46 Nokia-N900 kernel: [   88.599853] wlan0: authenticate 
with 00:23:cd:17:86:d0
Feb 14 18:33:46 Nokia-N900 kernel: [   88.781860] wlan0: send auth to 
00:23:cd:17:86:d0 (try 1/3)
Feb 14 18:33:46 Nokia-N900 kernel: [   88.799804] wlan0: authenticated
Feb 14 18:33:46 Nokia-N900 kernel: [   88.806243] wlan0: associating 
with AP with corrupt probe response
Feb 14 18:33:46 Nokia-N900 kernel: [   88.814544] wlan0: associate with 
00:23:cd:17:86:d0 (try 1/3)
Feb 14 18:33:46 Nokia-N900 kernel: [   88.826416] wlan0: RX AssocResp 
from 00:23:cd:17:86:d0 (capab=0x431 status=0 aid=2)

spit in dmesg log. AFAIR this is the first time I see "associating with 
AP with corrupt probe response" in dmesg, no matter of the kernel 
version. Despite of that error message, wlan seems to work as it should, 
so far. I guess we need the driver's author saying on the issue.

Thanks,
Ivo

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-14 17:11           ` Ivaylo Dimitrov
@ 2014-02-23 19:06             ` Ivaylo Dimitrov
  2014-02-25 10:44               ` Pavel Machek
  0 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-02-23 19:06 UTC (permalink / raw)
  Cc: Will Deacon, LKML, linux, linux-arm-kernel, Pavel Machek,
	Sebastian Reichel, Pali Rohár, kvalo, linville



On 14.02.2014 19:11, Ivaylo Dimitrov wrote:
>
>
> On 14.02.2014 18:24, Will Deacon wrote:
>>
>> You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
>> commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
>> above.
>
> This seems to fix the issue too, but I am afraid there is more to be
> done, as I see
>
> Feb 14 18:33:46 Nokia-N900 kernel: [   88.599853] wlan0: authenticate
> with 00:23:cd:17:86:d0
> Feb 14 18:33:46 Nokia-N900 kernel: [   88.781860] wlan0: send auth to
> 00:23:cd:17:86:d0 (try 1/3)
> Feb 14 18:33:46 Nokia-N900 kernel: [   88.799804] wlan0: authenticated
> Feb 14 18:33:46 Nokia-N900 kernel: [   88.806243] wlan0: associating
> with AP with corrupt probe response
> Feb 14 18:33:46 Nokia-N900 kernel: [   88.814544] wlan0: associate with
> 00:23:cd:17:86:d0 (try 1/3)
> Feb 14 18:33:46 Nokia-N900 kernel: [   88.826416] wlan0: RX AssocResp
> from 00:23:cd:17:86:d0 (capab=0x431 status=0 aid=2)
>
> spit in dmesg log. AFAIR this is the first time I see "associating with
> AP with corrupt probe response" in dmesg, no matter of the kernel
> version. Despite of that error message, wlan seems to work as it should,
> so far. I guess we need the driver's author saying on the issue.
>
> Thanks,
> Ivo

ping?

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-14 16:24         ` Will Deacon
  2014-02-14 17:11           ` Ivaylo Dimitrov
@ 2014-02-24 16:52           ` Kalle Valo
  2014-02-25  7:56           ` Ivaylo Dimitrov
  2 siblings, 0 replies; 17+ messages in thread
From: Kalle Valo @ 2014-02-24 16:52 UTC (permalink / raw)
  To: Will Deacon
  Cc: Ivaylo Dimitrov, LKML, linux, linux-arm-kernel, Pavel Machek,
	Sebastian Reichel, Pali Rohár, linville

Will Deacon <will.deacon@arm.com> writes:
> Well, we probably need a bit more to go on, because I doubt that this code
> is to blame. More likely, the issue is in the caller.
> Looking at drivers/net/wireless/ti/wl1251/rx.c:182
>
>         /* The actual length doesn't include the target's alignment */
>         skb->len = desc->length  - PLCP_HEADER_LENGTH;
>
>         fc = (u16 *)skb->data;
>
>         if ((*fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_BEACON)
>                 beacon = 1;
>
>         wl1251_rx_status(wl, desc, &status, beacon);
>
>         wl1251_debug(DEBUG_RX, "rx skb 0x%p: %d B %s", skb, skb->len,
>                      beacon ? "beacon" : "");
>
>         memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
>         ieee80211_rx_ni(wl->hw, skb);
>
> I wonder whether that first line (with the comment about alignment) is
> assuming some behaviour from the mac80211 layer.
>
> You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
> commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
> above.
>
> Adding the original author (I think) and John Linville, since I'm well out
> of my depth in this code!

I haven't touched wl1251 for years. You should send questions to
linux-wireless list and CC people who have worked on it recently.

-- 
Kalle Valo

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-14 16:24         ` Will Deacon
  2014-02-14 17:11           ` Ivaylo Dimitrov
  2014-02-24 16:52           ` Kalle Valo
@ 2014-02-25  7:56           ` Ivaylo Dimitrov
  2014-02-25 10:57             ` Will Deacon
  2 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-02-25  7:56 UTC (permalink / raw)
  To: Will Deacon
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár, kvalo, linville

Hi,

On 14.02.2014 18:24, Will Deacon wrote:
> You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
> commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
> above.
>

the following patch

diff --git a/drivers/net/wireless/ti/wl1251/rx.c 
b/drivers/net/wireless/ti/wl1251/rx.c
index 123c4bb..cde0eaf 100644
--- a/drivers/net/wireless/ti/wl1251/rx.c
+++ b/drivers/net/wireless/ti/wl1251/rx.c
@@ -180,7 +180,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
         wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);

         /* The actual length doesn't include the target's alignment */
-       skb->len = desc->length  - PLCP_HEADER_LENGTH;
+       skb_trim(skb, desc->length - PLCP_HEADER_LENGTH);

         fc = (u16 *)skb->data;

seems to fix the issue, including those "corrupt probe response" 
messages in dmesg log (I took that 'skb_trim' from the original Nokia 
kernel). Will send a properly formatted patch shortly.

Thanks,
Ivo

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-23 19:06             ` Ivaylo Dimitrov
@ 2014-02-25 10:44               ` Pavel Machek
  2014-02-25 10:55                 ` Will Deacon
  0 siblings, 1 reply; 17+ messages in thread
From: Pavel Machek @ 2014-02-25 10:44 UTC (permalink / raw)
  To: Ivaylo Dimitrov
  Cc: Will Deacon, LKML, linux, linux-arm-kernel, Sebastian Reichel,
	Pali Rohár, kvalo, linville

Hi!

> >>You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
> >>commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
> >>above.
> >
> >This seems to fix the issue too, but I am afraid there is more to be
> >done, as I see
> >
> >Feb 14 18:33:46 Nokia-N900 kernel: [   88.599853] wlan0: authenticate
> >with 00:23:cd:17:86:d0
> >Feb 14 18:33:46 Nokia-N900 kernel: [   88.781860] wlan0: send auth to
> >00:23:cd:17:86:d0 (try 1/3)
> >Feb 14 18:33:46 Nokia-N900 kernel: [   88.799804] wlan0: authenticated
> >Feb 14 18:33:46 Nokia-N900 kernel: [   88.806243] wlan0: associating
> >with AP with corrupt probe response
> >Feb 14 18:33:46 Nokia-N900 kernel: [   88.814544] wlan0: associate with
> >00:23:cd:17:86:d0 (try 1/3)
> >Feb 14 18:33:46 Nokia-N900 kernel: [   88.826416] wlan0: RX AssocResp
> >from 00:23:cd:17:86:d0 (capab=0x431 status=0 aid=2)
> >
> >spit in dmesg log. AFAIR this is the first time I see "associating with
> >AP with corrupt probe response" in dmesg, no matter of the kernel
> >version. Despite of that error message, wlan seems to work as it should,
> >so far. I guess we need the driver's author saying on the issue.
> 
> ping?

If Will does not respond, we should simply revert
dce5c9e35bc4085bd33eccdb8c9ec5a643507a14 . Regressions are not
acceptable.
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-25 10:44               ` Pavel Machek
@ 2014-02-25 10:55                 ` Will Deacon
  0 siblings, 0 replies; 17+ messages in thread
From: Will Deacon @ 2014-02-25 10:55 UTC (permalink / raw)
  To: Pavel Machek
  Cc: Ivaylo Dimitrov, LKML, linux, linux-arm-kernel,
	Sebastian Reichel, Pali Rohár, kvalo, linville

On Tue, Feb 25, 2014 at 10:44:44AM +0000, Pavel Machek wrote:
> > >>You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
> > >>commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
> > >>above.
> > >
> > >This seems to fix the issue too, but I am afraid there is more to be
> > >done, as I see
> > >
> > >Feb 14 18:33:46 Nokia-N900 kernel: [   88.599853] wlan0: authenticate
> > >with 00:23:cd:17:86:d0
> > >Feb 14 18:33:46 Nokia-N900 kernel: [   88.781860] wlan0: send auth to
> > >00:23:cd:17:86:d0 (try 1/3)
> > >Feb 14 18:33:46 Nokia-N900 kernel: [   88.799804] wlan0: authenticated
> > >Feb 14 18:33:46 Nokia-N900 kernel: [   88.806243] wlan0: associating
> > >with AP with corrupt probe response
> > >Feb 14 18:33:46 Nokia-N900 kernel: [   88.814544] wlan0: associate with
> > >00:23:cd:17:86:d0 (try 1/3)
> > >Feb 14 18:33:46 Nokia-N900 kernel: [   88.826416] wlan0: RX AssocResp
> > >from 00:23:cd:17:86:d0 (capab=0x431 status=0 aid=2)
> > >
> > >spit in dmesg log. AFAIR this is the first time I see "associating with
> > >AP with corrupt probe response" in dmesg, no matter of the kernel
> > >version. Despite of that error message, wlan seems to work as it should,
> > >so far. I guess we need the driver's author saying on the issue.
> > 
> > ping?
> 
> If Will does not respond, we should simply revert
> dce5c9e35bc4085bd33eccdb8c9ec5a643507a14 . Regressions are not
> acceptable.

Seriously Pavel, give me a break. I already responded pretty quickly to this
bug report, took a look at where the issue could be and proposed a fix
(which Ivaylo tested successfully). Now, wireless drivers are *waay* outside
my area of expertise, so I added some other folks to CC in the hope that
they could help turn my fix into something upstreamable. Meanwhile, Ivaylo
looks like he has something better than what I came up with already.

If you care about this driver, why don't you help us fix it rather than
making unhelpful suggestions from the sidelines?

Will

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

* Re: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
  2014-02-25  7:56           ` Ivaylo Dimitrov
@ 2014-02-25 10:57             ` Will Deacon
  2014-03-01 12:52               ` [PATCH] wl1251: use skb_trim to make skb shorter Ivaylo Dimitrov
  0 siblings, 1 reply; 17+ messages in thread
From: Will Deacon @ 2014-02-25 10:57 UTC (permalink / raw)
  To: Ivaylo Dimitrov
  Cc: LKML, linux, linux-arm-kernel, Pavel Machek, Sebastian Reichel,
	Pali Rohár, kvalo, linville

Hi Ivaylo,

On Tue, Feb 25, 2014 at 07:56:11AM +0000, Ivaylo Dimitrov wrote:
> On 14.02.2014 18:24, Will Deacon wrote:
> > You could try putting back the UNALIGNED_ACCESS in net/mac80211/rx.c and
> > commenting out the skb->len = desc->length  - PLCP_HEADER_LENGTH;  line
> > above.
> >
> 
> the following patch
> 
> diff --git a/drivers/net/wireless/ti/wl1251/rx.c 
> b/drivers/net/wireless/ti/wl1251/rx.c
> index 123c4bb..cde0eaf 100644
> --- a/drivers/net/wireless/ti/wl1251/rx.c
> +++ b/drivers/net/wireless/ti/wl1251/rx.c
> @@ -180,7 +180,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
>          wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
> 
>          /* The actual length doesn't include the target's alignment */
> -       skb->len = desc->length  - PLCP_HEADER_LENGTH;
> +       skb_trim(skb, desc->length - PLCP_HEADER_LENGTH);
> 
>          fc = (u16 *)skb->data;
> 
> seems to fix the issue, including those "corrupt probe response" 
> messages in dmesg log (I took that 'skb_trim' from the original Nokia 
> kernel). Will send a properly formatted patch shortly.

Good idea -- don't forget to CC linux-wireless, as suggested by Kalle.

Will

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

* [PATCH] wl1251: use skb_trim to make skb shorter
  2014-02-25 10:57             ` Will Deacon
@ 2014-03-01 12:52               ` Ivaylo Dimitrov
  2014-03-04 14:26                 ` Will Deacon
  0 siblings, 1 reply; 17+ messages in thread
From: Ivaylo Dimitrov @ 2014-03-01 12:52 UTC (permalink / raw)
  To: linville
  Cc: will.deacon, pali.rohar, pavel, linux-wireless, linux-kernel,
	Ivaylo Dimitrov

the current code is directly setting skb->len, which is not correct and
brings problems with HAVE_EFFICIENT_UNALIGNED_ACCESS enabled in config

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
---
 drivers/net/wireless/ti/wl1251/rx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c
index 123c4bb..cde0eaf 100644
--- a/drivers/net/wireless/ti/wl1251/rx.c
+++ b/drivers/net/wireless/ti/wl1251/rx.c
@@ -180,7 +180,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
 	wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
 
 	/* The actual length doesn't include the target's alignment */
-	skb->len = desc->length  - PLCP_HEADER_LENGTH;
+	skb_trim(skb, desc->length - PLCP_HEADER_LENGTH);
 
 	fc = (u16 *)skb->data;
 
-- 
1.7.9.5


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

* Re: [PATCH] wl1251: use skb_trim to make skb shorter
  2014-03-01 12:52               ` [PATCH] wl1251: use skb_trim to make skb shorter Ivaylo Dimitrov
@ 2014-03-04 14:26                 ` Will Deacon
  2014-03-04 18:33                   ` John W. Linville
  0 siblings, 1 reply; 17+ messages in thread
From: Will Deacon @ 2014-03-04 14:26 UTC (permalink / raw)
  To: Ivaylo Dimitrov; +Cc: linville, pali.rohar, pavel, linux-wireless, linux-kernel

Hi Jonn,

On Sat, Mar 01, 2014 at 12:52:06PM +0000, Ivaylo Dimitrov wrote:
> the current code is directly setting skb->len, which is not correct and
> brings problems with HAVE_EFFICIENT_UNALIGNED_ACCESS enabled in config
> 
> Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> ---

Can you pick this patch up please? It addresses a regression introduced in
the merge window (ARM started selecting HAVE_EFFICIENT_UNALIGNED_ACCESS).

Cheers,

Will

>  drivers/net/wireless/ti/wl1251/rx.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c
> index 123c4bb..cde0eaf 100644
> --- a/drivers/net/wireless/ti/wl1251/rx.c
> +++ b/drivers/net/wireless/ti/wl1251/rx.c
> @@ -180,7 +180,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
>  	wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
>  
>  	/* The actual length doesn't include the target's alignment */
> -	skb->len = desc->length  - PLCP_HEADER_LENGTH;
> +	skb_trim(skb, desc->length - PLCP_HEADER_LENGTH);
>  
>  	fc = (u16 *)skb->data;
>  
> -- 
> 1.7.9.5
> 
> 

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

* Re: [PATCH] wl1251: use skb_trim to make skb shorter
  2014-03-04 14:26                 ` Will Deacon
@ 2014-03-04 18:33                   ` John W. Linville
  2014-03-05 10:06                     ` Will Deacon
  0 siblings, 1 reply; 17+ messages in thread
From: John W. Linville @ 2014-03-04 18:33 UTC (permalink / raw)
  To: Will Deacon
  Cc: Ivaylo Dimitrov, pali.rohar, pavel, linux-wireless, linux-kernel

OK, I'll queue it as a fix...

On Tue, Mar 04, 2014 at 02:26:58PM +0000, Will Deacon wrote:
> Hi Jonn,
> 
> On Sat, Mar 01, 2014 at 12:52:06PM +0000, Ivaylo Dimitrov wrote:
> > the current code is directly setting skb->len, which is not correct and
> > brings problems with HAVE_EFFICIENT_UNALIGNED_ACCESS enabled in config
> > 
> > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> > ---
> 
> Can you pick this patch up please? It addresses a regression introduced in
> the merge window (ARM started selecting HAVE_EFFICIENT_UNALIGNED_ACCESS).
> 
> Cheers,
> 
> Will
> 
> >  drivers/net/wireless/ti/wl1251/rx.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c
> > index 123c4bb..cde0eaf 100644
> > --- a/drivers/net/wireless/ti/wl1251/rx.c
> > +++ b/drivers/net/wireless/ti/wl1251/rx.c
> > @@ -180,7 +180,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
> >  	wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
> >  
> >  	/* The actual length doesn't include the target's alignment */
> > -	skb->len = desc->length  - PLCP_HEADER_LENGTH;
> > +	skb_trim(skb, desc->length - PLCP_HEADER_LENGTH);
> >  
> >  	fc = (u16 *)skb->data;
> >  
> > -- 
> > 1.7.9.5
> > 
> > 
> 

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

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

* Re: [PATCH] wl1251: use skb_trim to make skb shorter
  2014-03-04 18:33                   ` John W. Linville
@ 2014-03-05 10:06                     ` Will Deacon
  0 siblings, 0 replies; 17+ messages in thread
From: Will Deacon @ 2014-03-05 10:06 UTC (permalink / raw)
  To: John W. Linville
  Cc: Ivaylo Dimitrov, pali.rohar, pavel, linux-wireless, linux-kernel

On Tue, Mar 04, 2014 at 06:33:48PM +0000, John W. Linville wrote:
> OK, I'll queue it as a fix...

Thanks, John.

Will


> On Tue, Mar 04, 2014 at 02:26:58PM +0000, Will Deacon wrote:
> > Hi Jonn,
> > 
> > On Sat, Mar 01, 2014 at 12:52:06PM +0000, Ivaylo Dimitrov wrote:
> > > the current code is directly setting skb->len, which is not correct and
> > > brings problems with HAVE_EFFICIENT_UNALIGNED_ACCESS enabled in config
> > > 
> > > Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
> > > ---
> > 
> > Can you pick this patch up please? It addresses a regression introduced in
> > the merge window (ARM started selecting HAVE_EFFICIENT_UNALIGNED_ACCESS).
> > 
> > Cheers,
> > 
> > Will
> > 
> > >  drivers/net/wireless/ti/wl1251/rx.c |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c
> > > index 123c4bb..cde0eaf 100644
> > > --- a/drivers/net/wireless/ti/wl1251/rx.c
> > > +++ b/drivers/net/wireless/ti/wl1251/rx.c
> > > @@ -180,7 +180,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
> > >  	wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
> > >  
> > >  	/* The actual length doesn't include the target's alignment */
> > > -	skb->len = desc->length  - PLCP_HEADER_LENGTH;
> > > +	skb_trim(skb, desc->length - PLCP_HEADER_LENGTH);
> > >  
> > >  	fc = (u16 *)skb->data;
> > >  
> > > -- 
> > > 1.7.9.5
> > > 
> > > 
> > 
> 
> -- 
> John W. Linville		Someday the world will need a hero, and you
> linville@tuxdriver.com			might be all we have.  Be ready.
> 

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

end of thread, other threads:[~2014-03-05 10:06 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-13 18:02 [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624 Ivaylo Dimitrov
2014-02-13 18:21 ` Will Deacon
2014-02-13 18:43   ` Ivaylo Dimitrov
2014-02-13 19:29     ` Will Deacon
2014-02-14 16:12       ` Ivaylo Dimitrov
2014-02-14 16:24         ` Will Deacon
2014-02-14 17:11           ` Ivaylo Dimitrov
2014-02-23 19:06             ` Ivaylo Dimitrov
2014-02-25 10:44               ` Pavel Machek
2014-02-25 10:55                 ` Will Deacon
2014-02-24 16:52           ` Kalle Valo
2014-02-25  7:56           ` Ivaylo Dimitrov
2014-02-25 10:57             ` Will Deacon
2014-03-01 12:52               ` [PATCH] wl1251: use skb_trim to make skb shorter Ivaylo Dimitrov
2014-03-04 14:26                 ` Will Deacon
2014-03-04 18:33                   ` John W. Linville
2014-03-05 10:06                     ` Will Deacon

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).