diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 6e773018cba0..6b85428b0e1d 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -1339,25 +1339,6 @@ u8 b43_ieee80211_antenna_sanitize(struct b43_wldev *dev, | |||
1339 | return antenna_nr; | 1339 | return antenna_nr; |
1340 | } | 1340 | } |
1341 | 1341 | ||
1342 | static int b43_antenna_from_ieee80211(struct b43_wldev *dev, u8 antenna) | ||
1343 | { | ||
1344 | antenna = b43_ieee80211_antenna_sanitize(dev, antenna); | ||
1345 | switch (antenna) { | ||
1346 | case 0: /* default/diversity */ | ||
1347 | return B43_ANTENNA_DEFAULT; | ||
1348 | case 1: /* Antenna 0 */ | ||
1349 | return B43_ANTENNA0; | ||
1350 | case 2: /* Antenna 1 */ | ||
1351 | return B43_ANTENNA1; | ||
1352 | case 3: /* Antenna 2 */ | ||
1353 | return B43_ANTENNA2; | ||
1354 | case 4: /* Antenna 3 */ | ||
1355 | return B43_ANTENNA3; | ||
1356 | default: | ||
1357 | return B43_ANTENNA_DEFAULT; | ||
1358 | } | ||
1359 | } | ||
1360 | |||
1361 | /* Convert a b43 antenna number value to the PHY TX control value. */ | 1342 | /* Convert a b43 antenna number value to the PHY TX control value. */ |
1362 | static u16 b43_antenna_to_phyctl(int antenna) | 1343 | static u16 b43_antenna_to_phyctl(int antenna) |
1363 | { | 1344 | { |
@@ -1399,7 +1380,7 @@ static void b43_write_beacon_template(struct b43_wldev *dev, | |||
1399 | len, ram_offset, shm_size_offset, rate); | 1380 | len, ram_offset, shm_size_offset, rate); |
1400 | 1381 | ||
1401 | /* Write the PHY TX control parameters. */ | 1382 | /* Write the PHY TX control parameters. */ |
1402 | antenna = b43_antenna_from_ieee80211(dev, info->antenna_sel_tx); | 1383 | antenna = B43_ANTENNA_DEFAULT; |
1403 | antenna = b43_antenna_to_phyctl(antenna); | 1384 | antenna = b43_antenna_to_phyctl(antenna); |
1404 | ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL); | 1385 | ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL); |
1405 | /* We can't send beacons with short preamble. Would get PHY errors. */ | 1386 | /* We can't send beacons with short preamble. Would get PHY errors. */ |
@@ -3399,9 +3380,9 @@ static int b43_op_config(struct ieee80211_hw *hw, struct ieee80211_conf *conf) | |||
3399 | } | 3380 | } |
3400 | 3381 | ||
3401 | /* Antennas for RX and management frame TX. */ | 3382 | /* Antennas for RX and management frame TX. */ |
3402 | antenna = b43_antenna_from_ieee80211(dev, conf->antenna_sel_tx); | 3383 | antenna = B43_ANTENNA_DEFAULT; |
3403 | b43_mgmtframe_txantenna(dev, antenna); | 3384 | b43_mgmtframe_txantenna(dev, antenna); |
3404 | antenna = b43_antenna_from_ieee80211(dev, conf->antenna_sel_rx); | 3385 | antenna = B43_ANTENNA_DEFAULT; |
3405 | if (phy->ops->set_rx_antenna) | 3386 | if (phy->ops->set_rx_antenna) |
3406 | phy->ops->set_rx_antenna(dev, antenna); | 3387 | phy->ops->set_rx_antenna(dev, antenna); |
3407 | 3388 | ||