The aic94xx driver will lock up under heavy load with a split completion
error. There is a split completion timer/setting which should be
disabled by default but is not. This patch fixes this problem.
Signed-off-by: Adaptec
Acked-by: Alexis Bruemmer <[email protected]>
----------
Index: aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_hwi.c
===================================================================
--- aic94xx-sas-2.6-patched.orig/drivers/scsi/aic94xx/aic94xx_hwi.c 2006-06-23 11:12:01.000000000 -0700
+++ aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_hwi.c 2006-06-29 12:10:08.000000000 -0700
@@ -604,11 +604,26 @@
int asd_init_hw(struct asd_ha_struct *asd_ha)
{
int err;
+ u32 v;
err = asd_init_sw(asd_ha);
if (err)
return err;
+ err = pci_read_config_dword(asd_ha->pcidev, PCIC_HSTPCIX_CNTRL, &v);
+ if (err) {
+ asd_printk("couldn't read PCIC_HSTPCIX_CNTRL of %s\n",
+ pci_name(asd_ha->pcidev));
+ return err;
+ }
+ pci_write_config_dword(asd_ha->pcidev, PCIC_HSTPCIX_CNTRL,
+ v | SC_TMR_DIS);
+ if (err) {
+ asd_printk("couldn't disable split completion timer of %s\n",
+ pci_name(asd_ha->pcidev));
+ return err;
+ }
+
err = asd_read_ocm(asd_ha);
if (err) {
asd_printk("couldn't read ocm(%d)\n", err);
Index: aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_reg_def.h
===================================================================
--- aic94xx-sas-2.6-patched.orig/drivers/scsi/aic94xx/aic94xx_reg_def.h 2006-06-23 11:12:01.000000000 -0700
+++ aic94xx-sas-2.6-patched/drivers/scsi/aic94xx/aic94xx_reg_def.h 2006-06-29 11:57:49.000000000 -0700
@@ -1787,6 +1787,7 @@
#define PCIC_HSTPCIX_CNTRL 0xA0
#define REWIND_DIS 0x0800
+#define SC_TMR_DIS 0x04000000
#define PCIC_MBAR0_MASK 0xA8
#define PCIC_MBAR0_SIZE_MASK 0x1FFFE000
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]