[+cc Rajat] On Fri, Aug 01, 2014 at 03:47:12PM -0700, Sandeep Mann wrote: > Using an ordered workqueue serializes processing of hotplug event. Processing > an hotplug event for some devices can take a relatively "long" time, which > means if a device is added and removed in quick succession (or due to flacky > hardware), it can lead to multiple outstanding hotplug events. Processing > these events concurrently can lead to unknown internal state and/or kernel > panics. Did you find this by code inspection, or did you actually observe a problem? If the latter, what were the symptoms? shpchp does the same thing, so I assume it requires the same fix. > Signed-off-by: Sandeep Mann <sandeep@xxxxxxxxxxxxxxx> > --- > drivers/pci/hotplug/pciehp_hpc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c > index 42914e0..c4eedab 100644 > --- a/drivers/pci/hotplug/pciehp_hpc.c > +++ b/drivers/pci/hotplug/pciehp_hpc.c > @@ -681,7 +681,7 @@ static int pcie_init_slot(struct controller *ctrl) > if (!slot) > return -ENOMEM; > > - slot->wq = alloc_workqueue("pciehp-%u", 0, 0, PSN(ctrl)); > + slot->wq = alloc_ordered_workqueue("pciehp-%u", 0, PSN(ctrl)); > if (!slot->wq) > goto abort; > > -- > 1.8.3.2 > -- 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