Hi Andy, On Thu, Nov 23, 2023 at 4:01 PM Börge Strümpfel <boerge.struempfel@xxxxxxxxx> wrote: > > Hi Andy > > thank you for your feedback > > On Thu, Nov 23, 2023 at 3:25 PM Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: > > > > On Thu, Nov 23, 2023 at 3:30 PM Boerge Struempfel > > <boerge.struempfel@xxxxxxxxx> wrote: > > > > > > If gpio_set_transitory fails, we should free the gpio again. Most > > > > We refer to functions as func() in the text and comments (note parentheses). > > > > GPIO > > Thanks for letting me know, I will update the the commit message in > regards to this. > > > > > > notably, the flag FLAG_REQUESTED has previously been set in > > > gpiod_request_commit, and should be reset on failure. > > > > Same about func(). > > > > ... > > > > Seems the correct fix, but you may also add that no existing user is > > returning anything except 0 or ENOTSUPP that is converted to 0 in > > GPIOLIB core code. Hence no Fixes tag is needed, but still possible if > > maintainers want it. > > > > You are right. For now, all mainline users are returning 0. We only found > this due to downstream-specific code. I'll add a comment about this not > affecting any existing users to the commit message. > A small update: I looked through the possible users again, and there seems to be at least the possibility for some other return values. The reason for this is, that the .set_config() of the specific gpio driver is called during the gpiod_set_transitory() call. For example the .set_config() of gpio-aspeed might in certain (somewhat unlikely) cases return -EPROBE_DEFER as well as -EINVAL. However I don't think, that these conditional paths can be reached on a properly configured system. Kind Regards, Börge Strümpfel