linux/drivers/net/ethernet
Enric Balletbo i Serra ccf899a27c smsc911x: power-up phydev before doing a software reset.
With commit be9dad1f9f ("net: phy: suspend phydev when going
to HALTED"), the PHY device will be put in a low-power mode using
BMCR_PDOWN if the the interface is set down. The smsc911x driver does
a software_reset opening the device driver (ndo_open). In such case,
the PHY must be powered-up before access to any register and before
calling the software_reset function. Otherwise, as the PHY is powered
down the software reset fails and the interface can not be enabled
again.

This patch fixes this scenario that is easy to reproduce setting down
the network interface and setting up again.

    $ ifconfig eth0 down
    $ ifconfig eth0 up
    ifconfig: SIOCSIFFLAGS: Input/output error

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-13 15:09:28 -05:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-10-08 16:22:22 -04:00
8390
adaptec
adi net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
aeroflex greth: moved TX ring cleaning to NAPI rx poll func 2014-09-05 21:57:09 -07:00
agere et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
allwinner net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
alteon
altera Altera TSE: Add support for no PHY 2014-10-05 21:39:40 -04:00
amd amd-xgbe: Fix napi Rx budget accounting 2014-10-22 17:50:31 -04:00
apm drivers: net: xgene: fix: Use separate resources 2014-11-04 17:08:42 -05:00
apple
arc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-09-23 12:09:27 -04:00
atheros
broadcom net: bcmgenet: apply MII configuration in bcmgenet_open() 2014-11-11 18:23:23 -05:00
brocade bna: fix skb->truesize underestimation 2014-10-17 23:56:33 -04:00
cadence net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
calxeda net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
chelsio cxgb4 : dcb open-lldp interop fixes 2014-11-12 15:00:07 -05:00
cirrus
cisco enic: update desc properly in rx_copybreak 2014-11-06 16:42:04 -05:00
davicom net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
dec tulip: dmfe: Fix global namespace pollution of phy accessors. 2014-08-27 18:25:40 -07:00
dlink
emulex be2net: fix alignment on line wrap 2014-09-22 15:01:09 -04:00
faraday
freescale net: fec: fix regression on i.MX28 introduced by rx_copybreak support 2014-11-07 12:08:58 -05:00
fujitsu
hisilicon
hp hp100: Convert the normal skb free path to dev_consume_skb_any() 2014-09-08 15:39:58 -07:00
i825xx
ibm ehea: Fix TSO and hw checksums with non-accelerated vlan packets. 2014-08-25 17:27:09 -07:00
icplus
intel ixgbe: phy: fix uninitialized status in ixgbe_setup_phy_link_tnx 2014-11-11 16:31:54 -05:00
marvell net: mv643xx_eth: reclaim TX skbs only when released by the HW 2014-11-06 14:54:39 -05:00
mellanox net/mlx4_en: Advertize encapsulation offloads features only when VXLAN tunnel is set 2014-11-11 13:24:45 -05:00
micrel net: ks8842: use dmaengine_terminate_all() API 2014-10-15 21:31:00 +05:30
microchip
moxa net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
myricom
natsemi
neterion net: ethernet: neterion: vxge: vxge-main.c: Cleaning up missing null-terminate in conjunction with strncpy 2014-09-15 14:17:00 -04:00
nuvoton net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
nvidia ethernet: nvidia: Remove extra parens 2014-09-02 13:47:25 -07:00
nxp net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
octeon drivers: net: ethernet: octeon_mgmt: fix a compiler warning 2014-09-08 14:23:46 -07:00
oki-semi pch_gbe: 'select' NET_PTP_CLASSIFY. 2014-09-22 13:25:51 -04:00
packetengines drivers/net: Convert remaining uses of pr_warning to pr_warn 2014-09-09 20:37:08 -07:00
pasemi
qlogic netxen: Fix link event handling. 2014-11-06 16:43:29 -05:00
qualcomm net: qualcomm: Fix dependency 2014-11-11 18:12:32 -05:00
rdc
realtek r8169:add support for RTL8168EP 2014-10-08 15:58:45 -04:00
renesas net: sh_eth: fix driver dependencies 2014-09-02 13:23:25 -07:00
samsung
seeq
sfc sfc: don't BUG_ON efx->max_channels == 0 in probe 2014-11-03 15:57:50 -05:00
sgi
silan
sis
smsc smsc911x: power-up phydev before doing a software reset. 2014-11-13 15:09:28 -05:00
stmicro stmmac: fix atomicity in pm routines 2014-11-05 16:22:57 -05:00
sun sunhme: Add DMA mapping error checks. 2014-11-01 00:23:46 -04:00
tehuti
ti net: ptp: fix time stamp matching logic for VLAN packets. 2014-11-12 15:06:17 -05:00
tile Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
toshiba net: spider_net: avoid using signed char for bitops 2014-10-05 21:15:16 -04:00
tundra
via Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-10-07 21:16:26 -04:00
wiznet net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
xilinx drivers: net: ethernet: xilinx: xilinx_emaclite: revert the original commit "1db3ddff1602edf2390b7667dcbaa0f71512e3ea" 2014-11-05 16:00:51 -05:00
xircom
xscale
Kconfig et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
Makefile et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
fealnx.c
jme.c
jme.h
korina.c
lantiq_etop.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
netx-eth.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
s6gmac.c