diff options
Diffstat (limited to 'drivers/scsi/device_handler')
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_rdac.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_rdac.c b/drivers/scsi/device_handler/scsi_dh_rdac.c index e7c7b4ebc1fe..2dee69da35cf 100644 --- a/drivers/scsi/device_handler/scsi_dh_rdac.c +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |||
@@ -376,7 +376,7 @@ static int get_lun(struct scsi_device *sdev, struct rdac_dh_data *h) | |||
376 | if (inqp->page_id[0] != 'e' || inqp->page_id[1] != 'd' || | 376 | if (inqp->page_id[0] != 'e' || inqp->page_id[1] != 'd' || |
377 | inqp->page_id[2] != 'i' || inqp->page_id[3] != 'd') | 377 | inqp->page_id[2] != 'i' || inqp->page_id[3] != 'd') |
378 | return SCSI_DH_NOSYS; | 378 | return SCSI_DH_NOSYS; |
379 | h->lun = scsilun_to_int((struct scsi_lun *)inqp->lun); | 379 | h->lun = inqp->lun[7]; /* Uses only the last byte */ |
380 | } | 380 | } |
381 | return err; | 381 | return err; |
382 | } | 382 | } |
@@ -386,6 +386,7 @@ static int check_ownership(struct scsi_device *sdev, struct rdac_dh_data *h) | |||
386 | int err; | 386 | int err; |
387 | struct c9_inquiry *inqp; | 387 | struct c9_inquiry *inqp; |
388 | 388 | ||
389 | h->lun_state = RDAC_LUN_UNOWNED; | ||
389 | err = submit_inquiry(sdev, 0xC9, sizeof(struct c9_inquiry), h); | 390 | err = submit_inquiry(sdev, 0xC9, sizeof(struct c9_inquiry), h); |
390 | if (err == SCSI_DH_OK) { | 391 | if (err == SCSI_DH_OK) { |
391 | inqp = &h->inq.c9; | 392 | inqp = &h->inq.c9; |