diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-02 17:36:05 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-02 17:36:05 -0500 |
| commit | 40eb006685387b2861bd7196be0ab7144c5d5b71 (patch) | |
| tree | c43ba94aa8632127ce9433dce0832e4e2734a2b4 /include | |
| parent | e957b00a8caece90cbc2afd0a4cb4c4d61b9efa8 (diff) | |
| parent | 7a118df3ea23820b9922a1b51cd2f24e464f4c17 (diff) | |
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
RDMA/addr: Use client registration to fix module unload race
IB/mthca: Fix MAD extended header format for MAD_IFC firmware command
IB/uverbs: Return sq_draining value in query_qp response
IB/amso1100: Fix incorrect pr_debug()
IB/amso1100: Use dma_alloc_coherent() instead of kmalloc/dma_map_single
IB/ehca: Fix eHCA driver compilation for uniprocessor
RDMA/cma: rdma_bind_addr() leaks a cma_dev reference count
IB/iser: Start connection after enabling iSER
Diffstat (limited to 'include')
| -rw-r--r-- | include/rdma/ib_addr.h | 20 | ||||
| -rw-r--r-- | include/rdma/ib_user_verbs.h | 2 |
2 files changed, 20 insertions, 2 deletions
diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index 81b62307621d..c094e5012862 100644 --- a/include/rdma/ib_addr.h +++ b/include/rdma/ib_addr.h | |||
| @@ -36,6 +36,22 @@ | |||
| 36 | #include <linux/socket.h> | 36 | #include <linux/socket.h> |
| 37 | #include <rdma/ib_verbs.h> | 37 | #include <rdma/ib_verbs.h> |
| 38 | 38 | ||
| 39 | struct rdma_addr_client { | ||
| 40 | atomic_t refcount; | ||
| 41 | struct completion comp; | ||
| 42 | }; | ||
| 43 | |||
| 44 | /** | ||
| 45 | * rdma_addr_register_client - Register an address client. | ||
| 46 | */ | ||
| 47 | void rdma_addr_register_client(struct rdma_addr_client *client); | ||
| 48 | |||
| 49 | /** | ||
| 50 | * rdma_addr_unregister_client - Deregister an address client. | ||
| 51 | * @client: Client object to deregister. | ||
| 52 | */ | ||
| 53 | void rdma_addr_unregister_client(struct rdma_addr_client *client); | ||
| 54 | |||
| 39 | struct rdma_dev_addr { | 55 | struct rdma_dev_addr { |
| 40 | unsigned char src_dev_addr[MAX_ADDR_LEN]; | 56 | unsigned char src_dev_addr[MAX_ADDR_LEN]; |
| 41 | unsigned char dst_dev_addr[MAX_ADDR_LEN]; | 57 | unsigned char dst_dev_addr[MAX_ADDR_LEN]; |
| @@ -52,6 +68,7 @@ int rdma_translate_ip(struct sockaddr *addr, struct rdma_dev_addr *dev_addr); | |||
| 52 | /** | 68 | /** |
| 53 | * rdma_resolve_ip - Resolve source and destination IP addresses to | 69 | * rdma_resolve_ip - Resolve source and destination IP addresses to |
| 54 | * RDMA hardware addresses. | 70 | * RDMA hardware addresses. |
| 71 | * @client: Address client associated with request. | ||
| 55 | * @src_addr: An optional source address to use in the resolution. If a | 72 | * @src_addr: An optional source address to use in the resolution. If a |
| 56 | * source address is not provided, a usable address will be returned via | 73 | * source address is not provided, a usable address will be returned via |
| 57 | * the callback. | 74 | * the callback. |
| @@ -64,7 +81,8 @@ int rdma_translate_ip(struct sockaddr *addr, struct rdma_dev_addr *dev_addr); | |||
| 64 | * or been canceled. A status of 0 indicates success. | 81 | * or been canceled. A status of 0 indicates success. |
| 65 | * @context: User-specified context associated with the call. | 82 | * @context: User-specified context associated with the call. |
| 66 | */ | 83 | */ |
| 67 | int rdma_resolve_ip(struct sockaddr *src_addr, struct sockaddr *dst_addr, | 84 | int rdma_resolve_ip(struct rdma_addr_client *client, |
| 85 | struct sockaddr *src_addr, struct sockaddr *dst_addr, | ||
| 68 | struct rdma_dev_addr *addr, int timeout_ms, | 86 | struct rdma_dev_addr *addr, int timeout_ms, |
| 69 | void (*callback)(int status, struct sockaddr *src_addr, | 87 | void (*callback)(int status, struct sockaddr *src_addr, |
| 70 | struct rdma_dev_addr *addr, void *context), | 88 | struct rdma_dev_addr *addr, void *context), |
diff --git a/include/rdma/ib_user_verbs.h b/include/rdma/ib_user_verbs.h index db1b814b62cc..64a721fcbc1c 100644 --- a/include/rdma/ib_user_verbs.h +++ b/include/rdma/ib_user_verbs.h | |||
| @@ -458,7 +458,7 @@ struct ib_uverbs_query_qp_resp { | |||
| 458 | __u8 cur_qp_state; | 458 | __u8 cur_qp_state; |
| 459 | __u8 path_mtu; | 459 | __u8 path_mtu; |
| 460 | __u8 path_mig_state; | 460 | __u8 path_mig_state; |
| 461 | __u8 en_sqd_async_notify; | 461 | __u8 sq_draining; |
| 462 | __u8 max_rd_atomic; | 462 | __u8 max_rd_atomic; |
| 463 | __u8 max_dest_rd_atomic; | 463 | __u8 max_dest_rd_atomic; |
| 464 | __u8 min_rnr_timer; | 464 | __u8 min_rnr_timer; |
