Thread (30 messages) 30 messages, 3 authors, 2018-11-07

Re: [PATCH v6 07/18] of: dynamic: change type of of_{at,de}tach_node() to void

From: Frank Rowand <hidden>
Date: 2018-11-07 14:55:19
Also in: linux-devicetree, linux-fpga, lkml

On 11/7/18 4:08 AM, Michael Ellerman wrote:
frowand.list@gmail.com writes:
quoted
From: Frank Rowand <redacted>

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.

-Frank
cheers
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help