diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index a140165dfee0..73730e94e0ac 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -533,11 +533,11 @@ u64 b43_hf_read(struct b43_wldev *dev) | |||
533 | { | 533 | { |
534 | u64 ret; | 534 | u64 ret; |
535 | 535 | ||
536 | ret = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTFHI); | 536 | ret = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTF3); |
537 | ret <<= 16; | 537 | ret <<= 16; |
538 | ret |= b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTFMI); | 538 | ret |= b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTF2); |
539 | ret <<= 16; | 539 | ret <<= 16; |
540 | ret |= b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTFLO); | 540 | ret |= b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTF1); |
541 | 541 | ||
542 | return ret; | 542 | return ret; |
543 | } | 543 | } |
@@ -550,9 +550,9 @@ void b43_hf_write(struct b43_wldev *dev, u64 value) | |||
550 | lo = (value & 0x00000000FFFFULL); | 550 | lo = (value & 0x00000000FFFFULL); |
551 | mi = (value & 0x0000FFFF0000ULL) >> 16; | 551 | mi = (value & 0x0000FFFF0000ULL) >> 16; |
552 | hi = (value & 0xFFFF00000000ULL) >> 32; | 552 | hi = (value & 0xFFFF00000000ULL) >> 32; |
553 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTFLO, lo); | 553 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTF1, lo); |
554 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTFMI, mi); | 554 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTF2, mi); |
555 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTFHI, hi); | 555 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_HOSTF3, hi); |
556 | } | 556 | } |
557 | 557 | ||
558 | /* Read the firmware capabilities bitmask (Opensource firmware only) */ | 558 | /* Read the firmware capabilities bitmask (Opensource firmware only) */ |
@@ -3412,7 +3412,8 @@ static void b43_tx_work(struct work_struct *work) | |||
3412 | } | 3412 | } |
3413 | 3413 | ||
3414 | static void b43_op_tx(struct ieee80211_hw *hw, | 3414 | static void b43_op_tx(struct ieee80211_hw *hw, |
3415 | struct sk_buff *skb) | 3415 | struct ieee80211_tx_control *control, |
3416 | struct sk_buff *skb) | ||
3416 | { | 3417 | { |
3417 | struct b43_wl *wl = hw_to_b43_wl(hw); | 3418 | struct b43_wl *wl = hw_to_b43_wl(hw); |
3418 | 3419 | ||
@@ -4282,6 +4283,35 @@ out: | |||
4282 | return err; | 4283 | return err; |
4283 | } | 4284 | } |
4284 | 4285 | ||
4286 | static char *b43_phy_name(struct b43_wldev *dev, u8 phy_type) | ||
4287 | { | ||
4288 | switch (phy_type) { | ||
4289 | case B43_PHYTYPE_A: | ||
4290 | return "A"; | ||
4291 | case B43_PHYTYPE_B: | ||
4292 | return "B"; | ||
4293 | case B43_PHYTYPE_G: | ||
4294 | return "G"; | ||
4295 | case B43_PHYTYPE_N: | ||
4296 | return "N"; | ||
4297 | case B43_PHYTYPE_LP: | ||
4298 | return "LP"; | ||
4299 | case B43_PHYTYPE_SSLPN: | ||
4300 | return "SSLPN"; | ||
4301 | case B43_PHYTYPE_HT: | ||
4302 | return "HT"; | ||
4303 | case B43_PHYTYPE_LCN: | ||
4304 | return "LCN"; | ||
4305 | case B43_PHYTYPE_LCNXN: | ||
4306 | return "LCNXN"; | ||
4307 | case B43_PHYTYPE_LCN40: | ||
4308 | return "LCN40"; | ||
4309 | case B43_PHYTYPE_AC: | ||
4310 | return "AC"; | ||
4311 | } | ||
4312 | return "UNKNOWN"; | ||
4313 | } | ||
4314 | |||
4285 | /* Get PHY and RADIO versioning numbers */ | 4315 | /* Get PHY and RADIO versioning numbers */ |
4286 | static int b43_phy_versioning(struct b43_wldev *dev) | 4316 | static int b43_phy_versioning(struct b43_wldev *dev) |
4287 | { | 4317 | { |
@@ -4342,13 +4372,13 @@ static int b43_phy_versioning(struct b43_wldev *dev) | |||
4342 | unsupported = 1; | 4372 | unsupported = 1; |
4343 | } | 4373 | } |
4344 | if (unsupported) { | 4374 | if (unsupported) { |
4345 | b43err(dev->wl, "FOUND UNSUPPORTED PHY " | 4375 | b43err(dev->wl, "FOUND UNSUPPORTED PHY (Analog %u, Type %d (%s), Revision %u)\n", |
4346 | "(Analog %u, Type %u, Revision %u)\n", | 4376 | analog_type, phy_type, b43_phy_name(dev, phy_type), |
4347 | analog_type, phy_type, phy_rev); | 4377 | phy_rev); |
4348 | return -EOPNOTSUPP; | 4378 | return -EOPNOTSUPP; |
4349 | } | 4379 | } |
4350 | b43dbg(dev->wl, "Found PHY: Analog %u, Type %u, Revision %u\n", | 4380 | b43info(dev->wl, "Found PHY: Analog %u, Type %d (%s), Revision %u\n", |
4351 | analog_type, phy_type, phy_rev); | 4381 | analog_type, phy_type, b43_phy_name(dev, phy_type), phy_rev); |
4352 | 4382 | ||
4353 | /* Get RADIO versioning */ | 4383 | /* Get RADIO versioning */ |
4354 | if (dev->dev->core_rev >= 24) { | 4384 | if (dev->dev->core_rev >= 24) { |