uwb: fix uwb_dev_unlock() missed at an error path in uwb_rc_cmd_async()
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Mon, 26 Nov 2012 20:26:46 +0000 (00:26 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 26 Nov 2012 23:58:43 +0000 (15:58 -0800)
There is the only path in uwb_rc_cmd_async() where rc->uwb_dev is left unlocked.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/uwb/reset.c

index 7032285..8b47c9c 100644 (file)
@@ -97,6 +97,7 @@ int uwb_rc_cmd_async(struct uwb_rc *rc, const char *cmd_name,
        neh = uwb_rc_neh_add(rc, cmd, expected_type, expected_event, cb, arg);
        if (IS_ERR(neh)) {
                result = PTR_ERR(neh);
+               uwb_dev_unlock(&rc->uwb_dev);
                goto out;
        }