]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scsi: ufs: core: Move the ufshcd_device_init(hba, true) call
authorBart Van Assche <bvanassche@acm.org>
Wed, 16 Oct 2024 20:12:03 +0000 (13:12 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 25 Oct 2024 19:30:21 +0000 (15:30 -0400)
commit69f5eb78d4b0cc978fe83dd2bfea1b67547290bf
tree4cadb593463e0b0f2439ba8596bc19cf967833c7
parent639e2043b58998b3950ab90413c1b726945058bf
scsi: ufs: core: Move the ufshcd_device_init(hba, true) call

ufshcd_async_scan() is called (asynchronously) only by ufshcd_init().
Move the ufshcd_device_init(hba, true) call from ufshcd_async_scan()
into ufshcd_init(). This patch prepares for moving both scsi_add_host()
calls into ufshcd_add_scsi_host(). Calling ufshcd_device_init() from
ufshcd_init() without holding hba->host_sem is safe. This is safe
because hba->host_sem serializes core code and sysfs callbacks. The
ufshcd_device_init() call is moved before the scsi_add_host() call and
hence happens before any SCSI sysfs attributes are created.

Since ufshcd_device_init() may call scsi_add_host(), only call
scsi_add_host() from ufshcd_add_scsi_host() if the SCSI host has not yet
been added by ufshcd_device_init().

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20241016201249.2256266-8-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c