Hi Geert,

On 11.05.2016 10:41, Geert Uytterhoeven wrote:
Hi Dirk,

On Wed, May 11, 2016 at 10:39 AM, Dirk Behme <[email protected]> wrote:
On 11.05.2016 09:54, Geert Uytterhoeven wrote:
On Wed, May 11, 2016 at 7:29 AM, Dirk Behme <[email protected]>
wrote:

--- /dev/null
+++ b/drivers/misc/boot-mode-reg/core.c

+/**
+ * boot_mode_reg_set() - record boot mode register value
+ * @mode: implementation-dependent boot mode register value
+ *
+ * Records the boot mode register value which may subsequently
+ * be retrieved using boot_mode_reg_get().
+ *
+ * return: 0 on success
+ */
+int boot_mode_reg_set(u32 mode)
+{
+       int err = -EBUSY;
+
+       mutex_lock(&boot_mode_mutex);
+       if (!boot_mode_is_set) {

You've dropped the check for calling this function a subsequent time with
a different value of mode?

Sometimes inverting 'complex' if statements is not that easy ;)

You mean

if (!boot_mode_is_set || boot_mode != mode)

No, De Morgan says

        if (!boot_mode_is_set || boot_mode == mode)


Hmm, sorry if I don't have enough coffee today ;)

But why should we do

if (... boot_mode == mode)
        boot_mode = mode;

?

Or in other words:

We want to execute the if code if

boot_mode_is_set is false

or

boot_mode is not equal mode, i.e. mode has changed

?


Best regards

Dirk

Reply via email to