]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/wireless/b43/main.c
Merge tag 'wireless-drivers-next-for-davem-2015-06-18' of git://git.kernel.org/pub...
[karo-tx-linux.git] / drivers / net / wireless / b43 / main.c
index b2f9521fe551a3e32bc85db602bd41a94e2b81ca..28490702124a0da53bb2834f1ca880a452d6523b 100644 (file)
@@ -3131,8 +3131,6 @@ static void b43_adjust_opmode(struct b43_wldev *dev)
                ctl |= B43_MACCTL_KEEP_BAD;
        if (wl->filter_flags & FIF_PLCPFAIL)
                ctl |= B43_MACCTL_KEEP_BADPLCP;
-       if (wl->filter_flags & FIF_PROMISC_IN_BSS)
-               ctl |= B43_MACCTL_PROMISC;
        if (wl->filter_flags & FIF_BCN_PRBRESP_PROMISC)
                ctl |= B43_MACCTL_BEACPROMISC;
 
@@ -4310,16 +4308,14 @@ static void b43_op_configure_filter(struct ieee80211_hw *hw,
                goto out_unlock;
        }
 
-       *fflags &= FIF_PROMISC_IN_BSS |
-                 FIF_ALLMULTI |
+       *fflags &= FIF_ALLMULTI |
                  FIF_FCSFAIL |
                  FIF_PLCPFAIL |
                  FIF_CONTROL |
                  FIF_OTHER_BSS |
                  FIF_BCN_PRBRESP_PROMISC;
 
-       changed &= FIF_PROMISC_IN_BSS |
-                  FIF_ALLMULTI |
+       changed &= FIF_ALLMULTI |
                   FIF_FCSFAIL |
                   FIF_PLCPFAIL |
                   FIF_CONTROL |
@@ -5365,6 +5361,10 @@ static void b43_supported_bands(struct b43_wldev *dev, bool *have_2ghz_phy,
                *have_5ghz_phy = true;
                return;
        case 0x4321: /* BCM4306 */
+               /* There are 14e4:4321 PCI devs with 2.4 GHz BCM4321 (N-PHY) */
+               if (dev->phy.type != B43_PHYTYPE_G)
+                       break;
+               /* fall through */
        case 0x4313: /* BCM4311 */
        case 0x431a: /* BCM4318 */
        case 0x432a: /* BCM4321 */
@@ -5609,8 +5609,8 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
        wl = hw_to_b43_wl(hw);
 
        /* fill hw info */
-       hw->flags = IEEE80211_HW_RX_INCLUDES_FCS |
-                   IEEE80211_HW_SIGNAL_DBM;
+       ieee80211_hw_set(hw, RX_INCLUDES_FCS);
+       ieee80211_hw_set(hw, SIGNAL_DBM);
 
        hw->wiphy->interface_modes =
                BIT(NL80211_IFTYPE_AP) |