From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Delvare Subject: [PATCH] ARM: OMAP: Release i2c_adapter after use (Siemens SX1) Date: Sun, 24 Feb 2008 09:37:25 +0100 Message-ID: <20080224093725.0e059dc0@hyperion.delvare> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: i2c-bounces-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org Errors-To: i2c-bounces-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org To: Linux I2C , Vladimir Ananiev , Tony Lindgren List-Id: linux-i2c@vger.kernel.org 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 Acked-by: Vladimir Ananiev Cc: Tony Lindgren --- arch/arm/mach-omap1/board-sx1.c | 2 ++ 1 file changed, 2 insertions(+) --- linux-2.6.24-rc4.orig/arch/arm/mach-omap1/board-sx1.c 2007-10-24 09:59:18.000000000 +0200 +++ linux-2.6.24-rc4/arch/arm/mach-omap1/board-sx1.c 2007-12-07 11:56:22.000000000 +0100 @@ -61,6 +61,7 @@ int i2c_write_byte(u8 devaddr, u8 regoff 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 i2c_read_byte(u8 devaddr, u8 regoffs msg->buf = data; err = i2c_transfer(adap, msg, 1); *value = data[0]; + i2c_put_adapter(adap); if (err >= 0) return 0; -- Jean Delvare _______________________________________________ i2c mailing list i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org http://lists.lm-sensors.org/mailman/listinfo/i2c