aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/comminit.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/comminit.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/comminit.c')
-rw-r--r--drivers/scsi/aacraid/comminit.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
index 9e054a509b41..59a341b2aedc 100644
--- a/drivers/scsi/aacraid/comminit.c
+++ b/drivers/scsi/aacraid/comminit.c
@@ -313,8 +313,8 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
313 dev->max_fib_size = sizeof(struct hw_fib); 313 dev->max_fib_size = sizeof(struct hw_fib);
314 dev->sg_tablesize = host->sg_tablesize = (dev->max_fib_size 314 dev->sg_tablesize = host->sg_tablesize = (dev->max_fib_size
315 - sizeof(struct aac_fibhdr) 315 - sizeof(struct aac_fibhdr)
316 - sizeof(struct aac_write) + sizeof(struct sgmap)) 316 - sizeof(struct aac_write) + sizeof(struct sgentry))
317 / sizeof(struct sgmap); 317 / sizeof(struct sgentry);
318 dev->raw_io_64 = 0; 318 dev->raw_io_64 = 0;
319 if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES, 319 if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES,
320 0, 0, 0, 0, 0, 0, status+0, status+1, status+2, NULL, NULL)) && 320 0, 0, 0, 0, 0, 0, status+0, status+1, status+2, NULL, NULL)) &&
@@ -349,8 +349,8 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
349 dev->max_fib_size = 512; 349 dev->max_fib_size = 512;
350 dev->sg_tablesize = host->sg_tablesize 350 dev->sg_tablesize = host->sg_tablesize
351 = (512 - sizeof(struct aac_fibhdr) 351 = (512 - sizeof(struct aac_fibhdr)
352 - sizeof(struct aac_write) + sizeof(struct sgmap)) 352 - sizeof(struct aac_write) + sizeof(struct sgentry))
353 / sizeof(struct sgmap); 353 / sizeof(struct sgentry);
354 host->can_queue = AAC_NUM_IO_FIB; 354 host->can_queue = AAC_NUM_IO_FIB;
355 } else if (acbsize == 2048) { 355 } else if (acbsize == 2048) {
356 host->max_sectors = 512; 356 host->max_sectors = 512;