Re: [PATCH 2/4] qla2xxx: Fix mailbox command timeout due to starvation

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

 



Hi Ewan,



On 11/7/16, 7:53 AM, "Ewan D. Milne" <emilne@xxxxxxxxxx> wrote:

>On Fri, 2016-11-04 at 09:33 -0700, himanshu.madhani@xxxxxxxxxx wrote:
>...
>> @@ -2349,6 +2349,17 @@ uint32_t qla2x00_isp_reg_stat(struct qla_hw_data *ha)
>>  	return atomic_read(&vha->loop_state) == LOOP_READY;
>>  }
>>  
>> +static void qla2x00_destroy_mbx_wq(struct qla_hw_data *ha)
>> +{
>> +	struct workqueue_struct *wq = ha->mbx_wq;
>> +
>> +	if (wq) {
>> +		ha->mbx_wq = NULL;
>> +		flush_workqueue(wq);
>> +		destroy_workqueue(wq);
>> +	}
>> +}
>> +
>>  /*
>>   * PCI driver interface
>>   */
>
>There is already a function qla2x00_destroy_deferred_work() that
>destroys 3 other workqueues.
>
>...
>
>> @@ -3059,6 +3079,8 @@ uint32_t qla2x00_isp_reg_stat(struct qla_hw_data *ha)
>>  
>>  	qla2x00_free_fw_dump(ha);
>>  
>> +	qla2x00_destroy_mbx_wq(ha);
>> +
>>  	pci_disable_pcie_error_reporting(pdev);
>>  	pci_disable_device(pdev);
>>  }
>
>This code path (pci_driver->shutdown) does not appear to destroy the
>other workqueues created by the driver. ???
>
>> @@ -5011,6 +5033,8 @@ void qla2x00_relogin(struct scsi_qla_host *vha)
>>  	 */
>>  	qla2x00_free_sysfs_attr(base_vha, false);
>>  
>> +	qla2x00_destroy_mbx_wq(ha);
>> +
>>  	fc_remove_host(base_vha->host);
>>  
>>  	scsi_remove_host(base_vha->host);
>
>See above.

Ack. will fix up patch to address these comments. 
 

>
>-Ewan

Thanks,
Himanshu
��.n��������+%������w��{.n�����{������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[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