lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 573/800] e1000e: Check the PCIm state
    Date
    From: Sasha Neftin <sasha.neftin@intel.com>

    [ Upstream commit 2e7256f12cdb16eaa2515b6231d665044a07c51a ]

    Complete to commit def4ec6dce393e ("e1000e: PCIm function state support")
    Check the PCIm state only on CSME systems. There is no point to do this
    check on non CSME systems.
    This patch fixes a generation a false-positive warning:
    "Error in exiting dmoff"

    Fixes: def4ec6dce39 ("e1000e: PCIm function state support")
    Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
    Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/intel/e1000e/netdev.c | 24 ++++++++++++----------
    1 file changed, 13 insertions(+), 11 deletions(-)

    diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
    index 88e9035b75cf..dc0ded7e5e61 100644
    --- a/drivers/net/ethernet/intel/e1000e/netdev.c
    +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
    @@ -5223,18 +5223,20 @@ static void e1000_watchdog_task(struct work_struct *work)
    pm_runtime_resume(netdev->dev.parent);

    /* Checking if MAC is in DMoff state*/
    - pcim_state = er32(STATUS);
    - while (pcim_state & E1000_STATUS_PCIM_STATE) {
    - if (tries++ == dmoff_exit_timeout) {
    - e_dbg("Error in exiting dmoff\n");
    - break;
    - }
    - usleep_range(10000, 20000);
    + if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID) {
    pcim_state = er32(STATUS);
    -
    - /* Checking if MAC exited DMoff state */
    - if (!(pcim_state & E1000_STATUS_PCIM_STATE))
    - e1000_phy_hw_reset(&adapter->hw);
    + while (pcim_state & E1000_STATUS_PCIM_STATE) {
    + if (tries++ == dmoff_exit_timeout) {
    + e_dbg("Error in exiting dmoff\n");
    + break;
    + }
    + usleep_range(10000, 20000);
    + pcim_state = er32(STATUS);
    +
    + /* Checking if MAC exited DMoff state */
    + if (!(pcim_state & E1000_STATUS_PCIM_STATE))
    + e1000_phy_hw_reset(&adapter->hw);
    + }
    }

    /* update snapshot of PHY registers on LSC */
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:10    [W:2.759 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site