~bladernr/ubuntu/+source/linux/+git/jammy:1953689-smartpqi-update

Last commit made on 2022-01-10
Get this branch:
git clone -b 1953689-smartpqi-update https://git.launchpad.net/~bladernr/ubuntu/+source/linux/+git/jammy
Only Jeff Lane  can upload to this branch. If you are Jeff Lane  please log in for upload directions.

Branch merges

Branch information

Name:
1953689-smartpqi-update
Repository:
lp:~bladernr/ubuntu/+source/linux/+git/jammy

Recent commits

2e4c246... by Don Brace

scsi: smartpqi: Update version to 2.1.12-055

BugLink: https://bugs.launchpad.net/bugs/1953689

Update driver version to reflect changes.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Reviewed-by: Mike McGowen <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 605ae389ea0243344713648294cd86b442d255ee)
Signed-off-by: Jeff Lane <email address hidden>

7662492... by Mike McGowen <email address hidden>

scsi: smartpqi: Add 3252-8i PCI id

BugLink: https://bugs.launchpad.net/bugs/1953689

Add PCI ID information for the Adaptec SmartRAID 3252-8i controller:

    9005 / 028F / 9005 / 14A2

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Mike McGowen <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 80982656b78ec23cb4918a90ee723ac2db83df1c)
Signed-off-by: Jeff Lane <email address hidden>

8281292... by Kevin Barnett <email address hidden>

scsi: smartpqi: Fix duplicate device nodes for tape changers

BugLink: https://bugs.launchpad.net/bugs/1953689

Stop the OS from re-discovering multiple LUNs for tape drive and medium
changer.

Duplicate device nodes for Ultrium tape drive and medium changer are being
created.

The Ultrium tape drive is a multi-LUN SCSI target. It presents a LUN for
the tape drive and a 2nd LUN for the medium changer. Our controller FW
lists both LUNs in the RPL results.

As a result, the smartpqi driver exposes both devices to the OS. Then the
OS does its normal device discovery via the SCSI REPORT LUNS command, which
causes it to re-discover both devices a 2nd time, which results in the
duplicate device nodes.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Reviewed-by: Mike McGowen <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Kevin Barnett <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit d4dc6aea93cb40f454e3a4d0eb139633874d0f72)
Signed-off-by: Jeff Lane <email address hidden>

c42d07c... by Mike McGowen <email address hidden>

scsi: smartpqi: Fix boot failure during LUN rebuild

BugLink: https://bugs.launchpad.net/bugs/1953689

Move the delay in the register polling loop to the beginning of the loop to
ensure there is always a delay between writing the register and reading it.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Mike McGowen <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 987d35605b7e82745bf69104611725d6505ed5a3)
Signed-off-by: Jeff Lane <email address hidden>

05e7d5d... by Mike McGowen <email address hidden>

scsi: smartpqi: Add extended report physical LUNs

BugLink: https://bugs.launchpad.net/bugs/1953689

Add support for the new extended formats in the data returned from the
Report Physical LUNs command for controllers that enable this feature.

The new formats allow the reporting of 16-byte WWIDs.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Mike McGowen <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 28ca6d876c5a375094847606046e0bf5d044d9b4)
Signed-off-by: Jeff Lane <email address hidden>

97ae93d... by Mahesh Rajashekhara <email address hidden>

scsi: smartpqi: Avoid failing I/Os for offline devices

BugLink: https://bugs.launchpad.net/bugs/1953689

Prevent kernel crash by failing outstanding I/O request when the OS takes
device offline.

When posted I/Os to the controller's inbound queue are not picked by the
controller, the driver will halt the controller and take the controller
offline.

When the driver takes the controller offline, the driver will fail all the
outstanding requests which can sometimes lead to an OS crash.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Mahesh Rajashekhara <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 4f3cefc3084d543d8fece39cf7388e3c0ef9e44d)
Signed-off-by: Jeff Lane <email address hidden>

66dde4f... by Don Brace

scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation

BugLink: https://bugs.launchpad.net/bugs/1953689

Send a TEST UNIT READY to HBA disks and do not present them to the OS if
0x02/0x04/0x1b (SANITIZE IN PROGRESS) is returned.

During boot-up, some OSes appear to hang when there are one or more disks
undergoing a sanitize operation.

According to SCSI SBC4 specification section 4.11.2 "Commands allowed
during SANITIZE", some SCSI commands are permitted, but read/write
operations are not.

When the OS attempts to read the disk partition table a CHECK CONDITION ASC
0x04 ASCQ 0x1b is returned which causes the OS to retry the read until
SANITIZE has completed. This can take hours.

According to document HPE Smart Storage Administrator User Guide, during
the sanitize erase operation, the drive is unusable. I.e. the expected
behavior for SANITIZE is the that disk remains offline even after SANITIZE
has completed. The customer is expected to re-enable the disk using the
management utility.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Reviewed-by: Mike McGowen <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit be76f90668d8406dccb4c05d6edde89f48ad04d8)
Signed-off-by: Jeff Lane <email address hidden>

01a11b6... by Kevin Barnett <email address hidden>

scsi: smartpqi: Update LUN reset handler

BugLink: https://bugs.launchpad.net/bugs/1953689

Enhance check for commands queued to the controller. Add new function
pqi_nonempty_inbound_queue_count() that will wait for all I/O queued for
submission to controller across all queue groups to drain. Add helper
functions to obtain queue command counts for each queue group. These
queues should drain quickly as they are already staged to be submitted down
to the controller's IB queue.

Enhance check for outstanding command completion. Update the count of
outstanding commands while waiting. This value was not re-obtained and was
potentially causing infinite wait for all completions.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Reviewed-by: Mike McGowen <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Kevin Barnett <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 6ce1ddf53252dfd9debaef87648488c85d84a482)
Signed-off-by: Jeff Lane <email address hidden>

6eb4502... by Murthy Bhat <email address hidden>

scsi: smartpqi: Capture controller reason codes

BugLink: https://bugs.launchpad.net/bugs/1953689

In some rare cases, the driver can halt the controller. Add a reason code
describing why the controller was halted. Store this reason code in a
controller register to aid in debugging the issue.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Reviewed-by: Mike McGowen <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Murthy Bhat <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 5d1f03e6f49ae80d417dc72d1ee16a3379e2c026)
Signed-off-by: Jeff Lane <email address hidden>

96af86e... by Don Brace

scsi: smartpqi: Update device removal management

BugLink: https://bugs.launchpad.net/bugs/1953689

Update device removal path to handle issues for:

 - rmmod: Correct stack trace when removing devices.
 - rmmod: Synchronize SCSI cache.
 - Update handling for removing devices using sysfs.

Link: https://<email address hidden>
Reviewed-by: Scott Benesh <email address hidden>
Reviewed-by: Scott Teel <email address hidden>
Reviewed-by: Mike McGowen <email address hidden>
Acked-by: John Donnelly <email address hidden>
Signed-off-by: Don Brace <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 819225b03dc73294a563d3ee9e24e04c71e7afe0)
Signed-off-by: Jeff Lane <email address hidden>