Hi Dmitry, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on helgaas-pci/next] [cannot apply to robh/for-next v5.18] [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] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/PCI-qcom-Fix-higher-MSI-vectors-handling/20220524-024956 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20220524/202205240801.7l6SF2Hv-lkp@xxxxxxxxx/config) compiler: mips-linux-gcc (GCC) 11.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/35aa0471e2ee4f0f21b01fbcfe6a4a425e968596 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Dmitry-Baryshkov/PCI-qcom-Fix-higher-MSI-vectors-handling/20220524-024956 git checkout 35aa0471e2ee4f0f21b01fbcfe6a4a425e968596 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/pci/controller/dwc/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): drivers/pci/controller/dwc/pcie-designware-host.c: In function 'dw_split_msi_isr': >> drivers/pci/controller/dwc/pcie-designware-host.c:116:25: warning: variable 'pci' set but not used [-Wunused-but-set-variable] 116 | struct dw_pcie *pci; | ^~~ vim +/pci +116 drivers/pci/controller/dwc/pcie-designware-host.c 108 109 static void dw_split_msi_isr(struct irq_desc *desc) 110 { 111 struct irq_chip *chip = irq_desc_get_chip(desc); 112 int irq = irq_desc_get_irq(desc); 113 struct pcie_port *pp; 114 int i; 115 u32 num_ctrls; > 116 struct dw_pcie *pci; 117 118 chained_irq_enter(chip, desc); 119 120 pp = irq_desc_get_handler_data(desc); 121 pci = to_dw_pcie_from_pp(pp); 122 123 /* 124 * Unlike generic dw_handle_msi_irq(), we can determine which group of 125 * MSIs triggered the IRQ, so process just that group. 126 */ 127 num_ctrls = pp->num_vectors / MAX_MSI_IRQS_PER_CTRL; 128 129 for (i = 0; i < num_ctrls; i++) { 130 if (pp->msi_irq[i] == irq) { 131 dw_handle_single_msi_group(pp, i); 132 break; 133 } 134 } 135 136 WARN_ON_ONCE(i == num_ctrls); 137 138 chained_irq_exit(chip, desc); 139 } 140 -- 0-DAY CI Kernel Test Service https://01.org/lkp