/* scsi_eh_ready_devs - check device ready state and recover if not. @shost: host to be recovered. @work_q: &list_head for pending commands. @done_q: &list_head for processed commands.  */
void scsi_eh_ready_devs(struct Scsi_Host *shost, struct list_head *work_q, struct list_head *done_q)
/* scsi_eh_ready_devs - check device ready state and recover if not. @shost: host to be recovered. @work_q: &list_head for pending commands. @done_q: &list_head for processed commands.  */
void scsi_eh_ready_devs(struct Scsi_Host *shost, struct list_head *work_q, struct list_head *done_q)
{
	if (!scsi_eh_stu(shost, work_q, done_q))
		if (!scsi_eh_bus_device_reset(shost, work_q, done_q))
			if (!scsi_eh_target_reset(shost, work_q, done_q))
				if (!scsi_eh_bus_reset(shost, work_q, done_q))
					if (!scsi_eh_host_reset(work_q, done_q))
						scsi_eh_offline_sdevs(work_q,
								      done_q);
}