From 8ed5a4d2f7d8b296a22fed7ec2b543c0500d13be Mon Sep 17 00:00:00 2001 From: Akinobu Mita Date: Mon, 2 Jun 2014 22:56:48 +0900 Subject: [PATCH] scsi: increase upper limit for max_sectors max_sectors in struct Scsi_Host specifies maximum number of sectors allowed in a single SCSI command. The data type of max_sectors is unsigned short, so the maximum transfer length per SCSI command is limited to less than 256MB in 4096-bytes sector size. (0xffff * 4096) This commit increases the SCSI mid level's limitation for max_sectors upto the block layer's limitation for max_hw_sectors by extending the data type of max_sectors in struct Scsi_Host and scsi_host_template, so that SCSI lower level drivers can specify more than 0xffff. Signed-off-by: Akinobu Mita Reviewed-by: Martin K. Petersen Signed-off-by: Christoph Hellwig --- include/scsi/scsi_host.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 94844fc77b97..db7d8bd2f86f 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -408,7 +408,7 @@ struct scsi_host_template { /* * Set this if the host adapter has limitations beside segment count. */ - unsigned short max_sectors; + unsigned int max_sectors; /* * DMA scatter gather segment boundary limit. A segment crossing this @@ -652,7 +652,7 @@ struct Scsi_Host { short cmd_per_lun; short unsigned int sg_tablesize; short unsigned int sg_prot_tablesize; - short unsigned int max_sectors; + unsigned int max_sectors; unsigned long dma_boundary; /* * Used to assign serial numbers to the cmds. -- 2.20.1