From: Sreekanth Reddy <sreekanth.reddy@avagotech.com>
To: jejb@kernel.org, hch@infradead.org
Cc: martin.petersen@oracle.com, linux-scsi@vger.kernel.org,
JBottomley@Parallels.com, Sathya.Prakash@avagotech.com,
linux-kernel@vger.kernel.org, jthumshirn@suse.de,
Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Subject: [PATCH v2 14/20] [SCSI] mpt3sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081
Date: Tue, 30 Jun 2015 12:25:00 +0530 [thread overview]
Message-ID: <1435647306-36956-15-git-send-email-Sreekanth.Reddy@avagotech.com> (raw)
In-Reply-To: <1435647306-36956-1-git-send-email-Sreekanth.Reddy@avagotech.com>
For any SCSI command, if the driver receives
IOC status = SCSI_IOC_TERMINATED and log info = 0x32010081 then
that command will be completed with DID_RESET host status.
The definition of this log info value is
"Virtual IO has failed and has to be retried".
Firmware will provide this log info value with IOC Status
"SCSI_IOC_TERMINATED", whenever a drive (with is a part of a volume)
is pulled and pushed back within some minimal delay.
With this log info value, firmware informs the driver to retry the
failed IO command infinite times, so to provide some time for the
firmware to discover the reinserted drive successfully instated of
just retrying failed command for five times(doesn't giving enough
time for firmware to complete the drive discovery) and failing the
IO permanently even though drive came back successfully.
Changes in v1:
Defined macro VIRTUAL_IO_FAILED_RETRY for magic a value 0x32010081
Changes in v2:
Patch version change only.
Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@avagotech.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
---
drivers/scsi/mpt3sas/mpt3sas_base.h | 2 ++
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 3 +++
2 files changed, 5 insertions(+)
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
index 4196fbb..3b03639 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.h
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
@@ -202,6 +202,8 @@
#define MFG10_GF0_SSD_DATA_SCRUB_DISABLE (0x00000008)
#define MFG10_GF0_SINGLE_DRIVE_R0 (0x00000010)
+#define VIRTUAL_IO_FAILED_RETRY (0x32010081)
+
/* OEM Specific Flags will come from OEM specific header files */
struct Mpi2ManufacturingPage10_t {
MPI2_CONFIG_PAGE_HEADER Header; /* 00h */
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
index 64dd90b..49c412b 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
@@ -4241,6 +4241,9 @@ _scsih_io_done(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 msix_index, u32 reply)
scmd->device->expecting_cc_ua = 1;
}
break;
+ } else if (log_info == VIRTUAL_IO_FAILED_RETRY) {
+ scmd->result = DID_RESET << 16;
+ break;
}
scmd->result = DID_SOFT_ERROR << 16;
break;
--
2.0.2
next prev parent reply other threads:[~2015-06-30 7:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-30 6:54 [PATCH 00/20] mpt3sas: driver update Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 01/20] [SCSI] mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 02/20] [SCSI] mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 03/20] [SCSI] mpt3sas: Don't block the drive when drive addition under the control of SML Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 04/20] [SCSI] mpt3sas: Remove redundancy code while freeing the controller resources Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 05/20] [SCSI] mpt3sas: MPI 2.5 Rev I (2.5.4) specifications Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 06/20] [SCSI] mpt3sas: Provides the physical location of sas drives Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 07/20] [SCSI] mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 08/20] [SCSI] mpt3sas: Update MPI2 strings to MPI2.5 Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 09/20] [SCSI] mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 10/20] [SCSI] mpt3sas: Add branding string support for OEM's HBA Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 11/20] [SCSI] mpt3sas: Add branding string support for OEM custom HBA Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 12/20] [SCSI] mpt3sas: Bump mpt3sas driver version to v6.100.00.00 Sreekanth Reddy
2015-06-30 6:54 ` [PATCH v2 13/20] [SCSI] mpt3sas: MPI 2.5 Rev K (2.5.6) specifications Sreekanth Reddy
2015-06-30 6:55 ` Sreekanth Reddy [this message]
2015-06-30 6:55 ` [PATCH v2 15/20] [SCSI] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command Sreekanth Reddy
2015-06-30 6:55 ` [PATCH v2 16/20] [SCSI] mpt3sas: Added support for customer specific branding Sreekanth Reddy
2015-06-30 6:55 ` [PATCH v2 17/20] [SCSI] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API Sreekanth Reddy
2015-06-30 6:55 ` [PATCH v2 18/20] [SCSI] mpt3sas: Call dma_mapping_error() API after mapping an address with dma_map_single() API Sreekanth Reddy
2015-06-30 6:55 ` [PATCH v2 19/20] [SCSI] mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os Sreekanth Reddy
2015-06-30 6:55 ` [PATCH v2 20/20] [SCSI] mpt3sas : Bump mpt3sas driver version to 9.100.00.00 Sreekanth Reddy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1435647306-36956-15-git-send-email-Sreekanth.Reddy@avagotech.com \
--to=sreekanth.reddy@avagotech.com \
--cc=JBottomley@Parallels.com \
--cc=Sathya.Prakash@avagotech.com \
--cc=hch@infradead.org \
--cc=jejb@kernel.org \
--cc=jthumshirn@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®