]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Sep 2013 18:26:29 +0000 (11:26 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Sep 2013 18:26:29 +0000 (11:26 -0700)
added patches:
imx-drm-imx-drm-core-export-imx_drm_encoder_get_mux_id.patch
regmap-rbtree-fix-overlapping-rbnodes.patch
xen-arm-missing-put_cpu-in-xen_percpu_init.patch

queue-3.10/imx-drm-imx-drm-core-export-imx_drm_encoder_get_mux_id.patch [new file with mode: 0644]
queue-3.10/regmap-rbtree-fix-overlapping-rbnodes.patch [new file with mode: 0644]
queue-3.10/series
queue-3.10/xen-arm-missing-put_cpu-in-xen_percpu_init.patch [new file with mode: 0644]

diff --git a/queue-3.10/imx-drm-imx-drm-core-export-imx_drm_encoder_get_mux_id.patch b/queue-3.10/imx-drm-imx-drm-core-export-imx_drm_encoder_get_mux_id.patch
new file mode 100644 (file)
index 0000000..8231e0d
--- /dev/null
@@ -0,0 +1,36 @@
+From ea8d15832016b0d07a8121159904e6b1d21b5b8b Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Fri, 28 Jun 2013 13:55:27 -0300
+Subject: imx-drm: imx-drm-core: Export imx_drm_encoder_get_mux_id
+
+From: Fabio Estevam <fabio.estevam@freescale.com>
+
+commit ea8d15832016b0d07a8121159904e6b1d21b5b8b upstream.
+
+When building imx_v6_v7_defconfig with imx-drm drivers selected as modules, we
+get the following build error:
+
+ERROR: "imx_drm_encoder_get_mux_id" [drivers/staging/imx-drm/imx-ldb.ko] undefined!
+
+Export the required function to avoid this problem.
+
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
+Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/imx-drm/imx-drm-core.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/staging/imx-drm/imx-drm-core.c
++++ b/drivers/staging/imx-drm/imx-drm-core.c
+@@ -681,6 +681,7 @@ found:
+       return i;
+ }
++EXPORT_SYMBOL_GPL(imx_drm_encoder_get_mux_id);
+ /*
+  * imx_drm_remove_encoder - remove an encoder
diff --git a/queue-3.10/regmap-rbtree-fix-overlapping-rbnodes.patch b/queue-3.10/regmap-rbtree-fix-overlapping-rbnodes.patch
new file mode 100644 (file)
index 0000000..fedc016
--- /dev/null
@@ -0,0 +1,38 @@
+From 4e67fb5f5e336250db944921e3c68057d6203034 Mon Sep 17 00:00:00 2001
+From: David Jander <david@protonic.nl>
+Date: Wed, 21 Aug 2013 17:37:22 +0200
+Subject: regmap: rbtree: Fix overlapping rbnodes.
+
+From: David Jander <david@protonic.nl>
+
+commit 4e67fb5f5e336250db944921e3c68057d6203034 upstream.
+
+Avoid overlapping register regions by making the initial blklen of a new
+node 1. If a register write occurs to a yet uncached register, that is
+lower than but near an existing node's base_reg, a new node is created
+and it's blklen is set to an arbitrary value (sizeof(*rbnode)). That may
+cause this node to overlap with another node. Those nodes should be merged,
+but this merge doesn't happen yet, so this patch at least makes the initial
+blklen small enough to avoid hitting the wrong node, which may otherwise
+lead to severe breakage.
+
+Signed-off-by: David Jander <david@protonic.nl>
+Signed-off-by: Mark Brown <broonie@linaro.org>
+Signed-off-by: Zhouping Liu <zliu@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/base/regmap/regcache-rbtree.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/base/regmap/regcache-rbtree.c
++++ b/drivers/base/regmap/regcache-rbtree.c
+@@ -362,7 +362,7 @@ static int regcache_rbtree_write(struct
+               rbnode = kzalloc(sizeof *rbnode, GFP_KERNEL);
+               if (!rbnode)
+                       return -ENOMEM;
+-              rbnode->blklen = sizeof(*rbnode);
++              rbnode->blklen = 1;
+               rbnode->base_reg = reg;
+               rbnode->block = kmalloc(rbnode->blklen * map->cache_word_size,
+                                       GFP_KERNEL);
index 8ab0a4e9ab658f2263dfff6219616e60edc17528..9e562738b6e3ec3b926bfaa8d8d59c9e8005befd 100644 (file)
@@ -31,3 +31,6 @@ usb-acm-gadget-null-termintate-strings-table.patch
 hwmon-k10temp-add-support-for-fam16h-kabini.patch
 acpi-ec-add-asustek-l4r-to-quirk-list-in-order-to-validate-ecdt.patch
 drivers-misc-hpilo-correct-panic-when-an-aux-ilo-is-detected.patch
+xen-arm-missing-put_cpu-in-xen_percpu_init.patch
+imx-drm-imx-drm-core-export-imx_drm_encoder_get_mux_id.patch
+regmap-rbtree-fix-overlapping-rbnodes.patch
diff --git a/queue-3.10/xen-arm-missing-put_cpu-in-xen_percpu_init.patch b/queue-3.10/xen-arm-missing-put_cpu-in-xen_percpu_init.patch
new file mode 100644 (file)
index 0000000..b2f916d
--- /dev/null
@@ -0,0 +1,36 @@
+From 0d7febe58413884f6428143221971618fbf3a47d Mon Sep 17 00:00:00 2001
+From: Julien Grall <julien.grall@linaro.org>
+Date: Mon, 29 Jul 2013 17:06:05 +0100
+Subject: xen/arm: missing put_cpu in xen_percpu_init
+
+From: Julien Grall <julien.grall@linaro.org>
+
+commit 0d7febe58413884f6428143221971618fbf3a47d upstream.
+
+When CONFIG_PREEMPT is enabled, Linux will not be able to boot and warn:
+[    4.127825] ------------[ cut here ]------------
+[    4.133376] WARNING: at init/main.c:699 do_one_initcall+0x150/0x158()
+[    4.140738] initcall xen_init_events+0x0/0x10c returned with preemption imbalance
+
+This is because xen_percpu_init uses get_cpu but doesn't have the corresponding
+put_cpu.
+
+Signed-off-by: Julien Grall <julien.grall@linaro.org>
+Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/xen/enlighten.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/xen/enlighten.c
++++ b/arch/arm/xen/enlighten.c
+@@ -170,6 +170,7 @@ static void __init xen_percpu_init(void
+       per_cpu(xen_vcpu, cpu) = vcpup;
+       enable_percpu_irq(xen_events_irq, 0);
++      put_cpu();
+ }
+ static void xen_restart(char str, const char *cmd)