From 8ef0e1eb51ad54bbcd21bf22dc3af695120beb2a Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 4 Jul 2011 03:02:52 +0000
Subject: [PATCH] ath5k: add an upstream patch to fix a memory leak

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27432 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../mac80211/patches/300-pending_work.patch   | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index 0900596dc..285ce6944 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -461,3 +461,23 @@
  void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx);
  
  #endif  /* AR9003_PHY_H */
+--- a/drivers/net/wireless/ath/ath5k/eeprom.c
++++ b/drivers/net/wireless/ath/ath5k/eeprom.c
+@@ -691,14 +691,12 @@ ath5k_eeprom_free_pcal_info(struct ath5k
+ 		if (!chinfo[pier].pd_curves)
+ 			continue;
+ 
+-		for (pdg = 0; pdg < ee->ee_pd_gains[mode]; pdg++) {
++		for (pdg = 0; pdg < AR5K_EEPROM_N_PD_CURVES; pdg++) {
+ 			struct ath5k_pdgain_info *pd =
+ 					&chinfo[pier].pd_curves[pdg];
+ 
+-			if (pd != NULL) {
+-				kfree(pd->pd_step);
+-				kfree(pd->pd_pwr);
+-			}
++			kfree(pd->pd_step);
++			kfree(pd->pd_pwr);
+ 		}
+ 
+ 		kfree(chinfo[pier].pd_curves);
-- 
2.20.1