]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
i2c: remove check that can never be true
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 26 Nov 2020 07:23:31 +0000 (08:23 +0100)
committerWolfram Sang <wsa@kernel.org>
Fri, 11 Dec 2020 14:43:49 +0000 (15:43 +0100)
A driver remove callback is only called if the device was bound before.
So it's sure that both dev and dev->driver are valid and dev is an i2c
device. If the check fails something louder than "return 0" might be
appropriate because the problem is grave (something like memory
corruption), otherwise the check is useless.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/i2c-core-base.c

index 6528d9e8f3aea3323b0cb66e91790806c440b9cf..63ebf722a42484d0c2e54a9a92a30638c9850f37 100644 (file)
@@ -549,12 +549,9 @@ put_sync_adapter:
 
 static int i2c_device_remove(struct device *dev)
 {
-       struct i2c_client       *client = i2c_verify_client(dev);
+       struct i2c_client       *client = to_i2c_client(dev);
        struct i2c_driver       *driver;
 
-       if (!client || !dev->driver)
-               return 0;
-
        driver = to_i2c_driver(dev->driver);
        if (driver->remove) {
                int status;