Lines Matching refs:transport_cmds
42 mutex_lock(&mrioc->transport_cmds.mutex); in mpi3mr_post_transport_req()
43 if (mrioc->transport_cmds.state & MPI3MR_CMD_PENDING) { in mpi3mr_post_transport_req()
46 mutex_unlock(&mrioc->transport_cmds.mutex); in mpi3mr_post_transport_req()
49 mrioc->transport_cmds.state = MPI3MR_CMD_PENDING; in mpi3mr_post_transport_req()
50 mrioc->transport_cmds.is_waiting = 1; in mpi3mr_post_transport_req()
51 mrioc->transport_cmds.callback = NULL; in mpi3mr_post_transport_req()
52 mrioc->transport_cmds.ioc_status = 0; in mpi3mr_post_transport_req()
53 mrioc->transport_cmds.ioc_loginfo = 0; in mpi3mr_post_transport_req()
55 init_completion(&mrioc->transport_cmds.done); in mpi3mr_post_transport_req()
64 wait_for_completion_timeout(&mrioc->transport_cmds.done, in mpi3mr_post_transport_req()
66 if (!(mrioc->transport_cmds.state & MPI3MR_CMD_COMPLETE)) { in mpi3mr_post_transport_req()
73 *ioc_status = mrioc->transport_cmds.ioc_status & in mpi3mr_post_transport_req()
78 *ioc_status, mrioc->transport_cmds.ioc_loginfo); in mpi3mr_post_transport_req()
80 if ((reply) && (mrioc->transport_cmds.state & MPI3MR_CMD_REPLY_VALID)) in mpi3mr_post_transport_req()
81 memcpy((u8 *)reply, mrioc->transport_cmds.reply, reply_sz); in mpi3mr_post_transport_req()
84 mrioc->transport_cmds.state = MPI3MR_CMD_NOTUSED; in mpi3mr_post_transport_req()
85 mutex_unlock(&mrioc->transport_cmds.mutex); in mpi3mr_post_transport_req()