On Wed, 31 Aug 2016, Reza Arbab wrote:

> > Nope, the return value of changing state from online to online was
> > established almost 11 years ago in commit 3947be1969a9.
> 
> Fair enough. So if online-to-online is -EINVAL, 

online-to-online for state is -EINVAL, it has been since 2005.

> 1. Shouldn't 'echo 1 > online' then also return -EINVAL?
> 

No, it's a different tunable.  There's no requirement that two different 
tunables that do a similar thing have the same return values: the former 
existed long before device_online() and still exists for backwards 
compatibility.

> 2. store_mem_state() still needs a tweak, right? It was only returning -EINVAL
> by accident, due to the convoluted sequence I listed in the patch.
> 

Yes, absolutely.  It returning -EINVAL for "nline" is what is accidently 
preserving it's backwards compatibility :)  Note that device_online() 
returns 1 if already online and memory_subsys_online() returns 0 if online 
in this case.  So we want store_mem_state() to return -EINVAL if 
device_online() returns non-zero (this was in my first email).

Reply via email to