OSDN Git Service

i40e: Fix not setting default xps_cpus after reset
authorMichal Jaron <michalx.jaron@intel.com>
Mon, 24 Oct 2022 08:19:42 +0000 (10:19 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 5 Dec 2022 16:30:51 +0000 (08:30 -0800)
commit82e0572b23029b380464fa9fdc125db9c1506d0a
treec1ef94fbb0207017007ff96b586d97f3b26d937f
parente8b4fc13900b8e8be48debffd0dfd391772501f7
i40e: Fix not setting default xps_cpus after reset

During tx rings configuration default XPS queue config is set and
__I40E_TX_XPS_INIT_DONE is locked. __I40E_TX_XPS_INIT_DONE state is
cleared and set again with default mapping only during queues build,
it means after first setup or reset with queues rebuild. (i.e.
ethtool -L <interface> combined <number>) After other resets (i.e.
ethtool -t <interface>) XPS_INIT_DONE is not cleared and those default
maps cannot be set again. It results in cleared xps_cpus mapping
until queues are not rebuild or mapping is not set by user.

Add clearing __I40E_TX_XPS_INIT_DONE state during reset to let
the driver set xps_cpus to defaults again after it was cleared.

Fixes: 6f853d4f8e93 ("i40e: allow XPS with QoS enabled")
Signed-off-by: Michal Jaron <michalx.jaron@intel.com>
Signed-off-by: Kamil Maziarz <kamil.maziarz@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c