Re: [PATCH 3/5] ibmvscsi: Add eh_host_reset_handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Garzik wrote:
> Brian King wrote:
>> +	spin_lock_irqsave(hostdata->host->host_lock, flags);
>> +	list_for_each_entry_safe(tmp_evt, pos, &hostdata->sent, list) {
>> +		list_del(&tmp_evt->list);
>> +		del_timer(&tmp_evt->timer);
>> +		if (tmp_evt->cmnd) {
>> +			tmp_evt->cmnd->result = (error_code << 16);
>> +			unmap_cmd_data(&tmp_evt->iu.srp.cmd,
>> +				       tmp_evt,
>> +				       tmp_evt->hostdata->dev);
>> +			if (tmp_evt->cmnd_done)
>> +				tmp_evt->cmnd_done(tmp_evt->cmnd);
>> +		} else if (tmp_evt->done)
>> +			tmp_evt->done(tmp_evt);
>> +		free_event_struct(&tmp_evt->hostdata->pool, tmp_evt);
>> +	}
>> +	spin_unlock_irqrestore(hostdata->host->host_lock, flags);
> 
> 
> Since it's been so long since I bothered with the old-style error 
> handling, a dumb question:
> 
> Are you sure that you should be completing the commands in the host 
> reset handler?  I thought EH took care of that, and your sole task in 
> the host reset handler was to reset everything attached to a single 
> scsi_host.

As far as scsi core is concerned, it really doesn't care either way.
The first thing scsi_done does is call scsi_delete_timer, which will
find that the timer has already expired/been deleted, which will cause
scsi_done to essentially do nothing.

Brian

-- 
Brian King
Linux on Power Virtualization
IBM Linux Technology Center
-
To unsubscribe from this list: 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux