cvs commit: src/sys/dev/mpt mpt.c mpt.h mpt_cam.c mpt_debug.c mpt_pci.c

Matt Jacob mjacob at FreeBSD.org
Sat Apr 1 07:12:20 UTC 2006


mjacob      2006-04-01 07:12:18 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/mpt          mpt.c mpt.h mpt_cam.c mpt_debug.c 
                         mpt_pci.c 
  Log:
  Fix some of the previus changes 'better'.
  
  There's something strange going on with async events. They seem
  to be be treated differently for different Fusion implementations.
  Some will really tell you when it's okay to free the request that
  started them.  Some won't. Very disconcerting.
  
  This is particularily bad when the chip (FC in this case) tells you
  in the reply that it's not a continuation reply, which means you
  can free the request that its associated with. However, if you do
  that, I've found that additional async event replies come back for
  that message context after you freed it. Very Bad Things Happen.
  
  Put in a reply register debounce. Warn about out of range context
  indices. Use more MPILIB defines where possible. Replace bzero with
  memset. Add tons more KASSERTS. Do a *lot* more request free list
  auditting and serial number usages. Get rid of the warning about
  the short IOC Facts Reply.  Go back to 16 bits of context index.
  
  Do a lot more target state auditting as well. Make a tag out
  of not only the ioindex but the request index as well and worry
  less about keeping a full serial number.
  
  Revision  Changes      Path
  1.24      +125 -52     src/sys/dev/mpt/mpt.c
  1.14      +26 -31      src/sys/dev/mpt/mpt.h
  1.13      +1959 -1901  src/sys/dev/mpt/mpt_cam.c
  1.14      +2 -0        src/sys/dev/mpt/mpt_debug.c
  1.26      +2 -2        src/sys/dev/mpt/mpt_pci.c


More information about the cvs-src mailing list