diff --git a/drivers/hid/hid-lg4ff.c b/drivers/hid/hid-lg4ff.c index cefba038520c..9e63da793a0d 100644 --- a/drivers/hid/hid-lg4ff.c +++ b/drivers/hid/hid-lg4ff.c @@ -1327,8 +1327,12 @@ int lg4ff_init(struct hid_device *hid) } /* Set supported force feedback capabilities */ + error = -ENODEV; for (j = 0; lg4ff_devices[i].ff_effects[j] >= 0; j++) - set_bit(lg4ff_devices[i].ff_effects[j], dev->ffbit); + if (lg4ff_devices[i].ff_effects[j] < FF_CNT) + set_bit(lg4ff_devices[i].ff_effects[j], dev->ffbit); + else + goto err_init; error = input_ff_create_memless(dev, NULL, lg4ff_play);