set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(1); 
schedule_timeout_uninterruptible(1); 
static s32 adpt_i2o_post_this(adpt_hba* pHba, u32* data, int len){	u32 m = EMPTY_QUEUE;	u32 __iomem *msg;	ulong timeout = jiffies + 30*HZ;	do {		rmb();		m = readl(pHba->post_port);		if (m != EMPTY_QUEUE) {			break;		}		if(time_after(jiffies,timeout)){			printk(KERN_WARNING"dpti%d: Timeout waiting for message frame!\n", pHba->unit);			return -ETIMEDOUT;		}		set_current_state(TASK_UNINTERRUPTIBLE);		schedule_timeout(1);	} while(m == EMPTY_QUEUE);			msg = pHba->msg_addr_virt + m;	memcpy_toio(msg, data, len);	wmb();	//post message	writel(m, pHba->post_port);	wmb();	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a9a3047dd8ae43ff24caae5ec733a93df129568e/dpt_i2o.c/buggy/drivers/scsi/dpt_i2o.c