diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-04-15 23:31:17 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2010-04-15 23:31:17 +0000 |
commit | 1c0e751391c4e92c0f934eb065ea013c91f34fbf (patch) | |
tree | cb0219cd905bfdf40631f56b46313cc848cacf85 /target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c | |
parent | 598e0656c5f35b4b39f61d72e7bd5ec5e713245a (diff) | |
download | master-31e0f0ae-1c0e751391c4e92c0f934eb065ea013c91f34fbf.tar.gz master-31e0f0ae-1c0e751391c4e92c0f934eb065ea013c91f34fbf.tar.bz2 master-31e0f0ae-1c0e751391c4e92c0f934eb065ea013c91f34fbf.zip |
ar71xx: fix up alignment handling
- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary
tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers
SVN-Revision: 20892
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c')
-rw-r--r-- | target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c index 7801b9f0ed..7ec43b7221 100644 --- a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c +++ b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c @@ -39,7 +39,6 @@ int ag71xx_remove_ar8216_header(struct ag71xx *ag, struct sk_buff *skb, return -EINVAL; } - skb_put(skb, pktlen); skb_pull(skb, AR8216_HEADER_LEN); return 0; } |