Hi Tyrel, kernel test robot noticed the following build warnings: [auto build test WARNING on linus/master] [also build test WARNING on v6.6-rc2 next-20230918] [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/Tyrel-Datwyler/ibmvfc-remove-BUG_ON-in-the-case-of-an-empty-event-pool/20230914-085530 base: linus/master patch link: https://lore.kernel.org/r/20230913230457.2575849-2-tyreld%40linux.ibm.com patch subject: [PATCH 01/11] ibmvfc: remove BUG_ON in the case of an empty event pool config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20230919/202309190735.oSIVJWbC-lkp@xxxxxxxxx/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230919/202309190735.oSIVJWbC-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202309190735.oSIVJWbC-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/scsi/ibmvscsi/ibmvfc.c:4618:66: warning: variable 'rc' is uninitialized when used here [-Wuninitialized] 4618 | tgt_err(tgt, "Failed to send cancel event for ADISC. rc=%d\n", rc); | ^~ drivers/scsi/ibmvscsi/ibmvfc.h:910:57: note: expanded from macro 'tgt_err' 910 | dev_err((t)->vhost->dev, "%llX: " fmt, (t)->scsi_id, ##__VA_ARGS__) | ^~~~~~~~~~~ include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err' 144 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~ include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap' 110 | _p_func(dev, fmt, ##__VA_ARGS__); \ | ^~~~~~~~~~~ drivers/scsi/ibmvscsi/ibmvfc.c:4602:8: note: initialize the variable 'rc' to silence this warning 4602 | int rc; | ^ | = 0 1 warning generated. vim +/rc +4618 drivers/scsi/ibmvscsi/ibmvfc.c 4586 4587 /** 4588 * ibmvfc_adisc_timeout - Handle an ADISC timeout 4589 * @t: ibmvfc target struct 4590 * 4591 * If an ADISC times out, send a cancel. If the cancel times 4592 * out, reset the CRQ. When the ADISC comes back as cancelled, 4593 * log back into the target. 4594 **/ 4595 static void ibmvfc_adisc_timeout(struct timer_list *t) 4596 { 4597 struct ibmvfc_target *tgt = from_timer(tgt, t, timer); 4598 struct ibmvfc_host *vhost = tgt->vhost; 4599 struct ibmvfc_event *evt; 4600 struct ibmvfc_tmf *tmf; 4601 unsigned long flags; 4602 int rc; 4603 4604 tgt_dbg(tgt, "ADISC timeout\n"); 4605 spin_lock_irqsave(vhost->host->host_lock, flags); 4606 if (vhost->abort_threads >= disc_threads || 4607 tgt->action != IBMVFC_TGT_ACTION_INIT_WAIT || 4608 vhost->state != IBMVFC_INITIALIZING || 4609 vhost->action != IBMVFC_HOST_ACTION_QUERY_TGTS) { 4610 spin_unlock_irqrestore(vhost->host->host_lock, flags); 4611 return; 4612 } 4613 4614 vhost->abort_threads++; 4615 kref_get(&tgt->kref); 4616 evt = ibmvfc_get_event(&vhost->crq); 4617 if (!evt) { > 4618 tgt_err(tgt, "Failed to send cancel event for ADISC. rc=%d\n", rc); 4619 vhost->abort_threads--; 4620 kref_put(&tgt->kref, ibmvfc_release_tgt); 4621 __ibmvfc_reset_host(vhost); 4622 spin_unlock_irqrestore(vhost->host->host_lock, flags); 4623 return; 4624 } 4625 ibmvfc_init_event(evt, ibmvfc_tgt_adisc_cancel_done, IBMVFC_MAD_FORMAT); 4626 4627 evt->tgt = tgt; 4628 tmf = &evt->iu.tmf; 4629 memset(tmf, 0, sizeof(*tmf)); 4630 if (ibmvfc_check_caps(vhost, IBMVFC_HANDLE_VF_WWPN)) { 4631 tmf->common.version = cpu_to_be32(2); 4632 tmf->target_wwpn = cpu_to_be64(tgt->wwpn); 4633 } else { 4634 tmf->common.version = cpu_to_be32(1); 4635 } 4636 tmf->common.opcode = cpu_to_be32(IBMVFC_TMF_MAD); 4637 tmf->common.length = cpu_to_be16(sizeof(*tmf)); 4638 tmf->scsi_id = cpu_to_be64(tgt->scsi_id); 4639 tmf->cancel_key = cpu_to_be32(tgt->cancel_key); 4640 4641 rc = ibmvfc_send_event(evt, vhost, default_timeout); 4642 4643 if (rc) { 4644 tgt_err(tgt, "Failed to send cancel event for ADISC. rc=%d\n", rc); 4645 vhost->abort_threads--; 4646 kref_put(&tgt->kref, ibmvfc_release_tgt); 4647 __ibmvfc_reset_host(vhost); 4648 } else 4649 tgt_dbg(tgt, "Attempting to cancel ADISC\n"); 4650 spin_unlock_irqrestore(vhost->host->host_lock, flags); 4651 } 4652 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki