From: George Kashperko Release nvram variables buffer. Prevent block reserved by alloc_etherdev from being freed. Signed-off-by: George Kashperko --- --- --- 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