diff -Nru linux-linaro-lt-origen-3.5-3.5.0/arch/arm/plat-samsung/clock.c linux-linaro-lt-origen-3.5-3.5.0/arch/arm/plat-samsung/clock.c --- linux-linaro-lt-origen-3.5-3.5.0/arch/arm/plat-samsung/clock.c 2012-08-30 15:30:31.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/arch/arm/plat-samsung/clock.c 2012-09-11 03:57:38.000000000 +0000 @@ -144,6 +144,7 @@ int clk_set_rate(struct clk *clk, unsigned long rate) { + unsigned long flags; int ret; if (IS_ERR(clk)) @@ -159,9 +160,9 @@ if (clk->ops == NULL || clk->ops->set_rate == NULL) return -EINVAL; - spin_lock(&clocks_lock); + spin_lock_irqsave(&clocks_lock, flags); ret = (clk->ops->set_rate)(clk, rate); - spin_unlock(&clocks_lock); + spin_unlock_irqrestore(&clocks_lock, flags); return ret; } @@ -173,17 +174,18 @@ int clk_set_parent(struct clk *clk, struct clk *parent) { + unsigned long flags; int ret = 0; if (IS_ERR(clk)) return -EINVAL; - spin_lock(&clocks_lock); + spin_lock_irqsave(&clocks_lock, flags); if (clk->ops && clk->ops->set_parent) ret = (clk->ops->set_parent)(clk, parent); - spin_unlock(&clocks_lock); + spin_unlock_irqrestore(&clocks_lock, flags); return ret; } diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian/changelog linux-linaro-lt-origen-3.5-3.5.0/debian/changelog --- linux-linaro-lt-origen-3.5-3.5.0/debian/changelog 2012-08-30 15:33:17.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian/changelog 2012-09-11 03:58:37.000000000 +0000 @@ -1,4 +1,4 @@ -linux-linaro-lt-origen-3.5 (3.5.0-2.2~ci+120830153255) precise; urgency=low +linux-linaro-lt-origen-3.5 (3.5.0-2.2~ci+120911035826) precise; urgency=low [ root ] @@ -7,16 +7,63 @@ Repo: git://git.linaro.org/landing-teams/working/samsung/kernel.git: Branch: ubuntu-tracking: Head: - commit 866fdebba485ef824c2d68e50f8b01d0ef9b14fe - Author: Tushar Behera - Date: Tue Aug 28 18:08:08 2012 +0530 + commit e6b4386c293310c59b070535f97c4ef99a86f6a5 + Author: Mandeep Singh Baines + Date: Wed Aug 15 12:16:27 2012 -0700 - DMA: PL330: Set the capability of pdm0 and pdm1 as DMA_PRIVATE + ARM: SAMSUNG: use spin_lock_irqsave() in clk_set_parent - DMA clients pdma0 and pdma1 are internal to the SoC and are used only - by dedicated peripherals. Since they cannot be used for generic - purpose, their capability should be set as DMA_PRIVATE. + From 0cdf3aff, "ARM: SAMSUNG: use spin_lock_irqsave() in + clk_{enable,disable}": + The clk_enable()and clk_disable() can be used process and ISR either. + And actually it is used for real product and other platforms use it + now. So spin_lock_irqsave() should be used instead. + + We need to make a similar change in clk_set_parent(). Otherwise, + you can potentially get spinlock recursion: + + BUG: spinlock recursion on CPU#0, kinteractive/68 + lock: 807832a8, .magic: dead4ead, .owner: kinteractive/68, .owner_cpu: 0 + [<80015f54>] (unwind_backtrace+0x0/0x128) from [<804f2914>] (dump_stack+0x20/0x24) + [<804f2914>] (dump_stack+0x20/0x24) from [<804f57b8>] (spin_dump+0x80/0x94) + [<804f57b8>] (spin_dump+0x80/0x94) from [<804f57f8>] (spin_bug+0x2c/0x30) + [<804f57f8>] (spin_bug+0x2c/0x30) from [<80222730>] (do_raw_spin_lock+0x54/0x150) + [<80222730>] (do_raw_spin_lock+0x54/0x150) from [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28) + [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28) from [<80022ea4>] (clk_enable+0x3c/0x84) + [<80022ea4>] (clk_enable+0x3c/0x84) from [<8038336c>] (s5p_mfc_clock_on+0x60/0x74) + [<8038336c>] (s5p_mfc_clock_on+0x60/0x74) from [<8038645c>] (s5p_mfc_read_info+0x20/0x38) + [<8038645c>] (s5p_mfc_read_info+0x20/0x38) from [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc) + [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc) from [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc) + [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc) from [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244) + [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244) from [<8007fe78>] (handle_irq_event+0x4c/0x6c) + [<8007fe78>] (handle_irq_event+0x4c/0x6c) from [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150) + [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150) from [<8007f424>] (generic_handle_irq+0x3c/0x50) + [<8007f424>] (generic_handle_irq+0x3c/0x50) from [<8000f7c4>] (handle_IRQ+0x88/0xc8) + [<8000f7c4>] (handle_IRQ+0x88/0xc8) from [<80008564>] (gic_handle_irq+0x44/0x68) + [<80008564>] (gic_handle_irq+0x44/0x68) from [<8000e400>] (__irq_svc+0x40/0x60) + Exception stack(0xef3cbe68 to 0xef3cbeb0) + [<8000e400>] (__irq_svc+0x40/0x60) from [<80022cfc>] (clk_set_parent+0x30/0x74) + [<80022cfc>] (clk_set_parent+0x30/0x74) from [<803ac7f8>] (set_apll.isra.0+0x28/0xb0) + [<803ac7f8>] (set_apll.isra.0+0x28/0xb0) from [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8) + [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8) from [<803ac280>] (exynos_target+0x1b0/0x220) + [<803ac280>] (exynos_target+0x1b0/0x220) from [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4) + [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4) from [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264) + [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264) from [<80047d04>] (kthread+0x9c/0xa8) + [<80047d04>] (kthread+0x9c/0xa8) from [<8000fa48>] (kernel_thread_exit+0x0/0x8) + + Signed-off-by: Mandeep Singh Baines + Suggested-by: Sunil Mazhavanchery + CC: linux-arm-kernel.infradead.org + CC: linux-samsung-soc.kernel.org + CC: Ben Dooks + CC: Kukjin Kim + CC: Russell King + CC: Minho Ban + CC: Jaecheol Lee + CC: Sunyoung Kang + CC: Kukjin Kim + CC: Olof Johansson Signed-off-by: Tushar Behera Board config fragment: diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian/control linux-linaro-lt-origen-3.5-3.5.0/debian/control --- linux-linaro-lt-origen-3.5-3.5.0/debian/control 2012-08-30 15:33:15.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian/control 2012-09-11 03:58:36.000000000 +0000 @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc Build-Conflicts: findutils (= 4.4.1-1ubuntu1) -Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120830153255 +Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120911035826 Package: linux-linaro-tools-3.5.0-2-linaro-lt-origen Architecture: armel armhf diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian/control.stub linux-linaro-lt-origen-3.5-3.5.0/debian/control.stub --- linux-linaro-lt-origen-3.5-3.5.0/debian/control.stub 2012-08-30 15:33:15.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian/control.stub 2012-09-11 03:58:35.000000000 +0000 @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc Build-Conflicts: findutils (= 4.4.1-1ubuntu1) -Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120830153255 +Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120911035826 Package: linux-linaro-tools-3.5.0-2-linaro-lt-origen Architecture: armel armhf diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/changelog linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/changelog --- linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/changelog 2012-08-30 15:32:55.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/changelog 2012-09-11 03:58:26.000000000 +0000 @@ -1,4 +1,4 @@ -linux-linaro-lt-origen-3.5 (3.5.0-2.2~ci+120830153255) precise; urgency=low +linux-linaro-lt-origen-3.5 (3.5.0-2.2~ci+120911035826) precise; urgency=low [ root ] @@ -7,16 +7,63 @@ Repo: git://git.linaro.org/landing-teams/working/samsung/kernel.git: Branch: ubuntu-tracking: Head: - commit 866fdebba485ef824c2d68e50f8b01d0ef9b14fe - Author: Tushar Behera - Date: Tue Aug 28 18:08:08 2012 +0530 + commit e6b4386c293310c59b070535f97c4ef99a86f6a5 + Author: Mandeep Singh Baines + Date: Wed Aug 15 12:16:27 2012 -0700 - DMA: PL330: Set the capability of pdm0 and pdm1 as DMA_PRIVATE + ARM: SAMSUNG: use spin_lock_irqsave() in clk_set_parent - DMA clients pdma0 and pdma1 are internal to the SoC and are used only - by dedicated peripherals. Since they cannot be used for generic - purpose, their capability should be set as DMA_PRIVATE. + From 0cdf3aff, "ARM: SAMSUNG: use spin_lock_irqsave() in + clk_{enable,disable}": + The clk_enable()and clk_disable() can be used process and ISR either. + And actually it is used for real product and other platforms use it + now. So spin_lock_irqsave() should be used instead. + + We need to make a similar change in clk_set_parent(). Otherwise, + you can potentially get spinlock recursion: + + BUG: spinlock recursion on CPU#0, kinteractive/68 + lock: 807832a8, .magic: dead4ead, .owner: kinteractive/68, .owner_cpu: 0 + [<80015f54>] (unwind_backtrace+0x0/0x128) from [<804f2914>] (dump_stack+0x20/0x24) + [<804f2914>] (dump_stack+0x20/0x24) from [<804f57b8>] (spin_dump+0x80/0x94) + [<804f57b8>] (spin_dump+0x80/0x94) from [<804f57f8>] (spin_bug+0x2c/0x30) + [<804f57f8>] (spin_bug+0x2c/0x30) from [<80222730>] (do_raw_spin_lock+0x54/0x150) + [<80222730>] (do_raw_spin_lock+0x54/0x150) from [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28) + [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28) from [<80022ea4>] (clk_enable+0x3c/0x84) + [<80022ea4>] (clk_enable+0x3c/0x84) from [<8038336c>] (s5p_mfc_clock_on+0x60/0x74) + [<8038336c>] (s5p_mfc_clock_on+0x60/0x74) from [<8038645c>] (s5p_mfc_read_info+0x20/0x38) + [<8038645c>] (s5p_mfc_read_info+0x20/0x38) from [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc) + [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc) from [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc) + [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc) from [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244) + [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244) from [<8007fe78>] (handle_irq_event+0x4c/0x6c) + [<8007fe78>] (handle_irq_event+0x4c/0x6c) from [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150) + [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150) from [<8007f424>] (generic_handle_irq+0x3c/0x50) + [<8007f424>] (generic_handle_irq+0x3c/0x50) from [<8000f7c4>] (handle_IRQ+0x88/0xc8) + [<8000f7c4>] (handle_IRQ+0x88/0xc8) from [<80008564>] (gic_handle_irq+0x44/0x68) + [<80008564>] (gic_handle_irq+0x44/0x68) from [<8000e400>] (__irq_svc+0x40/0x60) + Exception stack(0xef3cbe68 to 0xef3cbeb0) + [<8000e400>] (__irq_svc+0x40/0x60) from [<80022cfc>] (clk_set_parent+0x30/0x74) + [<80022cfc>] (clk_set_parent+0x30/0x74) from [<803ac7f8>] (set_apll.isra.0+0x28/0xb0) + [<803ac7f8>] (set_apll.isra.0+0x28/0xb0) from [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8) + [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8) from [<803ac280>] (exynos_target+0x1b0/0x220) + [<803ac280>] (exynos_target+0x1b0/0x220) from [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4) + [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4) from [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264) + [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264) from [<80047d04>] (kthread+0x9c/0xa8) + [<80047d04>] (kthread+0x9c/0xa8) from [<8000fa48>] (kernel_thread_exit+0x0/0x8) + + Signed-off-by: Mandeep Singh Baines + Suggested-by: Sunil Mazhavanchery + CC: linux-arm-kernel.infradead.org + CC: linux-samsung-soc.kernel.org + CC: Ben Dooks + CC: Kukjin Kim + CC: Russell King + CC: Minho Ban + CC: Jaecheol Lee + CC: Sunyoung Kang + CC: Kukjin Kim + CC: Olof Johansson Signed-off-by: Tushar Behera Board config fragment: diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control --- linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control 2012-08-30 15:33:17.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control 2012-09-11 03:58:37.000000000 +0000 @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc Build-Conflicts: findutils (= 4.4.1-1ubuntu1) -Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120830153255 +Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120911035826 Package: linux-linaro-tools-3.5.0-2-linaro-lt-origen Architecture: armel armhf diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub --- linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub 2012-08-30 15:33:14.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub 2012-09-11 03:58:35.000000000 +0000 @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc Build-Conflicts: findutils (= 4.4.1-1ubuntu1) -Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120830153255 +Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120911035826 Package: linux-linaro-tools-3.5.0-2-linaro-lt-origen Architecture: armel armhf diff -Nru linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub.in linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub.in --- linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub.in 2012-08-30 15:32:57.000000000 +0000 +++ linux-linaro-lt-origen-3.5-3.5.0/debian.linaro/control.stub.in 2012-09-11 03:58:27.000000000 +0000 @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 5), cpio, module-init-tools, kernel-wedge (>= 2.24ubuntu1), makedumpfile [amd64 i386], device-tree-compiler [powerpc], libelf-dev, libnewt-dev, binutils-dev, rsync, libdw-dev, dpkg (>= 1.16.0~ubuntu4), util-linux, pkg-config, flex, bison Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharutils, asciidoc Build-Conflicts: findutils (= 4.4.1-1ubuntu1) -Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120830153255 +Vcs-Git: git://github.com/jcrigby/linaro-ci-kernels.git linux-linaro-lt-origen-3.5_3.5.0-2.2--ci+120911035826 Package: linux-linaro-tools-PKGVER-ABINUM-linaro-lt-origen Architecture: armel armhf