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 <[EMAIL PROTECTED]>

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

Reply via email to