[PATCH] i2c: Handle i2c_add_adapter failure in i2c algorithm drivers
Content-Disposition: inline; filename=i2c-algo-error-handling-fix.patch It is possible for i2c_add_adapter() to fail. Several I2C algorithm drivers ignore that fact. This (compile-tested only) patch fixes them. Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
5d925fecac
commit
b39ad0cf7c
@ -544,8 +544,7 @@ int i2c_bit_add_bus(struct i2c_adapter *adap)
|
||||
adap->timeout = 100; /* default values, should */
|
||||
adap->retries = 3; /* be replaced by defines */
|
||||
|
||||
i2c_add_adapter(adap);
|
||||
return 0;
|
||||
return i2c_add_adapter(adap);
|
||||
}
|
||||
|
||||
|
||||
|
@ -742,10 +742,8 @@ int i2c_iic_add_bus(struct i2c_adapter *adap)
|
||||
adap->retries = 3; /* be replaced by defines */
|
||||
adap->flags = 0;
|
||||
|
||||
i2c_add_adapter(adap);
|
||||
iic_init(iic_adap);
|
||||
|
||||
return 0;
|
||||
return i2c_add_adapter(adap);
|
||||
}
|
||||
|
||||
|
||||
|
@ -374,10 +374,10 @@ int i2c_pca_add_bus(struct i2c_adapter *adap)
|
||||
adap->timeout = 100; /* default values, should */
|
||||
adap->retries = 3; /* be replaced by defines */
|
||||
|
||||
rval = pca_init(pca_adap);
|
||||
if ((rval = pca_init(pca_adap)))
|
||||
return rval;
|
||||
|
||||
if (!rval)
|
||||
i2c_add_adapter(adap);
|
||||
rval = i2c_add_adapter(adap);
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
@ -479,9 +479,11 @@ int i2c_pcf_add_bus(struct i2c_adapter *adap)
|
||||
adap->timeout = 100; /* default values, should */
|
||||
adap->retries = 3; /* be replaced by defines */
|
||||
|
||||
rval = pcf_init_8584(pcf_adap);
|
||||
if (!rval)
|
||||
i2c_add_adapter(adap);
|
||||
if ((rval = pcf_init_8584(pcf_adap)))
|
||||
return rval;
|
||||
|
||||
rval = i2c_add_adapter(adap);
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
||||
|
@ -173,9 +173,7 @@ int i2c_sibyte_add_bus(struct i2c_adapter *i2c_adap, int speed)
|
||||
printk("\n");
|
||||
}
|
||||
|
||||
i2c_add_adapter(i2c_adap);
|
||||
|
||||
return 0;
|
||||
return i2c_add_adapter(i2c_adap);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user