From: Rene Mayrhofer <rene.mayrhofer@gibraltar.at>
To: Mike McCormack <mikem@ring3k.org>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>,
netdev@vger.kernel.org, Richard Leitner <leitner@esys.at>
Subject: Re: Kernel oops on setting sky2 interfaces down
Date: Tue, 04 Aug 2009 23:31:53 +0200 [thread overview]
Message-ID: <4A78A8C9.50409@gibraltar.at> (raw)
In-Reply-To: <4A78190C.1080909@ring3k.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Mike McCormack wrote:
> 2009/8/4 Rene Mayrhofer <rene.mayrhofer@gibraltar.at>:
>
>> Does anybody have an idea on what might be wrong in sky2_down?
>
> I had a look into this, and noticed that we don't hold phy_lock when calling
> sky2_phy_power_down() in sky2_down(). sky2_phy_power_down() does some PCI
> manipulation, so it's possible this could cause bad things to happen...
>
> Does the following patch help?
It does certainly change things:
[~]# [ 394.651649] ------------[ cut here ]------------
[ 394.655499] kernel BUG at net/core/skbuff.c:1086!
[ 394.655499] invalid opcode: 0000 [#1] PREEMPT SMP
[ 394.655499] last sysfs file:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
[ 394.655499] Modules linked in: xt_multiport cpufreq_userspace xt_DSCP
xt_length xt_mark xt_dscp xt_MARK xt_CONNMARK xt_comment xt_policy
ipt_REDIRECT ip6t_LOG xt_tcpudp ip6table_mangle iptable_mangle
ip6table_filter ip6_tables sit tunnel4 8021q garp stp llc ipt_LOG
xt_limit xt_state iptable_nat iptable_filter ip_tables x_tables dm_mod
p4_clockmod speedstep_lib freq_table tun imq nf_nat_ftp nf_nat
nf_conntrack_ftp nf_conntrack_ipv6 nf_conntrack_ipv4 nf_conntrack
nf_defrag_ipv4 ipv6 evdev parport_pc parport i2c_i801 iTCO_wdt serio_raw
i2c_core rng_core pcspkr intel_agp loop aufs exportfs nls_utf8 nls_cp437
ide_generic sd_mod ide_gd_mod ata_generic pata_acpi skge ata_piix piix
ide_pci_generic ide_core sky2 thermal_sys
[ 394.655499]
[ 394.655499] Pid: 0, comm: swapper Not tainted (2.6.30.4 #2)
[ 394.655499] EIP: 0060:[<c045e0cd>] EFLAGS: 00010206 CPU: 0
[ 394.655499] EIP is at skb_put+0x23/0x8c
[ 394.655499] EAX: e1ebb022 EBX: e1eb4880 ECX: e1eb4880 EDX: 000000cc
[ 394.655499] ESI: 000000cc EDI: f71f145c EBP: c065be64 ESP: c065be58
[ 394.655499] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 394.655499] Process swapper (pid: 0, ti=c065a000 task=c061d300
task.ti=c065a000)
[ 394.655499] Stack:
[ 394.655499] 9d5834df e1eb4880 00000600 c065beb0 f80ea72f 000202d2
00000040 f71e9388
[ 394.655499] 97a234df f71e9380 f71e9000 f690cb80 e1ff8030 00000002
9d5834df c065bec8
[ 394.655499] f71e9380 000000cc 9d5834df f71e9388 00000040 00000000
c065bedc c0463ce6
[ 394.655499] Call Trace:
[ 394.655499] [<f80ea72f>] ? skge_poll+0x41f/0x5b6 [skge]
[ 394.655499] [<c0463ce6>] ? net_rx_action+0x9e/0x1a2
[ 394.655499] [<c0237b6e>] ? __do_softirq+0xb2/0x188
[ 394.655499] [<c0237c83>] ? do_softirq+0x3f/0x5c
[ 394.655499] [<c0237e0d>] ? irq_exit+0x37/0x80
[ 394.655499] [<c0204cd2>] ? do_IRQ+0x79/0xa0
[ 394.655499] [<c02034d0>] ? common_interrupt+0x30/0x38
[ 394.655499] [<c0209ade>] ? mwait_idle+0xad/0x116
[ 394.655499] [<c0201eb4>] ? cpu_idle+0x96/0xc6
[ 394.655499] [<c04dbb19>] ? rest_init+0x75/0x88
[ 394.655499] [<c0660a16>] ? start_kernel+0x32d/0x343
[ 394.655499] [<c0660078>] ? __init_begin+0x78/0x8e
[ 394.655499] Code: ff 8d 65 f8 5b 5e 5d c3 55 89 c1 89 e5 56 89 d6 53
83 ec 04 65 a1 14 00 00 00 89 45 f4 31 c0 83 79 58 00 8b 81 a8 00 00 00
74 04 <0f> 0b eb fe 8d 1c 10 01 51 54 3b 99 ac 00 00 00 89 99 a8 00 00
[ 394.655499] EIP: [<c045e0cd>] skb_put+0x23/0x8c SS:ESP 0068:c065be58
[ 394.913195] ---[ end trace d93328fae040abf9 ]---
[ 394.918175] Kernel panic - not syncing: Fatal exception in interrupt
[ 394.924926] Pid: 0, comm: swapper Tainted: G D 2.6.30.4 #2
[ 394.931491] Call Trace:
[ 394.934153] [<c04eb041>] ? printk+0x1d/0x30
[ 394.938722] [<c04eaf7f>] panic+0x53/0xf8
[ 394.943025] [<c0206368>] oops_end+0x9f/0xbf
[ 394.947565] [<c020656f>] die+0x5f/0x77
[ 394.951672] [<c0203ae1>] do_trap+0x9f/0xca
[ 394.956129] [<c0203ea8>] ? do_invalid_op+0x0/0xa2
[ 394.961254] [<c0203f2f>] do_invalid_op+0x87/0xa2
[ 394.966274] [<c045e0cd>] ? skb_put+0x23/0x8c
[ 394.970951] [<c04a7672>] ? udp_rcv+0x21/0x34
[ 394.975611] [<c0487922>] ? ip_local_deliver_finish+0x197/0x1ef
[ 394.981912] [<c04879e9>] ? ip_local_deliver+0x6f/0x89
[ 394.987390] [<c0487527>] ? ip_rcv_finish+0x28b/0x2b2
[ 394.992768] [<c04ee71a>] error_code+0x7a/0x80
[ 394.997517] [<c045e0cd>] ? skb_put+0x23/0x8c
[ 395.002192] [<f80ea72f>] skge_poll+0x41f/0x5b6 [skge]
[ 395.007671] [<c0463ce6>] net_rx_action+0x9e/0x1a2
[ 395.012798] [<c0237b6e>] __do_softirq+0xb2/0x188
[ 395.017818] [<c0237c83>] do_softirq+0x3f/0x5c
[ 395.022561] [<c0237e0d>] irq_exit+0x37/0x80
[ 395.027122] [<c0204cd2>] do_IRQ+0x79/0xa0
[ 395.031502] [<c02034d0>] common_interrupt+0x30/0x38
[ 395.036815] [<c0209ade>] ? mwait_idle+0xad/0x116
[ 395.041844] [<c0201eb4>] cpu_idle+0x96/0xc6
[ 395.046397] [<c04dbb19>] rest_init+0x75/0x88
[ 395.051049] [<c0660a16>] start_kernel+0x32d/0x343
[ 395.056178] [<c0660078>] __init_begin+0x78/0x8e
[ 395.061107] Rebooting in 30 seconds..
Interesting that there are no sky2 errors anymore but that skge
oopses... After a reboot and rmmod skge before networking restart, it
suddenly starts to work! I only get these errors during ifdown/ifup:
[ 534.141904] sky2 wan: disabling interface
[ 534.342464] sky2 gibsrv: disabling interface
[ 534.679531] sky2 dmz: disabling interface
[ 535.000035] sky2 0000:01:00.0: device status error
[ 535.000043] sky2 0000:03:00.0: device status error
[ 535.017519] sky2 lan: disabling interface
[ 536.000030] sky2 0000:01:00.0: device status error
[ 536.000038] sky2 0000:03:00.0: device status error
[ 536.000042] sky2 0000:04:00.0: device status error
[ 537.000028] sky2 0000:01:00.0: device status error
[ 537.000035] sky2 0000:03:00.0: device status error
[ 537.000040] sky2 0000:04:00.0: device status error
[ 537.009455] sky2 0000:01:00.0: wan: phy I/O error
[ 537.014229] sky2 0000:01:00.0: wan: phy I/O error
[ 537.018975] sky2 0000:01:00.0: wan: phy I/O error
[ 537.023716] sky2 0000:01:00.0: wan: phy I/O error
[ 537.028463] sky2 0000:01:00.0: wan: phy I/O error
[ 537.033210] sky2 0000:01:00.0: wan: phy I/O error
[ 537.037950] sky2 0000:01:00.0: wan: phy I/O error
[ 537.042694] sky2 0000:01:00.0: wan: phy I/O error
[ 537.047435] sky2 0000:01:00.0: wan: phy I/O error
[ 537.052177] sky2 0000:01:00.0: wan: phy I/O error
[ 537.057639] sky2 wan: enabling interface
[ 537.057852] ADDRCONF(NETDEV_UP): wan: link is not ready
[ 537.288286] sky2 gibsrv: enabling interface
[ 537.288459] ADDRCONF(NETDEV_UP): gibsrv: link is not ready
[ 537.627866] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.632634] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.637377] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.642118] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.646862] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.651610] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.656353] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.661097] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.665846] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.670589] sky2 0000:03:00.0: dmz: phy I/O error
[ 537.676143] sky2 dmz: enabling interface
[ 537.676317] ADDRCONF(NETDEV_UP): dmz: link is not ready
[ 538.000031] sky2 0000:01:00.0: device status error
[ 538.000039] sky2 0000:03:00.0: device status error
[ 538.000044] sky2 0000:04:00.0: device status error
[ 538.024201] sky2 0000:04:00.0: lan: phy I/O error
[ 538.028971] sky2 0000:04:00.0: lan: phy I/O error
[ 538.033712] sky2 0000:04:00.0: lan: phy I/O error
[ 538.038455] sky2 0000:04:00.0: lan: phy I/O error
[ 538.043199] sky2 0000:04:00.0: lan: phy I/O error
[ 538.047939] sky2 0000:04:00.0: lan: phy I/O error
[ 538.052681] sky2 0000:04:00.0: lan: phy I/O error
[ 538.057424] sky2 0000:04:00.0: lan: phy I/O error
[ 538.062167] sky2 0000:04:00.0: lan: phy I/O error
[ 538.066908] sky2 0000:04:00.0: lan: phy I/O error
[ 538.072982] sky2 lan: enabling interface
[ 538.073196] ADDRCONF(NETDEV_UP): lan: link is not ready
[ 539.000021] sky2 0000:01:00.0: device status error
[ 539.000029] sky2 0000:03:00.0: device status error
[ 539.000034] sky2 0000:04:00.0: device status error
[ 539.447535] tun6to4: Disabled Privacy Extensions
[ 540.000022] sky2 0000:01:00.0: device status error
[ 540.000033] sky2 0000:03:00.0: device status error
[ 540.000039] sky2 0000:04:00.0: device status error
[ 541.000020] sky2 0000:01:00.0: device status error
[ 541.000032] sky2 0000:03:00.0: device status error
[ 541.000038] sky2 0000:04:00.0: device status error
[ 542.000025] sky2 0000:01:00.0: device status error
[ 542.000035] sky2 0000:03:00.0: device status error
[ 542.000046] sky2 0000:04:00.0: device status error
[ 543.000030] sky2 0000:01:00.0: device status error
[ 543.000044] sky2 0000:03:00.0: device status error
[ 543.000054] sky2 0000:04:00.0: device status error
Unfortunately, these errors continue and the device refuses to send or
receive any packets afterwards.
I will next try to use sky2.c from netdev git, as suggested.
best regards,
Rene
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkp4qMUACgkQq7SPDcPCS94EPQCgx6nYmqUaZQbnXqNUTYPOulfA
bGMAn2oSt+KedkNOBGpF1y55JIjCdstl
=fH02
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2009-08-04 21:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-21 16:26 Kernel oops on setting sky2 interfaces down Rene Mayrhofer
2009-07-21 16:58 ` Stephen Hemminger
2009-07-21 19:59 ` Rene Mayrhofer
2009-07-21 20:54 ` Stephen Hemminger
2009-07-23 17:28 ` Stephen Hemminger
2009-07-27 11:03 ` Rene Mayrhofer
2009-07-27 16:30 ` Stephen Hemminger
2009-07-28 7:21 ` Rene Mayrhofer
2009-07-27 22:35 ` Stephen Hemminger
2009-07-28 7:25 ` Rene Mayrhofer
2009-07-28 9:48 ` Rene Mayrhofer
2009-08-03 11:55 ` Rene Mayrhofer
2009-08-03 18:19 ` Rene Mayrhofer
2009-08-04 7:38 ` Rene Mayrhofer
2009-08-04 11:18 ` Mike McCormack
2009-08-04 21:31 ` Rene Mayrhofer [this message]
[not found] ` <392fb48f0908040445pc21105bo3182773b76d49596@mail.gmail.com>
2009-08-04 22:55 ` Rene Mayrhofer
2009-08-04 22:59 ` Rene Mayrhofer
2009-08-04 23:08 ` Stephen Hemminger
2009-08-04 23:53 ` Mike McCormack
2009-08-05 12:14 ` Rene Mayrhofer
2009-08-05 22:50 ` Mike McCormack
2009-08-10 10:28 ` Rene Mayrhofer
2009-08-11 8:54 ` Rene Mayrhofer
2009-08-19 7:01 ` Rene Mayrhofer
2009-08-19 15:00 ` Mike McCormack
2009-08-19 15:11 ` Rene Mayrhofer
2009-08-19 21:07 ` Rene Mayrhofer
2009-08-19 21:25 ` Rene Mayrhofer
2009-08-19 22:05 ` Mike McCormack
2009-08-20 0:46 ` Stephen Hemminger
2009-08-20 20:37 ` Rene Mayrhofer
2009-08-21 11:03 ` Mike McCormack
2009-08-20 19:42 ` Rene Mayrhofer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A78A8C9.50409@gibraltar.at \
--to=rene.mayrhofer@gibraltar.at \
--cc=leitner@esys.at \
--cc=mikem@ring3k.org \
--cc=netdev@vger.kernel.org \
--cc=shemminger@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).