When il4965_hw_nic_init in __il4965_up fails, the memory allocated by
iwl4965_sta_alloc_lq in iwl4965_alloc_bcast_station is not freed.
This patches adds il_dealloc_bcast_stations in the error handling code of
__il4965_up to fix this problem.
This patch has been tested in real device, and it actually fixes the bug.
Signed-off-by: Jia-Ju Bai <[email protected]>
---
drivers/net/wireless/iwlegacy/4965-mac.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
index 6656215..fd7b5c7 100644
--- a/drivers/net/wireless/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/iwlegacy/4965-mac.c
@@ -5577,6 +5577,7 @@ __il4965_up(struct il_priv *il)
ret = il4965_hw_nic_init(il);
if (ret) {
IL_ERR("Unable to init nic\n");
+ il_dealloc_bcast_stations(il);
return ret;
}
--
1.7.9.5
On 01/11/2016 08:16 PM, Stanislaw Gruszka wrote:
>
> Please do not repost patches so frequent and if you repost
> the unchanged patch mark it so i.e. [PATCH repost].
>
> Stanislaw
Sorry for my reposting.
Jia-Ju Bai
On Sun, Jan 10, 2016 at 10:19:23AM +0800, Jia-Ju Bai wrote:
> diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
> index 6656215..fd7b5c7 100644
> --- a/drivers/net/wireless/iwlegacy/4965-mac.c
> +++ b/drivers/net/wireless/iwlegacy/4965-mac.c
> @@ -5577,6 +5577,7 @@ __il4965_up(struct il_priv *il)
> ret = il4965_hw_nic_init(il);
> if (ret) {
> IL_ERR("Unable to init nic\n");
> + il_dealloc_bcast_stations(il);
> return ret;
> }
Please do not repost patches so frequent and if you repost
the unchanged patch mark it so i.e. [PATCH repost].
Stanislaw
Stanislaw Gruszka <[email protected]> writes:
> On Sun, Jan 10, 2016 at 10:19:23AM +0800, Jia-Ju Bai wrote:
>> diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
>> index 6656215..fd7b5c7 100644
>> --- a/drivers/net/wireless/iwlegacy/4965-mac.c
>> +++ b/drivers/net/wireless/iwlegacy/4965-mac.c
>> @@ -5577,6 +5577,7 @@ __il4965_up(struct il_priv *il)
>> ret = il4965_hw_nic_init(il);
>> if (ret) {
>> IL_ERR("Unable to init nic\n");
>> + il_dealloc_bcast_stations(il);
>> return ret;
>> }
>
> Please do not repost patches so frequent and if you repost
> the unchanged patch mark it so i.e. [PATCH repost].
"repost" just confuses me and creates more work for me. Better to ping
on the original patch and even better is to check patchwork which shows
up-to-date status of wireless patches:
https://patchwork.kernel.org/project/linux-wireless/list/
--
Kalle Valo