linux/drivers/net/ethernet/smsc
Pavel Fedin b43c142f22 net: smsc911x: Fix crash if loopback test fails
On certain hardware in certain situations loopback test fails and the
driver gets removed. During mdiobus_unregister() instance of PHY driver
gets disposed. But by this time it has already been started using
phy_connect_direct().

PHY driver uses DELAYED_WORK in order to maintain its state. Attempting
to dispose the driver without calling phy_disconnect() causes deallocation
of DELAYED_WORK being active. This shortly causes a bad crash in timer
code.

The problem can be discovered by enabling CONFIG_DEBUG_OBJECTS_TIMERS and
CONFIG_DEBUG_OBJECTS_FREE

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-11-01 12:05:24 -05:00
..
epic100.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
Kconfig drivers/net: remove all references to obsolete Ethernet-HOWTO 2015-06-23 06:50:35 -07:00
Makefile
smc91c92_cs.c net: smc91c92_cs: Use setup_timer and mod_timer 2015-03-01 13:40:22 -05:00
smc91x.c Revert "Revert "smc91x: retrieve IRQ and trigger flags in a modern way"" 2015-05-04 15:12:33 -04:00
smc91x.h net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
smc911x.c net: ethernet: smsc: drop owner assignment from platform_drivers 2014-10-20 16:21:12 +02:00
smc911x.h ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
smc9194.c smsc9194: Remove uncompilable #if 0'd use of pr_dbg 2015-08-27 13:56:05 -07:00
smc9194.h
smsc911x.c net: smsc911x: Fix crash if loopback test fails 2015-11-01 12:05:24 -05:00
smsc911x.h smsc: replace WARN_ON() with WARN_ON_SMP() 2014-08-11 14:38:29 -07:00
smsc9420.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
smsc9420.h ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00