qede: fix firmware halt over suspend and resume
authorManish Chopra <manishc@marvell.com>
Wed, 16 Aug 2023 15:07:11 +0000 (20:37 +0530)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Aug 2023 18:55:39 +0000 (11:55 -0700)
commit2eb9625a3a32251ecea470cd576659a3a03b4e59
treea23fa32d91e5423a590c6179beadcb3d251c8cda
parentb616be6b97688f2f2bd7c4a47ab32f27f94fb2a9
qede: fix firmware halt over suspend and resume

While performing certain power-off sequences, PCI drivers are
called to suspend and resume their underlying devices through
PCI PM (power management) interface. However this NIC hardware
does not support PCI PM suspend/resume operations so system wide
suspend/resume leads to bad MFW (management firmware) state which
causes various follow-up errors in driver when communicating with
the device/firmware afterwards.

To fix this driver implements PCI PM suspend handler to indicate
unsupported operation to the PCI subsystem explicitly, thus avoiding
system to go into suspended/standby mode.

Without this fix device/firmware does not recover unless system
is power cycled.

Fixes: 2950219d87b0 ("qede: Add basic network device support")
Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Alok Prasad <palok@marvell.com>
Reviewed-by: John Meneghini <jmeneghi@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230816150711.59035-1-manishc@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/qlogic/qede/qede_main.c