patch-2.4.25 linux-2.4.25/arch/sparc64/kernel/pci_common.c

Next file: linux-2.4.25/arch/sparc64/kernel/pci_sabre.c
Previous file: linux-2.4.25/arch/sparc64/kernel/ioctl32.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.24/arch/sparc64/kernel/pci_common.c linux-2.4.25/arch/sparc64/kernel/pci_common.c
@@ -317,14 +317,23 @@
 {
 	struct resource *res;
 	int breg = (ap->phys_hi & 0xff);
-	int space = (ap->phys_hi >> 24) & 3;
 
 	switch (breg) {
 	case  PCI_ROM_ADDRESS:
+		/* Unfortunately I have seen several cases where
+		 * buggy FCODE uses a space value of '1' (I/O space)
+		 * in the register property for the ROM address
+		 * so disable this sanity check for now.
+		 */
+#if 0
+	{
+		int space = (ap->phys_hi >> 24) & 3;
+
 		/* It had better be MEM space. */
 		if (space != 2)
 			bad_assignment(pdev, ap, NULL, 0);
-
+	}
+#endif
 		res = &pdev->resource[PCI_ROM_RESOURCE];
 		break;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)