diff --git a/drivers/mmc/host/cqhci-crypto-qti.c b/drivers/mmc/host/cqhci-crypto-qti.c index 27dcebe1e1b4..5c97d1a56603 100644 --- a/drivers/mmc/host/cqhci-crypto-qti.c +++ b/drivers/mmc/host/cqhci-crypto-qti.c @@ -254,7 +254,8 @@ int cqhci_crypto_qti_init_crypto(struct cqhci_host *host, if (!cqhci_ice_memres) { pr_debug("%s ICE not supported\n", __func__); host->icemmio = NULL; - return PTR_ERR(cqhci_ice_memres); + host->caps &= ~CQHCI_CAP_CRYPTO_SUPPORT; + return err; } host->icemmio = devm_ioremap(&host->pdev->dev, diff --git a/drivers/scsi/ufs/ufshcd-crypto-qti.c b/drivers/scsi/ufs/ufshcd-crypto-qti.c index f14860d1ef1e..2448cb601ae5 100644 --- a/drivers/scsi/ufs/ufshcd-crypto-qti.c +++ b/drivers/scsi/ufs/ufshcd-crypto-qti.c @@ -337,7 +337,9 @@ int ufshcd_crypto_qti_init_crypto(struct ufs_hba *hba, mmio_base = devm_ioremap_resource(hba->dev, mem_res); if (IS_ERR(mmio_base)) { pr_err("%s: Unable to get ufs_crypto mmio base\n", __func__); - return PTR_ERR(mmio_base); + hba->caps &= ~UFSHCD_CAP_CRYPTO; + hba->quirks |= UFSHCD_QUIRK_BROKEN_CRYPTO; + return err; } hwkm_ice_memres = platform_get_resource_byname(pdev, IORESOURCE_MEM,