scsi: hisi_sas: redefine hisi_sas_phy.phy_type as u32
authorJohn Garry <john.garry@huawei.com>
Mon, 26 Jun 2017 10:27:28 +0000 (18:27 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 26 Jun 2017 19:01:04 +0000 (15:01 -0400)
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>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas.h

index 4fc23087a939bbb149b3bdad0cb01184d222a6ae..22dd48bc2fa093d70c4e35c36ae0b6b18419b71c 100644 (file)
@@ -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;
 };