net/igb: Fix kexec with igb (rev. 3)
authorRafael J. Wysocki <rjw@sisk.pl>
Tue, 31 Mar 2009 21:23:50 +0000 (21:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Apr 2009 07:59:08 +0000 (00:59 -0700)
commit3fe7c4c9dca4fbbff92eb61a660690dad7029ec3
tree01659162f1b5f034428b0bf75aa85e064eed4857
parentcdfa9f6444ced9425e8e4fe4c2975a620e664b77
net/igb: Fix kexec with igb (rev. 3)

Impact: Fix

Yinghai Lu found one system with 82575EB where, in the kernel that is
kexeced, probe igb failed with -2, the reason being that the adapter
could not be brought back from D3 by the kexec kernel, most probably
due to quirky hardware (it looks like the same behavior happened on
forcedeth).

Prevent igb from putting the adapter into D3 during shutdown except
when we going to power off the system.  For this purpose, seperate
igb_shutdown() from igb_suspend() and use the appropriate PCI PM
callbacks in both of them.

Signed-off-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Reported-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/igb/igb_main.c