X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=modules%2Fppp_ahdlc.c;h=1be0692bac019884f0e636d7d47c03ebb935b395;hp=4254bd70296e843a39b0d5ab30d84ca5c5313199;hb=fd25394d146bb83043189608d30dd0eeb983186d;hpb=4ffad8f3fba25ae1a393a523f8526841b81056f5 diff --git a/modules/ppp_ahdlc.c b/modules/ppp_ahdlc.c index 4254bd7..1be0692 100644 --- a/modules/ppp_ahdlc.c +++ b/modules/ppp_ahdlc.c @@ -41,7 +41,7 @@ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, * OR MODIFICATIONS. * - * $Id: ppp_ahdlc.c,v 1.16 2000/03/06 19:38:12 masputra Exp $ + * $Id: ppp_ahdlc.c,v 1.17 2002/09/18 02:14:10 carlsonj Exp $ */ /* @@ -527,7 +527,6 @@ ahdlc_rput(q, mp) switch (mp->b_datap->db_type) { case M_DATA: ahdlc_decode(q, mp); - freemsg(mp); break; case M_HANGUP: @@ -715,26 +714,6 @@ ahdlc_decode(q, mp) ahdlc_state_t *state; mblk_t *om; uchar_t *dp; - ushort_t fcs; -#if defined(SOL2) - mblk_t *zmp; -#endif /* SOL2 */ - -#if defined(SOL2) - /* - * In case the driver (or something below) doesn't send - * data upstream in one message block, concatenate everything - */ - if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) && - ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) { - - zmp = msgpullup(mp, -1); - freemsg(mp); - mp = zmp; - if (mp == 0) - return; - } -#endif /* SOL2 */ state = (ahdlc_state_t *) q->q_ptr; @@ -744,6 +723,7 @@ ahdlc_decode(q, mp) state->stats.ppp_ibytes += msgdsize(mp); + for (; mp != 0; om = mp->b_cont, freeb(mp), mp = om) for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) { /*