linux/drivers/net/ethernet/freescale
Frank Li 365cc17464 net: fec: correct fix method about miss init spinlock
Old method will cause init spinlock twice.
New method will avoid init spinlock twice and fix miss init spinlock
at fec_restart.

BUG: spinlock bad magic on CPU#1, swapper/0/1
lock: 0xbfae0f8c, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
Backtrace:
 [<80011d54>] (dump_backtrace+0x0/0x10c) from [<804e7800>] (dump_stack+0x18/0x1c)
 r6:bfae0000 r5:bfae0f8c r4:00000000 r3:806c1310
 [<804e77e8>] (dump_stack+0x0/0x1c) from [<804e9f20>] (spin_dump+0x80/0x94)
 [<804e9ea0>] (spin_dump+0x0/0x94) from [<804e9f60>] (spin_bug+0x2c/0x30)
 r5:805f6f8c r4:bfae0f8c
 [<804e9f34>] (spin_bug+0x0/0x30) from [<80257984>] (do_raw_spin_lock+0x170/0x1b0                                         )
 r5:806b4950 r4:bfae0f8c
 [<80257814>] (do_raw_spin_lock+0x0/0x1b0) from [<804ed15c>] (_raw_spin_lock_irqs                                         ave+0x18/0x20)
 [<804ed144>] (_raw_spin_lock_irqsave+0x0/0x20) from [<8033c694>] (fec_ptp_start_                                         cyclecounter+0x3c/0x120)
 r4:bfae0f8c r3:00000002
 [<8033c658>] (fec_ptp_start_cyclecounter+0x0/0x120) from [<80339e08>] (fec_resta                                         rt+0x56c/0x5f8)
 r8:00000000 r7:806e6f48 r6:00000112 r5:806b4950 r4:bfae0000
 [<8033989c>] (fec_restart+0x0/0x5f8) from [<8033b9e4>] (fec_probe+0x508/0xa48)

Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-02-07 23:36:41 -05:00
..
fs_enet ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
fec_mpc52xx_phy.c
fec_mpc52xx.c net/freescale: remove __dev* attributes 2012-12-03 11:16:54 -08:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_ptp.c net: fec: reduce spin lock time in fec_ptp_adjfreq 2012-11-07 18:52:12 -05:00
fec.c net: fec: correct fix method about miss init spinlock 2013-02-07 23:36:41 -05:00
fec.h net: fec: add napi support to improve proformance 2013-01-29 14:16:17 -05:00
fsl_pq_mdio.c net/fsl_pq_mdio: add support for the Fman 1G MDIO controller 2012-08-30 13:29:32 -04:00
gianfar_ethtool.c ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
gianfar_ptp.c gianfar_ptp: use iomem, not ioports resource tree in probe 2012-10-24 23:18:59 -04:00
gianfar_sysfs.c drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
gianfar.c gianfar: dont conditionally alloc Rx/Err irq structs 2013-02-04 21:08:01 -05:00
gianfar.h gianfar: Pack struct gfar_priv_grp into three cachelines 2013-01-29 15:22:02 -05:00
Kconfig NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
Makefile NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
ucc_geth_ethtool.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
ucc_geth.c net: fix typo in freescale/ucc_geth.c 2012-10-09 00:21:38 -04:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
xgmac_mdio.c net/freescale: remove __dev* attributes 2012-12-03 11:16:54 -08:00