Author: maks
Date: Sun Sep  9 17:13:58 2007
New Revision: 9480

Log:
add the patch iwlwifi patch itself


Added:
   dists/trunk/linux-2.6/debian/patches/features/all/iwlwifi-rmmod-fix.patch

Added: dists/trunk/linux-2.6/debian/patches/features/all/iwlwifi-rmmod-fix.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/features/all/iwlwifi-rmmod-fix.patch   
Sun Sep  9 17:13:58 2007
@@ -0,0 +1,72 @@
+From: Tomas Winkler <[EMAIL PROTECTED]>
+Date: Tue, 4 Sep 2007 18:20:30 +0000 (+0300)
+Subject: iwlwifi: fix rate scale unloading
+X-Git-Url: 
http://intellinuxwireless.org/repos/?p=iwlwifi.git;a=commitdiff;h=0c4826cdf9adbda1af908aa5fec22ac2277f2e53
+
+iwlwifi: fix rate scale unloading
+
+This patch fixes unloading of iwl-*-rs rate scaling algorithms.
+Current rate_scal requires to be all functions to be implemented
+in other words it doesn't check if ops->X is not null.
+Since we are implementing dummy alloc we should also implement free and
+clear function.
+
+Signed-off-by: Tomas Winkler <[EMAIL PROTECTED]>
+Signed-off-by: Zhu Yi <[EMAIL PROTECTED]>
+---
+
+--- a/origin/iwl-3945-rs.c
++++ b/origin/iwl-3945-rs.c
+@@ -359,6 +359,17 @@ static void *rs_alloc(struct ieee80211_l
+       return local->hw.priv;
+ }
+ 
++/* rate scale requires free function to be implmented */
++static void rs_free(void *priv)
++{
++      return;
++}
++static void rs_clear(void *priv)
++{
++      return;
++}
++
++
+ static void *rs_alloc_sta(void *priv, gfp_t gfp)
+ {
+       struct iwl_rate_scale_priv *rs_priv;
+@@ -804,9 +815,9 @@ static struct rate_control_ops rs_ops = 
+       .tx_status = rs_tx_status,
+       .get_rate = rs_get_rate,
+       .rate_init = rs_rate_init,
+-      .clear = NULL,
++      .clear = rs_clear,
+       .alloc = rs_alloc,
+-      .free = NULL,
++      .free = rs_free,
+       .alloc_sta = rs_alloc_sta,
+       .free_sta = rs_free_sta,
+ };
+--- a/origin/iwl-4965-rs.c
++++ b/origin/iwl-4965-rs.c
+@@ -1967,6 +1967,11 @@ static void *rs_alloc(struct ieee80211_l
+ {
+       return local->hw.priv;
+ }
++/* rate scale requires free function to be implemented */
++static void rs_free(void *priv_rate)
++{
++      return;
++}
+ 
+ static void rs_clear(void *priv_rate)
+ {
+@@ -2003,7 +2008,7 @@ static struct rate_control_ops rs_ops = 
+       .rate_init = rs_rate_init,
+       .clear = rs_clear,
+       .alloc = rs_alloc,
+-      .free = NULL,
++      .free = rs_free,
+       .alloc_sta = rs_alloc_sta,
+       .free_sta = rs_free_sta,
+ };

_______________________________________________
Kernel-svn-changes mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes

Reply via email to