Hi James, > -----Original Message----- > From: James Clark <james.clark@xxxxxxx> > Sent: Monday, April 15, 2024 2:59 PM > To: Linu Cherian <lcherian@xxxxxxxxxxx>; Suzuki K Poulose > <suzuki.poulose@xxxxxxx> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; coresight@xxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx; > krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; Sunil Kovvuri Goutham > <sgoutham@xxxxxxxxxxx>; George Cherian <gcherian@xxxxxxxxxxx>; Anil > Kumar Reddy H <areddy3@xxxxxxxxxxx>; Tanmay Jagdale > <tanmay@xxxxxxxxxxx>; mike.leach@xxxxxxxxxx; leo.yan@xxxxxxxxxx > Subject: Re: [EXTERNAL] Re: [PATCH v7 5/7] coresight: tmc: Add support for > reading crash data > > > > On 15/04/2024 05:01, Linu Cherian wrote: > > Hi James, > > > >> -----Original Message----- > >> From: James Clark <james.clark@xxxxxxx> > >> Sent: Friday, April 12, 2024 3:36 PM > >> To: Linu Cherian <lcherian@xxxxxxxxxxx>; Suzuki K Poulose > >> <suzuki.poulose@xxxxxxx> > >> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; coresight@xxxxxxxxxxxxxxxx; > >> linux- kernel@xxxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx; > >> krzysztof.kozlowski+dt@xxxxxxxxxx; conor+dt@xxxxxxxxxx; > >> devicetree@xxxxxxxxxxxxxxx; Sunil Kovvuri Goutham > >> <sgoutham@xxxxxxxxxxx>; George Cherian <gcherian@xxxxxxxxxxx>; > Anil > >> Kumar Reddy H <areddy3@xxxxxxxxxxx>; Tanmay Jagdale > >> <tanmay@xxxxxxxxxxx>; mike.leach@xxxxxxxxxx; leo.yan@xxxxxxxxxx > >> Subject: [EXTERNAL] Re: [PATCH v7 5/7] coresight: tmc: Add support > >> for reading crash data > >> > >> Prioritize security for external emails: Confirm sender and content > >> safety before clicking links or opening attachments > >> > >> --------------------------------------------------------------------- > >> - > >> > >> > >> On 07/03/2024 03:36, Linu Cherian wrote: > >>> * Introduce a new mode CS_MODE_READ_CRASHDATA for reading trace > >>> captured in previous crash/watchdog reset. > >>> > >>> * Add special device files for reading ETR/ETF crash data. > >>> > >>> * User can read the crash data as below > >>> > >>> For example, for reading crash data from tmc_etf sink > >>> > >>> #dd if=/dev/crash_tmc_etfXX of=~/cstrace.bin > >>> > >>> Signed-off-by: Anil Kumar Reddy <areddy3@xxxxxxxxxxx> > >>> Signed-off-by: Tanmay Jagdale <tanmay@xxxxxxxxxxx> > >>> Signed-off-by: Linu Cherian <lcherian@xxxxxxxxxxx> > >>> --- > >>> Changelog from v6: > >>> * Removed read_prevboot flag in sysfs > >>> * Added special device files for reading crashdata > >>> * Renamed CS mode READ_PREVBOOT to READ_CRASHDATA > >>> * Setting the READ_CRASHDATA mode is done as part of file open. > >>> > >> > >> [...] > >> > >>> @@ -619,6 +740,19 @@ static int tmc_probe(struct amba_device *adev, > >> const struct amba_id *id) > >>> coresight_unregister(drvdata->csdev); > >>> else > >>> pm_runtime_put(&adev->dev); > >>> + > >>> + if (!is_tmc_reserved_region_valid(dev)) > >>> + goto out; > >>> + > >>> + drvdata->crashdev.name = > >>> + devm_kasprintf(dev, GFP_KERNEL, "%s_%s", "crash", > >> desc.name); > >>> + drvdata->crashdev.minor = MISC_DYNAMIC_MINOR; > >>> + drvdata->crashdev.fops = &tmc_crashdata_fops; > >>> + ret = misc_register(&drvdata->crashdev); > >>> + if (ret) > >>> + pr_err("%s: Failed to setup dev interface for crashdata\n", > >>> + desc.name); > >>> + > >> > >> Is this all optional after the is_tmc_reserved_region_valid()? > >> Skipping to out seems to be more like an error condition, but in this > >> case it's not? Having it like this makes it more difficult to add > >> extra steps to the probe function. You could move it to a function and flip > the condition which would be clearer: > >> > > > > Ack. > > > >> if (is_tmc_reserved_region_valid(dev)) > >> register_crash_dev_interface(drvdata); > >> Did you meant changing the condition of "is_tmc_reserved_region_valid" by "flip the condition". If yes, that’s not required IMHO, since the reserved region is still valid. IIUC, the idea here is to not to fail the tmc_probe due to an error condition in register_crash_dev_interface, so that the normal condition is not affected. Also the error condition can be notified to the user using a pr_dbg / pr_err. Thanks.