• Axel Lin's avatar
    acerhdf: fix resource reclaim in error path · a0dba697
    Axel Lin authored
    Fix resource reclaim in below cases:
    
    1. acerhdf_register_platform() does not properly handle
       platform_device_alloc() failure and platform_device_add() failure This
       patch adds error handing for acerhdf_register_platform().
    
    2. acerhdf_register_platform() return err with acerhdf_dev == NULL.
       as a result, acerhdf_unregister_platform() does not do resource reclaim
       in acerhdf_init() error path.  This patch adds error handing for
       acerhdf_register_platform(), thus correct the error handing path in
       acerhdf_init().  goto out_err instead of err_unreg if
       acerhdf_register_platform() fail.
    
    3. platform_device_del() should only used in error handling.  Current
       implementation missed a platform_device_put() in acerhdf_exit.  This
       patch fixes it by using platform_device_unregister() instead of
       platform_device_del() in acerhdf_unregister_platform.
    Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
    Acked-by: default avatarPeter Feuerer <peter@piie.net>
    Cc: Matthew Garrett <mjg@redhat.com>
    Acked-by: default avatarBorislav Petkov <bp@alien8.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
    a0dba697
acerhdf.c 19.9 KB