mirror of https://gitee.com/openkylin/linux.git
[PATCH] IB: Add ib_coalesce_recv_mad to MAD
Add implementation for ib_coalesce_recv_mad. Also, clear allocated MAD data buffer in ib_create_send_mad. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Hal Rosenstock <halr@voltaire.com> Cc: Roland Dreier <rolandd@cisco.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f68bcc2df8
commit
df9f9ead74
|
@ -796,9 +796,9 @@ struct ib_mad_send_buf * ib_create_send_mad(struct ib_mad_agent *mad_agent,
|
||||||
buf = kmalloc(sizeof *send_buf + buf_size, gfp_mask);
|
buf = kmalloc(sizeof *send_buf + buf_size, gfp_mask);
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
memset(buf, 0, sizeof *send_buf + buf_size);
|
||||||
|
|
||||||
send_buf = buf + buf_size;
|
send_buf = buf + buf_size;
|
||||||
memset(send_buf, 0, sizeof *send_buf);
|
|
||||||
send_buf->mad = buf;
|
send_buf->mad = buf;
|
||||||
|
|
||||||
send_buf->sge.addr = dma_map_single(mad_agent->device->dma_device,
|
send_buf->sge.addr = dma_map_single(mad_agent->device->dma_device,
|
||||||
|
@ -1021,13 +1021,6 @@ void ib_free_recv_mad(struct ib_mad_recv_wc *mad_recv_wc)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ib_free_recv_mad);
|
EXPORT_SYMBOL(ib_free_recv_mad);
|
||||||
|
|
||||||
void ib_coalesce_recv_mad(struct ib_mad_recv_wc *mad_recv_wc,
|
|
||||||
void *buf)
|
|
||||||
{
|
|
||||||
printk(KERN_ERR PFX "ib_coalesce_recv_mad() not implemented yet\n");
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(ib_coalesce_recv_mad);
|
|
||||||
|
|
||||||
struct ib_mad_agent *ib_redirect_mad_qp(struct ib_qp *qp,
|
struct ib_mad_agent *ib_redirect_mad_qp(struct ib_qp *qp,
|
||||||
u8 rmpp_version,
|
u8 rmpp_version,
|
||||||
ib_mad_send_handler send_handler,
|
ib_mad_send_handler send_handler,
|
||||||
|
|
|
@ -365,8 +365,7 @@ int ib_post_send_mad(struct ib_mad_agent *mad_agent,
|
||||||
* This call copies a chain of received RMPP MADs into a single data buffer,
|
* This call copies a chain of received RMPP MADs into a single data buffer,
|
||||||
* removing duplicated headers.
|
* removing duplicated headers.
|
||||||
*/
|
*/
|
||||||
void ib_coalesce_recv_mad(struct ib_mad_recv_wc *mad_recv_wc,
|
void ib_coalesce_recv_mad(struct ib_mad_recv_wc *mad_recv_wc, void *buf);
|
||||||
void *buf);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ib_free_recv_mad - Returns data buffers used to receive a MAD to the
|
* ib_free_recv_mad - Returns data buffers used to receive a MAD to the
|
||||||
|
|
Loading…
Reference in New Issue