summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Bernd Themann <ossthema@de.ibm.com>2010-06-15 05:35:16 (GMT)
committerDavid S. Miller <davem@davemloft.net>2010-06-17 01:05:26 (GMT)
commita91fb143de61dce847e319ca79b9937a665ad622 (patch)
tree168a8dbf4cd8408747972d0ddec741ac8c358b9c
parent756725064fe6abbcdb43b1e64d017649b828be35 (diff)
downloadlinux-a91fb143de61dce847e319ca79b9937a665ad622.tar.xz
ehea: fix delayed packet processing
In the eHEA poll function an rmb() is required. Without that some packets on the receive queue are not seen and thus delayed until the next interrupt is handled for the same receive queue. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ehea/ehea_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index f547894..fd890fa 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -867,6 +867,7 @@ static int ehea_poll(struct napi_struct *napi, int budget)
ehea_reset_cq_ep(pr->send_cq);
ehea_reset_cq_n1(pr->recv_cq);
ehea_reset_cq_n1(pr->send_cq);
+ rmb();
cqe = ehea_poll_rq1(pr->qp, &wqe_index);
cqe_skb = ehea_poll_cq(pr->send_cq);