Contents of /trunk/zydas/patches/zd1211-driver-r32-iw-rate.patch
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 3622 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months 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 | * |