1
0
Fork 0

i2c: remove check that can never be true

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>
zero-sugar-mainline-defconfig
Uwe Kleine-König 2020-11-26 08:23:31 +01:00 committed by Wolfram Sang
parent 71637c620a
commit 4e970a0ada
1 changed files with 1 additions and 4 deletions

View 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;