carl9170: use ath_is_mybeacon
authorOleksij Rempel <linux@rempel-privat.de>
Wed, 15 Jan 2014 16:11:39 +0000 (17:11 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 16 Jan 2014 19:55:45 +0000 (14:55 -0500)
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/carl9170/rx.c

index 1b1b207..536bc46 100644 (file)
@@ -519,6 +519,7 @@ static void carl9170_ps_beacon(struct ar9170 *ar, void *data, unsigned int len)
 {
        struct ieee80211_hdr *hdr = data;
        struct ieee80211_tim_ie *tim_ie;
+       struct ath_common *common = &ar->common;
        u8 *tim;
        u8 tim_len;
        bool cam;
@@ -526,17 +527,13 @@ static void carl9170_ps_beacon(struct ar9170 *ar, void *data, unsigned int len)
        if (likely(!(ar->hw->conf.flags & IEEE80211_CONF_PS)))
                return;
 
-       /* check if this really is a beacon */
-       if (!ieee80211_is_beacon(hdr->frame_control))
-               return;
-
        /* min. beacon length + FCS_LEN */
        if (len <= 40 + FCS_LEN)
                return;
 
+       /* check if this really is a beacon */
        /* and only beacons from the associated BSSID, please */
-       if (!ether_addr_equal_64bits(hdr->addr3, ar->common.curbssid) ||
-           !ar->common.curaid)
+       if (!ath_is_mybeacon(common, hdr) || !common->curaid)
                return;
 
        ar->ps.last_beacon = jiffies;