cvs commit: src/sys/dev/bfe if_bfe.c

Mike Silbersack silby at FreeBSD.org
Sun May 28 11:43:06 PDT 2006


silby       2006-05-28 18:41:47 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/bfe          if_bfe.c 
  Log:
  1.  Make sure that the TX and RX descriptor rings are 4096 byte aligned.
      Also use BUS_DMA_ALLOCNOW to be on the safe side.
  
  2.  Look for the Descriptor Error, and Descriptor Protocol Error flags from
      the card, and down the interface if we detect either.
  
  #1 (along with fixes to busdma) makes sure that this card works in all
  memory situations.  Prior to this change, it was just luck that 512 count
  RX/TX lists were properly aligned.  Now we can use any size of RX/TX lists
  and still have them properly aligned.
  
  #2 ensures that we don't get into an endless interrupt storm if busdma fails
  us.  Descriptor Protocol Error would occur if we misaligned the TX/RX rings,
  and Descriptor Error would occur if we tried to give the card descriptors
  or rings with addresses > 1G.  Trying to reinitialize the card isn't going
  to fix these errors, hence we don't try.
  
  Revision  Changes    Path
  1.39      +21 -6     src/sys/dev/bfe/if_bfe.c


More information about the cvs-src mailing list