MFC r202406:
Don't free mbuf chains when bge(4) fails to collapse the mbuf chains. This part of code is to enhance performance so failing the collapsing should not free TX frames. Otherwise bge(4) will unnecessarily drop frames which in turn can freeze the network connection. Reported by: Igor Sysoev (is <> rambler-co dot ru) Tested by: Igor Sysoev (is <> rambler-co dot ru)
This commit is contained in:
parent
85f51ebea9
commit
eac2bf0ee0
@ -3948,11 +3948,8 @@ bge_encap(struct bge_softc *sc, struct mbuf **m_head, uint32_t *txidx)
|
||||
m = m_defrag(m, M_DONTWAIT);
|
||||
else
|
||||
m = m_collapse(m, M_DONTWAIT, sc->bge_forced_collapse);
|
||||
if (m == NULL) {
|
||||
m_freem(*m_head);
|
||||
*m_head = NULL;
|
||||
return (ENOBUFS);
|
||||
}
|
||||
if (m == NULL)
|
||||
m = *m_head;
|
||||
*m_head = m;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user