]> granicus.if.org Git - esp-idf/commitdiff
i2s: return error code if register isr error, resolve #587 (github)
authorTuan PM <tuanpm@live.com>
Wed, 7 Jun 2017 07:32:32 +0000 (14:32 +0700)
committerTuan PM <tuanpm@live.com>
Tue, 13 Jun 2017 07:28:47 +0000 (14:28 +0700)
set p_i2s_obj = NULL when return error

components/driver/i2s.c

index ac0c3fb07761761fd9a017d276d4a13579ae1e85..f78745f3292221109f3bfd56b44780239ec66741 100644 (file)
@@ -868,8 +868,9 @@ esp_err_t i2s_driver_install(i2s_port_t i2s_num, const i2s_config_t *i2s_config,
         err = i2s_isr_register(i2s_num, i2s_config->intr_alloc_flags, i2s_intr_handler_default, p_i2s_obj[i2s_num], &p_i2s_obj[i2s_num]->i2s_isr_handle);
         if (err != ESP_OK) {
             free(p_i2s_obj[i2s_num]);
+            p_i2s_obj[i2s_num] = NULL;
             ESP_LOGE(I2S_TAG, "Register I2S Interrupt error");
-            return ESP_FAIL;
+            return err;
         }
         i2s_stop(i2s_num);
         i2s_param_config(i2s_num, i2s_config);