/* Reset the host associated with this command. Returns: FAILED if unable to reset. Notes: io_request_lock is taken, and irqs are disabled  */
int fas216_eh_host_reset(struct scsi_cmnd *SCpnt)
/* Reset the host associated with this command. Returns: FAILED if unable to reset. Notes: io_request_lock is taken, and irqs are disabled  */
int fas216_eh_host_reset(struct scsi_cmnd *SCpnt)
{
	FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata;
	spin_lock_irq(info->host->host_lock);
	fas216_checkmagic(info);
	printk("scsi%d.%c: %s: resetting host\n",
		info->host->host_no, '0' + SCpnt->device->id, __func__);
	fas216_cmd(info, CMD_RESETCHIP);
	spin_unlock_irq(info->host->host_lock);
	msleep(50 * 1000/100);
	spin_lock_irq(info->host->host_lock);
	fas216_cmd(info, CMD_NOP);
	fas216_init_chip(info);
	spin_unlock_irq(info->host->host_lock);
	return SUCCESS;
}