Re: [PATCH v3] ufs: poll pmc until another pa request is completed

From: Bart Van Assche
Date: Fri May 19 2023 - 18:21:18 EST


On 5/15/23 20:52, Kiwoong Kim wrote:
+ spin_lock_irqsave(hba->host->host_lock, flags);
+ hba->active_uic_cmd = NULL;
+ if (ufshcd_is_link_broken(hba)) {
+ spin_unlock_irqrestore(hba->host->host_lock, flags);
+ ret = -ENOLINK;
+ goto out;
+ }
+ hba->uic_async_done = cnf;
+ cmd->argument2 = 0;
+ cmd->argument3 = mode;
+ ret = __ufshcd_send_uic_cmd(hba, cmd, true);
+ spin_unlock_irqrestore(hba->host->host_lock, flags);

Please consider adding lockdep_assert_held(&hba->uic_cmd_mutex) near
the start of __ufshcd_poll_uic_pwr() to document that this function is
serialized against other contexts that submit an UIC.

Additionally, I don't think that it is necessary to hold the host lock
around the ufshcd_is_link_broken() or __ufshcd_send_uic_cmd() calls.

Thanks,

Bart.