linux/drivers/net/ethernet
Sergei Shtylyov 1e1b812bbe sh_eth: fix handling of no LINK signal
The code handling the absent LINK signal (or the absent PSR register -- which
reflects the state of this signal) is quite naive and has probably never really
worked.  It's probably enough to say that this code is executed only on the LINK
change interrupt (sic!) but even if we actually have the signal and choose to
ignore it (it might be connected to PHY's link/activity LED output as on the
Renesas BOCK-W board), sh_eth_adjust_link() on which this code relies to update
'mdp->link' gets executed later than the LINK change interrupt where it is
checked, and so RX/TX never get enabled via ECMR register.

So, ignore the LINK changed interrupt iff LINK signal is absent (or just chosen
not to be used) or PSR register is absent, and enable/disable RX/TX directly in
sh_eth_adjust_link() in this case.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-03-31 19:42:33 -04:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-01-29 15:32:13 -05:00
8390 Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
adaptec drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
adi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-01-15 15:05:59 -05:00
aeroflex net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
alteon drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
amd drivers: net: Remove remaining alloc/OOM messages 2013-02-08 17:44:39 -05:00
apple net/apple: remove __dev* attributes 2012-12-03 11:16:54 -08:00
atheros atl1e: drop pci-msi support because of packet corruption 2013-03-29 15:35:16 -04:00
broadcom tg3: fix length overflow in VPD firmware parsing 2013-03-27 14:06:41 -04:00
brocade bna: Driver Version Updated to 3.1.2.1 2012-12-11 18:25:53 -05:00
cadence Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2013-02-21 17:54:03 -08:00
calxeda net: calxedaxgmac: Wake-on-LAN fixes 2013-03-29 15:29:35 -04:00
chelsio cxgb4: Allow for backward compatibility with new VPD scheme. 2013-03-12 05:33:12 -04:00
cirrus ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
cisco enic: change sprintf() to snprintf() 2013-01-18 14:34:48 -05:00
davicom ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
dec ethernet/tulip: DE4x5 needs VIRT_TO_BUS 2013-03-17 12:01:10 -04:00
dlink drivers/net: delete old parallel port de600/de620 drivers 2013-01-22 10:39:49 -05:00
emulex be2net: use CSR-BAR SEMAPHORE reg for BE2/BE3 2013-03-06 14:57:17 -05:00
faraday net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
freescale enet: fec: fix fail resume from suspend state 2013-03-27 14:06:40 -04:00
fujitsu Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
hp drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
i825xx Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
ibm net: ehea module param description fix 2013-02-18 12:26:36 -05:00
icplus drivers/net/ethernet/icplus: remove depends on CONFIG_EXPERIMENTAL 2013-01-22 12:01:33 -08:00
intel e1000e: Add missing dma_mapping_error-call in e1000_alloc_jumbo_rx_buffers 2013-03-27 03:26:27 -07:00
marvell sky2: Threshold for Pause Packet is set wrong 2013-03-29 14:53:19 -04:00
mellanox net/mlx4_core: Disallow releasing VF QPs which have steering rules 2013-03-21 12:05:08 -04:00
micrel ks8851: Fix interpretation of rxlen field. 2013-03-29 15:43:08 -04:00
microchip Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
myricom ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
natsemi Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
neterion remove init of dev->perm_addr in drivers 2013-01-08 18:00:48 -08:00
nuvoton ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
nvidia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-01-15 15:05:59 -05:00
nxp lpc_eth: fix error return code in lpc_eth_drv_probe() 2013-03-20 12:19:15 -04:00
octeon ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
oki-semi pch_gbe: fix ip_summed checksum reporting on rx 2013-03-26 12:20:29 -04:00
packetengines Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
pasemi net/pasemi: Fix missing coding style 2013-02-24 21:22:47 -05:00
qlogic hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
rdc ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
realtek r8169: honor jumbo settings when chipset is requested to start. 2013-02-28 15:37:29 -05:00
renesas sh_eth: fix handling of no LINK signal 2013-03-31 19:42:33 -04:00
seeq Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sfc sfc: Only use TX push if a single descriptor is to be written 2013-03-12 17:07:56 +00:00
sgi ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
silan Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sis remove init of dev->perm_addr in drivers 2013-01-08 18:00:48 -08:00
smsc drivers: net: Remove remaining alloc/OOM messages 2013-02-08 17:44:39 -05:00
stmicro Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sun hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
tehuti ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
ti drivers: net: ethernet: davinci_emac: use netif_wake_queue() while restarting tx queue 2013-03-27 14:06:40 -04:00
tile net: remove unnecessary NET_ADDR_RANDOM "bitclean" 2013-01-03 22:37:36 -08:00
toshiba net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
tundra
via Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-02-05 14:12:20 -05:00
wiznet net: remove unnecessary NET_ADDR_RANDOM "bitclean" 2013-01-03 22:37:36 -08:00
xilinx ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
xircom ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
xscale net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.h
ethoc.c ethoc: Cleanup driver format 2013-01-29 14:07:05 -05:00
fealnx.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
jme.c jme: remove __dev* attributes 2012-12-03 11:16:54 -08:00
jme.h
Kconfig drivers/net: delete old 8 bit ISA Racal ni5010 support. 2013-01-22 10:39:52 -05:00
korina.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
lantiq_etop.c lantiq_etop: use free_netdev(netdev) instead of kfree() 2013-03-21 11:50:10 -04:00
Makefile drivers/net: delete old 8 bit ISA Racal ni5010 support. 2013-01-22 10:39:52 -05:00
netx-eth.c
s6gmac.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00