lkml.org 
[lkml]   [2021]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 281/334] atlantic: Fix driver resume flow.
    Date
    From: Sudarsana Reddy Kalluru <skalluru@marvell.com>

    [ Upstream commit 57f780f1c43362b86fd23d20bd940e2468237716 ]

    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>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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);
    +
    ret = aq_nic_init(nic);
    if (ret)
    goto err_exit;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-13 17:07    [W:5.022 / U:1.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site