Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1674590 > unrolled thread

[PATCH] scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32

Started byJohn Garry <john.garry@huawei.com>
First post2017-06-26 12:00 +0200
Last post2017-06-26 19:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32 John Garry <john.garry@huawei.com> - 2017-06-26 12:00 +0200
    Re: [PATCH] scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32 "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-06-26 19:50 +0200

#1674590 — [PATCH] scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32

FromJohn Garry <john.garry@huawei.com>
Date2017-06-26 12:00 +0200
Subject[PATCH] scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32
Message-ID<tWyYi-I2-25@gated-at.bofh.it>
Element phy_type is a bitmask and it only ever has 2
bits possibly set, and it is overkill to define as a u64,
so redefine as a u32.

This change resolves static code check complaint that
"phy->phy_type &= ~PORT_TYPE_SAS;" would
unintentionally clear the high 32 bits as well.

Structure hisi_sas_phy is also reordered to ensure
packing efficiency.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John Garry <john.garry@huawei.com>

diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
index 4fc2308..22dd48b 100644
--- a/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h
@@ -85,11 +85,11 @@ struct hisi_sas_phy {
 	struct work_struct	phyup_ws;
 	u64		port_id; /* from hw */
 	u64		dev_sas_addr;
-	u64		phy_type;
 	u64		frame_rcvd_size;
 	u8		frame_rcvd[32];
 	u8		phy_attached;
 	u8		reserved[3];
+	u32		phy_type;
 	enum sas_linkrate	minimum_linkrate;
 	enum sas_linkrate	maximum_linkrate;
 };
-- 
1.9.1

[toc] | [next] | [standalone]


#1674979

From"Martin K. Petersen" <martin.petersen@oracle.com>
Date2017-06-26 19:50 +0200
Message-ID<tWGj8-5mb-17@gated-at.bofh.it>
In reply to#1674590
John,

> Element phy_type is a bitmask and it only ever has 2 bits possibly
> set, and it is overkill to define as a u64, so redefine as a u32.
>
> This change resolves static code check complaint that "phy->phy_type
> &= ~PORT_TYPE_SAS;" would unintentionally clear the high 32 bits as
> well.
>
> Structure hisi_sas_phy is also reordered to ensure packing efficiency.

Applied to 4.13/scsi-queue, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web