Hello Ken Cox, The patch bac8a4d5d29b: "staging: visoruislib driver used to handle requests from virtpci" from Mar 4, 2014, leads to the following Smatch warning (but you need to run with --spammy to see it): drivers/staging/unisys/uislib/uislib.c:1688 info_proc_read_helper() warn: 'read_lock:&BusListLock' is sometimes locked here and sometimes unlocked. drivers/staging/unisys/uislib/uislib.c 1679 cycles_before_wait, wait_cycles); 1680 PROCLINE("tot_wakeup_cnt %llu:tot_wait_cnt %llu:tot_schedule_cnt %llu\n", 1681 tot_wakeup_cnt, tot_wait_cnt, tot_schedule_cnt); 1682 PROCLINE("en_smart_wakeup %d\n", en_smart_wakeup); 1683 PROCLINE("tot_moved_to_tail_cnt %llu\n", tot_moved_to_tail_cnt); 1684 1685 return tot; 1686 err_done: 1687 1688 return -1; 1689 } Presumably there is a "goto err_done" in the wrong place but the gotos are all hidden inside the defines. You're not allowed to put a return or a goto inside a define. regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel