diff options
author | David S. Miller <davem@davemloft.net> | 2010-02-26 02:26:21 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-26 02:26:21 -0500 |
commit | 19bc291c99f018bd4f2c38bbf69144086dca903f (patch) | |
tree | 9d3cf9bc0c5a78e363dc0547da8bcd1e7c394265 /drivers/net/wireless/wl12xx/wl1271_init.c | |
parent | 04488734806948624dabc4514f96f14cd75b9a50 (diff) | |
parent | 4a6967b88af02eebeedfbb91bc09160750225bb5 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/net/wireless/rt2x00/rt2800pci.c
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_init.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_init.c | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_init.c b/drivers/net/wireless/wl12xx/wl1271_init.c index c9848eecb767..86c30a86a456 100644 --- a/drivers/net/wireless/wl12xx/wl1271_init.c +++ b/drivers/net/wireless/wl12xx/wl1271_init.c | |||
@@ -49,7 +49,7 @@ static int wl1271_init_hwenc_config(struct wl1271 *wl) | |||
49 | return 0; | 49 | return 0; |
50 | } | 50 | } |
51 | 51 | ||
52 | static int wl1271_init_templates_config(struct wl1271 *wl) | 52 | int wl1271_init_templates_config(struct wl1271 *wl) |
53 | { | 53 | { |
54 | int ret; | 54 | int ret; |
55 | 55 | ||
@@ -113,7 +113,7 @@ static int wl1271_init_rx_config(struct wl1271 *wl, u32 config, u32 filter) | |||
113 | return 0; | 113 | return 0; |
114 | } | 114 | } |
115 | 115 | ||
116 | static int wl1271_init_phy_config(struct wl1271 *wl) | 116 | int wl1271_init_phy_config(struct wl1271 *wl) |
117 | { | 117 | { |
118 | int ret; | 118 | int ret; |
119 | 119 | ||
@@ -156,7 +156,7 @@ static int wl1271_init_beacon_filter(struct wl1271 *wl) | |||
156 | return 0; | 156 | return 0; |
157 | } | 157 | } |
158 | 158 | ||
159 | static int wl1271_init_pta(struct wl1271 *wl) | 159 | int wl1271_init_pta(struct wl1271 *wl) |
160 | { | 160 | { |
161 | int ret; | 161 | int ret; |
162 | 162 | ||
@@ -171,7 +171,7 @@ static int wl1271_init_pta(struct wl1271 *wl) | |||
171 | return 0; | 171 | return 0; |
172 | } | 172 | } |
173 | 173 | ||
174 | static int wl1271_init_energy_detection(struct wl1271 *wl) | 174 | int wl1271_init_energy_detection(struct wl1271 *wl) |
175 | { | 175 | { |
176 | int ret; | 176 | int ret; |
177 | 177 | ||
@@ -195,7 +195,9 @@ static int wl1271_init_beacon_broadcast(struct wl1271 *wl) | |||
195 | 195 | ||
196 | int wl1271_hw_init(struct wl1271 *wl) | 196 | int wl1271_hw_init(struct wl1271 *wl) |
197 | { | 197 | { |
198 | int ret; | 198 | struct conf_tx_ac_category *conf_ac; |
199 | struct conf_tx_tid *conf_tid; | ||
200 | int ret, i; | ||
199 | 201 | ||
200 | ret = wl1271_cmd_general_parms(wl); | 202 | ret = wl1271_cmd_general_parms(wl); |
201 | if (ret < 0) | 203 | if (ret < 0) |
@@ -274,14 +276,28 @@ int wl1271_hw_init(struct wl1271 *wl) | |||
274 | goto out_free_memmap; | 276 | goto out_free_memmap; |
275 | 277 | ||
276 | /* Default TID configuration */ | 278 | /* Default TID configuration */ |
277 | ret = wl1271_acx_tid_cfg(wl); | 279 | for (i = 0; i < wl->conf.tx.tid_conf_count; i++) { |
278 | if (ret < 0) | 280 | conf_tid = &wl->conf.tx.tid_conf[i]; |
279 | goto out_free_memmap; | 281 | ret = wl1271_acx_tid_cfg(wl, conf_tid->queue_id, |
282 | conf_tid->channel_type, | ||
283 | conf_tid->tsid, | ||
284 | conf_tid->ps_scheme, | ||
285 | conf_tid->ack_policy, | ||
286 | conf_tid->apsd_conf[0], | ||
287 | conf_tid->apsd_conf[1]); | ||
288 | if (ret < 0) | ||
289 | goto out_free_memmap; | ||
290 | } | ||
280 | 291 | ||
281 | /* Default AC configuration */ | 292 | /* Default AC configuration */ |
282 | ret = wl1271_acx_ac_cfg(wl); | 293 | for (i = 0; i < wl->conf.tx.ac_conf_count; i++) { |
283 | if (ret < 0) | 294 | conf_ac = &wl->conf.tx.ac_conf[i]; |
284 | goto out_free_memmap; | 295 | ret = wl1271_acx_ac_cfg(wl, conf_ac->ac, conf_ac->cw_min, |
296 | conf_ac->cw_max, conf_ac->aifsn, | ||
297 | conf_ac->tx_op_limit); | ||
298 | if (ret < 0) | ||
299 | goto out_free_memmap; | ||
300 | } | ||
285 | 301 | ||
286 | /* Configure TX rate classes */ | 302 | /* Configure TX rate classes */ |
287 | ret = wl1271_acx_rate_policies(wl); | 303 | ret = wl1271_acx_rate_policies(wl); |