Re: [PATCH] spi: core: Fix deadlock when sending messages

From: kbuild test robot
Date: Tue Mar 08 2016 - 05:47:56 EST


Hi Jon,

[auto build test WARNING on spi/for-next]
[also build test WARNING on next-20160308]
[cannot apply to v4.5-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url: https://github.com/0day-ci/linux/commits/Jon-Hunter/spi-core-Fix-deadlock-when-sending-messages/20160308-175230
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi for-next
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

include/linux/init.h:1: warning: no structured comments found
kernel/sys.c:1: warning: no structured comments found
drivers/dma-buf/seqno-fence.c:1: warning: no structured comments found
drivers/dma-buf/reservation.c:1: warning: no structured comments found
include/linux/reservation.h:1: warning: no structured comments found
include/linux/spi/spi.h:933: error: Cannot parse struct or union!
>> drivers/spi/spi.c:1067: warning: No description found for parameter 'bus_locked'
drivers/spi/spi.c:2358: warning: No description found for parameter 'gfp'
>> drivers/spi/spi.c:1067: warning: No description found for parameter 'bus_locked'
drivers/spi/spi.c:2358: warning: No description found for parameter 'gfp'

vim +/bus_locked +1067 drivers/spi/spi.c

b158935f7 Mark Brown 2013-10-05 1051
ffbbdd213 Linus Walleij 2012-02-22 1052 /**
fc9e0f71f Mark Brown 2014-12-10 1053 * __spi_pump_messages - function which processes spi message queue
fc9e0f71f Mark Brown 2014-12-10 1054 * @master: master to process queue for
fc9e0f71f Mark Brown 2014-12-10 1055 * @in_kthread: true if we are in the context of the message pump thread
ffbbdd213 Linus Walleij 2012-02-22 1056 *
ffbbdd213 Linus Walleij 2012-02-22 1057 * This function checks if there is any spi message in the queue that
ffbbdd213 Linus Walleij 2012-02-22 1058 * needs processing and if so call out to the driver to initialize hardware
ffbbdd213 Linus Walleij 2012-02-22 1059 * and transfer each message.
ffbbdd213 Linus Walleij 2012-02-22 1060 *
0461a4149 Mark Brown 2014-12-09 1061 * Note that it is called both from the kthread itself and also from
0461a4149 Mark Brown 2014-12-09 1062 * inside spi_sync(); the queue extraction handling at the top of the
0461a4149 Mark Brown 2014-12-09 1063 * function should deal with this safely.
ffbbdd213 Linus Walleij 2012-02-22 1064 */
1f9706090 Jon Hunter 2016-03-08 1065 static void __spi_pump_messages(struct spi_master *master, bool in_kthread,
1f9706090 Jon Hunter 2016-03-08 1066 bool bus_locked)
ffbbdd213 Linus Walleij 2012-02-22 @1067 {
ffbbdd213 Linus Walleij 2012-02-22 1068 unsigned long flags;
ffbbdd213 Linus Walleij 2012-02-22 1069 bool was_busy = false;
ffbbdd213 Linus Walleij 2012-02-22 1070 int ret;
ffbbdd213 Linus Walleij 2012-02-22 1071
983aee5d7 Mark Brown 2014-12-09 1072 /* Lock queue */
ffbbdd213 Linus Walleij 2012-02-22 1073 spin_lock_irqsave(&master->queue_lock, flags);
983aee5d7 Mark Brown 2014-12-09 1074
983aee5d7 Mark Brown 2014-12-09 1075 /* Make sure we are not already running a message */

:::::: The code at line 1067 was first introduced by commit
:::::: ffbbdd21329f3e15eeca6df2d4bc11c04d9d91c0 spi: create a message queueing infrastructure

:::::: TO: Linus Walleij <linus.walleij@xxxxxxxxxx>
:::::: CC: Grant Likely <grant.likely@xxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: Binary data