Skip to content
  • Andreas Kemnade's avatar
    w1: omap-hdq: fix missing bus unregister at removal · a0077346
    Andreas Kemnade authored
    The bus master was not removed after unloading the module
    or unbinding the driver. That lead to oopses like this
    
    [  127.842987] Unable to handle kernel paging request at virtual address bf01d04c
    [  127.850646] pgd = 70e3cd9a
    [  127.853698] [bf01d04c] *pgd=8f908811, *pte=00000000, *ppte=00000000
    [  127.860412] Internal error: Oops: 80000007 [#1
    
    ] PREEMPT SMP ARM
    [  127.866668] Modules linked in: bq27xxx_battery overlay [last unloaded: omap_hdq]
    [  127.874542] CPU: 0 PID: 1022 Comm: w1_bus_master1 Not tainted 4.19.0-rc4-00001-g2d51da718324 #12
    [  127.883819] Hardware name: Generic OMAP36xx (Flattened Device Tree)
    [  127.890441] PC is at 0xbf01d04c
    [  127.893798] LR is at w1_search_process_cb+0x4c/0xfc
    [  127.898956] pc : [<bf01d04c>]    lr : [<c05f9580>]    psr: a0070013
    [  127.905609] sp : cf885f48  ip : bf01d04c  fp : ddf1e11c
    [  127.911132] r10: cf8fe040  r9 : c05f8d00  r8 : cf8fe040
    [  127.916656] r7 : 000000f0  r6 : cf8fe02c  r5 : cf8fe000  r4 : cf8fe01c
    [  127.923553] r3 : c05f8d00  r2 : 000000f0  r1 : cf8fe000  r0 : dde1ef10
    [  127.930450] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
    [  127.938018] Control: 10c5387d  Table: 8f8f0019  DAC: 00000051
    [  127.944091] Process w1_bus_master1 (pid: 1022, stack limit = 0x9135699f)
    [  127.951171] Stack: (0xcf885f48 to 0xcf886000)
    [  127.955810] 5f40:                   cf8fe000 00000000 cf884000 cf8fe090 000003e8 c05f8d00
    [  127.964477] 5f60: dde5fc34 c05f9700 ddf1e100 ddf1e540 cf884000 cf8fe000 c05f9694 00000000
    [  127.973114] 5f80: dde5fc34 c01499a4 00000000 ddf1e540 c0149874 00000000 00000000 00000000
    [  127.981781] 5fa0: 00000000 00000000 00000000 c01010e8 00000000 00000000 00000000 00000000
    [  127.990447] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [  127.999114] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [  128.007781] [<c05f9580>] (w1_search_process_cb) from [<c05f9700>] (w1_process+0x6c/0x118)
    [  128.016479] [<c05f9700>] (w1_process) from [<c01499a4>] (kthread+0x130/0x148)
    [  128.024047] [<c01499a4>] (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
    [  128.031677] Exception stack(0xcf885fb0 to 0xcf885ff8)
    [  128.037017] 5fa0:                                     00000000 00000000 00000000 00000000
    [  128.045684] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [  128.054351] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [  128.061340] Code: bad PC value
    [  128.064697] ---[ end trace af066e33c0e14119 ]---
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarAndreas Kemnade <andreas@kemnade.info>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a0077346