linux/drivers/net/sfc
Steve Hodgson 5e2a911cec sfc: Fix SFE4002 initialisation
From: Steve Hodgson <shodgson@solarflare.com>

Commit 357d46a17e "sfc: QT202x: Remove
unreliable MMD check at initialisation" broke initialisation of the
SFE4002.  efx_mdio_reset_mmd() returns a positive value rather than 0
on success.  The above commit causes this value to be propagated up
by qt202x_reset_phy(), which is treated as a failure by its callers.
Change qt202x_reset_phy() to return 0 if successful.

The PCI layer treats >0 as "fail, but please call remove() anyway",
which means that unloading the driver would cause a crash.  Add a
WARN_ON() on the failure path of efx_pci_probe() to provide early
warning if there are any other cases where we do this.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-12 12:32:27 -08:00
..
bitfield.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
efx.c sfc: Fix SFE4002 initialisation 2010-02-12 12:32:27 -08:00
efx.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
enum.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
ethtool.c sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
falcon_boards.c sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
falcon_gmac.c sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
falcon_xmac.c sfc: Include XGXS in XMAC link status check except in XGMII loopback 2009-12-23 19:09:05 -08:00
falcon.c sfc: Move PHY software state initialisation from init() into probe() 2009-12-23 19:09:04 -08:00
io.h sfc: Rename register I/O header and functions used by both Falcon and Siena 2009-10-24 04:27:04 -07:00
Kconfig sfc: Add support for SFC9000 family (2) 2009-11-29 17:23:57 -08:00
mac.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
Makefile sfc: Add support for SFC9000 family (2) 2009-11-29 17:23:57 -08:00
mcdi_mac.c sfc: Add support for SFC9000 family (1) 2009-11-29 17:23:56 -08:00
mcdi_pcol.h sfc: Add workspace for GMAC bug workaround to MCDI MAC_STATS buffer 2010-01-25 15:49:19 -08:00
mcdi_phy.c sfc: Move PHY software state initialisation from init() into probe() 2009-12-23 19:09:04 -08:00
mcdi.c sfc: Use fixed-size buffers for MCDI NVRAM requests 2010-01-25 15:49:59 -08:00
mcdi.h sfc: Use fixed-size buffers for MCDI NVRAM requests 2010-01-25 15:49:59 -08:00
mdio_10g.c sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
mdio_10g.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
mtd.c sfc: Use fixed-size buffers for MCDI NVRAM requests 2010-01-25 15:49:59 -08:00
net_driver.h sfc: Move PHY software state initialisation from init() into probe() 2009-12-23 19:09:04 -08:00
nic.c sfc: Disable TX descriptor prefetch watchdog 2009-12-23 19:09:08 -08:00
nic.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
phy.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
qt202x_phy.c sfc: Fix SFE4002 initialisation 2010-02-12 12:32:27 -08:00
regs.h sfc: Remove duplicate hardware structure definitions 2009-11-29 16:46:26 -08:00
rx.c sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
selftest.c sfc: Fix conditions for MDIO self-test 2010-01-13 17:12:47 -08:00
selftest.h sfc: Use generic MDIO functions and definitions 2009-04-29 17:32:30 -07:00
siena.c sfc: Move PHY software state initialisation from init() into probe() 2009-12-23 19:09:04 -08:00
spi.h sfc: Extend MTD driver for use with new NICs 2009-11-29 17:23:54 -08:00
tenxpress.c sfc: Move PHY software state initialisation from init() into probe() 2009-12-23 19:09:04 -08:00
tx.c sfc: Fix DMA mapping cleanup in case of an error in TSO 2009-12-23 19:09:05 -08:00
workarounds.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00