On Friday, April 15, 2005 8:30 AM, James Bottomley wrote: > > On Fri, 2005-04-15 at 19:13 +0900, Masao Fukuchi wrote: > > The sequence is: > > 1.Host issues SCSI command to fusion MPT driver. > > 2.Mid layer detects command timeout and then performs > > error recovery sequence. > > But the sequence fails and it causes device offline. > > (fusion MPT driver still hold the command) > > 4.Fusion MPT driver activates host reset and calls > > mptscsih_flush_running_cmds(). > > Well, this is the error: The Fusion host reset should be > activated from > the eh_host_reset_handler. > Since I removed the eh timers, this is not going to happen. The driver is always waiting for task management request to complete before returning control back to the mid-layer. Before when the driver used timers, the eh thread returned immediately back to the mid-layer, and the actual task management request to the firmware was delayed and completed later. If the task management request didn't complete, the timer would expire, and host reset would be called, and it was possible to opps as Fukuchi has indicated. Thus I think its safe to say, we can remove the scsi_device_online from mptscsih_flush_running_cmds. Right?? Eric Moore LSI Logic - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html