} 
} else osm_info("transfer error\n"); } 
static void i2o_block_request_fn(struct request_queue *q){	struct request *req;	while (!blk_queue_plugged(q)) {		req = elv_next_request(q);		if (!req)			break;		if (blk_fs_request(req)) {			struct i2o_block_delayed_request *dreq;			struct i2o_block_request *ireq = req->special;			unsigned int queue_depth;			queue_depth = ireq->i2o_blk_dev->open_queue_depth;			if (queue_depth < I2O_BLOCK_MAX_OPEN_REQUESTS)				if (!i2o_block_transfer(req)) {					blkdev_dequeue_request(req);					continue;				}			if (queue_depth)				break;			/* stop the queue and retry later */			dreq = kmalloc(sizeof(*dreq), GFP_ATOMIC);			if (!dreq)				continue;			dreq->queue = q;			INIT_WORK(&dreq->work, i2o_block_delayed_request_fn,				  dreq);			osm_info("transfer error\n");			if (!queue_delayed_work(i2o_block_driver.event_queue,						&dreq->work,						I2O_BLOCK_RETRY_TIME))				kfree(dreq);			else {				blk_stop_queue(q);				break;			}		} else			end_request(req, 0);	}};
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f10378fff658f61307496e0ae00095041725cf07/i2o_block.c/buggy/drivers/message/i2o/i2o_block.c