Messages in this thread | | | Date | Mon, 19 Feb 2024 16:57:04 +0100 | Subject | Re: [PATCH v3] ata: ahci_ceva: fix error handling for Xilinx GT PHY support | From | Markus Elfring <> |
| |
> > 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 ; }
Regards, Markus
| |