diff --git a/[refs] b/[refs] index 0ced26e32854..72e0d00b8aeb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0e838b72d54ed189033939258a961f2a0cd59647 +refs/heads/master: d374c1c1281d6188a0d0676172b1c0e3de35c6e7 diff --git a/trunk/drivers/net/sky2.c b/trunk/drivers/net/sky2.c index 959109609d85..6b87c7a5c906 100644 --- a/trunk/drivers/net/sky2.c +++ b/trunk/drivers/net/sky2.c @@ -2183,6 +2183,9 @@ static int sky2_poll(struct net_device *dev0, int *budget) int work_done = 0; u32 status = sky2_read32(hw, B0_Y2_SP_EISR); + if (!~status) + return 0; + if (status & Y2_IS_HW_ERR) sky2_hw_intr(hw); @@ -3438,6 +3441,7 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state) } } + pci_save_state(pdev); return sky2_set_power_state(hw, pci_choose_state(pdev, state)); }