|
@@ -1388,6 +1388,10 @@ static int bnxt_poll_work(struct bnxt *bp, struct bnxt_napi *bnapi, int budget)
|
|
if (!TX_CMP_VALID(txcmp, raw_cons))
|
|
if (!TX_CMP_VALID(txcmp, raw_cons))
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
+ /* The valid test of the entry must be done first before
|
|
|
|
+ * reading any further.
|
|
|
|
+ */
|
|
|
|
+ rmb();
|
|
if (TX_CMP_TYPE(txcmp) == CMP_TYPE_TX_L2_CMP) {
|
|
if (TX_CMP_TYPE(txcmp) == CMP_TYPE_TX_L2_CMP) {
|
|
tx_pkts++;
|
|
tx_pkts++;
|
|
/* return full budget so NAPI will complete. */
|
|
/* return full budget so NAPI will complete. */
|