Name

i2o_msg_post_wait_complete — Reply to a i2o_msg_post request from IOP

Synopsis

int i2o_msg_post_wait_complete (struct i2o_controller *  c,
 u32  m,
 struct i2o_message *  msg,
 u32  context);

Arguments

c

I2O controller which answers

m

message id

msg

pointer to the I2O reply message

context

transaction context of request

Description

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).

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.