tg3: Avoid setting power.can_wakeup for devices that cannot wake up
The tg3 driver uses device_init_wakeup() in such a way that the device's power.can_wakeup flag may be set even though the PCI subsystem cleared it before, in which case the device cannot wake up the system from sleep states. Modify the driver to only change the power.can_wakeup flag if the device is not capable of generating wakeup signals. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2866d956fe
commit
43067ed8ae
|
@ -12463,9 +12463,11 @@ static void __devinit tg3_get_eeprom_hw_cfg(struct tg3 *tp)
|
|||
tp->tg3_flags3 |= TG3_FLG3_RGMII_EXT_IBND_TX_EN;
|
||||
}
|
||||
done:
|
||||
device_init_wakeup(&tp->pdev->dev, tp->tg3_flags & TG3_FLAG_WOL_CAP);
|
||||
device_set_wakeup_enable(&tp->pdev->dev,
|
||||
if (tp->tg3_flags & TG3_FLAG_WOL_CAP)
|
||||
device_set_wakeup_enable(&tp->pdev->dev,
|
||||
tp->tg3_flags & TG3_FLAG_WOL_ENABLE);
|
||||
else
|
||||
device_set_wakeup_capable(&tp->pdev->dev, false);
|
||||
}
|
||||
|
||||
static int __devinit tg3_issue_otp_command(struct tg3 *tp, u32 cmd)
|
||||
|
|
Loading…
Reference in New Issue