lkml.org 
[lkml]   [2022]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 141/231] net: atlantic: remove aq_nic_deinit() when resume
    Date
    From: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>

    [ Upstream commit 2e15c51fefaffaf9f72255eaef4fada05055e4c5 ]

    aq_nic_deinit() has been called while suspending, so we don't have to call
    it again on resume.
    Actually, call it again leads to another hang issue when resuming from
    S3.

    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992345] Call Trace:
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992346] <TASK>
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992348] aq_nic_deinit+0xb4/0xd0 [atlantic]
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992356] aq_pm_thaw+0x7f/0x100 [atlantic]
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992362] pci_pm_resume+0x5c/0x90
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992366] ? pci_pm_thaw+0x80/0x80
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992368] dpm_run_callback+0x4e/0x120
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992371] device_resume+0xad/0x200
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992373] async_resume+0x1e/0x40
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992374] async_run_entry_fn+0x33/0x120
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992377] process_one_work+0x220/0x3c0
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992380] worker_thread+0x4d/0x3f0
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992382] ? process_one_work+0x3c0/0x3c0
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992384] kthread+0x12a/0x150
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992386] ? set_kthread_struct+0x40/0x40
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992387] ret_from_fork+0x22/0x30
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992391] </TASK>
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992392] ---[ end trace 1ec8c79604ed5e0d ]---
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992394] PM: dpm_run_callback(): pci_pm_resume+0x0/0x90 returns -110
    Jul 8 03:09:44 u-Precision-7865-Tower kernel: [ 5910.992397] atlantic 0000:02:00.0: PM: failed to resume async: error -110

    Fixes: 1809c30b6e5a ("net: atlantic: always deep reset on pm op, fixing up my null deref regression")
    Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao@canonical.com>
    Link: https://lore.kernel.org/r/20220713111224.1535938-2-acelan.kao@canonical.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 3 ---
    1 file changed, 3 deletions(-)

    diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
    index dbd5263130f9..8647125d60ae 100644
    --- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
    +++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c
    @@ -413,9 +413,6 @@ static int atl_resume_common(struct device *dev)
    pci_set_power_state(pdev, PCI_D0);
    pci_restore_state(pdev);

    - /* Reinitialize Nic/Vecs objects */
    - aq_nic_deinit(nic, !nic->aq_hw->aq_nic_cfg->wol);
    -
    if (netif_running(nic->ndev)) {
    ret = aq_nic_init(nic);
    if (ret)
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-07-19 15:03    [W:3.952 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site