[PATCH 1/3] ibmvscsi: Wire up host_reset() in the drivers scsi_host_template
Tyrel Datwyler
tyreld at linux.vnet.ibm.com
Fri May 3 10:37:26 AEST 2019
On 05/02/2019 02:50 PM, Brian King wrote:
> On 5/1/19 7:47 PM, Tyrel Datwyler wrote:
>> From: Tyrel Datwyler <tyreld at linux.vnet.ibm.com>
>>
>> Wire up the host_reset function in our driver_template to allow a user
>> requested adpater reset via the host_reset sysfs attribute.
>>
>> Example:
>>
>> echo "adapter" > /sys/class/scsi_host/host0/host_reset
>>
>> Signed-off-by: Tyrel Datwyler <tyreld at linux.ibm.com>
>> ---
>> drivers/scsi/ibmvscsi/ibmvscsi.c | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
>> index 8cec5230fe31..1c37244f16a0 100644
>> --- a/drivers/scsi/ibmvscsi/ibmvscsi.c
>> +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
>> @@ -2050,6 +2050,18 @@ static struct device_attribute ibmvscsi_host_config = {
>> .show = show_host_config,
>> };
>>
>> +static int ibmvscsi_host_reset(struct Scsi_Host *shost, int reset_type)
>> +{
>> + struct ibmvscsi_host_data *hostdata = shost_priv(shost);
>> +
>> + vio_disable_interrupts(to_vio_dev(hostdata->dev));
>> + dev_info(hostdata->dev, "Initiating adapter reset!\n");
>> + ibmvscsi_reset_host(hostdata);
>> + vio_enable_interrupts(to_vio_dev(hostdata->dev));
>
> Is it necessary to disable / enable interrupts around the call to ibmvscsi_reset_host?
> I don't know why we'd need to do that before calling the reset as we have other
> cases, like ibmvscsi_timeout where we don't bother doing this. Also, at the end
> of the reset we look to be already enabling interrupts.
Yeah, I think you are right. My initial line of thought was that we have
interrupts disabled in handle_crq when we do a reset, but yeah we clearly call
it in the case of a timeout with them enabled.
-Tyrel
>
> Thanks,
>
> Brian
>
More information about the Linuxppc-dev
mailing list