From: Michal Malý Date: Wed, 8 Apr 2015 20:56:45 +0000 (+0200) Subject: HID: hid-lg: Check return values from lg[N]ff_init() X-Git-Tag: firefly_0821_release~176^2~1610^2~1^3~10 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2dbf635ea1c0b62a957438d72a162175680a3d4a;p=firefly-linux-kernel-4.4.55.git 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ý Signed-off-by: Jiri Kosina --- 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) } if (drv_data->quirks & LG_FF) - lgff_init(hdev); + ret = lgff_init(hdev); if (drv_data->quirks & LG_FF2) - lg2ff_init(hdev); + ret = lg2ff_init(hdev); if (drv_data->quirks & LG_FF3) - lg3ff_init(hdev); + ret = lg3ff_init(hdev); if (drv_data->quirks & LG_FF4) - lg4ff_init(hdev); + ret = lg4ff_init(hdev); + + if (ret) + goto err_free; return 0; err_free: