Skip to content
  • Philippe Gerum's avatar
    thermal/drivers/hisi: drop spurious enable of auto-enable irq · 82d07de0
    Philippe Gerum authored
    Fixes the kernel warning below due to the second enable sneaking in
    between a thermal IRQ is handled by the hard interrupt handler - which
    disables it - and the IRQ thread eventually attempts to re-enable the
    interrupt - which was already enabled.
    
    [    0.405830] Unbalanced enable for IRQ 44
    [    0.406029] ------------[ cut here ]------------
    [    0.406035] WARNING: CPU: 3 PID: 1285 at kernel/irq/manage.c:525 __enable_irq+0x60/0x70
    [    0.406044] Modules linked in:
    [    0.406055] CPU: 3 PID: 1285 Comm: irq/44-hisi_the Not tainted 4.14.62-ipipe #2
    [    0.406060] Hardware name: HiKey Development Board (DT)
    [    0.406065] I-pipe domain: Linux
    [    0.406073] task: ffff8000336b0000 task.stack: ffff00000b9e0000
    [    0.406078] PC is at __enable_irq+0x60/0x70
    [    0.406083] LR is at __enable_irq+0x60/0x70
    [    0.406088] pc : [<ffff000008124d58>] lr : [<ffff000008124d58>] pstate: 60000045
    [    0.406093] sp : ffff00000b9e3c60
    [    0.406098] x29: ffff00000b9e3c60 x28: 0000000000000000
    [    0.406108] x27: ffff00000805ba40 x26: ffff8000336b0000
    [    0.406118] x25: ffff000008124000 x24: ffff00000b9e3d7c
    [    0.406128] x23: 0000000000000002 x22: ffff800033f39e88
    [    0.406138] x21: 000000000000bc40 x20: 000000000000002c
    [    0.406147] x19: ffff800034275200 x18: 0000000000000010
    [    0.406157] x17: 0000000000000007 x16: 0000000000000001
    [    0.406166] x15: ffff0000890014c7 x14: 0000000000000006
    [    0.406175] x13: ffff0000090014d5 x12: ffff000008eb34d0
    [    0.406184] x11: ffff000008eb3000 x10: 0000000005f5e0ff
    [    0.406193] x9 : ffff00000b9e3970 x8 : 0000000000000040
    [    0.406202] x7 : ffff000008e7c000 x6 : 0000000000000040
    [    0.406211] x5 : 0000000000000000 x4 : 0000000000000000
    [    0.406220] x3 : ffffffffffffffff x2 : ffff000008eb34f0
    [    0.406229] x1 : ffff8000336b0000 x0 : 000000000000001c
    [    0.406239] Call trace:
    [    0.406244] Exception stack(0xffff00000b9e3b20 to 0xffff00000b9e3c60)
    [    0.406249] 3b20: 000000000000001c ffff8000336b0000 ffff000008eb34f0 ffffffffffffffff
    [    0.406255] 3b40: 0000000000000000 0000000000000000 0000000000000040 ffff000008e7c000
    [    0.406261] 3b60: 0000000000000040 ffff00000b9e3970 0000000005f5e0ff ffff000008eb3000
    [    0.406267] 3b80: ffff000008eb34d0 ffff0000090014d5 0000000000000006 ffff0000890014c7
    [    0.406272] 3ba0: 0000000000000001 0000000000000007 0000000000000010 ffff800034275200
    [    0.406278] 3bc0: 000000000000002c 000000000000bc40 ffff800033f39e88 0000000000000002
    [    0.406284] 3be0: ffff00000b9e3d7c ffff000008124000 ffff8000336b0000 ffff00000805ba40
    [    0.406289] 3c00: 0000000000000000 ffff00000b9e3c60 ffff000008124d58 ffff00000b9e3c60
    [    0.406295] 3c20: ffff000008124d58 0000000060000045 0000000000000000 ffff800034275200
    [    0.406300] 3c40: ffffffffffffffff ffff000008e7c2b0 ffff00000b9e3c60 ffff000008124d58
    [    0.406306] [<ffff000008124d58>] __enable_irq+0x60/0x70
    [    0.406311] [<ffff000008124d9c>] enable_irq+0x34/0x68
    [    0.406317] [<ffff000008780320>] hisi_thermal_get_temp+0x160/0x198
    [    0.406322] [<ffff00000877b868>] of_thermal_get_temp+0x20/0x30
    [    0.406327] [<ffff00000877b0d4>] thermal_zone_get_temp+0x5c/0x138
    [    0.406332] [<ffff000008778740>] thermal_zone_device_update.part.4+0x20/0xb0
    [    0.406337] [<ffff0000087787f8>] thermal_zone_device_update+0x28/0x38
    [    0.406342] [<ffff00000877fe7c>] hisi_thermal_alarm_irq_thread+0x64/0x80
    [    0.406347] [<ffff0000081244e0>] irq_thread_fn+0x28/0x68
    [    0.406352] [<ffff000008124784>] irq_thread+0x114/0x1b0
    [    0.406357] [<ffff0000080f0384>] kthread+0xfc/0x128
    [    0.406362] [<ffff000008085274>] ret_from_fork+0x14/0x20
    [    0.406366] ---[ end trace 0e6011135c69587a ]---
    82d07de0