---
name: "i2o_msg_post_wait_complete"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/i2o_msg_post_wait_complete"
---

# i2o\_msg\_post\_wait\_complete(9)

Reply to a i2o\_msg\_post request from IOP

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

## COPYRIGHT
