]>
Commit | Line | Data |
---|---|---|
82094b55 AF |
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 |