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