aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid/hid-core.c')
-rw-r--r--drivers/hid/hid-core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 10a2c0866459..da52279de939 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1253,7 +1253,8 @@ EXPORT_SYMBOL_GPL(hid_output_report);
1253 1253
1254static int hid_report_len(struct hid_report *report) 1254static int hid_report_len(struct hid_report *report)
1255{ 1255{
1256 return ((report->size - 1) >> 3) + 1 + (report->id > 0) + 7; 1256 /* equivalent to DIV_ROUND_UP(report->size, 8) + !!(report->id > 0) */
1257 return ((report->size - 1) >> 3) + 1 + (report->id > 0);
1257} 1258}
1258 1259
1259/* 1260/*
@@ -1266,7 +1267,7 @@ u8 *hid_alloc_report_buf(struct hid_report *report, gfp_t flags)
1266 * of implement() working on 8 byte chunks 1267 * of implement() working on 8 byte chunks
1267 */ 1268 */
1268 1269
1269 int len = hid_report_len(report); 1270 int len = hid_report_len(report) + 7;
1270 1271
1271 return kmalloc(len, flags); 1272 return kmalloc(len, flags);
1272} 1273}