huge madwifi update - use a madwifi-ng-refcount snapshot as base, includes lots of...
[openwrt-10.03/.git] / package / madwifi / patches / 105-ratectl_attach.patch
diff --git a/package/madwifi/patches/105-ratectl_attach.patch b/package/madwifi/patches/105-ratectl_attach.patch
new file mode 100644 (file)
index 0000000..512bda7
--- /dev/null
@@ -0,0 +1,24 @@
+diff -urN madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_rate.c madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_rate.c
+--- madwifi-ng-refcount-r2313-20070505.old/net80211/ieee80211_rate.c   2007-04-04 23:25:20.000000000 +0200
++++ madwifi-ng-refcount-r2313-20070505.dev/net80211/ieee80211_rate.c   2007-05-13 18:17:55.368151800 +0200
+@@ -100,8 +100,18 @@
+               ieee80211_load_module(buf);
+       if (!ratectls[id].attach) {
+-              printk(KERN_ERR "Error loading module \"%s\"\n", buf);
+-              return NULL;
++              /* pick the first available rate control module */
++              printk(KERN_INFO "Rate control module \"%s\" not available\n", buf);
++              for (id = 0; id < IEEE80211_RATE_MAX; id++) {
++                      if (ratectls[id].attach)
++                              break;
++              }
++              if (!ratectls[id].attach) {
++                      printk(KERN_ERR "No rate control module available");
++                      return NULL;
++              } else {
++                      printk(KERN_INFO "Using \"%s\" instead.\n", module_names[id]);
++              }
+       }
+       ctl = ratectls[id].attach(sc);