diff options
author | Varun Prakash <varun@chelsio.com> | 2019-04-13 16:51:54 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-04-16 04:13:12 +0200 |
commit | ffcd686b913eab35b7f447d8e373aae16d5fed34 (patch) | |
tree | eb4f29694820098c76571d38a2338005e87265f5 /drivers/scsi/cxgbi/libcxgbi.c | |
parent | scsi: core: don't hold device refcount in IO path (diff) | |
download | linux-ffcd686b913eab35b7f447d8e373aae16d5fed34.tar.xz linux-ffcd686b913eab35b7f447d8e373aae16d5fed34.zip |
scsi: libcxgbi: find cxgbi device by MAC address
If cxgbi_device_find_by_netdev() returns NULL then find cxgbi device by MAC
address.
Signed-off-by: Varun Prakash <varun@chelsio.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/cxgbi/libcxgbi.c')
-rw-r--r-- | drivers/scsi/cxgbi/libcxgbi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c index 1d9115484503..d7abc7e9ec94 100644 --- a/drivers/scsi/cxgbi/libcxgbi.c +++ b/drivers/scsi/cxgbi/libcxgbi.c @@ -282,7 +282,6 @@ struct cxgbi_device *cxgbi_device_find_by_netdev_rcu(struct net_device *ndev, } EXPORT_SYMBOL_GPL(cxgbi_device_find_by_netdev_rcu); -#if IS_ENABLED(CONFIG_IPV6) static struct cxgbi_device *cxgbi_device_find_by_mac(struct net_device *ndev, int *port) { @@ -315,7 +314,6 @@ static struct cxgbi_device *cxgbi_device_find_by_mac(struct net_device *ndev, ndev, ndev->name); return NULL; } -#endif void cxgbi_hbas_remove(struct cxgbi_device *cdev) { @@ -653,6 +651,8 @@ cxgbi_check_route(struct sockaddr *dst_addr, int ifindex) } cdev = cxgbi_device_find_by_netdev(ndev, &port); + if (!cdev) + cdev = cxgbi_device_find_by_mac(ndev, &port); if (!cdev) { pr_info("dst %pI4, %s, NOT cxgbi device.\n", &daddr->sin_addr.s_addr, ndev->name); |