On Sat, 2007-03-24 at 01:51 +0100, thomas schorpp wrote: > > no. so the pci layer reports wrong start: > > nonsense. it succeeds, confused function return with the error flag: > > // u_long start; > // u_long start = 0xFFEFF000; > u_long start = 0x30000000; > int error; > > struct resource* ret1; > error = 0; > // start = pci_resource_start(ahc->dev_softc, 1); > if (start != 0) { > *bus_addr = start; > if ((ret1 = request_mem_region(start, 0x1000, "aic7xxx")) == 0) You can't do this. The pci_resource_start is getting the address of something called a Bus Address Register (BAR) it says in physical address space where the card is responding ... you can't simply set that to a random value. The problem you seem to have is that your system is reporting a BAR beyond 32 bits (4GB) which the card physically can't use. This could be because of a BIOS misconfiguration or because there's a bug in the PCI subsystem somewhere. James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html