case HSM_ST_IDLE: return;  
static void ata_pio_task(void *_data){	struct ata_port *ap = _data;	unsigned long timeout;	int qc_completed;fsm_start:	timeout = 0;	qc_completed = 0;	switch (ap->hsm_task_state) {	case HSM_ST_IDLE:		return;	case HSM_ST:		ata_pio_block(ap);		break;	case HSM_ST_LAST:		qc_completed = ata_pio_complete(ap);		break;	case HSM_ST_POLL:	case HSM_ST_LAST_POLL:		timeout = ata_pio_poll(ap);		break;	case HSM_ST_TMOUT:	case HSM_ST_ERR:		ata_pio_error(ap);		return;	}	if (timeout)		queue_delayed_work(ata_wq, &ap->pio_task, timeout);	else if (!qc_completed)		goto fsm_start;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/467b16d4bebe8d251ca974eaa5da50b315206e9d/libata-core.c/buggy/drivers/scsi/libata-core.c