rc = __tape_do_io(device, request); 
rc = __tape_start_request(device, request); 
tape_do_io(struct tape_device *device, struct tape_request *request){	wait_queue_head_t wq;	int rc;	init_waitqueue_head(&wq);	spin_lock_irq(get_ccwdev_lock(device->cdev));	/* Setup callback */	request->callback = __tape_wake_up;	request->callback_data = &wq;	/* Add request to request queue and try to start it. */	rc = __tape_do_io(device, request);	spin_unlock_irq(get_ccwdev_lock(device->cdev));	if (rc)		return rc;	/* Request added to the queue. Wait for its completion. */	wait_event(wq, (request->callback == NULL));	/* Get rc from request */	return request->rc;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4111796d89b8cfa36054d65d9858460b5ec0e8c7/tape_core.c/buggy/drivers/s390/char/tape_core.c