James Bottomley wrote:
On Fri, 2007-03-23 at 02:26 +0100, thomas schorpp wrote:
ok, overriding the first while(ahc_is_paused) that blocked before (i see no sense for doing this in a pci mmap test function, cause proper resource setup is required *before* using such I/O functions, otherwise the adapter had entered SEQ paused status)
i got the kernel to boot at least at pio mode.

this is surely not the correct resource and looks like a datatype boundary overflow, the upper 0x0f is missing:
[   49.278810] Trying to free nonexistent resource
<00000000fffff000-00000000fff
fffff>

That's because ahc->platform_data->mem_busaddr is u32


[   54.513224] scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
[   54.513226]         <Adaptec 19160B Ultra160 SCSI adapter>
[   54.513227]         aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

The driver code suggests that the 7892 can't do the AHC_LARGE_SCBS
features ... which means the card itself cannot address more than 32
bits of memory, so it would be unable to decode a BAR that's beyond the
32 bit range.  So this looks like some type of error in the PCI config
system (or possibly in the BIOS).  I think this card needs its BARs to
be in the lower 32 bits to function.

James



i agree for this to be a 32bit dma busmaster chip,
since pci_resource_flags and lspci say 64bit mem resource type

aic7xxx: pci_resource_start fffff000 *maddr 20000 mem64 4

we've a bug in the x86_64 linux pci config, BIOS is ok, the hardware worked fine in a winxp_x64 test setup a few months ago.

will ask LKML.

y
tom
-
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

Reply via email to