mtd: rawnand: nandsim: Merge repeat codes in ns_switch_state
authorRinHizakura <s921975628@gmail.com>
Sat, 25 Dec 2021 10:06:48 +0000 (18:06 +0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 23 Jan 2022 15:37:05 +0000 (16:37 +0100)
The moving block of codes is shared between both 'if' and 'else' condition,
we can move it out to reduce the duplication.

Signed-off-by: RinHizakura <s921975628@gmail.com>
Reviewed-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20211225100648.119011-1-s921975628@gmail.com
drivers/mtd/nand/raw/nandsim.c

index 3698fb4..2ef6bdd 100644 (file)
@@ -1731,14 +1731,6 @@ static void ns_switch_state(struct nandsim *ns)
                        "state: %s, nxstate: %s\n",
                       ns_get_state_name(ns->state),
                       ns_get_state_name(ns->nxstate));
-
-               /* See, whether we need to do some action */
-               if ((ns->state & ACTION_MASK) &&
-                   ns_do_state_action(ns, ns->state) < 0) {
-                       ns_switch_to_ready_state(ns, NS_STATUS_FAILED(ns));
-                       return;
-               }
-
        } else {
                /*
                 * We don't yet know which operation we perform.
@@ -1755,12 +1747,13 @@ static void ns_switch_state(struct nandsim *ns)
 
                if (ns_find_operation(ns, 0))
                        return;
+       }
 
-               if ((ns->state & ACTION_MASK) &&
-                   ns_do_state_action(ns, ns->state) < 0) {
-                       ns_switch_to_ready_state(ns, NS_STATUS_FAILED(ns));
-                       return;
-               }
+       /* See, whether we need to do some action */
+       if ((ns->state & ACTION_MASK) &&
+           ns_do_state_action(ns, ns->state) < 0) {
+               ns_switch_to_ready_state(ns, NS_STATUS_FAILED(ns));
+               return;
        }
 
        /* For 16x devices column means the page offset in words */