On Tue, 9 Aug 2016, Mark Brown wrote:

> On Tue, Aug 09, 2016 at 06:19:13PM +0200, Julia Lawall wrote:
>
> > Looks worth checking.
>
> I don't really have any idea what this is trying to tell me, sorry.

The important lines are the ones with the @.  Line 1153 takes a lock and
in line 1160 there is a return in error handling code with the lock still
held.  The semantic patch that reported this should also only give a
report if there is some patch out of the function that releases the lock.
Overall, it seems unusual to keep the lock in an error case.

julia

>
> >
> > julia
> >
> > ---------- Forwarded message ----------
> > Date: Wed, 10 Aug 2016 00:17:07 +0800
> > From: kbuild test robot <fengguang...@intel.com>
> > To: kbu...@01.org
> > Cc: Julia Lawall <julia.law...@lip6.fr>
> > Subject: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153
> >
> > CC: kbuild-...@01.org
> > CC: linux-kernel@vger.kernel.org
> > TO: Mark Brown <broo...@kernel.org>
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
> > master
> > head:   81abf2525827b29839a78fd55ab0699f033c41a5
> > commit: ef4d96ec4ad947360f48677b6007a4c77953b090 spi: Split bus and I/O 
> > locking
> > date:   2 weeks ago
> > :::::: branch date: 18 hours ago
> > :::::: commit date: 2 weeks ago
> >
> > >> drivers/spi/spi.c:1160:3-9: preceding lock on line 1153
> >
> > git remote add linus 
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git remote update linus
> > git checkout ef4d96ec4ad947360f48677b6007a4c77953b090
> > vim +1160 drivers/spi/spi.c
> >
> > ffbbdd213 Linus Walleij 2012-02-22  1147    if (master->busy)
> > ffbbdd213 Linus Walleij 2012-02-22  1148            was_busy = true;
> > ffbbdd213 Linus Walleij 2012-02-22  1149    else
> > ffbbdd213 Linus Walleij 2012-02-22  1150            master->busy = true;
> > ffbbdd213 Linus Walleij 2012-02-22  1151    
> > spin_unlock_irqrestore(&master->queue_lock, flags);
> > ffbbdd213 Linus Walleij 2012-02-22  1152
> > ef4d96ec4 Mark Brown    2016-07-21 @1153    mutex_lock(&master->io_mutex);
> > ef4d96ec4 Mark Brown    2016-07-21  1154
> > 49834de23 Mark Brown    2013-07-28  1155    if (!was_busy && 
> > master->auto_runtime_pm) {
> > 49834de23 Mark Brown    2013-07-28  1156            ret = 
> > pm_runtime_get_sync(master->dev.parent);
> > 49834de23 Mark Brown    2013-07-28  1157            if (ret < 0) {
> > 49834de23 Mark Brown    2013-07-28  1158                    
> > dev_err(&master->dev, "Failed to power device: %d\n",
> > 49834de23 Mark Brown    2013-07-28  1159                            ret);
> > 49834de23 Mark Brown    2013-07-28 @1160                    return;
> > 49834de23 Mark Brown    2013-07-28  1161            }
> > 49834de23 Mark Brown    2013-07-28  1162    }
> > 49834de23 Mark Brown    2013-07-28  1163
> >
> > :::::: The code at line 1160 was first introduced by commit
> > :::::: 49834de234f3cf592c3d242c889ca603db8e7050 spi: Provide core support 
> > for runtime PM during transfers
> >
> > :::::: TO: Mark Brown <broo...@linaro.org>
> > :::::: CC: Mark Brown <broo...@linaro.org>
> >
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology 
> > Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel 
> > Corporation
>

Reply via email to