* [PATCH] sky2: Don't try to turn led off in sky2_down()
@ 2009-08-29 13:10 Mike McCormack
2009-08-29 13:17 ` Mike McCormack
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Mike McCormack @ 2009-08-29 13:10 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev, Rene Mayrhofer, Richard Leitner
There are a few problems with the following line of code in sky2_down()
sky2_write16(hw, B0_Y2LED, LED_STAT_OFF);
* It doesn't specify which port's LED to turn off.
* We don't turn send LED_STAT_ON on in sky2_up()
* B0_LED is 0x0006 in the vendor driver, but 0x0005 in sky2.
B0_LED is right next to B0_POWER_CTRL, so this is possibly
accounts for the device being accidently powered down as
reported by Rene Mayrhofer.
Signed-off-by: Mike McCormack <mikem@ring3k.org>
---
drivers/net/sky2.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index dd630cf..aec8ad3 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1866,9 +1866,6 @@ static int sky2_down(struct net_device *dev)
sky2_phy_power_down(hw, port);
spin_unlock_bh(&sky2->phy_lock);
- /* turn off LED's */
- sky2_write16(hw, B0_Y2LED, LED_STAT_OFF);
-
sky2_tx_reset(hw, port);
/* Free any pending frames stuck in HW queue */
--
1.5.6.5
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH] sky2: Don't try to turn led off in sky2_down() 2009-08-29 13:10 [PATCH] sky2: Don't try to turn led off in sky2_down() Mike McCormack @ 2009-08-29 13:17 ` Mike McCormack 2009-08-29 17:57 ` Stephen Hemminger ` (3 subsequent siblings) 4 siblings, 0 replies; 14+ messages in thread From: Mike McCormack @ 2009-08-29 13:17 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev Mike McCormack wrote: > There are a few problems with the following line of code in sky2_down() Apologies, there probably should have been a "next" in that subject line. Mike ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: Don't try to turn led off in sky2_down() 2009-08-29 13:10 [PATCH] sky2: Don't try to turn led off in sky2_down() Mike McCormack 2009-08-29 13:17 ` Mike McCormack @ 2009-08-29 17:57 ` Stephen Hemminger 2009-08-30 0:37 ` Mike McCormack 2009-08-31 9:48 ` Rene Mayrhofer ` (2 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2009-08-29 17:57 UTC (permalink / raw) To: Mike McCormack; +Cc: Stephen Hemminger, netdev, Rene Mayrhofer, Richard Leitner On Sat, 29 Aug 2009 22:10:33 +0900 Mike McCormack <mikem@ring3k.org> wrote: > There are a few problems with the following line of code in sky2_down() > > sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); > > * It doesn't specify which port's LED to turn off. > * We don't turn send LED_STAT_ON on in sky2_up() > * B0_LED is 0x0006 in the vendor driver, but 0x0005 in sky2. > B0_LED is right next to B0_POWER_CTRL, so this is possibly > accounts for the device being accidently powered down as > reported by Rene Mayrhofer. I would rather just change the definition of B0_LED to the correct value. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: Don't try to turn led off in sky2_down() 2009-08-29 17:57 ` Stephen Hemminger @ 2009-08-30 0:37 ` Mike McCormack 0 siblings, 0 replies; 14+ messages in thread From: Mike McCormack @ 2009-08-30 0:37 UTC (permalink / raw) To: Stephen Hemminger; +Cc: netdev, Rene Mayrhofer, Richard Leitner Stephen Hemminger wrote: > On Sat, 29 Aug 2009 22:10:33 +0900 > Mike McCormack <mikem@ring3k.org> wrote: > >> There are a few problems with the following line of code in sky2_down() >> >> sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); >> >> * It doesn't specify which port's LED to turn off. >> * We don't turn send LED_STAT_ON on in sky2_up() >> * B0_LED is 0x0006 in the vendor driver, but 0x0005 in sky2. >> B0_LED is right next to B0_POWER_CTRL, so this is possibly >> accounts for the device being accidently powered down as >> reported by Rene Mayrhofer. > > I would rather just change the definition of B0_LED to the correct value. How does that address the first problem? If there are two ports, which port's LED are we turning off? thanks, Mike ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: Don't try to turn led off in sky2_down() 2009-08-29 13:10 [PATCH] sky2: Don't try to turn led off in sky2_down() Mike McCormack 2009-08-29 13:17 ` Mike McCormack 2009-08-29 17:57 ` Stephen Hemminger @ 2009-08-31 9:48 ` Rene Mayrhofer 2009-08-31 9:58 ` Rene Mayrhofer 2009-08-31 17:31 ` [PATCH] sky2: fix management of driver LED Stephen Hemminger 4 siblings, 0 replies; 14+ messages in thread From: Rene Mayrhofer @ 2009-08-31 9:48 UTC (permalink / raw) To: Mike McCormack; +Cc: Stephen Hemminger, netdev, Richard Leitner Hi Mika and Stephen, Am Samstag, 29. August 2009 15:10:33 schrieb Mike McCormack: > There are a few problems with the following line of code in sky2_down() > > sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); > > * It doesn't specify which port's LED to turn off. > * We don't turn send LED_STAT_ON on in sky2_up() > * B0_LED is 0x0006 in the vendor driver, but 0x0005 in sky2. > B0_LED is right next to B0_POWER_CTRL, so this is possibly > accounts for the device being accidently powered down as > reported by Rene Mayrhofer. > > Signed-off-by: Mike McCormack <mikem@ring3k.org> I tried the current net-next version with this patch, and a network restart still leads to a system reset. Is this patch aimed at net-next or the vanilla 2.6.30.5 version? I assume the updated 2 patches would not make any difference, right? best regards, Rene -- ------------------------------------------------- Gibraltar firewall http://www.gibraltar.at/ ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: Don't try to turn led off in sky2_down() 2009-08-29 13:10 [PATCH] sky2: Don't try to turn led off in sky2_down() Mike McCormack ` (2 preceding siblings ...) 2009-08-31 9:48 ` Rene Mayrhofer @ 2009-08-31 9:58 ` Rene Mayrhofer 2009-09-03 16:16 ` [PATCH] sky2: only enable Vaux if capable of wakeup Stephen Hemminger 2009-08-31 17:31 ` [PATCH] sky2: fix management of driver LED Stephen Hemminger 4 siblings, 1 reply; 14+ messages in thread From: Rene Mayrhofer @ 2009-08-31 9:58 UTC (permalink / raw) To: Mike McCormack; +Cc: Stephen Hemminger, netdev, Richard Leitner Am Samstag, 29. August 2009 15:10:33 schrieb Mike McCormack: > There are a few problems with the following line of code in sky2_down() > > sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); > > * It doesn't specify which port's LED to turn off. > * We don't turn send LED_STAT_ON on in sky2_up() > * B0_LED is 0x0006 in the vendor driver, but 0x0005 in sky2. > B0_LED is right next to B0_POWER_CTRL, so this is possibly > accounts for the device being accidently powered down as > reported by Rene Mayrhofer. With this patch applied to the net-next version from Friday, I now got this: [~]# /etc/init.d/networking restart Reconfiguring network interfaces...[ 403.000092] sky2 0000:03:00.0: error interrupt status=0xffffffff [ 403.006905] sky2 0000:03:00.0: PCI hardware error (0xffff) [ 403.013095] sky2 0000:03:00.0: PCI Express error (0xffffffff) [ 403.019586] sky2 dmz: ram data read parity error [ 403.024814] sky2 dmz: ram data write parity error [ 403.030130] sky2 dmz: MAC parity error [ 403.034392] sky2 dmz: RX parity error [ 403.038560] sky2 dmz: TCP segmentation error [ 403.043531] BUG: unable to handle kernel NULL pointer dereference at 0000038d [ 403.047392] IP: [<f8078ce0>] sky2_mac_intr+0x30/0xc1 [sky2] [ 403.047392] *pde = 00000000 [ 403.047392] Thread overran stack, or stack corrupted [ 403.047392] Oops: 0000 [#1] PREEMPT SMP [ 403.047392] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed [ 403.047392] Modules linked in: xt_multiport cpufreq_userspace ip6t_REJECT xt_DSCP xt_length xt_mark xt_dscp xt_MARK xt_IMQ xt_CONNMARK xt_comment xt_policy 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 lm90 led_class 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 iTCO_wdt parport_pc parport i2c_i801 i2c_core serio_raw rng_core button processor intel_agp pcspkr squashfs loop aufs exportfs nls_utf8 nls_cp437 ide_generic sd_mod ata_generic pata_acpi ata_piix ide_pci_generic ide_core skge sky2 thermal fan thermal_sys [ 403.047392] [ 403.047392] Pid: 0, comm: swapper Not tainted (2.6.30.5 #20) [ 403.047392] EIP: 0060:[<f8078ce0>] EFLAGS: 00010286 CPU: 0 [ 403.047392] EIP is at sky2_mac_intr+0x30/0xc1 [sky2] [ 403.047392] EAX: f8098f88 EBX: 00000001 ECX: 00000008 EDX: 000000ff [ 403.047392] ESI: 00000000 EDI: f68f5080 EBP: c1c8de3c ESP: c1c8de24 [ 403.191036] DS: 0068 ES: 0068 FS: 00d8 GS: 00e0 SS: 0068 [ 403.191036] Process swapper (pid: 0, ti=c1c8c000 task=c1c3f1d4 task.ti=c1c8c000) [ 403.202984] Stack: [ 403.202984] 00000080 ff8f5080 4aa8b206 f70e54c0 ffffffff ffffffff c1c8deb0 f807c33b [ 403.202984] 00000000 c1c8dea4 00000040 f68f5088 c184526c 00000000 f68f5080 ffffffff [ 403.202984] 00000001 f7224400 c2523140 00006497 00000001 00000000 4aa8b206 c25229c8 [ 403.202984] Call Trace: [ 403.202984] [<f807c33b>] ? sky2_poll+0x1d2/0xa07 [sky2] [ 403.202984] [<c184526c>] ? insert_work+0xa5/0xbf [ 403.202984] [<c1af8f7f>] ? _spin_unlock_irq+0x2f/0x42 [ 403.202984] [<c1a6ebc5>] ? net_rx_action+0x9e/0x1ae [ 403.202984] [<c1838e5e>] ? __do_softirq+0xb2/0x188 [ 403.202984] [<c1838f73>] ? do_softirq+0x3f/0x5c [ 403.202984] [<c18390fd>] ? irq_exit+0x37/0x80 [ 403.202984] [<c18146fa>] ? smp_apic_timer_interrupt+0x7c/0x9b [ 403.202984] [<c1803a31>] ? apic_timer_interrupt+0x31/0x40 [ 403.202984] [<c1840068>] ? complete_signal+0x97/0x1ac [ 403.202984] [<c180a262>] ? mwait_idle+0xad/0x116 [ 403.202984] [<c1801e2f>] ? cpu_idle+0x96/0xc3 [ 403.202984] [<c1ae6629>] ? rest_init+0x75/0x88 [ 403.202984] [<c102aa10>] ? start_kernel+0x32d/0x343 [ 403.202984] [<c102a072>] ? _sinittext+0x72/0x88 [ 403.323244] Code: c7 56 53 89 d3 83 ec 0c 65 a1 14 00 00 00 89 45 f0 31 c0 8b 74 97 3c c1 e2 07 89 d0 05 08 0f 00 00 89 55 e8 03 07 8a 10 88 55 ef <f6> 86 8d 03 00 00 02 74 12 0f b6 c2 50 56 68 74 e3 07 f8 e8 e2 [ 403.323244] EIP: [<f8078ce0>] sky2_mac_intr+0x30/0xc1 [sky2] SS:ESP 0068:c1c8de24 [ 403.323244] CR2: 000000000000038d [ 403.365775] ---[ end trace 7f4d83bf1130e18d ]--- [ 403.370999] Kernel panic - not syncing: Fatal exception in interrupt [ 403.378154] Pid: 0, comm: swapper Tainted: G D 2.6.30.5 #20 [ 403.385185] Call Trace: [ 403.388006] [<c1af5bf7>] ? printk+0x1d/0x30 [ 403.392861] [<c1af5b35>] panic+0x53/0xf8 [ 403.397404] [<c1806787>] oops_end+0x9f/0xbf [ 403.402234] [<c181d7ef>] no_context+0x15d/0x178 [ 403.407443] [<c181db53>] __bad_area_nosemaphore+0x349/0x362 [ 403.413797] [<c197afed>] ? vsnprintf+0x2de/0x332 [ 403.419104] [<c197ada0>] ? vsnprintf+0x91/0x332 [ 403.424312] [<c1af8fc3>] ? _spin_unlock_irqrestore+0x31/0x44 [ 403.430773] [<c1af8fc3>] ? _spin_unlock_irqrestore+0x31/0x44 [ 403.437280] [<c18340f7>] ? release_console_sem+0x18b/0x1c9 [ 403.443583] [<c181db89>] bad_area_nosemaphore+0x1d/0x34 [ 403.449590] [<c181de56>] do_page_fault+0x10d/0x24b [ 403.455119] [<c181dd49>] ? do_page_fault+0x0/0x24b [ 403.460654] [<c1af945d>] error_code+0x7d/0x90 [ 403.465759] [<c1970068>] ? blk_alloc_devt+0x59/0xb9 [ 403.471421] [<f8078ce0>] ? sky2_mac_intr+0x30/0xc1 [sky2] [ 403.477684] [<f807c33b>] sky2_poll+0x1d2/0xa07 [sky2] [ 403.483502] [<c184526c>] ? insert_work+0xa5/0xbf [ 403.488843] [<c1af8f7f>] ? _spin_unlock_irq+0x2f/0x42 [ 403.494664] [<c1a6ebc5>] net_rx_action+0x9e/0x1ae [ 403.500102] [<c1838e5e>] __do_softirq+0xb2/0x188 Message from[ 403.505490] [<c1838f73>] do_softirq+0x3f/0x5c syslogd@gibralt[ 403.511881] [<c18390fd>] irq_exit+0x37/0x80 ar3-esys-master [ 403.518089] [<c18146fa>] smp_apic_timer_interrupt+0x7c/0x9b at Aug 31 11:56:[ 403.525829] [<c1803a31>] apic_timer_interrupt+0x31/0x40 58 ... kernel[ 403.533177] [<c1840068>] ? complete_signal+0x97/0x1ac :[ 403.047392] [ 403.540336] [<c180a262>] ? mwait_idle+0xad/0x116 Oops: 0000 [#1] [ 403.547010] [<c1801e2f>] cpu_idle+0x96/0xc3 PREEMPT SMP [ 403.553229] [<c1ae6629>] rest_init+0x75/0x88 Message from [ 403.559515] [<c102aa10>] start_kernel+0x32d/0x343 syslogd@gibralta[ 403.566324] [<c102a072>] _sinittext+0x72/0x88 r3-esys-master a[ 403.572752] Rebooting in 30 seconds.. Potentially the last system reset was similar but just didn't print the stack trace for some reason (that is, on the previous reboot with the very same sky2.ko loaded, the system just hard-locked and rebooted itself after 30s without printing anything to the serial console). best regards, Rene -- ------------------------------------------------- Gibraltar firewall http://www.gibraltar.at/ ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] sky2: only enable Vaux if capable of wakeup 2009-08-31 9:58 ` Rene Mayrhofer @ 2009-09-03 16:16 ` Stephen Hemminger 2009-09-04 3:10 ` David Miller 2009-09-04 11:55 ` Rene Mayrhofer 0 siblings, 2 replies; 14+ messages in thread From: Stephen Hemminger @ 2009-09-03 16:16 UTC (permalink / raw) To: Rene Mayrhofer, David Miller; +Cc: Mike McCormack, netdev, Richard Leitner While perusing vendor driver, I saw that it did not enable the Vaux power unless device was able to wake from lan for D3cold. This might help for Rene's power issue. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- a/drivers/net/sky2.c 2009-09-03 09:01:24.668473584 -0700 +++ b/drivers/net/sky2.c 2009-09-03 09:10:18.949088574 -0700 @@ -272,8 +272,9 @@ static void sky2_power_aux(struct sky2_h Y2_CLK_GAT_LNK1_DIS | Y2_PCI_CLK_LNK2_DIS | Y2_COR_CLK_LNK2_DIS | Y2_CLK_GAT_LNK2_DIS); - /* switch power to VAUX */ - if (sky2_read32(hw, B0_CTST) & Y2_VAUX_AVAIL) + /* switch power to VAUX if supported and PME from D3cold */ + if ( (sky2_read32(hw, B0_CTST) & Y2_VAUX_AVAIL) && + pci_pme_capable(hw->pdev, PCI_D3cold)) sky2_write8(hw, B0_POWER_CTRL, (PC_VAUX_ENA | PC_VCC_ENA | PC_VAUX_ON | PC_VCC_OFF)); ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: only enable Vaux if capable of wakeup 2009-09-03 16:16 ` [PATCH] sky2: only enable Vaux if capable of wakeup Stephen Hemminger @ 2009-09-04 3:10 ` David Miller 2009-09-04 11:55 ` Rene Mayrhofer 1 sibling, 0 replies; 14+ messages in thread From: David Miller @ 2009-09-04 3:10 UTC (permalink / raw) To: shemminger; +Cc: rene.mayrhofer, mikem, netdev, leitner From: Stephen Hemminger <shemminger@linux-foundation.org> Date: Thu, 3 Sep 2009 09:16:25 -0700 > While perusing vendor driver, I saw that it did not enable the Vaux > power unless device was able to wake from lan for D3cold. > This might help for Rene's power issue. > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Applied. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: only enable Vaux if capable of wakeup 2009-09-03 16:16 ` [PATCH] sky2: only enable Vaux if capable of wakeup Stephen Hemminger 2009-09-04 3:10 ` David Miller @ 2009-09-04 11:55 ` Rene Mayrhofer 1 sibling, 0 replies; 14+ messages in thread From: Rene Mayrhofer @ 2009-09-04 11:55 UTC (permalink / raw) To: Stephen Hemminger; +Cc: David Miller, Mike McCormack, netdev, Richard Leitner Am Donnerstag, 3. September 2009 18:16:25 schrieb Stephen Hemminger: > While perusing vendor driver, I saw that it did not enable the Vaux > power unless device was able to wake from lan for D3cold. > This might help for Rene's power issue. Unfortunately still no go: [/etc/local]# /etc/init.d/networking restart Reconfiguring network interfaces...[ 876.000122] sky2 0000:02:00.0: error interrupt status=0xffffffff [ 876.007018] sky2 0000:02:00.0: PCI hardware error (0xffff) [ 876.013131] sky2 0000:02:00.0: PCI Express error (0xffffffff) [ 876.019542] sky2 gibsrv: ram data read parity error [ 876.024972] sky2 gibsrv: ram data write parity error [ 876.030507] sky2 gibsrv: MAC parity error [ 876.034979] sky2 gibsrv: RX parity error [ 876.039364] sky2 gibsrv: TCP segmentation error [ 876.044498] BUG: unable to handle kernel NULL pointer dereference at 0000038d [ 876.048401] IP: [<f9822c05>] sky2_mac_intr+0x30/0xc1 [sky2] [ 876.048401] *pde = 00000000 [ 876.048401] Oops: 0000 [#1] PREEMPT SMP [ 876.048401] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed [ 876.048401] Modules linked in: sky2 xt_multiport cpufreq_userspace ip6t_REJECT xt_DSCP xt_length xt_mark xt_dscp xt_MARK xt_IMQ xt_CONNMARK xt_comment xt_policy 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 lm90 led_class 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 iTCO_wdt evdev rng_core parport_pc parport serio_raw processor i2c_i801 i2c_core button pcspkr intel_agp squashfs loop aufs exportfs nls_utf8 nls_cp437 ide_generic sd_mod ata_generic pata_acpi skge ata_piix ide_pci_generic ide_core thermal fan thermal_sys [ 876.135785] [ 876.135785] Pid: 17610, comm: wpasupplicant Not tainted (2.6.30.5 #20) [ 876.158382] EIP: 0060:[<f9822c05>] EFLAGS: 00010286 CPU: 0 [ 876.158382] EIP is at sky2_mac_intr+0x30/0xc1 [sky2] [ 876.158382] EAX: f9840f88 EBX: 00000001 ECX: 00000008 EDX: 000000ff [ 876.158382] ESI: 00000000 EDI: f620e180 EBP: f7137eb4 ESP: f7137e9c [ 876.158382] DS: 0068 ES: 0068 FS: 00d8 GS: 00e0 SS: 0068 [ 876.185866] Process wpasupplicant (pid: 17610, ti=f7136000 task=f18daff0 task.ti=f7136000) [ 876.197466] Stack: [ 876.197466] 00000080 ff20e180 cf1993a7 f70fb520 ffffffff ffffffff f7137f28 f9826375 [ 876.210259] c2523680 c2522a20 00000040 f620e188 c184526c 00000000 f620e180 ffffffff [ 876.216099] cf1993a7 f70e6800 c1af8fc3 cf1993a7 f7137f04 c1845b23 cf1993a7 c2522a20 [ 876.220633] Call Trace: [ 876.220633] [<f9826375>] ? sky2_poll+0x1d2/0xa09 [sky2] [ 876.235944] [<c184526c>] ? insert_work+0xa5/0xbf [ 876.235944] [<c1af8fc3>] ? _spin_unlock_irqrestore+0x31/0x44 [ 876.247398] [<c1845b23>] ? __queue_work+0x36/0x4d [ 876.247398] [<c1a80b63>] ? __qdisc_run+0x73/0x1ca [ 876.258378] [<c1a6ebc5>] ? net_rx_action+0x9e/0x1ae [ 876.258378] [<c1838e5e>] ? __do_softirq+0xb2/0x188 [ 876.258378] [<c1838f73>] ? do_softirq+0x3f/0x5c [ 876.258378] [<c18390fd>] ? irq_exit+0x37/0x80 [ 876.279685] [<c18146fa>] ? smp_apic_timer_interrupt+0x7c/0x9b [ 876.286027] [<c1803a31>] ? apic_timer_interrupt+0x31/0x40 [ 876.286027] Code: c7 56 53 89 d3 83 ec 0c 65 a1 14 00 00 00 89 45 f0 31 c0 8b 74 97 3c c1 e2 07 89 d0 05 08 0f 00 00 89 55 e8 03 07 8a 10 88 55 ef <f6> 86 8d 03 00 00 02 74 12 0f b6 c2 50 56 68 84 83 82 f9 e8 bd [ 876.286027] EIP: [<f9822c05>] sky2_mac_intr+0x30/0xc1 [sky2] SS:ESP 0068:f7137e9c [ 876.317157] CR2: 000000000000038d [ 876.329711] ---[ end trace da166dbaaae741d0 ]--- [ 876.334933] Kernel panic - not syncing: Fatal exception in interrupt [ 876.342084] Pid: 17610, comm: wpasupplicant Tainted: G D 2.6.30.5 #20 Message from[ 876.350143] Call Trace: syslogd@gibralt[ 876.354354] [<c1af5bf7>] ? printk+0x1d/0x30 ar3-esys-master [ 876.360562] [<c1af5b35>] panic+0x53/0xf8 at Sep 4 13:55:[ 876.366471] [<c1806787>] oops_end+0x9f/0xbf 01 ... kernel[ 876.372675] [<c181d7ef>] no_context+0x15d/0x178 :[ 876.048401] [ 876.379258] [<c181db53>] __bad_area_nosemaphore+0x349/0x362 Oops: 0000 [#1] [ 876.386999] [<c197afed>] ? vsnprintf+0x2de/0x332 PREEMPT SMP [ 876.393669] [<c197ada0>] ? vsnprintf+0x91/0x332 Message from [ 876.400274] [<c1af8fc3>] ? _spin_unlock_irqrestore+0x31/0x44 syslogd@gibralta[ 876.408099] [<c1af8fc3>] ? _spin_unlock_irqrestore+0x31/0x44 r3-esys-master a[ 876.415929] [<c18340f7>] ? release_console_sem+0x18b/0x1c9 t Sep 4 13:55:0[ 876.423575] [<c181db89>] bad_area_nosemaphore+0x1d/0x34 1 ... kernel:[ 876.430916] [<c181de56>] do_page_fault+0x10d/0x24b [ 876.048401] l[ 876.437791] [<c181dd49>] ? do_page_fault+0x0/0x24b ast sysfs file: [ 876.444668] [<c1af945d>] error_code+0x7d/0x90 /sys/devices/sys[ 876.451059] [<c1970068>] ? blk_alloc_devt+0x59/0xb9 tem/cpu/cpu0/cpu[ 876.458035] [<f9822c05>] ? sky2_mac_intr+0x30/0xc1 [sky2] freq/scaling_set[ 876.465579] [<f9826375>] sky2_poll+0x1d2/0xa09 [sky2] speed Mess[ 876.472728] [<c184526c>] ? insert_work+0xa5/0xbf age from syslogd[ 876.479407] [<c1af8fc3>] ? _spin_unlock_irqrestore+0x31/0x44 @gibraltar3-esys[ 876.487231] [<c1845b23>] ? __queue_work+0x36/0x4d -master at Sep [ 876.494009] [<c1a80b63>] ? __qdisc_run+0x73/0x1ca [ 876.500782] [<c1a6ebc5>] net_rx_action+0x9e/0x1ae kernel:[ 876.[ 876.507564] [<c1838e5e>] __do_softirq+0xb2/0x188 185866] Process [ 876.514244] [<c1838f73>] do_softirq+0x3f/0x5c wpasupplicant (p[ 876.520622] [<c18390fd>] irq_exit+0x37/0x80 id: 17610, ti=f7[ 876.526807] [<c18146fa>] smp_apic_timer_interrupt+0x7c/0x9b 136000 task=f18d[ 876.534521] [<c1803a31>] apic_timer_interrupt+0x31/0x40 aff0 task.ti=f71[ 876.541855] Rebooting in 30 seconds.. best regards, Rene -- ------------------------------------------------- Gibraltar firewall http://www.gibraltar.at/ ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] sky2: fix management of driver LED 2009-08-29 13:10 [PATCH] sky2: Don't try to turn led off in sky2_down() Mike McCormack ` (3 preceding siblings ...) 2009-08-31 9:58 ` Rene Mayrhofer @ 2009-08-31 17:31 ` Stephen Hemminger 2009-09-02 0:44 ` David Miller 4 siblings, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2009-08-31 17:31 UTC (permalink / raw) To: Mike McCormack, David Miller; +Cc: netdev, Rene Mayrhofer, Richard Leitner Observed by Mike McCormack. The LED bit here is just a software controlled value used to turn on one of the LED's on some boards. The register value was wrong, which could have been causing some power control issues. Get rid of problematic define use the correct mask. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- drivers/net/sky2.c | 12 ++++++------ drivers/net/sky2.h | 9 +-------- 2 files changed, 7 insertions(+), 14 deletions(-) --- a/drivers/net/sky2.c 2009-08-31 09:05:07.941736447 -0700 +++ b/drivers/net/sky2.c 2009-08-31 09:46:24.611967164 -0700 @@ -256,6 +256,9 @@ static void sky2_power_on(struct sky2_hw sky2_read32(hw, B2_GP_IO); } + + /* Turn on "driver loaded" LED */ + sky2_write16(hw, B0_CTST, Y2_LED_STAT_ON); } static void sky2_power_aux(struct sky2_hw *hw) @@ -274,6 +277,9 @@ static void sky2_power_aux(struct sky2_h sky2_write8(hw, B0_POWER_CTRL, (PC_VAUX_ENA | PC_VCC_ENA | PC_VAUX_ON | PC_VCC_OFF)); + + /* turn off "driver loaded LED" */ + sky2_write16(hw, B0_CTST, Y2_LED_STAT_OFF); } static void sky2_gmac_reset(struct sky2_hw *hw, unsigned port) @@ -1866,9 +1872,6 @@ static int sky2_down(struct net_device * sky2_phy_power_down(hw, port); spin_unlock_bh(&sky2->phy_lock); - /* turn off LED's */ - sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); - sky2_tx_reset(hw, port); /* Free any pending frames stuck in HW queue */ @@ -2982,8 +2985,6 @@ static void sky2_reset(struct sky2_hw *h sky2_write8(hw, B2_TI_CTRL, TIM_STOP); sky2_write8(hw, B2_TI_CTRL, TIM_CLR_IRQ); - sky2_write8(hw, B0_Y2LED, LED_STAT_ON); - /* Turn off descriptor polling */ sky2_write32(hw, B28_DPT_CTRL, DPT_STOP); @@ -4600,7 +4601,6 @@ static void __devexit sky2_remove(struct sky2_power_aux(hw); - sky2_write16(hw, B0_Y2LED, LED_STAT_OFF); sky2_write8(hw, B0_CTST, CS_RST_SET); sky2_read8(hw, B0_CTST); --- a/drivers/net/sky2.h 2009-08-31 09:05:07.954719390 -0700 +++ b/drivers/net/sky2.h 2009-08-31 09:05:36.488716877 -0700 @@ -155,7 +155,7 @@ enum pci_cfg_reg1 { enum csr_regs { B0_RAP = 0x0000, B0_CTST = 0x0004, - B0_Y2LED = 0x0005, + B0_POWER_CTRL = 0x0007, B0_ISRC = 0x0008, B0_IMSK = 0x000c, @@ -283,13 +283,6 @@ enum { CS_RST_SET = 1, /* Set Software reset */ }; -/* B0_LED 8 Bit LED register */ -enum { -/* Bit 7.. 2: reserved */ - LED_STAT_ON = 1<<1, /* Status LED on */ - LED_STAT_OFF = 1, /* Status LED off */ -}; - /* B0_POWER_CTRL 8 Bit Power Control reg (YUKON only) */ enum { PC_VAUX_ENA = 1<<7, /* Switch VAUX Enable */ ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: fix management of driver LED 2009-08-31 17:31 ` [PATCH] sky2: fix management of driver LED Stephen Hemminger @ 2009-09-02 0:44 ` David Miller 2009-09-02 4:33 ` Stephen Hemminger 0 siblings, 1 reply; 14+ messages in thread From: David Miller @ 2009-09-02 0:44 UTC (permalink / raw) To: shemminger; +Cc: mikem, netdev, rene.mayrhofer, leitner From: Stephen Hemminger <shemminger@linux-foundation.org> Date: Mon, 31 Aug 2009 10:31:41 -0700 > Observed by Mike McCormack. > > The LED bit here is just a software controlled value used to > turn on one of the LED's on some boards. The register value was wrong, > which could have been causing some power control issues. > Get rid of problematic define use the correct mask. > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Applied. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: fix management of driver LED 2009-09-02 0:44 ` David Miller @ 2009-09-02 4:33 ` Stephen Hemminger 2009-09-02 7:28 ` Rene Mayrhofer 2009-09-02 7:33 ` David Miller 0 siblings, 2 replies; 14+ messages in thread From: Stephen Hemminger @ 2009-09-02 4:33 UTC (permalink / raw) To: David Miller; +Cc: mikem, netdev, rene.mayrhofer, leitner On Tue, 01 Sep 2009 17:44:37 -0700 (PDT) David Miller <davem@davemloft.net> wrote: > From: Stephen Hemminger <shemminger@linux-foundation.org> > Date: Mon, 31 Aug 2009 10:31:41 -0700 > > > Observed by Mike McCormack. > > > > The LED bit here is just a software controlled value used to > > turn on one of the LED's on some boards. The register value was wrong, > > which could have been causing some power control issues. > > Get rid of problematic define use the correct mask. > > > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > Applied. If these power management fixes do fix all the reported problems, then I will consider back porting (probably to 2.6.31.1). -- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: fix management of driver LED 2009-09-02 4:33 ` Stephen Hemminger @ 2009-09-02 7:28 ` Rene Mayrhofer 2009-09-02 7:33 ` David Miller 1 sibling, 0 replies; 14+ messages in thread From: Rene Mayrhofer @ 2009-09-02 7:28 UTC (permalink / raw) To: Stephen Hemminger; +Cc: David Miller, mikem, netdev, leitner, hofer [-- Attachment #1: Type: Text/Plain, Size: 1500 bytes --] On Wednesday 02 September 2009 06:33:25 am Stephen Hemminger wrote: > On Tue, 01 Sep 2009 17:44:37 -0700 (PDT) > > David Miller <davem@davemloft.net> wrote: > > From: Stephen Hemminger <shemminger@linux-foundation.org> > > Date: Mon, 31 Aug 2009 10:31:41 -0700 > > > > > Observed by Mike McCormack. > > > > > > The LED bit here is just a software controlled value used to > > > turn on one of the LED's on some boards. The register value was wrong, > > > which could have been causing some power control issues. > > > Get rid of problematic define use the correct mask. > > > > > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > > > Applied. > > If these power management fixes do fix all the reported problems, > then I will consider back porting (probably to 2.6.31.1). They don't, unfortunately (nonetheless, they should be applied). The bug is still reproducible with this patch applied to the latest net-next version of sky2.[ch]. I am currently working on setting up a test environment to reproduce the bug and access the system console (serial line) as well as hard power reset. Both you and Mike (and David if it helps) will get the necessary access so that you can debug more efficiently on the system itself (without me being in the middle, slowing things down). I hope to have everything ready in an hour. best regards, Rene -- ------------------------------------------------- Gibraltar firewall http://www.gibraltar.at/ [-- Attachment #2: This is a digitally signed message part. --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] sky2: fix management of driver LED 2009-09-02 4:33 ` Stephen Hemminger 2009-09-02 7:28 ` Rene Mayrhofer @ 2009-09-02 7:33 ` David Miller 1 sibling, 0 replies; 14+ messages in thread From: David Miller @ 2009-09-02 7:33 UTC (permalink / raw) To: shemminger; +Cc: mikem, netdev, rene.mayrhofer, leitner From: Stephen Hemminger <shemminger@linux-foundation.org> Date: Tue, 1 Sep 2009 21:33:25 -0700 > On Tue, 01 Sep 2009 17:44:37 -0700 (PDT) > David Miller <davem@davemloft.net> wrote: > >> From: Stephen Hemminger <shemminger@linux-foundation.org> >> Date: Mon, 31 Aug 2009 10:31:41 -0700 >> >> > Observed by Mike McCormack. >> > >> > The LED bit here is just a software controlled value used to >> > turn on one of the LED's on some boards. The register value was wrong, >> > which could have been causing some power control issues. >> > Get rid of problematic define use the correct mask. >> > >> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> >> >> Applied. > > If these power management fixes do fix all the reported problems, > then I will consider back porting (probably to 2.6.31.1). Good idea. ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2009-09-04 11:56 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-08-29 13:10 [PATCH] sky2: Don't try to turn led off in sky2_down() Mike McCormack 2009-08-29 13:17 ` Mike McCormack 2009-08-29 17:57 ` Stephen Hemminger 2009-08-30 0:37 ` Mike McCormack 2009-08-31 9:48 ` Rene Mayrhofer 2009-08-31 9:58 ` Rene Mayrhofer 2009-09-03 16:16 ` [PATCH] sky2: only enable Vaux if capable of wakeup Stephen Hemminger 2009-09-04 3:10 ` David Miller 2009-09-04 11:55 ` Rene Mayrhofer 2009-08-31 17:31 ` [PATCH] sky2: fix management of driver LED Stephen Hemminger 2009-09-02 0:44 ` David Miller 2009-09-02 4:33 ` Stephen Hemminger 2009-09-02 7:28 ` Rene Mayrhofer 2009-09-02 7:33 ` David Miller
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).