From: Greg Kroah-Hartman Date: Wed, 4 Jun 2014 06:03:07 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.14.6~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=39d6661e4020282554a33eb0aa81e8669b16645d;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: genirq-provide-irq_force_affinity-fallback-for-non-smp.patch pci-shpchp-check-bridge-s-secondary-not-primary-bus-speed.patch --- diff --git a/queue-3.10/genirq-provide-irq_force_affinity-fallback-for-non-smp.patch b/queue-3.10/genirq-provide-irq_force_affinity-fallback-for-non-smp.patch new file mode 100644 index 00000000000..cbb591073c7 --- /dev/null +++ b/queue-3.10/genirq-provide-irq_force_affinity-fallback-for-non-smp.patch @@ -0,0 +1,48 @@ +From 4c88d7f9b0d5fb0588c3386be62115cc2eaa8f9f Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Wed, 23 Apr 2014 14:49:17 +0200 +Subject: genirq: Provide irq_force_affinity fallback for non-SMP + +From: Arnd Bergmann + +commit 4c88d7f9b0d5fb0588c3386be62115cc2eaa8f9f upstream. + +Patch 01f8fa4f01d "genirq: Allow forcing cpu affinity of interrupts" added +an irq_force_affinity() function, and 30ccf03b4a6 "clocksource: Exynos_mct: +Use irq_force_affinity() in cpu bringup" subsequently uses it. However, the +driver can be used with CONFIG_SMP disabled, but the function declaration +is only available for CONFIG_SMP, leading to this build error: + +drivers/clocksource/exynos_mct.c:431:3: error: implicit declaration of function 'irq_force_affinity' [-Werror=implicit-function-declaration] + irq_force_affinity(mct_irqs[MCT_L0_IRQ + cpu], cpumask_of(cpu)); + +This patch introduces a dummy helper function for the non-SMP case +that always returns success, to get rid of the build error. +Since the patches causing the problem are marked for stable backports, +this one should be as well. + +Signed-off-by: Arnd Bergmann +Cc: Krzysztof Kozlowski +Acked-by: Kukjin Kim +Link: http://lkml.kernel.org/r/5619084.0zmrrIUZLV@wuerfel +Signed-off-by: Thomas Gleixner +Signed-off-by: Greg Kroah-Hartman + +--- + include/linux/interrupt.h | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/include/linux/interrupt.h ++++ b/include/linux/interrupt.h +@@ -308,6 +308,11 @@ static inline int irq_set_affinity(unsig + return -EINVAL; + } + ++static inline int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask) ++{ ++ return 0; ++} ++ + static inline int irq_can_set_affinity(unsigned int irq) + { + return 0; diff --git a/queue-3.10/pci-shpchp-check-bridge-s-secondary-not-primary-bus-speed.patch b/queue-3.10/pci-shpchp-check-bridge-s-secondary-not-primary-bus-speed.patch new file mode 100644 index 00000000000..748663a3282 --- /dev/null +++ b/queue-3.10/pci-shpchp-check-bridge-s-secondary-not-primary-bus-speed.patch @@ -0,0 +1,45 @@ +From 93fa9d32670f5592c8e56abc9928fc194e1e72fc Mon Sep 17 00:00:00 2001 +From: Marcel Apfelbaum +Date: Thu, 15 May 2014 12:42:49 -0600 +Subject: PCI: shpchp: Check bridge's secondary (not primary) bus speed + +From: Marcel Apfelbaum + +commit 93fa9d32670f5592c8e56abc9928fc194e1e72fc upstream. + +When a new device is added below a hotplug bridge, the bridge's secondary +bus speed and the device's bus speed must match. The shpchp driver +previously checked the bridge's *primary* bus speed, not the secondary bus +speed. + +This caused hot-add errors like: + + shpchp 0000:00:03.0: Speed of bus ff and adapter 0 mismatch + +Check the secondary bus speed instead. + +[bhelgaas: changelog] +Link: https://bugzilla.kernel.org/show_bug.cgi?id=75251 +Fixes: 3749c51ac6c1 ("PCI: Make current and maximum bus speeds part of the PCI core") +Signed-off-by: Marcel Apfelbaum +Signed-off-by: Bjorn Helgaas +Acked-by: Michael S. Tsirkin +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/pci/hotplug/shpchp_ctrl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/pci/hotplug/shpchp_ctrl.c ++++ b/drivers/pci/hotplug/shpchp_ctrl.c +@@ -282,8 +282,8 @@ static int board_added(struct slot *p_sl + return WRONG_BUS_FREQUENCY; + } + +- bsp = ctrl->pci_dev->bus->cur_bus_speed; +- msp = ctrl->pci_dev->bus->max_bus_speed; ++ bsp = ctrl->pci_dev->subordinate->cur_bus_speed; ++ msp = ctrl->pci_dev->subordinate->max_bus_speed; + + /* Check if there are other slots or devices on the same bus */ + if (!list_empty(&ctrl->pci_dev->subordinate->devices)) diff --git a/queue-3.10/series b/queue-3.10/series index 75c4d719a3f..387ef24eb40 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -83,3 +83,5 @@ asoc-wm8962-update-register-class_d_control_1-to-be-non-volatile.patch metag-fix-memory-barriers.patch metag-reduce-maximum-stack-size-to-256mb.patch x86-64-modify_ldt-make-support-for-16-bit-segments-a-runtime-option.patch +genirq-provide-irq_force_affinity-fallback-for-non-smp.patch +pci-shpchp-check-bridge-s-secondary-not-primary-bus-speed.patch