HomeFreeBSD

Catch up with stability fixes to mpr/mps in -current since 12

Description

Catch up with stability fixes to mpr/mps in -current since 12
was branched.

MFC r341755,r342354,r342355,r342386,r342387,r342388,r342526,r342528,
r342530,r342531,r342533,r342534,r342535,r342536,r342659,r345479,
r345485,r345573,r347237,r349849,r349909:

r341755:
  Copy and clear the reply descriptor atomically.  This prevents concurrency
  in the interrupt handlers (usually due to timeout/error recovery) from
  seeing and processing the same descriptor twice.
r342354:
  mps(4), mpr(4): Fix lifetime of command buffer for mp?sas_get_sata_identify
r342355:
  mps(4), mpr(4): remove SATA ID command cancellation hack
r342386:
  First step in refactoring and fixing the error recovery and task management
  code in the mpr and mps drivers.  Eliminate duplicated code and fix some
  comments.
r342387:
  Commands for user-initated device resets should come from the high-priority
  allocator.  Prior to this change, they would leak from the normal
  allocator.
r342388:
  Further refactoring for task management commands.  Also fix a related typo
  from the previous commit.
r342526:
  Update MPI header files version to 2.00.52 from 2.00.48
r342528:
  Copy back the Sense data at proper location expected by the application
r342530:
  Added support for NVMe Task Management
r342531:
  Add Sea,Aero adapter support
r342533:
  Enable atomic type descriptor support only for Sea & Aero cards
r342534:
  On Aero/Sea A0 cards retry MPT Fusion registers reads for max three times
r342535:
  Update copyright information
r342536:
  Update mpr driver version to v23.00.00.00-fbsd
r342659:
  Fix whitespace from r342528
r345479:
  r329522 created problemss with commands that enter the TIMEDOUT state but
  are successfully returned by the card (usually due to an abort being issued
  as part of timeout recovery). Remove what amounts to an insufficient
  KASSERT, and don't overwrite the state value. State should probably be
  re-designed, and that will be done with a future commit.
r345485:
  Add event table decoding for SAS Broadcast Primitive events.
r345573:
  Add missing break statements.  Coverity CID 1400446.
r347237:
  Add missing newline to debug printf.
r349849:
  Fix bugs in recovery path and improve cm tracking
r349909:
  More fully implement the state machine.

Sponsored by: Netflix, Inc

Details

Provenance
impAuthored on
Parents
rS352734: amd64 pmap: Clarify largemap bootverbose message units
Branches
Unknown
Tags
Unknown