Brent, On Tue, Dec 22, 2015 at 2:42 PM, Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> wrote: > Souptick Joarder <jrdr.linux@xxxxxxxxx> writes: > >> Hi Brent, >> >> On Tue, Dec 22, 2015 at 3:23 AM, Brent Taylor <motobud@xxxxxxxxx> wrote: >>> On Mon, Dec 21, 2015 at 1:23 PM, Souptick Joarder <jrdr.linux@xxxxxxxxx> wrote: >>>> Hi Brent, >>>> >>>> On Tue, Dec 1, 2015 at 11:11 AM, Brent Taylor <motobud@xxxxxxxxx> 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 _______________________________________________ ath6kl mailing list ath6kl@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/ath6kl