summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJoseph Gruher <joseph.r.gruher@intel.com>2011-01-05 16:00:20 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-01-24 11:11:58 -0600
commit7c66e9a5e6b0459c619562c5ad321071e2767faa (patch)
tree6262074d4bad042fe039bf11e84423e9908305e3 /drivers
parentaa023b8b2fc09baeeb27af959ab38a8d684946bf (diff)
downloadlinux-exynos-7c66e9a5e6b0459c619562c5ad321071e2767faa.tar.gz
linux-exynos-7c66e9a5e6b0459c619562c5ad321071e2767faa.tar.bz2
linux-exynos-7c66e9a5e6b0459c619562c5ad321071e2767faa.zip
[SCSI] scsi_dh_alua: fix submit_stpg return
submit_stpg() will always return failure so alua_activate() will report failure via dm-multipath callback function. Even though the stpg fired successfuly dm-multipath does not know and always fails to change the valid path. By returning SCSI_DH_OK we're now skipping alua_activate()'s call to activate_complete 'fn'. But this is fine because stpg_endio() will call it via h->callback_fn(). Signed-off-by: Joseph Gruher <joseph.r.gruher@intel.com> Signed-off-by: Ilgu Hong <ilgu.hong@promise.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/device_handler/scsi_dh_alua.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 6b729324b8d3..afb1d058edbd 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -303,7 +303,6 @@ done:
static unsigned submit_stpg(struct alua_dh_data *h)
{
struct request *rq;
- int err = SCSI_DH_RES_TEMP_UNAVAIL;
int stpg_len = 8;
struct scsi_device *sdev = h->sdev;
@@ -332,7 +331,7 @@ static unsigned submit_stpg(struct alua_dh_data *h)
rq->end_io_data = h;
blk_execute_rq_nowait(rq->q, NULL, rq, 1, stpg_endio);
- return err;
+ return SCSI_DH_OK;
}
/*