Re: [BUGFIX 0/9] Fix bug 59501 and code improvement for dock driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2013/6/14 11:43, Yinghai Lu wrote:
On Thu, Jun 13, 2013 at 8:30 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
On Thu, Jun 13, 2013 at 7:51 PM, Jiang Liu (Gerry) <jiang.liu@xxxxxxxxxx> wrote:

For the first step, I'm trying to make hotplug case work in the same way as
boot time. Do you think this patch help?

diff --git a/drivers/pci/hotplug/acpiphp_glue.c
b/drivers/pci/hotplug/acpiphp_gl
index 270fdba..12e3f6e 100644
--- a/drivers/pci/hotplug/acpiphp_glue.c
+++ b/drivers/pci/hotplug/acpiphp_glue.c
@@ -837,13 +837,13 @@ static int __ref enable_device(struct acpiphp_slot
*slot)
                                 max = pci_scan_bridge(bus, dev, max, pass);
                                 if (pass && dev->subordinate) {
                                         check_hotplug_bridge(slot, dev);
- pci_bus_size_bridges(dev->subordinate);
+ pcibios_resource_survey_bus(dev->subordi
                                 }
                         }
                 }
         }

-       pci_bus_assign_resources(bus);
+       pci_assign_unassigned_bus_resources(bus);

can not use use pci_assign_unassigned_bus_resources directly. as bus
could have devices that is there already
before this enable_device and could have driver loaded before.

that is why we have checking
     if (PCI_SLOT(dev->devfn) != slot->device)

Thanks for reminder.
This a quick solution for prove of concept and it should be OK for
this Sony laptop case.
On the other hand, we may need to enhance pci_bus_size_bridges(dev->subordinate) and
pci_bus_assign_resources(bus) to support realloc_list.

.



--
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




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux