Subject: [BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624

From: [email-masked] (Ivaylo Dimitrov)
Date: Tue, 25 Feb 2014 09:56:11 +0200

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