diff --git a/drivers/hwtracing/coresight/coresight-tmc-etr.c b/drivers/hwtracing/coresight/coresight-tmc-etr.c index 809f18c764d4..03f079a2c395 100644 --- a/drivers/hwtracing/coresight/coresight-tmc-etr.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c @@ -1324,6 +1324,15 @@ void usb_notifier(void *priv, unsigned int event, struct qdss_request *d_req, int ret = 0; mutex_lock(&drvdata->mem_lock); + + if (drvdata->out_mode != TMC_ETR_OUT_MODE_USB + || drvdata->mode == CS_MODE_DISABLED) { + dev_err(&drvdata->csdev->dev, + "%s: ETR is not USB mode, or ETR is disabled.\n", __func__); + mutex_unlock(&drvdata->mem_lock); + return; + } + if (event == USB_QDSS_CONNECT) { ret = tmc_etr_fill_usb_bam_data(drvdata); if (ret)