ASoC: core: Adapt for debugfs API change
authorMark Brown <broonie@kernel.org>
Fri, 21 Jun 2019 11:33:56 +0000 (12:33 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 24 Jun 2019 16:18:31 +0000 (17:18 +0100)
Back in ff9fb72bc07705c (debugfs: return error values, not NULL) the
debugfs APIs were changed to return error pointers rather than NULL
pointers on error, breaking the error checking in ASoC. Update the
code to use IS_ERR() and log the codes that are returned as part of
the error messages.

Fixes: ff9fb72bc07705c (debugfs: return error values, not NULL)
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index 9138fcb15cd3fa32edef3e257a70d957dc5e9e47..6aeba0d66ec500785a287dbcdc225d5a309213ae 100644 (file)
@@ -158,9 +158,10 @@ static void soc_init_component_debugfs(struct snd_soc_component *component)
                                component->card->debugfs_card_root);
        }
 
-       if (!component->debugfs_root) {
+       if (IS_ERR(component->debugfs_root)) {
                dev_warn(component->dev,
-                       "ASoC: Failed to create component debugfs directory\n");
+                       "ASoC: Failed to create component debugfs directory: %ld\n",
+                       PTR_ERR(component->debugfs_root));
                return;
        }
 
@@ -212,18 +213,21 @@ static void soc_init_card_debugfs(struct snd_soc_card *card)
 
        card->debugfs_card_root = debugfs_create_dir(card->name,
                                                     snd_soc_debugfs_root);
-       if (!card->debugfs_card_root) {
+       if (IS_ERR(card->debugfs_card_root)) {
                dev_warn(card->dev,
-                        "ASoC: Failed to create card debugfs directory\n");
+                        "ASoC: Failed to create card debugfs directory: %ld\n",
+                        PTR_ERR(card->debugfs_card_root));
+               card->debugfs_card_root = NULL;
                return;
        }
 
        card->debugfs_pop_time = debugfs_create_u32("dapm_pop_time", 0644,
                                                    card->debugfs_card_root,
                                                    &card->pop_time);
-       if (!card->debugfs_pop_time)
+       if (IS_ERR(card->debugfs_pop_time))
                dev_warn(card->dev,
-                        "ASoC: Failed to create pop time debugfs file\n");
+                        "ASoC: Failed to create pop time debugfs file: %ld\n",
+                        PTR_ERR(card->debugfs_pop_time));
 }
 
 static void soc_cleanup_card_debugfs(struct snd_soc_card *card)