diff --git a/iscsi-scst/usr/config.c b/iscsi-scst/usr/config.c index 88a19a02b..2e67c670d 100644 --- a/iscsi-scst/usr/config.c +++ b/iscsi-scst/usr/config.c @@ -1126,8 +1126,6 @@ int config_load(const char *config_name) size = i; buf[size] = '\0'; - config_parse_main(buf, 0); - err = config_isns_load(buf); if ((err == 0) && (isns_server != NULL)) { int rc = isns_init(); @@ -1137,6 +1135,8 @@ int config_load(const char *config_name) } } + config_parse_main(buf, 0); + out_free: free(buf); diff --git a/iscsi-scst/usr/isns.c b/iscsi-scst/usr/isns.c index 60ea3ccbb..ae2a6bb7f 100644 --- a/iscsi-scst/usr/isns.c +++ b/iscsi-scst/usr/isns.c @@ -1149,6 +1149,8 @@ int isns_init(void) isns_timeout = current_timeout * 1000; err = isns_connect(); + if (err > 0) + err = 0; out: return err;