2016-03-29 16:14:35 -04:00
|
|
|
commit aba31298526865f5db99eaa54b63eb39dc95b74f
|
|
|
|
Author: John Daley <johndale@cisco.com>
|
|
|
|
Date: Tue Mar 8 10:49:07 2016 -0800
|
2016-02-26 14:48:54 -05:00
|
|
|
|
2016-03-29 16:14:35 -04:00
|
|
|
enic: fix last packet not being sent
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Fixes: d739ba4c6abf ("enic: improve Tx packet rate")
|
|
|
|
|
|
|
|
Signed-off-by: John Daley <johndale@cisco.com>
|
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_ */
|