diff options
author | Andy Walls <awalls@radix.net> | 2008-05-26 01:31:17 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-06-05 06:35:44 -0300 |
commit | 3b4a9714f43a1d675a4352260a12daae197f37c3 (patch) | |
tree | a095208ac75a02bf70ed33d4f4440ebaa354276e /drivers | |
parent | 5cf3f5cd1f6ee0d81b75c659c732dd8dd245a350 (diff) | |
download | kernel-crypto-3b4a9714f43a1d675a4352260a12daae197f37c3.tar.gz kernel-crypto-3b4a9714f43a1d675a4352260a12daae197f37c3.tar.xz kernel-crypto-3b4a9714f43a1d675a4352260a12daae197f37c3.zip |
V4L/DVB (7922): tuner-simple: fix tuner_warn() induced kernel oops in simple_tuner_attach()
The tuner_warn() macro relies on the local variable "priv" to be a valid
pointer. There was a case in simple_tuner_attach() where this cannot be the
case yet, so tuner_warn() would dereference a NULL "priv" pointer. Changed
the tuner_warn() to a printk() with the originally intended output format.
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/common/tuners/tuner-simple.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/common/tuners/tuner-simple.c b/drivers/media/common/tuners/tuner-simple.c index be8d903171b..266c255cf0d 100644 --- a/drivers/media/common/tuners/tuner-simple.c +++ b/drivers/media/common/tuners/tuner-simple.c @@ -1018,8 +1018,10 @@ struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe, fe->ops.i2c_gate_ctrl(fe, 1); if (1 != i2c_transfer(i2c_adap, &msg, 1)) - tuner_warn("unable to probe %s, proceeding anyway.", - tuners[type].name); + printk(KERN_WARNING "tuner-simple %d-%04x: " + "unable to probe %s, proceeding anyway.", + i2c_adapter_id(i2c_adap), i2c_addr, + tuners[type].name); if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); |