forked from luck/tmp_suning_uos_patched
net: hns3: replace an unsuitable variable type in hclge_inform_reset_assert_to_vf()
In hclge_inform_reset_assert_to_vf(), variable reset_type(enum type) will be copied into msg_data whose size is 2 bytes. Currently, hip08 is a little-endian machine, so the lower two bytes of reset_type will be copied to msg_data. But when running on a big-endian machine, msg_data will have a wrong value(the higher two bytes of reset_type). So this patch modifies the type of reset_type to u16, and adds a build check in case enum hnae3_reset_type has value larger than U16_MAX. Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2af8cb6126
commit
7061867b59
|
@ -164,6 +164,7 @@ enum hnae3_reset_type {
|
|||
HNAE3_IMP_RESET,
|
||||
HNAE3_UNKNOWN_RESET,
|
||||
HNAE3_NONE_RESET,
|
||||
HNAE3_MAX_RESET,
|
||||
};
|
||||
|
||||
enum hnae3_flr_state {
|
||||
|
|
|
@ -86,10 +86,12 @@ static int hclge_send_mbx_msg(struct hclge_vport *vport, u8 *msg, u16 msg_len,
|
|||
int hclge_inform_reset_assert_to_vf(struct hclge_vport *vport)
|
||||
{
|
||||
struct hclge_dev *hdev = vport->back;
|
||||
enum hnae3_reset_type reset_type;
|
||||
u16 reset_type;
|
||||
u8 msg_data[2];
|
||||
u8 dest_vfid;
|
||||
|
||||
BUILD_BUG_ON(HNAE3_MAX_RESET > U16_MAX);
|
||||
|
||||
dest_vfid = (u8)vport->vport_id;
|
||||
|
||||
if (hdev->reset_type == HNAE3_FUNC_RESET)
|
||||
|
|
Loading…
Reference in New Issue
Block a user