Commit 684116ca authored by Elad Wexler's avatar Elad Wexler Committed by Greg Kroah-Hartman

Drivers: char: misc: 'misc_deregister()' changed the 'mutex_unlock' logic upon an error

This change improves code readability & is less error-prone.
For example: case adding more error paths one should remember to call 'mutex_unlock'
Signed-off-by: default avatarElad Wexler <elad.wexler@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bbf831df
...@@ -193,8 +193,8 @@ int misc_register(struct miscdevice * misc) ...@@ -193,8 +193,8 @@ int misc_register(struct miscdevice * misc)
if (misc->minor == MISC_DYNAMIC_MINOR) { if (misc->minor == MISC_DYNAMIC_MINOR) {
int i = find_first_zero_bit(misc_minors, DYNAMIC_MINORS); int i = find_first_zero_bit(misc_minors, DYNAMIC_MINORS);
if (i >= DYNAMIC_MINORS) { if (i >= DYNAMIC_MINORS) {
mutex_unlock(&misc_mtx); err = -EBUSY;
return -EBUSY; goto out;
} }
misc->minor = DYNAMIC_MINORS - i - 1; misc->minor = DYNAMIC_MINORS - i - 1;
set_bit(i, misc_minors); set_bit(i, misc_minors);
...@@ -203,8 +203,8 @@ int misc_register(struct miscdevice * misc) ...@@ -203,8 +203,8 @@ int misc_register(struct miscdevice * misc)
list_for_each_entry(c, &misc_list, list) { list_for_each_entry(c, &misc_list, list) {
if (c->minor == misc->minor) { if (c->minor == misc->minor) {
mutex_unlock(&misc_mtx); err = -EBUSY;
return -EBUSY; goto out;
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment