* [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: 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
* [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
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).