Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

[sky2] Fix sky2 network driver suspend/resume

This fixes two independent problems: it would not save the PCI state on
suspend (and thus try to resume a nonexistent state on resume), and
while shut off, if an interrupt happened on the same shared irq, the irq
handler would react very badly to the interrupt status being an invalid
all-ones state.

Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

+4
+4
drivers/net/sky2.c
··· 2183 2183 int work_done = 0; 2184 2184 u32 status = sky2_read32(hw, B0_Y2_SP_EISR); 2185 2185 2186 + if (!~status) 2187 + return 0; 2188 + 2186 2189 if (status & Y2_IS_HW_ERR) 2187 2190 sky2_hw_intr(hw); 2188 2191 ··· 3441 3438 } 3442 3439 } 3443 3440 3441 + pci_save_state(pdev); 3444 3442 return sky2_set_power_state(hw, pci_choose_state(pdev, state)); 3445 3443 } 3446 3444