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>
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
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>
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>
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
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>
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>
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>
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>
- 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>