IB/hns: Fix the bug of setting port mtu
authorWei Hu (Xavier) <xavier.huwei@huawei.com>
Tue, 29 Nov 2016 23:10:27 +0000 (23:10 +0000)
committerDoug Ledford <dledford@redhat.com>
Sat, 3 Dec 2016 19:20:42 +0000 (14:20 -0500)
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>
drivers/infiniband/hw/hns/hns_roce_main.c

index 0cedec0c557628fde618d208b78e60b928ebce72..5e620f9f13d273b187c9404873d2e08754e23466 100644 (file)
@@ -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);
        }