> From: Vaibhav Gupta <[email protected]> > Sent: Monday, May 25, 2020 5:27 AM > To: Vaibhav Gupta <[email protected]>; Bjorn Helgaas > <[email protected]>; Bjorn Helgaas <[email protected]>; > [email protected]; Kirsher, Jeffrey T <[email protected]>; David S. > Miller <[email protected]>; [email protected] > Cc: Vaibhav Gupta <[email protected]>; Brandeburg, Jesse > <[email protected]>; [email protected]; > [email protected]; [email protected]; linux-kernel- > [email protected]; [email protected] > Subject: [PATCH v2] e1000: use generic power management > > compile-tested only > > With legacy PM hooks, it was the responsibility of a driver to manage PCI > states and also the device's power state. The generic approach is to let PCI > core handle the work. > > e1000_suspend() calls __e1000_shutdown() to perform intermediate tasks. > __e1000_shutdown() modifies the value of "wake" (device should be wakeup > enabled or not), responsible for controlling the flow of legacy PM. > > Since, PCI core has no idea about the value of "wake", new code for generic > PM may produce unexpected results. Thus, use "device_set_wakeup_enable()" > to wakeup-enable the device accordingly. > > Signed-off-by: Vaibhav Gupta <[email protected]> > --- > drivers/net/ethernet/intel/e1000/e1000_main.c | 49 +++++-------------- > 1 file changed, 13 insertions(+), 36 deletions(-)
I don't have many old PCI systems that handle power management properly before adding this patch. However, the few ones that do continue to do so with the older e1000 parts I still have around. So a small sample, but at least confirmed on _some_ real hardware Tested-by: Aaron Brown <[email protected]>

