Skip to content
  • Kim Phillips's avatar
    bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left. · b69f63eb
    Kim Phillips authored
    Unregistering the driver before calling cpuhp_remove_multi_state() removes
    any remaining hotplug cpu instances so __cpuhp_remove_state_cpuslocked()
    doesn't emit this warning:
    
    [  268.748362] Error: Removing state 147 which has instances left.
    [  268.748373] ------------[ cut here ]------------
    [  268.748386] WARNING: CPU: 2 PID: 5476 at kernel/cpu.c:1734 __cpuhp_remove_state_cpuslocked+0x454/0x4f0
    [  268.748389] Modules linked in: arm_ccn(-) [last unloaded: arm_ccn]
    [  268.748403] CPU: 2 PID: 5476 Comm: rmmod Tainted: G        W       4.14.0-rc4+ #3
    [  268.748406] Hardware name: AMD Seattle/Seattle, BIOS 10:18:39 Dec  8 2016
    [  268.748410] task: ffff8001a18ca000 task.stack: ffff80019c120000
    [  268.748416] PC is at __cpuhp_remove_state_cpuslocked+0x454/0x4f0
    [  268.748421] LR is at __cpuhp_remove_state_cpuslocked+0x448/0x4f0
    [  268.748425] pc : [<ffff2000081729ec>] lr : [<ffff2000081729e0>] pstate: 60000145
    [  268.748427] sp : ffff80019c127d30
    [  268.748430] x29: ffff80019c127d30 x28: ffff8001a18ca000
    [  268.748437] x27: ffff20000c2cb000 x26: 1fffe4000042d490
    [  268.748443] x25: ffff20000216a480 x24: 0000000000000000
    [  268.748449] x23: ffff20000b08e000 x22: 0000000000000001
    [  268.748455] x21: 0000000000000093 x20: 00000000000016f8
    [  268.748460] x19: ffff20000c2cbb80 x18: 0000ffffb5fe7c58
    [  268.748466] x17: 00000000004402d0 x16: 1fffe40001864f01
    [  268.748472] x15: ffff20000c4bf8b0 x14: 0000000000000000
    [  268.748477] x13: 0000000000007032 x12: ffff20000829ae48
    [  268.748483] x11: ffff20000c4bf000 x10: 0000000000000004
    [  268.748488] x9 : 0000000000006fbc x8 : ffff20000c318a40
    [  268.748494] x7 : 0000000000000000 x6 : ffff040001864f02
    [  268.748500] x5 : 0000000000000000 x4 : 0000000000000000
    [  268.748505] x3 : 0000000000000007 x2 : dfff200000000000
    [  268.748510] x1 : 000000000000ad3d x0 : 00000000000001f0
    [  268.748516] Call trace:
    [  268.748521] Exception stack(0xffff80019c127bf0 to 0xffff80019c127d30)
    [  268.748526] 7be0:                                   00000000000001f0 000000000000ad3d
    [  268.748531] 7c00: dfff200000000000 0000000000000007 0000000000000000 0000000000000000
    [  268.748535] 7c20: ffff040001864f02 0000000000000000 ffff20000c318a40 0000000000006fbc
    [  268.748539] 7c40: 0000000000000004 ffff20000c4bf000 ffff20000829ae48 0000000000007032
    [  268.748544] 7c60: 0000000000000000 ffff20000c4bf8b0 1fffe40001864f01 00000000004402d0
    [  268.748548] 7c80: 0000ffffb5fe7c58 ffff20000c2cbb80 00000000000016f8 0000000000000093
    [  268.748553] 7ca0: 0000000000000001 ffff20000b08e000 0000000000000000 ffff20000216a480
    [  268.748557] 7cc0: 1fffe4000042d490 ffff20000c2cb000 ffff8001a18ca000 ffff80019c127d30
    [  268.748562] 7ce0: ffff2000081729e0 ffff80019c127d30 ffff2000081729ec 0000000060000145
    [  268.748566] 7d00: 00000000000001f0 0000000000000000 0001000000000000 0000000000000000
    [  268.748569] 7d20: ffff80019c127d30 ffff2000081729ec
    [  268.748575] [<ffff2000081729ec>] __cpuhp_remove_state_cpuslocked+0x454/0x4f0
    [  268.748580] [<ffff200008172adc>] __cpuhp_remove_state+0x54/0x80
    [  268.748597] [<ffff20000215dd84>] arm_ccn_exit+0x2c/0x70 [arm_ccn]
    [  268.748604] [<ffff20000834cfbc>] SyS_delete_module+0x5a4/0x708
    [  268.748607] Exception stack(0xffff80019c127ec0 to 0xffff80019c128000)
    [  268.748612] 7ec0: 0000000019bb7258 0000000000000800 ba64d0fb3d26a800 00000000000000da
    [  268.748616] 7ee0: 0000ffffb6144e28 0000ffffcd95b409 fefefefefefefeff 7f7f7f7f7f7f7f7f
    [  268.748621] 7f00: 000000000000006a 1999999999999999 0000ffffb6179000 0000000000bbcc6d
    [  268.748625] 7f20: 0000ffffb6176b98 0000ffffcd95c2d0 0000ffffb5fe7b58 0000ffffb6163000
    [  268.748630] 7f40: 0000ffffb60ad3e0 00000000004402d0 0000ffffb5fe7c58 0000000019bb71f0
    [  268.748634] 7f60: 0000ffffcd95c740 0000000000000000 0000000019bb71f0 0000000000416700
    [  268.748639] 7f80: 0000000000000000 00000000004402e8 0000000019bb6010 0000ffffcd95c748
    [  268.748643] 7fa0: 0000000000000000 0000ffffcd95c460 00000000004113a8 0000ffffcd95c460
    [  268.748648] 7fc0: 0000ffffb60ad3e8 0000000080000000 0000000019bb7258 000000000000006a
    [  268.748652] 7fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
    [  268.748657] [<ffff200008084f9c>] __sys_trace_return+0x0/0x4
    [  268.748661] ---[ end trace a996d358dcaa7f9c ]---
    
    Fixes: 8df03872
    
     ("bus/arm-ccn: Use cpu-hp's multi instance support instead custom list")
    Signed-off-by: default avatarKim Phillips <kim.phillips@arm.com>
    Acked-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: stable@vger.kernel.org # 4.8+
    Signed-off-by: default avatarPawel Moll <pawel.moll@arm.com>
    b69f63eb