]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC: r218811:
authorken <ken@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 21 Feb 2011 16:55:53 +0000 (16:55 +0000)
committerken <ken@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 21 Feb 2011 16:55:53 +0000 (16:55 +0000)
commit95d5f665191ee33fccbb80c72eee5f74c662b1ca
tree58e52fcd0a6886b56bf946044c2d462fd3f898c0
parenteff8abdf7b9469fc0bae28c53078deb0ae90f397
MFC: r218811:

In the MPS driver, during device removal processing, don't assume that
the controller firmware will return all of our commands.  Instead, keep
track of outstanding I/Os and return them to CAM once device removal
processing completes.

mpsvar.h: Declare the new "io_list" in the mps_softc.

mps.c: Initialize the new "io_list" in the mps softc.

mps_sas.c: o Track SCSI I/O requests on the io_list from the
  time of mpssas_action() through mpssas_scsiio_complete().
o Zero out the request structures used for device
  removal commands prior to filling them out.
o Once the target reset task management function completes
  during device removal processing, assume any SCSI I/O
  commands that are still oustanding will never return
  from the controller, and process them manually.

Submitted by: gibbs

git-svn-id: svn://svn.freebsd.org/base/stable/8@218921 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/mps/mps.c
sys/dev/mps/mps_sas.c
sys/dev/mps/mpsvar.h