Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63207425 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'hns3-fixes'



Lipeng says:

====================
net: hns3: fix some bugs for HNS3 driver

This patchset fixes some bugs reported by Hisilicon test team.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 95fa7a05 c3b6f755
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -3600,11 +3600,11 @@ static int hclge_add_mac_vlan_tbl(struct hclge_vport *vport,
							   resp_code,
							   HCLGE_MAC_VLAN_ADD);
	} else {
		mc_desc[0].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);
		hclge_cmd_reuse_desc(&mc_desc[0], false);
		mc_desc[0].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT);
		mc_desc[1].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);
		hclge_cmd_reuse_desc(&mc_desc[1], false);
		mc_desc[1].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT);
		mc_desc[2].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);
		hclge_cmd_reuse_desc(&mc_desc[2], false);
		mc_desc[2].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_NEXT);
		memcpy(mc_desc[0].data, req,
		       sizeof(struct hclge_mac_vlan_tbl_entry_cmd));
@@ -4285,7 +4285,7 @@ static int hclge_init_client_instance(struct hnae3_client *client,
				vport->roce.client = client;
			}

			if (hdev->roce_client) {
			if (hdev->roce_client && hdev->nic_client) {
				ret = hclge_init_roce_base_info(vport);
				if (ret)
					goto err;
@@ -4311,13 +4311,19 @@ static void hclge_uninit_client_instance(struct hnae3_client *client,

	for (i = 0; i < hdev->num_vmdq_vport + 1; i++) {
		vport = &hdev->vport[i];
		if (hdev->roce_client)
		if (hdev->roce_client) {
			hdev->roce_client->ops->uninit_instance(&vport->roce,
								0);
			hdev->roce_client = NULL;
			vport->roce.client = NULL;
		}
		if (client->type == HNAE3_CLIENT_ROCE)
			return;
		if (client->ops->uninit_instance)
		if (client->ops->uninit_instance) {
			client->ops->uninit_instance(&vport->nic, 0);
			hdev->nic_client = NULL;
			vport->nic.client = NULL;
		}
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -716,7 +716,7 @@ static void hns3_set_txbd_baseinfo(u16 *bdtp_fe_sc_vld_ra_ri, int frag_end)
		       HNS3_TXD_BDTYPE_M, 0);
	hnae_set_bit(*bdtp_fe_sc_vld_ra_ri, HNS3_TXD_FE_B, !!frag_end);
	hnae_set_bit(*bdtp_fe_sc_vld_ra_ri, HNS3_TXD_VLD_B, 1);
	hnae_set_field(*bdtp_fe_sc_vld_ra_ri, HNS3_TXD_SC_M, HNS3_TXD_SC_S, 1);
	hnae_set_field(*bdtp_fe_sc_vld_ra_ri, HNS3_TXD_SC_M, HNS3_TXD_SC_S, 0);
}

static int hns3_fill_desc(struct hns3_enet_ring *ring, void *priv,