Messages in this thread Patch in this message | | | Date | Thu, 29 Mar 2001 10:09:32 -0800 (PST) | From | Wayne Whitney <> | Subject | Re: 2.4.3-p8 pci_fixup_vt8363 + ASUS A7V "Optimal" = IDE disk corruption |
| |
On 29 Mar 2001, Juan Quintela wrote:
> Hi I have the same motherboard and BIOS version. I was having > filesystem corruption. There is a bugfix (from Arjan van der Ven) in > the ac tree (around ac20 I think), could you test the last ac patch > and test if the filesystem corruption persist??
I took a look at 2.4.2-ac28; rather than test the kernel itself, I used setpci to duplicate what the fixup function does. The upshot is that 2.4.2-ac28 does not cause any corruption with the ASUS A7V 1007 "Optimal". Its pci_fixup_vt8363 function has a subset of the tests from 2.4.3-pre8, namely it omits:
pci_read_config_byte(d, 0x54, &tmp); if(tmp & (1)) { printk("PCI: Fast Write to Read turnaround disabled\n"); pci_write_config_byte(d, 0x54, tmp & ~(1)); } pci_read_config_byte(d, 0x70, &tmp); if(tmp & (1<<2)) { printk("PCI: Disabled Master Read Caching\n"); pci_write_config_byte(d, 0x70, tmp & ~(1<<2)); }
This second test was part of the 2.4.3-pre8 pci_fixup_vt8363 subset from my previous email which causes corruption on the ASUS A7V 1007 for both Optimal and Normal settings. I verified that if I add it back in, I do get corruption with ASUS A7V 1007 "Optimal". By omitting it, I guess 2.4.2-ac28 avoids the corruption of 2.4.3-pre8.
Perhaps 2.4.3-pre9 should adopt the pci_fixup_vt8363 from 2.4.2-ac28? Below is a patch.
Cheers, Wayne
--- linux-2.4.3-pre8/arch/i386/kernel/pci-pc.c Wed Mar 28 22:56:04 2001 +++ linux-2.4.2-ac28/arch/i386/kernel/pci-pc.c Wed Mar 28 22:51:00 2001 @@ -968,23 +971,13 @@ printk("PCI: Bus master Pipeline request disabled\n"); pci_write_config_byte(d, 0x54, tmp & ~(1<<2)); } - pci_read_config_byte(d, 0x54, &tmp); - if(tmp & (1)) { - printk("PCI: Fast Write to Read turnaround disabled\n"); - pci_write_config_byte(d, 0x54, tmp & ~(1)); - } pci_read_config_byte(d, 0x70, &tmp); if(tmp & (1<<3)) { printk("PCI: Disabled enhanced CPU to PCI writes\n"); pci_write_config_byte(d, 0x70, tmp & ~(1<<3)); } - pci_read_config_byte(d, 0x70, &tmp); - if(tmp & (1<<2)) { - printk("PCI: Disabled Master Read Caching\n"); - pci_write_config_byte(d, 0x70, tmp & ~(1<<2)); - } pci_read_config_byte(d, 0x71, &tmp); - if ((tmp & (1<<3))==0) { + if((tmp & (1<<3)) == 0) { printk("PCI: Bursting cornercase bug worked around\n"); pci_write_config_byte(d, 0x71, tmp | (1<<3)); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |