linux/drivers/net/ethernet/broadcom
Florian Fainelli 4a804c0163 net: systemport: update UMAC_CMD only when link is detected
When we bring the interface down, phy_stop() will schedule the PHY
state machine to call our link adjustment callback. By the time we do so,
we may have clock gated off the SYSTEMPORT hardware block, and this will
cause bus errors to happen in bcm_sysport_adj_link():

Make sure that we only touch the UMAC_CMD register when there is an
actual link. This is safe to do for two reasons:

- updating the Ethernet MAC registers only make sense when a physical
  link is present
- the PHY library state machine first set phydev->link = 0 before
  invoking phydev->adjust_link in the PHY_HALTED case

This is a similar fix to the GENET one:
c677ba8b3c ("net: bcmgenet: update
UMAC_CMD only when link is detected").

Fixes: 80105befdb ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-04 23:13:58 -07:00
..
bnx2x bnx2x: fix tunneled GSO over IPv6 2014-09-01 17:53:57 -07:00
genet net: bcmgenet: correctly resume adapter from Wake-on-LAN 2014-08-11 15:10:11 -07:00
b44.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
b44.h b44: use fixed PHY device if we do not find any 2013-12-20 20:48:49 -05:00
bcm63xx_enet.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
bcm63xx_enet.h
bcmsysport.c net: systemport: update UMAC_CMD only when link is detected 2014-09-04 23:13:58 -07:00
bcmsysport.h net: systemport: add Wake-on-LAN support 2014-07-07 20:56:47 -07:00
bgmac.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
bgmac.h bgmac: add support for Northstar SoC (BCM4707, BCM53018) 2014-01-04 20:25:20 -05:00
bnx2_fw.h bnx2: Rebranding bnx2 driver. 2014-06-25 16:27:27 -07:00
bnx2.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
bnx2.h bnx2: Rebranding bnx2 driver. 2014-06-25 16:27:27 -07:00
cnic_defs.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_if.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic.c cnic: Replace rcu_dereference() with rcu_access_pointer() 2014-08-22 12:23:10 -07:00
cnic.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
Kconfig net: bnx2x: fix build error with ptp 2014-08-25 17:37:10 -07:00
Makefile net: systemport: hook SYSTEMPORT driver in the build 2014-04-26 12:57:40 -04:00
sb1250-mac.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
tg3.c PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
tg3.h tg3: Update copyright and version to 3.137 2014-05-13 18:38:51 -04:00