Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jun 2003 06:27:44 -0700 (PDT)
From:      Maxime Henrion <mux@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/ep if_ep.c
Message-ID:  <200306261327.h5QDRiuh072340@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
mux         2003/06/26 06:27:44 PDT

  FreeBSD src repository

  Modified files:
    sys/dev/ep           if_ep.c 
  Log:
  Fix a race condition that was introduced since pccbb interrupts are
  flag'ed INTR_MPSAFE.  In ep_if_start(), use the IF_DEQUEUE macro to
  grab the next mbuf to send, and use IF_PREPEND if the card is busy
  and we actually can't handle it right now.
  
  The old code was first getting the mbuf by taking it from the queue
  without using the macros, thus without locking, and without removing
  it from the queue either.  It was later assuming that IF_DEQUEUE would
  give him this same mbuf.
  
  Tested by:      mich
  
  Revision  Changes    Path
  1.115     +5 -7      src/sys/dev/ep/if_ep.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306261327.h5QDRiuh072340>