Re: [PATCH] accel/ivpu: fix usage_count leak when autosuspend_delay is negative
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "linux-review patch is more than 7 days old, verify it wasn't already superseded" :::::: BCC: [email protected] CC: [email protected] CC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: Guangshuo Li <[email protected]> TO: Karol Wachowski <[email protected]> TO: Andrzej Kacprowski <[email protected]> TO: Oded Gabbay <[email protected]> TO: Jeff Hugo <[email protected]> TO: Jacek Lawrynowicz <[email protected]> TO: Simona Vetter <[email protected]> TO: Krystian Pradzynski <[email protected]> TO: [email protected] TO: [email protected] CC: Guangshuo Li <[email protected]> Hi Guangshuo, kernel test robot noticed the following build warnings: [auto build test WARNING on drm-misc/drm-misc-next] [also build test WARNING on linus/master v7.2 next-20260819] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Guangshuo-Li/accel-ivpu-fix-usage_count-leak-when-autosuspend_delay-is-negative/20260807-225416 base: https://gitlab.freedesktop.org/drm/misc/kernel.git drm-misc-next patch link: https://lore.kernel.org/r/20260807145416.2518999-1-lgs201920130244%40gmail.com patch subject: [PATCH] accel/ivpu: fix usage_count leak when autosuspend_delay is negative :::::: branch date: 30 hours ago :::::: commit date: 30 hours ago config: x86_64-randconfig-075-20260821 (https://download.01.org/0day-ci/archive/20260821/[email protected]/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/20260821/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ All warnings (new ones prefixed by >>): >> drivers/accel/ivpu/ivpu_drv.c:788:1: warning: unused label 'err_ipc_fini' [-Wunused-label] 788 | err_ipc_fini: | ^~~~~~~~~~~~~ 1 warning generated. vim +/err_ipc_fini +788 drivers/accel/ivpu/ivpu_drv.c 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 678 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 679 static int ivpu_dev_init(struct ivpu_device *vdev) 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 680 { 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 681 int ret; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 682 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 683 vdev->hw = drmm_kzalloc(&vdev->drm, sizeof(*vdev->hw), GFP_KERNEL); 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 684 if (!vdev->hw) 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 685 return -ENOMEM; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 686 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 687 vdev->mmu = drmm_kzalloc(&vdev->drm, sizeof(*vdev->mmu), GFP_KERNEL); 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 688 if (!vdev->mmu) 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 689 return -ENOMEM; 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 690 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 691 vdev->fw = drmm_kzalloc(&vdev->drm, sizeof(*vdev->fw), GFP_KERNEL); 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 692 if (!vdev->fw) 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 693 return -ENOMEM; 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 694 5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 695 vdev->ipc = drmm_kzalloc(&vdev->drm, sizeof(*vdev->ipc), GFP_KERNEL); 5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 696 if (!vdev->ipc) 5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 697 return -ENOMEM; 5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 698 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 699 vdev->pm = drmm_kzalloc(&vdev->drm, sizeof(*vdev->pm), GFP_KERNEL); 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 700 if (!vdev->pm) 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 701 return -ENOMEM; 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 702 8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 703 if (ivpu_hw_ip_gen(vdev) >= IVPU_HW_IP_40XX) 79cdc56c4a5425 Stanislaw Gruszka 2023-07-31 704 vdev->hw->dma_bits = 48; 8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 705 else a4172d6cf0a2b9 Karol Wachowski 2023-05-18 706 vdev->hw->dma_bits = 38; a4172d6cf0a2b9 Karol Wachowski 2023-05-18 707 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 708 vdev->platform = IVPU_PLATFORM_INVALID; 3ff6edbc17dbab Stanislaw Gruszka 2023-03-23 709 vdev->context_xa_limit.min = IVPU_USER_CONTEXT_MIN_SSID; 3ff6edbc17dbab Stanislaw Gruszka 2023-03-23 710 vdev->context_xa_limit.max = IVPU_USER_CONTEXT_MAX_SSID; 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 711 atomic64_set(&vdev->unique_id_counter, 0); 0e7db503c5355f Karol Wachowski 2025-04-16 712 atomic_set(&vdev->job_timeout_counter, 0); ade00a6c903f85 Karol Wachowski 2026-03-18 713 atomic_set(&vdev->faults_detected, 0); fd7726e75968b2 Jacek Lawrynowicz 2024-04-02 714 xa_init_flags(&vdev->context_xa, XA_FLAGS_ALLOC | XA_FLAGS_LOCK_IRQ); cd7272215c4467 Jacek Lawrynowicz 2023-01-17 715 xa_init_flags(&vdev->submitted_jobs_xa, XA_FLAGS_ALLOC1); f32d59677ab142 Wachowski, Karol 2024-02-14 716 xa_init_flags(&vdev->db_xa, XA_FLAGS_ALLOC1); 48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 717 INIT_LIST_HEAD(&vdev->bo_list); 86a14330bf0598 Karol Wachowski 2026-03-02 718 hash_init(vdev->user_limits); 48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 719 ae7af7d8dc2a13 Karol Wachowski 2024-10-17 720 vdev->db_limit.min = IVPU_MIN_DB; ae7af7d8dc2a13 Karol Wachowski 2024-10-17 721 vdev->db_limit.max = IVPU_MAX_DB; c3b0ec0fe0c7eb Tomasz Rusinowicz 2024-09-30 722 f1cc6aceecd049 Jacek Lawrynowicz 2024-01-22 723 ret = drmm_mutex_init(&vdev->drm, &vdev->context_list_lock); f1cc6aceecd049 Jacek Lawrynowicz 2024-01-22 724 if (ret) f1cc6aceecd049 Jacek Lawrynowicz 2024-01-22 725 goto err_xa_destroy; 5bbccadaf33eea Karol Wachowski 2025-01-07 726 86a14330bf0598 Karol Wachowski 2026-03-02 727 ret = drmm_mutex_init(&vdev->drm, &vdev->user_limits_lock); 86a14330bf0598 Karol Wachowski 2026-03-02 728 if (ret) 86a14330bf0598 Karol Wachowski 2026-03-02 729 goto err_xa_destroy; 86a14330bf0598 Karol Wachowski 2026-03-02 730 5bbccadaf33eea Karol Wachowski 2025-01-07 731 ret = drmm_mutex_init(&vdev->drm, &vdev->submitted_jobs_lock); 5bbccadaf33eea Karol Wachowski 2025-01-07 732 if (ret) 5bbccadaf33eea Karol Wachowski 2025-01-07 733 goto err_xa_destroy; f1cc6aceecd049 Jacek Lawrynowicz 2024-01-22 734 48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 735 ret = drmm_mutex_init(&vdev->drm, &vdev->bo_list_lock); 48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 736 if (ret) 48aea7f2a2efae Jacek Lawrynowicz 2023-10-31 737 goto err_xa_destroy; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 738 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 739 ret = ivpu_pci_init(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 740 if (ret) 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 741 goto err_xa_destroy; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 742 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 743 ret = ivpu_irq_init(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 744 if (ret) 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 745 goto err_xa_destroy; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 746 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 747 /* Init basic HW info based on buttress registers which are accessible before power up */ 8a27ad81f7d3a4 Wachowski, Karol 2024-05-15 748 ret = ivpu_hw_init(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 749 if (ret) 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 750 goto err_xa_destroy; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 751 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 752 /* Power up early so the rest of init code can access VPU registers */ 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 753 ret = ivpu_hw_power_up(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 754 if (ret) e3caadf1f9dfc9 Jacek Lawrynowicz 2024-04-02 755 goto err_shutdown; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 756 a74f4d991352c9 Karol Wachowski 2024-10-17 757 ivpu_mmu_global_context_init(vdev); 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 758 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 759 ret = ivpu_mmu_init(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 760 if (ret) 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 761 goto err_mmu_gctx_fini; 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 762 34d03f2a174dce Karol Wachowski 2023-09-01 763 ret = ivpu_mmu_reserved_context_init(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 764 if (ret) 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 765 goto err_mmu_gctx_fini; 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 766 34d03f2a174dce Karol Wachowski 2023-09-01 767 ret = ivpu_fw_init(vdev); 34d03f2a174dce Karol Wachowski 2023-09-01 768 if (ret) 34d03f2a174dce Karol Wachowski 2023-09-01 769 goto err_mmu_rctx_fini; 34d03f2a174dce Karol Wachowski 2023-09-01 770 5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 771 ret = ivpu_ipc_init(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 772 if (ret) 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 773 goto err_fw_fini; 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 774 3f68b03ae6dcd1 Stanislaw Gruszka 2023-09-01 775 ivpu_pm_init(vdev); 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 776 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 777 ret = ivpu_boot(vdev); 0a9cd7924e56de Jacek Lawrynowicz 2023-09-01 778 if (ret) dc6256eb3d23e3 Guangshuo Li 2026-08-07 779 goto err_pm_fini; 5d7422cfb498bf Jacek Lawrynowicz 2023-01-17 780 3b434a3445fff3 Jacek Lawrynowicz 2023-11-13 781 ivpu_job_done_consumer_init(vdev); 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 782 ivpu_pm_enable(vdev); 852be13f3bd32c Jacek Lawrynowicz 2023-01-17 783 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 784 return 0; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 785 dc6256eb3d23e3 Guangshuo Li 2026-08-07 786 err_pm_fini: dc6256eb3d23e3 Guangshuo Li 2026-08-07 787 pm_runtime_dont_use_autosuspend(vdev->drm.dev); cd7272215c4467 Jacek Lawrynowicz 2023-01-17 @788 err_ipc_fini: cd7272215c4467 Jacek Lawrynowicz 2023-01-17 789 ivpu_ipc_fini(vdev); 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 790 err_fw_fini: 02d5b0aacd0590 Jacek Lawrynowicz 2023-01-17 791 ivpu_fw_fini(vdev); 34d03f2a174dce Karol Wachowski 2023-09-01 792 err_mmu_rctx_fini: 34d03f2a174dce Karol Wachowski 2023-09-01 793 ivpu_mmu_reserved_context_fini(vdev); 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 794 err_mmu_gctx_fini: 263b2ba5fc93c8 Jacek Lawrynowicz 2023-01-17 795 ivpu_mmu_global_context_fini(vdev); e3caadf1f9dfc9 Jacek Lawrynowicz 2024-04-02 796 err_shutdown: e3caadf1f9dfc9 Jacek Lawrynowicz 2024-04-02 797 ivpu_shutdown(vdev); 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 798 err_xa_destroy: f32d59677ab142 Wachowski, Karol 2024-02-14 799 xa_destroy(&vdev->db_xa); cd7272215c4467 Jacek Lawrynowicz 2023-01-17 800 xa_destroy(&vdev->submitted_jobs_xa); 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 801 xa_destroy(&vdev->context_xa); 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 802 return ret; 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 803 } 35b137630f08d9 Jacek Lawrynowicz 2023-01-17 804 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki