]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/suse-2.6.27.39/patches.fixes/scsi-retry-ADD_TO_MLQUEUE-return-values
Fix oinkmaster patch.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.fixes / scsi-retry-ADD_TO_MLQUEUE-return-values
1 From: Hannes Reinecke <hare@suse.de>
2 Date: Mon, 21 Sep 2009 15:09:12 +0200
3 Subject: [PATCH] Retry ADD_TO_MLQUEUE return values for SCSI EH commands
4 References: bnc#536117
5
6 A target reset when I/O is ongoing might result
7 an eventual device offline, as scsi_eh_completed_normally()
8 might return ADD_TO_MLQUEUE in addition to the
9 advertised SUCCESS, FAILED, and NEEDS_RETRY.
10
11 Which is unfortunate as scsi_send_eh_cmnd() will
12 therefore map ADD_TO_MLQUEUE to FAILED instead of
13 the more appropriate NEEDS_RETRY.
14
15 Signed-off-by: Hannes Reinecke <hare@suse.de>
16 ---
17 drivers/scsi/scsi_error.c | 3 +++
18 1 files changed, 3 insertions(+), 0 deletions(-)
19
20 diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
21 index ab326be..98b9cc3 100644
22 --- a/drivers/scsi/scsi_error.c
23 +++ b/drivers/scsi/scsi_error.c
24 @@ -818,6 +818,9 @@ static int scsi_send_eh_cmnd(struct scsi_cmnd *scmd, unsigned char *cmnd,
25 case NEEDS_RETRY:
26 case FAILED:
27 break;
28 + case ADD_TO_MLQUEUE:
29 + rtn = NEEDS_RETRY;
30 + break;
31 default:
32 rtn = FAILED;
33 break;
34 --
35 1.5.3.2
36