From 89ac6c47b8ffc1e99580d437168816d4e7009899 Mon Sep 17 00:00:00 2001 From: "Tao,Zhang" Date: Tue, 2 Jun 2020 13:32:08 +0800 Subject: [PATCH] coresight: byte-cnter: Add ETR status check in bypass notifier It is possible that notify call is called after etr is disabled or after mode switch from usb to etr. Add etr status check to avoid exception. Change-Id: I65e81e5ec01ebb3747936cdd81f886632c5419f1 Signed-off-by: Tao,Zhang --- drivers/hwtracing/coresight/coresight-byte-cntr.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/hwtracing/coresight/coresight-byte-cntr.c b/drivers/hwtracing/coresight/coresight-byte-cntr.c index 1aa933e2b959..698b7667b3ce 100644 --- a/drivers/hwtracing/coresight/coresight-byte-cntr.c +++ b/drivers/hwtracing/coresight/coresight-byte-cntr.c @@ -517,6 +517,13 @@ void usb_bypass_notifier(void *priv, unsigned int event, if (!drvdata) return; + if (tmcdrvdata->out_mode != TMC_ETR_OUT_MODE_USB + || tmcdrvdata->mode == CS_MODE_DISABLED) { + dev_err(&tmcdrvdata->csdev->dev, + "%s: ETR is not USB mode, or ETR is disabled.\n", __func__); + return; + } + switch (event) { case USB_QDSS_CONNECT: usb_qdss_alloc_req(ch, USB_BUF_NUM);