| From stable-bounces@linux.kernel.org Wed Aug 9 14:17:16 2006 |
| Date: Wed, 9 Aug 2006 14:16:41 -0700 |
| From: Stephen Hemminger <shemminger@osdl.org> |
| To: stable@kernel.org |
| Message-ID: <20060809141641.7bb5aeaf@localhost.localdomain> |
| Subject: sky2: phy power problem on 88e805x |
| |
| From: Stephen Hemminger <shemminger@osdl.org> |
| |
| On the 88E805X chipsets (used in laptops), the PHY was not getting powered |
| out of shutdown properly. The variable reg1 was getting reused incorrectly. |
| This is probably the cause of the bug. |
| http://bugzilla.kernel.org/show_bug.cgi?id=6471 |
| |
| Signed-off-by: Stephen Hemminger <shemminger@osdl.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/net/sky2.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- linux-2.6.17.8.orig/drivers/net/sky2.c |
| +++ linux-2.6.17.8/drivers/net/sky2.c |
| @@ -233,6 +233,8 @@ static void sky2_set_power_state(struct |
| if (hw->ports > 1) |
| reg1 |= PCI_Y2_PHY2_COMA; |
| } |
| + sky2_pci_write32(hw, PCI_DEV_REG1, reg1); |
| + udelay(100); |
| |
| if (hw->chip_id == CHIP_ID_YUKON_EC_U) { |
| sky2_write16(hw, B0_CTST, Y2_HW_WOL_ON); |
| @@ -243,8 +245,6 @@ static void sky2_set_power_state(struct |
| sky2_pci_write32(hw, PCI_DEV_REG5, 0); |
| } |
| |
| - sky2_pci_write32(hw, PCI_DEV_REG1, reg1); |
| - |
| break; |
| |
| case PCI_D3hot: |