• H
    ACPI: thinkpad-acpi: fix the module init failure path · ac36393d
    Henrique de Moraes Holschuh 提交于
    Thomas Renninger reports that if one tries to load thinkpad-acpi in a
    non-thinkpad, one gets:
    
    Call Trace:
     [<ffffffff802fa57d>] kref_get+0x2f/0x36
     [<ffffffff802f97f7>] kobject_get+0x12/0x17
     [<ffffffff8036dfd7>] get_driver+0x14/0x1a
     [<ffffffff8036dfee>] driver_remove_file+0x11/0x32
     [<ffffffff8823b9be>] :thinkpad_acpi:thinkpad_acpi_module_exit+0xa8/0xfc
     [<ffffffff8824b8a0>] :thinkpad_acpi:thinkpad_acpi_module_init+0x74a/0x776
     [<ffffffff8024f968>] __link_module+0x0/0x25
     [<ffffffff80252269>] sys_init_module+0x162c/0x178f
     [<ffffffff8020bc2e>] system_call+0x7e/0x83
    
    So, track if the platform driver and its driver attributes were registered,
    and only deallocate them in that case.
    
    This patch is based on Thomas Renninger's patch for the issue.
    Signed-off-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
    Acked-by: NThomas Renninger <trenn@suse.de>
    Signed-off-by: NLen Brown <len.brown@intel.com>
    ac36393d
thinkpad_acpi.h 16.1 KB