> If it helps as reference, rt2x00 allocates and initializes the data as follows: > > skb_reserve(skb, NET_IP_ALIGN); > skb_put(skb, desc.size); /* Always a multiple of 4 bytes */ > memcpy(skb->data, entry->data_addr, desc.size); > > Should there have done more for the aligning of the data? Well, typically, an RX buffer is comprised of the following elements: * device-specific RX header [typically fixed length] (* sometimes padding) * 802.11 header (* sometimes padding) * 802.11 payload The problem is that the 802.11 header has variable length. I explained that previously, please see http://article.gmane.org/gmane.linux.network/78792 Maybe the reporter here has received WDS or QoS (but not combined) frames for some reason in which case the hardware has to insert padding somewhere to make it work. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part