mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
i2c: core: Check for error pointer for fwnode
Theoretically it's possible that fwnode is returned by some API, that may return an error pointer (and we have, for example, fwnode_find_reference() which does that). If such an fwnode is supplied to the i2c core APIs the functions will perform unneeded loops and checks. Avoid this by preventively checking for an error pointer and bail out immediately. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
This commit is contained in:
parent
aa1292d109
commit
1a1c74b66a
|
|
@ -1090,7 +1090,7 @@ struct i2c_client *i2c_find_device_by_fwnode(struct fwnode_handle *fwnode)
|
|||
struct i2c_client *client;
|
||||
struct device *dev;
|
||||
|
||||
if (!fwnode)
|
||||
if (IS_ERR_OR_NULL(fwnode))
|
||||
return NULL;
|
||||
|
||||
dev = bus_find_device_by_fwnode(&i2c_bus_type, fwnode);
|
||||
|
|
@ -1875,7 +1875,7 @@ struct i2c_adapter *i2c_find_adapter_by_fwnode(struct fwnode_handle *fwnode)
|
|||
struct i2c_adapter *adapter;
|
||||
struct device *dev;
|
||||
|
||||
if (!fwnode)
|
||||
if (IS_ERR_OR_NULL(fwnode))
|
||||
return NULL;
|
||||
|
||||
dev = bus_find_device(&i2c_bus_type, NULL, fwnode,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user