Hi Can, I love your patch! Perhaps something to improve: [auto build test WARNING on jejb-scsi/for-next] [also build test WARNING on mkp-scsi/for-next next-20220719] [cannot apply to linus/master v5.19-rc7] [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/Can-Guo/UFS-Multi-Circular-Queue-MCQ/20220719-150436 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-randconfig-r036-20220718 (https://download.01.org/0day-ci/archive/20220720/202207201538.0hGdcttT-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project dd5635541cd7bbd62cd59b6694dfb759b6e9a0d8) 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/2b7356bcd24efd2d6b69f04dd9fd010c4256cc7e git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Can-Guo/UFS-Multi-Circular-Queue-MCQ/20220719-150436 git checkout 2b7356bcd24efd2d6b69f04dd9fd010c4256cc7e # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/ufs/core/ 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/ufs/core/ufshcd.c:5465:13: warning: no previous prototype for function 'ufshcd_transfer_req_compl' [-Wmissing-prototypes] irqreturn_t ufshcd_transfer_req_compl(struct ufs_hba *hba) ^ drivers/ufs/core/ufshcd.c:5465:1: note: declare 'static' if the function is not intended to be used outside of this translation unit irqreturn_t ufshcd_transfer_req_compl(struct ufs_hba *hba) ^ static 1 warning generated. vim +/ufshcd_transfer_req_compl +5465 drivers/ufs/core/ufshcd.c 5456 5457 /** 5458 * ufshcd_transfer_req_compl - handle SCSI and query command completion 5459 * @hba: per adapter instance 5460 * 5461 * Returns 5462 * IRQ_HANDLED - If interrupt is valid 5463 * IRQ_NONE - If invalid interrupt 5464 */ > 5465 irqreturn_t ufshcd_transfer_req_compl(struct ufs_hba *hba) 5466 { 5467 /* Resetting interrupt aggregation counters first and reading the 5468 * DOOR_BELL afterward allows us to handle all the completed requests. 5469 * In order to prevent other interrupts starvation the DB is read once 5470 * after reset. The down side of this solution is the possibility of 5471 * false interrupt if device completes another request after resetting 5472 * aggregation and before reading the DB. 5473 */ 5474 if (ufshcd_is_intr_aggr_allowed(hba) && 5475 !(hba->quirks & UFSHCI_QUIRK_SKIP_RESET_INTR_AGGR)) 5476 ufshcd_reset_intr_aggr(hba); 5477 5478 if (ufs_fail_completion()) 5479 return IRQ_HANDLED; 5480 5481 /* 5482 * Ignore the ufshcd_poll() return value and return IRQ_HANDLED since we 5483 * do not want polling to trigger spurious interrupt complaints. 5484 */ 5485 ufshcd_poll(hba->host, 0); 5486 5487 return IRQ_HANDLED; 5488 } 5489 EXPORT_SYMBOL_GPL(ufshcd_transfer_req_compl); 5490 -- 0-DAY CI Kernel Test Service https://01.org/lkp