SL_RX_BUFLEN
sc->sln_bufdata.sln_rx_buf = contigmalloc(SL_RX_BUFLEN,
contigfree(sc->sln_bufdata.sln_rx_buf, SL_RX_BUFLEN, M_DEVBUF);
cur_rx |= vtophys(sc->sln_bufdata.sln_rx_buf) & (~(u_long) (SL_RX_BUFLEN - 1));
cur_rx += SL_RX_BUFLEN;
rx_len = SL_RX_BUFLEN - (long)(dirty_rx - cur_rx);
if ((rx_len > SL_RX_BUFLEN) || (rx_len < 0)) {
rx_offset = (dirty_rx - vtophys(sc->sln_bufdata.sln_rx_buf)) & (u_long) (SL_RX_BUFLEN - 1);
if (rx_bufpos == (sc->sln_bufdata.sln_rx_buf + SL_RX_BUFLEN))
rx_space = (u_long)((sc->sln_bufdata.sln_rx_buf + SL_RX_BUFLEN) - rx_bufpos);
rx_offset = (rx_offset + rx_size + 4) & (u_long) (SL_RX_BUFLEN - 1); /* 4 bytes for receive