ASoC: hdac_hdmi: Fix to check num nodes correctly
authorSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Wed, 9 Dec 2015 16:16:08 +0000 (21:46 +0530)
committerMark Brown <broonie@kernel.org>
Tue, 5 Jan 2016 19:18:34 +0000 (19:18 +0000)
commit 3c83ac23253c ("ASoC: hdac_hdmi: check error return") fixes
the static checker warning reported by Dan Carpenter:

sound/soc/codecs/hdac_hdmi.c:416 hdac_hdmi_parse_and_map_nid()
warn: unsigned 'hdac->num_nodes' is never less than zero.

But it doesn't fix the issue completely.

It's also a failure if no sub nodes found for an afg node. So modify
the return condition appropriately.

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/hdac_hdmi.c

index b999fb2a463bc9de696604f22f7185127690279a..e6dc4cd037d3179f73c7c1eaa341b604a4f2bffe 100644 (file)
@@ -415,7 +415,7 @@ static int hdac_hdmi_parse_and_map_nid(struct hdac_ext_device *edev)
        int cvt_nid = 0, pin_nid = 0;
 
        num_nodes = snd_hdac_get_sub_nodes(hdac, hdac->afg, &nid);
-       if (!nid || num_nodes < 0) {
+       if (!nid || num_nodes <= 0) {
                dev_warn(&hdac->dev, "HDMI: failed to get afg sub nodes\n");
                return -EINVAL;
        }