linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions
@ 2019-12-19  0:50 Bart Van Assche
  2019-12-19  8:44 ` Daniel Wagner
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Bart Van Assche @ 2019-12-19  0:50 UTC (permalink / raw)
  To: Martin K . Petersen, James E . J . Bottomley
  Cc: linux-scsi, Christoph Hellwig, Bart Van Assche, Himanshu Madhani,
	Quinn Tran, Martin Wilck, Daniel Wagner, Roman Bolshakov

This patch improves readability and does not change any functionality.

Cc: Himanshu Madhani <hmadhani@marvell.com>
Cc: Quinn Tran <qutran@marvell.com>
Cc: Martin Wilck <mwilck@suse.com>
Cc: Daniel Wagner <dwagner@suse.de>
Cc: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 drivers/scsi/qla2xxx/qla_bsg.c    |  2 +-
 drivers/scsi/qla2xxx/qla_isr.c    | 12 ++++++------
 drivers/scsi/qla2xxx/qla_nx.c     |  6 +++---
 drivers/scsi/qla2xxx/qla_target.c | 12 ++++++------
 drivers/scsi/qla2xxx/qla_target.h |  3 +--
 5 files changed, 17 insertions(+), 18 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
index cbaf178fc979..941c40e13acc 100644
--- a/drivers/scsi/qla2xxx/qla_bsg.c
+++ b/drivers/scsi/qla2xxx/qla_bsg.c
@@ -796,7 +796,7 @@ qla2x00_process_loopback(struct bsg_job *bsg_job)
 
 	if (atomic_read(&vha->loop_state) == LOOP_READY &&
 	    (ha->current_topology == ISP_CFG_F ||
-	    (le32_to_cpu(*(uint32_t *)req_data) == ELS_OPCODE_BYTE &&
+	    (get_unaligned_le32(req_data) == ELS_OPCODE_BYTE &&
 	     req_data_len == MAX_ELS_FRAME_PAYLOAD)) &&
 	    elreq.options == EXTERNAL_LOOPBACK) {
 		type = "FC_BSG_HST_VENDOR_ECHO_DIAG";
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index ddd73b7c14d5..efb3ac31138d 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -2152,12 +2152,12 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24)
 	 * swab32 of the "data" field in the beginning of qla2x00_status_entry()
 	 * would make guard field appear at offset 2
 	 */
-	a_guard   = le16_to_cpu(*(uint16_t *)(ap + 2));
-	a_app_tag = le16_to_cpu(*(uint16_t *)(ap + 0));
-	a_ref_tag = le32_to_cpu(*(uint32_t *)(ap + 4));
-	e_guard   = le16_to_cpu(*(uint16_t *)(ep + 2));
-	e_app_tag = le16_to_cpu(*(uint16_t *)(ep + 0));
-	e_ref_tag = le32_to_cpu(*(uint32_t *)(ep + 4));
+	a_guard   = get_unaligned_le16(ap + 2);
+	a_app_tag = get_unaligned_le16(ap + 0);
+	a_ref_tag = get_unaligned_le32(ap + 4);
+	e_guard   = get_unaligned_le16(ep + 2);
+	e_app_tag = get_unaligned_le16(ep + 0);
+	e_ref_tag = get_unaligned_le32(ep + 4);
 
 	ql_dbg(ql_dbg_io, vha, 0x3023,
 	    "iocb(s) %p Returned STATUS.\n", sts24);
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c
index c855d013ba8a..49b1a43802c1 100644
--- a/drivers/scsi/qla2xxx/qla_nx.c
+++ b/drivers/scsi/qla2xxx/qla_nx.c
@@ -1882,7 +1882,7 @@ qla82xx_set_product_offset(struct qla_hw_data *ha)
 static int
 qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type)
 {
-	__le32 val;
+	uint32_t val;
 	uint32_t min_size;
 	struct qla_hw_data *ha = vha->hw;
 	const struct firmware *fw = ha->hablob->fw;
@@ -1895,8 +1895,8 @@ qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type)
 
 		min_size = QLA82XX_URI_FW_MIN_SIZE;
 	} else {
-		val = cpu_to_le32(*(u32 *)&fw->data[QLA82XX_FW_MAGIC_OFFSET]);
-		if ((__force u32)val != QLA82XX_BDINFO_MAGIC)
+		val = get_unaligned_le32(&fw->data[QLA82XX_FW_MAGIC_OFFSET]);
+		if (val != QLA82XX_BDINFO_MAGIC)
 			return -EINVAL;
 
 		min_size = QLA82XX_FW_MIN_SIZE;
diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
index 68c14143e50e..7d6132ce67b5 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -3446,13 +3446,13 @@ qlt_handle_dif_error(struct qla_qpair *qpair, struct qla_tgt_cmd *cmd,
 
 	cmd->trc_flags |= TRC_DIF_ERR;
 
-	cmd->a_guard   = be16_to_cpu(*(uint16_t *)(ap + 0));
-	cmd->a_app_tag = be16_to_cpu(*(uint16_t *)(ap + 2));
-	cmd->a_ref_tag = be32_to_cpu(*(uint32_t *)(ap + 4));
+	cmd->a_guard   = get_unaligned_be16(ap + 0);
+	cmd->a_app_tag = get_unaligned_be16(ap + 2);
+	cmd->a_ref_tag = get_unaligned_be32(ap + 4);
 
-	cmd->e_guard   = be16_to_cpu(*(uint16_t *)(ep + 0));
-	cmd->e_app_tag = be16_to_cpu(*(uint16_t *)(ep + 2));
-	cmd->e_ref_tag = be32_to_cpu(*(uint32_t *)(ep + 4));
+	cmd->e_guard   = get_unaligned_be16(ep + 0);
+	cmd->e_app_tag = get_unaligned_be16(ep + 2);
+	cmd->e_ref_tag = get_unaligned_be32(ep + 4);
 
 	ql_dbg(ql_dbg_tgt_dif, vha, 0xf075,
 	    "%s: aborted %d state %d\n", __func__, cmd->aborted, cmd->state);
diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h
index d006f0a97b8c..6539499e9e95 100644
--- a/drivers/scsi/qla2xxx/qla_target.h
+++ b/drivers/scsi/qla2xxx/qla_target.h
@@ -379,8 +379,7 @@ static inline int get_datalen_for_atio(struct atio_from_isp *atio)
 {
 	int len = atio->u.isp24.fcp_cmnd.add_cdb_len;
 
-	return (be32_to_cpu(get_unaligned((uint32_t *)
-	    &atio->u.isp24.fcp_cmnd.add_cdb[len * 4])));
+	return get_unaligned_be32(&atio->u.isp24.fcp_cmnd.add_cdb[len * 4]);
 }
 
 #define CTIO_TYPE7 0x12 /* Continue target I/O entry (for 24xx) */

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions
  2019-12-19  0:50 [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions Bart Van Assche
@ 2019-12-19  8:44 ` Daniel Wagner
  2019-12-20 14:15 ` Roman Bolshakov
  2020-01-03  2:56 ` Martin K. Petersen
  2 siblings, 0 replies; 4+ messages in thread
From: Daniel Wagner @ 2019-12-19  8:44 UTC (permalink / raw)
  To: Bart Van Assche
  Cc: Martin K . Petersen, James E . J . Bottomley, linux-scsi,
	Christoph Hellwig, Himanshu Madhani, Quinn Tran, Martin Wilck,
	Roman Bolshakov

On Wed, Dec 18, 2019 at 04:50:50PM -0800, Bart Van Assche wrote:
> This patch improves readability and does not change any functionality.
> 
> Cc: Himanshu Madhani <hmadhani@marvell.com>
> Cc: Quinn Tran <qutran@marvell.com>
> Cc: Martin Wilck <mwilck@suse.com>
> Cc: Daniel Wagner <dwagner@suse.de>
> Cc: Roman Bolshakov <r.bolshakov@yadro.com>
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>

Reviewed-by: Daniel Wagner <dwagner@suse.de>

> ---
>  drivers/scsi/qla2xxx/qla_bsg.c    |  2 +-
>  drivers/scsi/qla2xxx/qla_isr.c    | 12 ++++++------
>  drivers/scsi/qla2xxx/qla_nx.c     |  6 +++---
>  drivers/scsi/qla2xxx/qla_target.c | 12 ++++++------
>  drivers/scsi/qla2xxx/qla_target.h |  3 +--
>  5 files changed, 17 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
> index cbaf178fc979..941c40e13acc 100644
> --- a/drivers/scsi/qla2xxx/qla_bsg.c
> +++ b/drivers/scsi/qla2xxx/qla_bsg.c
> @@ -796,7 +796,7 @@ qla2x00_process_loopback(struct bsg_job *bsg_job)
>  
>  	if (atomic_read(&vha->loop_state) == LOOP_READY &&
>  	    (ha->current_topology == ISP_CFG_F ||
> -	    (le32_to_cpu(*(uint32_t *)req_data) == ELS_OPCODE_BYTE &&
> +	    (get_unaligned_le32(req_data) == ELS_OPCODE_BYTE &&
>  	     req_data_len == MAX_ELS_FRAME_PAYLOAD)) &&
>  	    elreq.options == EXTERNAL_LOOPBACK) {
>  		type = "FC_BSG_HST_VENDOR_ECHO_DIAG";
> diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
> index ddd73b7c14d5..efb3ac31138d 100644
> --- a/drivers/scsi/qla2xxx/qla_isr.c
> +++ b/drivers/scsi/qla2xxx/qla_isr.c
> @@ -2152,12 +2152,12 @@ qla2x00_handle_dif_error(srb_t *sp, struct sts_entry_24xx *sts24)
>  	 * swab32 of the "data" field in the beginning of qla2x00_status_entry()
>  	 * would make guard field appear at offset 2
>  	 */
> -	a_guard   = le16_to_cpu(*(uint16_t *)(ap + 2));
> -	a_app_tag = le16_to_cpu(*(uint16_t *)(ap + 0));
> -	a_ref_tag = le32_to_cpu(*(uint32_t *)(ap + 4));
> -	e_guard   = le16_to_cpu(*(uint16_t *)(ep + 2));
> -	e_app_tag = le16_to_cpu(*(uint16_t *)(ep + 0));
> -	e_ref_tag = le32_to_cpu(*(uint32_t *)(ep + 4));
> +	a_guard   = get_unaligned_le16(ap + 2);
> +	a_app_tag = get_unaligned_le16(ap + 0);
> +	a_ref_tag = get_unaligned_le32(ap + 4);
> +	e_guard   = get_unaligned_le16(ep + 2);
> +	e_app_tag = get_unaligned_le16(ep + 0);
> +	e_ref_tag = get_unaligned_le32(ep + 4);
>  
>  	ql_dbg(ql_dbg_io, vha, 0x3023,
>  	    "iocb(s) %p Returned STATUS.\n", sts24);
> diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c
> index c855d013ba8a..49b1a43802c1 100644
> --- a/drivers/scsi/qla2xxx/qla_nx.c
> +++ b/drivers/scsi/qla2xxx/qla_nx.c
> @@ -1882,7 +1882,7 @@ qla82xx_set_product_offset(struct qla_hw_data *ha)
>  static int
>  qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type)
>  {
> -	__le32 val;
> +	uint32_t val;
>  	uint32_t min_size;
>  	struct qla_hw_data *ha = vha->hw;
>  	const struct firmware *fw = ha->hablob->fw;
> @@ -1895,8 +1895,8 @@ qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type)
>  
>  		min_size = QLA82XX_URI_FW_MIN_SIZE;
>  	} else {
> -		val = cpu_to_le32(*(u32 *)&fw->data[QLA82XX_FW_MAGIC_OFFSET]);
> -		if ((__force u32)val != QLA82XX_BDINFO_MAGIC)
> +		val = get_unaligned_le32(&fw->data[QLA82XX_FW_MAGIC_OFFSET]);
> +		if (val != QLA82XX_BDINFO_MAGIC)
>  			return -EINVAL;
>  
>  		min_size = QLA82XX_FW_MIN_SIZE;
> diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
> index 68c14143e50e..7d6132ce67b5 100644
> --- a/drivers/scsi/qla2xxx/qla_target.c
> +++ b/drivers/scsi/qla2xxx/qla_target.c
> @@ -3446,13 +3446,13 @@ qlt_handle_dif_error(struct qla_qpair *qpair, struct qla_tgt_cmd *cmd,
>  
>  	cmd->trc_flags |= TRC_DIF_ERR;
>  
> -	cmd->a_guard   = be16_to_cpu(*(uint16_t *)(ap + 0));
> -	cmd->a_app_tag = be16_to_cpu(*(uint16_t *)(ap + 2));
> -	cmd->a_ref_tag = be32_to_cpu(*(uint32_t *)(ap + 4));
> +	cmd->a_guard   = get_unaligned_be16(ap + 0);
> +	cmd->a_app_tag = get_unaligned_be16(ap + 2);
> +	cmd->a_ref_tag = get_unaligned_be32(ap + 4);
>  
> -	cmd->e_guard   = be16_to_cpu(*(uint16_t *)(ep + 0));
> -	cmd->e_app_tag = be16_to_cpu(*(uint16_t *)(ep + 2));
> -	cmd->e_ref_tag = be32_to_cpu(*(uint32_t *)(ep + 4));
> +	cmd->e_guard   = get_unaligned_be16(ep + 0);
> +	cmd->e_app_tag = get_unaligned_be16(ep + 2);
> +	cmd->e_ref_tag = get_unaligned_be32(ep + 4);
>  
>  	ql_dbg(ql_dbg_tgt_dif, vha, 0xf075,
>  	    "%s: aborted %d state %d\n", __func__, cmd->aborted, cmd->state);
> diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h
> index d006f0a97b8c..6539499e9e95 100644
> --- a/drivers/scsi/qla2xxx/qla_target.h
> +++ b/drivers/scsi/qla2xxx/qla_target.h
> @@ -379,8 +379,7 @@ static inline int get_datalen_for_atio(struct atio_from_isp *atio)
>  {
>  	int len = atio->u.isp24.fcp_cmnd.add_cdb_len;
>  
> -	return (be32_to_cpu(get_unaligned((uint32_t *)
> -	    &atio->u.isp24.fcp_cmnd.add_cdb[len * 4])));
> +	return get_unaligned_be32(&atio->u.isp24.fcp_cmnd.add_cdb[len * 4]);
>  }
>  
>  #define CTIO_TYPE7 0x12 /* Continue target I/O entry (for 24xx) */

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions
  2019-12-19  0:50 [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions Bart Van Assche
  2019-12-19  8:44 ` Daniel Wagner
@ 2019-12-20 14:15 ` Roman Bolshakov
  2020-01-03  2:56 ` Martin K. Petersen
  2 siblings, 0 replies; 4+ messages in thread
From: Roman Bolshakov @ 2019-12-20 14:15 UTC (permalink / raw)
  To: Bart Van Assche
  Cc: Martin K . Petersen, James E . J . Bottomley, linux-scsi,
	Christoph Hellwig, Himanshu Madhani, Quinn Tran, Martin Wilck,
	Daniel Wagner

On Wed, Dec 18, 2019 at 04:50:50PM -0800, Bart Van Assche wrote:
> This patch improves readability and does not change any functionality.
> 
> Cc: Himanshu Madhani <hmadhani@marvell.com>
> Cc: Quinn Tran <qutran@marvell.com>
> Cc: Martin Wilck <mwilck@suse.com>
> Cc: Daniel Wagner <dwagner@suse.de>
> Cc: Roman Bolshakov <r.bolshakov@yadro.com>
> Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> ---
>  drivers/scsi/qla2xxx/qla_bsg.c    |  2 +-
>  drivers/scsi/qla2xxx/qla_isr.c    | 12 ++++++------
>  drivers/scsi/qla2xxx/qla_nx.c     |  6 +++---
>  drivers/scsi/qla2xxx/qla_target.c | 12 ++++++------
>  drivers/scsi/qla2xxx/qla_target.h |  3 +--
>  5 files changed, 17 insertions(+), 18 deletions(-)
> 

Hi Bart,

Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>

Thank you,
Roman

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions
  2019-12-19  0:50 [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions Bart Van Assche
  2019-12-19  8:44 ` Daniel Wagner
  2019-12-20 14:15 ` Roman Bolshakov
@ 2020-01-03  2:56 ` Martin K. Petersen
  2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2020-01-03  2:56 UTC (permalink / raw)
  To: Bart Van Assche
  Cc: Martin K . Petersen, James E . J . Bottomley, linux-scsi,
	Christoph Hellwig, Himanshu Madhani, Quinn Tran, Martin Wilck,
	Daniel Wagner, Roman Bolshakov


Bart,

> This patch improves readability and does not change any functionality.

Applied to 5.6/scsi-queue, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-01-03  2:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-19  0:50 [PATCH] qla2xxx: Use get_unaligned_*() instead of open-coding these functions Bart Van Assche
2019-12-19  8:44 ` Daniel Wagner
2019-12-20 14:15 ` Roman Bolshakov
2020-01-03  2:56 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).