OSDN Git Service

i40e: Add new versions of send ASQ command functions
authorJedrzej Jagielski <jedrzej.jagielski@intel.com>
Fri, 14 Jan 2022 13:19:29 +0000 (13:19 +0000)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 3 Feb 2022 21:13:50 +0000 (13:13 -0800)
commit74073848b0d7a6c2111b0823831aafd31b0e7759
tree8b378f4e0016cb0ae86d7b214aca3328316aaa72
parent59b3d7350ff35c939b8e173eb2eecac80a5ee046
i40e: Add new versions of send ASQ command functions

ASQ send command functions are returning only i40e status codes
yet some calling functions also need Admin Queue status
that is stored in hw->aq.asq_last_status. Since hw object
is stored on a heap it introduces a possibility for
a race condition in access to hw if calling function is not
fast enough to read hw->aq.asq_last_status before next
send ASQ command is executed.

Add new versions of send ASQ command functions that return
Admin Queue status on the stack to avoid race conditions
in access to hw->aq.asq_last_status.
Add new _v2 version of i40e_aq_remove_macvlan that is using
new _v2 versions of ASQ send command functions and returns
the Admin Queue status on the stack.

Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_adminq.c
drivers/net/ethernet/intel/i40e/i40e_common.c
drivers/net/ethernet/intel/i40e/i40e_prototype.h