2016-04-06 09:57:01 -04:00
|
|
|
From a31a1dbdf5e1ff46d04f50fea02e83453b84652c Mon Sep 17 00:00:00 2001
|
|
|
|
From: John Daley <johndale@cisco.com>
|
|
|
|
Date: Tue, 8 Mar 2016 10:49:07 -0800
|
|
|
|
Subject: [PATCH 12/22] enic: fix last packet not being sent
|
2016-02-26 14:48:54 -05:00
|
|
|
|
2016-03-29 16:14:35 -04:00
|
|
|
The last packet of the tx burst function array was not being
|
|
|
|
emitted until the subsequent call. The nic descriptor index
|
|
|
|
was being set to the current tx descriptor instead of one past
|
|
|
|
the descriptor as required by the nic.
|
2016-04-06 09:57:01 -04:00
|
|
|
|
2016-03-29 16:14:35 -04:00
|
|
|
Fixes: d739ba4c6abf ("enic: improve Tx packet rate")
|
2016-04-06 09:57:01 -04:00
|
|
|
|
2016-03-29 16:14:35 -04:00
|
|
|
Signed-off-by: John Daley <johndale@cisco.com>
|
2016-04-06 09:57:01 -04:00
|
|
|
---
|
|
|
|
drivers/net/enic/base/enic_vnic_wq.h | 6 +++---
|
|
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
2016-02-26 14:48:54 -05:00
|
|
|
|
|
|
|
diff --git a/drivers/net/enic/base/enic_vnic_wq.h b/drivers/net/enic/base/enic_vnic_wq.h
|
2016-03-08 22:15:20 -05:00
|
|
|
index e3ea574..b019109 100644
|
2016-02-26 14:48:54 -05:00
|
|
|
--- a/drivers/net/enic/base/enic_vnic_wq.h
|
|
|
|
+++ b/drivers/net/enic/base/enic_vnic_wq.h
|
2016-03-08 22:15:20 -05:00
|
|
|
@@ -69,11 +69,11 @@ static inline void enic_vnic_post_wq(struct vnic_wq *wq,
|
|
|
|
buf->wr_id = wrid;
|
|
|
|
|
|
|
|
buf = buf->next;
|
|
|
|
- if (cq_entry)
|
|
|
|
- enic_vnic_post_wq_index(wq);
|
|
|
|
+ wq->ring.desc_avail -= desc_skip_cnt;
|
|
|
|
wq->to_use = buf;
|
|
|
|
|
|
|
|
- wq->ring.desc_avail -= desc_skip_cnt;
|
|
|
|
+ if (cq_entry)
|
|
|
|
+ enic_vnic_post_wq_index(wq);
|
2016-02-26 14:48:54 -05:00
|
|
|
}
|
|
|
|
|
2016-03-08 22:15:20 -05:00
|
|
|
#endif /* _ENIC_VNIC_WQ_H_ */
|
2016-04-06 09:57:01 -04:00
|
|
|
--
|
|
|
|
1.9.1
|
|
|
|
|