net: ipa: set error code in gsi_channel_setup()
authorAlex Elder <elder@linaro.org>
Thu, 4 Feb 2021 01:06:55 +0000 (19:06 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Feb 2021 10:02:26 +0000 (11:02 +0100)
[ Upstream commit 1d23a56b0296d29e7047b41fe0a42a001036160d ]

In gsi_channel_setup(), we check to see if the configuration data
contains any information about channels that are not supported by
the hardware.  If one is found, we abort the setup process, but
the error code (ret) is not set in this case.  Fix this bug.

Fixes: 650d1603825d8 ("soc: qcom: ipa: the generic software interface")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20210204010655.15619-1-elder@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ipa/gsi.c

index 4a68da7115d198d21d3833c378ff757ad7562146..2a65efd3e8da99e7bfc3837e787635e3eb91ffae 100644 (file)
@@ -1573,6 +1573,7 @@ static int gsi_channel_setup(struct gsi *gsi, bool legacy)
                if (!channel->gsi)
                        continue;       /* Ignore uninitialized channels */
 
+               ret = -EINVAL;
                dev_err(gsi->dev, "channel %u not supported by hardware\n",
                        channel_id - 1);
                channel_id = gsi->channel_count;