current->state = TASK_INTERRUPTIBLE; schedule_timeout(1); 
schedule_timeout_interruptible(1); 
static int floppy_revalidate(struct gendisk *disk){	struct floppy_state *fs = disk->private_data;	struct swim3 __iomem *sw;	int ret, n;#ifdef CONFIG_PMAC_MEDIABAY	if (fs->media_bay && check_media_bay(fs->media_bay, MB_FD))		return -ENXIO;#endif	sw = fs->swim3;	grab_drive(fs, revalidating, 0);	out_8(&sw->intr_enable, 0);	out_8(&sw->control_bis, DRIVE_ENABLE);	swim3_action(fs, MOTOR_ON);	/* necessary? */	fs->write_prot = -1;	fs->cur_cyl = -1;	mdelay(1);	for (n = HZ; n > 0; --n) {		if (swim3_readbit(fs, SEEK_COMPLETE))			break;		if (signal_pending(current))			break;		swim3_select(fs, RELAX);		current->state = TASK_INTERRUPTIBLE;		schedule_timeout(1);	}	ret = swim3_readbit(fs, SEEK_COMPLETE) == 0		|| swim3_readbit(fs, DISK_IN) == 0;	if (ret)		swim3_action(fs, MOTOR_OFF);	else {		fs->ejected = 0;		swim3_action(fs, SETMFM);	}	swim3_select(fs, RELAX);	release_drive(fs);	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/86e8486245a01f05a3267b2e8b5c02c2303b670d/swim3.c/buggy/drivers/block/swim3.c