]> git.baikalelectronics.ru Git - kernel.git/commitdiff
vmxnet3: do not reschedule napi for rx processing
authorRonak Doshi <doshir@vmware.com>
Wed, 27 Jul 2022 17:30:37 +0000 (10:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Jul 2022 11:11:23 +0000 (12:11 +0100)
Commit '8b3f59252045 ("vmxnet3: add support for out of order rx
completion")' added support for out of order rx completion. Within
that patch, an enhancement was done to reschedule napi for processing
rx completions.

However, it can lead to missing an interrupt. So, this patch reverts
that part of the code.

Fixes: 8b3f59252045 ("vmxnet3: add support for out of order rx completion")
Signed-off-by: Ronak Doshi <doshir@vmware.com>
Acked-by: Guolin Yang <gyang@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vmxnet3/vmxnet3_drv.c

index dd831adbc1d17599119a8aa5d62f3b9ed31b2226..53b3b241e027817c7859b414fe944bf97fcba35f 100644 (file)
@@ -2075,17 +2075,8 @@ vmxnet3_poll_rx_only(struct napi_struct *napi, int budget)
        rxd_done = vmxnet3_rq_rx_complete(rq, adapter, budget);
 
        if (rxd_done < budget) {
-               struct Vmxnet3_RxCompDesc *rcd;
-#ifdef __BIG_ENDIAN_BITFIELD
-               struct Vmxnet3_RxCompDesc rxComp;
-#endif
                napi_complete_done(napi, rxd_done);
                vmxnet3_enable_intr(adapter, rq->comp_ring.intr_idx);
-               /* after unmasking the interrupt, check if any descriptors were completed */
-               vmxnet3_getRxComp(rcd, &rq->comp_ring.base[rq->comp_ring.next2proc].rcd,
-                                 &rxComp);
-               if (rcd->gen == rq->comp_ring.gen && napi_reschedule(napi))
-                       vmxnet3_disable_intr(adapter, rq->comp_ring.intr_idx);
        }
        return rxd_done;
 }