diff --git a/drivers/media/platform/msm/sde/rotator/sde_rotator_smmu.c b/drivers/media/platform/msm/sde/rotator/sde_rotator_smmu.c index 0ca4d910ad72..58cb160f118e 100644 --- a/drivers/media/platform/msm/sde/rotator/sde_rotator_smmu.c +++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_smmu.c @@ -551,11 +551,18 @@ static int sde_smmu_fault_handler(struct iommu_domain *domain, sde_smmu = (struct sde_smmu_client *)token; - /* trigger rotator panic and dump */ - SDEROT_ERR("trigger rotator panic and dump, iova=0x%08lx\n", iova); + /* trigger rotator dump */ + SDEROT_ERR("trigger rotator dump, iova=0x%08lx, flags=0x%x\n", + iova, flags); + SDEROT_ERR("SMMU device:%s", sde_smmu->dev->kobj.name); - sde_rot_dump_panic(); + /* generate dump, but no panic */ + sde_rot_evtlog_tout_handler(false, __func__, "rot", "vbif_dbg_bus"); + /* + * return -ENOSYS to allow smmu driver to dump out useful + * debug info. + */ return rc; }