[PATCH 0/5] smartpqi updates

Don Brace
2024-07-11T19:47:30Z

These patches are based on Martin Petersen's 6.11/scsi-queue tree
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
6.11/scsi-queue

The functional changes of note to smartpqi are for: multipath failover
and improving the accuracy of our RAID bypass counter.

For multipath we are:
Reverting commit 94a68c814328 ("scsi: smartpqi: Quickly propagate path failures to SCSI midlayer")
because under certain rare conditions involving encryption-enabled devices,
a false path failure is reported to the SML causing multipath to failover
to the other path.

Improving errors returned from the driver back to the SML by checking for
error codes returned from the firmware and returning the correct ASC/ASCQ codes
to the SML.

The other two patches add PCI-IDs for new controllers and change the
driver version.

This set of changes consists of:
* smartpqi-add-new-controller-PCI-IDs
No functional changes. Just adding in more device support.
* smartpqi-improve-accuracy-of-RAID-bypass-counter
We changed from using a integer variable to a __percpu variable. Using an integer
was causing some race conditions when updating the "raid_bypass_cnt" value. This
lead to unreliable results.
Found by internal testing. No known externally reported bugs.
* smartpqi-revert-propagate-the-multipath-failure-to-SML-quickly
We are reverting commit 94a68c814328
("scsi: smartpqi: Quickly propagate path failures to SCSI midlayer")
because when encryption is enabled, a false path failure was being reported to the SML
causing multipath to fail the path. This was because when encryption is enabled,
the controller temporarily disables our Accelerated I/O path which caused the
false path disabled detection. Disabling the accelerated I/O path can cause
some performance degradation.
Found by internal testing. No known externally reported bugs.
* smartpqi-improve-handling-of-multipath-failover
We are better aligning error codes retuned by our controller firmware with what the OS
is expecting. This improves multipath failover detection.
Found by internal testing. No known externally reported bugs.
* smartpqi-update-version-to-2.1.28-025
No functional changes.

---

David Strahan (1):
smartpqi: add new controller PCI IDs

Don Brace (1):
smartpqi: update driver version to 2.1.28-025

Gilbert Wu (1):
smartpqi: revert propagate-the-multipath-failure-to-SML-quickly

Kevin Barnett (2):
smartpqi: improve accuracy/performance of raid-bypass-counter.
smartpqi: fix improve handling of multipath failover

drivers/scsi/smartpqi/smartpqi.h | 2 +-
drivers/scsi/smartpqi/smartpqi_init.c | 176 ++++++++++++++++++++++----
2 files changed, 151 insertions(+), 27 deletions(-)

--
2.45.2.827.g557ae147e6