aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic7xxx_osm.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/aic7xxx/aic7xxx_osm.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/aic7xxx/aic7xxx_osm.c')
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
index 114ff0c6e311..d2c9bf39033d 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -2110,7 +2110,7 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag)
2110 */ 2110 */
2111 printk("%s:%d:%d:%d: Is not an active device\n", 2111 printk("%s:%d:%d:%d: Is not an active device\n",
2112 ahc_name(ahc), cmd->device->channel, cmd->device->id, 2112 ahc_name(ahc), cmd->device->channel, cmd->device->id,
2113 cmd->device->lun); 2113 (u8)cmd->device->lun);
2114 retval = SUCCESS; 2114 retval = SUCCESS;
2115 goto no_cmd; 2115 goto no_cmd;
2116 } 2116 }
@@ -2118,11 +2118,11 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag)
2118 if ((dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED)) == 0 2118 if ((dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED)) == 0
2119 && ahc_search_untagged_queues(ahc, cmd, cmd->device->id, 2119 && ahc_search_untagged_queues(ahc, cmd, cmd->device->id,
2120 cmd->device->channel + 'A', 2120 cmd->device->channel + 'A',
2121 cmd->device->lun, 2121 (u8)cmd->device->lun,
2122 CAM_REQ_ABORTED, SEARCH_COMPLETE) != 0) { 2122 CAM_REQ_ABORTED, SEARCH_COMPLETE) != 0) {
2123 printk("%s:%d:%d:%d: Command found on untagged queue\n", 2123 printk("%s:%d:%d:%d: Command found on untagged queue\n",
2124 ahc_name(ahc), cmd->device->channel, cmd->device->id, 2124 ahc_name(ahc), cmd->device->channel, cmd->device->id,
2125 cmd->device->lun); 2125 (u8)cmd->device->lun);
2126 retval = SUCCESS; 2126 retval = SUCCESS;
2127 goto done; 2127 goto done;
2128 } 2128 }
@@ -2188,13 +2188,14 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag)
2188 SEARCH_COMPLETE) > 0) { 2188 SEARCH_COMPLETE) > 0) {
2189 printk("%s:%d:%d:%d: Cmd aborted from QINFIFO\n", 2189 printk("%s:%d:%d:%d: Cmd aborted from QINFIFO\n",
2190 ahc_name(ahc), cmd->device->channel, 2190 ahc_name(ahc), cmd->device->channel,
2191 cmd->device->id, cmd->device->lun); 2191 cmd->device->id, (u8)cmd->device->lun);
2192 retval = SUCCESS; 2192 retval = SUCCESS;
2193 goto done; 2193 goto done;
2194 } 2194 }
2195 } else if (ahc_search_qinfifo(ahc, cmd->device->id, 2195 } else if (ahc_search_qinfifo(ahc, cmd->device->id,
2196 cmd->device->channel + 'A', 2196 cmd->device->channel + 'A',
2197 cmd->device->lun, pending_scb->hscb->tag, 2197 cmd->device->lun,
2198 pending_scb->hscb->tag,
2198 ROLE_INITIATOR, /*status*/0, 2199 ROLE_INITIATOR, /*status*/0,
2199 SEARCH_COUNT) > 0) { 2200 SEARCH_COUNT) > 0) {
2200 disconnected = FALSE; 2201 disconnected = FALSE;