cxd2820r: fix gpio null pointer dereference
commit0ffb94b6ccupstream. Setting GPIOs during probe causes null pointer deference when GPIOLIB was not selected by Kconfig. Initialize driver private field before calling set gpios. It is regressing bug since 4.9. Fixes:07fdf7d9f1("[media] cxd2820r: add I2C driver bindings") Reported-by: Chris Rankin <rankincj@gmail.com> Tested-by: Chris Rankin <rankincj@gmail.com> Tested-by: Håkan Lennestål <hakan.lennestal@gmail.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7e5b7798d0
commit
238442c2b5
@ -615,6 +615,7 @@ static int cxd2820r_probe(struct i2c_client *client,
|
||||
}
|
||||
|
||||
priv->client[0] = client;
|
||||
priv->fe.demodulator_priv = priv;
|
||||
priv->i2c = client->adapter;
|
||||
priv->ts_mode = pdata->ts_mode;
|
||||
priv->ts_clk_inv = pdata->ts_clk_inv;
|
||||
@ -697,7 +698,6 @@ static int cxd2820r_probe(struct i2c_client *client,
|
||||
memcpy(&priv->fe.ops, &cxd2820r_ops, sizeof(priv->fe.ops));
|
||||
if (!pdata->attach_in_use)
|
||||
priv->fe.ops.release = NULL;
|
||||
priv->fe.demodulator_priv = priv;
|
||||
i2c_set_clientdata(client, priv);
|
||||
|
||||
/* Setup callbacks */
|
||||
|
||||
Reference in New Issue
Block a user