diff options
Diffstat (limited to 'drivers/hid/hid-input.c')
| -rw-r--r-- | drivers/hid/hid-input.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 4e94ea3e280a..a481eaf39e88 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -1582,6 +1582,7 @@ static struct hid_input *hidinput_allocate(struct hid_device *hid,  	input_dev->dev.parent = &hid->dev;  	hidinput->input = input_dev; +	hidinput->application = application;  	list_add_tail(&hidinput->list, &hid->inputs);  	INIT_LIST_HEAD(&hidinput->reports); @@ -1677,8 +1678,7 @@ static struct hid_input *hidinput_match_application(struct hid_report *report)  	struct hid_input *hidinput;  	list_for_each_entry(hidinput, &hid->inputs, list) { -		if (hidinput->report && -		    hidinput->report->application == report->application) +		if (hidinput->application == report->application)  			return hidinput;  	} @@ -1815,6 +1815,7 @@ void hidinput_disconnect(struct hid_device *hid)  			input_unregister_device(hidinput->input);  		else  			input_free_device(hidinput->input); +		kfree(hidinput->name);  		kfree(hidinput);  	}  |