* [PATCH net] ixgbe: fix unbalanced device enable/disable in suspend/resume
@ 2021-03-22 7:14 Yongxin Liu
2021-04-09 19:56 ` Switzer, David
0 siblings, 1 reply; 2+ messages in thread
From: Yongxin Liu @ 2021-03-22 7:14 UTC (permalink / raw)
To: vaibhavgupta40, andrewx.bowers, anthony.l.nguyen
Cc: netdev, linux-kernel, davem, jesse.brandeburg, intel-wired-lan, kuba
pci_disable_device() called in __ixgbe_shutdown() decreases
dev->enable_cnt by 1. pci_enable_device_mem() which increases
dev->enable_cnt by 1, was removed from ixgbe_resume() in commit
6f82b2558735 ("ixgbe: use generic power management"). This caused
unbalanced increase/decrease. So add pci_enable_device_mem() back.
Fix the following call trace.
ixgbe 0000:17:00.1: disabling already-disabled device
Call Trace:
__ixgbe_shutdown+0x10a/0x1e0 [ixgbe]
ixgbe_suspend+0x32/0x70 [ixgbe]
pci_pm_suspend+0x87/0x160
? pci_pm_freeze+0xd0/0xd0
dpm_run_callback+0x42/0x170
__device_suspend+0x114/0x460
async_suspend+0x1f/0xa0
async_run_entry_fn+0x3c/0xf0
process_one_work+0x1dd/0x410
worker_thread+0x34/0x3f0
? cancel_delayed_work+0x90/0x90
kthread+0x14c/0x170
? kthread_park+0x90/0x90
ret_from_fork+0x1f/0x30
Fixes: 6f82b2558735 ("ixgbe: use generic power management")
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 9f3f12e2ccf2..b0a8f7a43f06 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -6891,6 +6891,11 @@ static int __maybe_unused ixgbe_resume(struct device *dev_d)
adapter->hw.hw_addr = adapter->io_addr;
+ err = pci_enable_device_mem(pdev);
+ if (err) {
+ e_dev_err("Cannot enable PCI device from suspend\n");
+ return err;
+ }
smp_mb__before_atomic();
clear_bit(__IXGBE_DISABLED, &adapter->state);
pci_set_master(pdev);
--
2.14.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* RE: [PATCH net] ixgbe: fix unbalanced device enable/disable in suspend/resume
2021-03-22 7:14 [PATCH net] ixgbe: fix unbalanced device enable/disable in suspend/resume Yongxin Liu
@ 2021-04-09 19:56 ` Switzer, David
0 siblings, 0 replies; 2+ messages in thread
From: Switzer, David @ 2021-04-09 19:56 UTC (permalink / raw)
To: Yongxin Liu, vaibhavgupta40, andrewx.bowers, Nguyen, Anthony L
Cc: netdev, linux-kernel, davem, Brandeburg, Jesse, intel-wired-lan, kuba
>-----Original Message-----
>From: Yongxin Liu <yongxin.liu@windriver.com>
>Sent: Monday, March 22, 2021 12:15 AM
>To: vaibhavgupta40@gmail.com; andrewx.bowers@intel.com; Nguyen, Anthony
>L <anthony.l.nguyen@intel.com>
>Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org;
>davem@davemloft.net; Brandeburg, Jesse <jesse.brandeburg@intel.com>; intel-
>wired-lan@lists.osuosl.org; kuba@kernel.org
>Subject: [PATCH net] ixgbe: fix unbalanced device enable/disable in
>suspend/resume
>
>pci_disable_device() called in __ixgbe_shutdown() decreases
>dev->enable_cnt by 1. pci_enable_device_mem() which increases enable_cnt
>dev->by 1, was removed from ixgbe_resume() in commit
>6f82b2558735 ("ixgbe: use generic power management"). This caused
>unbalanced increase/decrease. So add pci_enable_device_mem() back.
>
>Fix the following call trace.
>
> ixgbe 0000:17:00.1: disabling already-disabled device
> Call Trace:
> __ixgbe_shutdown+0x10a/0x1e0 [ixgbe]
> ixgbe_suspend+0x32/0x70 [ixgbe]
> pci_pm_suspend+0x87/0x160
> ? pci_pm_freeze+0xd0/0xd0
> dpm_run_callback+0x42/0x170
> __device_suspend+0x114/0x460
> async_suspend+0x1f/0xa0
> async_run_entry_fn+0x3c/0xf0
> process_one_work+0x1dd/0x410
> worker_thread+0x34/0x3f0
> ? cancel_delayed_work+0x90/0x90
> kthread+0x14c/0x170
> ? kthread_park+0x90/0x90
> ret_from_fork+0x1f/0x30
>
>Fixes: 6f82b2558735 ("ixgbe: use generic power management")
>Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
>---
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
Tested-by: Dave Switzer <david.switzer@intel.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-09 19:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-22 7:14 [PATCH net] ixgbe: fix unbalanced device enable/disable in suspend/resume Yongxin Liu
2021-04-09 19:56 ` Switzer, David
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).