Loading drivers/hwtracing/coresight/coresight-tmc-etr.c +3 −1 Original line number Diff line number Diff line Loading @@ -1407,7 +1407,8 @@ static int tmc_enable_etr_sink_sysfs(struct coresight_device *csdev) */ spin_lock_irqsave(&drvdata->spinlock, flags); sysfs_buf = READ_ONCE(drvdata->sysfs_buf); if (!sysfs_buf || (sysfs_buf->size != drvdata->size)) { if (!sysfs_buf || (sysfs_buf->size != drvdata->size) || !drvdata->usbch) { spin_unlock_irqrestore(&drvdata->spinlock, flags); if (drvdata->out_mode == TMC_ETR_OUT_MODE_MEM) { Loading Loading @@ -1952,6 +1953,7 @@ static int _tmc_disable_etr_sink(struct coresight_device *csdev) spin_unlock_irqrestore(&drvdata->spinlock, flags); tmc_etr_bam_disable(drvdata); usb_qdss_close(drvdata->usbch); drvdata->usbch = NULL; drvdata->mode = CS_MODE_DISABLED; goto out; } else { Loading Loading
drivers/hwtracing/coresight/coresight-tmc-etr.c +3 −1 Original line number Diff line number Diff line Loading @@ -1407,7 +1407,8 @@ static int tmc_enable_etr_sink_sysfs(struct coresight_device *csdev) */ spin_lock_irqsave(&drvdata->spinlock, flags); sysfs_buf = READ_ONCE(drvdata->sysfs_buf); if (!sysfs_buf || (sysfs_buf->size != drvdata->size)) { if (!sysfs_buf || (sysfs_buf->size != drvdata->size) || !drvdata->usbch) { spin_unlock_irqrestore(&drvdata->spinlock, flags); if (drvdata->out_mode == TMC_ETR_OUT_MODE_MEM) { Loading Loading @@ -1952,6 +1953,7 @@ static int _tmc_disable_etr_sink(struct coresight_device *csdev) spin_unlock_irqrestore(&drvdata->spinlock, flags); tmc_etr_bam_disable(drvdata); usb_qdss_close(drvdata->usbch); drvdata->usbch = NULL; drvdata->mode = CS_MODE_DISABLED; goto out; } else { Loading