iavf: Move netdev_update_features() into watchdog task
authorMarcin Szycik <marcin.szycik@linux.intel.com>
Tue, 3 Jan 2023 16:42:27 +0000 (17:42 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 20 Jan 2023 16:59:52 +0000 (08:59 -0800)
commit7598f4b40bd60e4a4280de645eb2893eea80b59d
tree210cbe8578be3eb5014b30442bbe79393cb7a896
parent4411a608f7c8df000cb1a9f7881982dd8e10839a
iavf: Move netdev_update_features() into watchdog task

Remove netdev_update_features() from iavf_adminq_task(), as it can cause
deadlocks due to needing rtnl_lock. Instead use the
IAVF_FLAG_SETUP_NETDEV_FEATURES flag to indicate that netdev features need
to be updated in the watchdog task. iavf_set_vlan_offload_features()
and iavf_set_queue_vlan_tag_loc() can be called directly from
iavf_virtchnl_completion().

Suggested-by: Phani Burra <phani.r.burra@intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Tested-by: Marek Szlosek <marek.szlosek@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/iavf/iavf_main.c
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c