From: Antti Palosaari Date: Sun, 8 Dec 2013 22:19:11 +0000 (-0300) Subject: [media] m88ds3103: fix possible i2c deadlock X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=4fc578768c81f2dd20eee037eaf1be44a19779b2;p=openwrt%2Fstaging%2Fblogic.git [media] m88ds3103: fix possible i2c deadlock Adapter is locked by I2C core already. Use unlocked i2c_transfer() version __i2c_transfer() to avoid deadlock. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c index 76bd85aa8f4e..b5503ed02534 100644 --- a/drivers/media/dvb-frontends/m88ds3103.c +++ b/drivers/media/dvb-frontends/m88ds3103.c @@ -1159,7 +1159,7 @@ static int m88ds3103_select(struct i2c_adapter *adap, void *mux_priv, u32 chan) mutex_lock(&priv->i2c_mutex); /* open tuner I2C repeater for 1 xfer, closes automatically */ - ret = i2c_transfer(priv->i2c, gate_open_msg, 1); + ret = __i2c_transfer(priv->i2c, gate_open_msg, 1); if (ret != 1) { dev_warn(&priv->i2c->dev, "%s: i2c wr failed=%d\n", KBUILD_MODNAME, ret);