* Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>:With this change, kobject_init_and_add() called in
pci_create_slot() will show stack trace if a hotplug driver
attempts to register multiple slot with the same name. That is,
stack trace will be shown on the platform that wrongly assing
the physical slot number to multiple slots. I'm very sorry, but
I don't have enough time to consider how to fix it today.
Hello Kenji-san,
You are obviously correct about my prior bad patch that simply
removed the check in pci_hp_register() for duplicate names.
I also talked with Willy, and he thought that the proper way to
fix all these issues was not in the individual drivers, but in
the PCI core, which I agree with.
Here is a patch series that attempts to implement Willy's
suggestion.
Patches 1--6 convert the callers of pci_hp_register/pci_create_slot
from a static char name[] to a dynamically kmalloc'ed char *name.
There are also cleanups in the individual drivers to remove the
_slot_with_bus parameters.
Patch 7/7 implements the collision rename logic. It's not the
prettiest thing in the world, so your comments are welcome. :)
It's getting late here and I haven't had time to really test it,
other than a quick compile test, but I wanted to try and send it
so that you could take a look and possibly try it. ;)
These patches apply on top of Linus's latest tree.
Thanks!
/ac
drivers/acpi/pci_slot.c | 15 ++++++-
drivers/pci/hotplug/acpiphp.h | 2 -
drivers/pci/hotplug/acpiphp_core.c | 18 +++++----
drivers/pci/hotplug/fakephp.c | 16 ++++++--
drivers/pci/hotplug/pci_hotplug_core.c | 4 --
drivers/pci/hotplug/pciehp.h | 6 +--
drivers/pci/hotplug/pciehp_core.c | 7 ---
drivers/pci/hotplug/pciehp_hpc.c | 19 ++++-----
drivers/pci/hotplug/pcihp_skeleton.c | 12 ++++--
drivers/pci/hotplug/shpchp.h | 5 +-
drivers/pci/hotplug/shpchp_core.c | 29 ++++----------
drivers/pci/slot.c | 65 +++++++++++++++++++++++++++++----
include/linux/pci.h | 3 -
13 files changed, 124 insertions(+), 77 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html