Message ID | 20211015022803.3827-2-caihuoqing@baidu.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 3d422a4668ef0c5e30f616e9a9b4c7ac3adaade1 |
Delegated to: | Jiri Kosina |
Headers | show |
Series | [v2,1/2] RFC: HID: wacom: Shrink critical section in `wacom_add_shared_data` | expand |
diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c index 62f50e4b837d..2717d39600b4 100644 --- a/drivers/hid/wacom_sys.c +++ b/drivers/hid/wacom_sys.c @@ -894,11 +894,9 @@ static int wacom_add_shared_data(struct hid_device *hdev) wacom_wac->shared = &data->shared; - retval = devm_add_action(&hdev->dev, wacom_remove_shared_data, wacom); - if (retval) { - wacom_remove_shared_data(wacom); + retval = devm_add_action_or_reset(&hdev->dev, wacom_remove_shared_data, wacom); + if (retval) return retval; - } if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH) wacom_wac->shared->touch = hdev;
The helper function devm_add_action_or_reset() will internally call devm_add_action(), and if devm_add_action() fails then it will execute the action mentioned and return the error code. So use devm_add_action_or_reset() instead of devm_add_action() to simplify the error handling, reduce the code. Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> --- v1->v2: *Sort to patch series with [PATCH v2 1/2] from Jason drivers/hid/wacom_sys.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)