diff options
author | Wei Hu (Xavier) <xavier.huwei@huawei.com> | 2016-11-29 23:10:27 +0000 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-12-03 14:20:42 -0500 |
commit | 9daed0affa1378cbfbc549de6a2b25c778c15bda (patch) | |
tree | ecfafb936a84a6b4b55f0a1994a8e397c7a368db /drivers/infiniband/hw/hns/hns_roce_main.c | |
parent | bfcc681bd09d6cd96aa0ec667533a867253731aa (diff) |
IB/hns: Fix the bug of setting port mtu
In hns_roce driver, we need not call iboe_get_mtu to reduce
IB headers from effective IBoE MTU because hr_dev->caps.max_mtu
has already been reduced.
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hns/hns_roce_main.c')
-rw-r--r-- | drivers/infiniband/hw/hns/hns_roce_main.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c index 0cedec0c5576..5e620f9f13d2 100644 --- a/drivers/infiniband/hw/hns/hns_roce_main.c +++ b/drivers/infiniband/hw/hns/hns_roce_main.c @@ -72,18 +72,6 @@ static void hns_roce_set_mac(struct hns_roce_dev *hr_dev, u8 port, u8 *addr) hr_dev->hw->set_mac(hr_dev, phy_port, addr); } -static void hns_roce_set_mtu(struct hns_roce_dev *hr_dev, u8 port, int mtu) -{ - u8 phy_port = hr_dev->iboe.phy_port[port]; - enum ib_mtu tmp; - - tmp = iboe_get_mtu(mtu); - if (!tmp) - tmp = IB_MTU_256; - - hr_dev->hw->set_mtu(hr_dev, phy_port, tmp); -} - static int hns_roce_add_gid(struct ib_device *device, u8 port_num, unsigned int index, const union ib_gid *gid, const struct ib_gid_attr *attr, void **context) @@ -188,8 +176,8 @@ static int hns_roce_setup_mtu_mac(struct hns_roce_dev *hr_dev) u8 i; for (i = 0; i < hr_dev->caps.num_ports; i++) { - hns_roce_set_mtu(hr_dev, i, - ib_mtu_enum_to_int(hr_dev->caps.max_mtu)); + hr_dev->hw->set_mtu(hr_dev, hr_dev->iboe.phy_port[i], + hr_dev->caps.max_mtu); hns_roce_set_mac(hr_dev, i, hr_dev->iboe.netdevs[i]->dev_addr); } |