/* Returns 0 on success or negative error code on failure.  */
static int i2o_bus_scan(struct i2o_device *dev)
/* Returns 0 on success or negative error code on failure.  */
static int i2o_bus_scan(struct i2o_device *dev)
{
	struct i2o_message *msg;
	msg = i2o_msg_get_wait(dev->iop, I2O_TIMEOUT_MESSAGE_GET);
	if (IS_ERR(msg))
		return -ETIMEDOUT;
	msg->u.head[0] = cpu_to_le32(FIVE_WORD_MSG_SIZE | SGL_OFFSET_0);
	msg->u.head[1] =
	    cpu_to_le32(I2O_CMD_BUS_SCAN << 24 | HOST_TID << 12 | dev->lct_data.
			tid);
	return i2o_msg_post_wait(dev->iop, msg, 60);
}