HID: emsff: properly handle emsff_init failure
[firefly-linux-kernel-4.4.55.git] / drivers / hid / hid-emsff.c
index 81877c67caea5891d71d526094978aa607b3d508..a5dc13fe367b7584e8290e1e5dcd29c5cd028df7 100644 (file)
@@ -126,7 +126,12 @@ static int ems_probe(struct hid_device *hdev, const struct hid_device_id *id)
                goto err;
        }
 
-       emsff_init(hdev);
+       ret = emsff_init(hdev);
+       if (ret) {
+               dev_err(&hdev->dev, "force feedback init failed\n");
+               hid_hw_stop(hdev);
+               goto err;
+       }
 
        return 0;
 err: