提交 e429da2a 编写于 作者: J Jiantao Xiao

Revert "net: hns3: fix the imp capability bit cannot exceed 32 bits issue"

driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7ON9Y
CVE: NA

----------------------------------------------------------------------

This reverts commit 702c687c.
Signed-off-by: NJiantao Xiao <xiaojiantao1@h-partners.com>
上级 a1d2a0e2
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/pkt_sched.h> #include <linux/pkt_sched.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/bitmap.h>
#include <net/pkt_cls.h> #include <net/pkt_cls.h>
#define HNAE3_MOD_VERSION "1.0" #define HNAE3_MOD_VERSION "1.0"
...@@ -422,7 +421,7 @@ struct hnae3_ae_dev { ...@@ -422,7 +421,7 @@ struct hnae3_ae_dev {
unsigned long hw_err_reset_req; unsigned long hw_err_reset_req;
struct hnae3_dev_specs dev_specs; struct hnae3_dev_specs dev_specs;
u32 dev_version; u32 dev_version;
DECLARE_BITMAP(caps, HNAE3_DEV_CAPS_MAX_NUM); unsigned long caps[BITS_TO_LONGS(HNAE3_DEV_CAPS_MAX_NUM)];
void *priv; void *priv;
}; };
......
...@@ -172,20 +172,6 @@ static const struct hclge_comm_caps_bit_map hclge_vf_cmd_caps[] = { ...@@ -172,20 +172,6 @@ static const struct hclge_comm_caps_bit_map hclge_vf_cmd_caps[] = {
{HCLGE_COMM_CAP_GRO_B, HNAE3_DEV_SUPPORT_GRO_B}, {HCLGE_COMM_CAP_GRO_B, HNAE3_DEV_SUPPORT_GRO_B},
}; };
static void
hclge_comm_capability_to_bitmap(unsigned long *bitmap, __le32 *caps)
{
const unsigned int words = HCLGE_COMM_QUERY_CAP_LENGTH;
u32 val[HCLGE_COMM_QUERY_CAP_LENGTH];
unsigned int i;
for (i = 0; i < words; i++)
val[i] = __le32_to_cpu(caps[i]);
bitmap_from_arr32(bitmap, val,
HCLGE_COMM_QUERY_CAP_LENGTH * BITS_PER_TYPE(u32));
}
static void static void
hclge_comm_parse_capability(struct hnae3_ae_dev *ae_dev, bool is_pf, hclge_comm_parse_capability(struct hnae3_ae_dev *ae_dev, bool is_pf,
struct hclge_comm_query_version_cmd *cmd) struct hclge_comm_query_version_cmd *cmd)
...@@ -194,12 +180,11 @@ hclge_comm_parse_capability(struct hnae3_ae_dev *ae_dev, bool is_pf, ...@@ -194,12 +180,11 @@ hclge_comm_parse_capability(struct hnae3_ae_dev *ae_dev, bool is_pf,
is_pf ? hclge_pf_cmd_caps : hclge_vf_cmd_caps; is_pf ? hclge_pf_cmd_caps : hclge_vf_cmd_caps;
u32 size = is_pf ? ARRAY_SIZE(hclge_pf_cmd_caps) : u32 size = is_pf ? ARRAY_SIZE(hclge_pf_cmd_caps) :
ARRAY_SIZE(hclge_vf_cmd_caps); ARRAY_SIZE(hclge_vf_cmd_caps);
DECLARE_BITMAP(caps, HCLGE_COMM_QUERY_CAP_LENGTH * BITS_PER_TYPE(u32)); u32 caps, i;
u32 i;
hclge_comm_capability_to_bitmap(caps, cmd->caps); caps = __le32_to_cpu(cmd->caps[0]);
for (i = 0; i < size; i++) for (i = 0; i < size; i++)
if (test_bit(caps_map[i].imp_bit, caps)) if (hnae3_get_bit(caps, caps_map[i].imp_bit))
set_bit(caps_map[i].local_bit, ae_dev->caps); set_bit(caps_map[i].local_bit, ae_dev->caps);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册