• Andreas Herrmann's avatar
    x86, microcode: Fix sysfs warning during module unload on unsupported CPUs · a956bd6f
    Andreas Herrmann authored
    Loading the microcode driver on an unsupported CPU and subsequently
    unloading the driver causes
    
     WARNING: at fs/sysfs/group.c:138 mc_device_remove+0x5f/0x70 [microcode]()
     Hardware name: 01972NG
     sysfs group ffffffffa00013d0 not found for kobject 'cpu0'
     Modules linked in: snd_hda_codec_hdmi snd_hda_codec_conexant snd_hda_intel btusb snd_hda_codec bluetooth thinkpad_acpi rfkill microcode(-) [last unloaded: cfg80211]
     Pid: 4560, comm: modprobe Not tainted 3.4.0-rc2-00002-g258f7426 #5
     Call Trace:
      [<ffffffff8103113b>] ? warn_slowpath_common+0x7b/0xc0
      [<ffffffff81031235>] ? warn_slowpath_fmt+0x45/0x50
      [<ffffffff81120e74>] ? sysfs_remove_group+0x34/0x120
      [<ffffffffa00000ef>] ? mc_device_remove+0x5f/0x70 [microcode]
      [<ffffffff81331eb9>] ? subsys_interface_unregister+0x69/0xa0
      [<ffffffff81563526>] ? mutex_lock+0x16/0x40
      [<ffffffffa0000c3e>] ? microcode_exit+0x50/0x92 [microcode]
      [<ffffffff8107051d>] ? sys_delete_module+0x16d/0x260
      [<ffffffff810a0065>] ? wait_iff_congested+0x45/0x110
      [<ffffffff815656af>] ? page_fault+0x1f/0x30
      [<ffffffff81565ba2>] ? system_call_fastpath+0x16/0x1b
    
    on recent kernels.
    
    This is due to commit 8a25a2fd ("cpu: convert 'cpu' and
    'machinecheck' sysdev_class to a regular subsystem") which renders
    commit 6c53cbfc ("x86, microcode: Correct sysdev_add error path")
    useless.
    
    See http://marc.info/?l=linux-kernel&m=133416246406478
    
    Avoid above warning by restoring the old driver behaviour before
    6c53cbfc ("x86, microcode: Correct sysdev_add error path").
    
    Cc: stable@vger.kernel.org
    Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
    Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann3@amd.com>
    Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Link: http://lkml.kernel.org/r/20120411163849.GE4794@alberich.amd.comSigned-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
    a956bd6f
microcode_core.c 14.6 KB