Re: [PATCH] iio: sca3000: Remove an erroneous 'get_device()'

From: Jonathan Cameron
Date: Sun May 10 2020 - 05:55:01 EST


On Fri, 8 May 2020 14:02:21 +0100
Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote:

> On Wed, 6 May 2020 19:31:38 +0200
> Marion & Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:
>
> > Le 06/05/2020 Ã 12:38, Andy Shevchenko a ÃcritÂ:
> > > On Wed, May 6, 2020 at 6:55 AM Christophe JAILLET
> > > <christophe.jaillet@xxxxxxxxxx> wrote:
> > >> This looks really unusual to have a 'get_device()' hidden in a 'dev_err()'
> > >> call.
> > >> Remove it.
> > >>
> > >> While at it add a missing \n at the end of the message.
> > >>
> > > It should have Fixes tag because it is a quite an issue (get_device()
> > > breaks reference counting with all problems we may expect).
> >
> > Agreed and I usually do, but here, I've lost track when this driver has
> > gone out of staging.
> >
> > Based on:
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/iio/accel/sca3000.c
> > The issue was already there on 2016/10/23, but when I try to go one step
> > further:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/staging/iio/accel/sca3000.c?id=2ccf61442ff142d2dde7c47471c2798a4d78b0ad
> > ^^^^ ÂÂÂÂÂÂÂ ^^^^^^^
> > works but if I try to see the log for that:
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/staging/iio/accel/sca3000.c
> > ^^^ÂÂÂÂÂÂÂÂ ^^^^^^^
> > is empty.
> >
> > Most of the time, when I do it like that it works just fine, but not on
> > this file.
>
> Oddity of the web interface. Edit the url to get a log form a commit
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/staging/iio/accel/sca3000.c?id=2ccf61442ff142d2dde7c47471c2798a4d78b0ad
> ^^^
> Then for more fun you have to deal with another rename
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/staging/iio/accel/?id=ced5c03d360aeebaac6faa7dd8d6d0a77733ab16
>
> Next bit of log...
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/drivers/staging/iio/accel/sca3000_ring.c?id=ced5c03d360aeebaac6faa7dd8d6d0a77733ab16
>
> It goes all the way..
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/staging/iio/accel/sca3000_core.c?id=574fb258d63658e4564c32c1940068a3bad666a0
>
> Fixes: 574fb258d636 ("Staging: IIO: VTI sca3000 series accelerometer driver (spi)")
>
> Which was in the initial IIO patch set nearly 11 years ago in the merge window for 2.6.32.
>
> What can I say - I was young and just as capable of writing dumb bugs as I am today :)
>
> I'll get this queued up when I'm on the right computer...

Applied to the fixes-togreg branch of iio.git.

Thanks,

Jonathan

>
> Thanks,
>
> Jonathan
>
>
> >
> > Any other way to navigate in history of moved file would be appreciated.
> >
> > CJ
> >
> > >
> > >> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> > >> ---
> > >> This patch is purely speculative.
> > >> I've looked a bit arround and see no point for this get_device() but other
> > >> eyes are welcomed :)
> > >> ---
> > >> drivers/iio/accel/sca3000.c | 2 +-
> > >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > >>
> > >> diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c
> > >> index 66d768d971e1..6e429072e44a 100644
> > >> --- a/drivers/iio/accel/sca3000.c
> > >> +++ b/drivers/iio/accel/sca3000.c
> > >> @@ -980,7 +980,7 @@ static int sca3000_read_data(struct sca3000_state *st,
> > >> st->tx[0] = SCA3000_READ_REG(reg_address_high);
> > >> ret = spi_sync_transfer(st->us, xfer, ARRAY_SIZE(xfer));
> > >> if (ret) {
> > >> - dev_err(get_device(&st->us->dev), "problem reading register");
> > >> + dev_err(&st->us->dev, "problem reading register\n");
> > >> return ret;
> > >> }
> > >>
> > >> --
> > >> 2.25.1
> > >>
> > >
>
>