From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rene Mayrhofer Subject: Re: Kernel oops on setting sky2 interfaces down Date: Tue, 28 Jul 2009 11:48:05 +0200 Message-ID: <4A6EC955.4030401@gibraltar.at> References: <4A65EC3F.4050400@gibraltar.at> <20090723102848.00a56ad1@nehalam> <4A6D8975.4050000@gibraltar.at> <20090727153548.7c0d9f85@nehalam> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, Richard Leitner To: Stephen Hemminger Return-path: Received: from jupiter.gibraltar.at ([80.120.3.98]:60146 "EHLO mail1.gibraltar.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751378AbZG1JsQ (ORCPT ); Tue, 28 Jul 2009 05:48:16 -0400 In-Reply-To: <20090727153548.7c0d9f85@nehalam> Sender: netdev-owner@vger.kernel.org List-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Stephen Hemminger wrote: > Does this help? > > --- a/drivers/net/sky2.c 2009-07-27 15:28:27.653757064 -0700 > +++ b/drivers/net/sky2.c 2009-07-27 15:34:24.358730966 -0700 > @@ -2763,6 +2763,11 @@ static int sky2_poll(struct napi_struct > int work_done = 0; > u16 idx; > > + if (unlikely(status == ~0)) { > + dev_info(&hw->pdev->dev, "device status error\n"); > + goto clear_napi; > + } > + > if (unlikely(status & Y2_IS_ERROR)) > sky2_err_intr(hw, status); > > @@ -2779,6 +2784,7 @@ static int sky2_poll(struct napi_struct > goto done; > } > > +clear_napi: > napi_complete(napi); > sky2_read32(hw, B0_Y2_SP_LISR); > done: With this applied, the behaviour is certainly different: On first networking restart, the kernel still continues to run although there are some phy errors. On the second restart, there is no Oops, but a BUG. [~]# /etc/init.d/networking restart Reconfiguring network interfaces...Removed VLAN -:quara.6:- [ 269.681295] sky2 0000:03:00.0: dmz: phy I/O error [ 269.686079] sky2 0000:03:00.0: dmz: phy I/O error [ 269.691000] sky2 0000:03:00.0: dmz: phy I/O error [ 269.695880] sky2 0000:03:00.0: dmz: phy I/O error [ 269.700751] sky2 0000:03:00.0: dmz: phy I/O error [ 269.705613] sky2 0000:03:00.0: dmz: phy I/O error [ 269.710519] sky2 0000:03:00.0: dmz: phy I/O error [ 269.715420] sky2 0000:03:00.0: dmz: phy I/O error [ 269.720290] sky2 0000:03:00.0: dmz: phy I/O error [ 269.725203] sky2 0000:03:00.0: dmz: phy I/O error Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config Added VLAN with VID == 6 to IF -:testnet:- [~]# /etc/init.d/networking restart Reconfiguring network interfaces...[ 298.296616] ICMPv6 NA: someone advertises our address on lan! [ 299.360719] lan: hw csum failure. [ 299.364169] Pid: 11563, comm: sh Not tainted 2.6.28.10 #3 [ 299.369763] Call Trace: [ 299.372317] [] __skb_checksum_complete_head+0x3e/0x4f [ 299.378536] [] udp_error+0x124/0x198 [nf_conntrack] [ 299.384571] [] udp_error+0x0/0x198 [nf_conntrack] [ 299.390429] [] nf_conntrack_in+0x117/0x72a [nf_conntrack] [ 299.397138] [] handle_mm_fault+0x54a/0xbfa [ 299.402464] [] nf_iterate+0x30/0x61 [ 299.407148] [] ip_rcv_finish+0x0/0x2af [ 299.412108] [] nf_hook_slow+0x49/0xbd [ 299.416893] [] ip_rcv_finish+0x0/0x2af [ 299.421760] [] ip_rcv+0x1d6/0x20e [ 299.426185] [] ip_rcv_finish+0x0/0x2af [ 299.431067] [] netif_receive_skb+0x3f7/0x435 [ 299.436479] [] sky2_poll+0x844/0xc21 [sky2] [ 299.441780] [] au_reval_and_lock_fdi+0x7e/0x540 [aufs] [ 299.448088] [] au_reopen_nondir+0x0/0x106 [aufs] [ 299.453825] [] net_rx_action+0xb8/0x1f6 [ 299.458886] [] __do_softirq+0x95/0x142 [ 299.463850] [] do_softirq+0x48/0x57 [ 299.468547] [] irq_exit+0x3b/0x78 [ 299.473053] [] do_IRQ+0x7a/0x8c [ 299.477306] [] common_interrupt+0x23/0x30 [ 299.482543] [] fsstack_copy_inode_size+0x1d/0x3f [ 299.488314] [] au_cpup_attr_timesizes+0x4e/0x58 [aufs] [ 299.494615] [] aufs_flush+0x93/0xc9 [aufs] [ 299.499837] [] filp_close+0x2e/0x53 [ 299.504559] [] sys_close+0x6b/0xa4 [ 299.509178] [] syscall_call+0x7/0xb [ 299.513893] [] rwsem_down_failed_common+0xa4/0x175 [ 299.621662] ------------[ cut here ]------------ [ 299.625591] kernel BUG at drivers/net/sky2.c:1781! [ 299.625591] invalid opcode: 0000 [#1] PREEMPT SMP [ 299.625591] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed [ 299.625591] 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 pcspkr serio_raw i2c_i801 i2c_core iTCO_wdt rng_core intel_agp agpgart squashfs sqlzma unlzma loop aufs exportfs nls_utf8 nls_cp437 ide_generic sd_mod ide_gd_mod ata_generic pata_acpi ata_piix piix ide_pci_generic ide_core skge sky2 thermal_sys [ 299.625591] [ 299.625591] Pid: 11626, comm: ip Not tainted (2.6.28.10 #3) [ 299.625591] EIP: 0060:[] EFLAGS: 00010256 CPU: 0 [ 299.625591] EIP is at sky2_down+0x84/0x5c3 [sky2] [ 299.625591] EAX: f8010000 EBX: 00000280 ECX: 000006b4 EDX: f7060000 [ 299.625591] ESI: 00000000 EDI: f684e980 EBP: 00000001 ESP: f5e35b78 [ 299.625591] DS: 0068 ES: 0068 FS: 00d8 GS: 0033 SS: 0068 [ 299.625591] Process ip (pid: 11626, ti=f5e34000 task=f4a7e140 task.ti=f5e34000) [ 299.625591] Stack: [ 299.625591] f7060000 00000303 00000004 f7060500 00000004 c09fc8c5 00000000 f7060290 [ 299.625591] f7060000 00001002 00001003 00000001 c09f00bd f7060000 c09efe15 00000000 [ 299.625591] ffffffef 00000000 00000000 f5e35ce4 c09f66b8 f5e35c28 f5e8f410 f7060000 [ 299.625591] Call Trace: [ 299.625591] [] dev_deactivate+0x116/0x13b [ 299.625591] [] dev_close+0x5f/0x7b [ 299.625591] [] dev_change_flags+0x9e/0x14f [ 299.625591] [] do_setlink+0x28b/0x349 [ 299.625591] [] skge_get_stats+0x2f/0x7b [skge] [ 299.625591] [] rtnl_newlink+0x292/0x3f7 [ 299.625591] [] rtnl_newlink+0x5a/0x3f7 [ 299.625591] [] rtnl_newlink+0x9a/0x3f7 [ 299.625591] [] find_get_page+0x87/0xaa [ 299.625591] [] rtnl_newlink+0x0/0x3f7 [ 299.625591] [] rtnetlink_rcv_msg+0x188/0x1a2 [ 299.625591] [] rtnetlink_rcv_msg+0x0/0x1a2 [ 299.625591] [] netlink_rcv_skb+0x2d/0x73 [ 299.625591] [] rtnetlink_rcv+0x19/0x1f [ 299.625591] [] netlink_unicast+0x1c7/0x229 [ 299.625591] [] netlink_sendmsg+0x250/0x25d [ 299.625591] [] sock_sendmsg+0xc7/0xe1 [ 299.625591] [] autoremove_wake_function+0x0/0x2d [ 299.625591] [] autoremove_wake_function+0x0/0x2d [ 299.625591] [] autoremove_wake_function+0x0/0x2d [ 299.625591] [] verify_iovec+0x3e/0x6b [ 299.625591] [] sys_sendmsg+0x184/0x1e3 [ 299.625591] [] sys_recvmsg+0x147/0x1e5 [ 299.625591] [] sys_sendto+0xf9/0x124 [ 299.625591] [] netlink_insert+0xd2/0xef [ 299.625591] [] vma_merge+0x1d7/0x3ac [ 299.625591] [] sys_socketcall+0x177/0x1a9 [ 299.625591] [] sys_brk+0xd1/0xd9 [ 299.625591] [] syscall_call+0x7/0xb [ 299.625591] [] rwsem_down_failed_common+0xa4/0x175 [ 299.625591] Code: b5 00 66 08 f8 b8 00 02 00 00 8d 8b 34 04 00 00 89 ca 03 17 89 02 8b 14 24 8b 82 00 05 00 00 8b 00 83 c0 04 66 8b 00 66 40 75 04 <0f> 0b eb fe 89 c8 03 07 8b 00 ba 05 00 00 00 8d 83 28 08 00 00 [ 299.625591] EIP: [] sky2_down+0x84/0x5c3 [sky2] SS:ESP 0068:f5e35b78 [ 299.969972] sky2 0000:03:00.0: device status error Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel[ 299.982399] ---[ end trace c27f023d76d6060f ]--- :[ 299.621662] ------------[ cut here ]------------ Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] invalid opcode: 0000 [#1] PREEMPT SMP Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] Process ip (pid: 11626, ti=f5e34000 task=f4a7e140 task.ti=f5e34000) Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] Stack: Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] f7060000 00001002 00001003 00000001 c09f00bd f7060000 c09efe15 00000000 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] ffffffef 00000000 00000000 f5e35ce4 c09f66b8 f5e35c28 f5e8f410 f7060000 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] Call Trace: Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] dev_deactivate+0x116/0x13b Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] dev_close+0x5f/0x7b Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] dev_change_flags+0x9e/0x14f Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.6[ 300.125238] lan: hw csum failure. 25591] [] do_setlink+[ 300.136882] Call Trace: 0x28b/0x349 [ 300.140827] [] __skb_checksum_complete_head+0x3e/0x4f Message from s[ 300.148422] [] udp_error+0x124/0x198 [nf_conntrack] yslogd@gibraltar[ 300.155814] [] udp_error+0x0/0x198 [nf_conntrack] 3-esys-master at[ 300.163067] [] nf_conntrack_in+0x117/0x72a [nf_conntrack] Jul 28 11:46:45[ 300.170988] [] cpupri_set+0xcf/0xeb ... kernel:[[ 300.177061] [] enqueue_task_rt+0xfd/0x1ba 299.625591] [[ 300.183686] [] enqueue_task+0x52/0x5d ] skge[ 300.189847] [] _spin_unlock_irqrestore+0x22/0x39 _get_stats+0x2f/[ 300.196991] [] try_to_wake_up+0x158/0x162 0x7b [skge] [ 300.203501] [] nf_iterate+0x30/0x61 Message from s[ 300.209498] [] ip_rcv_finish+0x0/0x2af yslogd@gibraltar[ 300.215661] [] nf_hook_slow+0x49/0xbd 3-esys-master at[ 300.221842] [] ip_rcv_finish+0x0/0x2af Jul 28 11:46:45[ 300.228078] [] ip_rcv+0x1d6/0x20e ... kernel:[[ 300.233875] [] ip_rcv_finish+0x0/0x2af 299.625591] [[ 300.240132] [] netif_receive_skb+0x3f7/0x435 ] rtnl[ 300.246911] [] sky2_poll+0x844/0xc21 [sky2] _newlink+0x292/0[ 300.253594] [] net_rx_action+0xb8/0x1f6 x3f7 Messa[ 300.259939] [] __do_softirq+0x95/0x142 ge from syslogd@[ 300.266166] [] do_softirq+0x48/0x57 gibraltar3-esys-[ 300.272137] [] irq_exit+0x3b/0x78 master at Jul 28[ 300.277945] [] do_IRQ+0x7a/0x8c 11:46:45 ... [ 300.283559] [] common_interrupt+0x23/0x30 kernel:[ 299.6[ 300.290055] [] mwait_idle+0x2f/0x3b 25591] [] cpu_idle+0x7a/0xad 6a>] rtnl_newlink+0x5a/0x3f7 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] rtnl_newlink+0x9a/0x3f7 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] find_get_page+0x87/0xaa Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] rtnl_newlink+0x0/0x3f7 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] rtnetlink_rcv_msg+0x188/0x1a2 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] rtnetlink_rcv_msg+0x0/0x1a2 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] netlink_rcv_skb+0x2d/0x73 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] rtnetlink_rcv+0x19/0x1f Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] netlink_unicast+0x1c7/0x229 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] netlink_sendmsg+0x250/0x25d Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] sock_sendmsg+0xc7/0xe1 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] autoremove_wake_function+0x0/0x2d Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:last message repeated 2 times Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] verify_iovec+0x3e/0x6b Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] sys_sendmsg+0x184/0x1e3 Message from syslogd@gibraltar3-esys-master at Jul 28 11:46:45 ... kernel:[ 299.625591] [] sys_recvmsg+0x Message from/etc/network/if-down.d/60address: line 25: 11626 Segmentation fault ip link set dev $DEV down run-parts: /etc/network/if-down.d/60address exited with return code 139 [ 300.968019] sky2 0000:03:00.0: device status error ^C [~]# [ 302.000024] sky2 0000:03:00.0: device status error [ 302.746708] lan: hw csum failure. [ 302.750282] Pid: 0, comm: swapper Tainted: G D 2.6.28.10 #3 [ 302.757023] Call Trace: [ 302.759602] [] __skb_checksum_complete_head+0x3e/0x4f [ 302.765863] [] udp_error+0x124/0x198 [nf_conntrack] [ 302.771934] [] udp_error+0x0/0x198 [nf_conntrack] [ 302.777799] [] nf_conntrack_in+0x117/0x72a [nf_conntrack] [ 302.784380] [] __wake_up_sync+0x2a/0x3e [ 302.789356] [] _spin_unlock_irqrestore+0x22/0x39 [ 302.795129] [] sock_def_readable+0x32/0x5b [ 302.800379] [] _read_unlock+0xe/0x21 [ 302.805080] [] sock_queue_rcv_skb+0xb5/0xbd [ 302.810421] [] __udp_queue_rcv_skb+0x12/0x86 [ 302.815849] [] nf_iterate+0x30/0x61 [ 302.820442] [] ip_rcv_finish+0x0/0x2af [ 302.825356] [] nf_hook_slow+0x49/0xbd [ 302.830416] [] ip_rcv_finish+0x0/0x2af [ 302.835510] [] ip_rcv+0x1d6/0x20e [ 302.840117] [] ip_rcv_finish+0x0/0x2af [ 302.845167] [] netif_receive_skb+0x3f7/0x435 [ 302.850791] [] sky2_poll+0x844/0xc21 [sky2] [ 302.856337] [] lapic_next_event+0x10/0x13 [ 302.861672] [] net_rx_action+0xb8/0x1f6 [ 302.866654] [] __do_softirq+0x95/0x142 [ 302.871590] [] do_softirq+0x48/0x57 [ 302.876335] [] irq_exit+0x3b/0x78 [ 302.880861] [] do_IRQ+0x7a/0x8c [ 302.885184] [] common_interrupt+0x23/0x30 [ 302.890422] [] mwait_idle+0x2f/0x3b [ 302.896051] [] cpu_idle+0x7a/0xad [ 303.000027] sky2 0000:03:00.0: device status error [ 303.058758] lan: hw csum failure. [ 303.062367] Pid: 0, comm: swapper Tainted: G D 2.6.28.10 #3 [ 303.068861] Call Trace: [ 303.071406] [] __skb_checksum_complete_head+0x3e/0x4f [ 303.077789] [] udp_error+0x124/0x198 [nf_conntrack] [ 303.083871] [] lapic_next_event+0x10/0x13 [ 303.089068] [] udp_error+0x0/0x198 [nf_conntrack] [ 303.094929] [] nf_conntrack_in+0x117/0x72a [nf_conntrack] [ 303.101514] [] tick_program_event+0x2c/0x32 [ 303.106851] [] hrtimer_interrupt+0x146/0x16e [ 303.112313] [] irq_exit+0xb/0x78 [ 303.116669] [] smp_apic_timer_interrupt+0x75/0x7f [ 303.122585] [] nf_iterate+0x30/0x61 [ 303.127184] [] ip_rcv_finish+0x0/0x2af [ 303.132067] [] nf_hook_slow+0x49/0xbd [ 303.136911] [] ip_rcv_finish+0x0/0x2af [ 303.141785] [] ip_rcv+0x1d6/0x20e [ 303.146239] [] ip_rcv_finish+0x0/0x2af [ 303.151112] [] netif_receive_skb+0x3f7/0x435 [ 303.156552] [] sky2_poll+0x844/0xc21 [sky2] [ 303.161923] [] getnstimeofday+0x4f/0xd5 [ 303.166879] [] net_rx_action+0xb8/0x1f6 [ 303.171889] [] __do_softirq+0x95/0x142 [ 303.176758] [] do_softirq+0x48/0x57 [ 303.181403] [] irq_exit+0x3b/0x78 [ 303.185850] [] do_IRQ+0x7a/0x8c [ 303.190128] [] common_interrupt+0x23/0x30 [ 303.195241] [] mwait_idle+0x2f/0x3b [ 303.199879] [] cpu_idle+0x7a/0xad [ 304.000039] sky2 0000:03:00.0: device status error [ 304.150934] lan: hw csum failure. [ 304.154546] Pid: 0, comm: swapper Tainted: G D 2.6.28.10 #3 [ 304.161288] Call Trace: [ 304.163876] [] __skb_checksum_complete_head+0x3e/0x4f [ 304.170102] [] udp_error+0x124/0x198 [nf_conntrack] [ 304.176113] [] lapic_next_event+0x10/0x13 [ 304.181260] [] udp_error+0x0/0x198 [nf_conntrack] [ 304.187188] [] nf_conntrack_in+0x117/0x72a [nf_conntrack] [ 304.193794] [] tick_program_event+0x2c/0x32 [ 304.199092] [] hrtimer_interrupt+0x146/0x16e [ 304.204545] [] irq_exit+0xb/0x78 [ 304.208887] [] smp_apic_timer_interrupt+0x75/0x7f [ 304.214774] [] nf_iterate+0x30/0x61 [ 304.219390] [] ip_rcv_finish+0x0/0x2af [ 304.224251] [] nf_hook_slow+0x49/0xbd [ 304.229045] [] ip_rcv_finish+0x0/0x2af [ 304.233922] [] ip_rcv+0x1d6/0x20e [ 304.238348] [] ip_rcv_finish+0x0/0x2af [ 304.243199] [] netif_receive_skb+0x3f7/0x435 [ 304.248634] [] sky2_poll+0x844/0xc21 [sky2] [ 304.253961] [] lapic_next_event+0x10/0x13 [ 304.259076] [] net_rx_action+0xb8/0x1f6 [ 304.264063] [] __do_softirq+0x95/0x142 [ 304.268988] [] do_softirq+0x48/0x57 [ 304.273595] [] irq_exit+0x3b/0x78 [ 304.278053] [] do_IRQ+0x7a/0x8c [ 304.282326] [] common_interrupt+0x23/0x30 [ 304.287467] [] mwait_idle+0x2f/0x3b [ 304.292095] [] cpu_idle+0x7a/0xad [ 305.000039] sky2 0000:03:00.0: device status error [ 306.000049] sky2 0000:03:00.0: device status error [ 307.000058] sky2 0000:03:00.0: device status error [ 308.000090] sky2 0000:03:00.0: device status error [ 309.000145] sky2 0000:03:00.0: device status error -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkpuyU0ACgkQq7SPDcPCS95M+gCg/Sc8kO3FmHrQTdIqeKIzq1XI gEwAoJez4jZCId+81exvRH6jF4Lzj922 =ryPP -----END PGP SIGNATURE-----