Skip to content

Commit 1ff72a2

Browse files
mfijalkoanguy11
authored andcommitted
ice: don't busy wait for Rx queue disable in ice_qp_dis()
When ice driver is spammed with multiple xdpsock instances and flow control is enabled, there are cases when Rx queue gets stuck and unable to reflect the disable state in QRX_CTRL register. Similar issue has previously been addressed in commit 13a6233 ("ice: Add support to enable/disable all Rx queues before waiting"). To workaround this, let us simply not wait for a disabled state as later patch will make sure that regardless of the encountered error in the process of disabling a queue pair, the Rx queue will be enabled. Fixes: 2d4238f ("ice: Add support for AF_XDP") Reviewed-by: Shannon Nelson <[email protected]> Tested-by: Chandan Kumar Rout <[email protected]> (A Contingent Worker at Intel) Signed-off-by: Maciej Fijalkowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent ec145a1 commit 1ff72a2

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

drivers/net/ethernet/intel/ice/ice_xsk.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,8 @@ static int ice_qp_dis(struct ice_vsi *vsi, u16 q_idx)
199199
if (err)
200200
return err;
201201
}
202-
err = ice_vsi_ctrl_one_rx_ring(vsi, false, q_idx, true);
203-
if (err)
204-
return err;
205202

203+
ice_vsi_ctrl_one_rx_ring(vsi, false, q_idx, false);
206204
ice_qp_clean_rings(vsi, q_idx);
207205
ice_qp_reset_stats(vsi, q_idx);
208206

0 commit comments

Comments
 (0)