.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "I2O_MSG_POST_WAIT_COMPLETE" "9" "09 October 2005" "" ""
.SH NAME
i2o_msg_post_wait_complete \- Reply to a i2o_msg_post request from IOP
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
int i2o_msg_post_wait_complete (struct i2o_controller * \fIc\fB, u32 \fIm\fB, struct i2o_message * \fImsg\fB, u32 \fIcontext\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIc\fB\fR
I2O controller which answers
.TP
\fB\fIm\fB\fR
message id
.TP
\fB\fImsg\fB\fR
pointer to the I2O reply message
.TP
\fB\fIcontext\fB\fR
transaction context of request
.SH "DESCRIPTION"
.PP
This function is called in interrupt context only. If the reply reached
before the timeout, the i2o_exec_wait struct is filled with the message
and the task will be waked up. The task is now responsible for returning
the message m back to the controller! If the message reaches us after
the timeout clean up the i2o_exec_wait struct (including allocated
DMA buffer).
.PP
Return 0 on success and if the message m should not be given back to the
I2O controller, or >0 on success and if the message should be given back
afterwords. Returns negative error code on failure. In this case the
message must also be given back to the controller.