qla2xxx: Fix various warnings reported by static source code analysis tools
Subsystems (2)
cover qla2xxx: Fix various warnings reported by static source code analysis tools
This patch series addresses several warnings reported by static source code analysis tools for the qla2xxx driver (gcc (W=1), sparse (C=2) and smatch (C=2 CHECK="smatch -p=kernel")). The patches in this series are:
0001-qla2xxx-Report-both-rsp_info-and-rsp_info_len.patch 0002-qla2xxx-Declare-local-functions-static.patch 0003-qla2xxx-Remove-set-but-not-used-variables.patch 0004-qla2xxx-Replace-two-macros-with-an-inline-function.patch 0005-qla2xxx-Remove-__constant_-prefix.patch 0006-qla2xxx-Avoid-that-sparse-complains-about-duplicate-.patch 0007-qla2xxx-Fix-sparse-annotations.patch 0008-qla2xxx-Remove-a-superfluous-test.patch 0009-qla2xxx-Remove-dead-code.patch 0010-qla2xxx-Comment-out-dead-code.patch
PATCH 1/10 qla2xxx: Report both rsp_info and rsp_info_len
Let the debug statement in qlafx00_tm_iocb_entry() report both rsp_info and rsp_info_len instead of reporting rsp_info_len twice.
--- drivers/scsi/qla2xxx/qla_mr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/qla2xxx/qla_mr.c +2 -2
@@ -2528,12 +2528,12 @@ check_scsi_status:ql_dbg (ql_dbg_io, fcport->vha,0x3058 ,"FCP command status: 0x%x-0x%x (0x%x) nexus=%ld:%d:%llu " "tgt_id: 0x%x lscsi_status: 0x%x cdb=%10phN len=0x%x " -"rsp_info=0x%x resid=0x%x fw_resid=0x%x sense_len=0x%x, " +"rsp_info=%p resid=0x%x fw_resid=0x%x sense_len=0x%x, " "par_sense_len=0x%x, rsp_info_len=0x%x\n" , comp_status, scsi_status, res, vha->host_no, cp->device->id, cp->device->lun, fcport->tgt_id, lscsi_status, cp->cmnd,scsi_bufflen (cp), - rsp_info_len, resid_len, fw_resid_len, sense_len, + rsp_info, resid_len, fw_resid_len, sense_len, par_sense_len, rsp_info_len);if (rsp->status_srb ==NULL )
Signature · 1 line
2.1.2
PATCH 2/10 qla2xxx: Declare local functions static
In reply to Bart Van Assche--- drivers/scsi/qla2xxx/qla_bsg.c | 2 +- drivers/scsi/qla2xxx/qla_iocb.c | 4 ++-- drivers/scsi/qla2xxx/qla_nx.c | 2 +- drivers/scsi/qla2xxx/qla_nx2.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-)
drivers/scsi/qla2xxx/qla_bsg.c +1 -1
@@ -405,7 +405,7 @@ done:return rval; } -inline uint16_t +static inline uint16_t qla24xx_calc_ct_iocbs (uint16_t dsds) {uint16_t iocbs;
drivers/scsi/qla2xxx/qla_iocb.c +2 -2
@@ -680,7 +680,7 @@ qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt,* * Returns the number of dsd list needed to store @dsds. */ -inline uint16_t +static inline uint16_t qla24xx_calc_dsd_lists (uint16_t dsds) {uint16_t dsd_lists =0 ;
@@ -700,7 +700,7 @@ qla24xx_calc_dsd_lists(uint16_t dsds)* @cmd_pkt: Command type 3 IOCB * @tot_dsds: Total number of segments to transfer */ -inline void +static inline void qla24xx_build_scsi_iocbs (srb_t *sp,struct cmd_type_7 *cmd_pkt,uint16_t tot_dsds) {
drivers/scsi/qla2xxx/qla_nx.c +1 -1
@@ -2298,7 +2298,7 @@ void qla82xx_init_flags(struct qla_hw_data *ha) ha->nx_legacy_intr.pci_int_reg = nx_legacy_intr->pci_int_reg; } -inline void +static inline void qla82xx_set_idc_version (scsi_qla_host_t *vha) {int idc_ver;
drivers/scsi/qla2xxx/qla_nx2.c +2 -2
@@ -561,7 +561,7 @@ qla8044_read_optrom_data(struct scsi_qla_host *vha, uint8_t *buf,return buf; } -inline int +static inline int qla8044_need_reset (struct scsi_qla_host *vha) {uint32_t drv_state, drv_active;
@@ -1605,7 +1605,7 @@ qla8044_set_idc_dontreset(struct scsi_qla_host *vha)qla8044_wr_reg (ha,QLA8044_IDC_DRV_CTRL , idc_ctrl); } -inline void +static inline void qla8044_set_rst_ready (struct scsi_qla_host *vha) {uint32_t drv_state;
Signature · 1 line
2.1.2
PATCH 3/10 qla2xxx: Remove set-but-not-used variables
In reply to Bart Van Assche--- drivers/scsi/qla2xxx/qla_attr.c | 2 -- drivers/scsi/qla2xxx/qla_bsg.c | 5 ----- drivers/scsi/qla2xxx/qla_dbg.c | 24 ++++++------------------ drivers/scsi/qla2xxx/qla_init.c | 2 -- drivers/scsi/qla2xxx/qla_iocb.c | 24 +++--------------------- drivers/scsi/qla2xxx/qla_isr.c | 3 +-- drivers/scsi/qla2xxx/qla_mbx.c | 4 ---- drivers/scsi/qla2xxx/qla_mid.c | 3 +-- drivers/scsi/qla2xxx/qla_mr.c | 10 +++------- drivers/scsi/qla2xxx/qla_nx.c | 9 +++------ drivers/scsi/qla2xxx/qla_nx2.c | 12 ++++-------- drivers/scsi/qla2xxx/qla_os.c | 6 ++---- drivers/scsi/qla2xxx/qla_target.c | 19 ++++--------------- drivers/scsi/qla2xxx/qla_tmpl.c | 3 +-- 14 files changed, 28 insertions(+), 98 deletions(-)
drivers/scsi/qla2xxx/qla_attr.c +0 -2
@@ -884,7 +884,6 @@ qla2x00_sysfs_read_dcbx_tlv(struct file *filp, struct kobject *kobj, struct device, kobj)));struct qla_hw_data *ha = vha->hw;int rval; -uint16_t actual_size;if (!capable (CAP_SYS_ADMIN ) || off !=0 || count >DCBX_TLV_DATA_SIZE )return 0 ;
@@ -901,7 +900,6 @@ qla2x00_sysfs_read_dcbx_tlv(struct file *filp, struct kobject *kobj, } do_read: - actual_size =0 ;memset (ha->dcbx_tlv,0 ,DCBX_TLV_DATA_SIZE ); rval = qla2x00_get_dcbx_params(vha, ha->dcbx_tlv_dma,
drivers/scsi/qla2xxx/qla_bsg.c +0 -5
@@ -1733,7 +1733,6 @@ qla24xx_process_bidir_cmd(struct fc_bsg_job *bsg_job)struct Scsi_Host *host = bsg_job->shost;scsi_qla_host_t *vha =shost_priv (host);struct qla_hw_data *ha = vha->hw; -uint16_t thread_id;uint32_t rval =EXT_STATUS_OK ;uint16_t req_sg_cnt =0 ;uint16_t rsp_sg_cnt =0 ;
@@ -1790,8 +1789,6 @@ qla24xx_process_bidir_cmd(struct fc_bsg_job *bsg_job) goto done; } - thread_id = bsg_job->request->rqst_data.h_vendor.vendor_cmd[1 ]; -mutex_lock (&ha->selflogin_lock);if (vha->self_login_loop_id ==0 ) {/* Initialize all required fields of fcport */
@@ -2174,7 +2171,6 @@ qla24xx_bsg_request(struct fc_bsg_job *bsg_job) {int ret = -EINVAL ;struct fc_rport *rport; -fc_port_t *fcport =NULL ;struct Scsi_Host *host;scsi_qla_host_t *vha;
@@ -2183,7 +2179,6 @@ qla24xx_bsg_request(struct fc_bsg_job *bsg_job)if (bsg_job->request->msgcode ==FC_BSG_RPT_ELS ) { rport = bsg_job->rport; - fcport = *(fc_port_t **) rport->dd_data; host =rport_to_shost (rport); vha =shost_priv (host); }else {
drivers/scsi/qla2xxx/qla_dbg.c +6 -18
@@ -117,7 +117,7 @@ qla27xx_dump_mpi_ram(struct qla_hw_data *ha, uint32_t addr, uint32_t *ram, {int rval;uint32_t cnt, stat, timer, dwords, idx; -uint16_t mb0, mb1; +uint16_t mb0;struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;dma_addr_t dump_dma = ha->gid_list_dma;uint32_t *dump = (uint32_t *)ha->gid_list;
@@ -161,7 +161,7 @@ qla27xx_dump_mpi_ram(struct qla_hw_data *ha, uint32_t addr, uint32_t *ram, &ha->mbx_cmd_flags); mb0 =RD_REG_WORD (®->mailbox0); - mb1 =RD_REG_WORD (®->mailbox1); +RD_REG_WORD (®->mailbox1);WRT_REG_DWORD (®->hccr,HCCRX_CLR_RISC_INT );
@@ -1039,7 +1039,6 @@ qla24xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) {int rval;uint32_t cnt; -uint32_t risc_address;struct qla_hw_data *ha = vha->hw;struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;uint32_t __iomem *dmp_reg;
@@ -1047,7 +1046,6 @@ qla24xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)uint16_t __iomem *mbx_reg;unsigned long flags;struct qla24xx_fw_dump *fw; -uint32_t ext_mem_cnt;void *nxt;void *nxt_chain;uint32_t *last_chain =NULL ;
@@ -1056,7 +1054,6 @@ qla24xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)if (IS_P3P_TYPE (ha))return ; - risc_address = ext_mem_cnt =0 ; flags =0 ; ha->fw_dump_cap_flags =0 ;
@@ -1294,7 +1291,6 @@ qla25xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) {int rval;uint32_t cnt; -uint32_t risc_address;struct qla_hw_data *ha = vha->hw;struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;uint32_t __iomem *dmp_reg;
@@ -1302,12 +1298,10 @@ qla25xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)uint16_t __iomem *mbx_reg;unsigned long flags;struct qla25xx_fw_dump *fw; -uint32_t ext_mem_cnt;void *nxt, *nxt_chain;uint32_t *last_chain =NULL ;struct scsi_qla_host *base_vha =pci_get_drvdata (ha->pdev); - risc_address = ext_mem_cnt =0 ; flags =0 ; ha->fw_dump_cap_flags =0 ;
@@ -1613,7 +1607,6 @@ qla81xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) {int rval;uint32_t cnt; -uint32_t risc_address;struct qla_hw_data *ha = vha->hw;struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;uint32_t __iomem *dmp_reg;
@@ -1621,12 +1614,10 @@ qla81xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)uint16_t __iomem *mbx_reg;unsigned long flags;struct qla81xx_fw_dump *fw; -uint32_t ext_mem_cnt;void *nxt, *nxt_chain;uint32_t *last_chain =NULL ;struct scsi_qla_host *base_vha =pci_get_drvdata (ha->pdev); - risc_address = ext_mem_cnt =0 ; flags =0 ; ha->fw_dump_cap_flags =0 ;
@@ -1933,8 +1924,7 @@ void qla83xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) {int rval; -uint32_t cnt, reg_data; -uint32_t risc_address; +uint32_t cnt;struct qla_hw_data *ha = vha->hw;struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;uint32_t __iomem *dmp_reg;
@@ -1942,12 +1932,10 @@ qla83xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)uint16_t __iomem *mbx_reg;unsigned long flags;struct qla83xx_fw_dump *fw; -uint32_t ext_mem_cnt;void *nxt, *nxt_chain;uint32_t *last_chain =NULL ;struct scsi_qla_host *base_vha =pci_get_drvdata (ha->pdev); - risc_address = ext_mem_cnt =0 ; flags =0 ; ha->fw_dump_cap_flags =0 ;
@@ -1979,16 +1967,16 @@ qla83xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked)WRT_REG_DWORD (®->iobase_addr,0x6000 ); dmp_reg = ®->iobase_window; - reg_data =RD_REG_DWORD (dmp_reg); +RD_REG_DWORD (dmp_reg);WRT_REG_DWORD (dmp_reg,0 ); dmp_reg = ®->unused_4_1[0 ]; - reg_data =RD_REG_DWORD (dmp_reg); +RD_REG_DWORD (dmp_reg);WRT_REG_DWORD (dmp_reg,0 );WRT_REG_DWORD (®->iobase_addr,0x6010 ); dmp_reg = ®->unused_4_1[2 ]; - reg_data =RD_REG_DWORD (dmp_reg); +RD_REG_DWORD (dmp_reg);WRT_REG_DWORD (dmp_reg,0 );/* select PCR and disable ecc checking and correction */
drivers/scsi/qla2xxx/qla_init.c +0 -2
@@ -3805,12 +3805,10 @@ qla2x00_fabric_dev_login(scsi_qla_host_t *vha, fc_port_t *fcport, uint16_t *next_loopid) {int rval; -int retry;uint8_t opts;struct qla_hw_data *ha = vha->hw; rval =QLA_SUCCESS ; - retry =0 ;if (IS_ALOGIO_CAPABLE (ha)) {if (fcport->flags &FCF_ASYNC_SENT )
drivers/scsi/qla2xxx/qla_iocb.c +3 -21
@@ -310,7 +310,7 @@ void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt,int qla2x00_start_scsi (srb_t *sp) { -int ret, nseg; +int nseg;unsigned long flags;scsi_qla_host_t *vha;struct scsi_cmnd *cmd;
@@ -327,7 +327,6 @@ qla2x00_start_scsi(srb_t *sp)struct rsp_que *rsp;/* Setup device pointers. */ - ret =0 ; vha = sp->fcport->vha; ha = vha->hw; reg = &ha->iobase->isp;
@@ -710,7 +709,6 @@ qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt,struct scsi_cmnd *cmd;struct scatterlist *sg;int i; -struct req_que *req; cmd =GET_CMD_SP (sp);
@@ -725,7 +723,6 @@ qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt, } vha = sp->fcport->vha; - req = vha->req;/* Set transfer direction */ if (cmd->sc_data_direction ==DMA_TO_DEVICE ) {
@@ -933,11 +930,9 @@ qla24xx_walk_and_build_sglist_no_difb(struct qla_hw_data *ha, srb_t *sp,dma_addr_t sle_dma;uint32_t sle_dma_len, tot_prot_dma_len =0 ;struct scsi_cmnd *cmd; -struct scsi_qla_host *vha;memset (&sgx,0 ,sizeof (struct qla2_sgx ));if (sp) { - vha = sp->fcport->vha; cmd =GET_CMD_SP (sp); prot_int = cmd->device->sector_size;
@@ -947,7 +942,6 @@ qla24xx_walk_and_build_sglist_no_difb(struct qla_hw_data *ha, srb_t *sp, sg_prot =scsi_prot_sglist (cmd); }else if (tc) { - vha = tc->vha; prot_int = tc->blk_sz; sgx.tot_bytes = tc->bufflen; sgx.cur_sg = tc->sg;
@@ -1047,15 +1041,12 @@ qla24xx_walk_and_build_sglist(struct qla_hw_data *ha, srb_t *sp, uint32_t *dsd,int i;uint16_t used_dsds = tot_dsds;struct scsi_cmnd *cmd; -struct scsi_qla_host *vha;if (sp) { cmd =GET_CMD_SP (sp); sgl =scsi_sglist (cmd); - vha = sp->fcport->vha; }else if (tc) { sgl = tc->sg; - vha = tc->vha; }else {BUG ();return 1 ;
@@ -1231,7 +1222,6 @@ qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt,uint32_t *cur_dsd, *fcp_dl;scsi_qla_host_t *vha;struct scsi_cmnd *cmd; -int sgc;uint32_t total_bytes =0 ;uint32_t data_bytes;uint32_t dif_bytes;
@@ -1247,7 +1237,6 @@ qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt, cmd =GET_CMD_SP (sp); - sgc =0 ;/* Update entry type to indicate Command Type CRC_2 IOCB */ *((uint32_t *)(&cmd_pkt->entry_type)) =__constant_cpu_to_le32 (COMMAND_TYPE_CRC_2 );
@@ -1442,7 +1431,7 @@ crc_queuing_error:int qla24xx_start_scsi (srb_t *sp) { -int ret, nseg; +int nseg;unsigned long flags;uint32_t *clr_ptr;uint32_t index;
@@ -1458,8 +1447,6 @@ qla24xx_start_scsi(srb_t *sp)struct qla_hw_data *ha = vha->hw;/* Setup device pointers. */ - ret =0 ; -qla25xx_set_que (sp, &rsp); req = vha->req;
@@ -2088,7 +2075,6 @@ qla2x00_ct_iocb(srb_t *sp, ms_iocb_entry_t *ct_iocb)struct qla_hw_data *ha = vha->hw;struct fc_bsg_job *bsg_job = sp->u.bsg_job;int loop_iterartion =0 ; -int cont_iocb_prsnt =0 ;int entry_count =1 ;memset (ct_iocb,0 ,sizeof (ms_iocb_entry_t));
@@ -2139,7 +2125,6 @@ qla2x00_ct_iocb(srb_t *sp, ms_iocb_entry_t *ct_iocb) vha->hw->req_q_map[0]); cur_dsd = (uint32_t *) cont_pkt->dseg_0_address; avail_dsds =5 ; - cont_iocb_prsnt =1 ; entry_count++; }
@@ -2167,7 +2152,6 @@ qla24xx_ct_iocb(srb_t *sp, struct ct_entry_24xx *ct_iocb)struct qla_hw_data *ha = vha->hw;struct fc_bsg_job *bsg_job = sp->u.bsg_job;int loop_iterartion =0 ; -int cont_iocb_prsnt =0 ;int entry_count =1 ; ct_iocb->entry_type =CT_IOCB_TYPE ;
@@ -2214,7 +2198,6 @@ qla24xx_ct_iocb(srb_t *sp, struct ct_entry_24xx *ct_iocb) ha->req_q_map[0]); cur_dsd = (uint32_t *) cont_pkt->dseg_0_address; avail_dsds =5 ; - cont_iocb_prsnt =1 ; entry_count++; }
@@ -2237,7 +2220,7 @@ qla24xx_ct_iocb(srb_t *sp, struct ct_entry_24xx *ct_iocb)int qla82xx_start_scsi (srb_t *sp) { -int ret, nseg; +int nseg;unsigned long flags;struct scsi_cmnd *cmd;uint32_t *clr_ptr;
@@ -2257,7 +2240,6 @@ qla82xx_start_scsi(srb_t *sp)struct rsp_que *rsp =NULL ;/* Setup device pointers. */ - ret =0 ; reg = &ha->iobase->isp82; cmd =GET_CMD_SP (sp); req = vha->req;
drivers/scsi/qla2xxx/qla_isr.c +1 -2
@@ -575,7 +575,7 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb)struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;struct device_reg_24xx __iomem *reg24 = &ha->iobase->isp24;struct device_reg_82xx __iomem *reg82 = &ha->iobase->isp82; -uint32_t rscn_entry, host_pid, tmp_pid; +uint32_t rscn_entry, host_pid;unsigned long flags;fc_port_t *fcport =NULL ;
@@ -987,7 +987,6 @@ skip_rio:list_for_each_entry (fcport, &vha->vp_fcports, list) {if (atomic_read (&fcport->state) !=FCS_ONLINE )continue ; - tmp_pid = fcport->d_id.b24;if (fcport->d_id.b24 == rscn_entry) {qla2x00_mark_device_lost (vha, fcport,0 ,0 );break ;
drivers/scsi/qla2xxx/qla_mbx.c +0 -4
@@ -1851,7 +1851,6 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,uint32_t iop[2 ];struct qla_hw_data *ha = vha->hw;struct req_que *req; -struct rsp_que *rsp;ql_dbg (ql_dbg_mbx + ql_dbg_verbose, vha,0x1061 ,"Entered %s.\n" , __func__);
@@ -1860,7 +1859,6 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, req = ha->req_q_map[0 ]; else req = vha->req; - rsp = req->rsp; lg =dma_pool_alloc (ha->s_dma_pool,GFP_KERNEL , &lg_dma);if (lg ==NULL ) {
@@ -2128,7 +2126,6 @@ qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,dma_addr_t lg_dma;struct qla_hw_data *ha = vha->hw;struct req_que *req; -struct rsp_que *rsp;ql_dbg (ql_dbg_mbx + ql_dbg_verbose, vha,0x106d ,"Entered %s.\n" , __func__);
@@ -2145,7 +2142,6 @@ qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, req = ha->req_q_map[0 ]; else req = vha->req; - rsp = req->rsp; lg->entry_type =LOGINOUT_PORT_IOCB_TYPE ; lg->entry_count =1 ; lg->handle =MAKE_HANDLE (req->id, lg->handle);
drivers/scsi/qla2xxx/qla_mid.c +1 -2
@@ -365,7 +365,6 @@ qla2x00_do_dpc_vp(scsi_qla_host_t *vha)void qla2x00_do_dpc_all_vps (scsi_qla_host_t *vha) { -int ret;struct qla_hw_data *ha = vha->hw;scsi_qla_host_t *vp;unsigned long flags =0 ;
@@ -386,7 +385,7 @@ qla2x00_do_dpc_all_vps(scsi_qla_host_t *vha)atomic_inc (&vp->vref_count);spin_unlock_irqrestore (&ha->vport_slock, flags); - ret =qla2x00_do_dpc_vp (vp); +qla2x00_do_dpc_vp (vp);spin_lock_irqsave (&ha->vport_slock, flags);atomic_dec (&vp->vref_count);
drivers/scsi/qla2xxx/qla_mr.c +3 -7
@@ -1317,10 +1317,10 @@ int qlafx00_configure_devices(scsi_qla_host_t *vha) {int rval; -unsigned long flags, save_flags; +unsigned long flags; rval =QLA_SUCCESS ; - save_flags = flags = vha->dpc_flags; + flags = vha->dpc_flags;ql_dbg (ql_dbg_disc, vha,0x2090 ,"Configure devices -- dpc flags =0x%lx\n" , flags);
@@ -2279,7 +2279,6 @@ qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)struct sts_entry_fx00 *sts;__le16 comp_status;__le16 scsi_status; -uint16_t ox_id;__le16 lscsi_status;int32_t resid; uint32_t sense_len, par_sense_len, rsp_info_len, resid_len,
@@ -2344,7 +2343,6 @@ qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) fcport = sp->fcport; - ox_id =0 ; sense_len = par_sense_len = rsp_info_len = resid_len = fw_resid_len =0 ;if (scsi_status &cpu_to_le16 ((uint16_t )SS_SENSE_LEN_VALID ))
@@ -3071,7 +3069,7 @@ qlafx00_build_scsi_iocbs(srb_t *sp, struct cmd_type_7_fx00 *cmd_pkt,int qlafx00_start_scsi (srb_t *sp) { -int ret, nseg; +int nseg;unsigned long flags;uint32_t index;uint32_t handle;
@@ -3088,8 +3086,6 @@ qlafx00_start_scsi(srb_t *sp)struct scsi_lun llun;/* Setup device pointers. */ - ret =0 ; - rsp = ha->rsp_q_map[0 ]; req = vha->req;
drivers/scsi/qla2xxx/qla_nx.c +3 -6
@@ -1740,8 +1740,8 @@ qla82xx_pci_config(scsi_qla_host_t *vha) ret =pci_set_mwi (ha->pdev); ha->chip_revision = ha->pdev->revision;ql_dbg (ql_dbg_init, vha,0x0043 , -"Chip revision:%d.\n" , - ha->chip_revision); +"Chip revision:%d; pci_set_mwi() returned %d.\n" , + ha->chip_revision, ret);return 0 ; }
@@ -2671,7 +2671,7 @@ qla82xx_write_flash_data(struct scsi_qla_host *vha, uint32_t *dwptr, {int ret;uint32_t liter; -uint32_t sec_mask, rest_addr; +uint32_t rest_addr;dma_addr_t optrom_dma;void *optrom =NULL ;int page_mode =0 ;
@@ -2693,7 +2693,6 @@ qla82xx_write_flash_data(struct scsi_qla_host *vha, uint32_t *dwptr, } rest_addr = ha->fdt_block_size -1 ; - sec_mask = ~rest_addr; ret =qla82xx_unprotect_flash (ha);if (ret) {
@@ -2789,7 +2788,6 @@ qla82xx_start_iocbs(scsi_qla_host_t *vha) {struct qla_hw_data *ha = vha->hw;struct req_que *req = ha->req_q_map[0 ]; -struct device_reg_82xx __iomem *reg;uint32_t dbval;/* Adjust ring index. */
@@ -2800,7 +2798,6 @@ qla82xx_start_iocbs(scsi_qla_host_t *vha) }else req->ring_ptr++; - reg = &ha->iobase->isp82; dbval =0x04 | (ha->portnum <<5 ); dbval = dbval | (req->id <<8 ) | (req->ring_index <<16 );
drivers/scsi/qla2xxx/qla_nx2.c +4 -8
@@ -462,12 +462,11 @@ qla8044_flash_lock(scsi_qla_host_t *vha)static void qla8044_flash_unlock (scsi_qla_host_t *vha) { -int ret_val;struct qla_hw_data *ha = vha->hw;/* Reading FLASH_UNLOCK register unlocks the Flash */ qla8044_wr_reg (ha,QLA8044_FLASH_LOCK_ID ,0xFF ); - ret_val =qla8044_rd_reg (ha,QLA8044_FLASH_UNLOCK ); +qla8044_rd_reg (ha,QLA8044_FLASH_UNLOCK ); }
@@ -2992,7 +2991,7 @@ qla8044_minidump_process_rddfe(struct scsi_qla_host *vha,uint32_t addr1, addr2, value, data, temp, wrVal;uint8_t stride, stride2;uint16_t count; -uint32_t poll, mask, data_size, modify_mask; +uint32_t poll, mask, modify_mask;uint32_t wait_count =0 ;uint32_t *data_ptr = *d_ptr;
@@ -3009,7 +3008,6 @@ qla8044_minidump_process_rddfe(struct scsi_qla_host *vha, poll = rddfe->poll; mask = rddfe->mask; modify_mask = rddfe->modify_mask; - data_size = rddfe->data_size; addr2 = addr1 + stride;
@@ -3091,7 +3089,7 @@ qla8044_minidump_process_rdmdio(struct scsi_qla_host *vha,uint8_t stride1, stride2;uint32_t addr3, addr4, addr5, addr6, addr7;uint16_t count, loop_cnt; -uint32_t poll, mask; +uint32_t mask;uint32_t *data_ptr = *d_ptr;struct qla8044_minidump_entry_rdmdio *rdmdio;
@@ -3105,7 +3103,6 @@ qla8044_minidump_process_rdmdio(struct scsi_qla_host *vha, stride2 = rdmdio->stride_2; count = rdmdio->count; - poll = rdmdio->poll; mask = rdmdio->mask; value2 = rdmdio->value_2;
@@ -3165,7 +3162,7 @@ error:static uint32_t qla8044_minidump_process_pollwr (struct scsi_qla_host *vha,struct qla8044_minidump_entry_hdr *entry_hdr,uint32_t **d_ptr) { -uint32_t addr1, addr2, value1, value2, poll, mask, r_value; +uint32_t addr1, addr2, value1, value2, poll, r_value;uint32_t wait_count =0 ;struct qla8044_minidump_entry_pollwr *pollwr_hdr;
@@ -3176,7 +3173,6 @@ static uint32_t qla8044_minidump_process_pollwr(struct scsi_qla_host *vha, value2 = pollwr_hdr->value_2; poll = pollwr_hdr->poll; - mask = pollwr_hdr->mask;while (wait_count < poll) {qla8044_rd_reg_indirect (vha, addr1, &r_value);
drivers/scsi/qla2xxx/qla_os.c +2 -4
@@ -2973,7 +2973,6 @@ qla2x00_shutdown(struct pci_dev *pdev)static void qla2x00_delete_all_vps (struct qla_hw_data *ha,scsi_qla_host_t *base_vha) { -struct Scsi_Host *scsi_host;scsi_qla_host_t *vha;unsigned long flags;
@@ -2984,7 +2983,7 @@ qla2x00_delete_all_vps(struct qla_hw_data *ha, scsi_qla_host_t *base_vha)BUG_ON (base_vha->list.next == &ha->vp_list);/* This assumes first entry in ha->vp_list is always base vha */ vha =list_first_entry (&base_vha->list, scsi_qla_host_t, list); - scsi_host =scsi_host_get (vha->host); +scsi_host_get (vha->host);spin_unlock_irqrestore (&ha->vport_slock, flags);mutex_unlock (&ha->vport_lock);
@@ -4788,7 +4787,6 @@ qla2x00_disable_board_on_pci_error(struct work_struct *work)static int qla2x00_do_dpc (void *data) { -int rval;scsi_qla_host_t *base_vha;struct qla_hw_data *ha;
@@ -5020,7 +5018,7 @@ loop_resync_check:if (!(test_and_set_bit (LOOP_RESYNC_ACTIVE , &base_vha->dpc_flags))) { - rval =qla2x00_loop_resync (base_vha); +qla2x00_loop_resync (base_vha);clear_bit (LOOP_RESYNC_ACTIVE , &base_vha->dpc_flags);
drivers/scsi/qla2xxx/qla_target.c +4 -15
@@ -2079,7 +2079,6 @@ static inline int qlt_build_ctio_crc2_pkt(struct qla_tgt_prm *prm, scsi_qla_host_t *vha) { uint32_t *cur_dsd; -int sgc;uint32_t transfer_length =0 ;uint32_t data_bytes;uint32_t dif_bytes;
@@ -2096,7 +2095,6 @@ qlt_build_ctio_crc2_pkt(struct qla_tgt_prm *prm, scsi_qla_host_t *vha)struct atio_from_isp *atio = &prm->cmd->atio;uint16_t t16; - sgc =0 ; ha = vha->hw; pkt = (struct ctio_crc2_to_fw *)vha->req->ring_ptr;
@@ -2565,7 +2563,7 @@ qlt_handle_dif_error(struct scsi_qla_host *vha, struct qla_tgt_cmd *cmd,/* Update protection tag */ if (cmd->prot_sg_cnt) { -uint32_t i, j =0 , k =0 , num_ent; +uint32_t i, k =0 , num_ent;struct scatterlist *sg, *sgl;
@@ -2578,7 +2576,6 @@ qlt_handle_dif_error(struct scsi_qla_host *vha, struct qla_tgt_cmd *cmd, k += num_ent;continue ; } - j = blocks_done - k -1 ; k = blocks_done;break ; }
@@ -3065,7 +3062,6 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle, {struct qla_hw_data *ha = vha->hw;struct se_cmd *se_cmd; -struct target_core_fabric_ops *tfo;struct qla_tgt_cmd *cmd;if (handle &CTIO_INTERMEDIATE_HANDLE_MARK ) {
@@ -3083,7 +3079,6 @@ static void qlt_do_ctio_completion(struct scsi_qla_host *vha, uint32_t handle,return ; se_cmd = &cmd->se_cmd; - tfo = se_cmd->se_tfo; cmd->cmd_sent_to_fw =0 ;qlt_unmap_sg (vha, cmd);
@@ -3181,13 +3176,9 @@ skip_term:if (cmd->state ==QLA_TGT_STATE_PROCESSED ) { ; }else if (cmd->state ==QLA_TGT_STATE_NEED_DATA ) { -int rx_status =0 ; - cmd->state =QLA_TGT_STATE_DATA_IN ; -if (unlikely (status !=CTIO_SUCCESS )) - rx_status = -EIO ; -else +if (status ==CTIO_SUCCESS ) cmd->write_data_transferred =1 ; ha->tgt.tgt_ops->handle_data (cmd);
@@ -3582,12 +3573,11 @@ static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb)struct qla_tgt *tgt;struct qla_tgt_sess *sess;uint32_t lun, unpacked_lun; -int lun_size, fn; +int fn; tgt = vha->vha_tgt.qla_tgt; lun = a->u.isp24.fcp_cmnd.lun; - lun_size =sizeof (a->u.isp24.fcp_cmnd.lun); fn = a->u.isp24.fcp_cmnd.task_mgmt_flags; sess = ha->tgt.tgt_ops->find_sess_by_s_id (vha, a->u.isp24.fcp_hdr.s_id);
@@ -5048,7 +5038,7 @@ static void qlt_tmr_work(struct qla_tgt *tgt,uint8_t *s_id =NULL ;/* to hide compiler warnings */ int rc;uint32_t lun, unpacked_lun; -int lun_size, fn; +int fn;void *iocb;spin_lock_irqsave (&ha->hardware_lock, flags);
@@ -5075,7 +5065,6 @@ static void qlt_tmr_work(struct qla_tgt *tgt, iocb = a; lun = a->u.isp24.fcp_cmnd.lun; - lun_size =sizeof (lun); fn = a->u.isp24.fcp_cmnd.task_mgmt_flags; unpacked_lun =scsilun_to_int ((struct scsi_lun *)&lun);
drivers/scsi/qla2xxx/qla_tmpl.c +1 -2
@@ -796,9 +796,8 @@ static void qla27xx_driver_info(struct qla27xx_fwdt_template *tmp) {uint8_t v[] = {0 ,0 ,0 ,0 ,0 ,0 }; -int rval =0 ; - rval =sscanf (qla2x00_version_str,"%hhu.%hhu.%hhu.%hhu.%hhu.%hhu" , +sscanf (qla2x00_version_str,"%hhu.%hhu.%hhu.%hhu.%hhu.%hhu" , v+0 , v+1 , v+2 , v+3 , v+4 , v+5 ); tmp->driver_info[0 ] = v[3 ] <<24 | v[2 ] <<16 | v[1 ] <<8 | v[0 ];
Signature · 1 line
2.1.2
PATCH 4/10 qla2xxx: Replace two macros with an inline function
In reply to Bart Van AsscheReplace the QLA82XX_ADDR_IN_RANGE() and QLA8044_ADDR_IN_RANGE() macros with the inline function addr_in_range(). This avoids that the compiler reports the following warning when building with W=1: comparison of unsigned expression >= 0 is always true.
--- drivers/scsi/qla2xxx/qla_nx.c | 21 +++++++++------------ drivers/scsi/qla2xxx/qla_nx2.c | 4 ++-- drivers/scsi/qla2xxx/qla_nx2.h | 6 ++++-- 3 files changed, 15 insertions(+), 16 deletions(-)
drivers/scsi/qla2xxx/qla_nx.c +9 -12
@@ -547,9 +547,6 @@ void qla82xx_idc_unlock(struct qla_hw_data *ha)qla82xx_rd_32 (ha,QLA82XX_PCIE_REG (PCIE_SEM5_UNLOCK )); } -/* PCI Windowing for DDR regions. */ -#define QLA82XX_ADDR_IN_RANGE (addr, low, high) \ - (((addr) <= (high)) && ((addr) >= (low)))/* * check memory access boundary. * used by test agent. support ddr access only for now
@@ -558,9 +555,9 @@ static unsigned long qla82xx_pci_mem_bound_check(struct qla_hw_data *ha, unsigned long long addr, int size) { - if (!QLA82XX_ADDR_IN_RANGE(addr, QLA82XX_ADDR_DDR_NET, + if (!addr_in_range(addr, QLA82XX_ADDR_DDR_NET, QLA82XX_ADDR_DDR_NET_MAX) || - !QLA82XX_ADDR_IN_RANGE(addr + size - 1, QLA82XX_ADDR_DDR_NET, + !addr_in_range(addr + size - 1, QLA82XX_ADDR_DDR_NET, QLA82XX_ADDR_DDR_NET_MAX) || ((size != 1) && (size != 2) && (size != 4) && (size != 8))) return 0;
@@ -577,7 +574,7 @@ qla82xx_pci_set_window(struct qla_hw_data *ha, unsigned long long addr)u32 win_read;scsi_qla_host_t *vha =pci_get_drvdata (ha->pdev); -if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_DDR_NET , +if (addr_in_range (addr,QLA82XX_ADDR_DDR_NET ,QLA82XX_ADDR_DDR_NET_MAX )) {/* DDR network side */ window =MN_WIN (addr);
@@ -592,7 +589,7 @@ qla82xx_pci_set_window(struct qla_hw_data *ha, unsigned long long addr) __func__, window, win_read); } addr =GET_MEM_OFFS_2M (addr) +QLA82XX_PCI_DDR_NET ; - }else if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_OCM0 , + }else if (addr_in_range (addr,QLA82XX_ADDR_OCM0 ,QLA82XX_ADDR_OCM0_MAX )) {unsigned int temp1;if ((addr &0x00ff800 ) ==0xff800 ) {
@@ -615,7 +612,7 @@ qla82xx_pci_set_window(struct qla_hw_data *ha, unsigned long long addr) } addr =GET_MEM_OFFS_2M (addr) +QLA82XX_PCI_OCM0_2M ; - }else if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_QDR_NET , + }else if (addr_in_range (addr,QLA82XX_ADDR_QDR_NET ,QLA82XX_P3_ADDR_QDR_NET_MAX )) {/* QDR network side */ window =MS_WIN (addr);
@@ -656,16 +653,16 @@ static int qla82xx_pci_is_same_window(struct qla_hw_data *ha, qdr_max =QLA82XX_P3_ADDR_QDR_NET_MAX ;/* DDR network side */ -if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_DDR_NET , +if (addr_in_range (addr,QLA82XX_ADDR_DDR_NET ,QLA82XX_ADDR_DDR_NET_MAX ))BUG (); -else if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_OCM0 , +else if (addr_in_range (addr,QLA82XX_ADDR_OCM0 ,QLA82XX_ADDR_OCM0_MAX ))return 1 ; -else if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_OCM1 , +else if (addr_in_range (addr,QLA82XX_ADDR_OCM1 ,QLA82XX_ADDR_OCM1_MAX ))return 1 ; -else if (QLA82XX_ADDR_IN_RANGE (addr,QLA82XX_ADDR_QDR_NET , qdr_max)) { +else if (addr_in_range (addr,QLA82XX_ADDR_QDR_NET , qdr_max)) {/* QDR network side */ window = ((addr -QLA82XX_ADDR_QDR_NET ) >>22 ) &0x3f ;if (ha->qdr_sn_window == window)
drivers/scsi/qla2xxx/qla_nx2.c +2 -2
@@ -1129,9 +1129,9 @@ qla8044_ms_mem_write_128b(struct scsi_qla_host *vha, }for (i =0 ; i < count; i++, addr +=16 ) { -if (!((QLA8044_ADDR_IN_RANGE (addr,QLA8044_ADDR_QDR_NET , +if (!((addr_in_range (addr,QLA8044_ADDR_QDR_NET ,QLA8044_ADDR_QDR_NET_MAX )) || - (QLA8044_ADDR_IN_RANGE (addr,QLA8044_ADDR_DDR_NET , + (addr_in_range (addr,QLA8044_ADDR_DDR_NET ,QLA8044_ADDR_DDR_NET_MAX )))) { ret_val =QLA_FUNCTION_FAILED ; goto exit_ms_mem_write_unlock;
drivers/scsi/qla2xxx/qla_nx2.h +4 -2
@@ -58,8 +58,10 @@#define QLA8044_PCI_QDR_NET_MAX ((unsigned long)0x043fffff)/* PCI Windowing for DDR regions. */ -#define QLA8044_ADDR_IN_RANGE (addr, low, high) \ - (((addr) <= (high)) && ((addr) >= (low))) +static inline bool addr_in_range (u64 addr,u64 low,u64 high) +{ +return addr <= high && addr >= low; +}/* Indirectly Mapped Registers */ #define QLA8044_FLASH_SPI_STATUS 0x2808E010
Signature · 1 line
2.1.2
PATCH 5/10 qla2xxx: Remove __constant_ prefix
In reply to Bart Van AsscheWhether htonl() or __constant_htonl() is used, if the argument is a constant the conversion happens at compile time. Hence leave out the __constant_ prefix for this and other endianness conversion functions. This improves source code readability.
--- drivers/scsi/qla2xxx/qla_dbg.c | 36 +++++----- drivers/scsi/qla2xxx/qla_gs.c | 52 +++++++------- drivers/scsi/qla2xxx/qla_init.c | 143 ++++++++++++++++++-------------------- drivers/scsi/qla2xxx/qla_iocb.c | 88 ++++++++++------------- drivers/scsi/qla2xxx/qla_isr.c | 2 +- drivers/scsi/qla2xxx/qla_mbx.c | 25 ++++--- drivers/scsi/qla2xxx/qla_mr.c | 2 +- drivers/scsi/qla2xxx/qla_nx.c | 6 +- drivers/scsi/qla2xxx/qla_sup.c | 14 ++-- drivers/scsi/qla2xxx/qla_target.c | 116 +++++++++++++++---------------- 10 files changed, 231 insertions(+), 253 deletions(-)
drivers/scsi/qla2xxx/qla_dbg.c +18 -18
@@ -486,7 +486,7 @@ qla25xx_copy_fce(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain)return ptr; *last_chain = &fcec->type; - fcec->type =__constant_htonl (DUMP_CHAIN_FCE ); + fcec->type =htonl (DUMP_CHAIN_FCE ); fcec->chain_size =htonl (sizeof (struct qla2xxx_fce_chain ) +fce_calc_size (ha->fce_bufs)); fcec->size =htonl (fce_calc_size (ha->fce_bufs));
@@ -527,7 +527,7 @@ qla2xxx_copy_atioqueues(struct qla_hw_data *ha, void *ptr,/* aqp = ha->atio_q_map[que]; */ q = ptr; *last_chain = &q->type; - q->type =__constant_htonl (DUMP_CHAIN_QUEUE ); + q->type =htonl (DUMP_CHAIN_QUEUE ); q->chain_size = htonl( sizeof(struct qla2xxx_mqueue_chain) + sizeof(struct qla2xxx_mqueue_header) +
@@ -536,7 +536,7 @@ qla2xxx_copy_atioqueues(struct qla_hw_data *ha, void *ptr,/* Add header. */ qh = ptr; - qh->queue =__constant_htonl (TYPE_ATIO_QUEUE ); + qh->queue =htonl (TYPE_ATIO_QUEUE ); qh->number =htonl (que); qh->size =htonl (aqp->length *sizeof (request_t)); ptr +=sizeof (struct qla2xxx_mqueue_header );
@@ -571,7 +571,7 @@ qla25xx_copy_mqueues(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain)/* Add chain. */ q = ptr; *last_chain = &q->type; - q->type =__constant_htonl (DUMP_CHAIN_QUEUE ); + q->type =htonl (DUMP_CHAIN_QUEUE ); q->chain_size = htonl( sizeof(struct qla2xxx_mqueue_chain) + sizeof(struct qla2xxx_mqueue_header) +
@@ -580,7 +580,7 @@ qla25xx_copy_mqueues(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain)/* Add header. */ qh = ptr; - qh->queue =__constant_htonl (TYPE_REQUEST_QUEUE ); + qh->queue =htonl (TYPE_REQUEST_QUEUE ); qh->number =htonl (que); qh->size =htonl (req->length *sizeof (request_t)); ptr +=sizeof (struct qla2xxx_mqueue_header );
@@ -599,7 +599,7 @@ qla25xx_copy_mqueues(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain)/* Add chain. */ q = ptr; *last_chain = &q->type; - q->type =__constant_htonl (DUMP_CHAIN_QUEUE ); + q->type =htonl (DUMP_CHAIN_QUEUE ); q->chain_size = htonl( sizeof(struct qla2xxx_mqueue_chain) + sizeof(struct qla2xxx_mqueue_header) +
@@ -608,7 +608,7 @@ qla25xx_copy_mqueues(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain)/* Add header. */ qh = ptr; - qh->queue =__constant_htonl (TYPE_RESPONSE_QUEUE ); + qh->queue =htonl (TYPE_RESPONSE_QUEUE ); qh->number =htonl (que); qh->size =htonl (rsp->length *sizeof (response_t)); ptr +=sizeof (struct qla2xxx_mqueue_header );
@@ -634,8 +634,8 @@ qla25xx_copy_mq(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain) mq = ptr; *last_chain = &mq->type; - mq->type =__constant_htonl (DUMP_CHAIN_MQ ); - mq->chain_size =__constant_htonl (sizeof (struct qla2xxx_mq_chain )); + mq->type =htonl (DUMP_CHAIN_MQ ); + mq->chain_size =htonl (sizeof (struct qla2xxx_mq_chain )); que_cnt = ha->max_req_queues > ha->max_rsp_queues ? ha->max_req_queues : ha->max_rsp_queues;
@@ -1271,8 +1271,8 @@ qla24xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) nxt_chain = (void *)ha->fw_dump + ha->chain_offset; nxt_chain =qla2xxx_copy_atioqueues (ha, nxt_chain, &last_chain);if (last_chain) { - ha->fw_dump->version |=__constant_htonl (DUMP_CHAIN_VARIANT ); - *last_chain |=__constant_htonl (DUMP_CHAIN_LAST ); + ha->fw_dump->version |=htonl (DUMP_CHAIN_VARIANT ); + *last_chain |=htonl (DUMP_CHAIN_LAST ); }/* Adjust valid length. */
@@ -1323,7 +1323,7 @@ qla25xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) } fw = &ha->fw_dump->isp.isp25;qla2xxx_prep_dump (ha, ha->fw_dump); - ha->fw_dump->version =__constant_htonl (2 ); + ha->fw_dump->version =htonl (2 ); fw->host_status =htonl (RD_REG_DWORD (®->host_status));
@@ -1587,8 +1587,8 @@ qla25xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) nxt_chain =qla25xx_copy_mqueues (ha, nxt_chain, &last_chain); nxt_chain =qla2xxx_copy_atioqueues (ha, nxt_chain, &last_chain);if (last_chain) { - ha->fw_dump->version |=__constant_htonl (DUMP_CHAIN_VARIANT ); - *last_chain |=__constant_htonl (DUMP_CHAIN_LAST ); + ha->fw_dump->version |=htonl (DUMP_CHAIN_VARIANT ); + *last_chain |=htonl (DUMP_CHAIN_LAST ); }/* Adjust valid length. */
@@ -1905,8 +1905,8 @@ qla81xx_fw_dump(scsi_qla_host_t *vha, int hardware_locked) nxt_chain =qla25xx_copy_mqueues (ha, nxt_chain, &last_chain); nxt_chain =qla2xxx_copy_atioqueues (ha, nxt_chain, &last_chain);if (last_chain) { - ha->fw_dump->version |=__constant_htonl (DUMP_CHAIN_VARIANT ); - *last_chain |=__constant_htonl (DUMP_CHAIN_LAST ); + ha->fw_dump->version |=htonl (DUMP_CHAIN_VARIANT ); + *last_chain |=htonl (DUMP_CHAIN_LAST ); }/* Adjust valid length. */
@@ -2408,8 +2408,8 @@ copy_queue: nxt_chain =qla25xx_copy_mqueues (ha, nxt_chain, &last_chain); nxt_chain =qla2xxx_copy_atioqueues (ha, nxt_chain, &last_chain);if (last_chain) { - ha->fw_dump->version |=__constant_htonl (DUMP_CHAIN_VARIANT ); - *last_chain |=__constant_htonl (DUMP_CHAIN_LAST ); + ha->fw_dump->version |=htonl (DUMP_CHAIN_VARIANT ); + *last_chain |=htonl (DUMP_CHAIN_LAST ); }/* Adjust valid length. */
drivers/scsi/qla2xxx/qla_gs.c +26 -26
154 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_init.c +69 -74
337 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_iocb.c +38 -50
259 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_isr.c +1 -1
@@ -1553,7 +1553,7 @@ qla24xx_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, void *tsk)"Async-%s error - hdl=%x entry-status(%x).\n" , type, sp->handle, sts->entry_status); iocb->u.tmf.data =QLA_FUNCTION_FAILED ; - }else if (sts->comp_status !=__constant_cpu_to_le16 (CS_COMPLETE )) { + }else if (sts->comp_status !=cpu_to_le16 (CS_COMPLETE )) {ql_log (ql_log_warn, fcport->vha,0x5039 ,"Async-%s error - hdl=%x completion status(%x).\n" , type, sp->handle, sts->comp_status);
drivers/scsi/qla2xxx/qla_mbx.c +12 -13
@@ -1872,11 +1872,11 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, lg->entry_count =1 ; lg->handle =MAKE_HANDLE (req->id, lg->handle); lg->nport_handle =cpu_to_le16 (loop_id); - lg->control_flags =__constant_cpu_to_le16 (LCF_COMMAND_PLOGI ); + lg->control_flags =cpu_to_le16 (LCF_COMMAND_PLOGI );if (opt &BIT_0 ) - lg->control_flags |=__constant_cpu_to_le16 (LCF_COND_PLOGI ); + lg->control_flags |=cpu_to_le16 (LCF_COND_PLOGI );if (opt &BIT_1 ) - lg->control_flags |=__constant_cpu_to_le16 (LCF_SKIP_PRLI ); + lg->control_flags |=cpu_to_le16 (LCF_SKIP_PRLI ); lg->port_id[0 ] = al_pa; lg->port_id[1 ] = area; lg->port_id[2 ] = domain;
@@ -1891,7 +1891,7 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,"Failed to complete IOCB -- error status (%x).\n" , lg->entry_status); rval =QLA_FUNCTION_FAILED ; - }else if (lg->comp_status !=__constant_cpu_to_le16 (CS_COMPLETE )) { + }else if (lg->comp_status !=cpu_to_le16 (CS_COMPLETE )) { iop[0 ] =le32_to_cpu (lg->io_parameter[0 ]); iop[1 ] =le32_to_cpu (lg->io_parameter[1 ]);
@@ -1945,7 +1945,7 @@ qla24xx_login_fabric(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, mb[10 ] |=BIT_0 ;/* Class 2. */ if (lg->io_parameter[9 ] || lg->io_parameter[10 ]) mb[10 ] |=BIT_1 ;/* Class 3. */ -if (lg->io_parameter[0 ] &__constant_cpu_to_le32 (BIT_7 )) +if (lg->io_parameter[0 ] &cpu_to_le32 (BIT_7 )) mb[10 ] |=BIT_7 ;/* Confirmed Completion * Allowed */
@@ -2147,7 +2147,7 @@ qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain, lg->handle =MAKE_HANDLE (req->id, lg->handle); lg->nport_handle =cpu_to_le16 (loop_id); lg->control_flags = -__constant_cpu_to_le16 (LCF_COMMAND_LOGO |LCF_IMPL_LOGO | +cpu_to_le16 (LCF_COMMAND_LOGO |LCF_IMPL_LOGO |LCF_FREE_NPORT ); lg->port_id[0 ] = al_pa; lg->port_id[1 ] = area;
@@ -2163,7 +2163,7 @@ qla24xx_fabric_logout(scsi_qla_host_t *vha, uint16_t loop_id, uint8_t domain,"Failed to complete IOCB -- error status (%x).\n" , lg->entry_status); rval =QLA_FUNCTION_FAILED ; - }else if (lg->comp_status !=__constant_cpu_to_le16 (CS_COMPLETE )) { + }else if (lg->comp_status !=cpu_to_le16 (CS_COMPLETE )) { ql_dbg(ql_dbg_mbx, vha, 0x1071, "Failed to complete IOCB -- completion status (%x) " "ioparam=%x/%x.\n", le16_to_cpu(lg->comp_status),
@@ -2654,7 +2654,7 @@ qla24xx_abort_command(srb_t *sp)"Failed to complete IOCB -- error status (%x).\n" , abt->entry_status); rval =QLA_FUNCTION_FAILED ; - }else if (abt->nport_handle !=__constant_cpu_to_le16 (0 )) { + }else if (abt->nport_handle !=cpu_to_le16 (0 )) {ql_dbg (ql_dbg_mbx, vha,0x1090 ,"Failed to complete IOCB -- completion status (%x).\n" ,le16_to_cpu (abt->nport_handle));
@@ -2737,8 +2737,7 @@ __qla24xx_issue_tmf(char *name, uint32_t type, struct fc_port *fcport,"Failed to complete IOCB -- error status (%x).\n" , sts->entry_status); rval =QLA_FUNCTION_FAILED ; - }else if (sts->comp_status != -__constant_cpu_to_le16 (CS_COMPLETE )) { + }else if (sts->comp_status !=cpu_to_le16 (CS_COMPLETE )) {ql_dbg (ql_dbg_mbx, vha,0x1096 ,"Failed to complete IOCB -- completion status (%x).\n" ,le16_to_cpu (sts->comp_status));
@@ -3457,7 +3456,7 @@ qla24xx_modify_vp_config(scsi_qla_host_t *vha)"Failed to complete IOCB -- error status (%x).\n" , vpmod->comp_status); rval =QLA_FUNCTION_FAILED ; - }else if (vpmod->comp_status !=__constant_cpu_to_le16 (CS_COMPLETE )) { + }else if (vpmod->comp_status !=cpu_to_le16 (CS_COMPLETE )) {ql_dbg (ql_dbg_mbx, vha,0x10bf ,"Failed to complete IOCB -- completion status (%x).\n" ,le16_to_cpu (vpmod->comp_status));
@@ -3516,7 +3515,7 @@ qla24xx_control_vp(scsi_qla_host_t *vha, int cmd) vce->entry_type =VP_CTRL_IOCB_TYPE ; vce->entry_count =1 ; vce->command =cpu_to_le16 (cmd); - vce->vp_count =__constant_cpu_to_le16 (1 ); + vce->vp_count =cpu_to_le16 (1 );/* index map in firmware starts with 1; decrement index * this is ok as we never use index 0
@@ -3536,7 +3535,7 @@ qla24xx_control_vp(scsi_qla_host_t *vha, int cmd)"Failed to complete IOCB -- error status (%x).\n" , vce->entry_status); rval =QLA_FUNCTION_FAILED ; - }else if (vce->comp_status !=__constant_cpu_to_le16 (CS_COMPLETE )) { + }else if (vce->comp_status !=cpu_to_le16 (CS_COMPLETE )) {ql_dbg (ql_dbg_mbx, vha,0x10c5 ,"Failed to complet IOCB -- completion status (%x).\n" ,le16_to_cpu (vce->comp_status));
drivers/scsi/qla2xxx/qla_mr.c +1 -1
@@ -3007,7 +3007,7 @@ qlafx00_build_scsi_iocbs(srb_t *sp, struct cmd_type_7_fx00 *cmd_pkt,/* No data transfer */ if (!scsi_bufflen (cmd) || cmd->sc_data_direction ==DMA_NONE ) { - lcmd_pkt->byte_count =__constant_cpu_to_le32 (0 ); + lcmd_pkt->byte_count =cpu_to_le32 (0 );return ; }
drivers/scsi/qla2xxx/qla_nx.c +3 -3
@@ -1765,8 +1765,8 @@ void qla82xx_config_rings(struct scsi_qla_host *vha)/* Setup ring parameters in initialization control block. */ icb = (struct init_cb_81xx *)ha->init_cb; - icb->request_q_outpointer =__constant_cpu_to_le16 (0 ); - icb->response_q_inpointer =__constant_cpu_to_le16 (0 ); + icb->request_q_outpointer =cpu_to_le16 (0 ); + icb->response_q_inpointer =cpu_to_le16 (0 ); icb->request_q_length =cpu_to_le16 (req->length); icb->response_q_length =cpu_to_le16 (rsp->length); icb->request_q_address[0 ] =cpu_to_le32 (LSD (req->dma));
@@ -2546,7 +2546,7 @@ qla82xx_read_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, "Do ROM fast read failed.\n"); goto done_read; } - dwptr[i] =__constant_cpu_to_le32 (val); + dwptr[i] =cpu_to_le32 (val); } done_read:return dwptr;
drivers/scsi/qla2xxx/qla_sup.c +7 -7
@@ -316,7 +316,7 @@ qla2x00_clear_nvram_protection(struct qla_hw_data *ha) wprot_old =cpu_to_le16 (qla2x00_get_nvram_word (ha, ha->nvram_base)); stat =qla2x00_write_nvram_word_tmo (ha, ha->nvram_base, -__constant_cpu_to_le16 (0x1234 ),100000 ); +cpu_to_le16 (0x1234 ),100000 ); wprot =cpu_to_le16 (qla2x00_get_nvram_word (ha, ha->nvram_base));if (stat !=QLA_SUCCESS || wprot !=0x1234 ) {/* Write enable. */
@@ -691,9 +691,9 @@ qla2xxx_get_flt_info(scsi_qla_host_t *vha, uint32_t flt_addr) region = (struct qla_flt_region *)&flt[1 ]; ha->isp_ops->read_optrom (vha, (uint8_t *)req->ring, flt_addr <<2 ,OPTROM_BURST_SIZE ); -if (*wptr ==__constant_cpu_to_le16 (0xffff )) +if (*wptr ==cpu_to_le16 (0xffff )) goto no_flash_data; -if (flt->version !=__constant_cpu_to_le16 (1 )) { +if (flt->version !=cpu_to_le16 (1 )) { ql_log(ql_log_warn, vha, 0x0047, "Unsupported FLT detected: version=0x%x length=0x%x checksum=0x%x.\n", le16_to_cpu(flt->version), le16_to_cpu(flt->length),
@@ -892,7 +892,7 @@ qla2xxx_get_fdt_info(scsi_qla_host_t *vha) fdt = (struct qla_fdt_layout *)req->ring; ha->isp_ops->read_optrom (vha, (uint8_t *)req->ring, ha->flt_region_fdt <<2 ,OPTROM_BURST_SIZE ); -if (*wptr ==__constant_cpu_to_le16 (0xffff )) +if (*wptr ==cpu_to_le16 (0xffff )) goto no_flash_data;if (fdt->sig[0 ] !='Q' || fdt->sig[1 ] !='L' || fdt->sig[2 ] !='I' || fdt->sig[3 ] !='D' )
@@ -991,7 +991,7 @@ qla2xxx_get_idc_param(scsi_qla_host_t *vha) ha->isp_ops->read_optrom (vha, (uint8_t *)req->ring,QLA82XX_IDC_PARAM_ADDR ,8 ); -if (*wptr ==__constant_cpu_to_le32 (0xffffffff )) { +if (*wptr ==cpu_to_le32 (0xffffffff )) { ha->fcoe_dev_init_timeout =QLA82XX_ROM_DEV_INIT_TIMEOUT ; ha->fcoe_reset_timeout =QLA82XX_ROM_DRV_RESET_ACK_TIMEOUT ; }else {
@@ -1051,9 +1051,9 @@ qla2xxx_flash_npiv_conf(scsi_qla_host_t *vha) ha->isp_ops->read_optrom (vha, (uint8_t *)&hdr, ha->flt_region_npiv_conf <<2 ,sizeof (struct qla_npiv_header )); -if (hdr.version ==__constant_cpu_to_le16 (0xffff )) +if (hdr.version ==cpu_to_le16 (0xffff ))return ; -if (hdr.version !=__constant_cpu_to_le16 (1 )) { +if (hdr.version !=cpu_to_le16 (1 )) { ql_dbg(ql_dbg_user, vha, 0x7090, "Unsupported NPIV-Config " "detected: version=0x%x entries=0x%x checksum=0x%x.\n",
drivers/scsi/qla2xxx/qla_target.c +56 -60
356 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 6/10 qla2xxx: Avoid that sparse complains about duplicate [noderef] attributes
In reply to Bart Van Assche--- drivers/scsi/qla2xxx/qla_dbg.c | 2 +- drivers/scsi/qla2xxx/qla_init.c | 2 +- drivers/scsi/qla2xxx/qla_iocb.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-)
drivers/scsi/qla2xxx/qla_dbg.c +1 -1
@@ -627,7 +627,7 @@ qla25xx_copy_mq(struct qla_hw_data *ha, void *ptr, uint32_t **last_chain)uint32_t cnt, que_idx;uint8_t que_cnt;struct qla2xxx_mq_chain *mq = ptr; -device_reg_t __iomem *reg; +device_reg_t *reg;if (!ha->mqenable ||IS_QLA83XX (ha) ||IS_QLA27XX (ha))return ptr;
drivers/scsi/qla2xxx/qla_init.c +1 -1
@@ -2037,7 +2037,7 @@ void qla24xx_config_rings(struct scsi_qla_host *vha) {struct qla_hw_data *ha = vha->hw; -device_reg_t __iomem *reg =ISP_QUE_REG (ha,0 ); +device_reg_t *reg =ISP_QUE_REG (ha,0 );struct device_reg_2xxx __iomem *ioreg = &ha->iobase->isp;struct qla_msix_entry *msix;struct init_cb_24xx *icb;
drivers/scsi/qla2xxx/qla_iocb.c +2 -2
@@ -451,7 +451,7 @@ void qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req) { struct qla_hw_data *ha = vha->hw; -device_reg_t __iomem *reg =ISP_QUE_REG (ha, req->id); +device_reg_t *reg =ISP_QUE_REG (ha, req->id);if (IS_P3P_TYPE (ha)) {qla82xx_start_iocbs (vha);
@@ -1795,7 +1795,7 @@ qla2x00_alloc_iocbs(scsi_qla_host_t *vha, srb_t *sp) {struct qla_hw_data *ha = vha->hw;struct req_que *req = ha->req_q_map[0 ]; -device_reg_t __iomem *reg =ISP_QUE_REG (ha, req->id); +device_reg_t *reg =ISP_QUE_REG (ha, req->id);uint32_t index, handle;request_t *pkt;uint16_t cnt, req_cnt;
Signature · 1 line
2.1.2
PATCH 7/10 qla2xxx: Fix sparse annotations
In reply to Bart Van AsscheThis patch removes 21 casts between an __iomem pointer type and another data type but also introduces five new casts (see also the casts with "__force"). Although this patch does not change any functionality, IMHO the code with __force casts needs further review.
--- drivers/scsi/qla2xxx/qla_def.h | 6 +-- drivers/scsi/qla2xxx/qla_iocb.c | 12 ++--- drivers/scsi/qla2xxx/qla_mbx.c | 2 +- drivers/scsi/qla2xxx/qla_mr.c | 6 +-- drivers/scsi/qla2xxx/qla_nx.c | 107 +++++++++++++++++++--------------------- drivers/scsi/qla2xxx/qla_tmpl.c | 20 ++++---- 6 files changed, 71 insertions(+), 82 deletions(-)
drivers/scsi/qla2xxx/qla_def.h +3 -3
@@ -3415,9 +3415,9 @@ struct qla_hw_data {mempool_t *ctx_mempool;#define FCP_CMND_DMA_POOL_SIZE 512 -unsigned long nx_pcibase;/* Base I/O address */ -uint8_t *nxdb_rd_ptr;/* Doorbell read pointer */ -unsigned long nxdb_wr_ptr;/* Door bell write pointer */ +void __iomem *nx_pcibase;/* Base I/O address */ +void __iomem *nxdb_rd_ptr;/* Doorbell read pointer */ +void __iomem *nxdb_wr_ptr;/* Door bell write pointer */ uint32_t crb_win;uint32_t curr_window;
drivers/scsi/qla2xxx/qla_iocb.c +4 -8
@@ -2507,16 +2507,12 @@ sufficient_dsds:/* write, read and verify logic */ dbval = dbval | (req->id <<8 ) | (req->ring_index <<16 );if (ql2xdbwr) -qla82xx_wr_32 (ha, ha->nxdb_wr_ptr, dbval); +qla82xx_wr_32 (ha, (uintptr_t __force )ha->nxdb_wr_ptr, dbval);else { -WRT_REG_DWORD ( - (unsigned long __iomem *)ha->nxdb_wr_ptr, - dbval); +WRT_REG_DWORD (ha->nxdb_wr_ptr, dbval);wmb (); -while (RD_REG_DWORD ((void __iomem *)ha->nxdb_rd_ptr) != dbval) { -WRT_REG_DWORD ( - (unsigned long __iomem *)ha->nxdb_wr_ptr, - dbval); +while (RD_REG_DWORD (ha->nxdb_rd_ptr) != dbval) { +WRT_REG_DWORD (ha->nxdb_wr_ptr, dbval);wmb (); } }
drivers/scsi/qla2xxx/qla_mbx.c +1 -1
@@ -1225,7 +1225,7 @@ qla2x00_init_firmware(scsi_qla_host_t *vha, uint16_t size) "Entered %s.\n", __func__);if (IS_P3P_TYPE (ha) && ql2xdbwr) -qla82xx_wr_32 (ha, ha->nxdb_wr_ptr, +qla82xx_wr_32 (ha, (uintptr_t __force )ha->nxdb_wr_ptr, (0x04 | (ha->portnum <<5 ) | (0 <<8 ) | (0 <<16 )));if (ha->flags.npiv_supported)
drivers/scsi/qla2xxx/qla_mr.c +3 -3
@@ -862,7 +862,7 @@ qlafx00_config_queues(struct scsi_qla_host *vha)dma_addr_t bar2_hdl =pci_resource_start (ha->pdev,2 ); req->length = ha->req_que_len; - req->ring = (void *)ha->iobase + ha->req_que_off; + req->ring = (void __force *)ha->iobase + ha->req_que_off; req->dma = bar2_hdl + ha->req_que_off;if ((!req->ring) || (req->length ==0 )) { ql_log_pci(ql_log_info, ha->pdev, 0x012f,
@@ -877,7 +877,7 @@ qlafx00_config_queues(struct scsi_qla_host *vha) ha->req_que_off, (u64)req->dma); rsp->length = ha->rsp_que_len; - rsp->ring = (void *)ha->iobase + ha->rsp_que_off; + rsp->ring = (void __force *)ha->iobase + ha->rsp_que_off; rsp->dma = bar2_hdl + ha->rsp_que_off;if ((!rsp->ring) || (rsp->length ==0 )) { ql_log_pci(ql_log_info, ha->pdev, 0x0131,
@@ -1425,7 +1425,7 @@ qlafx00_init_response_q_entries(struct rsp_que *rsp) pkt = rsp->ring_ptr;for (cnt =0 ; cnt < rsp->length; cnt++) { pkt->signature =RESPONSE_PROCESSED ; -WRT_REG_DWORD ((void __iomem *)&pkt->signature, +WRT_REG_DWORD ((void __force __iomem *)&pkt->signature,RESPONSE_PROCESSED ); pkt++; }
drivers/scsi/qla2xxx/qla_nx.c +50 -57
249 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_tmpl.c +10 -10
@@ -137,39 +137,39 @@ qla27xx_insertbuf(void *mem, ulong size, void *buf, ulong *len) }static inline void -qla27xx_read8 (void *window,void *buf,ulong *len) +qla27xx_read8 (void __iomem *window,void *buf,ulong *len) {uint8_t value = ~0 ;if (buf) { - value =RD_REG_BYTE ((__iomem void *)window); + value =RD_REG_BYTE (window); }qla27xx_insert32 (value, buf, len); }static inline void -qla27xx_read16 (void *window,void *buf,ulong *len) +qla27xx_read16 (void __iomem *window,void *buf,ulong *len) {uint16_t value = ~0 ;if (buf) { - value =RD_REG_WORD ((__iomem void *)window); + value =RD_REG_WORD (window); }qla27xx_insert32 (value, buf, len); }static inline void -qla27xx_read32 (void *window,void *buf,ulong *len) +qla27xx_read32 (void __iomem *window,void *buf,ulong *len) {uint32_t value = ~0 ;if (buf) { - value =RD_REG_DWORD ((__iomem void *)window); + value =RD_REG_DWORD (window); }qla27xx_insert32 (value, buf, len); } -static inline void (*qla27xx_read_vector (uint width))(void *,void *,ulong *) +static inline void (*qla27xx_read_vector (uint width))(void __iomem *,void *,ulong *) {return (width == 1) ? qla27xx_read8 :
@@ -181,7 +181,7 @@ static inline void qla27xx_read_reg(__iomem struct device_reg_24xx *reg, uint offset, void *buf, ulong *len) { - void *window = (void *)reg + offset; + void __iomem *window = (void __iomem *)reg + offset;qla27xx_read32 (window, buf, len); }
@@ -202,8 +202,8 @@ qla27xx_read_window(__iomem struct device_reg_24xx *reg, uint32_t addr, uint offset, uint count, uint width, void *buf, ulong *len) { - void *window = (void *)reg + offset; -void (*readn)(void *,void *,ulong *) =qla27xx_read_vector (width); + void __iomem *window = (void __iomem *)reg + offset; +void (*readn)(void __iomem *,void *,ulong *) =qla27xx_read_vector (width);qla27xx_write_reg (reg,IOBASE_ADDR , addr, buf);while (count--) {
Signature · 1 line
2.1.2
PATCH 8/10 qla2xxx: Remove a superfluous test
In reply to Bart Van AsscheAvoid that smatch reports the following warning:
drivers/scsi/qla2xxx/qla_attr.c:1081: qla2x00_model_desc_show() warn: this array is probably non-NULL. 'vha->hw->model_desc'
--- drivers/scsi/qla2xxx/qla_attr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/scsi/qla2xxx/qla_attr.c +1 -2
@@ -1077,8 +1077,7 @@ qla2x00_model_desc_show(struct device *dev, struct device_attribute *attr, char *buf) {scsi_qla_host_t *vha =shost_priv (class_to_shost (dev)); -return scnprintf (buf,PAGE_SIZE ,"%s\n" , - vha->hw->model_desc ? vha->hw->model_desc :"" ); +return scnprintf (buf,PAGE_SIZE ,"%s\n" , vha->hw->model_desc); } static ssize_t
Signature · 1 line
2.1.2
PATCH 9/10 qla2xxx: Remove dead code
In reply to Bart Van AsscheThe "return QLA_SUCCESS" statement just above the "fw_load_failed" label cannot be reached, hence remove it. Additionally remove the "else" keyword since the code block below the if-statement ends with a return statement.
--- drivers/scsi/qla2xxx/qla_nx.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
drivers/scsi/qla2xxx/qla_nx.c +5 -7
@@ -2473,14 +2473,12 @@ try_blob_fw:ql_log (ql_log_info, vha,0x00a5 ,"Firmware loaded successfully from binary blob.\n" );return QLA_SUCCESS ; - }else { -ql_log (ql_log_fatal, vha,0x00a6 , -"Firmware load failed for binary blob.\n" ); - blob->fw =NULL ; - blob =NULL ; - goto fw_load_failed; } -return QLA_SUCCESS ; + +ql_log (ql_log_fatal, vha,0x00a6 , +"Firmware load failed for binary blob.\n" ); + blob->fw =NULL ; + blob =NULL ; fw_load_failed:return QLA_FUNCTION_FAILED ;
Signature · 1 line
2.1.2
PATCH 10/10 qla2xxx: Comment out dead code
In reply to Bart Van AsscheComment out the code that is never reached in qlt_set_data_offset() to avoid that static source code analysis tools report warnings for this code.
--- drivers/scsi/qla2xxx/qla_target.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)
drivers/scsi/qla2xxx/qla_target.c +9 -7
@@ -3699,6 +3699,14 @@ static int qlt_24xx_handle_els(struct scsi_qla_host *vha,static int qlt_set_data_offset (struct qla_tgt_cmd *cmd,uint32_t offset) { +#if 1 +/* +* FIXME: Reject non zero SRR relative offset until we can test +* this code properly. +*/ +pr_debug ("Rejecting non zero SRR rel_offs: %u\n" , offset); +return -1 ; +#else struct scatterlist *sg, *sgp, *sg_srr, *sg_srr_start =NULL ;size_t first_offset =0 , rem_offset = offset, tmp =0 ;int i, sg_srr_cnt, bufflen =0 ;
@@ -3708,13 +3716,6 @@ static int qlt_set_data_offset(struct qla_tgt_cmd *cmd, uint32_t offset)"cmd->sg_cnt: %u, direction: %d\n" , cmd, cmd->sg, cmd->sg_cnt, cmd->dma_data_direction); -/* -* FIXME: Reject non zero SRR relative offset until we can test -* this code properly. -*/ -pr_debug ("Rejecting non zero SRR rel_offs: %u\n" , offset); -return -1 ; -if (!cmd->sg || !cmd->sg_cnt) {ql_dbg (ql_dbg_tgt, cmd->vha,0xe055 , "Missing cmd->sg or zero cmd->sg_cnt in"
@@ -3797,6 +3798,7 @@ static int qlt_set_data_offset(struct qla_tgt_cmd *cmd, uint32_t offset)BUG ();return 0 ; +#endif } static inline int qlt_srr_adjust_data(struct qla_tgt_cmd *cmd,
Signature · 1 line
2.1.2
Hi Bart,
Thanks for the patches. We will run regression with these changes and ack if everything goes through fine.
Thanks,
~Saurav
Quoted 14 lines
This patch series addresses several warnings reported by static source code analysis tools for the qla2xxx driver (gcc (W=1), sparse (C=2) and smatch (C=2 CHECK="smatch -p=kernel")). The patches in this series are:
0001-qla2xxx-Report-both-rsp_info-and-rsp_info_len.patch 0002-qla2xxx-Declare-local-functions-static.patch 0003-qla2xxx-Remove-set-but-not-used-variables.patch 0004-qla2xxx-Replace-two-macros-with-an-inline-function.patch 0005-qla2xxx-Remove-__constant_-prefix.patch 0006-qla2xxx-Avoid-that-sparse-complains-about-duplicate-.patch 0007-qla2xxx-Fix-sparse-annotations.patch 0008-qla2xxx-Remove-a-superfluous-test.patch 0009-qla2xxx-Remove-dead-code.patch 0010-qla2xxx-Comment-out-dead-code.patch
Quoted 2 lines · Saurav Kashyap
Thanks for the patches. We will run regression with these changes and ack if everything goes through fine.
Hello Saurav,
That sounds great. Are there perhaps already any results available from the regression tests ?
Thanks,
Bart.
Hi Bart,
Changes are going through our 12 week regression cycle and we will update the status.
Thanks,
~Saurav
Quoted 13 lines · Saurav Kashyap
Quoted 3 lines
Thanks for the patches. We will run regression with these changes and ack
if everything goes through fine.Hello Saurav,
That sounds great. Are there perhaps already any results available from the regression tests ?
Thanks,
Bart.
Himanshu Madhani
Acked-byQuoted 9 lines · Bart Van Assche
Quoted 3 lines · Saurav Kashyap
Thanks for the patches. We will run regression with these changes and ack
if everything goes through fine.Hello Saurav,
That sounds great. Are there perhaps already any results available from the regression tests ?
Hello Bart,
Replying to correct email thread. We have concluded our regression cycle. The series looks good.
Quoted 8 lines
Thanks,
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 11 lines · Himanshu Madhani
Quoted 9 lines · Bart Van Assche
Quoted 3 lines · Saurav Kashyap
Thanks for the patches. We will run regression with these changes and ack
if everything goes through fine.Hello Saurav,
That sounds great. Are there perhaps already any results available from the regression tests ?
Quoted 6 lines
Hello Bart,
Replying to correct email thread. We have concluded our regression cycle. The series looks good.
Acked-by Himanshu Madhani <[email protected]>
Hello Himanshu,
Thank you for the feedback. Since other qla2xxx driver patches have been accepted upstream after my patch series had been posted I think the patches should be reposted. Would you prefer to do that or do you perhaps prefer that I repost that series ?
Bart.
Quoted 21 lines · Bart Van Assche
Quoted 12 lines · Himanshu Madhani
Quoted 9 lines · Bart Van Assche
Quoted 3 lines · Saurav Kashyap
Thanks for the patches. We will run regression with these changes and ack
if everything goes through fine.Hello Saurav,
That sounds great. Are there perhaps already any results available from the regression tests ?
Quoted 7 lines
Hello Bart,
Replying to correct email thread. We have concluded our regression cycle.
The series looks good.Acked-by Himanshu Madhani <[email protected]>
Quoted 8 lines
Hello Himanshu,
Thank you for the feedback. Since other qla2xxx driver patches have been accepted upstream after my patch series had been posted I think the patches should be reposted. Would you prefer to do that or do you perhaps prefer that I repost that series ?
Bart.
Hello Bart,
Please repost that Series.
Thanks,
Himanshu