diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-03-23 07:59:38 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-03-23 07:59:38 +0100 |
commit | baca54d956f77be9abc487bcdddf7a2a1fbbda1b (patch) | |
tree | 4dbd646d7f533c2c741ecb428563a84f5af8ceec /drivers/i2c/i2c-core-acpi.c | |
parent | 217fb361167d4e108b9076e826a6d9624252696a (diff) | |
parent | 16fbf79b0f83bc752cee8589279f1ebfe57b3b6e (diff) |
Merge 5.6-rc7 into char-misc-next
We need the char/misc driver fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/i2c/i2c-core-acpi.c')
-rw-r--r-- | drivers/i2c/i2c-core-acpi.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index 8f3dbc97a057..8b0ff780919b 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -394,9 +394,17 @@ EXPORT_SYMBOL_GPL(i2c_acpi_find_adapter_by_handle); static struct i2c_client *i2c_acpi_find_client_by_adev(struct acpi_device *adev) { struct device *dev; + struct i2c_client *client; dev = bus_find_device_by_acpi_dev(&i2c_bus_type, adev); - return dev ? i2c_verify_client(dev) : NULL; + if (!dev) + return NULL; + + client = i2c_verify_client(dev); + if (!client) + put_device(dev); + + return client; } static int i2c_acpi_notify(struct notifier_block *nb, unsigned long value, |