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 [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html