Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jan 2003 15:46:47 -0800 (PST)
From:      John Polstra <jdp@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/bge if_bge.c if_bgereg.h
Message-ID:  <200301062346.h06NklsP071141@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jdp         2003/01/06 15:46:47 PST

  Modified files:
    sys/dev/bge          if_bge.c if_bgereg.h 
  Log:
  Don't reference the maxlen and flags fields in the ring control blocks
  as separate 16-bit entities.  Some of the ring control blocks are
  in NIC memory, so they must be referenced using 32-bit accesses.
  Smaller accesses have been observed to fail under some conditions.
  This caused the rings to be set up wrong, leading to writes by the
  card outside of the intended bounds of the rings.  This problem was
  diagnosed by Michael Barthelow.  Don Bowman submitted a patch which
  fixed the problem using a slightly different approach.
  
  Reference ring control blocks in NIC memory using a pointer to
  volatile.
  
  Parenthesize the BGE_HOSTADDR macro definition properly.
  
  MFC after:      3 days
  
  Revision  Changes    Path
  1.26      +42 -47    src/sys/dev/bge/if_bge.c
  1.12      +3 -10     src/sys/dev/bge/if_bgereg.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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