aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/53c700.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2014-06-25 09:27:36 -0400
committerChristoph Hellwig <hch@lst.de>2014-07-17 16:07:37 -0400
commit9cb78c16f5dadefd8dc5ba0ae5a2f26cd59419b3 (patch)
tree576b86c3ec56dd7176285ec2d27f27ca55f77bc3 /drivers/scsi/53c700.c
parent755f516bbb983915d6cbfb5aa592cc0a5a99fd00 (diff)
scsi: use 64-bit LUNs
The SCSI standard defines 64-bit values for LUNs, and large arrays employing large or hierarchical LUN numbers become more and more common. So update the linux SCSI stack to use 64-bit LUN numbers. Signed-off-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Christoph Hellwig <hch@infradead.org> Reviewed-by: Ewan Milne <emilne@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/53c700.c')
-rw-r--r--drivers/scsi/53c700.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index a3adfb4357f5..fabd4be2c985 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -1005,7 +1005,7 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp,
1005 DMA_TO_DEVICE); 1005 DMA_TO_DEVICE);
1006 1006
1007 cmnd[0] = REQUEST_SENSE; 1007 cmnd[0] = REQUEST_SENSE;
1008 cmnd[1] = (SCp->device->lun & 0x7) << 5; 1008 cmnd[1] = (lun & 0x7) << 5;
1009 cmnd[2] = 0; 1009 cmnd[2] = 0;
1010 cmnd[3] = 0; 1010 cmnd[3] = 0;
1011 cmnd[4] = SCSI_SENSE_BUFFERSIZE; 1011 cmnd[4] = SCSI_SENSE_BUFFERSIZE;
@@ -1396,7 +1396,8 @@ NCR_700_start_command(struct scsi_cmnd *SCp)
1396 struct NCR_700_Host_Parameters *hostdata = 1396 struct NCR_700_Host_Parameters *hostdata =
1397 (struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0]; 1397 (struct NCR_700_Host_Parameters *)SCp->device->host->hostdata[0];
1398 __u16 count = 1; /* for IDENTIFY message */ 1398 __u16 count = 1; /* for IDENTIFY message */
1399 1399 u8 lun = SCp->device->lun;
1400
1400 if(hostdata->state != NCR_700_HOST_FREE) { 1401 if(hostdata->state != NCR_700_HOST_FREE) {
1401 /* keep this inside the lock to close the race window where 1402 /* keep this inside the lock to close the race window where
1402 * the running command finishes on another CPU while we don't 1403 * the running command finishes on another CPU while we don't
@@ -1415,7 +1416,7 @@ NCR_700_start_command(struct scsi_cmnd *SCp)
1415 1416
1416 hostdata->msgout[0] = NCR_700_identify((SCp->cmnd[0] != REQUEST_SENSE && 1417 hostdata->msgout[0] = NCR_700_identify((SCp->cmnd[0] != REQUEST_SENSE &&
1417 slot->flags != NCR_700_FLAG_AUTOSENSE), 1418 slot->flags != NCR_700_FLAG_AUTOSENSE),
1418 SCp->device->lun); 1419 lun);
1419 /* for INQUIRY or REQUEST_SENSE commands, we cannot be sure 1420 /* for INQUIRY or REQUEST_SENSE commands, we cannot be sure
1420 * if the negotiated transfer parameters still hold, so 1421 * if the negotiated transfer parameters still hold, so
1421 * always renegotiate them */ 1422 * always renegotiate them */