freebsd-nq/sys/dev/mps
Warner Losh 8fe7bf064f Fix bugs in recovery path and improve cm tracking
Eliminate the TIMEDOUT state. This state really conveyed two different
concepts: I timed out during recovery (and my command got put on the
recovery queue), and I timed out diring discovery (which doesn't).
Separate those two concepts into two flags. Use the TIMEDOUT flag to
fail requests as timed out. Use the on queue flag to remove them from
the queue.

In mps_intr_locked for MPI2_RPY_DESCRIPT_FLAGS_ADDRESS_REPLY message
type, when completing commands, ignore the ones that are not in state
INQUEUE. They were already completed as part of the recovery
process. When we complete them twice, we wind up with entries on the
free queue that are marked as busy, trigging asserts.

Reviewed by: scottl (earlier version, just for mpr)
Differential Revision: https://reviews.freebsd.org/D20785
2019-07-08 20:20:01 +00:00
..
mpi
mps_config.c
mps_ioctl.h
mps_mapping.c
mps_mapping.h
mps_pci.c
mps_sas_lsi.c Fix bugs in recovery path and improve cm tracking 2019-07-08 20:20:01 +00:00
mps_sas.c Fix bugs in recovery path and improve cm tracking 2019-07-08 20:20:01 +00:00
mps_sas.h
mps_table.c Add missing break statements. Coverity CID 1400446. 2019-03-27 12:25:46 +00:00
mps_table.h
mps_user.c Fix busy status leak in case of incorrect passthrough args. 2019-05-30 14:13:09 +00:00
mps.c Fix bugs in recovery path and improve cm tracking 2019-07-08 20:20:01 +00:00
mpsvar.h Fix bugs in recovery path and improve cm tracking 2019-07-08 20:20:01 +00:00