* TX_LCC_ENABLE attribute of host to 0).
*/
#define UFS_DEVICE_QUIRK_BROKEN_LCC (1 << 0)
+#define UFS_DEVICE_QUIRK_BROKEN_LINEREST UFS_BIT(1)
/*
* Some UFS devices don't need VCCQ rail for device operations. Enabling this
if (hba->clk_gating.active_reqs
|| hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL
|| hba->lrb_in_use || hba->outstanding_tasks
- || hba->active_uic_cmd || hba->uic_async_done)
+ || hba->active_uic_cmd || hba->uic_async_done
+ || scsi_host_in_recovery(hba->host))
goto rel_lock;
spin_unlock_irqrestore(hba->host->host_lock, flags);
|| hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL
|| hba->lrb_in_use || hba->outstanding_tasks
|| hba->active_uic_cmd || hba->uic_async_done
+ || scsi_host_in_recovery(hba->host)
|| ufshcd_eh_in_progress(hba))
return;
* UFS device needs urgent BKOPs.
*/
if (!hba->pm_op_in_progress &&
- ufshcd_is_exception_event(lrbp->ucd_rsp_ptr))
+ ufshcd_is_exception_event(lrbp->ucd_rsp_ptr) &&
+ scsi_host_in_recovery(hba->host)) {
schedule_work(&hba->eeh_work);
break;
case UPIU_TRANSACTION_REJECT_UPIU: