* packets */
        newfrag = skb;
  
 -      /* Insert new fragment into the proper sequence slot.  */
 -      skb_queue_walk(&mp->frags, frag) {
 -              if (MP_SEQ(frag) == newseq) {
 -                      isdn_ppp_mp_free_skb(mp, newfrag);
 -                      newfrag = NULL;
 -                      break;
 -              }
 -              if (MP_LT(newseq, MP_SEQ(frag))) {
 -                      __skb_queue_before(&mp->frags, frag, newfrag);
 -                      newfrag = NULL;
 -                      break;
 -              }
 -      }
 -      if (newfrag)
 -              __skb_queue_tail(&mp->frags, newfrag);
 +      /* if this new fragment is before the first one, then enqueue it now. */
 +      if ((frag = mp->frags) == NULL || MP_LT(newseq, MP_SEQ(frag))) {
 +              newfrag->next = frag;
 +              mp->frags = frag = newfrag;
 +              newfrag = NULL;
 +      }
  
 -      frag = skb_peek(&mp->frags);
 -      start = ((MP_FLAGS(frag) & MP_BEGIN_FRAG) &&
 -               (MP_SEQ(frag) == mp->seq)) ? frag : NULL;
 -      if (!start)
 -              goto check_overflow;
 +      start = MP_FLAGS(frag) & MP_BEGIN_FRAG &&
 +                              MP_SEQ(frag) == mp->seq ? frag : NULL;
  
 -      /* main fragment traversing loop
 +      /* 
 +       * main fragment traversing loop
         *
         * try to accomplish several tasks:
 +       * - insert new fragment into the proper sequence slot (once that's done
 +       *   newfrag will be set to NULL)
         * - reassemble any complete fragment sequence (non-null 'start'
-        *   indicates there is a continguous sequence present)
+        *   indicates there is a contiguous sequence present)
         * - discard any incomplete sequences that are below minseq -- due
         *   to the fact that sender always increment sequence number, if there
         *   is an incomplete sequence below minseq, no new fragments would
 
        default m
        depends on SAMPLE_KPROBES && KRETPROBES
  
 +config SAMPLE_HW_BREAKPOINT
 +      tristate "Build kernel hardware breakpoint examples -- loadable module only"
 +      depends on HAVE_HW_BREAKPOINT && m
 +      help
 +        This builds kernel hardware breakpoint example modules.
 +
  endif # SAMPLES
-