[PATCH v6 07/18] of: dynamic: change type of of_{at, de}tach_node() to void
Michael Ellerman
mpe at ellerman.id.au
Thu Nov 8 10:48:33 AEDT 2018
Frank Rowand <frowand.list at gmail.com> writes:
> On 11/7/18 4:08 AM, Michael Ellerman wrote:
>> frowand.list at gmail.com writes:
>>
>>> From: Frank Rowand <frank.rowand at sony.com>
>>>
>>> of_attach_node() and of_detach_node() always return zero, so
>>> their return value is meaningless.
>>
>> But should they always return zero?
>>
>> At least __of_attach_node_sysfs() can fail in several ways.
>
> Sigh. And of_reconfig_notify() can fail. And at one point in the
> history the return value of of_reconfig_notify() was returned by
> of_attach_node() if of_reconfig_notify() failed.
>
>> And there's also this in __of_detach_node() which should probably be
>> returning an error:
>>
>> if (WARN_ON(of_node_check_flag(np, OF_DETACHED)))
>> return;
>>
>>
>> Seems to me we should instead be fixing these to propagate errors,
>> rather than hiding them?
>
> The history of how of_attach_node() stopped propagating errors is
> a bit more complex than I want to dig into at the moment. So I'll
> drop this patch from the series and add investigating this onto
> my todo list. I suspect that the result of investigating will be
> that error return values should not be ignored in of_attach_node()
> and of_detach_node(), but should instead be propagated to the
> callers, as you suggest.
Thanks.
cheers
More information about the Linuxppc-dev
mailing list