diff mbox series

ath11k: do not return random value

Message ID 20220404105324.13810-1-straube.linux@gmail.com
State New
Headers show
Series ath11k: do not return random value | expand

Commit Message

Michael Straube April 4, 2022, 10:53 a.m. UTC
Function ath11k_qmi_assign_target_mem_chunk() returns a random value
if of_parse_phandle() fails because the return variable ret is not
initialized before calling of_parse_phandle(). Return -EINVAL to avoid
possibly returning 0, which would be wrong here.

Issue found by smatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
---
 drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo April 4, 2022, 4:51 p.m. UTC | #1
Michael Straube <straube.linux@gmail.com> writes:

> On 4/4/22 18:35, Robert Marko wrote:
>> On Mon, Apr 4, 2022 at 12:54 PM Michael Straube <straube.linux@gmail.com> wrote:
>>>
>>> Function ath11k_qmi_assign_target_mem_chunk() returns a random value
>>> if of_parse_phandle() fails because the return variable ret is not
>>> initialized before calling of_parse_phandle(). Return -EINVAL to avoid
>>> possibly returning 0, which would be wrong here.
>>>
>>> Issue found by smatch.
>>>
>>> Signed-off-by: Michael Straube <straube.linux@gmail.com>
>>> ---
>>>   drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
>>> index 65d3c6ba35ae..81b2304b1fde 100644
>>> --- a/drivers/net/wireless/ath/ath11k/qmi.c
>>> +++ b/drivers/net/wireless/ath/ath11k/qmi.c
>>> @@ -1932,7 +1932,7 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
>>>                          if (!hremote_node) {
>>>                                  ath11k_dbg(ab, ATH11K_DBG_QMI,
>>>                                             "qmi fail to get hremote_node\n");
>>> -                               return ret;
>>> +                               return -EINVAL;
>>>                          }
>>>
>>>                          ret = of_address_to_resource(hremote_node, 0, &res);
>>> --
>>> 2.35.1
>>
>> Hi Michael,
>> This is already solved in ath-next and 5.18-rc1:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/ath/ath11k/qmi.c?h=v5.18-rc1&id=c9b41832dc080fa59bad597de94865b3ea2d5bab
>>
>
> Hi Robert,
>
> Ah ok, then I worked with the wrong tree (wireless-drivers-next).
> Sorry for the noise.

wireless-drivers[-next] and mac80211[-next] trees are not in use
anymore, we switched to using a common wireless and wireless-next trees:

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git/

https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
index 65d3c6ba35ae..81b2304b1fde 100644
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -1932,7 +1932,7 @@  static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
 			if (!hremote_node) {
 				ath11k_dbg(ab, ATH11K_DBG_QMI,
 					   "qmi fail to get hremote_node\n");
-				return ret;
+				return -EINVAL;
 			}
 
 			ret = of_address_to_resource(hremote_node, 0, &res);