blob: 80aad835e7a6f60cc2367917824842575aff2684 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
--- a/net80211/ieee80211_rate.c
+++ b/net80211/ieee80211_rate.c
@@ -100,8 +100,18 @@ struct ath_ratectrl *ieee80211_rate_atta
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 - 1; 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);
|