diff options
author | Christoph Hellwig <hch@lst.de> | 2016-01-04 14:15:58 +0100 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-01-19 15:25:36 -0500 |
commit | ca281265c02f342fed4927b4e98e377d9318881f (patch) | |
tree | 03c8c6e83e4b22502717921062059bd2e10778e2 /drivers/infiniband/core/sa_query.c | |
parent | infiniband: Replace memset with eth_zero_addr (diff) | |
download | linux-dev-ca281265c02f342fed4927b4e98e377d9318881f.tar.xz linux-dev-ca281265c02f342fed4927b4e98e377d9318881f.zip |
IB/mad: pass ib_mad_send_buf explicitly to the recv_handler
Stop abusing wr_id and just pass the parameter explicitly.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hal Rosenstock <hal@mellanox.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/core/sa_query.c')
-rw-r--r-- | drivers/infiniband/core/sa_query.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/core/sa_query.c b/drivers/infiniband/core/sa_query.c index e364a42db14d..1f91b6ed7ce8 100644 --- a/drivers/infiniband/core/sa_query.c +++ b/drivers/infiniband/core/sa_query.c @@ -1669,14 +1669,15 @@ static void send_handler(struct ib_mad_agent *agent, } static void recv_handler(struct ib_mad_agent *mad_agent, + struct ib_mad_send_buf *send_buf, struct ib_mad_recv_wc *mad_recv_wc) { struct ib_sa_query *query; - struct ib_mad_send_buf *mad_buf; - mad_buf = (void *) (unsigned long) mad_recv_wc->wc->wr_id; - query = mad_buf->context[0]; + if (!send_buf) + return; + query = send_buf->context[0]; if (query->callback) { if (mad_recv_wc->wc->status == IB_WC_SUCCESS) query->callback(query, |