drivers/scsi/bnx2fc/bnx2fc_hwi.c:1011:17: warning: variable 'dummy' set but not used

From: kernel test robot
Date: Mon Jun 15 2020 - 07:57:27 EST


Hi Javed,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b3a9e3b9622ae10064826dccb4f7a52bd88c7407
commit: 77331115e220925af1f52e18ac99e37a0b0c10ad scsi: bnx2fc: Process the RQE with CQE in interrupt context
date: 3 months ago
config: ia64-randconfig-r003-20200615 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.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
git checkout 77331115e220925af1f52e18ac99e37a0b0c10ad
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

In file included from arch/ia64/include/asm/pgtable.h:154,
from include/linux/mm.h:94,
from include/linux/bvec.h:13,
from include/linux/skbuff.h:17,
from drivers/scsi/bnx2fc/bnx2fc.h:21,
from drivers/scsi/bnx2fc/bnx2fc_hwi.c:16:
arch/ia64/include/asm/mmu_context.h: In function 'reload_context':
arch/ia64/include/asm/mmu_context.h:137:41: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable]
137 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4;
| ^~~~~~~
drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function 'bnx2fc_process_unsol_compl':
drivers/scsi/bnx2fc/bnx2fc_hwi.c:638:16: warning: variable 'index' set but not used [-Wunused-but-set-variable]
638 | int task_idx, index;
| ^~~~~
drivers/scsi/bnx2fc/bnx2fc_hwi.c:638:6: warning: variable 'task_idx' set but not used [-Wunused-but-set-variable]
638 | int task_idx, index;
| ^~~~~~~~
drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function 'bnx2fc_pending_work':
<< from drivers/scsi/bnx2fc/bnx2fc_hwi.c:16:
>> drivers/scsi/bnx2fc/bnx2fc_hwi.c:1011:17: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
1011 | unsigned char *dummy;
| ^~~~~
drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function 'bnx2fc_init_seq_cleanup_task':
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1513:21: warning: variable 'index' set but not used [-Wunused-but-set-variable]
1513 | int orig_task_idx, index;
| ^~~~~
drivers/scsi/bnx2fc/bnx2fc_hwi.c:1513:6: warning: variable 'orig_task_idx' set but not used [-Wunused-but-set-variable]
1513 | int orig_task_idx, index;
| ^~~~~~~~~~~~~
drivers/scsi/bnx2fc/bnx2fc_hwi.c: In function 'bnx2fc_allocate_hash_table':
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2093:7: warning: variable 'hi' set but not used [-Wunused-but-set-variable]
2093 | u32 hi;
| ^~
drivers/scsi/bnx2fc/bnx2fc_hwi.c:2092:7: warning: variable 'lo' set but not used [-Wunused-but-set-variable]
2092 | u32 lo;
| ^~

vim +/dummy +1011 drivers/scsi/bnx2fc/bnx2fc_hwi.c

996
997 /* Pending work request completion */
998 static bool bnx2fc_pending_work(struct bnx2fc_rport *tgt, unsigned int wqe)
999 {
1000 unsigned int cpu = wqe % num_possible_cpus();
1001 struct bnx2fc_percpu_s *fps;
1002 struct bnx2fc_work *work;
1003 struct fcoe_task_ctx_entry *task;
1004 struct fcoe_task_ctx_entry *task_page;
1005 struct fcoe_port *port = tgt->port;
1006 struct bnx2fc_interface *interface = port->priv;
1007 struct bnx2fc_hba *hba = interface->hba;
1008 unsigned char *rq_data = NULL;
1009 unsigned char rq_data_buff[BNX2FC_RQ_BUF_SZ];
1010 int task_idx, index;
> 1011 unsigned char *dummy;
1012 u16 xid;
1013 u8 num_rq;
1014 int i;
1015
1016 xid = wqe & FCOE_PEND_WQ_CQE_TASK_ID;
1017 if (xid >= hba->max_tasks) {
1018 pr_err(PFX "ERROR:xid out of range\n");
1019 return 0;
1020 }
1021
1022 task_idx = xid / BNX2FC_TASKS_PER_PAGE;
1023 index = xid % BNX2FC_TASKS_PER_PAGE;
1024 task_page = (struct fcoe_task_ctx_entry *)hba->task_ctx[task_idx];
1025 task = &task_page[index];
1026
1027 num_rq = ((task->rxwr_txrd.var_ctx.rx_flags &
1028 FCOE_TCE_RX_WR_TX_RD_VAR_NUM_RQ_WQE) >>
1029 FCOE_TCE_RX_WR_TX_RD_VAR_NUM_RQ_WQE_SHIFT);
1030
1031 memset(rq_data_buff, 0, BNX2FC_RQ_BUF_SZ);
1032
1033 if (!num_rq)
1034 goto num_rq_zero;
1035
1036 rq_data = bnx2fc_get_next_rqe(tgt, 1);
1037
1038 if (num_rq > 1) {
1039 /* We do not need extra sense data */
1040 for (i = 1; i < num_rq; i++)
1041 dummy = bnx2fc_get_next_rqe(tgt, 1);
1042 }
1043
1044 if (rq_data)
1045 memcpy(rq_data_buff, rq_data, BNX2FC_RQ_BUF_SZ);
1046
1047 /* return RQ entries */
1048 for (i = 0; i < num_rq; i++)
1049 bnx2fc_return_rqe(tgt, 1);
1050
1051 num_rq_zero:
1052
1053 fps = &per_cpu(bnx2fc_percpu, cpu);
1054 spin_lock_bh(&fps->fp_work_lock);
1055 if (fps->iothread) {
1056 work = bnx2fc_alloc_work(tgt, wqe, rq_data_buff,
1057 num_rq, task);
1058 if (work) {
1059 list_add_tail(&work->list, &fps->work_list);
1060 wake_up_process(fps->iothread);
1061 spin_unlock_bh(&fps->fp_work_lock);
1062 return 1;
1063 }
1064 }
1065 spin_unlock_bh(&fps->fp_work_lock);
1066 bnx2fc_process_cq_compl(tgt, wqe,
1067 rq_data_buff, num_rq, task);
1068
1069 return 1;
1070 }
1071

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip