|
|
@@ -0,0 +1,31 @@
|
|
|
+From: George Kashperko <[email protected]>
|
|
|
+
|
|
|
+Release nvram variables buffer.
|
|
|
+Prevent block reserved by alloc_etherdev from being freed.
|
|
|
+Signed-off-by: George Kashperko <[email protected]>
|
|
|
+---
|
|
|
+---
|
|
|
+--- 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
|