Skip to content

Commit f4c2e67

Browse files
ziweixiaodavem330
authored andcommitted
gve: Remove the code of clearing PBA bit
Clearing the PBA bit from the driver is race prone and it may lead to dropped interrupt events. This could potentially lead to the traffic being completely halted. Fixes: 5e8c5ad ("gve: DQO: Add core netdev features") Signed-off-by: Ziwei Xiao <ziweixiao@google.com> Signed-off-by: Bailey Forrest <bcf@google.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent e14cadf commit f4c2e67

File tree

1 file changed

+0
-13
lines changed

1 file changed

+0
-13
lines changed

drivers/net/ethernet/google/gve/gve_main.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -294,19 +294,6 @@ static int gve_napi_poll_dqo(struct napi_struct *napi, int budget)
294294
bool reschedule = false;
295295
int work_done = 0;
296296

297-
/* Clear PCI MSI-X Pending Bit Array (PBA)
298-
*
299-
* This bit is set if an interrupt event occurs while the vector is
300-
* masked. If this bit is set and we reenable the interrupt, it will
301-
* fire again. Since we're just about to poll the queue state, we don't
302-
* need it to fire again.
303-
*
304-
* Under high softirq load, it's possible that the interrupt condition
305-
* is triggered twice before we got the chance to process it.
306-
*/
307-
gve_write_irq_doorbell_dqo(priv, block,
308-
GVE_ITR_NO_UPDATE_DQO | GVE_ITR_CLEAR_PBA_BIT_DQO);
309-
310297
if (block->tx)
311298
reschedule |= gve_tx_poll_dqo(block, /*do_clean=*/true);
312299

0 commit comments

Comments
 (0)