From 3bf4024f50a505ce85c433669afeb2e5f6affe40 Mon Sep 17 00:00:00 2001 From: Matthieu CASTET Date: Thu, 28 Jun 2012 16:53:11 +0200 Subject: [PATCH] --- yaml --- r: 316038 b: refs/heads/master c: b94e3c94aae04a911d61f620f4ff5b575fc196ad h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/hid/hid-core.c | 10 ++++++++-- trunk/drivers/hid/hid-picolcd.c | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index b483e1741393..5450a2caefa5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4c7b417ecb756e85dfc955b0e7a04fd45585533e +refs/heads/master: b94e3c94aae04a911d61f620f4ff5b575fc196ad diff --git a/trunk/drivers/hid/hid-core.c b/trunk/drivers/hid/hid-core.c index 4c87276c8ddb..71f87b1d71de 100644 --- a/trunk/drivers/hid/hid-core.c +++ b/trunk/drivers/hid/hid-core.c @@ -1194,8 +1194,10 @@ int hid_report_raw_event(struct hid_device *hid, int type, u8 *data, int size, goto out; } - for (a = 0; a < report->maxfield; a++) - hid_input_field(hid, report->field[a], cdata, interrupt); + if (hid->claimed != HID_CLAIMED_HIDRAW) { + for (a = 0; a < report->maxfield; a++) + hid_input_field(hid, report->field[a], cdata, interrupt); + } if (hid->claimed & HID_CLAIMED_INPUT) hidinput_report_event(hid, report); @@ -1243,6 +1245,10 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i goto unlock; } + /* Avoid unnecessary overhead if debugfs is disabled */ + if (list_empty(&hid->debug_list)) + goto nomem; + buf = kmalloc(sizeof(char) * HID_DEBUG_BUFSIZE, GFP_ATOMIC); if (!buf) diff --git a/trunk/drivers/hid/hid-picolcd.c b/trunk/drivers/hid/hid-picolcd.c index 45c3433f7986..3e0a1e5d2ad5 100644 --- a/trunk/drivers/hid/hid-picolcd.c +++ b/trunk/drivers/hid/hid-picolcd.c @@ -1846,7 +1846,7 @@ static void picolcd_debug_out_report(struct picolcd_data *data, #define BUFF_SZ 256 /* Avoid unnecessary overhead if debugfs is disabled */ - if (!hdev->debug_events) + if (list_empty(&hdev->debug_list)) return; buff = kmalloc(BUFF_SZ, GFP_ATOMIC);