Backport of pci cardbus number enumeration from 2.6 to 2.4.29

From: Paul Marrons
Date: Wed Jan 19 2005 - 21:59:12 EST


Hi Martin,

To overcome a problem with my laptop cardbus not being assigned the correct bus number in 2.4.29 (I originally did this change for 2.4.27) I backported a portion of the code in the 2.6 kernel drivers/pci/pci.c file. I did this because I noticed that only 2.6 assigned the correct bus number and I specifically need to run 2.4.X because of a driver I need that is not 2.6 compatible. Basically without this change on my laptop (Thinkpad 240) both the main PCI bus and cardbus bridge both get assigned bus#0 and as a result any cardbus devices present are not correctly detected and allocated any resources, in addition the /proc/bus/pci contains two '0' entries and tools such as lspci fail to work.

I am aware of people overcoming this problem (with my model of laptop) by setting defining pcibios_assign_all_busses() as 1. But this backport is a superior solution to the problem.

The few small changes are isolated to pci_add_new_bus and pci_scan_bridge. I hope you will be able to incorporate them into the next 2.4 kernel release.

If there is anything else I need to do please let me know.

Regards,

Paul Marrons.

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