Messages in this thread |  | | Subject | Re: [PATCH 1/2] scsi: ufs: Put SCSI host after remove it | From | Bart Van Assche <> | Date | Sun, 15 Dec 2019 13:55:41 -0800 |
| |
On 2019-12-14 14:24, cang@codeaurora.org wrote: > How do you think if I replace my patch with below one? > In this way, you can also move blk_cleanup_queue() behind > cancel_work_sync(eh_work). > > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c > index b5966fa..bd4ae75 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -8251,15 +8251,17 @@ void ufshcd_remove(struct ufs_hba *hba) > ufs_bsg_remove(hba); > ufs_sysfs_remove_nodes(hba->dev); > scsi_remove_host(hba->host); > - /* disable interrupts */ > - ufshcd_disable_intr(hba, hba->intr_mask); > - ufshcd_hba_stop(hba, true); > - > ufshcd_exit_clk_scaling(hba); > ufshcd_exit_clk_gating(hba); > if (ufshcd_is_clkscaling_supported(hba)) > device_remove_file(hba->dev, > &hba->clk_scaling.enable_attr); > + cancel_work_sync(&hba->eeh_work); > + cancel_work_sync(&hba->eh_work); > + /* disable interrupts */ > + ufshcd_disable_intr(hba, hba->intr_mask); > + ufshcd_hba_stop(hba, true); > ufshcd_hba_exit(hba); > + ufshcd_dealloc_host(hba); > } > EXPORT_SYMBOL_GPL(ufshcd_remove);
Hi Can,
To which kernel tree does the above patch apply? I'm asking this because I don't see the recently added blk_cleanup_queue() calls in the above patch. Please start from Martin's latest scsi-queue branch when preparing SCSI patches.
Additionally, is it on purpose that there is no scsi_host_put() call in the above code? I'd like to keep that call because without that call a memory leak will occur when unloading the ufshcd-core kernel driver.
Thanks,
Bart.
|  |