diff options
author | Jack Wang <jinpu.wang@profitbricks.com> | 2017-01-02 13:19:24 +0100 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-01-12 23:00:00 -0500 |
commit | 9e2c3f1c7f3edc6bdd83dab601418ac6c3b6df73 (patch) | |
tree | d9f6df0402e77e029b7628d78bc7c9979e083fa7 /drivers | |
parent | aaaca121c7cf9217ab81d9db0a04835d52aabebe (diff) | |
download | linux-9e2c3f1c7f3edc6bdd83dab601418ac6c3b6df73.tar.bz2 |
RDMA/core: export ib_get_cached_port_state
Export function for rdma_cm, patch for rdma_cm to follow.
Signed-off-by: Jack Wang <jinpu.wang@profitbricks.com>
Reviewed-by: Michael Wang <yun.wang@profitbricks.com>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/core/cache.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c index 87fd7c39fbc0..f91886bab9d1 100644 --- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c @@ -1021,6 +1021,24 @@ int ib_get_cached_lmc(struct ib_device *device, } EXPORT_SYMBOL(ib_get_cached_lmc); +int ib_get_cached_port_state(struct ib_device *device, + u8 port_num, + enum ib_port_state *port_state) +{ + unsigned long flags; + int ret = 0; + + if (port_num < rdma_start_port(device) || port_num > rdma_end_port(device)) + return -EINVAL; + + read_lock_irqsave(&device->cache.lock, flags); + *port_state = device->cache.port_state_cache[port_num - rdma_start_port(device)]; + read_unlock_irqrestore(&device->cache.lock, flags); + + return ret; +} +EXPORT_SYMBOL(ib_get_cached_port_state); + static void ib_cache_update(struct ib_device *device, u8 port) { |