freebsd-skq/sys/dev/mps
Kenneth D. Merry 653c521f8d Bring in a number of mps(4) driver fixes from LSI:
1.  Fixed timeout specification for the msleep in mps_wait_command().
    Added 30 second timeout for mps_wait_command() calls in mps_user.c.

2.  Make sure we call mps_detach_user() from the kldunload path.

3.  Raid Hotplug behavior change.

    The driver now removes a volume when it goes to a failed state,
    so we also need to add volume back to the OS when it goes to
    opitimal/degraded/online from failed/missing.

    Handle raid volume add and remove from the IR_Volume event.
4.  Added some more debugging information.

5.  Replace xpt_async(AC_LOST_DEVICE, path, NULL) with
    mpssas_rescan_target().

    This is to work around a panic in CAM that shows up when adding a
    drive with a rescan and removing another device from the driver thread
    with an AC_LOST_DEVICE async notification.

    This problem was encountered in testing with the LSI sas2ircu utility,
    which was used to create a RAID volume from physical disks.  The driver
    has to create the RAID volume target and remove the physical disk
    targets, and triggered a panic in the process.

    The CAM issue needs to be fully diagnosed and fixed, but this works
    around the issue for now.

6.  Fix some memory initialization issues in mps_free_command().

7.  Resolve the "devq freeze forever" issue.  This was caused by the
    internal read capacity command issued in the non-head version of the
    driver.  When the command completed with an error, the driver wasn't
    unfreezing thd device queue.

    The version in head uses the CAM infrastructure for getting the read
    capacity information, and therefore doesn't have the same issue.

8.  Bump the version to 13.00.00.00-fbsd. (this is very close to LSI's
    internal stable driver 13.00.00.00)

Submitted by:	Kashyap Desai <Kashyap.Desai@lsi.com>
MFC after:	3 days
2012-02-09 00:16:12 +00:00
..
mpi Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_config.c Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_ioctl.h Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_mapping.c Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_mapping.h Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_pci.c Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_sas_lsi.c Bring in a number of mps(4) driver fixes from LSI: 2012-02-09 00:16:12 +00:00
mps_sas.c Bring in a number of mps(4) driver fixes from LSI: 2012-02-09 00:16:12 +00:00
mps_sas.h Bring in a number of mps(4) driver fixes from LSI: 2012-02-09 00:16:12 +00:00
mps_table.c Bring in the LSI-supported version of the mps(4) driver. 2012-01-26 18:17:21 +00:00
mps_table.h
mps_user.c Bring in a number of mps(4) driver fixes from LSI: 2012-02-09 00:16:12 +00:00
mps.c Bring in a number of mps(4) driver fixes from LSI: 2012-02-09 00:16:12 +00:00
mpsvar.h Bring in a number of mps(4) driver fixes from LSI: 2012-02-09 00:16:12 +00:00