Skip to content

Commit 44b0b74

Browse files
Yuval Shaiadledford
authored andcommitted
IB/usnic: Implement get_netdev hook
usnic's get_netdev hook for struct ib_device is missing - add it. Signed-off-by: Yuval Shaia <[email protected]> Reviewed-by: Christian Benvenuti <[email protected]> Reviewed-by: Leon Romanovsky <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
1 parent f201777 commit 44b0b74

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

drivers/infiniband/hw/usnic/usnic_ib_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,7 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
409409
us_ibdev->ib_dev.query_port = usnic_ib_query_port;
410410
us_ibdev->ib_dev.query_pkey = usnic_ib_query_pkey;
411411
us_ibdev->ib_dev.query_gid = usnic_ib_query_gid;
412+
us_ibdev->ib_dev.get_netdev = usnic_get_netdev;
412413
us_ibdev->ib_dev.get_link_layer = usnic_ib_port_link_layer;
413414
us_ibdev->ib_dev.alloc_pd = usnic_ib_alloc_pd;
414415
us_ibdev->ib_dev.dealloc_pd = usnic_ib_dealloc_pd;

drivers/infiniband/hw/usnic/usnic_ib_verbs.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,16 @@ int usnic_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
424424
return 0;
425425
}
426426

427+
struct net_device *usnic_get_netdev(struct ib_device *device, u8 port_num)
428+
{
429+
struct usnic_ib_dev *us_ibdev = to_usdev(device);
430+
431+
if (us_ibdev->netdev)
432+
dev_hold(us_ibdev->netdev);
433+
434+
return us_ibdev->netdev;
435+
}
436+
427437
int usnic_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
428438
u16 *pkey)
429439
{

drivers/infiniband/hw/usnic/usnic_ib_verbs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ int usnic_ib_query_qp(struct ib_qp *qp, struct ib_qp_attr *qp_attr,
4848
struct ib_qp_init_attr *qp_init_attr);
4949
int usnic_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
5050
union ib_gid *gid);
51+
struct net_device *usnic_get_netdev(struct ib_device *device, u8 port_num);
5152
int usnic_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
5253
u16 *pkey);
5354
struct ib_pd *usnic_ib_alloc_pd(struct ib_device *ibdev,

0 commit comments

Comments
 (0)