From 4fc578768c81f2dd20eee037eaf1be44a19779b2 Mon Sep 17 00:00:00 2001 From: Antti Palosaari Date: Sun, 8 Dec 2013 19:19:11 -0300 Subject: [PATCH] [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 --- drivers/media/dvb-frontends/m88ds3103.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.30.2