RDMA/hns: Fix a bug with modifying mac address
authoroulijun <oulijun@huawei.com>
Wed, 7 Feb 2018 09:49:28 +0000 (17:49 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 14 Feb 2018 23:30:12 +0000 (16:30 -0700)
When modifying mac address, it will trigger hns_roce_del_gid
function and can't delete the default gid matched the index
because the attribute of gid is null.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_main.c

index eb9a69f..8255bb9 100644 (file)
@@ -100,6 +100,7 @@ static int hns_roce_del_gid(struct ib_device *device, u8 port_num,
                            unsigned int index, void **context)
 {
        struct hns_roce_dev *hr_dev = to_hr_dev(device);
+       struct ib_gid_attr zattr = { };
        union ib_gid zgid = { {0} };
        u8 port = port_num - 1;
        unsigned long flags;
@@ -110,7 +111,7 @@ static int hns_roce_del_gid(struct ib_device *device, u8 port_num,
 
        spin_lock_irqsave(&hr_dev->iboe.lock, flags);
 
-       ret = hr_dev->hw->set_gid(hr_dev, port, index, &zgid, NULL);
+       ret = hr_dev->hw->set_gid(hr_dev, port, index, &zgid, &zattr);
 
        spin_unlock_irqrestore(&hr_dev->iboe.lock, flags);