[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM4PR11MB61173CBB283DAD1C58775F4B827F2@DM4PR11MB6117.namprd11.prod.outlook.com>
Date: Wed, 9 Oct 2024 14:51:54 +0000
From: "Fijalkowski, Maciej" <maciej.fijalkowski@...el.com>
To: "Nguyen, Anthony L" <anthony.l.nguyen@...el.com>, "davem@...emloft.net"
<davem@...emloft.net>, "kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>, "edumazet@...gle.com"
<edumazet@...gle.com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: Marcin Szycik <marcin.szycik@...ux.intel.com>, "Nguyen, Anthony L"
<anthony.l.nguyen@...el.com>, "Polchlopek, Mateusz"
<mateusz.polchlopek@...el.com>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>, Brett Creeley <brett.creeley@....com>,
"Pucha, HimasekharX Reddy" <himasekharx.reddy.pucha@...el.com>
Subject: RE: [PATCH net 1/7] ice: Fix entering Safe Mode
> From: Marcin Szycik <marcin.szycik@...ux.intel.com>
>
> If DDP package is missing or corrupted, the driver should enter Safe Mode.
> Instead, an error is returned and probe fails.
>
> To fix this, don't exit init if ice_init_ddp_config() returns an error.
>
> Repro:
> * Remove or rename DDP package (/lib/firmware/intel/ice/ddp/ice.pkg)
> * Load ice
>
> Fixes: cc5776fe1832 ("ice: Enable switching default Tx scheduler topology")
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
> Signed-off-by: Marcin Szycik <marcin.szycik@...ux.intel.com>
> Reviewed-by: Brett Creeley <brett.creeley@....com>
> Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@...el.com>
> (A Contingent worker at Intel)
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@...el.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
> ---
> drivers/net/ethernet/intel/ice/ice_main.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c
> b/drivers/net/ethernet/intel/ice/ice_main.c
> index fbab72fab79c..da1352dc26af 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -4767,14 +4767,12 @@ int ice_init_dev(struct ice_pf *pf)
> ice_init_feature_support(pf);
>
> err = ice_init_ddp_config(hw, pf);
> - if (err)
> - return err;
>
> /* if ice_init_ddp_config fails, ICE_FLAG_ADV_FEATURES bit won't be
> * set in pf->state, which will cause ice_is_safe_mode to return
> * true
> */
> - if (ice_is_safe_mode(pf)) {
> + if (err || ice_is_safe_mode(pf)) {
> /* we already got function/device capabilities but these don't
> * reflect what the driver needs to do in safe mode. Instead of
> * adding conditional logic everywhere to ignore these
> --
> 2.42.0
>
Powered by blists - more mailing lists