diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-01-23 10:22:22 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-01-23 10:22:22 -0500 |
commit | f167e302c6a1321ae9f4d3a24a6e5bac90a5c79d (patch) | |
tree | e593caf82564aee3aef76127ae861dacf6ac1196 /drivers/media/dvb-frontends/mb86a20s.c | |
parent | f66d81b54dac26d4e601d4d7faca53f3bdc98427 (diff) |
[media] mb86a20s: don't use state before initializing it
As reported by Feng's kbuild test:
From: kbuild test robot <fengguang.wu@intel.com>
Subject: drivers/media/dvb-frontends/mb86a20s.c:706 mb86a20s_attach() error: potential null dereference 'state'. (kzalloc returns null)
Date: Wed, 23 Jan 2013 19:30:43 +0800
commit: f66d81b54dac26d4e601d4d7faca53f3bdc98427 [media] mb86a20s: convert it to use dev_info/dev_err/dev_dbg
drivers/media/dvb-frontends/mb86a20s.c:706 mb86a20s_attach() error: potential null dereference 'state'. (kzalloc returns null)
drivers/media/dvb-frontends/mb86a20s.c:706 mb86a20s_attach() error: we previously assumed 'state' could be null (see line 705)
As, at mb86a20s_attach(), we have an i2c pointer, use it for all printk
messages there, instead of state->i2c.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb-frontends/mb86a20s.c')
-rw-r--r-- | drivers/media/dvb-frontends/mb86a20s.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/media/dvb-frontends/mb86a20s.c b/drivers/media/dvb-frontends/mb86a20s.c index c52ae2ea0bf9..4b3ffc418294 100644 --- a/drivers/media/dvb-frontends/mb86a20s.c +++ b/drivers/media/dvb-frontends/mb86a20s.c | |||
@@ -698,12 +698,12 @@ struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, | |||
698 | struct mb86a20s_state *state; | 698 | struct mb86a20s_state *state; |
699 | u8 rev; | 699 | u8 rev; |
700 | 700 | ||
701 | dev_dbg(&i2c->dev, "%s called.\n", __func__); | ||
702 | |||
701 | /* allocate memory for the internal state */ | 703 | /* allocate memory for the internal state */ |
702 | state = kzalloc(sizeof(struct mb86a20s_state), GFP_KERNEL); | 704 | state = kzalloc(sizeof(struct mb86a20s_state), GFP_KERNEL); |
703 | |||
704 | dev_dbg(&state->i2c->dev, "%s called.\n", __func__); | ||
705 | if (state == NULL) { | 705 | if (state == NULL) { |
706 | dev_err(&state->i2c->dev, | 706 | dev_err(&i2c->dev, |
707 | "%s: unable to allocate memory for state\n", __func__); | 707 | "%s: unable to allocate memory for state\n", __func__); |
708 | goto error; | 708 | goto error; |
709 | } | 709 | } |
@@ -721,10 +721,10 @@ struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, | |||
721 | rev = mb86a20s_readreg(state, 0); | 721 | rev = mb86a20s_readreg(state, 0); |
722 | 722 | ||
723 | if (rev == 0x13) { | 723 | if (rev == 0x13) { |
724 | dev_info(&state->i2c->dev, | 724 | dev_info(&i2c->dev, |
725 | "Detected a Fujitsu mb86a20s frontend\n"); | 725 | "Detected a Fujitsu mb86a20s frontend\n"); |
726 | } else { | 726 | } else { |
727 | dev_dbg(&state->i2c->dev, | 727 | dev_dbg(&i2c->dev, |
728 | "Frontend revision %d is unknown - aborting.\n", | 728 | "Frontend revision %d is unknown - aborting.\n", |
729 | rev); | 729 | rev); |
730 | goto error; | 730 | goto error; |