lkml.org 
[lkml]   [2021]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 089/125] net: hns3: fix data endian problem of some functions of debugfs
    Date
    From: Jie Wang <wangjie125@huawei.com>

    commit 2a21dab594a98c338c4bfbc31864cbca15888549 upstream.

    The member data in struct hclge_desc is type of __le32, it needs endian
    conversion before using it, and some functions of debugfs didn't do that,
    so this patch fixes it.

    Fixes: c0ebebb9ccc1 ("net: hns3: Add "dcb register" status information query function")
    Signed-off-by: Jie Wang <wangjie125@huawei.com>
    Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 30 ++++++-------
    1 file changed, 14 insertions(+), 16 deletions(-)

    --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
    +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
    @@ -391,7 +391,7 @@ static int hclge_dbg_dump_mac(struct hcl
    static int hclge_dbg_dump_dcb_qset(struct hclge_dev *hdev, char *buf, int len,
    int *pos)
    {
    - struct hclge_dbg_bitmap_cmd *bitmap;
    + struct hclge_dbg_bitmap_cmd req;
    struct hclge_desc desc;
    u16 qset_id, qset_num;
    int ret;
    @@ -408,12 +408,12 @@ static int hclge_dbg_dump_dcb_qset(struc
    if (ret)
    return ret;

    - bitmap = (struct hclge_dbg_bitmap_cmd *)&desc.data[1];
    + req.bitmap = (u8)le32_to_cpu(desc.data[1]);

    *pos += scnprintf(buf + *pos, len - *pos,
    "%04u %#x %#x %#x %#x\n",
    - qset_id, bitmap->bit0, bitmap->bit1,
    - bitmap->bit2, bitmap->bit3);
    + qset_id, req.bit0, req.bit1, req.bit2,
    + req.bit3);
    }

    return 0;
    @@ -422,7 +422,7 @@ static int hclge_dbg_dump_dcb_qset(struc
    static int hclge_dbg_dump_dcb_pri(struct hclge_dev *hdev, char *buf, int len,
    int *pos)
    {
    - struct hclge_dbg_bitmap_cmd *bitmap;
    + struct hclge_dbg_bitmap_cmd req;
    struct hclge_desc desc;
    u8 pri_id, pri_num;
    int ret;
    @@ -439,12 +439,11 @@ static int hclge_dbg_dump_dcb_pri(struct
    if (ret)
    return ret;

    - bitmap = (struct hclge_dbg_bitmap_cmd *)&desc.data[1];
    + req.bitmap = (u8)le32_to_cpu(desc.data[1]);

    *pos += scnprintf(buf + *pos, len - *pos,
    "%03u %#x %#x %#x\n",
    - pri_id, bitmap->bit0, bitmap->bit1,
    - bitmap->bit2);
    + pri_id, req.bit0, req.bit1, req.bit2);
    }

    return 0;
    @@ -453,7 +452,7 @@ static int hclge_dbg_dump_dcb_pri(struct
    static int hclge_dbg_dump_dcb_pg(struct hclge_dev *hdev, char *buf, int len,
    int *pos)
    {
    - struct hclge_dbg_bitmap_cmd *bitmap;
    + struct hclge_dbg_bitmap_cmd req;
    struct hclge_desc desc;
    u8 pg_id;
    int ret;
    @@ -466,12 +465,11 @@ static int hclge_dbg_dump_dcb_pg(struct
    if (ret)
    return ret;

    - bitmap = (struct hclge_dbg_bitmap_cmd *)&desc.data[1];
    + req.bitmap = (u8)le32_to_cpu(desc.data[1]);

    *pos += scnprintf(buf + *pos, len - *pos,
    "%03u %#x %#x %#x\n",
    - pg_id, bitmap->bit0, bitmap->bit1,
    - bitmap->bit2);
    + pg_id, req.bit0, req.bit1, req.bit2);
    }

    return 0;
    @@ -511,7 +509,7 @@ static int hclge_dbg_dump_dcb_queue(stru
    static int hclge_dbg_dump_dcb_port(struct hclge_dev *hdev, char *buf, int len,
    int *pos)
    {
    - struct hclge_dbg_bitmap_cmd *bitmap;
    + struct hclge_dbg_bitmap_cmd req;
    struct hclge_desc desc;
    u8 port_id = 0;
    int ret;
    @@ -521,12 +519,12 @@ static int hclge_dbg_dump_dcb_port(struc
    if (ret)
    return ret;

    - bitmap = (struct hclge_dbg_bitmap_cmd *)&desc.data[1];
    + req.bitmap = (u8)le32_to_cpu(desc.data[1]);

    *pos += scnprintf(buf + *pos, len - *pos, "port_mask: %#x\n",
    - bitmap->bit0);
    + req.bit0);
    *pos += scnprintf(buf + *pos, len - *pos, "port_shaping_pass: %#x\n",
    - bitmap->bit1);
    + req.bit1);

    return 0;
    }

    \
     
     \ /
      Last update: 2021-11-01 10:49    [W:4.300 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site