| From: George Kashperko <george@znau.edu.ua> |
| |
| Release nvram variables buffer. |
| Prevent block reserved by alloc_etherdev from being freed. |
| Signed-off-by: George Kashperko <george@znau.edu.ua> |
| --- |
| --- |
| --- a/driver/siutils.c |
| +++ b/driver/siutils.c |
| @@ -647,7 +647,10 @@ si_detach(si_t *sih) |
| #if !defined(BCMBUSTYPE) || (BCMBUSTYPE == SI_BUS) |
| if (sii != &ksii) |
| #endif /* !BCMBUSTYPE || (BCMBUSTYPE == SI_BUS) */ |
| - MFREE(sii->osh, sii, sizeof(si_info_t)); |
| + do { |
| + MFREE(sii->osh, sii, sizeof(si_info_t)); |
| + nvram_exit((void *)&(sii->pub)); |
| + } while (0); |
| } |
| |
| void * |
| --- a/driver/wl_linux.c |
| +++ b/driver/wl_linux.c |
| @@ -1477,7 +1477,6 @@ wl_free_if(wl_info_t *wl, wl_if_t *wlif) |
| free_netdev(wlif->dev); |
| #endif |
| } |
| - MFREE(wl->osh, wlif, sizeof(wl_if_t)); |
| } |
| |
| #ifdef AP |