Sachin Kamat
3cd0c2dfb4
i2c: exynos5: Remove incorrect clk_disable_unprepare
clk_disable_unprepare in remove causes an imbalance and hence gives
the below crash on module remove. While at it also remove some
duplicate code from probe.
/ $ rmmod i2c-exynos5
[ 6.996374] ------------[ cut here ]------------
[ 6.999523] WARNING: CPU: 2 PID: 1137 at drivers/clk/clk.c:842 clk_disable+0x18/0x24()
[ 7.007403] Modules linked in: i2c_exynos5(-)
[ 7.011747] CPU: 2 PID: 1137 Comm: rmmod Not tainted 3.12.0-next-20131105-00083-g16f4799-dirty #21
[ 7.020696] [<c0014e0c>] (unwind_backtrace+0x0/0xf4) from [<c0011784>] (show_stack+0x10/0x14)
[ 7.029190] [<c0011784>] (show_stack+0x10/0x14) from [<c037acd4>] (dump_stack+0x7c/0xb0)
[ 7.037255] [<c037acd4>] (dump_stack+0x7c/0xb0) from [<c001e0ac>] (warn_slowpath_common+0x6c/0x88)
[ 7.046190] [<c001e0ac>] (warn_slowpath_common+0x6c/0x88) from [<c001e164>] (warn_slowpath_null+0x1c/0x24)
[ 7.055818] [<c001e164>] (warn_slowpath_null+0x1c/0x24) from [<c02dcde4>] (clk_disable+0x18/0x24)
[ 7.064670] [<c02dcde4>] (clk_disable+0x18/0x24) from [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5])
[ 7.074736] [<bf0002d4>] (exynos5_i2c_remove+0x1c/0x34 [i2c_exynos5]) from [<c02274a8>] (__device_release_driver+0x58/0xb0)
[ 7.085836] [<c02274a8>] (__device_release_driver+0x58/0xb0) from [<c0227b88>] (driver_detach+0xac/0xb0)
[ 7.095291] [<c0227b88>] (driver_detach+0xac/0xb0) from [<c02271c0>] (bus_remove_driver+0x4c/0xa0)
[ 7.104227] [<c02271c0>] (bus_remove_driver+0x4c/0xa0) from [<c00725dc>] (SyS_delete_module+0x124/0x194)
[ 7.113682] [<c00725dc>] (SyS_delete_module+0x124/0x194) from [<c000e2e0>] (ret_fast_syscall+0x0/0x30)
[ 7.122957] ---[ end trace 23bb6e4e0bf52196 ]---
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2013-11-14 18:18:15 +01:00
..
2013-09-25 19:46:48 +02:00
2013-09-25 13:27:42 -07:00
2013-09-26 14:46:11 -07:00
2013-09-24 17:00:26 -07:00
2013-09-25 15:50:53 -07:00
2013-09-26 02:31:04 +02:00
2013-09-25 03:25:58 +02:00
2013-10-03 22:28:28 +02:00
2013-09-17 21:54:05 -04:00
2013-09-26 14:20:22 -07:00
2013-09-26 03:48:43 -07:00
2013-11-14 18:18:15 +01:00
2013-09-21 12:52:50 +01:00
2013-09-18 12:02:00 -07:00
2013-09-25 15:12:46 -07:00
2013-10-03 22:28:23 +02:00
2013-09-30 06:02:34 +02:00
2013-09-17 09:08:14 -07:00
2013-09-19 13:57:28 -05:00
2013-09-28 13:25:30 -07:00
2013-09-19 13:57:28 -05:00
2013-09-26 16:44:45 -07:00
2013-09-29 13:47:00 -07:00
2013-09-26 16:22:29 -07:00
2013-09-17 22:56:09 +03:00
2013-09-26 15:33:23 +03:00
2013-09-25 15:50:53 -07:00