Mark all of the devices that are exposed to the OS prior to a controller
reset and not detected by the controller after the reset as removed devices
and the I/Os to those devices are unblocked (and returned with
DID_NO_CONNECT) prior to removing the devices one after the other.
Signed-off-by: Ranjan Kumar <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit d9a5ab0ea98fdee77fcbfec27bb3976de9615377)
Signed-off-by: Michael Reed <email address hidden>
Enhance driver to divert the WRITE SAME commands that are issued with
UNMAP=1 and NDOB=1 and with the transfer length greater than the max WRITE
SAME length specified by the firmware for the particular drive to the
controller firmware.
Reported-by: kernel test robot <email address hidden>
Closes: https://<email address hidden>/
Signed-off-by: Ranjan Kumar <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit e7a8648e1ce2ddbc74ac69da83dcebbee0c7e1b8)
Signed-off-by: Michael Reed <email address hidden>
Enhance the driver to get the maximum data length per I/O request from IOC
Facts data and report that to the upper layers. If the IOC facts data is
not reported then a default I/O size of 1MB is reported to the OS.
Signed-off-by: Ranjan Kumar <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit d9adb81e67e9be51990a14389cd1762086b44985)
Signed-off-by: Michael Reed <email address hidden>
When a timestamp update or an event acknowledgment command times out, the
driver invokes the soft reset handler to recover the controller while
holding a mutex lock. The soft reset handler also tries to acquire the same
mutex to send initialization commands to the controller which leads to a
deadlock scenario.
To resolve the issue the driver will check thestatus and if this indicates
the controller is operational, the driver will issue a diagnostic fault
reset and exit out of the command processing function. If the controller is
already faulted or asynchronously reset, then the driver will just exit the
command processing function.
Signed-off-by: Ranjan Kumar <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 9134211f7bed218bc01940fc24ebe8b4bc02b69b)
Signed-off-by: Michael Reed <email address hidden>
Copy the sense data to internal driver buffer when the firmware completes
any SCSI I/O command sent through admin queue with sense data for further
use.
Fixes: 506bc1a0d6ba ("scsi: mpi3mr: Add support for MPT commands")
Cc: <email address hidden>
Signed-off-by: Sathya Prakash <email address hidden>
Signed-off-by: Sumit Saxena <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit f762326b2baa86ae647e2ba6832bc87e238f68ad)
Signed-off-by: Michael Reed <email address hidden>