> > static inline bool ufshcd_ready_for_uic_cmd(struct ufs_hba *hba) { > > - return ufshcd_readl(hba, REG_CONTROLLER_STATUS) & > > UIC_COMMAND_READY; > > + ktime_t timeout = ktime_add_ms(ktime_get(), UIC_CMD_TIMEOUT); > > + u32 val = 0; > > + > > + do { > > + val = ufshcd_readl(hba, REG_CONTROLLER_STATUS) & > > + UIC_COMMAND_READY; > > + if (val) > > + break; > > + udelay(500); > > + } while (ktime_before(ktime_get(), timeout)); > > + > > + return val ? true : false; > > } > Can you use read_poll_timeout() instead? > > Thanks, > Avri Okay, thanks.