From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: drivers/dma/idxd/device.c:370 idxd_cmd_exec() warn: mixing irqsave and irq
Date: Thu, 5 Dec 2024 02:47:14 +0800 [thread overview]
Message-ID: <202412050237.MXIHJMPC-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Dave Jiang <dave.jiang@intel.com>
CC: Vinod Koul <vkoul@kernel.org>
CC: Tony Luck <tony.luck@intel.com>
CC: Dan Williams <dan.j.williams@intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: feffde684ac29a3b7aec82d2df850fbdbdee55e4
commit: 0d5c10b4c84d6ae6255129e5f16a0d2119c74334 dmaengine: idxd: add work queue drain support
date: 4 years, 5 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 4 years, 5 months ago
config: x86_64-randconfig-161-20241112 (https://download.01.org/0day-ci/archive/20241205/202412050237.MXIHJMPC-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202412050237.MXIHJMPC-lkp@intel.com/
smatch warnings:
drivers/dma/idxd/device.c:370 idxd_cmd_exec() warn: mixing irqsave and irq
vim +370 drivers/dma/idxd/device.c
bfe1d56091c1a4 Dave Jiang 2020-01-21 356
0d5c10b4c84d6a Dave Jiang 2020-06-26 357 static void idxd_cmd_exec(struct idxd_device *idxd, int cmd_code, u32 operand,
0d5c10b4c84d6a Dave Jiang 2020-06-26 358 u32 *status)
bfe1d56091c1a4 Dave Jiang 2020-01-21 359 {
bfe1d56091c1a4 Dave Jiang 2020-01-21 360 union idxd_command_reg cmd;
0d5c10b4c84d6a Dave Jiang 2020-06-26 361 DECLARE_COMPLETION_ONSTACK(done);
0d5c10b4c84d6a Dave Jiang 2020-06-26 362 unsigned long flags;
bfe1d56091c1a4 Dave Jiang 2020-01-21 363
bfe1d56091c1a4 Dave Jiang 2020-01-21 364 memset(&cmd, 0, sizeof(cmd));
bfe1d56091c1a4 Dave Jiang 2020-01-21 365 cmd.cmd = cmd_code;
bfe1d56091c1a4 Dave Jiang 2020-01-21 366 cmd.operand = operand;
0d5c10b4c84d6a Dave Jiang 2020-06-26 367 cmd.int_req = 1;
0d5c10b4c84d6a Dave Jiang 2020-06-26 368
0d5c10b4c84d6a Dave Jiang 2020-06-26 369 spin_lock_irqsave(&idxd->dev_lock, flags);
0d5c10b4c84d6a Dave Jiang 2020-06-26 @370 wait_event_lock_irq(idxd->cmd_waitq,
0d5c10b4c84d6a Dave Jiang 2020-06-26 371 !test_bit(IDXD_FLAG_CMD_RUNNING, &idxd->flags),
0d5c10b4c84d6a Dave Jiang 2020-06-26 372 idxd->dev_lock);
0d5c10b4c84d6a Dave Jiang 2020-06-26 373
bfe1d56091c1a4 Dave Jiang 2020-01-21 374 dev_dbg(&idxd->pdev->dev, "%s: sending cmd: %#x op: %#x\n",
bfe1d56091c1a4 Dave Jiang 2020-01-21 375 __func__, cmd_code, operand);
0d5c10b4c84d6a Dave Jiang 2020-06-26 376
0d5c10b4c84d6a Dave Jiang 2020-06-26 377 __set_bit(IDXD_FLAG_CMD_RUNNING, &idxd->flags);
0d5c10b4c84d6a Dave Jiang 2020-06-26 378 idxd->cmd_done = &done;
bfe1d56091c1a4 Dave Jiang 2020-01-21 379 iowrite32(cmd.bits, idxd->reg_base + IDXD_CMD_OFFSET);
bfe1d56091c1a4 Dave Jiang 2020-01-21 380
0d5c10b4c84d6a Dave Jiang 2020-06-26 381 /*
0d5c10b4c84d6a Dave Jiang 2020-06-26 382 * After command submitted, release lock and go to sleep until
0d5c10b4c84d6a Dave Jiang 2020-06-26 383 * the command completes via interrupt.
0d5c10b4c84d6a Dave Jiang 2020-06-26 384 */
0d5c10b4c84d6a Dave Jiang 2020-06-26 385 spin_unlock_irqrestore(&idxd->dev_lock, flags);
0d5c10b4c84d6a Dave Jiang 2020-06-26 386 wait_for_completion(&done);
0d5c10b4c84d6a Dave Jiang 2020-06-26 387 spin_lock_irqsave(&idxd->dev_lock, flags);
0d5c10b4c84d6a Dave Jiang 2020-06-26 388 if (status)
0d5c10b4c84d6a Dave Jiang 2020-06-26 389 *status = ioread32(idxd->reg_base + IDXD_CMDSTS_OFFSET);
0d5c10b4c84d6a Dave Jiang 2020-06-26 390 __clear_bit(IDXD_FLAG_CMD_RUNNING, &idxd->flags);
0d5c10b4c84d6a Dave Jiang 2020-06-26 391 /* Wake up other pending commands */
0d5c10b4c84d6a Dave Jiang 2020-06-26 392 wake_up(&idxd->cmd_waitq);
0d5c10b4c84d6a Dave Jiang 2020-06-26 393 spin_unlock_irqrestore(&idxd->dev_lock, flags);
bfe1d56091c1a4 Dave Jiang 2020-01-21 394 }
bfe1d56091c1a4 Dave Jiang 2020-01-21 395
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2024-12-04 18:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-04 18:47 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-12-05 7:53 drivers/dma/idxd/device.c:370 idxd_cmd_exec() warn: mixing irqsave and irq Dan Carpenter
2024-12-09 14:12 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202412050237.MXIHJMPC-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.