From: kernel test robot <lkp@intel.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-media@vger.kernel.org
Subject: [sailus-media-tree:metadata 163/169] drivers/media/pci/intel/ipu6/ipu7-fw-isys.c:599:3: error: cannot jump from this goto statement to its label
Date: Mon, 14 Sep 2026 06:15:37 +0800 [thread overview]
Message-ID: <202609140614.KMCttn8e-lkp@intel.com> (raw)
tree: git://linuxtv.org/sailus/media_tree.git metadata
head: 357c2e168b861a3df80c68a9c44de9c9c282ec46
commit: 6757a837e28b868ce4068fb422f168f92ced6c1a [163/169] media: ipu6: Serialise access to stream pointers by isys stream_lock
config: i386-randconfig-012-20260913 (https://download.01.org/0day-ci/archive/20260914/202609140614.KMCttn8e-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260914/202609140614.KMCttn8e-lkp@intel.com/reproduce)
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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609140614.KMCttn8e-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/media/pci/intel/ipu6/ipu7-fw-isys.c:599:3: error: cannot jump from this goto statement to its label
599 | goto leave;
| ^
drivers/media/pci/intel/ipu6/ipu7-fw-isys.c:602:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
602 | guard(spinlock_irqsave)(&isys->streams_lock);
| ^
include/linux/cleanup.h:423:2: note: expanded from macro 'guard'
423 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/cleanup.h:303:3: note: expanded from macro 'CLASS'
303 | class_##_name##_constructor
| ^
<scratch space>:27:1: note: expanded from here
27 | class_spinlock_irqsave_constructor
| ^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
include/linux/compiler_types.h:15:24: note: expanded from macro '___PASTE'
15 | #define ___PASTE(a, b) a##b
| ^
<scratch space>:33:1: note: expanded from here
33 | __UNIQUE_ID_unlock_437
| ^
drivers/media/pci/intel/ipu6/ipu7-fw-isys.c:602:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
include/linux/cleanup.h:423:15: note: expanded from macro 'guard'
423 | CLASS(_name, __UNIQUE_ID(guard))
| ^
include/linux/compiler.h:165:2: note: expanded from macro '__UNIQUE_ID'
165 | __PASTE(__UNIQUE_ID_, \
| ^
include/linux/compiler_types.h:16:23: note: expanded from macro '__PASTE'
16 | #define __PASTE(a, b) ___PASTE(a, b)
| ^
include/linux/compiler_types.h:15:24: note: expanded from macro '___PASTE'
15 | #define ___PASTE(a, b) a##b
| ^
<scratch space>:21:1: note: expanded from here
21 | __UNIQUE_ID_guard_436
| ^
1 error generated.
vim +599 drivers/media/pci/intel/ipu6/ipu7-fw-isys.c
f268203d74ff25 Antti Laakso 2026-08-27 542
f268203d74ff25 Antti Laakso 2026-08-27 543 static int ipu7_isys_isr_one(struct ipu6_bus_device *adev)
f268203d74ff25 Antti Laakso 2026-08-27 544 {
f268203d74ff25 Antti Laakso 2026-08-27 545 struct ipu6_isys *isys = ipu6_bus_get_drvdata(adev);
f268203d74ff25 Antti Laakso 2026-08-27 546 struct ipu6_isys_stream *stream = NULL;
f268203d74ff25 Antti Laakso 2026-08-27 547 struct device *dev = &adev->auxdev.dev;
f268203d74ff25 Antti Laakso 2026-08-27 548 struct ipu6_isys_csi2 *csi2 = NULL;
f268203d74ff25 Antti Laakso 2026-08-27 549 struct ipu7_fw_isys_msg_err err_info;
f268203d74ff25 Antti Laakso 2026-08-27 550 struct isys_fw_msgs *isys_fw_msg;
f268203d74ff25 Antti Laakso 2026-08-27 551 struct ipu7_insys_resp *resp;
f268203d74ff25 Antti Laakso 2026-08-27 552 u64 ts;
f268203d74ff25 Antti Laakso 2026-08-27 553
f268203d74ff25 Antti Laakso 2026-08-27 554 if (!isys->fwctx)
f268203d74ff25 Antti Laakso 2026-08-27 555 return 1;
f268203d74ff25 Antti Laakso 2026-08-27 556
f268203d74ff25 Antti Laakso 2026-08-27 557 resp = ipu7_fw_isys_get_resp(isys);
f268203d74ff25 Antti Laakso 2026-08-27 558 if (!resp)
f268203d74ff25 Antti Laakso 2026-08-27 559 return 1;
f268203d74ff25 Antti Laakso 2026-08-27 560
f268203d74ff25 Antti Laakso 2026-08-27 561 if (resp->type >= N_IPU7_INSYS_RESP_TYPE) {
f268203d74ff25 Antti Laakso 2026-08-27 562 dev_err(dev, "Unknown response type %u stream %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 563 resp->type, resp->stream_id);
f268203d74ff25 Antti Laakso 2026-08-27 564 ipu7_fw_isys_put_resp(isys);
f268203d74ff25 Antti Laakso 2026-08-27 565 return 1;
f268203d74ff25 Antti Laakso 2026-08-27 566 }
f268203d74ff25 Antti Laakso 2026-08-27 567
f268203d74ff25 Antti Laakso 2026-08-27 568 err_info = resp->error_info;
f268203d74ff25 Antti Laakso 2026-08-27 569 ts = ((u64)resp->timestamp[1] << 32) | resp->timestamp[0];
f268203d74ff25 Antti Laakso 2026-08-27 570
f268203d74ff25 Antti Laakso 2026-08-27 571 if (err_info.err_group == INSYS_MSG_ERR_GROUP_CAPTURE &&
f268203d74ff25 Antti Laakso 2026-08-27 572 err_info.err_code == INSYS_MSG_ERR_CAPTURE_SYNC_FRAME_DROP) {
f268203d74ff25 Antti Laakso 2026-08-27 573 /* receive a sp w/o command, firmware drop it */
f268203d74ff25 Antti Laakso 2026-08-27 574 dev_dbg(dev, "FRAME DROP: %02u %s stream %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 575 resp->type, is_fw_msg[resp->type].msg,
f268203d74ff25 Antti Laakso 2026-08-27 576 resp->stream_id);
f268203d74ff25 Antti Laakso 2026-08-27 577 dev_dbg(dev, "\tpin %u buf_id %llx frame %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 578 resp->pin_id, resp->buf_id, resp->frame_id);
f268203d74ff25 Antti Laakso 2026-08-27 579 dev_dbg(dev, "\terror group %u code %u details [%u %u]\n",
f268203d74ff25 Antti Laakso 2026-08-27 580 err_info.err_group, err_info.err_code,
f268203d74ff25 Antti Laakso 2026-08-27 581 err_info.err_detail[0], err_info.err_detail[1]);
f268203d74ff25 Antti Laakso 2026-08-27 582 } else if (err_info.err_code) {
f268203d74ff25 Antti Laakso 2026-08-27 583 dev_err(dev, "%02u %s stream %u pin %u buf_id %llx frame %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 584 resp->type, is_fw_msg[resp->type].msg, resp->stream_id,
f268203d74ff25 Antti Laakso 2026-08-27 585 resp->pin_id, resp->buf_id, resp->frame_id);
f268203d74ff25 Antti Laakso 2026-08-27 586 dev_err(dev, "\terror group %u code %u details [%u %u]\n",
f268203d74ff25 Antti Laakso 2026-08-27 587 err_info.err_group, err_info.err_code,
f268203d74ff25 Antti Laakso 2026-08-27 588 err_info.err_detail[0], err_info.err_detail[1]);
f268203d74ff25 Antti Laakso 2026-08-27 589 } else {
f268203d74ff25 Antti Laakso 2026-08-27 590 dev_dbg(dev, "%02u %s stream %u pin %u buf_id %llx frame %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 591 resp->type, is_fw_msg[resp->type].msg, resp->stream_id,
f268203d74ff25 Antti Laakso 2026-08-27 592 resp->pin_id, resp->buf_id, resp->frame_id);
f268203d74ff25 Antti Laakso 2026-08-27 593 dev_dbg(dev, "\tts %llu\n", ts);
f268203d74ff25 Antti Laakso 2026-08-27 594 }
f268203d74ff25 Antti Laakso 2026-08-27 595
f268203d74ff25 Antti Laakso 2026-08-27 596 if (resp->stream_id >= IPU7_ISYS_MAX_STREAMS) {
f268203d74ff25 Antti Laakso 2026-08-27 597 dev_err(dev, "bad stream handle %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 598 resp->stream_id);
f268203d74ff25 Antti Laakso 2026-08-27 @599 goto leave;
f268203d74ff25 Antti Laakso 2026-08-27 600 }
f268203d74ff25 Antti Laakso 2026-08-27 601
6757a837e28b86 Sakari Ailus 2025-12-18 602 guard(spinlock_irqsave)(&isys->streams_lock);
6757a837e28b86 Sakari Ailus 2025-12-18 603
99f62d82955331 Sakari Ailus 2026-06-26 604 stream = resp->stream_id < IPU6_ISYS_MAX_STREAMS ?
99f62d82955331 Sakari Ailus 2026-06-26 605 isys->streams_by_handle[resp->stream_id] : NULL;
f268203d74ff25 Antti Laakso 2026-08-27 606 if (!stream) {
f268203d74ff25 Antti Laakso 2026-08-27 607 dev_err(dev, "stream of stream_handle %u is unused\n",
f268203d74ff25 Antti Laakso 2026-08-27 608 resp->stream_id);
f268203d74ff25 Antti Laakso 2026-08-27 609 goto leave;
f268203d74ff25 Antti Laakso 2026-08-27 610 }
f268203d74ff25 Antti Laakso 2026-08-27 611
f268203d74ff25 Antti Laakso 2026-08-27 612 stream->error = err_info.err_code;
f268203d74ff25 Antti Laakso 2026-08-27 613
f268203d74ff25 Antti Laakso 2026-08-27 614 if (stream->asd)
f268203d74ff25 Antti Laakso 2026-08-27 615 csi2 = ipu6_isys_subdev_to_csi2(stream->asd);
f268203d74ff25 Antti Laakso 2026-08-27 616
f268203d74ff25 Antti Laakso 2026-08-27 617 switch (resp->type) {
f268203d74ff25 Antti Laakso 2026-08-27 618 case IPU7_INSYS_RESP_TYPE_STREAM_OPEN_DONE:
f268203d74ff25 Antti Laakso 2026-08-27 619 complete(&stream->stream_open_completion);
f268203d74ff25 Antti Laakso 2026-08-27 620 break;
f268203d74ff25 Antti Laakso 2026-08-27 621 case IPU7_INSYS_RESP_TYPE_STREAM_CLOSE_ACK:
f268203d74ff25 Antti Laakso 2026-08-27 622 complete(&stream->stream_close_completion);
f268203d74ff25 Antti Laakso 2026-08-27 623 break;
f268203d74ff25 Antti Laakso 2026-08-27 624 case IPU7_INSYS_RESP_TYPE_STREAM_START_AND_CAPTURE_ACK:
f268203d74ff25 Antti Laakso 2026-08-27 625 complete(&stream->stream_start_completion);
f268203d74ff25 Antti Laakso 2026-08-27 626 break;
f268203d74ff25 Antti Laakso 2026-08-27 627 case IPU7_INSYS_RESP_TYPE_STREAM_ABORT_ACK:
f268203d74ff25 Antti Laakso 2026-08-27 628 complete(&stream->stream_stop_completion);
f268203d74ff25 Antti Laakso 2026-08-27 629 break;
f268203d74ff25 Antti Laakso 2026-08-27 630 case IPU7_INSYS_RESP_TYPE_STREAM_FLUSH_ACK:
f268203d74ff25 Antti Laakso 2026-08-27 631 complete(&stream->stream_stop_completion);
f268203d74ff25 Antti Laakso 2026-08-27 632 break;
f268203d74ff25 Antti Laakso 2026-08-27 633 case IPU7_INSYS_RESP_TYPE_PIN_DATA_READY:
f268203d74ff25 Antti Laakso 2026-08-27 634 /*
f268203d74ff25 Antti Laakso 2026-08-27 635 * firmware only release the capture msg until software
f268203d74ff25 Antti Laakso 2026-08-27 636 * get pin_data_ready event
f268203d74ff25 Antti Laakso 2026-08-27 637 */
f268203d74ff25 Antti Laakso 2026-08-27 638 isys_fw_msg = container_of((void *)(uintptr_t)resp->buf_id,
f268203d74ff25 Antti Laakso 2026-08-27 639 struct isys_fw_msgs, dummy);
f268203d74ff25 Antti Laakso 2026-08-27 640
f268203d74ff25 Antti Laakso 2026-08-27 641 ipu6_put_fw_msg_buf(ipu6_bus_get_drvdata(adev), isys_fw_msg);
f268203d74ff25 Antti Laakso 2026-08-27 642 if (resp->pin_id < IPU6_ISYS_OUTPUT_PINS)
f268203d74ff25 Antti Laakso 2026-08-27 643 ipu6_stream_buf_ready(stream, resp->pin_id,
f268203d74ff25 Antti Laakso 2026-08-27 644 resp->pin.addr, ts, 0);
f268203d74ff25 Antti Laakso 2026-08-27 645 else
f268203d74ff25 Antti Laakso 2026-08-27 646 dev_err(dev, "No handler for pin %u ready\n",
f268203d74ff25 Antti Laakso 2026-08-27 647 resp->pin_id);
f268203d74ff25 Antti Laakso 2026-08-27 648 if (csi2)
f268203d74ff25 Antti Laakso 2026-08-27 649 ipu7_isys_csi2_error(csi2);
f268203d74ff25 Antti Laakso 2026-08-27 650
f268203d74ff25 Antti Laakso 2026-08-27 651 break;
f268203d74ff25 Antti Laakso 2026-08-27 652 case IPU7_INSYS_RESP_TYPE_STREAM_CAPTURE_ACK:
f268203d74ff25 Antti Laakso 2026-08-27 653 break;
f268203d74ff25 Antti Laakso 2026-08-27 654 case IPU7_INSYS_RESP_TYPE_STREAM_START_AND_CAPTURE_DONE:
f268203d74ff25 Antti Laakso 2026-08-27 655 case IPU7_INSYS_RESP_TYPE_STREAM_CAPTURE_DONE:
f268203d74ff25 Antti Laakso 2026-08-27 656 break;
f268203d74ff25 Antti Laakso 2026-08-27 657 case IPU7_INSYS_RESP_TYPE_FRAME_SOF:
f268203d74ff25 Antti Laakso 2026-08-27 658 if (csi2)
f268203d74ff25 Antti Laakso 2026-08-27 659 ipu6_isys_csi2_sof_event_by_stream(stream);
f268203d74ff25 Antti Laakso 2026-08-27 660
f268203d74ff25 Antti Laakso 2026-08-27 661 stream->seq[stream->seq_index].sequence =
f268203d74ff25 Antti Laakso 2026-08-27 662 atomic_read(&stream->sequence) - 1U;
f268203d74ff25 Antti Laakso 2026-08-27 663 stream->seq[stream->seq_index].timestamp = ts;
f268203d74ff25 Antti Laakso 2026-08-27 664 dev_dbg(dev,
f268203d74ff25 Antti Laakso 2026-08-27 665 "SOF: stream %u frame %u (index %u), ts 0x%16.16llx\n",
f268203d74ff25 Antti Laakso 2026-08-27 666 resp->stream_id, resp->frame_id,
f268203d74ff25 Antti Laakso 2026-08-27 667 stream->seq[stream->seq_index].sequence, ts);
f268203d74ff25 Antti Laakso 2026-08-27 668 stream->seq_index = (stream->seq_index + 1U)
f268203d74ff25 Antti Laakso 2026-08-27 669 % IPU6_ISYS_MAX_PARALLEL_SOF;
f268203d74ff25 Antti Laakso 2026-08-27 670 break;
f268203d74ff25 Antti Laakso 2026-08-27 671 case IPU7_INSYS_RESP_TYPE_FRAME_EOF:
f268203d74ff25 Antti Laakso 2026-08-27 672 if (csi2)
f268203d74ff25 Antti Laakso 2026-08-27 673 ipu6_isys_csi2_eof_event_by_stream(stream);
f268203d74ff25 Antti Laakso 2026-08-27 674
f268203d74ff25 Antti Laakso 2026-08-27 675 dev_dbg(dev, "eof: stream %d(index %u) ts 0x%16.16llx\n",
f268203d74ff25 Antti Laakso 2026-08-27 676 resp->stream_id,
f268203d74ff25 Antti Laakso 2026-08-27 677 stream->seq[stream->seq_index].sequence, ts);
f268203d74ff25 Antti Laakso 2026-08-27 678 break;
f268203d74ff25 Antti Laakso 2026-08-27 679 default:
f268203d74ff25 Antti Laakso 2026-08-27 680 dev_err(dev, "Unknown response type %u stream %u\n",
f268203d74ff25 Antti Laakso 2026-08-27 681 resp->type, resp->stream_id);
f268203d74ff25 Antti Laakso 2026-08-27 682 break;
f268203d74ff25 Antti Laakso 2026-08-27 683 }
f268203d74ff25 Antti Laakso 2026-08-27 684
f268203d74ff25 Antti Laakso 2026-08-27 685 leave:
f268203d74ff25 Antti Laakso 2026-08-27 686 ipu7_fw_isys_put_resp(isys);
f268203d74ff25 Antti Laakso 2026-08-27 687
f268203d74ff25 Antti Laakso 2026-08-27 688 return 0;
f268203d74ff25 Antti Laakso 2026-08-27 689 }
f268203d74ff25 Antti Laakso 2026-08-27 690
:::::: The code at line 599 was first introduced by commit
:::::: f268203d74ff25f5443a16813196fb8ecd775be3 media: ipu6: Add ipu7 isr handler
:::::: TO: Antti Laakso <antti.laakso@linux.intel.com>
:::::: CC: Sakari Ailus <sakari.ailus@linux.intel.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-09-13 22:16 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202609140614.KMCttn8e-lkp@intel.com \
--to=lkp@intel.com \
--cc=linux-media@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sakari.ailus@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox