For both variants (platform and i2c driver) after a successful bind
(i.e. .probe completed without error) driver data is set to a non-NULL
value.

So the return value of i2c_get_clientdata and dev_get_drvdata
respectively are not NULL and so the if blocks are never executed. (And
if you fear they might, they shouldn't return silently and yield a
resource leak.)

Signed-off-by: Uwe Kleine-König <[email protected]>
---
 drivers/char/ipmi/ipmi_ssif.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 4bfd1e306616..a0090ea54e48 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -1286,9 +1286,6 @@ static void ssif_remove(struct i2c_client *client)
        struct ssif_info *ssif_info = i2c_get_clientdata(client);
        struct ssif_addr_info *addr_info;
 
-       if (!ssif_info)
-               return;
-
        /*
         * After this point, we won't deliver anything asychronously
         * to the message handler.  We can unregister ourself.
@@ -2074,9 +2071,6 @@ static int ssif_platform_remove(struct platform_device 
*dev)
 {
        struct ssif_addr_info *addr_info = dev_get_drvdata(&dev->dev);
 
-       if (!addr_info)
-               return 0;
-
        mutex_lock(&ssif_infos_mutex);
        list_del(&addr_info->link);
        kfree(addr_info);
-- 
2.38.1



_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to