Message ID | 1498472848-174945-1-git-send-email-john.garry@huawei.com |
---|---|
State | New |
Headers | show |
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
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; };
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> -- 1.9.1