]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r302031
authorslm <slm@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 27 Jun 2016 17:01:26 +0000 (17:01 +0000)
committerslm <slm@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 27 Jun 2016 17:01:26 +0000 (17:01 +0000)
commitc5dc6fa998c3cc3afa79cfeec6b2e7e9340c5690
treed98065dff041a6ba7fc40d2b1ebcc6b29c2dfae4
parentc23594e3825ec757f14b7d872b507a0aec683fd7
MFC r302031

- No log bit in IOCStatus and endian-safe changes.

Use MPI2_IOCSTATUS_MASK when checking IOCStatus to mask off the log bit, and
make a few more things endian-safe.

- Fix possible use of invalid pointer.

It was possible to use an invalid pointer to get the target ID value. To fix
this, initialize a local Target ID variable to an invalid value and change that
variable to a valid value only if the pointer to the Target ID is not NULL.

- No need to set the MPSSAS_SHUTDOWN flag because it's never used.

- done_ccb pointer can be used if it is NULL.

To prevent this, move check for done_ccb == NULL to before done_ccb is used in
mpssas_stop_unit_done().

- Disks can go missing until a reboot is done in some cases.

This is due to the DevHandle not being released, which causes the Firmware to
not allow that disk to be re-added.

Approved by: ken, scottl, ambrisko (mentors)

git-svn-id: svn://svn.freebsd.org/base/stable/10@302225 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/mps/mps.c
sys/dev/mps/mps_config.c
sys/dev/mps/mps_sas.c
sys/dev/mps/mps_sas_lsi.c
sys/dev/mps/mps_user.c
sys/dev/mps/mpsvar.h