Ian,
Most of the skb assignments in r8712u are aligned OK and most aligned on
512-byte boundaries, but there was one that had the minimal offset of 14 bytes.
The attached patch should fix it. Does it help?
Larry
Index: wireless-testing-new/drivers/staging/rtl8712/rtl8712_recv.c
===================================================================
--- wireless-testing-new.orig/drivers/staging/rtl8712/rtl8712_recv.c
+++ wireless-testing-new/drivers/staging/rtl8712/rtl8712_recv.c
@@ -372,8 +372,8 @@ static int amsdu_to_msdu(struct _adapter
pdata += ETH_HLEN;
a_len -= ETH_HLEN;
/* Allocate new skb for releasing to upper layer */
- sub_skb = dev_alloc_skb(nSubframe_Length + 12);
- skb_reserve(sub_skb, 12);
+ sub_skb = dev_alloc_skb(nSubframe_Length + 16);
+ skb_reserve(sub_skb, 16);
data_ptr = (u8 *)skb_put(sub_skb, nSubframe_Length);
memcpy(data_ptr, pdata, nSubframe_Length);
subframes[nr_subframes++] = sub_skb;