|
@@ -926,7 +926,6 @@ static struct ehea_cqe *ehea_proc_cqes(struct ehea_port_res *pr, int my_quota)
|
|
|
return cqe;
|
|
|
}
|
|
|
|
|
|
-#define EHEA_NAPI_POLL_NUM_BEFORE_IRQ 16
|
|
|
#define EHEA_POLL_MAX_CQES 65535
|
|
|
|
|
|
static int ehea_poll(struct napi_struct *napi, int budget)
|
|
@@ -936,18 +935,13 @@ static int ehea_poll(struct napi_struct *napi, int budget)
|
|
|
struct net_device *dev = pr->port->netdev;
|
|
|
struct ehea_cqe *cqe;
|
|
|
struct ehea_cqe *cqe_skb = NULL;
|
|
|
- int force_irq, wqe_index;
|
|
|
+ int wqe_index;
|
|
|
int rx = 0;
|
|
|
|
|
|
- force_irq = (pr->poll_counter > EHEA_NAPI_POLL_NUM_BEFORE_IRQ);
|
|
|
cqe_skb = ehea_proc_cqes(pr, EHEA_POLL_MAX_CQES);
|
|
|
+ rx += ehea_proc_rwqes(dev, pr, budget - rx);
|
|
|
|
|
|
- if (!force_irq)
|
|
|
- rx += ehea_proc_rwqes(dev, pr, budget - rx);
|
|
|
-
|
|
|
- while ((rx != budget) || force_irq) {
|
|
|
- pr->poll_counter = 0;
|
|
|
- force_irq = 0;
|
|
|
+ while (rx != budget) {
|
|
|
napi_complete(napi);
|
|
|
ehea_reset_cq_ep(pr->recv_cq);
|
|
|
ehea_reset_cq_ep(pr->send_cq);
|
|
@@ -967,7 +961,6 @@ static int ehea_poll(struct napi_struct *napi, int budget)
|
|
|
rx += ehea_proc_rwqes(dev, pr, budget - rx);
|
|
|
}
|
|
|
|
|
|
- pr->poll_counter++;
|
|
|
return rx;
|
|
|
}
|
|
|
|