]> Pileus Git - ~andy/linux/blobdiff - drivers/input/misc/hp_sdc_rtc.c
Merge tag 'trace-fixes-v3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / drivers / input / misc / hp_sdc_rtc.c
index 770479df865742a3c0d2beaa58291945f6501868..45e0e3e55de28dfdbdfb347ebdba74ca2e698544 100644 (file)
@@ -180,7 +180,10 @@ static int64_t hp_sdc_rtc_read_i8042timer (uint8_t loadcmd, int numreg)
        if (WARN_ON(down_interruptible(&i8042tregs)))
                return -1;
 
-       if (hp_sdc_enqueue_transaction(&t)) return -1;
+       if (hp_sdc_enqueue_transaction(&t)) {
+               up(&i8042tregs);
+               return -1;
+       }
        
        /* Sleep until results come back. */
        if (WARN_ON(down_interruptible(&i8042tregs)))
@@ -515,7 +518,7 @@ static const struct file_operations hp_sdc_rtc_proc_fops = {
        .open           = hp_sdc_rtc_proc_open,
        .read           = seq_read,
        .llseek         = seq_lseek,
-       .release        = seq_release,
+       .release        = single_release,
 };
 
 static int hp_sdc_rtc_ioctl(struct file *file,