Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53438e5d authored by David S. Miller's avatar David S. Miller
Browse files
parents 1f305323 92468c53
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -115,8 +115,16 @@ extern u32 ieee80211_debug_level;
do { if (ieee80211_debug_level & (level)) \
do { if (ieee80211_debug_level & (level)) \
  printk(KERN_DEBUG "ieee80211: %c %s " fmt, \
  printk(KERN_DEBUG "ieee80211: %c %s " fmt, \
         in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
         in_interrupt() ? 'I' : 'U', __FUNCTION__ , ## args); } while (0)
static inline bool ieee80211_ratelimit_debug(u32 level)
{
	return (ieee80211_debug_level & level) && net_ratelimit();
}
#else
#else
#define IEEE80211_DEBUG(level, fmt, args...) do {} while (0)
#define IEEE80211_DEBUG(level, fmt, args...) do {} while (0)
static inline bool ieee80211_ratelimit_debug(u32 level)
{
	return false;
}
#endif				/* CONFIG_IEEE80211_DEBUG */
#endif				/* CONFIG_IEEE80211_DEBUG */


/* escape_essid() is intended to be used in debug (and possibly error)
/* escape_essid() is intended to be used in debug (and possibly error)
+1 −1
Original line number Original line Diff line number Diff line
@@ -338,7 +338,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
	pos += 8;
	pos += 8;


	if (ccmp_replay_check(pn, key->rx_pn)) {
	if (ccmp_replay_check(pn, key->rx_pn)) {
		if (net_ratelimit()) {
		if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
			IEEE80211_DEBUG_DROP("CCMP: replay detected: STA=%s "
			IEEE80211_DEBUG_DROP("CCMP: replay detected: STA=%s "
				 "previous PN %02x%02x%02x%02x%02x%02x "
				 "previous PN %02x%02x%02x%02x%02x%02x "
				 "received PN %02x%02x%02x%02x%02x%02x\n",
				 "received PN %02x%02x%02x%02x%02x%02x\n",
+2 −2
Original line number Original line Diff line number Diff line
@@ -464,7 +464,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
	pos += 8;
	pos += 8;


	if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
	if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
		if (net_ratelimit()) {
		if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
			IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%s"
			IEEE80211_DEBUG_DROP("TKIP: replay detected: STA=%s"
			       " previous TSC %08x%04x received TSC "
			       " previous TSC %08x%04x received TSC "
			       "%08x%04x\n", print_mac(mac, hdr->addr2),
			       "%08x%04x\n", print_mac(mac, hdr->addr2),
@@ -504,7 +504,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
			 * it needs to be recalculated for the next packet. */
			 * it needs to be recalculated for the next packet. */
			tkey->rx_phase1_done = 0;
			tkey->rx_phase1_done = 0;
		}
		}
		if (net_ratelimit()) {
		if (ieee80211_ratelimit_debug(IEEE80211_DL_DROP)) {
			IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA="
			IEEE80211_DEBUG_DROP("TKIP: ICV error detected: STA="
			       "%s\n", print_mac(mac, hdr->addr2));
			       "%s\n", print_mac(mac, hdr->addr2));
		}
		}
+25 −2
Original line number Original line Diff line number Diff line
@@ -267,6 +267,17 @@ static int ieee80211_open(struct net_device *dev)
		tasklet_enable(&local->tasklet);
		tasklet_enable(&local->tasklet);
	}
	}


	/*
	 * set_multicast_list will be invoked by the networking core
	 * which will check whether any increments here were done in
	 * error and sync them down to the hardware as filter flags.
	 */
	if (sdata->flags & IEEE80211_SDATA_ALLMULTI)
		atomic_inc(&local->iff_allmultis);

	if (sdata->flags & IEEE80211_SDATA_PROMISC)
		atomic_inc(&local->iff_promiscs);

	local->open_count++;
	local->open_count++;


	netif_start_queue(dev);
	netif_start_queue(dev);
@@ -284,6 +295,18 @@ static int ieee80211_stop(struct net_device *dev)


	netif_stop_queue(dev);
	netif_stop_queue(dev);


	/*
	 * Don't count this interface for promisc/allmulti while it
	 * is down. dev_mc_unsync() will invoke set_multicast_list
	 * on the master interface which will sync these down to the
	 * hardware as filter flags.
	 */
	if (sdata->flags & IEEE80211_SDATA_ALLMULTI)
		atomic_dec(&local->iff_allmultis);

	if (sdata->flags & IEEE80211_SDATA_PROMISC)
		atomic_dec(&local->iff_promiscs);

	dev_mc_unsync(local->mdev, dev);
	dev_mc_unsync(local->mdev, dev);


	/* down all dependent devices, that is VLANs */
	/* down all dependent devices, that is VLANs */
@@ -366,8 +389,8 @@ static void ieee80211_set_multicast_list(struct net_device *dev)


	allmulti = !!(dev->flags & IFF_ALLMULTI);
	allmulti = !!(dev->flags & IFF_ALLMULTI);
	promisc = !!(dev->flags & IFF_PROMISC);
	promisc = !!(dev->flags & IFF_PROMISC);
	sdata_allmulti = sdata->flags & IEEE80211_SDATA_ALLMULTI;
	sdata_allmulti = !!(sdata->flags & IEEE80211_SDATA_ALLMULTI);
	sdata_promisc = sdata->flags & IEEE80211_SDATA_PROMISC;
	sdata_promisc = !!(sdata->flags & IEEE80211_SDATA_PROMISC);


	if (allmulti != sdata_allmulti) {
	if (allmulti != sdata_allmulti) {
		if (dev->flags & IFF_ALLMULTI)
		if (dev->flags & IFF_ALLMULTI)
+1 −1

File changed.

Contains only whitespace changes.