Message ID | 20170622040122.GA7161@embeddedgus (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Gustavi, On Wed, Jun 21, 2017 at 11:01:22PM -0500, Gustavo A. R. Silva wrote: > Check return value from call to core->write(), so in case of > error print error message, jump to goto label fail and eventually > return. > > Addresses-Coverity-ID: 1226943 > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> > --- > drivers/media/radio/radio-wl1273.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c > index 7240223..17e82a9 100644 > --- a/drivers/media/radio/radio-wl1273.c > +++ b/drivers/media/radio/radio-wl1273.c > @@ -610,10 +610,21 @@ static int wl1273_fm_start(struct wl1273_device *radio, int new_mode) > } > } > > - if (radio->rds_on) > + if (radio->rds_on) { > r = core->write(core, WL1273_RDS_DATA_ENB, 1); > - else > + if (r) { > + dev_err(dev, "%s: RDS_DATA_ENB ON fails\n", > + __func__); > + goto fail; > + } > + } else { > r = core->write(core, WL1273_RDS_DATA_ENB, 0); > + if (r) { > + dev_err(dev, "%s: RDS_DATA_ENB OFF fails\n", > + __func__); > + goto fail; > + } > + } > } else { > dev_warn(dev, "%s: Illegal mode.\n", __func__); > } An alternative that duplicates less code (untested): r = core->write(core, WL1273_RDS_DATA_ENB, !!radio->rds_on); if (r) { dev_err(dev, "%s: RDS_DATA_ENB %s fails\n", __func__, radio->rds_on ? "ON" : "OFF"); goto fail; } baruch
diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c index 7240223..17e82a9 100644 --- a/drivers/media/radio/radio-wl1273.c +++ b/drivers/media/radio/radio-wl1273.c @@ -610,10 +610,21 @@ static int wl1273_fm_start(struct wl1273_device *radio, int new_mode) } } - if (radio->rds_on) + if (radio->rds_on) { r = core->write(core, WL1273_RDS_DATA_ENB, 1); - else + if (r) { + dev_err(dev, "%s: RDS_DATA_ENB ON fails\n", + __func__); + goto fail; + } + } else { r = core->write(core, WL1273_RDS_DATA_ENB, 0); + if (r) { + dev_err(dev, "%s: RDS_DATA_ENB OFF fails\n", + __func__); + goto fail; + } + } } else { dev_warn(dev, "%s: Illegal mode.\n", __func__); }
Check return value from call to core->write(), so in case of error print error message, jump to goto label fail and eventually return. Addresses-Coverity-ID: 1226943 Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> --- drivers/media/radio/radio-wl1273.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)