Magellan Linux

Contents of /trunk/zydas/patches/zd1211-driver-r32-iw-rate.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (show annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years ago) by niro
File size: 3622 byte(s)
-import

1 * finding or making jordens@debian.org--zd1211/zd1211--integration--0--patch-9
2 * finding or making jordens@debian.org--zd1211/zd1211--integration--0--patch-10
3 * computing changeset
4 A {arch}/zd1211/zd1211--integration/zd1211--integration--0/jordens@debian.org--zd1211/patch-log/patch-10
5 M src/zd1205.c
6 * changeset report
7 * modified files
8
9 --- orig/src/zd1205.c
10 +++ mod/src/zd1205.c
11 @@ -5983,10 +5983,60 @@
12 return 0;
13 }
14
15 +static const unsigned long zd1205_rates[] = {
16 + /* RATE_1M, 0 */
17 + 1000000,
18 + /* RATE_2M, 1 */
19 + 2000000,
20 + /* RATE_5M, 2 */
21 + 5500000,
22 + /* RATE_11M, 3 */
23 + 11000000,
24 + /* RATE_6M, 4 */
25 + 600000,
26 + /* RATE_9M, 5 */
27 + 9000000,
28 + /* RATE_12M, 6 */
29 + 12000000,
30 + /* RATE_18M, 7 */
31 + 18000000,
32 + /* RATE_24M, 8 */
33 + 24000000,
34 + /* RATE_36M, 9 */
35 + 36000000,
36 + /* RATE_48M, 10 */
37 + 48000000,
38 + /* RATE_54M, 11 */
39 + 54000000,
40 +};
41 +
42 +#define ZD1205_NRATES ((sizeof(zd1205_rates))/(sizeof(unsigned long)))
43 +
44 static int
45 zd1205_ioctl_setrate(struct net_device *dev, struct iw_param *frq)
46 {
47 - return 0;
48 + struct zd1205_private *macp = dev->priv;
49 + U8 rate;
50 + if(frq->value < 0) {
51 + /* Auto */
52 + macp->bFixedRate = 0;
53 + macp->AdapterMaxRate = RATE_54M;
54 + return 0;
55 + }
56 + for(rate = 0; rate < ZD1205_NRATES; rate++)
57 + if(zd1205_rates[rate] == frq->value) {
58 + zd1205_lock(macp);
59 + macp->bFixedRate = frq->fixed;
60 + if(frq->fixed)
61 + macp->cardSetting.FixedRate = rate;
62 + else {
63 + macp->AdapterMaxRate = rate;
64 + macp->cardSetting.TxRate = rate;
65 + }
66 + zd1205_unlock(macp);
67 + return 0;
68 + }
69 + return -EINVAL;
70 }
71
72 static int
73 @@ -5994,67 +6044,15 @@
74 {
75 struct zd1205_private *macp = dev->priv;
76
77 -
78 frq->fixed = 0;
79 frq->disabled = 0;
80 frq->value = 0;
81
82 - switch(macp->cardSetting.CurrTxRate)
83 - {
84 - case RATE_1M:
85 - frq->value = 1000000;
86 - break;
87 -
88 - case RATE_2M:
89 -
90 - frq->value = 2000000;
91 - break;
92 -
93 - case RATE_5M:
94 - frq->value = 5500000;
95 - break;
96 -
97 - case RATE_11M:
98 - frq->value = 11000000;
99 - break;
100 -
101 - case RATE_6M:
102 - frq->value = 6000000;
103 - break;
104 -
105 - case RATE_9M:
106 - frq->value = 9000000;
107 - break;
108 -
109 - case RATE_12M:
110 - frq->value = 12000000;
111 - break;
112 + if(macp->cardSetting.CurrTxRate > ZD1205_NRATES)
113 + return -EINVAL;
114
115 - case RATE_18M:
116 - frq->value = 18000000;
117 - break;
118 -
119 - case RATE_24M:
120 - frq->value = 24000000;
121 - break;
122 -
123 - case RATE_36M:
124 - frq->value = 36000000;
125 - break;
126 -
127 - case RATE_48M:
128 - frq->value = 48000000;
129 - break;
130 -
131 - case RATE_54M:
132 - frq->value = 54000000;
133 - break;
134 -
135 - default:
136 - return -EINVAL;
137 - }
138 -
139 - return 0;
140 + frq->value = zd1205_rates[macp->cardSetting.CurrTxRate];
141 + return 0;
142 }
143
144 static int
145
146
147
148 * added files
149
150

Properties

Name Value
svn:executable *