[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <47B3C650.9040008@pobox.com>
Date: Wed, 13 Feb 2008 23:40:48 -0500
From: Jeff Garzik <jgarzik@...ox.com>
To: Stephen Hemminger <shemminger@...ux-foundation.org>
CC: netdev@...r.kernel.org
Subject: Re: [RFC] sky2: don't request unused i/o region
Stephen Hemminger wrote:
> The sky2 driver only uses the PCI memory region (0) not the
> available I/O region. Some users want to use lots of boards, and the
> I/O space gets exhausted.
>
> Signed-off-by: Stephen Hemminger <shemminger@...ux-foundation.org>
>
> --- a/drivers/net/sky2.c 2008-02-13 18:58:21.000000000 -0800
> +++ b/drivers/net/sky2.c 2008-02-13 18:58:55.000000000 -0800
> @@ -4135,9 +4135,9 @@ static int __devinit sky2_probe(struct p
> goto err_out;
> }
>
> - err = pci_request_regions(pdev, DRV_NAME);
> + err = pci_request_region(pdev, 0, DRV_NAME);
> if (err) {
> - dev_err(&pdev->dev, "cannot obtain PCI resources\n");
> + dev_err(&pdev->dev, "cannot obtain PCI resource\n");
Your description of the problem does not match the fix.
PCI resources are already allocated to the device (or not) by this point
in the code. pci_request_region/regions is purely internal kernel
software resource reservation -- protecting drivers from themselves, and
arguably not really needed anymore on modern buses.
Thus, I cannot see how this patch can possibly "exhaust I/O space" --
the relevant PCI resources are allocated to the device, or not,
regardless of these function calls.
As long as there is no resource conflict, you can have 1 million boards
and still use pci_request_regions().
Jeff
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists