Message ID | 20210827115225.6964-1-skalluru@marvell.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 57f780f1c43362b86fd23d20bd940e2468237716 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,1/1] atlantic: Fix driver resume flow. | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | fail | 1 blamed authors not CCed: ndanilov@marvell.com; 2 maintainers not CCed: ndanilov@marvell.com kuba@kernel.org |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 9 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
On Fri, 27 Aug 2021 04:52:25 -0700 Sudarsana Reddy Kalluru 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> > --- > drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 3 +++ > 1 file changed, 3 insertions(+) > > 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); Why does the deinit() happen on resume, not suspend? > ret = aq_nic_init(nic); > if (ret) > goto err_exit;
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 --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;