2015-11-28 18:58:33

by Brent Taylor

[permalink] [raw]
Subject: Re: [PATCH] ath6kl: Use vmalloc for loading firmware using api1 method

Sorry, the first e-mail was sent via gmail and I forgot about sending
it in plain text mode.

Whats the status on this patch? I don't see it on patchwork anymore
nor is it in any of the git trees I checked.

Thanks,
Brent

On Fri, Oct 16, 2015 at 12:10 AM, Brent Taylor <[email protected]> wrote:
> Signed-off-by: Brent Taylor <[email protected]>
> ---
> drivers/net/wireless/ath/ath6kl/init.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
> index 6e473fa..2155739 100644
> --- a/drivers/net/wireless/ath/ath6kl/init.c
> +++ b/drivers/net/wireless/ath/ath6kl/init.c
> @@ -673,10 +673,17 @@ static int ath6kl_get_fw(struct ath6kl *ar, const char *filename,
> return ret;
>
> *fw_len = fw_entry->size;
> - *fw = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL);
> -
> - if (*fw == NULL)
> - ret = -ENOMEM;
> + if (&ar->fw == fw) {
> + *fw = vmalloc(fw_entry->size);
> + if (*fw == NULL)
> + ret = -ENOMEM;
> + else
> + memcpy(*fw, fw_entry->data, fw_entry->size);
> + } else {
> + *fw = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL);
> + if (*fw == NULL)
> + ret = -ENOMEM;
> + }
>
> release_firmware(fw_entry);
>
> --
> 2.6.1
>


2015-11-29 00:53:36

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] ath6kl: Use vmalloc for loading firmware using api1 method

On Sat, Nov 28, 2015 at 8:58 PM, Brent Taylor <[email protected]> wrote:
> Sorry, the first e-mail was sent via gmail and I forgot about sending
> it in plain text mode.
>
> Whats the status on this patch? I don't see it on patchwork anymore
> nor is it in any of the git trees I checked.
>

You forget to use kvfree() instead of kfree() in core.c.

> Thanks,
> Brent
>
> On Fri, Oct 16, 2015 at 12:10 AM, Brent Taylor <[email protected]> wrote:
>> Signed-off-by: Brent Taylor <[email protected]>
>> ---
>> drivers/net/wireless/ath/ath6kl/init.c | 15 +++++++++++----
>> 1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
>> index 6e473fa..2155739 100644
>> --- a/drivers/net/wireless/ath/ath6kl/init.c
>> +++ b/drivers/net/wireless/ath/ath6kl/init.c
>> @@ -673,10 +673,17 @@ static int ath6kl_get_fw(struct ath6kl *ar, const char *filename,
>> return ret;
>>
>> *fw_len = fw_entry->size;
>> - *fw = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL);
>> -
>> - if (*fw == NULL)
>> - ret = -ENOMEM;
>> + if (&ar->fw == fw) {
>> + *fw = vmalloc(fw_entry->size);
>> + if (*fw == NULL)
>> + ret = -ENOMEM;
>> + else
>> + memcpy(*fw, fw_entry->data, fw_entry->size);
>> + } else {
>> + *fw = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL);
>> + if (*fw == NULL)
>> + ret = -ENOMEM;
>> + }
>>
>> release_firmware(fw_entry);
>>
>> --
>> 2.6.1
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/



--
With Best Regards,
Andy Shevchenko

2015-11-29 02:57:24

by Tetsuo Handa

[permalink] [raw]
Subject: Re: [PATCH] ath6kl: Use vmalloc for loading firmware using api1 method

Andy Shevchenko wrote:
> On Sat, Nov 28, 2015 at 8:58 PM, Brent Taylor <[email protected]> wrote:
> > Whats the status on this patch? I don't see it on patchwork anymore
> > nor is it in any of the git trees I checked.
> >
>
> You forget to use kvfree() instead of kfree() in core.c.
>

In addition to that, I think you can do like below.

if (&ar->fw == fw)
*fw = vmalloc(fw_entry->size);
else
*fw = kmalloc(fw_entry->size, GFP_KERNEL);
if (*fw == NULL)
ret = -ENOMEM;
else
memcpy(*fw, fw_entry->data, fw_entry->size);