| From 0ffb94b6cc5df6376ab6bff5b80075641f6716f8 Mon Sep 17 00:00:00 2001 |
| From: Antti Palosaari <crope@iki.fi> |
| Date: Mon, 16 Jan 2017 19:27:41 -0200 |
| Subject: [media] cxd2820r: fix gpio null pointer dereference |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Antti Palosaari <crope@iki.fi> |
| |
| commit 0ffb94b6cc5df6376ab6bff5b80075641f6716f8 upstream. |
| |
| 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: 07fdf7d9f19f ("[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> |
| |
| --- |
| drivers/media/dvb-frontends/cxd2820r_core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/media/dvb-frontends/cxd2820r_core.c |
| +++ b/drivers/media/dvb-frontends/cxd2820r_core.c |
| @@ -615,6 +615,7 @@ static int cxd2820r_probe(struct i2c_cli |
| } |
| |
| 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_cli |
| 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 */ |