diff mbox series

[net,1/1] atlantic: Fix driver resume flow.

Message ID 20210827115225.6964-1-skalluru@marvell.com
State New
Headers show
Series [net,1/1] atlantic: Fix driver resume flow. | expand

Commit Message

Sudarsana Reddy Kalluru Aug. 27, 2021, 11:52 a.m. UTC
Driver crashes when restoring from the Hibernate. In the resume flow,
driver need to clean up the older nic/vec objects and re-initialize them.

Fixes: 8aaa112a57c1d ("net: atlantic: refactoring pm logic")
Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
---
 drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 29, 2021, 9:50 a.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Fri, 27 Aug 2021 04:52:25 -0700 you wrote:
> Driver crashes when restoring from the Hibernate. In the resume flow,

> driver need to clean up the older nic/vec objects and re-initialize them.

> 

> Fixes: 8aaa112a57c1d ("net: atlantic: refactoring pm logic")

> Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>

> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>

> 

> [...]


Here is the summary with links:
  - [net,1/1] atlantic: Fix driver resume flow.
    https://git.kernel.org/netdev/net/c/57f780f1c433

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
index 59253846e885..f26d03735619 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
@@ -417,6 +417,9 @@  static int atl_resume_common(struct device *dev, bool deep)
 	pci_restore_state(pdev);
 
 	if (deep) {
+		/* Reinitialize Nic/Vecs objects */
+		aq_nic_deinit(nic, !nic->aq_hw->aq_nic_cfg->wol);
+
 		ret = aq_nic_init(nic);
 		if (ret)
 			goto err_exit;