Am Mittwoch, den 15.01.2020, 15:54 +0000 schrieb EJ Hsu: Hi, > That's another reason why I would like to run scsi_scan_host() asynchronously > and keep the hub thread free. Very well. I must say I don't like it, but I have no good alternative. > > > In my opinion, if scsi_scan_host() will be run asynchronously, this > > > interface needs to be guarded against runtime PM between uas_probe() & uas_scan_work(). > > > > Yes it does. But it has a child, the SCSI host, which has an elevated count. It is already guarded. > > I just checked the code, and the reference count will be incremented in scsi_scan_host(), > precisely speaking, in scsi_autopm_get_host(). > So, I still think we need to manually add reference count of interface here. > Please correct me if there is anything wrong. AFAICT the generic power model will not suspend a parent while a child is active. The includes SCSI children of USB parents. So I think we are safe. Could you resubmit your patch without the PM counter manipulation and we can fix any issue that may exist in theory later? Regards Oliver