Set si_iosize_max to 64K, even though the adapter seems to be able to do more.

This puts us safely in line with Adaptec documentation and shouldn't really
affect anything.

MFC candidate for 4.3
This commit is contained in:
scottl 2001-03-07 08:37:49 +00:00
parent bfd72934ab
commit 45846aa7f1

View File

@ -219,8 +219,6 @@ static int
aac_disk_attach(device_t dev)
{
struct aac_disk *sc = (struct aac_disk *)device_get_softc(dev);
int sgspace;
int maxsg;
debug_called(4);
@ -258,16 +256,11 @@ aac_disk_attach(device_t dev)
disks_registered++;
#endif
/*
* We can calculate the maximum number of s/g entries based on the size of the
* FIB and the command structures packed within it.
/*
* The adapters seem to have a 64K size limit on the max I/O size. Set
* our size on accordance.
*/
sgspace = (sizeof(struct aac_fib) - sizeof(struct aac_fib_header) -
imax(sizeof(struct aac_blockwrite), sizeof(struct aac_blockread)));
maxsg = (sgspace - sizeof(struct aac_sg_table)) / sizeof(struct aac_sg_entry);
/* set the maximum I/O size to the theoretical worst maximum allowed by the S/G list size */
sc->ad_dev_t->si_iosize_max = (maxsg - 1) * PAGE_SIZE;
sc->ad_dev_t->si_iosize_max = 65536;
return (0);
}