linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ath6kl: Use vmalloc to allocate ar->fw for api1 method
@ 2015-12-01  5:41 Brent Taylor
  2015-12-01 13:08 ` Sergei Shtylyov
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Brent Taylor @ 2015-12-01  5:41 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, netdev, linux-kernel, ath6kl, Brent Taylor

Since commit 8437754c83351d6213c1a47ff029c1126d6042a7, ar->fw is expected to be pointing to memory allocated by vmalloc.  If the api1 method (via ath6kl_fetch_fw_api1) is used to allocate memory for ar->fw, then kmemdup is used.  This patch checks if the firmware being loaded is the 'fw' image, then use vmalloc, otherwise use kmalloc.

Signed-off-by: Brent Taylor <motobud@gmail.com>
---
 drivers/net/wireless/ath/ath6kl/init.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath6kl/init.c b/drivers/net/wireless/ath/ath6kl/init.c
index 6ae0734..4f2b124d 100644
--- 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);
 
 	if (*fw == NULL)
 		ret = -ENOMEM;
+	else
+		memcpy(*fw, fw_entry->data, fw_entry->size);
 
 	release_firmware(fw_entry);
 
-- 
2.6.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-12-29 18:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-01  5:41 [PATCH] ath6kl: Use vmalloc to allocate ar->fw for api1 method Brent Taylor
2015-12-01 13:08 ` Sergei Shtylyov
2015-12-13  0:52 ` Andy Shevchenko
2015-12-21 19:23 ` Souptick Joarder
2015-12-21 21:53   ` Brent Taylor
2015-12-22  9:05     ` Souptick Joarder
2015-12-22  9:12       ` Kalle Valo
2015-12-29 18:16         ` Souptick Joarder
2015-12-21 22:00   ` Dan Kephart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).