diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-06-29 21:54:16 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-06-29 21:54:16 +0000 |
commit | 3455f00d7a30609a8ee6c594a35a18b9c455e6b1 (patch) | |
tree | 649067837a6112b2e8edbea15b5929373d3cd021 /target/linux/generic-2.6 | |
parent | 6517a757ec711fc3354b857e273e2621042f3c7a (diff) | |
download | upstream-3455f00d7a30609a8ee6c594a35a18b9c455e6b1.tar.gz upstream-3455f00d7a30609a8ee6c594a35a18b9c455e6b1.tar.bz2 upstream-3455f00d7a30609a8ee6c594a35a18b9c455e6b1.zip |
ar8216: fix transmission of large frames by setting the switch mtu
SVN-Revision: 16629
Diffstat (limited to 'target/linux/generic-2.6')
-rw-r--r-- | target/linux/generic-2.6/files/drivers/net/phy/ar8216.c | 4 | ||||
-rw-r--r-- | target/linux/generic-2.6/files/drivers/net/phy/ar8216.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/files/drivers/net/phy/ar8216.c b/target/linux/generic-2.6/files/drivers/net/phy/ar8216.c index f629058ae0..4354be9b0c 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic-2.6/files/drivers/net/phy/ar8216.c @@ -488,6 +488,10 @@ ar8216_reset_switch(struct switch_dev *dev) } /* XXX: undocumented magic from atheros, required! */ priv->write(priv, 0x38, 0xc000050e); + + ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, + AR8216_GCTRL_MTU, 1518 + 8 + 2); + return ar8216_hw_apply(dev); } diff --git a/target/linux/generic-2.6/files/drivers/net/phy/ar8216.h b/target/linux/generic-2.6/files/drivers/net/phy/ar8216.h index e0f0452cb8..b8a4f23d45 100644 --- a/target/linux/generic-2.6/files/drivers/net/phy/ar8216.h +++ b/target/linux/generic-2.6/files/drivers/net/phy/ar8216.h @@ -26,6 +26,9 @@ #define AR8216_REG_CTRL 0x0000 #define AR8216_CTRL_RESET BIT(31) +#define AR8216_REG_GLOBAL_CTRL 0x0030 +#define AR8216_GCTRL_MTU BITS(0, 10) + #define AR8216_REG_VTU 0x0040 #define AR8216_VTU_OP BITS(0, 3) #define AR8216_VTU_OP_NOOP 0x0 |