While debugging setkey issues, the following warnings were found while
trying to reinsert the caam module. Fix this by avoiding the duplicated
cleanup in the probe path after caam_remove(), which has already cleaned
up the resources.
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/mm/vmalloc.c:1490 __vunmap+0xcc/0xf4
Trying to vfree() nonexistent vm area (
f2400000)
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G W 4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[<
c0013bb0>] (dump_backtrace) from [<
c0013d4c>] (show_stack+0x18/0x1c)
[<
c0013d34>] (show_stack) from [<
c0357c00>] (dump_stack+0xa4/0xdc)
[<
c0357b5c>] (dump_stack) from [<
c002e650>] (__warn+0xdc/0x108)
[<
c002e574>] (__warn) from [<
c002e734>] (warn_slowpath_fmt+0x40/0x48)
[<
c002e6f8>] (warn_slowpath_fmt) from [<
c0151708>] (__vunmap+0xcc/0xf4)
[<
c015163c>] (__vunmap) from [<
c015177c>] (vunmap+0x4c/0x54)
[<
c0151730>] (vunmap) from [<
c001f48c>] (__iounmap+0x2c/0x30)
[<
c001f460>] (__iounmap) from [<
c001f118>] (iounmap+0x1c/0x20)
[<
c001f0fc>] (iounmap) from [<
bf247ae4>] (caam_probe+0x3dc/0x1498 [caam])
[<
bf247708>] (caam_probe [caam]) from [<
c042da8c>] (platform_drv_probe+0x58/0xb8)
[<
c042da34>] (platform_drv_probe) from [<
c042bb4c>] (driver_probe_device+0x1fc/0x2b8)
[<
c042b950>] (driver_probe_device) from [<
c042bcc4>] (__driver_attach+0xbc/0xc0) r10:
00000000 r8:
bf24b000 r7:
00000000 r6:
ef215844 r5:
bf2490c4 r4:
ef215810
[<
c042bc08>] (__driver_attach) from [<
c0429f14>] (bus_for_each_dev+0x5c/0x90)
[<
c0429eb8>] (bus_for_each_dev) from [<
c042b358>] (driver_attach+0x24/0x28)
[<
c042b334>] (driver_attach) from [<
c042b058>] (bus_add_driver+0xf4/0x200)
[<
c042af64>] (bus_add_driver) from [<
c042cadc>] (driver_register+0x80/0xfc)
[<
c042ca5c>] (driver_register) from [<
c042d960>] (__platform_driver_register+0x48/0x4c)
[<
c042d918>] (__platform_driver_register) from [<
bf24b018>] (caam_driver_init+0x18/0x24 [caam])
[<
bf24b000>] (caam_driver_init [caam]) from [<
c00098ac>] (do_one_initcall+0x44/0x178)
[<
c0009868>] (do_one_initcall) from [<
c010e034>] (do_init_module+0x68/0x1d8)
[<
c010dfcc>] (do_init_module) from [<
c00c8fbc>] (load_module+0x1974/0x20b0)
[<
c00c7648>] (load_module) from [<
c00c98d0>] (SyS_finit_module+0x94/0xa0)
[<
c00c983c>] (SyS_finit_module) from [<
c000fda0>] (ret_fast_syscall+0x0/0x1c)
---[ end trace
34e3370d88bb1786 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/drivers/clk/clk.c:594 clk_core_disable+0xe4/0x26c
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G W 4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[<
c0013bb0>] (dump_backtrace) from [<
c0013d4c>] (show_stack+0x18/0x1c)
[<
c0013d34>] (show_stack) from [<
c0357c00>] (dump_stack+0xa4/0xdc)
[<
c0357b5c>] (dump_stack) from [<
c002e650>] (__warn+0xdc/0x108)
[<
c002e574>] (__warn) from [<
c002e6a4>] (warn_slowpath_null+0x28/0x30)
[<
c002e67c>] (warn_slowpath_null) from [<
c05b113c>] (clk_core_disable+0xe4/0x26c)
[<
c05b1058>] (clk_core_disable) from [<
c05b2e3c>] (clk_core_disable_lock+0x20/0x2c)
[<
c05b2e1c>] (clk_core_disable_lock) from [<
c05b2e6c>] (clk_disable+0x24/0x28)
[<
c05b2e48>] (clk_disable) from [<
bf247b04>] (caam_probe+0x3fc/0x1498 [caam])
[<
bf247708>] (caam_probe [caam]) from [<
c042da8c>] (platform_drv_probe+0x58/0xb8)
[<
c042da34>] (platform_drv_probe) from [<
c042bb4c>] (driver_probe_device+0x1fc/0x2b8)
[<
c042b950>] (driver_probe_device) from [<
c042bcc4>] (__driver_attach+0xbc/0xc0) r10:
00000000 r8:
bf24b000 r7:
00000000 r6:
ef215844 r5:
bf2490c4 r4:
ef215810
[<
c042bc08>] (__driver_attach) from [<
c0429f14>] (bus_for_each_dev+0x5c/0x90)
[<
c0429eb8>] (bus_for_each_dev) from [<
c042b358>] (driver_attach+0x24/0x28)
[<
c042b334>] (driver_attach) from [<
c042b058>] (bus_add_driver+0xf4/0x200)
[<
c042af64>] (bus_add_driver) from [<
c042cadc>] (driver_register+0x80/0xfc)
[<
c042ca5c>] (driver_register) from [<
c042d960>] (__platform_driver_register+0x48/0x4c)
[<
c042d918>] (__platform_driver_register) from [<
bf24b018>] (caam_driver_init+0x18/0x24 [caam])
[<
bf24b000>] (caam_driver_init [caam]) from [<
c00098ac>] (do_one_initcall+0x44/0x178)
[<
c0009868>] (do_one_initcall) from [<
c010e034>] (do_init_module+0x68/0x1d8)
[<
c010dfcc>] (do_init_module) from [<
c00c8fbc>] (load_module+0x1974/0x20b0)
[<
c00c7648>] (load_module) from [<
c00c98d0>] (SyS_finit_module+0x94/0xa0)
[<
c00c983c>] (SyS_finit_module) from [<
c000fda0>] (ret_fast_syscall+0x0/0x1c)
---[ end trace
34e3370d88bb1787 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/drivers/clk/clk.c:476 clk_core_unprepare+0x204/0x388
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G W 4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[<
c0013bb0>] (dump_backtrace) from [<
c0013d4c>] (show_stack+0x18/0x1c)
[<
c0013d34>] (show_stack) from [<
c0357c00>] (dump_stack+0xa4/0xdc)
[<
c0357b5c>] (dump_stack) from [<
c002e650>] (__warn+0xdc/0x108)
[<
c002e574>] (__warn) from [<
c002e6a4>] (warn_slowpath_null+0x28/0x30)
[<
c002e67c>] (warn_slowpath_null) from [<
c05b0834>] (clk_core_unprepare+0x204/0x388)
[<
c05b0630>] (clk_core_unprepare) from [<
c05b4c0c>] (clk_unprepare+0x2c/0x34)
[<
c05b4be0>] (clk_unprepare) from [<
bf247b0c>] (caam_probe+0x404/0x1498 [caam])
[<
bf247708>] (caam_probe [caam]) from [<
c042da8c>] (platform_drv_probe+0x58/0xb8)
[<
c042da34>] (platform_drv_probe) from [<
c042bb4c>] (driver_probe_device+0x1fc/0x2b8)
[<
c042b950>] (driver_probe_device) from [<
c042bcc4>] (__driver_attach+0xbc/0xc0) r10:
00000000 r8:
bf24b000 r7:
00000000 r6:
ef215844 r5:
bf2490c4 r4:
ef215810
[<
c042bc08>] (__driver_attach) from [<
c0429f14>] (bus_for_each_dev+0x5c/0x90)
[<
c0429eb8>] (bus_for_each_dev) from [<
c042b358>] (driver_attach+0x24/0x28)
[<
c042b334>] (driver_attach) from [<
c042b058>] (bus_add_driver+0xf4/0x200)
[<
c042af64>] (bus_add_driver) from [<
c042cadc>] (driver_register+0x80/0xfc)
[<
c042ca5c>] (driver_register) from [<
c042d960>] (__platform_driver_register+0x48/0x4c)
[<
c042d918>] (__platform_driver_register) from [<
bf24b018>] (caam_driver_init+0x18/0x24 [caam])
[<
bf24b000>] (caam_driver_init [caam]) from [<
c00098ac>] (do_one_initcall+0x44/0x178)
[<
c0009868>] (do_one_initcall) from [<
c010e034>] (do_init_module+0x68/0x1d8)
[<
c010dfcc>] (do_init_module) from [<
c00c8fbc>] (load_module+0x1974/0x20b0)
[<
c00c7648>] (load_module) from [<
c00c98d0>] (SyS_finit_module+0x94/0xa0)
[<
c00c983c>] (SyS_finit_module) from [<
c000fda0>] (ret_fast_syscall+0x0/0x1c)
---[ end trace
34e3370d88bb1788 ]---
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>