Commit 46c87b42 authored by Kamal Heib's avatar Kamal Heib Committed by Jason Gunthorpe

RDMA/cxgb4: Use helper function to set GUIDs

Use the addrconf_addr_eui48() helper function to set the GUIDs, Also make
sure the GUIDs are valid EUI-64 identifiers.

Link: https://lore.kernel.org/r/20211118100456.45423-1-kamalheib1@gmail.comSigned-off-by: default avatarKamal Heib <kamalheib1@gmail.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 2a67fcfa
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include <linux/ethtool.h> #include <linux/ethtool.h>
#include <linux/rtnetlink.h> #include <linux/rtnetlink.h>
#include <linux/inetdevice.h> #include <linux/inetdevice.h>
#include <net/addrconf.h>
#include <linux/io.h> #include <linux/io.h>
#include <asm/irq.h> #include <asm/irq.h>
...@@ -264,7 +265,8 @@ static int c4iw_query_device(struct ib_device *ibdev, struct ib_device_attr *pro ...@@ -264,7 +265,8 @@ static int c4iw_query_device(struct ib_device *ibdev, struct ib_device_attr *pro
return -EINVAL; return -EINVAL;
dev = to_c4iw_dev(ibdev); dev = to_c4iw_dev(ibdev);
memcpy(&props->sys_image_guid, dev->rdev.lldi.ports[0]->dev_addr, 6); addrconf_addr_eui48((u8 *)&props->sys_image_guid,
dev->rdev.lldi.ports[0]->dev_addr);
props->hw_ver = CHELSIO_CHIP_RELEASE(dev->rdev.lldi.adapter_type); props->hw_ver = CHELSIO_CHIP_RELEASE(dev->rdev.lldi.adapter_type);
props->fw_ver = dev->rdev.lldi.fw_vers; props->fw_ver = dev->rdev.lldi.fw_vers;
props->device_cap_flags = dev->device_cap_flags; props->device_cap_flags = dev->device_cap_flags;
...@@ -525,8 +527,8 @@ void c4iw_register_device(struct work_struct *work) ...@@ -525,8 +527,8 @@ void c4iw_register_device(struct work_struct *work)
struct c4iw_dev *dev = ctx->dev; struct c4iw_dev *dev = ctx->dev;
pr_debug("c4iw_dev %p\n", dev); pr_debug("c4iw_dev %p\n", dev);
memset(&dev->ibdev.node_guid, 0, sizeof(dev->ibdev.node_guid)); addrconf_addr_eui48((u8 *)&dev->ibdev.node_guid,
memcpy(&dev->ibdev.node_guid, dev->rdev.lldi.ports[0]->dev_addr, 6); dev->rdev.lldi.ports[0]->dev_addr);
dev->device_cap_flags = IB_DEVICE_LOCAL_DMA_LKEY | IB_DEVICE_MEM_WINDOW; dev->device_cap_flags = IB_DEVICE_LOCAL_DMA_LKEY | IB_DEVICE_MEM_WINDOW;
if (fastreg_support) if (fastreg_support)
dev->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS; dev->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment