[BISECTED] ssh - Received disconnect from x.x.x.x: 2: Bad packet length 3149594624
Kalle Valo
kvalo at qca.qualcomm.com
Mon Feb 24 11:52:53 EST 2014
Will Deacon <will.deacon at 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
More information about the linux-arm-kernel
mailing list