summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/sk/if_sk.c26
-rw-r--r--sys/dev/stge/if_stge.c26
2 files changed, 26 insertions, 26 deletions
diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c
index 184d7e8..dfc0e5e 100644
--- a/sys/dev/sk/if_sk.c
+++ b/sys/dev/sk/if_sk.c
@@ -2713,7 +2713,7 @@ sk_encap(sc_if, m_head)
{
struct sk_txdesc *txd;
struct sk_tx_desc *f = NULL;
- struct mbuf *m, *n;
+ struct mbuf *m;
bus_dma_segment_t txsegs[SK_MAXTXSEGS];
u_int32_t cflags, frag, si, sk_ctl;
int error, i, nseg;
@@ -2723,29 +2723,28 @@ sk_encap(sc_if, m_head)
if ((txd = STAILQ_FIRST(&sc_if->sk_cdata.sk_txfreeq)) == NULL)
return (ENOBUFS);
- m = *m_head;
error = bus_dmamap_load_mbuf_sg(sc_if->sk_cdata.sk_tx_tag,
- txd->tx_dmamap, m, txsegs, &nseg, 0);
+ txd->tx_dmamap, *m_head, txsegs, &nseg, 0);
if (error == EFBIG) {
- n = m_defrag(m, M_DONTWAIT);
- if (n == NULL) {
- m_freem(m);
- m = NULL;
+ m = m_defrag(*m_head, M_DONTWAIT);
+ if (m == NULL) {
+ m_freem(*m_head);
+ *m_head = NULL;
return (ENOMEM);
}
- m = n;
+ *m_head = m;
error = bus_dmamap_load_mbuf_sg(sc_if->sk_cdata.sk_tx_tag,
- txd->tx_dmamap, m, txsegs, &nseg, 0);
+ txd->tx_dmamap, *m_head, txsegs, &nseg, 0);
if (error != 0) {
- m_freem(m);
- m = NULL;
+ m_freem(*m_head);
+ *m_head = NULL;
return (error);
}
} else if (error != 0)
return (error);
if (nseg == 0) {
- m_freem(m);
- m = NULL;
+ m_freem(*m_head);
+ *m_head = NULL;
return (EIO);
}
if (sc_if->sk_cdata.sk_tx_cnt + nseg >= SK_TX_RING_CNT) {
@@ -2753,6 +2752,7 @@ sk_encap(sc_if, m_head)
return (ENOBUFS);
}
+ m = *m_head;
if ((m->m_pkthdr.csum_flags & sc_if->sk_ifp->if_hwassist) != 0)
cflags = SK_OPCODE_CSUM;
else
diff --git a/sys/dev/stge/if_stge.c b/sys/dev/stge/if_stge.c
index f346ca3..10dddae 100644
--- a/sys/dev/stge/if_stge.c
+++ b/sys/dev/stge/if_stge.c
@@ -1206,7 +1206,7 @@ stge_encap(struct stge_softc *sc, struct mbuf **m_head)
{
struct stge_txdesc *txd;
struct stge_tfd *tfd;
- struct mbuf *m, *n;
+ struct mbuf *m;
struct m_tag *mtag;
bus_dma_segment_t txsegs[STGE_MAXTXSEGS];
int error, i, nsegs, si;
@@ -1217,32 +1217,32 @@ stge_encap(struct stge_softc *sc, struct mbuf **m_head)
if ((txd = STAILQ_FIRST(&sc->sc_cdata.stge_txfreeq)) == NULL)
return (ENOBUFS);
- m = *m_head;
error = bus_dmamap_load_mbuf_sg(sc->sc_cdata.stge_tx_tag,
- txd->tx_dmamap, m, txsegs, &nsegs, 0);
+ txd->tx_dmamap, *m_head, txsegs, &nsegs, 0);
if (error == EFBIG) {
- n = m_defrag(m, M_DONTWAIT);
- if (n == NULL) {
- m_freem(m);
- m = NULL;
+ m = m_defrag(*m_head, M_DONTWAIT);
+ if (m == NULL) {
+ m_freem(*m_head);
+ *m_head = NULL;
return (ENOMEM);
}
- m = n;
+ *m_head = m;
error = bus_dmamap_load_mbuf_sg(sc->sc_cdata.stge_tx_tag,
- txd->tx_dmamap, m, txsegs, &nsegs, 0);
+ txd->tx_dmamap, *m_head, txsegs, &nsegs, 0);
if (error != 0) {
- m_freem(m);
- m = NULL;
+ m_freem(*m_head);
+ *m_head = NULL;
return (error);
}
} else if (error != 0)
return (error);
if (nsegs == 0) {
- m_freem(m);
- m = NULL;
+ m_freem(*m_head);
+ *m_head = NULL;
return (EIO);
}
+ m = *m_head;
csum_flags = 0;
if ((m->m_pkthdr.csum_flags & STGE_CSUM_FEATURES) != 0) {
if (m->m_pkthdr.csum_flags & CSUM_IP)
OpenPOWER on IntegriCloud