ARM: OMAP: Release i2c_adapter after use (Siemens SX1)
Each call to i2c_get_adapter() must be followed by a call to i2c_put_adapter() to release the grabbed reference. Otherwise the reference count grows forever and the adapter can never be unregistered. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Vladimir Ananiev <vovan888@gmail.com> Acked-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Родитель
4fa2b1cde0
Коммит
c9a2c46d7f
|
@ -61,6 +61,7 @@ int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
|
|||
data[0] = regoffset; /* register num */
|
||||
data[1] = value; /* register data */
|
||||
err = i2c_transfer(adap, msg, 1);
|
||||
i2c_put_adapter(adap);
|
||||
if (err >= 0)
|
||||
return 0;
|
||||
return err;
|
||||
|
@ -91,6 +92,7 @@ int sx1_i2c_read_byte(u8 devaddr, u8 regoffset, u8 *value)
|
|||
msg->buf = data;
|
||||
err = i2c_transfer(adap, msg, 1);
|
||||
*value = data[0];
|
||||
i2c_put_adapter(adap);
|
||||
|
||||
if (err >= 0)
|
||||
return 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче