ASoC: Intel: Skylake: Return negative error code
authorGuneshwor Singh <guneshwor.o.singh@intel.com>
Thu, 27 Apr 2017 06:51:22 +0000 (12:21 +0530)
committerMark Brown <broonie@kernel.org>
Sun, 30 Apr 2017 12:50:28 +0000 (21:50 +0900)
skl_tplg_add_pipe() returned EEXIST instead of negative EEXIST, so fix that
and handle the return value as well.

Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-topology.c

index 0e459d3eb17ab561b7803e4e8296f3a270d8ed26..29f68713a23137773d36130ae49b3325dde4c8aa 100644 (file)
@@ -1711,7 +1711,7 @@ static int skl_tplg_add_pipe(struct device *dev,
        list_for_each_entry(ppl, &skl->ppl_list, node) {
                if (ppl->pipe->ppl_id == tkn_elem->value) {
                        mconfig->pipe = ppl->pipe;
-                       return EEXIST;
+                       return -EEXIST;
                }
        }
 
@@ -2003,11 +2003,13 @@ static int skl_tplg_get_token(struct device *dev,
                ret = skl_tplg_add_pipe(dev,
                                mconfig, skl, tkn_elem);
 
-               if (ret < 0)
+               if (ret < 0) {
+                       if (ret == -EEXIST) {
+                               is_pipe_exists = 1;
+                               break;
+                       }
                        return is_pipe_exists;
-
-               if (ret == EEXIST)
-                       is_pipe_exists = 1;
+               }
 
                break;