mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
ice: enforce RTNL assumption of queue NAPI manipulation
Instead of making assumptions in comments move them into code. Be also more precise, RTNL must be locked only when there is NAPI, and we have VSIs w/o NAPI that call ice_vsi_clear_napi_queues() during rmmod. Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
f0a24b2547
commit
c35c178fcd
|
|
@ -2769,7 +2769,6 @@ void ice_dis_vsi(struct ice_vsi *vsi, bool locked)
|
|||
* @vsi: VSI pointer
|
||||
*
|
||||
* Associate queue[s] with napi for all vectors.
|
||||
* The caller must hold rtnl_lock.
|
||||
*/
|
||||
void ice_vsi_set_napi_queues(struct ice_vsi *vsi)
|
||||
{
|
||||
|
|
@ -2779,6 +2778,7 @@ void ice_vsi_set_napi_queues(struct ice_vsi *vsi)
|
|||
if (!netdev)
|
||||
return;
|
||||
|
||||
ASSERT_RTNL();
|
||||
ice_for_each_rxq(vsi, q_idx)
|
||||
netif_queue_set_napi(netdev, q_idx, NETDEV_QUEUE_TYPE_RX,
|
||||
&vsi->rx_rings[q_idx]->q_vector->napi);
|
||||
|
|
@ -2799,7 +2799,6 @@ void ice_vsi_set_napi_queues(struct ice_vsi *vsi)
|
|||
* @vsi: VSI pointer
|
||||
*
|
||||
* Clear the association between all VSI queues queue[s] and napi.
|
||||
* The caller must hold rtnl_lock.
|
||||
*/
|
||||
void ice_vsi_clear_napi_queues(struct ice_vsi *vsi)
|
||||
{
|
||||
|
|
@ -2809,6 +2808,7 @@ void ice_vsi_clear_napi_queues(struct ice_vsi *vsi)
|
|||
if (!netdev)
|
||||
return;
|
||||
|
||||
ASSERT_RTNL();
|
||||
/* Clear the NAPI's interrupt number */
|
||||
ice_for_each_q_vector(vsi, v_idx) {
|
||||
struct ice_q_vector *q_vector = vsi->q_vectors[v_idx];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user