Re: [PATCH] csiostor: Fix sparse warnings.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi James,

Could you please let me know when this patch would be pushed?

Thanks,
Naresh.

On 11/20/2012 6:15 PM, Naresh Kumar Inna wrote:
> This patch fixes sparse warnings related to endian-ness, which were
> reported by the 0-day kernel build and testing tool.
> 
> Signed-off-by: Naresh Kumar Inna <naresh@xxxxxxxxxxx>
> ---
>  drivers/scsi/csiostor/csio_attr.c     |   34 ++++++------
>  drivers/scsi/csiostor/csio_hw.c       |   14 +++---
>  drivers/scsi/csiostor/csio_hw.h       |    6 +--
>  drivers/scsi/csiostor/csio_lnode.c    |   91 +++++++++++++++++----------------
>  drivers/scsi/csiostor/csio_mb.c       |   62 ++++++++---------------
>  drivers/scsi/csiostor/csio_rnode.c    |   11 ++--
>  drivers/scsi/csiostor/csio_scsi.c     |    8 ++--
>  drivers/scsi/csiostor/t4fw_api_stor.h |   12 ++--
>  8 files changed, 110 insertions(+), 128 deletions(-)
> 
> diff --git a/drivers/scsi/csiostor/csio_attr.c b/drivers/scsi/csiostor/csio_attr.c
> index c8cf857..065a87a 100644
> --- a/drivers/scsi/csiostor/csio_attr.c
> +++ b/drivers/scsi/csiostor/csio_attr.c
> @@ -89,7 +89,7 @@ csio_reg_rnode(struct csio_rnode *rn)
>  	spin_unlock_irq(shost->host_lock);
>  
>  	sp = &rn->rn_sparm;
> -	rport->maxframe_size		= sp->csp.sp_bb_data;
> +	rport->maxframe_size = ntohs(sp->csp.sp_bb_data);
>  	if (ntohs(sp->clsp[2].cp_class) & FC_CPC_VALID)
>  		rport->supported_classes = FC_COS_CLASS3;
>  	else
> @@ -192,7 +192,7 @@ csio_fchost_attr_init(struct csio_lnode *ln)
>  	fc_host_supported_speeds(shost) = FC_PORTSPEED_10GBIT |
>  		FC_PORTSPEED_1GBIT;
>  
> -	fc_host_maxframe_size(shost) = ln->ln_sparm.csp.sp_bb_data;
> +	fc_host_maxframe_size(shost) = ntohs(ln->ln_sparm.csp.sp_bb_data);
>  	memset(fc_host_supported_fc4s(shost), 0,
>  		sizeof(fc_host_supported_fc4s(shost)));
>  	fc_host_supported_fc4s(shost)[7] = 1;
> @@ -325,23 +325,23 @@ csio_get_stats(struct Scsi_Host *shost)
>  	memset(&fcoe_port_stats, 0, sizeof(struct fw_fcoe_port_stats));
>  	csio_get_phy_port_stats(hw, ln->portid, &fcoe_port_stats);
>  
> -	fhs->tx_frames  += (fcoe_port_stats.tx_bcast_frames +
> -				fcoe_port_stats.tx_mcast_frames +
> -				fcoe_port_stats.tx_ucast_frames +
> -				fcoe_port_stats.tx_offload_frames);
> -	fhs->tx_words  += (fcoe_port_stats.tx_bcast_bytes +
> -			   fcoe_port_stats.tx_mcast_bytes +
> -			   fcoe_port_stats.tx_ucast_bytes +
> -			   fcoe_port_stats.tx_offload_bytes) /
> +	fhs->tx_frames  += (be64_to_cpu(fcoe_port_stats.tx_bcast_frames) +
> +			    be64_to_cpu(fcoe_port_stats.tx_mcast_frames) +
> +			    be64_to_cpu(fcoe_port_stats.tx_ucast_frames) +
> +			    be64_to_cpu(fcoe_port_stats.tx_offload_frames));
> +	fhs->tx_words  += (be64_to_cpu(fcoe_port_stats.tx_bcast_bytes) +
> +			   be64_to_cpu(fcoe_port_stats.tx_mcast_bytes) +
> +			   be64_to_cpu(fcoe_port_stats.tx_ucast_bytes) +
> +			   be64_to_cpu(fcoe_port_stats.tx_offload_bytes)) /
>  							CSIO_WORD_TO_BYTE;
> -	fhs->rx_frames += (fcoe_port_stats.rx_bcast_frames +
> -				fcoe_port_stats.rx_mcast_frames +
> -				fcoe_port_stats.rx_ucast_frames);
> -	fhs->rx_words += (fcoe_port_stats.rx_bcast_bytes +
> -				fcoe_port_stats.rx_mcast_bytes +
> -				fcoe_port_stats.rx_ucast_bytes) /
> +	fhs->rx_frames += (be64_to_cpu(fcoe_port_stats.rx_bcast_frames) +
> +			   be64_to_cpu(fcoe_port_stats.rx_mcast_frames) +
> +			   be64_to_cpu(fcoe_port_stats.rx_ucast_frames));
> +	fhs->rx_words += (be64_to_cpu(fcoe_port_stats.rx_bcast_bytes) +
> +			  be64_to_cpu(fcoe_port_stats.rx_mcast_bytes) +
> +			  be64_to_cpu(fcoe_port_stats.rx_ucast_bytes)) /
>  							CSIO_WORD_TO_BYTE;
> -	fhs->error_frames += fcoe_port_stats.rx_err_frames;
> +	fhs->error_frames += be64_to_cpu(fcoe_port_stats.rx_err_frames);
>  	fhs->fcp_input_requests +=  ln->stats.n_input_requests;
>  	fhs->fcp_output_requests +=  ln->stats.n_output_requests;
>  	fhs->fcp_control_requests +=  ln->stats.n_control_requests;
> diff --git a/drivers/scsi/csiostor/csio_hw.c b/drivers/scsi/csiostor/csio_hw.c
> index 963c6c1..8ecdb94 100644
> --- a/drivers/scsi/csiostor/csio_hw.c
> +++ b/drivers/scsi/csiostor/csio_hw.c
> @@ -169,7 +169,7 @@ csio_set_reg_field(struct csio_hw *hw, uint32_t reg, uint32_t mask,
>   *	is assigned the 64-bit ECC word for the read data.
>   */
>  int
> -csio_hw_mc_read(struct csio_hw *hw, uint32_t addr, uint32_t *data,
> +csio_hw_mc_read(struct csio_hw *hw, uint32_t addr, __be32 *data,
>  		uint64_t *ecc)
>  {
>  	int i;
> @@ -209,7 +209,7 @@ csio_hw_mc_read(struct csio_hw *hw, uint32_t addr, uint32_t *data,
>   *	is assigned the 64-bit ECC word for the read data.
>   */
>  int
> -csio_hw_edc_read(struct csio_hw *hw, int idx, uint32_t addr, uint32_t *data,
> +csio_hw_edc_read(struct csio_hw *hw, int idx, uint32_t addr, __be32 *data,
>  		uint64_t *ecc)
>  {
>  	int i;
> @@ -249,7 +249,7 @@ csio_hw_edc_read(struct csio_hw *hw, int idx, uint32_t addr, uint32_t *data,
>   *      address @addr.
>   */
>  static int
> -csio_mem_win_rw(struct csio_hw *hw, u32 addr, __be32 *data, int dir)
> +csio_mem_win_rw(struct csio_hw *hw, u32 addr, u32 *data, int dir)
>  {
>  	int i;
>  
> @@ -296,7 +296,7 @@ csio_memory_rw(struct csio_hw *hw, int mtype, u32 addr, u32 len,
>  {
>  	uint32_t pos, start, end, offset, memoffset;
>  	int ret;
> -	__be32 *data;
> +	uint32_t *data;
>  
>  	/*
>  	 * Argument sanity checks ...
> @@ -379,7 +379,7 @@ csio_memory_rw(struct csio_hw *hw, int mtype, u32 addr, u32 len,
>  }
>  
>  static int
> -csio_memory_write(struct csio_hw *hw, int mtype, u32 addr, u32 len, __be32 *buf)
> +csio_memory_write(struct csio_hw *hw, int mtype, u32 addr, u32 len, u32 *buf)
>  {
>  	return csio_memory_rw(hw, mtype, addr, len, buf, 0);
>  }
> @@ -429,6 +429,7 @@ csio_hw_seeprom_read(struct csio_hw *hw, uint32_t addr, uint32_t *data)
>  
>  	pci_read_config_dword(hw->pdev, base + PCI_VPD_DATA, data);
>  	*data = le32_to_cpu(*data);
> +
>  	return 0;
>  }
>  
> @@ -926,7 +927,7 @@ csio_hw_fw_dload(struct csio_hw *hw, uint8_t *fw_data, uint32_t size)
>  	int ret;
>  	uint32_t i;
>  	uint8_t first_page[SF_PAGE_SIZE];
> -	const uint32_t *p = (const uint32_t *)fw_data;
> +	const __be32 *p = (const __be32 *)fw_data;
>  	struct fw_hdr *hdr = (struct fw_hdr *)fw_data;
>  	uint32_t sf_sec_size;
>  
> @@ -2116,7 +2117,6 @@ csio_hw_flash_config(struct csio_hw *hw, u32 *fw_cfg_param, char *path)
>  	const struct firmware *cf;
>  	struct pci_dev *pci_dev = hw->pdev;
>  	struct device *dev = &pci_dev->dev;
> -
>  	unsigned int mtype = 0, maddr = 0;
>  	uint32_t *cfg_data;
>  	int value_to_add = 0;
> diff --git a/drivers/scsi/csiostor/csio_hw.h b/drivers/scsi/csiostor/csio_hw.h
> index 2a9b052..9edcca4 100644
> --- a/drivers/scsi/csiostor/csio_hw.h
> +++ b/drivers/scsi/csiostor/csio_hw.h
> @@ -658,10 +658,8 @@ void csio_intr_disable(struct csio_hw *, bool);
>  struct csio_lnode *csio_lnode_alloc(struct csio_hw *);
>  int csio_config_queues(struct csio_hw *);
>  
> -int csio_hw_mc_read(struct csio_hw *, uint32_t,
> -			      uint32_t *, uint64_t *);
> -int csio_hw_edc_read(struct csio_hw *, int, uint32_t, uint32_t *,
> -			       uint64_t *);
> +int csio_hw_mc_read(struct csio_hw *, uint32_t, __be32 *, uint64_t *);
> +int csio_hw_edc_read(struct csio_hw *, int, uint32_t, __be32 *, uint64_t *);
>  int csio_hw_init(struct csio_hw *);
>  void csio_hw_exit(struct csio_hw *);
>  #endif /* ifndef __CSIO_HW_H__ */
> diff --git a/drivers/scsi/csiostor/csio_lnode.c b/drivers/scsi/csiostor/csio_lnode.c
> index 551959e..5322c81 100644
> --- a/drivers/scsi/csiostor/csio_lnode.c
> +++ b/drivers/scsi/csiostor/csio_lnode.c
> @@ -214,7 +214,7 @@ csio_fill_ct_iu(void *buf, uint8_t type, uint8_t sub_type, uint16_t op)
>  	cmd->ct_rev = FC_CT_REV;
>  	cmd->ct_fs_type = type;
>  	cmd->ct_fs_subtype = sub_type;
> -	cmd->ct_cmd = op;
> +	cmd->ct_cmd = htons(op);
>  }
>  
>  static int
> @@ -285,11 +285,13 @@ csio_ln_fdmi_rhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  	void *cmd;
>  	uint8_t *pld;
>  	uint32_t len = 0;
> +	__be32 val;
> +	__be16 mfs;
> +	uint32_t numattrs = 0;
>  	struct csio_lnode *ln = fdmi_req->lnode;
>  	struct fs_fdmi_attrs *attrib_blk;
>  	struct fc_fdmi_port_name *port_name;
>  	uint8_t buf[64];
> -	uint32_t val;
>  	uint8_t *fc4_type;
>  
>  	if (fdmi_req->wr_status != FW_SUCCESS) {
> @@ -311,7 +313,7 @@ csio_ln_fdmi_rhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  
>  	/* Prepare CT hdr for RPA cmd */
>  	memset(cmd, 0, FC_CT_HDR_LEN);
> -	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, htons(FC_FDMI_RPA));
> +	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, FC_FDMI_RPA);
>  
>  	/* Prepare RPA payload */
>  	pld = (uint8_t *)csio_ct_get_pld(cmd);
> @@ -331,12 +333,12 @@ csio_ln_fdmi_rhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  	fc4_type[7] = 1;
>  	csio_append_attrib(&pld, FC_FDMI_PORT_ATTR_FC4TYPES,
>  			   fc4_type, FC_FDMI_PORT_ATTR_FC4TYPES_LEN);
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  	val = htonl(FC_PORTSPEED_1GBIT | FC_PORTSPEED_10GBIT);
>  	csio_append_attrib(&pld, FC_FDMI_PORT_ATTR_SUPPORTEDSPEED,
>  			   (uint8_t *)&val,
>  			   FC_FDMI_PORT_ATTR_SUPPORTEDSPEED_LEN);
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  
>  	if (hw->pport[ln->portid].link_speed == FW_PORT_CAP_SPEED_1G)
>  		val = htonl(FC_PORTSPEED_1GBIT);
> @@ -347,24 +349,24 @@ csio_ln_fdmi_rhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  	csio_append_attrib(&pld, FC_FDMI_PORT_ATTR_CURRENTPORTSPEED,
>  			   (uint8_t *)&val,
>  			   FC_FDMI_PORT_ATTR_CURRENTPORTSPEED_LEN);
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  
> -	val = htonl(ln->ln_sparm.csp.sp_bb_data);
> +	mfs = ln->ln_sparm.csp.sp_bb_data;
>  	csio_append_attrib(&pld, FC_FDMI_PORT_ATTR_MAXFRAMESIZE,
> -			   (uint8_t *)&val, FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN);
> -	attrib_blk->numattrs++;
> +			   (uint8_t *)&mfs, FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN);
> +	numattrs++;
>  
>  	strcpy(buf, "csiostor");
>  	csio_append_attrib(&pld, FC_FDMI_PORT_ATTR_OSDEVICENAME, buf,
>  			   (uint16_t)strlen(buf));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  
>  	if (!csio_hostname(buf, sizeof(buf))) {
>  		csio_append_attrib(&pld, FC_FDMI_PORT_ATTR_HOSTNAME,
>  				   buf, (uint16_t)strlen(buf));
> -		attrib_blk->numattrs++;
> +		numattrs++;
>  	}
> -	attrib_blk->numattrs = ntohl(attrib_blk->numattrs);
> +	attrib_blk->numattrs = htonl(numattrs);
>  	len = (uint32_t)(pld - (uint8_t *)cmd);
>  
>  	/* Submit FDMI RPA request */
> @@ -388,7 +390,8 @@ csio_ln_fdmi_dprt_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  	void *cmd;
>  	uint8_t *pld;
>  	uint32_t len = 0;
> -	uint32_t maxpayload = htonl(65536);
> +	uint32_t numattrs = 0;
> +	__be32  maxpayload = htonl(65536);
>  	struct fc_fdmi_hba_identifier *hbaid;
>  	struct csio_lnode *ln = fdmi_req->lnode;
>  	struct fc_fdmi_rpl *reg_pl;
> @@ -413,7 +416,7 @@ csio_ln_fdmi_dprt_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  
>  	/* Prepare CT hdr for RHBA cmd */
>  	memset(cmd, 0, FC_CT_HDR_LEN);
> -	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, htons(FC_FDMI_RHBA));
> +	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, FC_FDMI_RHBA);
>  	len = FC_CT_HDR_LEN;
>  
>  	/* Prepare RHBA payload */
> @@ -424,7 +427,7 @@ csio_ln_fdmi_dprt_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  
>  	/* Register one port per hba */
>  	reg_pl = (struct fc_fdmi_rpl *)pld;
> -	reg_pl->numport = ntohl(1);
> +	reg_pl->numport = htonl(1);
>  	memcpy(&reg_pl->port[0].portname, csio_ln_wwpn(ln), 8);
>  	pld += sizeof(*reg_pl);
>  
> @@ -436,42 +439,42 @@ csio_ln_fdmi_dprt_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_NODENAME, csio_ln_wwnn(ln),
>  			   FC_FDMI_HBA_ATTR_NODENAME_LEN);
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  
>  	memset(buf, 0, sizeof(buf));
>  
>  	strcpy(buf, "Chelsio Communications");
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_MANUFACTURER, buf,
>  			   (uint16_t)strlen(buf));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_SERIALNUMBER,
>  			   hw->vpd.sn, (uint16_t)sizeof(hw->vpd.sn));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_MODEL, hw->vpd.id,
>  			   (uint16_t)sizeof(hw->vpd.id));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_MODELDESCRIPTION,
>  			   hw->model_desc, (uint16_t)strlen(hw->model_desc));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_HARDWAREVERSION,
>  			   hw->hw_ver, (uint16_t)sizeof(hw->hw_ver));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_FIRMWAREVERSION,
>  			   hw->fwrev_str, (uint16_t)strlen(hw->fwrev_str));
> -	attrib_blk->numattrs++;
> +	numattrs++;
>  
>  	if (!csio_osname(buf, sizeof(buf))) {
>  		csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_OSNAMEVERSION,
>  				   buf, (uint16_t)strlen(buf));
> -		attrib_blk->numattrs++;
> +		numattrs++;
>  	}
>  
>  	csio_append_attrib(&pld, FC_FDMI_HBA_ATTR_MAXCTPAYLOAD,
>  			   (uint8_t *)&maxpayload,
>  			   FC_FDMI_HBA_ATTR_MAXCTPAYLOAD_LEN);
>  	len = (uint32_t)(pld - (uint8_t *)cmd);
> -	attrib_blk->numattrs++;
> -	attrib_blk->numattrs = ntohl(attrib_blk->numattrs);
> +	numattrs++;
> +	attrib_blk->numattrs = htonl(numattrs);
>  
>  	/* Submit FDMI RHBA request */
>  	spin_lock_irq(&hw->lock);
> @@ -518,7 +521,7 @@ csio_ln_fdmi_dhba_cbfn(struct csio_hw *hw, struct csio_ioreq *fdmi_req)
>  
>  	/* Prepare FDMI DPRT cmd */
>  	memset(cmd, 0, FC_CT_HDR_LEN);
> -	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, htons(FC_FDMI_DPRT));
> +	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, FC_FDMI_DPRT);
>  	len = FC_CT_HDR_LEN;
>  	port_name = (struct fc_fdmi_port_name *)csio_ct_get_pld(cmd);
>  	memcpy(&port_name->portname, csio_ln_wwpn(ln), 8);
> @@ -567,7 +570,7 @@ csio_ln_fdmi_start(struct csio_lnode *ln, void *context)
>  	/* Prepare FDMI DHBA cmd */
>  	cmd = fdmi_req->dma_buf.vaddr;
>  	memset(cmd, 0, FC_CT_HDR_LEN);
> -	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, htons(FC_FDMI_DHBA));
> +	csio_fill_ct_iu(cmd, FC_FST_MGMT, FC_FDMI_SUBTYPE, FC_FDMI_DHBA);
>  	len = FC_CT_HDR_LEN;
>  
>  	hbaid = (struct fc_fdmi_hba_identifier *)csio_ct_get_pld(cmd);
> @@ -599,6 +602,7 @@ csio_ln_vnp_read_cbfn(struct csio_hw *hw, struct csio_mb *mbp)
>  	struct fc_els_csp *csp;
>  	struct fc_els_cssp *clsp;
>  	enum fw_retval retval;
> +	__be32 nport_id;
>  
>  	retval = FW_CMD_RETVAL_GET(ntohl(rsp->alloc_to_len16));
>  	if (retval != FW_SUCCESS) {
> @@ -610,10 +614,9 @@ csio_ln_vnp_read_cbfn(struct csio_hw *hw, struct csio_mb *mbp)
>  	spin_lock_irq(&hw->lock);
>  
>  	memcpy(ln->mac, rsp->vnport_mac, sizeof(ln->mac));
> -	memcpy(&ln->nport_id, &rsp->vnport_mac[3],
> -			sizeof(uint8_t)*3);
> -	ln->nport_id = ntohl(ln->nport_id);
> -	ln->nport_id = ln->nport_id>>8;
> +	memcpy(&nport_id, &rsp->vnport_mac[3], sizeof(uint8_t)*3);
> +	ln->nport_id = ntohl(nport_id);
> +	ln->nport_id = ln->nport_id >> 8;
>  
>  	/* Update WWNs */
>  	/*
> @@ -628,18 +631,18 @@ csio_ln_vnp_read_cbfn(struct csio_hw *hw, struct csio_mb *mbp)
>  	csp = (struct fc_els_csp *)rsp->cmn_srv_parms;
>  	ln->ln_sparm.csp.sp_hi_ver = csp->sp_hi_ver;
>  	ln->ln_sparm.csp.sp_lo_ver = csp->sp_lo_ver;
> -	ln->ln_sparm.csp.sp_bb_cred = ntohs(csp->sp_bb_cred);
> -	ln->ln_sparm.csp.sp_features = ntohs(csp->sp_features);
> -	ln->ln_sparm.csp.sp_bb_data = ntohs(csp->sp_bb_data);
> -	ln->ln_sparm.csp.sp_r_a_tov = ntohl(csp->sp_r_a_tov);
> -	ln->ln_sparm.csp.sp_e_d_tov = ntohl(csp->sp_e_d_tov);
> +	ln->ln_sparm.csp.sp_bb_cred = csp->sp_bb_cred;
> +	ln->ln_sparm.csp.sp_features = csp->sp_features;
> +	ln->ln_sparm.csp.sp_bb_data = csp->sp_bb_data;
> +	ln->ln_sparm.csp.sp_r_a_tov = csp->sp_r_a_tov;
> +	ln->ln_sparm.csp.sp_e_d_tov = csp->sp_e_d_tov;
>  
>  	/* Copy word 0 & word 1 of class sparam */
>  	clsp = (struct fc_els_cssp *)rsp->clsp_word_0_1;
> -	ln->ln_sparm.clsp[2].cp_class = ntohs(clsp->cp_class);
> -	ln->ln_sparm.clsp[2].cp_init = ntohs(clsp->cp_init);
> -	ln->ln_sparm.clsp[2].cp_recip = ntohs(clsp->cp_recip);
> -	ln->ln_sparm.clsp[2].cp_rdfs = ntohs(clsp->cp_rdfs);
> +	ln->ln_sparm.clsp[2].cp_class = clsp->cp_class;
> +	ln->ln_sparm.clsp[2].cp_init = clsp->cp_init;
> +	ln->ln_sparm.clsp[2].cp_recip = clsp->cp_recip;
> +	ln->ln_sparm.clsp[2].cp_rdfs = clsp->cp_rdfs;
>  
>  	spin_unlock_irq(&hw->lock);
>  
> @@ -1499,7 +1502,7 @@ csio_fcoe_fwevt_handler(struct csio_hw *hw, __u8 cpl_op, __be64 *cmd)
>  			/* HW un lock here */
>  		} else {
>  			csio_warn(hw, "Unexpected FCOE LINK status:0x%x\n",
> -				    ntohl(lcmd->lstatus));
> +				  lcmd->lstatus);
>  			CSIO_INC_STATS(hw, n_cpl_unexp);
>  		}
>  	} else if (cpl_op == CPL_FW6_PLD) {
> @@ -1663,7 +1666,7 @@ csio_ln_prep_ecwr(struct csio_ioreq *io_req, uint32_t wr_len,
>  		      uint32_t did, uint32_t flow_id, uint8_t *fw_wr)
>  {
>  	struct fw_fcoe_els_ct_wr *wr;
> -	uint32_t port_id;
> +	__be32 port_id;
>  
>  	wr  = (struct fw_fcoe_els_ct_wr *)fw_wr;
>  	wr->op_immdlen = cpu_to_be32(FW_WR_OP(FW_FCOE_ELS_CT_WR) |
> @@ -1676,8 +1679,8 @@ csio_ln_prep_ecwr(struct csio_ioreq *io_req, uint32_t wr_len,
>  	wr->ctl_pri = 0;
>  	wr->cp_en_class = 0;
>  	wr->cookie = io_req->fw_handle;
> -	wr->iqid = (uint16_t)cpu_to_be16(csio_q_physiqid(
> -			io_req->lnode->hwp, io_req->iq_idx));
> +	wr->iqid = cpu_to_be16(csio_q_physiqid(
> +					io_req->lnode->hwp, io_req->iq_idx));
>  	wr->fl_to_sp =  FW_FCOE_ELS_CT_WR_SP(1);
>  	wr->tmo_val = (uint8_t) io_req->tmo;
>  	port_id = htonl(sid);
> diff --git a/drivers/scsi/csiostor/csio_mb.c b/drivers/scsi/csiostor/csio_mb.c
> index 7aaf102..5b27c48 100644
> --- a/drivers/scsi/csiostor/csio_mb.c
> +++ b/drivers/scsi/csiostor/csio_mb.c
> @@ -1119,13 +1119,11 @@ csio_fcoe_read_portparams_init_mb(struct csio_hw *hw, struct csio_mb *mbp,
>  } /* csio_fcoe_read_portparams_init_mb */
>  
>  void
> -csio_mb_process_portparams_rsp(
> -				struct csio_hw *hw,
> +csio_mb_process_portparams_rsp(struct csio_hw *hw,
>  				struct csio_mb *mbp,
>  				enum fw_retval *retval,
>  				struct fw_fcoe_port_cmd_params *portparams,
> -				struct fw_fcoe_port_stats  *portstats
> -			     )
> +				struct fw_fcoe_port_stats *portstats)
>  {
>  	struct fw_fcoe_stats_cmd *rsp = (struct fw_fcoe_stats_cmd *)(mbp->mb);
>  	struct fw_fcoe_port_stats stats;
> @@ -1142,50 +1140,32 @@ csio_mb_process_portparams_rsp(
>  		memcpy(dst, src, (portparams->nstats * 8));
>  		if (portparams->idx == 1) {
>  			/* Get the first 6 flits from the Mailbox */
> -			portstats->tx_bcast_bytes	=
> -					be64_to_cpu(stats.tx_bcast_bytes);
> -			portstats->tx_bcast_frames	=
> -					be64_to_cpu(stats.tx_bcast_frames);
> -			portstats->tx_mcast_bytes	=
> -					be64_to_cpu(stats.tx_mcast_bytes);
> -			portstats->tx_mcast_frames	=
> -					be64_to_cpu(stats.tx_mcast_frames);
> -			portstats->tx_ucast_bytes	=
> -					be64_to_cpu(stats.tx_ucast_bytes);
> -			portstats->tx_ucast_frames	=
> -					be64_to_cpu(stats.tx_ucast_frames);
> +			portstats->tx_bcast_bytes = stats.tx_bcast_bytes;
> +			portstats->tx_bcast_frames = stats.tx_bcast_frames;
> +			portstats->tx_mcast_bytes = stats.tx_mcast_bytes;
> +			portstats->tx_mcast_frames = stats.tx_mcast_frames;
> +			portstats->tx_ucast_bytes = stats.tx_ucast_bytes;
> +			portstats->tx_ucast_frames = stats.tx_ucast_frames;
>  		}
>  		if (portparams->idx == 7) {
>  			/* Get the second 6 flits from the Mailbox */
> -			portstats->tx_drop_frames	=
> -				be64_to_cpu(stats.tx_drop_frames);
> -			portstats->tx_offload_bytes	=
> -				be64_to_cpu(stats.tx_offload_bytes);
> -			portstats->tx_offload_frames	=
> -				be64_to_cpu(stats.tx_offload_frames);
> +			portstats->tx_drop_frames = stats.tx_drop_frames;
> +			portstats->tx_offload_bytes = stats.tx_offload_bytes;
> +			portstats->tx_offload_frames = stats.tx_offload_frames;
>  #if 0
> -			portstats->rx_pf_bytes		=
> -					be64_to_cpu(stats.rx_pf_bytes);
> -			portstats->rx_pf_frames		=
> -					be64_to_cpu(stats.rx_pf_frames);
> +			portstats->rx_pf_bytes = stats.rx_pf_bytes;
> +			portstats->rx_pf_frames	= stats.rx_pf_frames;
>  #endif
> -			portstats->rx_bcast_bytes	=
> -					be64_to_cpu(stats.rx_bcast_bytes);
> -			portstats->rx_bcast_frames	=
> -					be64_to_cpu(stats.rx_bcast_frames);
> -			portstats->rx_mcast_bytes	=
> -					be64_to_cpu(stats.rx_mcast_bytes);
> +			portstats->rx_bcast_bytes = stats.rx_bcast_bytes;
> +			portstats->rx_bcast_frames = stats.rx_bcast_frames;
> +			portstats->rx_mcast_bytes = stats.rx_mcast_bytes;
>  		}
>  		if (portparams->idx == 13) {
>  			/* Get the last 4 flits from the Mailbox */
> -			portstats->rx_mcast_frames	=
> -					be64_to_cpu(stats.rx_mcast_frames);
> -			portstats->rx_ucast_bytes	=
> -					be64_to_cpu(stats.rx_ucast_bytes);
> -			portstats->rx_ucast_frames	=
> -					be64_to_cpu(stats.rx_ucast_frames);
> -			portstats->rx_err_frames	=
> -					be64_to_cpu(stats.rx_err_frames);
> +			portstats->rx_mcast_frames = stats.rx_mcast_frames;
> +			portstats->rx_ucast_bytes = stats.rx_ucast_bytes;
> +			portstats->rx_ucast_frames = stats.rx_ucast_frames;
> +			portstats->rx_err_frames = stats.rx_err_frames;
>  		}
>  	}
>  }
> @@ -1414,7 +1394,7 @@ csio_mb_issue(struct csio_hw *hw, struct csio_mb *mbp)
>  							  (hw, data_reg + i));
>  			csio_wr_reg32(hw, 0, ctl_reg);
>  
> -			if (FW_CMD_RETVAL_GET(*(mbp->mb)))
> +			if (csio_mb_fw_retval(mbp) != FW_SUCCESS)
>  				CSIO_INC_STATS(mbm, n_err);
>  
>  			CSIO_INC_STATS(mbm, n_rsp);
> diff --git a/drivers/scsi/csiostor/csio_rnode.c b/drivers/scsi/csiostor/csio_rnode.c
> index b0ae430..51c6a38 100644
> --- a/drivers/scsi/csiostor/csio_rnode.c
> +++ b/drivers/scsi/csiostor/csio_rnode.c
> @@ -303,9 +303,9 @@ csio_confirm_rnode(struct csio_lnode *ln, uint32_t rdev_flowid,
>  	uint8_t rport_type;
>  	struct csio_rnode *rn, *match_rn;
>  	uint32_t vnp_flowid;
> -	uint32_t *port_id;
> +	__be32 *port_id;
>  
> -	port_id = (uint32_t *)&rdevp->r_id[0];
> +	port_id = (__be32 *)&rdevp->r_id[0];
>  	rport_type =
>  		FW_RDEV_WR_RPORT_TYPE_GET(rdevp->rd_xfer_rdy_to_rport_type);
>  
> @@ -439,9 +439,9 @@ csio_rn_verify_rparams(struct csio_lnode *ln, struct csio_rnode *rn,
>  	uint8_t null[8];
>  	uint8_t rport_type;
>  	uint8_t fc_class;
> -	uint32_t *did;
> +	__be32 *did;
>  
> -	did = (uint32_t *) &rdevp->r_id[0];
> +	did = (__be32 *) &rdevp->r_id[0];
>  	rport_type =
>  		FW_RDEV_WR_RPORT_TYPE_GET(rdevp->rd_xfer_rdy_to_rport_type);
>  	switch (rport_type) {
> @@ -529,9 +529,10 @@ csio_rn_verify_rparams(struct csio_lnode *ln, struct csio_rnode *rn,
>  	rn->nport_id = (ntohl(*did) >> 8) & CSIO_DID_MASK;
>  	memcpy(csio_rn_wwnn(rn), rdevp->wwnn, 8);
>  	memcpy(csio_rn_wwpn(rn), rdevp->wwpn, 8);
> -	rn->rn_sparm.csp.sp_bb_data = ntohs(rdevp->rcv_fr_sz);
> +	rn->rn_sparm.csp.sp_bb_data = rdevp->rcv_fr_sz;
>  	fc_class = FW_RDEV_WR_CLASS_GET(rdevp->vft_to_qos);
>  	rn->rn_sparm.clsp[fc_class - 1].cp_class = htons(FC_CPC_VALID);
> +
>  	return 0;
>  }
>  
> diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c
> index fdbd7da..ddd38e5 100644
> --- a/drivers/scsi/csiostor/csio_scsi.c
> +++ b/drivers/scsi/csiostor/csio_scsi.c
> @@ -237,7 +237,7 @@ csio_scsi_init_cmd_wr(struct csio_ioreq *req, void *addr, uint32_t size)
>  						DIV_ROUND_UP(size, 16)));
>  
>  	wr->cookie = (uintptr_t) req;
> -	wr->iqid = (uint16_t)cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
> +	wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
>  	wr->tmo_val = (uint8_t) req->tmo;
>  	wr->r3 = 0;
>  	memset(&wr->r5, 0, 8);
> @@ -396,7 +396,7 @@ csio_scsi_init_read_wr(struct csio_ioreq *req, void *wrp, uint32_t size)
>  	wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID(rn->flowid) |
>  				       FW_WR_LEN16(DIV_ROUND_UP(size, 16)));
>  	wr->cookie = (uintptr_t)req;
> -	wr->iqid = (uint16_t)cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
> +	wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
>  	wr->tmo_val = (uint8_t)(req->tmo);
>  	wr->use_xfer_cnt = 1;
>  	wr->xfer_cnt = cpu_to_be32(scsi_bufflen(scmnd));
> @@ -449,7 +449,7 @@ csio_scsi_init_write_wr(struct csio_ioreq *req, void *wrp, uint32_t size)
>  	wr->flowid_len16 = cpu_to_be32(FW_WR_FLOWID(rn->flowid) |
>  				       FW_WR_LEN16(DIV_ROUND_UP(size, 16)));
>  	wr->cookie = (uintptr_t)req;
> -	wr->iqid = (uint16_t)cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
> +	wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
>  	wr->tmo_val = (uint8_t)(req->tmo);
>  	wr->use_xfer_cnt = 1;
>  	wr->xfer_cnt = cpu_to_be32(scsi_bufflen(scmnd));
> @@ -680,7 +680,7 @@ csio_scsi_init_abrt_cls_wr(struct csio_ioreq *req, void *addr, uint32_t size,
>  						DIV_ROUND_UP(size, 16)));
>  
>  	wr->cookie = (uintptr_t) req;
> -	wr->iqid = (uint16_t)cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
> +	wr->iqid = cpu_to_be16(csio_q_physiqid(hw, req->iq_idx));
>  	wr->tmo_val = (uint8_t) req->tmo;
>  	/* 0 for CHK_ALL_IO tells FW to look up t_cookie */
>  	wr->sub_opcode_to_chk_all_io =
> diff --git a/drivers/scsi/csiostor/t4fw_api_stor.h b/drivers/scsi/csiostor/t4fw_api_stor.h
> index b96903a..1223e0d 100644
> --- a/drivers/scsi/csiostor/t4fw_api_stor.h
> +++ b/drivers/scsi/csiostor/t4fw_api_stor.h
> @@ -221,7 +221,7 @@ struct fw_rdev_wr {
>  struct fw_fcoe_els_ct_wr {
>  	__be32 op_immdlen;
>  	__be32 flowid_len16;
> -	__be64 cookie;
> +	u64    cookie;
>  	__be16 iqid;
>  	u8     tmo_val;
>  	u8     els_ct_type;
> @@ -246,7 +246,7 @@ struct fw_fcoe_els_ct_wr {
>  struct fw_scsi_write_wr {
>  	__be32 op_immdlen;
>  	__be32 flowid_len16;
> -	__be64 cookie;
> +	u64    cookie;
>  	__be16 iqid;
>  	u8     tmo_val;
>  	u8     use_xfer_cnt;
> @@ -272,7 +272,7 @@ struct fw_scsi_write_wr {
>  struct fw_scsi_read_wr {
>  	__be32 op_immdlen;
>  	__be32 flowid_len16;
> -	__be64 cookie;
> +	u64    cookie;
>  	__be16 iqid;
>  	u8     tmo_val;
>  	u8     use_xfer_cnt;
> @@ -298,7 +298,7 @@ struct fw_scsi_read_wr {
>  struct fw_scsi_cmd_wr {
>  	__be32 op_immdlen;
>  	__be32 flowid_len16;
> -	__be64 cookie;
> +	u64    cookie;
>  	__be16 iqid;
>  	u8     tmo_val;
>  	u8     r3;
> @@ -326,12 +326,12 @@ struct fw_scsi_cmd_wr {
>  struct fw_scsi_abrt_cls_wr {
>  	__be32 op_immdlen;
>  	__be32 flowid_len16;
> -	__be64 cookie;
> +	u64    cookie;
>  	__be16 iqid;
>  	u8     tmo_val;
>  	u8     sub_opcode_to_chk_all_io;
>  	u8     r3[4];
> -	__be64 t_cookie;
> +	u64    t_cookie;
>  };
>  
>  #define FW_SCSI_ABRT_CLS_WR_SUB_OPCODE(x)	((x) << 2)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux