1
0
Fork 0
alistair23-linux/drivers/net/ethernet
Thomas Petazzoni 4d12bc63ab net: mvneta: fix operation in 10 Mbit/s mode
As reported by Maggie Mae Roxas, the mvneta driver doesn't behave
properly in 10 Mbit/s mode. This is due to a misconfiguration of the
MVNETA_GMAC_AUTONEG_CONFIG register: bit MVNETA_GMAC_CONFIG_MII_SPEED
must be set for a 100 Mbit/s speed, but cleared for a 10 Mbit/s speed,
which the driver was not properly doing. This commit adjusts that by
setting the MVNETA_GMAC_CONFIG_MII_SPEED bit only in 100 Mbit/s mode,
and relying on the fact that all the speed related bits of this
register are cleared at the beginning of the mvneta_adjust_link()
function.

This problem exists since c5aff18204 ("net: mvneta: driver for
Marvell Armada 370/XP network unit") which is the commit that
introduced the mvneta driver in the kernel.

Cc: <stable@vger.kernel.org> # v3.8+
Fixes: c5aff18204 ("net: mvneta: driver for Marvell Armada 370/XP network unit")
Reported-by: Maggie Mae Roxas <maggie.mae.roxas@gmail.com>
Cc: Maggie Mae Roxas <maggie.mae.roxas@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-07-08 20:01:34 -07:00
..
3com net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
8390 net: 8390: use time_after() for time comparison 2014-05-18 21:24:52 -04:00
adaptec net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
adi bfin_mac: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
aeroflex net: greth: remove empty MDIO bus reset function 2014-03-28 01:38:01 -04:00
allwinner net: allwinner: emac: Add missing free_irq 2014-06-25 16:31:17 -07:00
alteon net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-05-24 00:32:30 -04:00
amd amd-xgbe: unwind on error in xgbe_mdio_register() 2014-06-11 15:39:19 -07:00
apple macmace: add missing platform_set_drvdata() in mace_probe() 2013-11-11 14:02:08 -05:00
arc arc_emac: add netpoll support 2014-05-13 18:02:24 -04:00
atheros net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
broadcom net: bcmgenet: do not set packet length for RX buffers 2014-07-01 17:25:03 -07:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
cadence net: macb: Fix race between HW and driver 2014-05-05 17:11:18 -04:00
calxeda net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
chelsio cxgb4: use dev_port to identify ports 2014-06-25 16:01:54 -07:00
cirrus cs89x0: Call dev_consume_skb_any instead of dev_kfree_skb. 2014-03-24 21:18:58 -07:00
cisco net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
davicom dm9000: avoid sleeping in dm9000_timeout callback 2014-06-05 15:12:11 -07:00
dec tulip: Poll link status more frequently for Comet chips 2014-06-22 17:12:36 -07:00
dlink net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
emulex be2net: fix qnq mode detection on VFs 2014-06-23 14:46:54 -07:00
faraday net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
freescale powerpc/ucc_geth: deal with a compile warning 2014-07-07 19:48:19 -07:00
fujitsu net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
hisilicon net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
hp hp100: replace hardcoded name in /proc/interrupts with interface name 2013-09-27 17:38:32 -04:00
i825xx i825xx: Call dev_kfree_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:02 -07:00
ibm net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
icplus net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
intel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
marvell net: mvneta: fix operation in 10 Mbit/s mode 2014-07-08 20:01:34 -07:00
mellanox net/mlx4_en: Ignore budget on TX napi polling 2014-07-08 20:00:49 -07:00
micrel net: ks8851: Don't use regulator_get_optional() 2014-06-02 00:13:51 -07:00
microchip net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
moxa drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
myricom net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
natsemi net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
neterion net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nuvoton
nvidia net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nxp lpc_eth: Use resource_size instead of computation 2014-06-03 16:08:52 -07:00
octeon Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
oki-semi net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
packetengines net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
pasemi drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
qlogic qlcnic: Update version to 5.3.60 2014-06-11 15:44:29 -07:00
rdc r6040: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
realtek net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
renesas net: sh_eth: Fix timing of RACT setting in sh_eth_rx() 2014-06-11 15:15:31 -07:00
samsung net: sxgbe: remove duplicate SXGBE_CORE_L34_ADDCTL_REG define 2014-06-11 15:01:30 -07:00
seeq drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-11 16:02:55 -07:00
sgi drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
silan sc92031: Call dev_consume_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:08 -07:00
sis net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
stmicro Revert "net: stmmac: add platform init/exit for Altera's ARM socfpga" 2014-07-07 19:53:45 -07:00
sun net: cassini: use nested lock annotation 2014-05-09 16:34:10 -04:00
tehuti net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ti drivers: net: cpsw: fix dual EMAC stall when connected to same switch 2014-06-21 17:17:39 -07:00
tile net: tile: fix unused variable warning 2014-06-16 21:33:50 -07:00
toshiba net: ethernet: toshiba: ps3_gelic_net.c: Cleaning up a check on a memory allocation 2014-06-11 00:13:16 -07:00
tundra drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
via via-rhine: fix full-duplex with autoneg disable 2014-06-12 10:31:10 -07:00
wiznet net: w5100: Use devm_ioremap_resource() 2014-02-28 16:57:24 -05:00
xilinx xilinx: Use time_before_eq() 2014-05-22 15:50:13 -04:00
xircom ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
xscale net: ptp: move PTP classifier in its own file 2014-04-01 16:43:18 -04:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
Makefile net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
dnet.c dnet: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
dnet.h
ec_bhf.c driver/net/ethernet/ec_bhf.c: fix sparse warnings 2014-05-14 16:09:33 -04:00
ethoc.c net: ethoc: remove ethoc_config 2014-04-21 14:58:48 -04:00
fealnx.c net: fealnx: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
jme.c jme: Fix unmap loop counting error: 2014-05-14 15:11:22 -04:00
jme.h jme: Remove unused #define PFX 2013-11-07 02:14:32 -05:00
korina.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
lantiq_etop.c netdevice: add queue selection fallback handler for ndo_select_queue 2014-02-17 00:36:34 -05:00
netx-eth.c ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
s6gmac.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00