aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Malý <madcatxster@devoid-pointer.net>2015-04-08 16:56:45 -0400
committerJiri Kosina <jkosina@suse.cz>2015-05-07 10:27:09 -0400
commit2dbf635ea1c0b62a957438d72a162175680a3d4a (patch)
treeb6b5c7c86868508af0f9c2fe82d8d4bf6417d569
parent9c2a6bd1133f7eae42b7b4e245d2aafecaf4a082 (diff)
HID: hid-lg: Check return values from lg[N]ff_init()
Check return values from lg[N]ff_init(). hid-lg did not check return values from the lg[N]_init() functions, possibly trying to work with a device whose initialization has failed. Signed-off-by: Michal Malý <madcatxster@devoid-pointer.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-lg.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c
index 2671de952e62..3f01da695d5e 100644
--- a/drivers/hid/hid-lg.c
+++ b/drivers/hid/hid-lg.c
@@ -713,13 +713,16 @@ static int lg_probe(struct hid_device *hdev, const struct hid_device_id *id)
713 } 713 }
714 714
715 if (drv_data->quirks & LG_FF) 715 if (drv_data->quirks & LG_FF)
716 lgff_init(hdev); 716 ret = lgff_init(hdev);
717 if (drv_data->quirks & LG_FF2) 717 if (drv_data->quirks & LG_FF2)
718 lg2ff_init(hdev); 718 ret = lg2ff_init(hdev);
719 if (drv_data->quirks & LG_FF3) 719 if (drv_data->quirks & LG_FF3)
720 lg3ff_init(hdev); 720 ret = lg3ff_init(hdev);
721 if (drv_data->quirks & LG_FF4) 721 if (drv_data->quirks & LG_FF4)
722 lg4ff_init(hdev); 722 ret = lg4ff_init(hdev);
723
724 if (ret)
725 goto err_free;
723 726
724 return 0; 727 return 0;
725err_free: 728err_free: