aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/aachba.c
diff options
context:
space:
mode:
authorMark Haverkamp <markh@osdl.org>2005-09-20 15:57:04 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-09-26 18:48:29 -0400
commit63a70eeaafe0e17e7f45cba495cb457d06070419 (patch)
treebaaec894a18394c8b4ae6d9eb8ea1e2b31eca001 /drivers/scsi/aacraid/aachba.c
parent9203344cb8ecc554a1d36eae6661235ed422cf59 (diff)
[SCSI] aacraid: fib size math fix
Received from Mark Salyzyn from Adaptec. The size of the command packet's scatter gather list maximum size was miscalculated in the low range leading to the driver initialization limiting the maximum i/o size that could go to the Adapter. There were no negative operational side effects resulting from this bad math, only a subtle limit in performance of the Adapter at the top end of the range. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aacraid/aachba.c')
-rw-r--r--drivers/scsi/aacraid/aachba.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c
index a0735a247e5..93416f760e5 100644
--- a/drivers/scsi/aacraid/aachba.c
+++ b/drivers/scsi/aacraid/aachba.c
@@ -843,8 +843,8 @@ int aac_get_adapter_info(struct aac_dev* dev)
843 if (!(dev->raw_io_interface)) { 843 if (!(dev->raw_io_interface)) {
844 dev->scsi_host_ptr->sg_tablesize = (dev->max_fib_size - 844 dev->scsi_host_ptr->sg_tablesize = (dev->max_fib_size -
845 sizeof(struct aac_fibhdr) - 845 sizeof(struct aac_fibhdr) -
846 sizeof(struct aac_write) + sizeof(struct sgmap)) / 846 sizeof(struct aac_write) + sizeof(struct sgentry)) /
847 sizeof(struct sgmap); 847 sizeof(struct sgentry);
848 if (dev->dac_support) { 848 if (dev->dac_support) {
849 /* 849 /*
850 * 38 scatter gather elements 850 * 38 scatter gather elements
@@ -853,8 +853,8 @@ int aac_get_adapter_info(struct aac_dev* dev)
853 (dev->max_fib_size - 853 (dev->max_fib_size -
854 sizeof(struct aac_fibhdr) - 854 sizeof(struct aac_fibhdr) -
855 sizeof(struct aac_write64) + 855 sizeof(struct aac_write64) +
856 sizeof(struct sgmap64)) / 856 sizeof(struct sgentry64)) /
857 sizeof(struct sgmap64); 857 sizeof(struct sgentry64);
858 } 858 }
859 dev->scsi_host_ptr->max_sectors = AAC_MAX_32BIT_SGBCOUNT; 859 dev->scsi_host_ptr->max_sectors = AAC_MAX_32BIT_SGBCOUNT;
860 if(!(dev->adapter_info.options & AAC_OPT_NEW_COMM)) { 860 if(!(dev->adapter_info.options & AAC_OPT_NEW_COMM)) {