]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2014 03:43:42 +0000 (19:43 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2014 03:43:42 +0000 (19:43 -0800)
added patches:
clocksource-em_sti-set-cpu_possible_mask-to-fix-smp-broadcast.patch
gpio-rcar-r-car-gpio-irq-share-interrupt.patch
irqchip-renesas-irqc-fix-irqc_probe-error-handling.patch

queue-3.10/clocksource-em_sti-set-cpu_possible_mask-to-fix-smp-broadcast.patch [new file with mode: 0644]
queue-3.10/gpio-rcar-r-car-gpio-irq-share-interrupt.patch [new file with mode: 0644]
queue-3.10/irqchip-renesas-irqc-fix-irqc_probe-error-handling.patch [new file with mode: 0644]
queue-3.10/series [new file with mode: 0644]

diff --git a/queue-3.10/clocksource-em_sti-set-cpu_possible_mask-to-fix-smp-broadcast.patch b/queue-3.10/clocksource-em_sti-set-cpu_possible_mask-to-fix-smp-broadcast.patch
new file mode 100644 (file)
index 0000000..9e1ae3b
--- /dev/null
@@ -0,0 +1,41 @@
+From 2199a5574b6d94b9ca26c6345356f45ec60fef8b Mon Sep 17 00:00:00 2001
+From: Magnus Damm <damm@opensource.se>
+Date: Wed, 18 Sep 2013 15:01:16 -0500
+Subject: clocksource: em_sti: Set cpu_possible_mask to fix SMP broadcast
+
+From: Magnus Damm <damm@opensource.se>
+
+commit 2199a5574b6d94b9ca26c6345356f45ec60fef8b upstream.
+
+Update the STI driver by setting cpu_possible_mask to make EMEV2
+SMP work as expected together with the ARM broadcast timer.
+
+This breakage was introduced by:
+
+f7db706 ARM: 7674/1: smp: Avoid dummy clockevent being preferred over real hardware clock-event
+
+Without this fix SMP operation is broken on EMEV2 since no
+broadcast timer interrupts trigger on the secondary CPU cores.
+
+Signed-off-by: Magnus Damm <damm@opensource.se>
+Tested-by: Simon Horman <horms+renesas@verge.net.au>
+Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/clocksource/em_sti.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/clocksource/em_sti.c
++++ b/drivers/clocksource/em_sti.c
+@@ -301,7 +301,7 @@ static void em_sti_register_clockevent(s
+       ced->name = dev_name(&p->pdev->dev);
+       ced->features = CLOCK_EVT_FEAT_ONESHOT;
+       ced->rating = 200;
+-      ced->cpumask = cpumask_of(0);
++      ced->cpumask = cpu_possible_mask;
+       ced->set_next_event = em_sti_clock_event_next;
+       ced->set_mode = em_sti_clock_event_mode;
diff --git a/queue-3.10/gpio-rcar-r-car-gpio-irq-share-interrupt.patch b/queue-3.10/gpio-rcar-r-car-gpio-irq-share-interrupt.patch
new file mode 100644 (file)
index 0000000..79db229
--- /dev/null
@@ -0,0 +1,33 @@
+From c234962b808f289237a40e4ce5fc1c8066d1c9d0 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Wed, 17 Apr 2013 23:40:57 -0700
+Subject: gpio-rcar: R-Car GPIO IRQ share interrupt
+
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+
+commit c234962b808f289237a40e4ce5fc1c8066d1c9d0 upstream.
+
+R-Car H1 or Gen2 GPIO interrupts are assigned per each GPIO domain,
+but, Gen1 E1/M1 GPIO interrupts are shared for all GPIO domain.
+gpio-rcar driver needs IRQF_SHARED flags for these.
+This patch was tested on Bock-W board
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpio/gpio-rcar.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpio/gpio-rcar.c
++++ b/drivers/gpio/gpio-rcar.c
+@@ -333,7 +333,7 @@ static int gpio_rcar_probe(struct platfo
+       }
+       if (devm_request_irq(&pdev->dev, irq->start,
+-                           gpio_rcar_irq_handler, 0, name, p)) {
++                           gpio_rcar_irq_handler, IRQF_SHARED, name, p)) {
+               dev_err(&pdev->dev, "failed to request IRQ\n");
+               ret = -ENOENT;
+               goto err1;
diff --git a/queue-3.10/irqchip-renesas-irqc-fix-irqc_probe-error-handling.patch b/queue-3.10/irqchip-renesas-irqc-fix-irqc_probe-error-handling.patch
new file mode 100644 (file)
index 0000000..297ffdc
--- /dev/null
@@ -0,0 +1,33 @@
+From dfaf820a13ec160f06556e08dab423818ba87f14 Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@ingics.com>
+Date: Mon, 6 May 2013 17:03:32 +0800
+Subject: irqchip: renesas-irqc: Fix irqc_probe error handling
+
+From: Axel Lin <axel.lin@ingics.com>
+
+commit dfaf820a13ec160f06556e08dab423818ba87f14 upstream.
+
+The code in goto err3 path is wrong because it will call fee_irq() with k == 0,
+which means it does free_irq(p->irq[-1].requested_irq, &p->irq[-1]);
+
+Signed-off-by: Axel Lin <axel.lin@ingics.com>
+Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/irqchip/irq-renesas-irqc.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/irqchip/irq-renesas-irqc.c
++++ b/drivers/irqchip/irq-renesas-irqc.c
+@@ -248,8 +248,8 @@ static int irqc_probe(struct platform_de
+       return 0;
+ err3:
+-      for (; k >= 0; k--)
+-              free_irq(p->irq[k - 1].requested_irq, &p->irq[k - 1]);
++      while (--k >= 0)
++              free_irq(p->irq[k].requested_irq, &p->irq[k]);
+       irq_domain_remove(p->irq_domain);
+ err2:
diff --git a/queue-3.10/series b/queue-3.10/series
new file mode 100644 (file)
index 0000000..eafa7ba
--- /dev/null
@@ -0,0 +1,3 @@
+irqchip-renesas-irqc-fix-irqc_probe-error-handling.patch
+clocksource-em_sti-set-cpu_possible_mask-to-fix-smp-broadcast.patch
+gpio-rcar-r-car-gpio-irq-share-interrupt.patch