> -----Original Message----- > From: Markus Elfring <Markus.Elfring@xxxxxx> > Sent: Monday, February 19, 2024 9:27 PM > To: Niklas Cassel <cassel@xxxxxxxxxx>; Pandey, Radhey Shyam > <radhey.shyam.pandey@xxxxxxx>; Damien Le Moal > <dlemoal@xxxxxxxxxx>; Jens Axboe <axboe@xxxxxxxxx>; Simek, Michal > <michal.simek@xxxxxxx>; Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>; linux- > ide@xxxxxxxxxxxxxxx; kernel-janitors@xxxxxxxxxxxxxxx > Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>; git (AMD-Xilinx) <git@xxxxxxx> > Subject: Re: [PATCH v3] ata: ahci_ceva: fix error handling for Xilinx GT PHY > support > > > > Platform clock and phy error resources are not cleaned up in Xilinx GT > PHY > > > error path. > > > > > > To fix introduce the function ceva_ahci_platform_enable_resources() > … > > Applied: > > > https://git.kernel.org/pub/scm/linux/kernel/git/libata/linux.git/log/?h=for- > 6.8-fixes > > The error code “-EINVAL” was set before the statement “goto > disable_resources” > multiple times in the adjusted implementation of the function > “ceva_ahci_probe”. > I suggest to add a jump target so that a bit of exception handling > can be better reused at the end of this function. > > > How do you think about to apply the following script for the semantic > patch language (Coccinelle software) accordingly? > > > @replacement1@ > identifier rc; > @@ > <+... > if (...) > { > ... when != rc > - rc = -EINVAL; > goto > - disable_resources > + e_inval > ; > } > ...+> > return 0; > + > +e_inval: > +rc = -EINVAL; > disable_resources: > ahci_platform_disable_resources(hpriv); > > @replacement2 disable neg_if, drop_else@ > identifier replacement1.rc; > statement is; > @@ > if (...) > is > else > { > ... when != rc > - rc = -EINVAL; > goto > - disable_resources > + e_inval > ; > } > > Thanks for the suggestion. However, taking a look at the existing implementation i think we should return error code *as is * from of_property_read() APIs. and get rid of rc=-EINVAL reassignment itself. If it sounds ok, I can add it to my to-do list and send out a patch. Thanks, Radhey