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