HID: i2c-hid: exit if the IRQ is not valid
When i2c-core doesn't find the IRQ associated to the GPIO because the gpiochip is not available, it assigns -EPROBE_DEFER to the irq. We need to bail out there and on any other error in an IRQ. Signed-off-by: David Arcari <darcari@redhat.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
ba18a9314a
commit
93d26aeab5
1 changed files with 7 additions and 0 deletions
|
@ -956,6 +956,13 @@ static int i2c_hid_probe(struct i2c_client *client,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (client->irq < 0) {
|
||||
if (client->irq != -EPROBE_DEFER)
|
||||
dev_err(&client->dev,
|
||||
"HID over i2c doesn't have a valid IRQ\n");
|
||||
return client->irq;
|
||||
}
|
||||
|
||||
ihid = kzalloc(sizeof(struct i2c_hid), GFP_KERNEL);
|
||||
if (!ihid)
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in a new issue