<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/clk, branch v3.12.25</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/clk?h=v3.12.25</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/clk?h=v3.12.25'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-07-18T13:51:23Z</updated>
<entry>
<title>clk: s2mps11: Fix double free corruption during driver unbind</title>
<updated>2014-07-18T13:51:23Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2014-06-27T12:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c2602aa9ffd73202901ec0a3bbbfdad0b2d1a8e8'/>
<id>urn:sha1:c2602aa9ffd73202901ec0a3bbbfdad0b2d1a8e8</id>
<content type='text'>
commit 2a96dfa49c83a2a7cbdb11382976aaa6b2636764 upstream.

After unbinding the driver memory was corrupted by double free of
clk_lookup structure. This lead to OOPS when re-binding the driver
again.

The driver allocated memory for 'clk_lookup' with devm_kzalloc. During
driver removal this memory was freed twice: once by clkdev_drop() and
second by devm code.

Kernel panic log:
[   30.839284] Unable to handle kernel paging request at virtual address 5f343173
[   30.846476] pgd = dee14000
[   30.849165] [5f343173] *pgd=00000000
[   30.852703] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
[   30.858166] Modules linked in:
[   30.861208] CPU: 0 PID: 1 Comm: bash Not tainted 3.16.0-rc2-00239-g94bdf617b07e-dirty #40
[   30.869364] task: df478000 ti: df480000 task.ti: df480000
[   30.874752] PC is at clkdev_add+0x2c/0x38
[   30.878738] LR is at clkdev_add+0x18/0x38
[   30.882732] pc : [&lt;c0350908&gt;]    lr : [&lt;c03508f4&gt;]    psr: 60000013
[   30.882732] sp : df481e78  ip : 00000001  fp : c0700ed8
[   30.894187] r10: 0000000c  r9 : 00000000  r8 : c07b0e3c
[   30.899396] r7 : 00000002  r6 : df45f9d0  r5 : df421390  r4 : c0700d6c
[   30.905906] r3 : 5f343173  r2 : c0700d84  r1 : 60000013  r0 : c0700d6c
[   30.912417] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   30.919534] Control: 10c53c7d  Table: 5ee1406a  DAC: 00000015
[   30.925262] Process bash (pid: 1, stack limit = 0xdf480240)
[   30.930817] Stack: (0xdf481e78 to 0xdf482000)
[   30.935159] 1e60:                                                       00001000 df6de610
[   30.943321] 1e80: df7f4558 c0355650 c05ec6ec c0700eb0 df6de600 df7f4510 dec9d69c 00000014
[   30.951480] 1ea0: 00167b48 df6de610 c0700e30 c0713518 00000000 c0700e30 dec9d69c 00000006
[   30.959639] 1ec0: 00167b48 c02c1b7c c02c1b64 df6de610 c07aff48 c02c0420 c06fb150 c047cc20
[   30.967798] 1ee0: df6de610 df6de610 c0700e30 df6de644 c06fb150 0000000c dec9d690 c02bef90
[   30.975957] 1f00: dec9c6c0 dece4c00 df481f80 dece4c00 0000000c c02be73c 0000000c c016ca8c
[   30.984116] 1f20: c016ca48 00000000 00000000 c016c1f4 00000000 00000000 b6f18000 df481f80
[   30.992276] 1f40: df7f66c0 0000000c df480000 df480000 b6f18000 c011094c df47839c 60000013
[   31.000435] 1f60: 00000000 00000000 df7f66c0 df7f66c0 0000000c df480000 b6f18000 c0110dd4
[   31.008594] 1f80: 00000000 00000000 0000000c b6ec05d8 0000000c b6f18000 00000004 c000f2a8
[   31.016753] 1fa0: 00001000 c000f0e0 b6ec05d8 0000000c 00000001 b6f18000 0000000c 00000000
[   31.024912] 1fc0: b6ec05d8 0000000c b6f18000 00000004 0000000c 00000001 00000000 00167b48
[   31.033071] 1fe0: 00000000 bed83a80 b6e004f0 b6e5122c 60000010 00000001 ffffffff ffffffff
[   31.041248] [&lt;c0350908&gt;] (clkdev_add) from [&lt;c0355650&gt;] (s2mps11_clk_probe+0x2b4/0x3b4)
[   31.049223] [&lt;c0355650&gt;] (s2mps11_clk_probe) from [&lt;c02c1b7c&gt;] (platform_drv_probe+0x18/0x48)
[   31.057728] [&lt;c02c1b7c&gt;] (platform_drv_probe) from [&lt;c02c0420&gt;] (driver_probe_device+0x13c/0x384)
[   31.066579] [&lt;c02c0420&gt;] (driver_probe_device) from [&lt;c02bef90&gt;] (bind_store+0x88/0xd8)
[   31.074564] [&lt;c02bef90&gt;] (bind_store) from [&lt;c02be73c&gt;] (drv_attr_store+0x20/0x2c)
[   31.082118] [&lt;c02be73c&gt;] (drv_attr_store) from [&lt;c016ca8c&gt;] (sysfs_kf_write+0x44/0x48)
[   31.090016] [&lt;c016ca8c&gt;] (sysfs_kf_write) from [&lt;c016c1f4&gt;] (kernfs_fop_write+0xc0/0x17c)
[   31.098176] [&lt;c016c1f4&gt;] (kernfs_fop_write) from [&lt;c011094c&gt;] (vfs_write+0xa0/0x1c4)
[   31.105899] [&lt;c011094c&gt;] (vfs_write) from [&lt;c0110dd4&gt;] (SyS_write+0x40/0x8c)
[   31.112931] [&lt;c0110dd4&gt;] (SyS_write) from [&lt;c000f0e0&gt;] (ret_fast_syscall+0x0/0x3c)
[   31.120481] Code: e2842018 e584501c e1a00004 e885000c (e5835000)
[   31.126596] ---[ end trace efad45bfa3a61b05 ]---
[   31.131181] Kernel panic - not syncing: Fatal exception
[   31.136368] CPU1: stopping
[   31.139054] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D       3.16.0-rc2-00239-g94bdf617b07e-dirty #40
[   31.148697] [&lt;c0016480&gt;] (unwind_backtrace) from [&lt;c0012950&gt;] (show_stack+0x10/0x14)
[   31.156419] [&lt;c0012950&gt;] (show_stack) from [&lt;c0480db8&gt;] (dump_stack+0x80/0xcc)
[   31.163622] [&lt;c0480db8&gt;] (dump_stack) from [&lt;c001499c&gt;] (handle_IPI+0x130/0x15c)
[   31.170998] [&lt;c001499c&gt;] (handle_IPI) from [&lt;c000862c&gt;] (gic_handle_irq+0x60/0x68)
[   31.178549] [&lt;c000862c&gt;] (gic_handle_irq) from [&lt;c0013480&gt;] (__irq_svc+0x40/0x70)
[   31.186009] Exception stack(0xdf4bdf88 to 0xdf4bdfd0)
[   31.191046] df80:                   ffffffed 00000000 00000000 00000000 df4bc000 c06d042c
[   31.199207] dfa0: 00000000 ffffffed c06d03c0 00000000 c070c288 00000000 00000000 df4bdfd0
[   31.207363] dfc0: c0010324 c0010328 60000013 ffffffff
[   31.212402] [&lt;c0013480&gt;] (__irq_svc) from [&lt;c0010328&gt;] (arch_cpu_idle+0x28/0x30)
[   31.219783] [&lt;c0010328&gt;] (arch_cpu_idle) from [&lt;c005f150&gt;] (cpu_startup_entry+0x2c4/0x3f0)
[   31.228027] [&lt;c005f150&gt;] (cpu_startup_entry) from [&lt;400086c4&gt;] (0x400086c4)
[   31.234968] ---[ end Kernel panic - not syncing: Fatal exception

Fixes: 7cc560dea415 ("clk: s2mps11: Add support for s2mps11")
Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Reviewed-by: Yadwinder Singh Brar &lt;yadi.brar@samsung.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>clk: spear3xx: Use proper control register offset</title>
<updated>2014-07-18T13:51:22Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2014-06-19T21:52:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dce080c4f6a377ae7f0a6b0157f63ae48d5abdde'/>
<id>urn:sha1:dce080c4f6a377ae7f0a6b0157f63ae48d5abdde</id>
<content type='text'>
commit 15ebb05248d025534773c9ef64915bd888f04e4b upstream.

The control register is at offset 0x10, not 0x0. This is wreckaged
since commit 5df33a62c (SPEAr: Switch to common clock framework).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>clk: vexpress: NULL dereference on error path</title>
<updated>2014-06-09T13:53:25Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-11-07T08:08:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d9757a0d82fc29f99bd8f84baa87d67941ec01b'/>
<id>urn:sha1:0d9757a0d82fc29f99bd8f84baa87d67941ec01b</id>
<content type='text'>
commit 6b4ed8b00e93bd31f24a25f59ed8d1b808d0cc00 upstream.

If the allocation fails then we dereference the NULL in the error path.
Just return directly.

Fixes: ed27ff1db869 ('clk: Versatile Express clock generators ("osc") driver')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>clk: tegra: Fix wrong value written to PLLE_AUX</title>
<updated>2014-06-06T10:38:18Z</updated>
<author>
<name>Tuomas Tynkkynen</name>
<email>ttynkkynen@nvidia.com</email>
</author>
<published>2014-05-16T13:50:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1c982327c143125d3fc60763e6d8924b3bb6f028'/>
<id>urn:sha1:1c982327c143125d3fc60763e6d8924b3bb6f028</id>
<content type='text'>
commit d2c834abe2b39a2d5a6c38ef44de87c97cbb34b4 upstream.

The value written to PLLE_AUX was incorrect due to a wrong variable
being used. Without this fix SATA does not work.

Signed-off-by: Tuomas Tynkkynen &lt;ttynkkynen@nvidia.com&gt;
Tested-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Tested-by: Thierry Reding &lt;treding@nvidia.com&gt;
Acked-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
[mturquette@linaro.org: improved changelog]
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>clk: tegra: use pll_ref as the pll_e parent</title>
<updated>2014-06-06T08:17:52Z</updated>
<author>
<name>Peter De Schrijver</name>
<email>pdeschrijver@nvidia.com</email>
</author>
<published>2013-11-25T12:44:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f1559592c5234e23d2c93f6d558d406c65269a2c'/>
<id>urn:sha1:f1559592c5234e23d2c93f6d558d406c65269a2c</id>
<content type='text'>
commit 8e9cc80aa348938078c3c1a7ab55efb3c40990e3 upstream.

Use pll_ref instead of pll_re_vco as the pll_e parent on Tegra114. Also
add a 12Mhz pll_ref table entry for pll_e for Tegra114. This prevents
the system from crashing at bootup because of an unsupported pll_re_vco
rate.

Signed-off-by: Peter De Schrijver &lt;pdeschrijver@nvidia.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>clk: s2mps11: Fix possible NULL pointer dereference</title>
<updated>2014-05-15T07:55:41Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2014-03-21T12:18:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eb41a94f97f00a895dbc1130d064954b54718373'/>
<id>urn:sha1:eb41a94f97f00a895dbc1130d064954b54718373</id>
<content type='text'>
commit 238e14055da87d0d012257788e39fe0df3a82226 upstream.

If parent device does not have of_node set the s2mps11_clk_parse_dt()
returned NULL. This NULL was later passed to of_clk_add_provider() which
dereferenced it in pr_debug() call.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>clk: exynos5250: fix sysmmu_mfc{l,r} gate clocks</title>
<updated>2014-01-15T23:31:42Z</updated>
<author>
<name>Andrew Bresticker</name>
<email>abrestic@chromium.org</email>
</author>
<published>2013-11-08T10:14:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=778b3b76c34292c7d27aa0faad5c9026a2cacf43'/>
<id>urn:sha1:778b3b76c34292c7d27aa0faad5c9026a2cacf43</id>
<content type='text'>
commit 97c3557c3e0413efb1f021f582d1459760e22727 upstream.

The gate clocks for the MFC sysmmus appear to be flipped, i.e.
GATE_IP_MFC[2] gates sysmmu_mfcl and GATE_IP_MFC[1] gates sysmmu_mfcr.
Fix this so that the MFC will start up.

Signed-off-by: Andrew Bresticker &lt;abrestic@chromium.org&gt;
Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Signed-off-by: Tomasz Figa &lt;t.figa@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: samsung: exynos5250: Add CLK_IGNORE_UNUSED flag for the sysreg clock</title>
<updated>2014-01-15T23:31:42Z</updated>
<author>
<name>Abhilash Kesavan</name>
<email>a.kesavan@samsung.com</email>
</author>
<published>2013-12-11T11:57:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=801e517cf190f19c5cb2e62605d92524a9396be8'/>
<id>urn:sha1:801e517cf190f19c5cb2e62605d92524a9396be8</id>
<content type='text'>
commit 2feed5aecf5f367b92bd6b6e92afe9e3de466907 upstream.

The sysreg (system register) generates control signals for various blocks
like disp1blk, i2c, mipi, usb etc. However, it gets disabled as an unused
clock at boot-up. This can lead to failures in operation of above blocks,
because they can not be configured properly if this clock is disabled.

Signed-off-by: Abhilash Kesavan &lt;a.kesavan@samsung.com&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
[t.figa: Updated patch description.]
Signed-off-by: Tomasz Figa &lt;t.figa@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: samsung: exynos5250: Add MDMA0 clocks</title>
<updated>2014-01-15T23:31:42Z</updated>
<author>
<name>Abhilash Kesavan</name>
<email>a.kesavan@samsung.com</email>
</author>
<published>2013-12-12T03:02:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f19053a2ddf64b1b98157e2d78c14b0cf5fb95c6'/>
<id>urn:sha1:f19053a2ddf64b1b98157e2d78c14b0cf5fb95c6</id>
<content type='text'>
commit 8fb9aeb7a71ef4f3e0613d459a2e1366a7a90469 upstream.

Adds gate clock for MDMA0 on Exynos5250 SoC. This is needed to ensure
that the clock is enabled when MDMA0 is used on systems on which
firmware gates the clockby default.

Signed-off-by: Abhilash Kesavan &lt;a.kesavan@samsung.com&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
[t.figa: Updated patch description.]
Signed-off-by: Tomasz Figa &lt;t.figa@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>clk: samsung: exynos5250: Fix ACP gate register offset</title>
<updated>2014-01-15T23:31:41Z</updated>
<author>
<name>Abhilash Kesavan</name>
<email>a.kesavan@samsung.com</email>
</author>
<published>2013-12-12T03:02:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1adda6a9b2afa13e0e26a966ca355c69192dbc9'/>
<id>urn:sha1:c1adda6a9b2afa13e0e26a966ca355c69192dbc9</id>
<content type='text'>
commit 3bf34666a0cce5234ac677ed2fbe5cea82c71329 upstream.

The CLK_GATE_IP_ACP register offset is incorrectly listed making
definition of g2d clock incorrect, which may lead to system failures
when trying to use G2D on systems on which firmware gates this clock
by default. Fix this and the register ordering as well.

Signed-off-by: Abhilash Kesavan &lt;a.kesavan@samsung.com&gt;
Acked-by: Mike Turquette &lt;mturquette@linaro.org&gt;
[t.figa: Updated patch description.]
Signed-off-by: Tomasz Figa &lt;t.figa@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
