When i2c_new_dummy fails, the lack of error-handling code may
cause unexpected results.
This patch adds error-handling code after calling i2c_new_dummy.
Signed-off-by: Zhouyang Jia <[email protected]>
---
drivers/gpio/gpio-max732x.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c
index 9d8bcc6..f03cb0b 100644
--- a/drivers/gpio/gpio-max732x.c
+++ b/drivers/gpio/gpio-max732x.c
@@ -653,6 +653,12 @@ static int max732x_probe(struct i2c_client *client,
chip->client_group_a = client;
if (nr_port > 8) {
c = i2c_new_dummy(client->adapter, addr_b);
+ if (!c) {
+ dev_err(&client->dev,
+ "Failed to allocate I2C device\n");
+ ret = -ENODEV;
+ goto out_failed;
+ }
chip->client_group_b = chip->client_dummy = c;
}
break;
@@ -660,6 +666,12 @@ static int max732x_probe(struct i2c_client *client,
chip->client_group_b = client;
if (nr_port > 8) {
c = i2c_new_dummy(client->adapter, addr_a);
+ if (!c) {
+ dev_err(&client->dev,
+ "Failed to allocate I2C device\n");
+ ret = -ENODEV;
+ goto out_failed;
+ }
chip->client_group_a = chip->client_dummy = c;
}
break;
--
2.7.4
On Tue, Jun 12, 2018 at 6:28 AM, Zhouyang Jia <[email protected]> wrote:
> When i2c_new_dummy fails, the lack of error-handling code may
> cause unexpected results.
What results?
Where is the analisys?
Would driver work w/o these dummy devices?
--
With Best Regards,
Andy Shevchenko
On Tue, Jun 12, 2018 at 5:28 AM, Zhouyang Jia <[email protected]> wrote:
> When i2c_new_dummy fails, the lack of error-handling code may
> cause unexpected results.
>
> This patch adds error-handling code after calling i2c_new_dummy.
>
> Signed-off-by: Zhouyang Jia <[email protected]>
Patch applied for non-critical fixes.
Yours,
Linus Walleij
On Thu, Jun 14, 2018 at 5:27 PM, Linus Walleij <[email protected]> wrote:
> On Tue, Jun 12, 2018 at 5:28 AM, Zhouyang Jia <[email protected]> wrote:
>
>> When i2c_new_dummy fails, the lack of error-handling code may
>> cause unexpected results.
>>
>> This patch adds error-handling code after calling i2c_new_dummy.
>>
>> Signed-off-by: Zhouyang Jia <[email protected]>
>
> Patch applied for non-critical fixes.
It might potentially be a regression if the driver used to work when
dummy device creation failed.
>
> Yours,
> Linus Walleij
--
With Best Regards,
Andy Shevchenko