Home Home > GIT Browse
summaryrefslogtreecommitdiff
authorHannes Reinecke <hare@suse.de>2010-03-09 09:44:12 (GMT)
committer Hannes Reinecke <hare@suse.de>2010-03-09 09:44:12 (GMT)
commitb5c47128f35c3d6aa25d50dec4f9069b8341b425 (patch) (side-by-side diff)
tree7c08439fcdc0d49c2305672113c6e8de1bd8dbac
parent0d45bcbd32260df066e4f599e0c8dd3e2fe7ece5 (diff)
- patches.fixes/scsi-retry-alua-in-transition-ua: Retry commandrpm-2.6.16.60-0.60
for ALUA in transition UA (bnc#576972).
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kernel-source.changes6
-rw-r--r--patches.fixes/scsi-retry-alua-in-transition-ua29
-rw-r--r--series.conf1
3 files changed, 36 insertions, 0 deletions
diff --git a/kernel-source.changes b/kernel-source.changes
index 36ff9dc..3693871 100644
--- a/kernel-source.changes
+++ b/kernel-source.changes
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Tue Mar 9 10:43:56 CET 2010 - hare@suse.de
+
+- patches.fixes/scsi-retry-alua-in-transition-ua: Retry command
+ for ALUA in transition UA (bnc#576972).
+
+-------------------------------------------------------------------
Mon Mar 8 23:18:52 CET 2010 - mfasheh@suse.com
- patches.suse/introduce-FMODE_EXEC-file-flag.patch: Introduce
diff --git a/patches.fixes/scsi-retry-alua-in-transition-ua b/patches.fixes/scsi-retry-alua-in-transition-ua
new file mode 100644
index 0000000..d2cd239
--- a/dev/null
+++ b/patches.fixes/scsi-retry-alua-in-transition-ua
@@ -0,0 +1,29 @@
+From: Hannes Reinecke <hare@suse.de>
+Date: Tue, 9 Mar 2010 10:34:33 +0100
+Subject: Retry command for ALUA in transition UA
+References: bnc#576972
+Patch-Mainline: n/a
+
+When a command fails with a ALUA in transition Unit Attention we
+should retry.
+
+Signed-off-by: Hannes Reinecke <hare@suse.de>
+
+diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
+index c9bd96c..e35ba48 100644
+--- a/drivers/scsi/scsi_error.c
++++ b/drivers/scsi/scsi_error.c
+@@ -430,10 +430,11 @@ static int scsi_check_sense(struct scsi_cmnd *scmd)
+ return NEEDS_RETRY;
+ }
+ /*
+- * if the device is in the process of becoming ready, we
++ * if the device is in the process of becoming ready, we
+ * should retry.
+ */
+- if ((sshdr.asc == 0x04) && (sshdr.ascq == 0x01))
++ if ((sshdr.asc == 0x04) &&
++ ((sshdr.ascq == 0x01) || (sshdr.ascq == 0x0a)))
+ return NEEDS_RETRY;
+ /*
+ * if the device is not started, we need to wake
diff --git a/series.conf b/series.conf
index daa774c..20852e4 100644
--- a/series.conf
+++ b/series.conf
@@ -1973,6 +1973,7 @@
patches.fixes/scsi-reservation-conflict-after-timeout
patches.fixes/scsi-execute-async-kfree-fix
patches.fixes/scsi-retry-add-to-mlqueue-for-eh
+ patches.fixes/scsi-retry-alua-in-transition-ua
# mmc/memmorycardreader tree backport
patches.suse/mmcbackport1_removeold.patch