=================================================================== RCS file: /opt/CVS/linux/drivers/edac/e752x_edac.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 e752x_edac.c --- drivers/edac/e752x_edac.c 21 Apr 2006 02:58:32 -0000 1.1.1.1 +++ drivers/edac/e752x_edac.c 25 Apr 2006 13:26:33 -0000 @@ -755,10 +755,16 @@ debugf0("MC: " __FILE__ ": %s(): mci\n", __func__); debugf0("Starting Probe1\n"); - /* enable device 0 function 1 */ + /* check to see if device 0 function 1 is enbaled if it isn't we assume + * the BIOS has reserved it for a reason and is expecting exclusive + * access, we take care to not violate that assumption and fail the + * probe. */ pci_read_config_byte(pdev, E752X_DEVPRES1, &stat8); - stat8 |= (1 << 5); - pci_write_config_byte(pdev, E752X_DEVPRES1, stat8); + if (!(stat8 & (1 << 5))) { + printk(KERN_WARNING "contact your bios vendor to see if the " + "E752x error registers can be safely un-hidden\n"); + goto fail; + } /* need to find out the number of channels */ pci_read_config_dword(pdev, E752X_DRC, &drc);