OpenCloudOS-Kernel/drivers/net/wireless/rsi
Mike Looijmans 5d5cd85ff4 rsi: Fix failure to load firmware after memory leak fix and fix the leak
Fixes commit eae79b4f3e ("rsi: fix memory leak in rsi_load_ta_instructions()")
which stopped the driver from functioning.

Firmware data has been allocated using vmalloc(), resulting in memory
that cannot be used for DMA. Hence the firmware was first copied to a
buffer allocated with kmalloc() in the original code. This patch reverts
the commit and only calls "kfree()" to release the buffer after sending
the data. This fixes the memory leak without breaking the driver.

Add a comment to the kmemdup() calls to explain why this is done, and abort
if memory allocation fails.

Tested on a Topic Miami-Florida board which contains the rsi SDIO chip.

Also added the same kfree() call to the USB glue driver. This was not
tested on actual hardware though, as I only have the SDIO version.

Fixes: eae79b4f3e ("rsi: fix memory leak in rsi_load_ta_instructions()")
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Cc: stable@vger.kernel.org
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-07-31 09:22:44 +03:00
..
Kconfig
Makefile
rsi_91x_core.c rsi: Fixed warnings reported by static code analyzers. 2014-06-25 15:40:41 -04:00
rsi_91x_debugfs.c rsi: Mapping the debugfs stats to the correct s/w queues. 2014-06-19 15:49:21 -04:00
rsi_91x_mac80211.c mac80211: convert HW flags to unsigned long bitmap 2015-06-10 16:05:36 +02:00
rsi_91x_main.c rsi: Add pr_fmt,__printf, fix format & arg mismatch 2014-03-19 15:15:47 -04:00
rsi_91x_mgmt.c rsi: Fixed errors and warnings reported by static code analyzers. 2014-06-25 15:40:40 -04:00
rsi_91x_pkt.c rsi: Changes for 40MHz 2014-06-19 15:49:23 -04:00
rsi_91x_sdio.c rsi_91x_sdio: add error handling into rsi_module_init() 2014-06-19 15:49:16 -04:00
rsi_91x_sdio_ops.c rsi: Fix failure to load firmware after memory leak fix and fix the leak 2015-07-31 09:22:44 +03:00
rsi_91x_usb.c rsi: fix memory leaks and error handling in rsi_91x_usb 2014-07-01 14:26:26 -04:00
rsi_91x_usb_ops.c rsi: Fix failure to load firmware after memory leak fix and fix the leak 2015-07-31 09:22:44 +03:00
rsi_boot_params.h
rsi_common.h rsi: avoid format string leak to thread name 2014-05-29 13:08:10 -04:00
rsi_debugfs.h
rsi_main.h rsi: Adding support for host based bgscan. 2014-06-19 15:49:23 -04:00
rsi_mgmt.h rsi: Adding support for host based bgscan. 2014-06-19 15:49:23 -04:00
rsi_sdio.h rsi: Changed the SDIO interrupt variables and some clean up. 2014-06-19 15:49:22 -04:00
rsi_usb.h