linux/drivers/net/ethernet/ti
Mugunthan V N 4484d0524e drivers: net: cpsw: remove cpsw_ale_stop from cpsw_ale_destroy
when cpsw is build as modulea and simple insert and removal of module
creates a deadlock, due to delete timer. the timer is created and destroyed
in cpsw_ale_start and cpsw_ale_stop which are from device open and close.

root@am437x-evm:~# modprobe -r ti_cpsw
[  158.505333] INFO: trying to register non-static key.
[  158.510623] the code is fine but needs lockdep annotation.
[  158.516448] turning off the locking correctness validator.
[  158.522282] CPU: 0 PID: 1339 Comm: modprobe Not tainted 3.14.23-00445-gd41c88f #44
[  158.530359] [<c0015380>] (unwind_backtrace) from [<c0012088>] (show_stack+0x10/0x14)
[  158.538603] [<c0012088>] (show_stack) from [<c054ad70>] (dump_stack+0x78/0x94)
[  158.546295] [<c054ad70>] (dump_stack) from [<c0088008>] (__lock_acquire+0x176c/0x1b74)
[  158.554711] [<c0088008>] (__lock_acquire) from [<c0088944>] (lock_acquire+0x9c/0x104)
[  158.563043] [<c0088944>] (lock_acquire) from [<c004e520>] (del_timer_sync+0x44/0xd8)
[  158.571289] [<c004e520>] (del_timer_sync) from [<bf2eac1c>] (cpsw_ale_destroy+0x10/0x3c [ti_cpsw])
[  158.580821] [<bf2eac1c>] (cpsw_ale_destroy [ti_cpsw]) from [<bf2eb268>] (cpsw_remove+0x30/0xa0 [ti_cpsw])
[  158.591000] [<bf2eb268>] (cpsw_remove [ti_cpsw]) from [<c035ef44>] (platform_drv_remove+0x18/0x1c)
[  158.600527] [<c035ef44>] (platform_drv_remove) from [<c035d8bc>] (__device_release_driver+0x70/0xc8)
[  158.610236] [<c035d8bc>] (__device_release_driver) from [<c035e0d4>] (driver_detach+0xb4/0xb8)
[  158.619386] [<c035e0d4>] (driver_detach) from [<c035d6e4>] (bus_remove_driver+0x4c/0x90)
[  158.627988] [<c035d6e4>] (bus_remove_driver) from [<c00af2a8>] (SyS_delete_module+0x10c/0x198)
[  158.637144] [<c00af2a8>] (SyS_delete_module) from [<c000e580>] (ret_fast_syscall+0x0/0x48)
[  179.524727] INFO: rcu_sched detected stalls on CPUs/tasks: {} (detected by 0, t=2102 jiffies, g=1487, c=1486, q=6)
[  179.535741] INFO: Stall ended before state dump start

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-06 14:58:04 -05:00
..
cpmac.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
cpsw_ale.c drivers: net: cpsw: remove cpsw_ale_stop from cpsw_ale_destroy 2014-11-06 14:58:04 -05:00
cpsw_ale.h drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode 2014-10-31 16:17:56 -04:00
cpsw-phy-sel.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
cpsw.c drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode 2014-10-31 16:17:56 -04:00
cpsw.h net: cpsw: header, Add missing include 2014-09-30 01:30:43 -04:00
cpts.c ptp: Classify ptp over ip over vlan packets 2014-07-07 16:57:18 -07:00
cpts.h ti: Remove extern from function prototypes 2013-09-24 12:54:10 -07:00
davinci_cpdma.c drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order detected 2014-10-14 15:59:38 -04:00
davinci_cpdma.h net/davinci_cpdma: remove unused argument in cpdma_chan_submit() 2013-04-25 04:11:50 -04:00
davinci_emac.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
davinci_mdio.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
Kconfig net: cpsw: Add am33xx MACID readout 2014-09-30 01:30:43 -04:00
Makefile drivers: net: cpsw-phy-sel: Add new driver for phy mode selection for cpsw 2013-09-24 10:33:07 -04:00
tlan.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
tlan.h tlan: Don't scream if no link 2014-07-07 17:06:52 -07:00