aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/comminit.c
diff options
context:
space:
mode:
authorMark Haverkamp <markh@osdl.org>2005-09-22 09:15:24 -0700
committerJames Bottomley <jejb@mulgrave.(none)>2005-09-26 17:41:13 -0500
commit7a8cf29d69e077dfe90e327859201fd9b75a47ce (patch)
treef2176261e25a0d94d85c09a66d6d40285fa925bf /drivers/scsi/aacraid/comminit.c
parentc4a3e0a529ab3e65223e81681c7c6b1bc188fa58 (diff)
downloadkernel_samsung_smdk4412-7a8cf29d69e077dfe90e327859201fd9b75a47ce.zip
kernel_samsung_smdk4412-7a8cf29d69e077dfe90e327859201fd9b75a47ce.tar.gz
kernel_samsung_smdk4412-7a8cf29d69e077dfe90e327859201fd9b75a47ce.tar.bz2
[SCSI] aacraid: Greater than 2TB capacity support
Received from Mark Salyzyn from Adaptec. There are a few adapters that are capable of creating devices with this large of a capacity, but now that we have the large fib support in, the management applications will be capable of generating them. The problem is, once they are created, the driver will not be able to access the devices correctly without this patch. 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.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/aacraid/comminit.c b/drivers/scsi/aacraid/comminit.c
index 75abd04..7f11c85 100644
--- a/drivers/scsi/aacraid/comminit.c
+++ b/drivers/scsi/aacraid/comminit.c
@@ -315,6 +315,13 @@ struct aac_dev *aac_init_adapter(struct aac_dev *dev)
- sizeof(struct aac_fibhdr)
- sizeof(struct aac_write) + sizeof(struct sgmap))
/ sizeof(struct sgmap);
+ dev->raw_io_64 = 0;
+ if ((!aac_adapter_sync_cmd(dev, GET_ADAPTER_PROPERTIES,
+ 0, 0, 0, 0, 0, 0, status+0, status+1, status+2, NULL, NULL)) &&
+ (status[0] == 0x00000001)) {
+ if (status[1] & AAC_OPT_NEW_COMM_64)
+ dev->raw_io_64 = 1;
+ }
if ((!aac_adapter_sync_cmd(dev, GET_COMM_PREFERRED_SETTINGS,
0, 0, 0, 0, 0, 0,
status+0, status+1, status+2, status+3, status+4))