[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1163429952.455888400b260@imp4-g19.free.fr>
Date: Mon, 13 Nov 2006 15:59:12 +0100
From: Remi <remi.colinet@...e.fr>
To: Alan <alan@...rguk.ukuu.org.uk>
Cc: linux-kernel@...r.kernel.org
Subject: Re: 2.6.19-rc5-mm1 : probe of 0000:00:1f.2 failed with error -16
Alan <alan@...rguk.ukuu.org.uk> wrote:
> On Mon, 13 Nov 2006 14:44:37 +0100
> Remi <remi.colinet@...e.fr> wrote:
>
> >
> > => 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,
So, doing the following change in drivers/ata/libata-sff.c, function
ata_pci_init_one should fix the problem.
- rc = pci_request_regions(pdev, DRV_NAME);
- if (rc) {
- disable_dev_on_err = 0;
- goto err_out;
- }
-
- if (legacy_mode) {
- if (!request_region(ATA_PRIMARY_CMD, 8, "libata")) {
+ if (!legacy_mode) {
+ rc = pci_request_regions(pdev, DRV_NAME);
+ if (rc) {
+ disable_dev_on_err = 0;
+ goto err_out;
+ }
+ else {
+ if (!request_region(ATA_PRIMARY_CMD, 8, "libata")) {
Going to try it.
But the ioport map is going stay a little bit ugly.
> 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, ...);
>
Actually, it seems to be exactly what the code does in the legacy mode.
Thanks,
Remi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists