diff options
author | Hannes Reinecke <hare@suse.de> | 2017-09-20 09:18:51 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-09-25 19:03:14 -0400 |
commit | 2a8f7a0344c8b068cf4b13f1bf4bdd65b8787d04 (patch) | |
tree | f47c8b4be2bf668a3eece994a654d6a4b8e36a25 /drivers/scsi/device_handler/scsi_dh_rdac.c | |
parent | scsi: sd: Align maximum write same blocks to physical block size (diff) | |
download | linux-dev-2a8f7a0344c8b068cf4b13f1bf4bdd65b8787d04.tar.xz linux-dev-2a8f7a0344c8b068cf4b13f1bf4bdd65b8787d04.zip |
scsi: scsi_dh: Return SCSI_DH_XX error code from ->attach()
Rather than having each device handler implementing their own error
mapping, have the ->attach() call return a SCSI_DH_XXX error code and
implement the mapping in scsi_dh_handler_attach().
Suggested-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/device_handler/scsi_dh_rdac.c')
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_rdac.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_rdac.c b/drivers/scsi/device_handler/scsi_dh_rdac.c index 2ceff585f189..7af31a1247ee 100644 --- a/drivers/scsi/device_handler/scsi_dh_rdac.c +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c @@ -729,7 +729,7 @@ static int rdac_bus_attach(struct scsi_device *sdev) h = kzalloc(sizeof(*h) , GFP_KERNEL); if (!h) - return -ENOMEM; + return SCSI_DH_NOMEM; h->lun = UNINITIALIZED_LUN; h->state = RDAC_STATE_ACTIVE; @@ -755,7 +755,7 @@ static int rdac_bus_attach(struct scsi_device *sdev) lun_state[(int)h->lun_state]); sdev->handler_data = h; - return 0; + return SCSI_DH_OK; clean_ctlr: spin_lock(&list_lock); @@ -764,7 +764,7 @@ clean_ctlr: failed: kfree(h); - return -EINVAL; + return err; } static void rdac_bus_detach( struct scsi_device *sdev ) |