A bug in TUI prevents users from configuring Asymmetrict Access
optimizations for RAID devices.  This happens because screen_driver
doesn't return RC_SUCCESS when exiting the option menu.  This patch
makes sure the configuration is written to the adapter if the user
modified it.

Signed-off-by: Gabriel Krisman Bertazi <kris...@linux.vnet.ibm.com>
---
 iprconfig.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/iprconfig.c b/iprconfig.c
index fadf562..b2ebbef 100644
--- a/iprconfig.c
+++ b/iprconfig.c
@@ -5628,12 +5628,14 @@ int configure_asym_access(struct array_cmd_data *acd)
                rc = s_out->rc;
                free(s_out);
 
-               if (rc == RC_SUCCESS) {
+               if (rc == CANCEL_FLAG)
+                       goto leave;
+
+               if (rc == EXIT_FLAG || rc == RC_SUCCESS) {
                        if (!acd->do_cmd) {
                                rc = REFRESH_FLAG;
                                break;
                        }
-
                        if (!strncmp(new_i_con->field_data, "Optimized", 8))
                                state = IPR_ACTIVE_OPTIMIZED;
                        else if (!strncmp(new_i_con->field_data, 
"Non-Optimized", 8))
@@ -5643,11 +5645,13 @@ int configure_asym_access(struct array_cmd_data *acd)
 
                        acd->dev->array_rcd->issue_cmd = 1;
                        acd->dev->array_rcd->saved_asym_access_state = state;
-                       rc = ipr_set_array_asym_access(acd->ioa);
                }
        }
        processing();
 
+       if (acd->dev->array_rcd->issue_cmd)
+               rc = ipr_set_array_asym_access(acd->ioa);
+leave:
        free(n_change_array_asym_access.body);
        n_change_array_asym_access.body = NULL;
        free_i_con(new_i_con);
-- 
2.1.0


------------------------------------------------------------------------------
_______________________________________________
Iprdd-devel mailing list
Iprdd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iprdd-devel

Reply via email to