Loading drivers/hwtracing/coresight/coresight-tmc-etr.c +7 −2 Original line number Diff line number Diff line Loading @@ -940,11 +940,12 @@ int tmc_read_prepare_etr(struct tmc_drvdata *drvdata) int tmc_read_unprepare_etr(struct tmc_drvdata *drvdata) { unsigned long flags; void *vaddr = NULL; /* config types are set a boot time and never change */ if (WARN_ON_ONCE(drvdata->config_type != TMC_CONFIG_TYPE_ETR)) return -EINVAL; mutex_lock(&drvdata->mem_lock); spin_lock_irqsave(&drvdata->spinlock, flags); /* RE-enable the TMC if need be */ Loading @@ -957,12 +958,16 @@ int tmc_read_unprepare_etr(struct tmc_drvdata *drvdata) */ tmc_etr_enable_hw(drvdata); } else { tmc_etr_free_mem(drvdata); vaddr = drvdata->vaddr; drvdata->buf = NULL; } drvdata->reading = false; spin_unlock_irqrestore(&drvdata->spinlock, flags); if (vaddr) tmc_etr_free_mem(drvdata); mutex_unlock(&drvdata->mem_lock); return 0; } Loading
drivers/hwtracing/coresight/coresight-tmc-etr.c +7 −2 Original line number Diff line number Diff line Loading @@ -940,11 +940,12 @@ int tmc_read_prepare_etr(struct tmc_drvdata *drvdata) int tmc_read_unprepare_etr(struct tmc_drvdata *drvdata) { unsigned long flags; void *vaddr = NULL; /* config types are set a boot time and never change */ if (WARN_ON_ONCE(drvdata->config_type != TMC_CONFIG_TYPE_ETR)) return -EINVAL; mutex_lock(&drvdata->mem_lock); spin_lock_irqsave(&drvdata->spinlock, flags); /* RE-enable the TMC if need be */ Loading @@ -957,12 +958,16 @@ int tmc_read_unprepare_etr(struct tmc_drvdata *drvdata) */ tmc_etr_enable_hw(drvdata); } else { tmc_etr_free_mem(drvdata); vaddr = drvdata->vaddr; drvdata->buf = NULL; } drvdata->reading = false; spin_unlock_irqrestore(&drvdata->spinlock, flags); if (vaddr) tmc_etr_free_mem(drvdata); mutex_unlock(&drvdata->mem_lock); return 0; }