Re: [PATCH 1/2] scsi: ufs: Put SCSI host after remove it

From: cang
Date: Sun Dec 15 2019 - 22:13:00 EST

On 2019-12-16 10:39, Bart Van Assche wrote:
On 2019-12-15 17:34, cang@xxxxxxxxxxxxxx wrote:
This is applied to 5.5/scsi-queue. The two changes I patsed from you are
not merged yet, I am still doing code review to them, so there is no
blk_cleanup_queue() calls in my code base. I am just saying you may move
your blk_cleanup_queue() calls below cancel_work_sync(&hba->eh_work) if
my change applies. How do you think?

scsi_host_put() was there before but explicitly removed by
afa3dfd42d205b106787476647735aa1de1a5d02. I agree with you, without this
change, there is memory leak.

Hi Can,

Since your patch restores a call that was removed earlier, please
consider adding a Fixes: tag to your patch.

Please also have a look at
As one can see my patches that introduce blk_cleanup_queue() and
blk_mq_free_tag_set() calls have already been queued on Martin's
5.6/scsi-queue branch.


Hi Bart,

Sure, I will add the Fixes tag and rebase my changes. How about the logic
part of this change? Does it look good to you?

Sorry I was not aware of that your changes have been applied to 5.6/scsi-queue.
I am still trying to get it tested on my setups...
Anyways, aside of hba->cmd_queue, tearing down hba->tmf_queue before
scsi_remove_host() may be problem too. Requests can still be
sent before and during scsi_remove_host(). If a request timed out,
task abort will be invoked to abort the request, during which
hba->tmf_queue is expected to be present. Please correct me if I am wrong.


Can Guo.