Re: 2.6.19-rc5-mm1 : probe of 0000:00:1f.2 failed with error -16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 13 Nov 2006 14:44:37 +0100
Remi <[email protected]> wrote:

> => Step 1 : with the patch applied, the resource of the pci device
> dev->resource[x] are initialized to claim legacy I/O ports from 0x01f0 up to
> 0x01f7 with the flag IORESOURCE_IO (drivers/pci/probe.c).

This is correct behaviour. The resource addresses are implied resources.

> => Step 2 : then, these resources are allocated from the I/O port resources, by
> pcibios_allocate_resources (arch/i386/pci/i386.c).

That is correct, the implied resources end up in the tree as they should
so we now have a correct map of the PCI resources

> which requests the same resources but with the IORESOURCE_BUSY flag. I/O ports
> resources are then :
> 
> 01f0-01f7 : 0000:00:1f.2
>     01f0-01f7 : libata

This is an ugly hack that is done by the libata code to deal with old v
new IDE handling. All is still correct however
> 
> => Step 4 : then the libata tries to allocate once more the same ressources and
> fails.
> 
> [<f00e3eed>] ata_pci_init_one+0xad/0x423 [libata]
>  [<f001f9c1>] piix_init_one+0x4b7/0x4d4 [ata_piix]

ata_pci_init_one should have followed the legacy_mode path at this point,
and the legacy mode path should not be trying to request the legacy
regions the quirk code already reserved.

I suspect the code should only do the pci_request_regions() call if the
device on if (!legacy_mode), and the legacy code should
pci_request_region(pdev, 4, ...);



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux