summaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches/105-ratectl_attach.patch
blob: 1e7cbeb3c0f3bdfc45116ed7914cda4ec7b59f4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Index: madwifi-ng-r2568-20070710/net80211/ieee80211_rate.c
===================================================================
--- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_rate.c	2007-07-13 11:18:14.361114937 +0200
+++ madwifi-ng-r2568-20070710/net80211/ieee80211_rate.c	2007-07-13 11:18:15.945205212 +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);