RDMA/srpt: fix function pointer cast warnings
[ Upstream commit eb5c7465c3240151cd42a55c7ace9da0026308a1 ]
clang-16 notices that srpt_qp_event() gets called through an incompatible
pointer here:
drivers/infiniband/ulp/srpt/ib_srpt.c:1815:5: error: cast from 'void (*)(struct ib_event *, struct srpt_rdma_ch *)' to 'void (*)(struct ib_event *, void *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict]
1815 | = (void(*)(struct ib_event *, void*))srpt_qp_event;
Change srpt_qp_event() to use the correct prototype and adjust the
argument inside of it.
Fixes: a42d985bd5
("ib_srpt: Initial SRP Target merge for v3.3-rc1")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20240213100728.458348-1-arnd@kernel.org
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
656bd1702f
Коммит
cd6070d9f5
|
@ -214,10 +214,12 @@ static const char *get_ch_state_name(enum rdma_ch_state s)
|
||||||
/**
|
/**
|
||||||
* srpt_qp_event - QP event callback function
|
* srpt_qp_event - QP event callback function
|
||||||
* @event: Description of the event that occurred.
|
* @event: Description of the event that occurred.
|
||||||
* @ch: SRPT RDMA channel.
|
* @ptr: SRPT RDMA channel.
|
||||||
*/
|
*/
|
||||||
static void srpt_qp_event(struct ib_event *event, struct srpt_rdma_ch *ch)
|
static void srpt_qp_event(struct ib_event *event, void *ptr)
|
||||||
{
|
{
|
||||||
|
struct srpt_rdma_ch *ch = ptr;
|
||||||
|
|
||||||
pr_debug("QP event %d on ch=%p sess_name=%s-%d state=%s\n",
|
pr_debug("QP event %d on ch=%p sess_name=%s-%d state=%s\n",
|
||||||
event->event, ch, ch->sess_name, ch->qp->qp_num,
|
event->event, ch, ch->sess_name, ch->qp->qp_num,
|
||||||
get_ch_state_name(ch->state));
|
get_ch_state_name(ch->state));
|
||||||
|
@ -1811,8 +1813,7 @@ retry:
|
||||||
ch->cq_size = ch->rq_size + sq_size;
|
ch->cq_size = ch->rq_size + sq_size;
|
||||||
|
|
||||||
qp_init->qp_context = (void *)ch;
|
qp_init->qp_context = (void *)ch;
|
||||||
qp_init->event_handler
|
qp_init->event_handler = srpt_qp_event;
|
||||||
= (void(*)(struct ib_event *, void*))srpt_qp_event;
|
|
||||||
qp_init->send_cq = ch->cq;
|
qp_init->send_cq = ch->cq;
|
||||||
qp_init->recv_cq = ch->cq;
|
qp_init->recv_cq = ch->cq;
|
||||||
qp_init->sq_sig_type = IB_SIGNAL_REQ_WR;
|
qp_init->sq_sig_type = IB_SIGNAL_REQ_WR;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче