Skip to content

Commit dc221a2

Browse files
committed
Merge branch 'hns3-fixes'
Huazhong Tan says: ==================== net: hns3: fixes for -net This series includes three bugfixes for the HNS3 ethernet driver. [patch 1] fixes a management table lost issue after IMP reset. [patch 2] fixes a VF bandwidth configuration not work problem. [patch 3] fixes a problem related to IPv6 address copying. ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents 803381f + 47327c9 commit dc221a2

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6113,6 +6113,9 @@ static int hclge_get_all_rules(struct hnae3_handle *handle,
61136113
static void hclge_fd_get_flow_tuples(const struct flow_keys *fkeys,
61146114
struct hclge_fd_rule_tuples *tuples)
61156115
{
6116+
#define flow_ip6_src fkeys->addrs.v6addrs.src.in6_u.u6_addr32
6117+
#define flow_ip6_dst fkeys->addrs.v6addrs.dst.in6_u.u6_addr32
6118+
61166119
tuples->ether_proto = be16_to_cpu(fkeys->basic.n_proto);
61176120
tuples->ip_proto = fkeys->basic.ip_proto;
61186121
tuples->dst_port = be16_to_cpu(fkeys->ports.dst);
@@ -6121,12 +6124,12 @@ static void hclge_fd_get_flow_tuples(const struct flow_keys *fkeys,
61216124
tuples->src_ip[3] = be32_to_cpu(fkeys->addrs.v4addrs.src);
61226125
tuples->dst_ip[3] = be32_to_cpu(fkeys->addrs.v4addrs.dst);
61236126
} else {
6124-
memcpy(tuples->src_ip,
6125-
fkeys->addrs.v6addrs.src.in6_u.u6_addr32,
6126-
sizeof(tuples->src_ip));
6127-
memcpy(tuples->dst_ip,
6128-
fkeys->addrs.v6addrs.dst.in6_u.u6_addr32,
6129-
sizeof(tuples->dst_ip));
6127+
int i;
6128+
6129+
for (i = 0; i < IPV6_SIZE; i++) {
6130+
tuples->src_ip[i] = be32_to_cpu(flow_ip6_src[i]);
6131+
tuples->dst_ip[i] = be32_to_cpu(flow_ip6_dst[i]);
6132+
}
61306133
}
61316134
}
61326135

@@ -9834,6 +9837,13 @@ static int hclge_reset_ae_dev(struct hnae3_ae_dev *ae_dev)
98349837
return ret;
98359838
}
98369839

9840+
ret = init_mgr_tbl(hdev);
9841+
if (ret) {
9842+
dev_err(&pdev->dev,
9843+
"failed to reinit manager table, ret = %d\n", ret);
9844+
return ret;
9845+
}
9846+
98379847
ret = hclge_init_fd_config(hdev);
98389848
if (ret) {
98399849
dev_err(&pdev->dev, "fd table init fail, ret=%d\n", ret);

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ static void hclge_tm_vport_tc_info_update(struct hclge_vport *vport)
566566
*/
567567
kinfo->num_tc = vport->vport_id ? 1 :
568568
min_t(u16, vport->alloc_tqps, hdev->tm_info.num_tc);
569-
vport->qs_offset = (vport->vport_id ? hdev->tm_info.num_tc : 0) +
569+
vport->qs_offset = (vport->vport_id ? HNAE3_MAX_TC : 0) +
570570
(vport->vport_id ? (vport->vport_id - 1) : 0);
571571

572572
max_rss_size = min_t(u16, hdev->rss_size_max,

0 commit comments

Comments
 (0)