[media] em28xx: Fix IR unregister logic
[pandora-kernel.git] / drivers / media / video / em28xx / em28xx-input.c
index ba1ba86..679da48 100644 (file)
@@ -372,6 +372,7 @@ int em28xx_ir_change_protocol(struct rc_dev *rc_dev, u64 rc_type)
                ir->get_key = default_polling_getkey;
                break;
        case CHIP_ID_EM2874:
+       case CHIP_ID_EM28174:
                ir->get_key = em2874_polling_getkey;
                em28xx_write_regs(dev, EM2874_R50_IR_CONFIG, &ir_config, 1);
                break;
@@ -462,11 +463,11 @@ int em28xx_ir_fini(struct em28xx *dev)
        if (!ir)
                return 0;
 
-       em28xx_ir_stop(ir->rc);
-       rc_unregister_device(ir->rc);
-       kfree(ir);
+       if (ir->rc)
+               rc_unregister_device(ir->rc);
 
        /* done */
+       kfree(ir);
        dev->ir = NULL;
        return 0;
 }