File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change 1
- /* $OpenBSD: if_vmx.c,v 1.92 2025/03/05 06:51:25 dlg Exp $ */
1
+ /* $OpenBSD: if_vmx.c,v 1.93 2025/06/19 09:36:21 yasuoka Exp $ */
2
2
3
3
/*
4
4
* Copyright (c) 2013 Tsubai Masanari
@@ -1050,6 +1050,7 @@ vmxnet3_txintr(struct vmxnet3_softc *sc, struct vmxnet3_txqueue *tq)
1050
1050
struct mbuf * m ;
1051
1051
u_int prod , cons , next ;
1052
1052
uint32_t rgen ;
1053
+ unsigned int done = 0 ;
1053
1054
1054
1055
prod = ring -> prod ;
1055
1056
cons = ring -> cons ;
@@ -1085,6 +1086,7 @@ vmxnet3_txintr(struct vmxnet3_softc *sc, struct vmxnet3_txqueue *tq)
1085
1086
cons = (letoh32 (txcd -> txc_word0 ) >> VMXNET3_TXC_EOPIDX_S ) &
1086
1087
VMXNET3_TXC_EOPIDX_M ;
1087
1088
cons ++ ;
1089
+ done = 1 ;
1088
1090
cons %= NTXDESC ;
1089
1091
} while (cons != prod );
1090
1092
@@ -1095,7 +1097,7 @@ vmxnet3_txintr(struct vmxnet3_softc *sc, struct vmxnet3_txqueue *tq)
1095
1097
comp_ring -> gen = rgen ;
1096
1098
ring -> cons = cons ;
1097
1099
1098
- if (ifq_is_oactive (ifq ))
1100
+ if (done && ifq_is_oactive (ifq ))
1099
1101
ifq_restart (ifq );
1100
1102
}
1101
1103
You can’t perform that action at this time.
0 commit comments