Skip to content
  • Devin Heitmueller's avatar
    [media] xc5000: fix memory corruption when unplugging device · 856260a5
    Devin Heitmueller authored
    This patch addresses a regression introduced in the following patch:
    
    commit 5264a522
    
    
    Author: Shuah Khan <shuahkh@osg.samsung.com>
        [media] media: tuner xc5000 - release firmwware from xc5000_release()
    
    The "priv" struct is actually reference counted, so the xc5000_release()
    function gets called multiple times for hybrid devices.  Because
    release_firmware() was always being called, it would work fine as expected
    on the first call but then the second call would corrupt aribtrary memory.
    
    Set the pointer to NULL after releasing so that we don't call
    release_firmware() twice.
    
    This problem was detected in the HVR-950q where plugging/unplugging the
    device multiple times would intermittently show panics in completely
    unrelated areas of the kernel.
    
    Signed-off-by: default avatarDevin Heitmueller <dheitmueller@kernellabs.com>
    Cc: Shuah Khan <shuahkh@osg.samsung.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
    856260a5