diff options
Diffstat (limited to 'drivers/net/wireless/ath/main.c')
| -rw-r--r-- | drivers/net/wireless/ath/main.c | 33 | 
1 files changed, 32 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c index 487193f1de1..8b0ac14d5c3 100644 --- a/drivers/net/wireless/ath/main.c +++ b/drivers/net/wireless/ath/main.c @@ -14,6 +14,8 @@   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   */ +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +  #include <linux/kernel.h>  #include <linux/module.h> @@ -49,10 +51,39 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,  		if (off != 0)  			skb_reserve(skb, common->cachelsz - off);  	} else { -		printk(KERN_ERR "skbuff alloc of size %u failed\n", len); +		pr_err("skbuff alloc of size %u failed\n", len);  		return NULL;  	}  	return skb;  }  EXPORT_SYMBOL(ath_rxbuf_alloc); + +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr) +{ +	return ieee80211_is_beacon(hdr->frame_control) && +		!is_zero_ether_addr(common->curbssid) && +		ether_addr_equal_64bits(hdr->addr3, common->curbssid); +} +EXPORT_SYMBOL(ath_is_mybeacon); + +void ath_printk(const char *level, const struct ath_common* common, +		const char *fmt, ...) +{ +	struct va_format vaf; +	va_list args; + +	va_start(args, fmt); + +	vaf.fmt = fmt; +	vaf.va = &args; + +	if (common && common->hw && common->hw->wiphy) +		printk("%sath: %s: %pV", +		       level, wiphy_name(common->hw->wiphy), &vaf); +	else +		printk("%sath: %pV", level, &vaf); + +	va_end(args); +} +EXPORT_SYMBOL(ath_printk);  | 
