Messages in this thread | | | Subject | [PATCH v7 0/4] PCI: pciehp, shpchp deadlock fixes | From | Bjorn Helgaas <> | Date | Sun, 13 Jan 2013 16:27:32 -0700 |
| |
This is v7 of Yijing Wang's pciehp deadlock fix. Here's the history of previous postings:
RFC Oct 31 2012 v2 Nov 9 2012 use slot name, not device name v3 Nov 12 2012 create workqueues in pcie_init_slot(), pciehp-%u format v4 Nov 13 2012 use alloc_workqueue(name, 0, 0) again v5 Jan 9 2013 fix similar problem in shpchp v6 Jan 10 2013 add pciehp backtrace from Daniel
This v7 series is functionally identical to v6. In v7, I split the single shpchp patch into three:
PCI: shpchp: Make shpchp_wq non-ordered PCI: shpchp: Handle push button event asynchronously PCI: shpchp: Use per-slot workqueues to avoid deadlock
The first fixes what appears to be an error in e24dcbef93 ("shpchp: update workqueue usage"). I split this out so Tejun could easily review it by itself.
I split the second out because it corresponds to a pciehp bugfix, 486b10b9f4 ("PCI: pciehp: Handle push button event asynchronously"), that also affects shpchp.
The "PCI: shpchp: Use per-slot workqueues to avoid deadlock" that remains then corresponds exactly to Yijing's original pciehp deadlock fix.
I also rewrote the changelogs.
I propose to push the entire series for inclusion in v3.8, since it fixes an easy-to-cause deadlock with Thunderbolt adapters.
---
Bjorn Helgaas (3): PCI: shpchp: Make shpchp_wq non-ordered PCI: shpchp: Handle push button event asynchronously PCI: shpchp: Use per-slot workqueues to avoid deadlock
Yijing Wang (1): PCI: pciehp: Use per-slot workqueues to avoid deadlock
drivers/pci/hotplug/pciehp.h | 2 +- drivers/pci/hotplug/pciehp_core.c | 11 ++--------- drivers/pci/hotplug/pciehp_ctrl.c | 8 ++++---- drivers/pci/hotplug/pciehp_hpc.c | 11 ++++++++++- drivers/pci/hotplug/shpchp.h | 3 +-- drivers/pci/hotplug/shpchp_core.c | 36 ++++++++++++++---------------------- drivers/pci/hotplug/shpchp_ctrl.c | 6 +++--- 7 files changed, 35 insertions(+), 42 deletions(-)
| |