• Yanjiang Jin's avatar
    EDAC, mpc85xx: Implement remove method for the platform driver · 27bda205
    Yanjiang Jin authored
    If we execute the below steps without this patch:
    
      modprobe mpc85xx_edac [The first insmod, everything is well.]
      modprobe -r mpc85xx_edac
      modprobe mpc85xx_edac [insmod again, error happens.]
    
    We would get the error messages as below:
    
      BUG: recent printk recursion!
      Oops: Kernel access of bad area, sig: 11 [#48]
      Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
      CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
       .vsnprintf
       .vscnprintf
       .vprintk_emit
       .printk
       .edac_pci_add_device
       .mpc85xx_pci_err_probe
       .platform_drv_probe
       .driver_probe_device
       .__driver_attach
       .bus_for_each_dev
       .driver_attach
       .bus_add_driver
       .driver_register
       .__platform_register_drivers
       .mpc85xx_mc_init
       .do_one_initcall
       .do_init_module
       .load_module
       .SyS_finit_module
       system_call
    
    Address this by cleaning up properly when removing the platform driver.
    
    Tested on a T4240QDS board.
    Signed-off-by: default avatarYanjiang Jin <yanjiang.jin@windriver.com>
    Acked-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
    Cc: linux-edac <linux-edac@vger.kernel.org>
    Cc: york.sun@nxp.com
    Link: http://lkml.kernel.org/r/1479351380-17109-2-git-send-email-yanjiang.jin@windriver.com
    [ Boris: massage commit message. ]
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    27bda205
mpc85xx_edac.c 20 KB