HID: input: use __free(kfree) to clean up temporary buffers
PATCH 1/1 HID: input: use __free(kfree) to clean up temporary buffers
The __free() cleanup automatically releases given resource when leaving the scope, so use it to make the code less cluttered with error handling.
Signed-off-by Dmitry Torokhov <[email protected]>
--- drivers/hid/hid-input.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)
drivers/hid/hid-input.c +4 -11
@@ -432,23 +432,18 @@ static int hidinput_scale_battery_capacity(struct hid_device *dev,static int hidinput_query_battery_capacity (struct hid_device *dev) { -u8 *buf;int ret; - buf =kmalloc (4 ,GFP_KERNEL ); + u8 *buf __free(kfree) = kmalloc(4, GFP_KERNEL);if (!buf)return -ENOMEM ; ret =hid_hw_raw_request (dev, dev->battery_report_id, buf,4 , dev->battery_report_type,HID_REQ_GET_REPORT ); -if (ret <2 ) { -kfree (buf); +if (ret <2 )return -ENODATA ; - } - ret =hidinput_scale_battery_capacity (dev, buf[1 ]); -kfree (buf); -return ret; +return hidinput_scale_battery_capacity (dev, buf[1 ]); } static int hidinput_get_battery_property(struct power_supply *psy,
@@ -1832,7 +1827,6 @@ static void hidinput_led_worker(struct work_struct *work)struct hid_report *report;int ret;u32 len; -__u8 *buf; field =hidinput_get_led_field (hid);if (!field)
@@ -1859,7 +1853,7 @@ static void hidinput_led_worker(struct work_struct *work)/* fall back to generic raw-output-report */ len =hid_report_len (report); - buf =hid_alloc_report_buf (report,GFP_KERNEL ); + u8 *buf __free(kfree) = hid_alloc_report_buf(report, GFP_KERNEL);if (!buf)return ;
@@ -1869,7 +1863,6 @@ static void hidinput_led_worker(struct work_struct *work)if (ret == -ENOSYS )hid_hw_raw_request (hid, report->id, buf, len,HID_OUTPUT_REPORT ,HID_REQ_SET_REPORT ); -kfree (buf); } static int hidinput_input_event(struct input_dev *dev, unsigned int type,
Signature · 5 lines
2.53.0.473.g4a7958ca14-goog -- Dmitry
Quoted 5 lines · Dmitry Torokhov
The
__free()cleanup automatically releases given resource when leaving the scope, so use it to make the code less cluttered with error handling.Signed-off-by Dmitry Torokhov <[email protected]>
Applied to hid.git#for-7.1/core. Thanks,
Signature · 2 lines
Jiri Kosina SUSE Labs