printk(KERN_WARNING "%s: Timeout Initializing\n", c->name); 
osm_warn("%s: Timeout Initializing\n", c->name); 
static int i2o_iop_init_outbound_queue(struct i2o_controller *c){	u8 *status = c->status.virt;	u32 m;	struct i2o_message __iomem *msg;	ulong timeout;	int i;	pr_debug("%s: Initializing Outbound Queue...\n", c->name);	memset(status, 0, 4);	m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET);	if (m == I2O_QUEUE_EMPTY)		return -ETIMEDOUT;	writel(EIGHT_WORD_MSG_SIZE | SGL_OFFSET_6, &msg->u.head[0]);	writel(I2O_CMD_OUTBOUND_INIT << 24 | HOST_TID << 12 | ADAPTER_TID,	       &msg->u.head[1]);	writel(i2o_exec_driver.context, &msg->u.s.icntxt);	writel(0x00000000, &msg->u.s.tcntxt);	writel(PAGE_SIZE, &msg->body[0]);	writel(MSG_FRAME_SIZE << 16 | 0x80, &msg->body[1]);	/* Outbound msg frame								   size in words and Initcode */	writel(0xd0000004, &msg->body[2]);	writel(i2o_ptr_low((void *)c->status.phys), &msg->body[3]);	writel(i2o_ptr_high((void *)c->status.phys), &msg->body[4]);	i2o_msg_post(c, m);	timeout = jiffies + I2O_TIMEOUT_INIT_OUTBOUND_QUEUE * HZ;	while (*status <= I2O_CMD_IN_PROGRESS) {		if (time_after(jiffies, timeout)) {			printk(KERN_WARNING "%s: Timeout Initializing\n",			       c->name);			return -ETIMEDOUT;		}		set_current_state(TASK_UNINTERRUPTIBLE);		schedule_timeout(1);		rmb();	}	m = c->out_queue.phys;	/* Post frames */	for (i = 0; i < NMBR_MSG_FRAMES; i++) {		i2o_flush_reply(c, m);		udelay(1);	/* Promise */		m += MSG_FRAME_SIZE * 4;	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f10378fff658f61307496e0ae00095041725cf07/iop.c/buggy/drivers/message/i2o/iop.c