[2/2] coresight: Fix reference count for software sources
mathieu.poirier at linaro.org
Tue Mar 14 12:32:40 PDT 2017
On 14 March 2017 at 11:55, Suzuki K Poulose <Suzuki.Poulose at arm.com> wrote:
> On 14/03/17 17:40, Mathieu Poirier wrote:
>> On 14 March 2017 at 11:32, Mathieu Poirier <mathieu.poirier at linaro.org>
>>> From: "Suzuki K. Poulose" <Suzuki.Poulose at arm.com>
>>> For software sources (i.e STM), there could be multiple agents
>>> generating the trace data, unlike the ETMs. So we need to
>>> properly do the accounting for the active number of users
>>> to disable the device when the last user goes away. Right
>>> now, the reference counting is broken for sources as we skip
>>> the actions when we detect that the source is enabled.
>>> This patch fixes the problem by adding the refcounting for
>>> software sources, even when they are enabled.
>>> Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
>>> Reported-by: Robert Walker <robert.walker at arm.com>
>>> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
>>> drivers/hwtracing/coresight/coresight.c | 13 +++++++++++--
>>> 1 file changed, 11 insertions(+), 2 deletions(-)
>>> diff --git a/drivers/hwtracing/coresight/coresight.c
>>> index 34cd1ed..2da9e39 100644
>>> --- a/drivers/hwtracing/coresight/coresight.c
>>> +++ b/drivers/hwtracing/coresight/coresight.c
>>> @@ -552,6 +552,7 @@ int coresight_enable(struct coresight_device *csdev)
>>> int cpu, ret = 0;
>>> struct coresight_device *sink;
>>> struct list_head *path;
>>> + enum coresight_dev_subtype_source subtype =
>> Checkpatch.pl complains about a line over 80 characters.
> Hmm, I think the name of the enum is unusually long. I could clean it up a
> little bit.
> Also, it does look silly to split a simple variable assignment though.
> What do you prefer ?
enum coresight_dev_subtype_source subtype;
subtype = csdev->subtype.source_subtype;
That is probably the easiest.
More information about the linux-arm-kernel