From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: drivers/i3c/master/svc-i3c-master.c:566 svc_i3c_master_ibi_isr() error: uninitialized symbol 'dev'.
Date: Sat, 13 Dec 2025 10:13:27 +0800 [thread overview]
Message-ID: <202512131016.YCKIsDXM-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Stanley Chu <yschu@nuvoton.com>
CC: Alexandre Belloni <alexandre.belloni@bootlin.com>
CC: Frank Li <Frank.Li@nxp.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 187d0801404f415f22c0b31531982c7ea97fa341
commit: 8d29fa6d921ca4f9f63f73598833e53ece1d3b4e i3c: master: svc: Receive IBI requests in interrupt context
date: 7 months ago
:::::: branch date: 16 hours ago
:::::: commit date: 7 months ago
config: x86_64-randconfig-161-20251212 (https://download.01.org/0day-ci/archive/20251213/202512131016.YCKIsDXM-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.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/202512131016.YCKIsDXM-lkp@intel.com/
New smatch warnings:
drivers/i3c/master/svc-i3c-master.c:566 svc_i3c_master_ibi_isr() error: uninitialized symbol 'dev'.
Old smatch warnings:
drivers/i3c/master/svc-i3c-master.c:566 svc_i3c_master_ibi_isr() error: we previously assumed 'dev' could be null (see line 541)
drivers/i3c/master/svc-i3c-master.c:1476 svc_i3c_master_start_xfer_locked() error: uninitialized symbol 'ret'.
vim +/dev +566 drivers/i3c/master/svc-i3c-master.c
e22405a812a11e Frank Li 2024-10-02 487
8d29fa6d921ca4 Stanley Chu 2025-04-15 488 static void svc_i3c_master_ibi_isr(struct svc_i3c_master *master)
dd3c52846d5954 Miquel Raynal 2021-01-21 489 {
dd3c52846d5954 Miquel Raynal 2021-01-21 490 struct svc_i3c_i2c_dev_data *data;
dd3c52846d5954 Miquel Raynal 2021-01-21 491 unsigned int ibitype, ibiaddr;
dd3c52846d5954 Miquel Raynal 2021-01-21 492 struct i3c_dev_desc *dev;
dd3c52846d5954 Miquel Raynal 2021-01-21 493 u32 status, val;
dd3c52846d5954 Miquel Raynal 2021-01-21 494 int ret;
dd3c52846d5954 Miquel Raynal 2021-01-21 495
f36f6624cbacb3 Frank Li 2024-10-02 496 /*
f36f6624cbacb3 Frank Li 2024-10-02 497 * According to I3C spec ver 1.1, 09-Jun-2021, section 5.1.2.5:
f36f6624cbacb3 Frank Li 2024-10-02 498 *
f36f6624cbacb3 Frank Li 2024-10-02 499 * The I3C Controller shall hold SCL low while the Bus is in ACK/NACK Phase of I3C/I2C
f36f6624cbacb3 Frank Li 2024-10-02 500 * transfer. But maximum stall time is 100us. The IRQs have to be disabled to prevent
f36f6624cbacb3 Frank Li 2024-10-02 501 * schedule during the whole I3C transaction, otherwise, the I3C bus timeout may happen if
f36f6624cbacb3 Frank Li 2024-10-02 502 * any irq or schedule happen during transaction.
f36f6624cbacb3 Frank Li 2024-10-02 503 */
8d29fa6d921ca4 Stanley Chu 2025-04-15 504 guard(spinlock)(&master->xferqueue.lock);
f36f6624cbacb3 Frank Li 2024-10-02 505
38baed9b860000 Frank Li 2024-05-06 506 /*
38baed9b860000 Frank Li 2024-05-06 507 * IBIWON may be set before SVC_I3C_MCTRL_REQUEST_AUTO_IBI, causing
38baed9b860000 Frank Li 2024-05-06 508 * readl_relaxed_poll_timeout() to return immediately. Consequently,
38baed9b860000 Frank Li 2024-05-06 509 * ibitype will be 0 since it was last updated only after the 8th SCL
38baed9b860000 Frank Li 2024-05-06 510 * cycle, leading to missed client IBI handlers.
38baed9b860000 Frank Li 2024-05-06 511 *
38baed9b860000 Frank Li 2024-05-06 512 * A typical scenario is when IBIWON occurs and bus arbitration is lost
38baed9b860000 Frank Li 2024-05-06 513 * at svc_i3c_master_priv_xfers().
38baed9b860000 Frank Li 2024-05-06 514 *
38baed9b860000 Frank Li 2024-05-06 515 * Clear SVC_I3C_MINT_IBIWON before sending SVC_I3C_MCTRL_REQUEST_AUTO_IBI.
38baed9b860000 Frank Li 2024-05-06 516 */
38baed9b860000 Frank Li 2024-05-06 517 writel(SVC_I3C_MINT_IBIWON, master->regs + SVC_I3C_MSTATUS);
38baed9b860000 Frank Li 2024-05-06 518
dd3c52846d5954 Miquel Raynal 2021-01-21 519 /* Acknowledge the incoming interrupt with the AUTOIBI mechanism */
dd3c52846d5954 Miquel Raynal 2021-01-21 520 writel(SVC_I3C_MCTRL_REQUEST_AUTO_IBI |
dd3c52846d5954 Miquel Raynal 2021-01-21 521 SVC_I3C_MCTRL_IBIRESP_AUTO,
dd3c52846d5954 Miquel Raynal 2021-01-21 522 master->regs + SVC_I3C_MCTRL);
dd3c52846d5954 Miquel Raynal 2021-01-21 523
dd3c52846d5954 Miquel Raynal 2021-01-21 524 /* Wait for IBIWON, should take approximately 100us */
f36f6624cbacb3 Frank Li 2024-10-02 525 ret = readl_relaxed_poll_timeout_atomic(master->regs + SVC_I3C_MSTATUS, val,
f36f6624cbacb3 Frank Li 2024-10-02 526 SVC_I3C_MSTATUS_IBIWON(val), 0, 100);
dd3c52846d5954 Miquel Raynal 2021-01-21 527 if (ret) {
dd3c52846d5954 Miquel Raynal 2021-01-21 528 dev_err(master->dev, "Timeout when polling for IBIWON\n");
dfd7cd6aafdb1f Frank Li 2023-10-23 529 svc_i3c_master_emit_stop(master);
8d29fa6d921ca4 Stanley Chu 2025-04-15 530 return;
dd3c52846d5954 Miquel Raynal 2021-01-21 531 }
dd3c52846d5954 Miquel Raynal 2021-01-21 532
dd3c52846d5954 Miquel Raynal 2021-01-21 533 status = readl(master->regs + SVC_I3C_MSTATUS);
dd3c52846d5954 Miquel Raynal 2021-01-21 534 ibitype = SVC_I3C_MSTATUS_IBITYPE(status);
dd3c52846d5954 Miquel Raynal 2021-01-21 535 ibiaddr = SVC_I3C_MSTATUS_IBIADDR(status);
dd3c52846d5954 Miquel Raynal 2021-01-21 536
dd3c52846d5954 Miquel Raynal 2021-01-21 537 /* Handle the critical responses to IBI's */
dd3c52846d5954 Miquel Raynal 2021-01-21 538 switch (ibitype) {
dd3c52846d5954 Miquel Raynal 2021-01-21 539 case SVC_I3C_MSTATUS_IBITYPE_IBI:
dd3c52846d5954 Miquel Raynal 2021-01-21 540 dev = svc_i3c_master_dev_from_addr(master, ibiaddr);
05b26c31a4859a Frank Li 2023-12-01 541 if (!dev || !is_events_enabled(master, SVC_I3C_EVENT_IBI))
dd3c52846d5954 Miquel Raynal 2021-01-21 542 svc_i3c_master_nack_ibi(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 543 else
dd3c52846d5954 Miquel Raynal 2021-01-21 544 svc_i3c_master_handle_ibi(master, dev);
dd3c52846d5954 Miquel Raynal 2021-01-21 545 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 546 case SVC_I3C_MSTATUS_IBITYPE_HOT_JOIN:
05b26c31a4859a Frank Li 2023-12-01 547 if (is_events_enabled(master, SVC_I3C_EVENT_HOTJOIN))
dd3c52846d5954 Miquel Raynal 2021-01-21 548 svc_i3c_master_ack_ibi(master, false);
05b26c31a4859a Frank Li 2023-12-01 549 else
05b26c31a4859a Frank Li 2023-12-01 550 svc_i3c_master_nack_ibi(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 551 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 552 case SVC_I3C_MSTATUS_IBITYPE_MASTER_REQUEST:
dd3c52846d5954 Miquel Raynal 2021-01-21 553 svc_i3c_master_nack_ibi(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 554 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 555 default:
dd3c52846d5954 Miquel Raynal 2021-01-21 556 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 557 }
dd3c52846d5954 Miquel Raynal 2021-01-21 558
dd3c52846d5954 Miquel Raynal 2021-01-21 559 /*
dd3c52846d5954 Miquel Raynal 2021-01-21 560 * If an error happened, we probably got interrupted and the exchange
dd3c52846d5954 Miquel Raynal 2021-01-21 561 * timedout. In this case we just drop everything, emit a stop and wait
dd3c52846d5954 Miquel Raynal 2021-01-21 562 * for the slave to interrupt again.
dd3c52846d5954 Miquel Raynal 2021-01-21 563 */
dd3c52846d5954 Miquel Raynal 2021-01-21 564 if (svc_i3c_master_error(master)) {
dd3c52846d5954 Miquel Raynal 2021-01-21 565 if (master->ibi.tbq_slot) {
dd3c52846d5954 Miquel Raynal 2021-01-21 @566 data = i3c_dev_get_master_data(dev);
dd3c52846d5954 Miquel Raynal 2021-01-21 567 i3c_generic_ibi_recycle_slot(data->ibi_pool,
dd3c52846d5954 Miquel Raynal 2021-01-21 568 master->ibi.tbq_slot);
dd3c52846d5954 Miquel Raynal 2021-01-21 569 master->ibi.tbq_slot = NULL;
dd3c52846d5954 Miquel Raynal 2021-01-21 570 }
dd3c52846d5954 Miquel Raynal 2021-01-21 571
dd3c52846d5954 Miquel Raynal 2021-01-21 572 svc_i3c_master_emit_stop(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 573
8d29fa6d921ca4 Stanley Chu 2025-04-15 574 return;
dd3c52846d5954 Miquel Raynal 2021-01-21 575 }
dd3c52846d5954 Miquel Raynal 2021-01-21 576
dd3c52846d5954 Miquel Raynal 2021-01-21 577 /* Handle the non critical tasks */
dd3c52846d5954 Miquel Raynal 2021-01-21 578 switch (ibitype) {
dd3c52846d5954 Miquel Raynal 2021-01-21 579 case SVC_I3C_MSTATUS_IBITYPE_IBI:
dd3c52846d5954 Miquel Raynal 2021-01-21 580 if (dev) {
dd3c52846d5954 Miquel Raynal 2021-01-21 581 i3c_master_queue_ibi(dev, master->ibi.tbq_slot);
dd3c52846d5954 Miquel Raynal 2021-01-21 582 master->ibi.tbq_slot = NULL;
dd3c52846d5954 Miquel Raynal 2021-01-21 583 }
dd3c52846d5954 Miquel Raynal 2021-01-21 584 svc_i3c_master_emit_stop(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 585 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 586 case SVC_I3C_MSTATUS_IBITYPE_HOT_JOIN:
05b26c31a4859a Frank Li 2023-12-01 587 svc_i3c_master_emit_stop(master);
05b26c31a4859a Frank Li 2023-12-01 588 if (is_events_enabled(master, SVC_I3C_EVENT_HOTJOIN))
dd3c52846d5954 Miquel Raynal 2021-01-21 589 queue_work(master->base.wq, &master->hj_work);
dd3c52846d5954 Miquel Raynal 2021-01-21 590 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 591 case SVC_I3C_MSTATUS_IBITYPE_MASTER_REQUEST:
0430bf9bc1ac06 Stanley Chu 2025-03-18 592 svc_i3c_master_emit_stop(master);
e8d2d287e26d9b Nathan Chancellor 2025-03-19 593 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 594 default:
dd3c52846d5954 Miquel Raynal 2021-01-21 595 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 596 }
dd3c52846d5954 Miquel Raynal 2021-01-21 597 }
dd3c52846d5954 Miquel Raynal 2021-01-21 598
:::::: The code at line 566 was first introduced by commit
:::::: dd3c52846d5954acd43f0e771689302f27dadc28 i3c: master: svc: Add Silvaco I3C master driver
:::::: TO: Miquel Raynal <miquel.raynal@bootlin.com>
:::::: CC: Alexandre Belloni <alexandre.belloni@bootlin.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, Stanley Chu <yschu@nuvoton.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Frank Li <Frank.Li@nxp.com>
Subject: drivers/i3c/master/svc-i3c-master.c:566 svc_i3c_master_ibi_isr() error: uninitialized symbol 'dev'.
Date: Mon, 15 Dec 2025 11:49:01 +0300 [thread overview]
Message-ID: <202512131016.YCKIsDXM-lkp@intel.com> (raw)
Message-ID: <20251215084901.anUHYgrVtVcQTmAlBUFqvDxUVN28GEMrBKzt68a1jns@z> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 187d0801404f415f22c0b31531982c7ea97fa341
commit: 8d29fa6d921ca4f9f63f73598833e53ece1d3b4e i3c: master: svc: Receive IBI requests in interrupt context
config: x86_64-randconfig-161-20251212 (https://download.01.org/0day-ci/archive/20251213/202512131016.YCKIsDXM-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.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 <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202512131016.YCKIsDXM-lkp@intel.com/
New smatch warnings:
drivers/i3c/master/svc-i3c-master.c:566 svc_i3c_master_ibi_isr() error: uninitialized symbol 'dev'.
vim +/dev +566 drivers/i3c/master/svc-i3c-master.c
8d29fa6d921ca4 Stanley Chu 2025-04-15 488 static void svc_i3c_master_ibi_isr(struct svc_i3c_master *master)
dd3c52846d5954 Miquel Raynal 2021-01-21 489 {
dd3c52846d5954 Miquel Raynal 2021-01-21 490 struct svc_i3c_i2c_dev_data *data;
dd3c52846d5954 Miquel Raynal 2021-01-21 491 unsigned int ibitype, ibiaddr;
dd3c52846d5954 Miquel Raynal 2021-01-21 492 struct i3c_dev_desc *dev;
dd3c52846d5954 Miquel Raynal 2021-01-21 493 u32 status, val;
dd3c52846d5954 Miquel Raynal 2021-01-21 494 int ret;
dd3c52846d5954 Miquel Raynal 2021-01-21 495
f36f6624cbacb3 Frank Li 2024-10-02 496 /*
f36f6624cbacb3 Frank Li 2024-10-02 497 * According to I3C spec ver 1.1, 09-Jun-2021, section 5.1.2.5:
f36f6624cbacb3 Frank Li 2024-10-02 498 *
f36f6624cbacb3 Frank Li 2024-10-02 499 * The I3C Controller shall hold SCL low while the Bus is in ACK/NACK Phase of I3C/I2C
f36f6624cbacb3 Frank Li 2024-10-02 500 * transfer. But maximum stall time is 100us. The IRQs have to be disabled to prevent
f36f6624cbacb3 Frank Li 2024-10-02 501 * schedule during the whole I3C transaction, otherwise, the I3C bus timeout may happen if
f36f6624cbacb3 Frank Li 2024-10-02 502 * any irq or schedule happen during transaction.
f36f6624cbacb3 Frank Li 2024-10-02 503 */
8d29fa6d921ca4 Stanley Chu 2025-04-15 504 guard(spinlock)(&master->xferqueue.lock);
f36f6624cbacb3 Frank Li 2024-10-02 505
38baed9b860000 Frank Li 2024-05-06 506 /*
38baed9b860000 Frank Li 2024-05-06 507 * IBIWON may be set before SVC_I3C_MCTRL_REQUEST_AUTO_IBI, causing
38baed9b860000 Frank Li 2024-05-06 508 * readl_relaxed_poll_timeout() to return immediately. Consequently,
38baed9b860000 Frank Li 2024-05-06 509 * ibitype will be 0 since it was last updated only after the 8th SCL
38baed9b860000 Frank Li 2024-05-06 510 * cycle, leading to missed client IBI handlers.
38baed9b860000 Frank Li 2024-05-06 511 *
38baed9b860000 Frank Li 2024-05-06 512 * A typical scenario is when IBIWON occurs and bus arbitration is lost
38baed9b860000 Frank Li 2024-05-06 513 * at svc_i3c_master_priv_xfers().
38baed9b860000 Frank Li 2024-05-06 514 *
38baed9b860000 Frank Li 2024-05-06 515 * Clear SVC_I3C_MINT_IBIWON before sending SVC_I3C_MCTRL_REQUEST_AUTO_IBI.
38baed9b860000 Frank Li 2024-05-06 516 */
38baed9b860000 Frank Li 2024-05-06 517 writel(SVC_I3C_MINT_IBIWON, master->regs + SVC_I3C_MSTATUS);
38baed9b860000 Frank Li 2024-05-06 518
dd3c52846d5954 Miquel Raynal 2021-01-21 519 /* Acknowledge the incoming interrupt with the AUTOIBI mechanism */
dd3c52846d5954 Miquel Raynal 2021-01-21 520 writel(SVC_I3C_MCTRL_REQUEST_AUTO_IBI |
dd3c52846d5954 Miquel Raynal 2021-01-21 521 SVC_I3C_MCTRL_IBIRESP_AUTO,
dd3c52846d5954 Miquel Raynal 2021-01-21 522 master->regs + SVC_I3C_MCTRL);
dd3c52846d5954 Miquel Raynal 2021-01-21 523
dd3c52846d5954 Miquel Raynal 2021-01-21 524 /* Wait for IBIWON, should take approximately 100us */
f36f6624cbacb3 Frank Li 2024-10-02 525 ret = readl_relaxed_poll_timeout_atomic(master->regs + SVC_I3C_MSTATUS, val,
f36f6624cbacb3 Frank Li 2024-10-02 526 SVC_I3C_MSTATUS_IBIWON(val), 0, 100);
dd3c52846d5954 Miquel Raynal 2021-01-21 527 if (ret) {
dd3c52846d5954 Miquel Raynal 2021-01-21 528 dev_err(master->dev, "Timeout when polling for IBIWON\n");
dfd7cd6aafdb1f Frank Li 2023-10-23 529 svc_i3c_master_emit_stop(master);
8d29fa6d921ca4 Stanley Chu 2025-04-15 530 return;
dd3c52846d5954 Miquel Raynal 2021-01-21 531 }
dd3c52846d5954 Miquel Raynal 2021-01-21 532
dd3c52846d5954 Miquel Raynal 2021-01-21 533 status = readl(master->regs + SVC_I3C_MSTATUS);
dd3c52846d5954 Miquel Raynal 2021-01-21 534 ibitype = SVC_I3C_MSTATUS_IBITYPE(status);
dd3c52846d5954 Miquel Raynal 2021-01-21 535 ibiaddr = SVC_I3C_MSTATUS_IBIADDR(status);
dd3c52846d5954 Miquel Raynal 2021-01-21 536
dd3c52846d5954 Miquel Raynal 2021-01-21 537 /* Handle the critical responses to IBI's */
dd3c52846d5954 Miquel Raynal 2021-01-21 538 switch (ibitype) {
dd3c52846d5954 Miquel Raynal 2021-01-21 539 case SVC_I3C_MSTATUS_IBITYPE_IBI:
dd3c52846d5954 Miquel Raynal 2021-01-21 540 dev = svc_i3c_master_dev_from_addr(master, ibiaddr);
Only initialized here.
05b26c31a4859a Frank Li 2023-12-01 541 if (!dev || !is_events_enabled(master, SVC_I3C_EVENT_IBI))
dd3c52846d5954 Miquel Raynal 2021-01-21 542 svc_i3c_master_nack_ibi(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 543 else
dd3c52846d5954 Miquel Raynal 2021-01-21 544 svc_i3c_master_handle_ibi(master, dev);
dd3c52846d5954 Miquel Raynal 2021-01-21 545 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 546 case SVC_I3C_MSTATUS_IBITYPE_HOT_JOIN:
05b26c31a4859a Frank Li 2023-12-01 547 if (is_events_enabled(master, SVC_I3C_EVENT_HOTJOIN))
dd3c52846d5954 Miquel Raynal 2021-01-21 548 svc_i3c_master_ack_ibi(master, false);
05b26c31a4859a Frank Li 2023-12-01 549 else
05b26c31a4859a Frank Li 2023-12-01 550 svc_i3c_master_nack_ibi(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 551 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 552 case SVC_I3C_MSTATUS_IBITYPE_MASTER_REQUEST:
dd3c52846d5954 Miquel Raynal 2021-01-21 553 svc_i3c_master_nack_ibi(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 554 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 555 default:
dd3c52846d5954 Miquel Raynal 2021-01-21 556 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 557 }
dd3c52846d5954 Miquel Raynal 2021-01-21 558
dd3c52846d5954 Miquel Raynal 2021-01-21 559 /*
dd3c52846d5954 Miquel Raynal 2021-01-21 560 * If an error happened, we probably got interrupted and the exchange
dd3c52846d5954 Miquel Raynal 2021-01-21 561 * timedout. In this case we just drop everything, emit a stop and wait
dd3c52846d5954 Miquel Raynal 2021-01-21 562 * for the slave to interrupt again.
dd3c52846d5954 Miquel Raynal 2021-01-21 563 */
dd3c52846d5954 Miquel Raynal 2021-01-21 564 if (svc_i3c_master_error(master)) {
dd3c52846d5954 Miquel Raynal 2021-01-21 565 if (master->ibi.tbq_slot) {
dd3c52846d5954 Miquel Raynal 2021-01-21 @566 data = i3c_dev_get_master_data(dev);
^^^
Do we know that ibitype is SVC_I3C_MSTATUS_IBITYPE_IBI here?
dd3c52846d5954 Miquel Raynal 2021-01-21 567 i3c_generic_ibi_recycle_slot(data->ibi_pool,
dd3c52846d5954 Miquel Raynal 2021-01-21 568 master->ibi.tbq_slot);
dd3c52846d5954 Miquel Raynal 2021-01-21 569 master->ibi.tbq_slot = NULL;
dd3c52846d5954 Miquel Raynal 2021-01-21 570 }
dd3c52846d5954 Miquel Raynal 2021-01-21 571
dd3c52846d5954 Miquel Raynal 2021-01-21 572 svc_i3c_master_emit_stop(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 573
8d29fa6d921ca4 Stanley Chu 2025-04-15 574 return;
dd3c52846d5954 Miquel Raynal 2021-01-21 575 }
dd3c52846d5954 Miquel Raynal 2021-01-21 576
dd3c52846d5954 Miquel Raynal 2021-01-21 577 /* Handle the non critical tasks */
dd3c52846d5954 Miquel Raynal 2021-01-21 578 switch (ibitype) {
dd3c52846d5954 Miquel Raynal 2021-01-21 579 case SVC_I3C_MSTATUS_IBITYPE_IBI:
dd3c52846d5954 Miquel Raynal 2021-01-21 580 if (dev) {
dd3c52846d5954 Miquel Raynal 2021-01-21 581 i3c_master_queue_ibi(dev, master->ibi.tbq_slot);
dd3c52846d5954 Miquel Raynal 2021-01-21 582 master->ibi.tbq_slot = NULL;
dd3c52846d5954 Miquel Raynal 2021-01-21 583 }
dd3c52846d5954 Miquel Raynal 2021-01-21 584 svc_i3c_master_emit_stop(master);
dd3c52846d5954 Miquel Raynal 2021-01-21 585 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 586 case SVC_I3C_MSTATUS_IBITYPE_HOT_JOIN:
05b26c31a4859a Frank Li 2023-12-01 587 svc_i3c_master_emit_stop(master);
05b26c31a4859a Frank Li 2023-12-01 588 if (is_events_enabled(master, SVC_I3C_EVENT_HOTJOIN))
dd3c52846d5954 Miquel Raynal 2021-01-21 589 queue_work(master->base.wq, &master->hj_work);
dd3c52846d5954 Miquel Raynal 2021-01-21 590 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 591 case SVC_I3C_MSTATUS_IBITYPE_MASTER_REQUEST:
0430bf9bc1ac06 Stanley Chu 2025-03-18 592 svc_i3c_master_emit_stop(master);
e8d2d287e26d9b Nathan Chancellor 2025-03-19 593 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 594 default:
dd3c52846d5954 Miquel Raynal 2021-01-21 595 break;
dd3c52846d5954 Miquel Raynal 2021-01-21 596 }
dd3c52846d5954 Miquel Raynal 2021-01-21 597 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-12-13 2:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-13 2:13 kernel test robot [this message]
2025-12-15 8:49 ` drivers/i3c/master/svc-i3c-master.c:566 svc_i3c_master_ibi_isr() error: uninitialized symbol 'dev' Dan Carpenter
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=202512131016.YCKIsDXM-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.