HID: simplify error handling in hid_input_report()
The handling of failed debugging buffer allocation got overly
complicated. We simply want to skip the debugging code if allocation
fails and go on with event processing.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index c49aaa2..86cb2c4 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1091,10 +1091,8 @@
buf = kmalloc(sizeof(char) * HID_DEBUG_BUFSIZE, GFP_ATOMIC);
- if (!buf) {
- report = hid_get_report(report_enum, data);
+ if (!buf)
goto nomem;
- }
/* dump the report */
snprintf(buf, HID_DEBUG_BUFSIZE - 1,
@@ -1107,17 +1105,14 @@
hid_debug_event(hid, buf);
}
hid_debug_event(hid, "\n");
-
- report = hid_get_report(report_enum, data);
-
- if (!report) {
- kfree(buf);
- return -1;
- }
-
kfree(buf);
nomem:
+ report = hid_get_report(report_enum, data);
+
+ if (!report)
+ return -1;
+
if (hdrv && hdrv->raw_event && hid_match_report(hid, report)) {
ret = hdrv->raw_event(hid, report, data, size);
if (ret != 0)