* [PATCH] aic94xx: disable split completion timer/setting by default
@ 2006-06-30 21:10 Alexis Bruemmer
2006-06-30 21:17 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: Alexis Bruemmer @ 2006-06-30 21:10 UTC (permalink / raw)
To: linux-kernel
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 <alexisb@us.ibm.com>
----------
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] aic94xx: disable split completion timer/setting by default
2006-06-30 21:10 [PATCH] aic94xx: disable split completion timer/setting by default Alexis Bruemmer
@ 2006-06-30 21:17 ` Jeff Garzik
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2006-06-30 21:17 UTC (permalink / raw)
To: Alexis Bruemmer; +Cc: linux-kernel, SCSI Mailing List
Alexis Bruemmer wrote:
> 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 <alexisb@us.ibm.com>
There are various aic94xx driver bits floating about, and I'm worried
that it will stay forever outside the kernel.org tree.
Can you (a) make sure to CC linux-scsi@vger.kernel.org on all aic94xx
patches, and (b) work with James Bottomley and the crew to get it
working with the upstream tree?
Jeff
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-06-30 21:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-30 21:10 [PATCH] aic94xx: disable split completion timer/setting by default Alexis Bruemmer
2006-06-30 21:17 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox