Return-path: Received: from mail-io0-f196.google.com ([209.85.223.196]:34626 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752628AbbL2SQo (ORCPT ); Tue, 29 Dec 2015 13:16:44 -0500 MIME-Version: 1.0 In-Reply-To: <87poxy7spb.fsf@kamboji.qca.qualcomm.com> References: <1448948470-31111-1-git-send-email-motobud@gmail.com> <87poxy7spb.fsf@kamboji.qca.qualcomm.com> Date: Tue, 29 Dec 2015 23:46:43 +0530 Message-ID: (sfid-20151229_191705_726602_12466510) Subject: Re: [PATCH] ath6kl: Use vmalloc to allocate ar->fw for api1 method From: Souptick Joarder To: Brent Taylor Cc: netdev@vger.kernel.org, ath6kl@lists.infradead.org, linux-wireless , "linux-kernel@vger.kernel.org" , Kalle Valo Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: Brent, On Tue, Dec 22, 2015 at 2:42 PM, Kalle Valo wrote: > Souptick Joarder writes: > >> Hi Brent, >> >> On Tue, Dec 22, 2015 at 3:23 AM, Brent Taylor wrote: >>> On Mon, Dec 21, 2015 at 1:23 PM, Souptick Joarder wrote: >>>> Hi Brent, >>>> >>>> On Tue, Dec 1, 2015 at 11:11 AM, Brent Taylor wrote: >>>> >>>>> --- a/drivers/net/wireless/ath/ath6kl/init.c >>>>> +++ b/drivers/net/wireless/ath/ath6kl/init.c >>>>> @@ -673,10 +673,15 @@ 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 (&ar->fw == fw) >>>>> + *fw = vmalloc(fw_entry->size); >>>>> + else >>>>> + *fw = kmalloc(fw_entry->size, GFP_KERNEL) >>>> >>>> Why vmalloc and kmalloc both are required? can't use either >>>> vmalloc or kmalloc? >>> >>> My original problem was that kmemdup (which uses kmalloc) could not >>> allocate enough memory >> >> If kmemdump ( which uses kmalloc) could not allocate memory then >> using kmalloc again can lead to same problem. >> I guess it will be correct to use >> *fw = vmalloc(fw_entry->size); >> Correct me if i am wrong. > > That sounds best. But remember take into account DMA requirements, IIRC > you cannot DMA from vmalloc memory on all platforms. Is it possible to modify the patch as per feedback from Kalle. > > -- > Kalle Valo -Souptick