projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
41ef84c
)
net: fec: init complete variable in early to avoid kernel dump
author
Fugang Duan
<B38611@freescale.com>
Fri, 12 Sep 2014 21:00:55 +0000
(
05:00
+0800)
committer
David S. Miller
<davem@davemloft.net>
Sat, 13 Sep 2014 21:32:17 +0000
(17:32 -0400)
Software clear the MDIO interrupt before MDIO bus access, but
MAC still generate MDIO interrupt. The issue only happen on
imx6slx chip.
CPU: 0 PID: 1 Comm: swapper/0 Not tainted
3.17.0-rc1-00399-g0bcad17
#315
Backtrace:
[<
800121fc
>] (dump_backtrace) from [<
800124e0
>] (show_stack+0x18/0x1c)
r6:
8096e534
r5:
8096e534
r4:
00000000
r3:
00000000
[<
800124c8
>] (show_stack) from [<
806a4c60
>] (dump_stack+0x8c/0xa4)
[<
806a4bd4
>] (dump_stack) from [<
80060ab8
>] (__lock_acquire+0x1814/0x1c40)
r6:
be078000
r5:
be074000
r4:
be03f6e4
r3:
be078000
[<
8005f2a4
>] (__lock_acquire) from [<
800616e0
>] (lock_acquire+0x70/0x84)
r10:
809ada33
r9:
be010600
r8:
00000096
r7:
00000001
r6:
be074000
r5:
00000000
r4:
60000193
[<
80061670
>] (lock_acquire) from [<
806abb20
>] (_raw_spin_lock_irqsave+0x40/0x54)
r7:
00000000
r6:
8005a3f8
r5:
00000193
r4:
be03f6d4
[<
806abae0
>] (_raw_spin_lock_irqsave) from [<
8005a3f8
>] (complete+0x1c/0x4c)
r6:
80950904
r5:
be03f6d0
r4:
be03f6d4
[<
8005a3dc
>] (complete) from [<
8041b4c0
>] (fec_enet_interrupt+0x128/0x164)
r6:
80950904
r5:
00800000
r4:
be03f000
r3:
00000000
[<
8041b398
>] (fec_enet_interrupt) from [<
8006aeac
>] (handle_irq_event_percpu+0x38/0x13c)
r6:
00000000
r5:
be01065c
r4:
be399e00
r3:
8041b398
[<
8006ae74
>] (handle_irq_event_percpu) from [<
8006aff4
>] (handle_irq_event+0x44/0x64)
r10:
be03f000
r9:
80989fe0
r8:
00000000
r7:
00000096
r6:
be399e00
r5:
be01065c
r4:
be010600
[<
8006afb0
>] (handle_irq_event) from [<
8006e3e8
>] (handle_fasteoi_irq+0xc8/0x1bc)
r6:
8096e764
r5:
be01065c
r4:
be010600
r3:
00000000
[<
8006e320
>] (handle_fasteoi_irq) from [<
8006a63c
>] (generic_handle_irq+0x30/0x44)
r6:
be074010
r5:
80945e4c
r4:
00000096
r3:
8006e320
[<
8006a60c
>] (generic_handle_irq) from [<
8000f218
>] (handle_IRQ+0x54/0xbc)
r4:
80950d74
r3:
00000180
[<
8000f1c4
>] (handle_IRQ) from [<
800086cc
>] (gic_handle_irq+0x30/0x68)
r8:
be3ab478
r7:
c080e100
r6:
be075bd8
r5:
80950eec
r4:
c080e10c
r3:
000000a0
[<
8000869c
>] (gic_handle_irq) from [<
80013064
>] (__irq_svc+0x44/0x5c)
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c
patch
|
blob
|
history
diff --git
a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/freescale/fec_main.c
index 9840a10d07c6b9b14d81a8b2068ad8e804e4d14b..8f8e55ea7f858052c3cb3112dc27090af2d58342 100644
(file)
--- a/
drivers/net/ethernet/freescale/fec_main.c
+++ b/
drivers/net/ethernet/freescale/fec_main.c
@@
-3066,6
+3066,7
@@
fec_probe(struct platform_device *pdev)
goto failed_irq;
}
+ init_completion(&fep->mdio_done);
ret = fec_enet_mii_init(pdev);
if (ret)
goto failed_mii_init;