linux/drivers/net/ethernet
Florian Fainelli c51e424dc7 net: stmmac: Fix lack of link transition for fixed PHYs
Commit 52f95bbfcf ("stmmac: fix adjust link call in case of a switch
is attached") added some logic to avoid polling the fixed PHY and
therefore invoking the adjust_link callback more than once, since this
is a fixed PHY and link events won't be generated.

This works fine the first time, because we start with phydev->irq =
PHY_POLL, so we call adjust_link, then we set phydev->irq =
PHY_IGNORE_INTERRUPT and we stop polling the PHY.

Now, if we called ndo_close(), which calls both phy_stop() and does an
explicit netif_carrier_off(), we end up with a link down. Upon calling
ndo_open() again, despite starting the PHY state machine, we have
PHY_IGNORE_INTERRUPT set, and we generate no link event at all, so the
link is permanently down.

Fixes: 52f95bbfcf ("stmmac: fix adjust link call in case of a switch is attached")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-14 16:39:15 -05:00
..
3com 3c59x: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:57 -07:00
8390
adaptec starfire: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:57 -07:00
adi net: bfin_mac: Fix a few spelling fixes 2016-08-13 15:14:56 -07:00
aeroflex net: ethernet: greth: use phy_ethtool_{get|set}_link_ksettings 2016-08-08 15:42:21 -07:00
agere net: ethernet: et131x: constify ethtool_ops structures 2016-08-31 09:22:30 -07:00
allwinner
alteon
altera ethernet: altera: add missing of_node_put 2016-08-01 21:42:57 -07:00
amazon net: ena: change the return type of ena_set_push_mode() to be void. 2016-08-23 17:42:33 -07:00
amd ethernet: amd: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
apm drivers: net: xgene: fix: Coalescing values for v2 hardware 2016-11-01 12:04:52 -04:00
apple
arc net: arc_emac: mark arc_mdio_reset() static 2016-09-06 15:58:59 -07:00
atheros alx: fix error handling in __alx_open 2016-09-15 20:15:26 -04:00
aurora net: ethernet: nb8800: Fix module autoload 2016-10-17 13:03:02 -04:00
broadcom bnx2: Wait for in-flight DMA to complete at probe stage 2016-11-14 16:20:53 -05:00
brocade bna: Add synchronization for tx ring. 2016-11-09 13:31:10 -05:00
cadence net: macb: NULL out phydev after removing mdio bus 2016-10-07 23:55:59 -04:00
calxeda
cavium liquidio: CN23XX: fix a loop timeout 2016-10-13 12:12:50 -04:00
chelsio cxgb4: correct device ID of T6 adapter 2016-11-03 15:19:16 -04:00
cirrus
cisco enic: fix rq disable 2016-10-29 17:23:39 -04:00
davicom dm9000: Fix irq trigger type setup on non-dt platforms 2016-08-09 15:08:22 -07:00
dec net: fix up a few missing hashtable.h conflict resolutions 2016-08-13 14:51:02 -07:00
dlink sundance: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
emulex be2net: Enable VF link state setting for BE3 2016-10-09 09:30:39 -04:00
ezchip net: nps_enet: Fix module autoload 2016-10-17 13:03:02 -04:00
faraday net/faraday: Stop NCSI device on shutdown 2016-10-04 02:11:51 -04:00
freescale net: fec: Call swap_buffer() prior to IP header alignment 2016-10-23 17:41:41 -04:00
fujitsu
hisilicon net: hns: fix device reference leaks 2016-11-07 13:17:30 -05:00
hp
i825xx i825xx: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:58 -07:00
ibm ibmvnic: Fix size of debugfs name buffer 2016-11-13 13:42:35 -05:00
intel i40e: fix call of ndo_dflt_bridge_getlink() 2016-10-27 14:12:52 -07:00
marvell net: mv643xx_eth: ensure coalesce settings survive read-modify-write 2016-11-01 12:17:16 -04:00
mediatek net: ethernet: mediatek: get hw lro capability by the chip id instead of by the dtsi 2016-10-06 21:08:08 -04:00
mellanox mlxsw: spectrum_router: Correctly dump neighbour activity 2016-11-13 12:51:00 -05:00
micrel
microchip kthread: kthread worker API cleanup 2016-10-11 15:06:33 -07:00
moxa
myricom
natsemi natsemi: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
neterion
netronome nfp: bpf: zero extend 4 byte context loads 2016-09-30 02:10:15 -04:00
nuvoton net: ethernet: nuvoton: fix spelling mistake: "aligment" -> "alignment" 2016-08-18 23:29:43 -07:00
nvidia
nxp net: lpc_eth: Check clk_prepare_enable() error 2016-08-23 17:10:16 -07:00
oki-semi
packetengines
pasemi
qlogic qed: Correct rdma params configuration 2016-11-10 12:55:20 -05:00
qualcomm net: qcom/emac: enable flow control if requested 2016-11-09 18:45:24 -05:00
rdc net: r6040: add in missing white space in error message text 2016-09-18 22:22:16 -04:00
realtek r8169: set coherent DMA mask as well as streaming DMA mask 2016-10-15 17:29:38 -04:00
renesas sh_eth: add R8A7743/5 support 2016-09-28 05:01:50 -04:00
rocker rocker: fix error return code in rocker_world_check_init() 2016-10-26 17:20:36 -04:00
samsung
seeq
sfc sfc: clear napi_hash state when copying channels 2016-11-13 13:41:42 -05:00
sgi
silan
sis sis900: use IS_ENABLED() instead of checking for built-in or module 2016-09-12 20:27:59 -07:00
smsc net: smc91x: take into account register shift 2016-09-25 23:45:32 -04:00
stmicro net: stmmac: Fix lack of link transition for fixed PHYs 2016-11-14 16:39:15 -05:00
sun treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
synopsys dwc_eth_qos: enable flow control by default 2016-10-18 10:29:17 -04:00
tehuti net: tehuti: fix typo: "eneble" -> "enable" 2016-08-21 15:21:36 -07:00
ti net: ethernet: ti: davinci_emac: fix device reference leak 2016-11-07 13:17:30 -05:00
tile
toshiba ps3_gelic: fix spelling mistake in debug message 2016-11-14 13:38:57 -05:00
tundra net/ethernet: tundra: fix dump_eth_one warning in tsi108_eth 2016-08-08 13:08:21 -07:00
via via-velocity: remove null pointer check on array tdinfo->skb_dma 2016-09-09 18:17:33 -07:00
wiznet treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
xilinx net: axienet: Remove unused parameter from __axienet_device_reset 2016-10-13 12:15:28 -04:00
xircom
xscale net: ethernet: ixp4xx_eth: fix spelling mistake in debug message 2016-11-13 13:48:28 -05:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
korina.c
lantiq_etop.c
Makefile net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
netx-eth.c