Re: [Bugme-new] [Bug 9721] New: wake on lan fails with sky2 module
From: Stephen Hemminger <hidden>
Date: 2008-01-14 16:42:39
Also in:
linux-acpi
On Sun, 13 Jan 2008 11:27:12 -0800 Andrew Morton [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On Sun, 13 Jan 2008 16:08:38 +0100 supersud501 [off-list ref] wrote:quoted
supersud501 wrote:quoted
Rafael J. Wysocki wrote:quoted
Since it seems to be 100% reproducible, it would be very helpful if you could use git-bisect to identify the offending commit.allright, bisect found the offending commit, here's what i've done: first i started bisect with the following command (since i assumed it is a net-driver problem): git-bisect start 'v2.6.24-rc6' 'v2.6.23' '--' 'drivers/net/' after building many kernels and saying good/bad if wol worked/didn't work etc. it identified the following commit: # bad: [ac93a3946b676025fa55356180e8321639744b31] sky2: enable PCI config writes and refs/bisect/bad gives: 14:16:53 /usr/src/linux-2.6/.git # cat refs/bisect/bad ac93a3946b676025fa55356180e8321639744b31 need some more info?i just checked it: commented out the passage of the commit in kernel 2.6.24-rc7-git4 and compiled it: wol WORKS. so this one line is causing my wol-disturbance...So simply reverting this: commit ac93a3946b676025fa55356180e8321639744b31 Author: Stephen Hemminger [off-list ref] Date: Mon Nov 5 15:52:08 2007 -0800 sky2: enable PCI config writes On some boards, PCI configuration space access is turned off by default. The 2.6.24 driver doesn't turn it on, and should have. Signed-off-by: Stephen Hemminger [off-list ref] Signed-off-by: Jeff Garzik [off-list ref]diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index c27c7d6..4f41a94 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c@@ -2791,6 +2791,9 @@ static void sky2_reset(struct sky2_hw *hw) sky2_write8(hw, B0_CTST, CS_RST_SET); sky2_write8(hw, B0_CTST, CS_RST_CLR); + /* allow writes to PCI config */ + sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON); + /* clear PCI errors, if any */ pci_read_config_word(pdev, PCI_STATUS, &status); status |= PCI_STATUS_ERROR_BITS;fixes this regression? If so, we should revert that change.quoted
but i noticed another "bug" on 2.6.24-rc7-git with sky2: dmesg shows a lot of lines every 5 seconds: [...] [ 357.400462] sky2 0000:02:00.0: error interrupt status=0xc0000000 [ 362.442039] printk: 41 messages suppressed. [ 362.442043] sky2 0000:02:00.0: error interrupt status=0x80000000 [ 367.439151] printk: 18 messages suppressed. [ 367.439156] sky2 0000:02:00.0: error interrupt status=0x80000000 [ 372.436267] printk: 30 messages suppressed. [ 372.436271] sky2 0000:02:00.0: error interrupt status=0x80000000 [ 377.350236] printk: 19 messages suppressed. [...] since i do not notice any errors (yet) i'll wait till next rc, maybe it will be gone then...That's not good. is this new behaviour?
No, reverting that change will break other systems (including mine). -- Stephen Hemminger [off-list ref]