diff options
| author | Michal Malý <madcatxster@devoid-pointer.net> | 2015-04-08 16:56:45 -0400 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2015-05-07 10:27:09 -0400 |
| commit | 2dbf635ea1c0b62a957438d72a162175680a3d4a (patch) | |
| tree | b6b5c7c86868508af0f9c2fe82d8d4bf6417d569 | |
| parent | 9c2a6bd1133f7eae42b7b4e245d2aafecaf4a082 (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.c | 11 |
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; |
| 725 | err_free: | 728 | err_free: |
