aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic94xx/aic94xx_dev.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2006-10-05 18:12:37 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-07-18 12:13:59 -0400
commit797f49de3d95d964a360bcf0167cc20e249bb90b (patch)
tree500f4d0f5647a07e107d975f1b3eaef5608b96dc /drivers/scsi/aic94xx/aic94xx_dev.c
parent38e2f035587b0674b3168931c8402f4d719fdd76 (diff)
[SCSI] aic94xx: SATA tag mask not set correctly
The aic94xx controller has a bitmask establishing which tags are ok to use with a SATA NCQ disk. When the queue depth is 32, however, the expression that is used sets the mask to zero, not 0xFFFFFFFF. This patch widens the width of the integer so that this case is handled properly. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic94xx/aic94xx_dev.c')
-rw-r--r--drivers/scsi/aic94xx/aic94xx_dev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_dev.c b/drivers/scsi/aic94xx/aic94xx_dev.c
index c520e5b41fb5..3dce618bf414 100644
--- a/drivers/scsi/aic94xx/aic94xx_dev.c
+++ b/drivers/scsi/aic94xx/aic94xx_dev.c
@@ -126,7 +126,7 @@ static inline int asd_init_sata(struct domain_device *dev)
126 if (w76 & 0x100) /* NCQ? */ 126 if (w76 & 0x100) /* NCQ? */
127 qdepth = (w75 & 0x1F) + 1; 127 qdepth = (w75 & 0x1F) + 1;
128 asd_ddbsite_write_dword(asd_ha, ddb, SATA_TAG_ALLOC_MASK, 128 asd_ddbsite_write_dword(asd_ha, ddb, SATA_TAG_ALLOC_MASK,
129 (1<<qdepth)-1); 129 (1ULL<<qdepth)-1);
130 asd_ddbsite_write_byte(asd_ha, ddb, NUM_SATA_TAGS, qdepth); 130 asd_ddbsite_write_byte(asd_ha, ddb, NUM_SATA_TAGS, qdepth);
131 } 131 }
132 if (dev->dev_type == SATA_DEV || dev->dev_type == SATA_PM || 132 if (dev->dev_type == SATA_DEV || dev->dev_type == SATA_PM ||