2013-10-04 06:13:26

by Michal Kazior

[permalink] [raw]
Subject: [PATCH 0/2] ath10k: minor fixes

Hi,

The patchset fixes a compilation warning and a
memory leak in FW loading code.

Michal Kazior (2):
ath10k: fix printf format string
ath10k: fix possible memory leak in new FW loading

drivers/net/wireless/ath/ath10k/core.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)

--
1.7.9.5



2013-10-08 12:23:45

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 0/2] ath10k: minor fixes

Michal Kazior <[email protected]> writes:

> The patchset fixes a compilation warning and a
> memory leak in FW loading code.
>
> Michal Kazior (2):
> ath10k: fix printf format string
> ath10k: fix possible memory leak in new FW loading

Both appplied, thanks for fixing my bugs :)

--
Kalle Valo

2013-10-04 06:13:27

by Michal Kazior

[permalink] [raw]
Subject: [PATCH 2/2] ath10k: fix possible memory leak in new FW loading

Some failpaths did `return` instead of a `goto`
leaking requested firmware.

Signed-off-by: Michal Kazior <[email protected]>
---
drivers/net/wireless/ath/ath10k/core.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index bf85d34..5acb404 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -404,12 +404,14 @@ static int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name)
if (len < magic_len) {
ath10k_err("firmware image too small to contain magic: %zu\n",
len);
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}

if (memcmp(data, ATH10K_FIRMWARE_MAGIC, magic_len) != 0) {
ath10k_err("Invalid firmware magic\n");
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}

/* jump over the padding */
@@ -431,7 +433,8 @@ static int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name)
if (len < ie_len) {
ath10k_err("Invalid length for FW IE %d (%zu < %zu)\n",
ie_id, len, ie_len);
- return -EINVAL;
+ ret = -EINVAL;
+ goto err;
}

switch (ie_id) {
--
1.7.9.5


2013-10-04 06:13:26

by Michal Kazior

[permalink] [raw]
Subject: [PATCH 1/2] ath10k: fix printf format string

size_t corresponds to %zu not %d. Compiler was
complaining about it.

Signed-off-by: Michal Kazior <[email protected]>
---
drivers/net/wireless/ath/ath10k/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index 7b5dd09..bf85d34 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -402,7 +402,7 @@ static int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name)
magic_len = strlen(ATH10K_FIRMWARE_MAGIC) + 1;

if (len < magic_len) {
- ath10k_err("firmware image too small to contain magic: %d\n",
+ ath10k_err("firmware image too small to contain magic: %zu\n",
len);
return -EINVAL;
}
@@ -429,7 +429,7 @@ static int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name)
data += sizeof(*hdr);

if (len < ie_len) {
- ath10k_err("Invalid length for FW IE %d (%d < %d)\n",
+ ath10k_err("Invalid length for FW IE %d (%zu < %zu)\n",
ie_id, len, ie_len);
return -EINVAL;
}
--
1.7.9.5