Hi Jim,

On Oct 4, 2017, at 3:03 PM, Jim Gill <[email protected]> wrote:
> 
> Remove redundant call to pvscsi_shutdown_intr from
> pvscsi_remove_resources.  Add calls to pvscsi_shutdown_intr
> in the failure cases for pvscsi_probe.
> 
> Signed-off-by: Jim Gill <[email protected]>
> ---
> drivers/scsi/vmw_pvscsi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/vmw_pvscsi.c b/drivers/scsi/vmw_pvscsi.c
> index c374e3b..c7e74ac 100644
> --- a/drivers/scsi/vmw_pvscsi.c
> +++ b/drivers/scsi/vmw_pvscsi.c
> @@ -1197,8 +1197,6 @@ static void pvscsi_shutdown_intr(struct pvscsi_adapter 
> *adapter)
> 
> static void pvscsi_release_resources(struct pvscsi_adapter *adapter)
> {
> -     pvscsi_shutdown_intr(adapter);
> -
>       if (adapter->workqueue)
>               destroy_workqueue(adapter->workqueue);
> 
> @@ -1530,6 +1528,7 @@ static int pvscsi_probe(struct pci_dev *pdev, const 
> struct pci_device_id *id)
> out_reset_adapter:

>From what I understand the irq(s) are not allocated until the 
>pci_alloc_irq_vectors call.  After, all breakout jumps are to 
>out_reset_adapter.

Could it be simplified to just adding pvscsi_shutdown_intr before 
ll_adapter_reset() here?  Then you don’t need the other two 
pvscsi_shutdown_intr() calls below.

>       ll_adapter_reset(adapter);
> out_release_resources:
> +     pvscsi_shutdown_intr(adapter);
>       pvscsi_release_resources(adapter);
>       scsi_host_put(host);
> out_disable_device:
> @@ -1538,6 +1537,7 @@ static int pvscsi_probe(struct pci_dev *pdev, const 
> struct pci_device_id *id)
>       return error;
> 
> out_release_resources_and_disable:
> +     pvscsi_shutdown_intr(adapter);
>       pvscsi_release_resources(adapter);
>       goto out_disable_device;
> }
> -- 
> 2.7.4

--
Kyle Fortin - Oracle Linux Engineering




Reply via email to