* [PATCH 1/5] ath: add common function ath_is_mybeacon
@ 2014-01-15 16:07 ` Oleksij Rempel
0 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-15 16:07 UTC (permalink / raw)
To: linux-wireless, ath9k-devel, ath5k-devel; +Cc: Oleksij Rempel
this function is used by most ath driver, so it can be moved here.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
drivers/net/wireless/ath/ath.h | 2 ++
drivers/net/wireless/ath/main.c | 11 +++++++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index e0ba7cd..b59cfbe 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -17,6 +17,7 @@
#ifndef ATH_H
#define ATH_H
+#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_ether.h>
#include <linux/spinlock.h>
@@ -165,6 +166,7 @@ struct ath_common {
struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
u32 len,
gfp_t gfp_mask);
+bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr);
void ath_hw_setbssidmask(struct ath_common *common);
void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
index 8e99540..9cb15d9 100644
--- a/drivers/net/wireless/ath/main.c
+++ b/drivers/net/wireless/ath/main.c
@@ -59,6 +59,17 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
}
EXPORT_SYMBOL(ath_rxbuf_alloc);
+bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr)
+{
+ if (ieee80211_is_beacon(hdr->frame_control) &&
+ !is_zero_ether_addr(common->curbssid) &&
+ ether_addr_equal_64bits(hdr->addr3, common->curbssid))
+ return true;
+
+ return false;
+}
+EXPORT_SYMBOL(ath_is_mybeacon);
+
void ath_printk(const char *level, const struct ath_common* common,
const char *fmt, ...)
{
--
1.8.5.2
^ permalink raw reply related [flat|nested] 18+ messages in thread* [ath9k-devel] [PATCH 1/5] ath: add common function ath_is_mybeacon
2014-01-15 16:07 ` Oleksij Rempel
@ 2014-01-15 16:10 ` Antonio Quartulli
-1 siblings, 0 replies; 18+ messages in thread
From: Antonio Quartulli @ 2014-01-15 16:10 UTC (permalink / raw)
To: ath9k-devel
On 15/01/14 17:07, Oleksij Rempel wrote:
> this function is used by most ath driver, so it can be moved here.
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> drivers/net/wireless/ath/ath.h | 2 ++
> drivers/net/wireless/ath/main.c | 11 +++++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index e0ba7cd..b59cfbe 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -17,6 +17,7 @@
> #ifndef ATH_H
> #define ATH_H
>
> +#include <linux/etherdevice.h>
> #include <linux/skbuff.h>
> #include <linux/if_ether.h>
> #include <linux/spinlock.h>
> @@ -165,6 +166,7 @@ struct ath_common {
> struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
> u32 len,
> gfp_t gfp_mask);
> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr);
>
> void ath_hw_setbssidmask(struct ath_common *common);
> void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
> diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
> index 8e99540..9cb15d9 100644
> --- a/drivers/net/wireless/ath/main.c
> +++ b/drivers/net/wireless/ath/main.c
> @@ -59,6 +59,17 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
> }
> EXPORT_SYMBOL(ath_rxbuf_alloc);
>
> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr)
> +{
> + if (ieee80211_is_beacon(hdr->frame_control) &&
> + !is_zero_ether_addr(common->curbssid) &&
> + ether_addr_equal_64bits(hdr->addr3, common->curbssid))
> + return true;
> +
Apart from the fact that the expression in the if guard is badly
indented, couldn't you just return the value of that expression and
remove the if at all?
Cheers,
> + return false;
> +}
> +EXPORT_SYMBOL(ath_is_mybeacon);
> +
> void ath_printk(const char *level, const struct ath_common* common,
> const char *fmt, ...)
> {
>
--
Antonio Quartulli
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20140115/a9b04d4a/attachment-0001.pgp
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH 1/5] ath: add common function ath_is_mybeacon
@ 2014-01-15 16:10 ` Antonio Quartulli
0 siblings, 0 replies; 18+ messages in thread
From: Antonio Quartulli @ 2014-01-15 16:10 UTC (permalink / raw)
To: Oleksij Rempel, linux-wireless, ath9k-devel, ath5k-devel
[-- Attachment #1: Type: text/plain, Size: 2053 bytes --]
On 15/01/14 17:07, Oleksij Rempel wrote:
> this function is used by most ath driver, so it can be moved here.
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> drivers/net/wireless/ath/ath.h | 2 ++
> drivers/net/wireless/ath/main.c | 11 +++++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index e0ba7cd..b59cfbe 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -17,6 +17,7 @@
> #ifndef ATH_H
> #define ATH_H
>
> +#include <linux/etherdevice.h>
> #include <linux/skbuff.h>
> #include <linux/if_ether.h>
> #include <linux/spinlock.h>
> @@ -165,6 +166,7 @@ struct ath_common {
> struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
> u32 len,
> gfp_t gfp_mask);
> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr);
>
> void ath_hw_setbssidmask(struct ath_common *common);
> void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
> diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
> index 8e99540..9cb15d9 100644
> --- a/drivers/net/wireless/ath/main.c
> +++ b/drivers/net/wireless/ath/main.c
> @@ -59,6 +59,17 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
> }
> EXPORT_SYMBOL(ath_rxbuf_alloc);
>
> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr)
> +{
> + if (ieee80211_is_beacon(hdr->frame_control) &&
> + !is_zero_ether_addr(common->curbssid) &&
> + ether_addr_equal_64bits(hdr->addr3, common->curbssid))
> + return true;
> +
Apart from the fact that the expression in the if guard is badly
indented, couldn't you just return the value of that expression and
remove the if at all?
Cheers,
> + return false;
> +}
> +EXPORT_SYMBOL(ath_is_mybeacon);
> +
> void ath_printk(const char *level, const struct ath_common* common,
> const char *fmt, ...)
> {
>
--
Antonio Quartulli
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread* [ath9k-devel] [PATCH 1/5] ath: add common function ath_is_mybeacon
2014-01-15 16:10 ` Antonio Quartulli
@ 2014-01-15 16:16 ` Oleksij Rempel
-1 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-15 16:16 UTC (permalink / raw)
To: ath9k-devel
Am 15.01.2014 17:10, schrieb Antonio Quartulli:
> On 15/01/14 17:07, Oleksij Rempel wrote:
>> this function is used by most ath driver, so it can be moved here.
>>
>> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
>> ---
>> drivers/net/wireless/ath/ath.h | 2 ++
>> drivers/net/wireless/ath/main.c | 11 +++++++++++
>> 2 files changed, 13 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
>> index e0ba7cd..b59cfbe 100644
>> --- a/drivers/net/wireless/ath/ath.h
>> +++ b/drivers/net/wireless/ath/ath.h
>> @@ -17,6 +17,7 @@
>> #ifndef ATH_H
>> #define ATH_H
>>
>> +#include <linux/etherdevice.h>
>> #include <linux/skbuff.h>
>> #include <linux/if_ether.h>
>> #include <linux/spinlock.h>
>> @@ -165,6 +166,7 @@ struct ath_common {
>> struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
>> u32 len,
>> gfp_t gfp_mask);
>> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr);
>>
>> void ath_hw_setbssidmask(struct ath_common *common);
>> void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
>> diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
>> index 8e99540..9cb15d9 100644
>> --- a/drivers/net/wireless/ath/main.c
>> +++ b/drivers/net/wireless/ath/main.c
>> @@ -59,6 +59,17 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
>> }
>> EXPORT_SYMBOL(ath_rxbuf_alloc);
>>
>> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr)
>> +{
>> + if (ieee80211_is_beacon(hdr->frame_control) &&
>> + !is_zero_ether_addr(common->curbssid) &&
>> + ether_addr_equal_64bits(hdr->addr3, common->curbssid))
>> + return true;
>> +
>
> Apart from the fact that the expression in the if guard is badly
> indented, couldn't you just return the value of that expression and
> remove the if at all?
Good point, thank you!
--
Regards,
Oleksij
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH 1/5] ath: add common function ath_is_mybeacon
@ 2014-01-15 16:16 ` Oleksij Rempel
0 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-15 16:16 UTC (permalink / raw)
To: Antonio Quartulli, linux-wireless, ath9k-devel, ath5k-devel
Am 15.01.2014 17:10, schrieb Antonio Quartulli:
> On 15/01/14 17:07, Oleksij Rempel wrote:
>> this function is used by most ath driver, so it can be moved here.
>>
>> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
>> ---
>> drivers/net/wireless/ath/ath.h | 2 ++
>> drivers/net/wireless/ath/main.c | 11 +++++++++++
>> 2 files changed, 13 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
>> index e0ba7cd..b59cfbe 100644
>> --- a/drivers/net/wireless/ath/ath.h
>> +++ b/drivers/net/wireless/ath/ath.h
>> @@ -17,6 +17,7 @@
>> #ifndef ATH_H
>> #define ATH_H
>>
>> +#include <linux/etherdevice.h>
>> #include <linux/skbuff.h>
>> #include <linux/if_ether.h>
>> #include <linux/spinlock.h>
>> @@ -165,6 +166,7 @@ struct ath_common {
>> struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
>> u32 len,
>> gfp_t gfp_mask);
>> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr);
>>
>> void ath_hw_setbssidmask(struct ath_common *common);
>> void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
>> diff --git a/drivers/net/wireless/ath/main.c b/drivers/net/wireless/ath/main.c
>> index 8e99540..9cb15d9 100644
>> --- a/drivers/net/wireless/ath/main.c
>> +++ b/drivers/net/wireless/ath/main.c
>> @@ -59,6 +59,17 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
>> }
>> EXPORT_SYMBOL(ath_rxbuf_alloc);
>>
>> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr)
>> +{
>> + if (ieee80211_is_beacon(hdr->frame_control) &&
>> + !is_zero_ether_addr(common->curbssid) &&
>> + ether_addr_equal_64bits(hdr->addr3, common->curbssid))
>> + return true;
>> +
>
> Apart from the fact that the expression in the if guard is badly
> indented, couldn't you just return the value of that expression and
> remove the if at all?
Good point, thank you!
--
Regards,
Oleksij
^ permalink raw reply [flat|nested] 18+ messages in thread
* [ath9k-devel] [PATCH 1/5] ath: add common function ath_is_mybeacon
2014-01-15 16:07 ` Oleksij Rempel
@ 2014-01-16 15:44 ` Kalle Valo
-1 siblings, 0 replies; 18+ messages in thread
From: Kalle Valo @ 2014-01-16 15:44 UTC (permalink / raw)
To: ath9k-devel
Oleksij Rempel <linux@rempel-privat.de> writes:
> +bool ath_is_mybeacon(struct ath_common *common, struct ieee80211_hdr *hdr)
Would a static inline be better? At least on ath9k I suspect the
compiler automatically inlines the static function, after your patch
there's an extra function call.
--
Kalle Valo
^ permalink raw reply [flat|nested] 18+ messages in thread
* [ath9k-devel] [PATCH v3 1/5] ath: add common function ath_is_mybeacon
2014-01-15 16:07 ` Oleksij Rempel
@ 2014-01-17 23:27 ` Oleksij Rempel
-1 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-17 23:27 UTC (permalink / raw)
To: ath9k-devel
this function is used by most ath driver, so it can be moved here.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
drivers/net/wireless/ath/ath.h | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index e0ba7cd..ab6a0c8 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -17,6 +17,7 @@
#ifndef ATH_H
#define ATH_H
+#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_ether.h>
#include <linux/spinlock.h>
@@ -162,10 +163,17 @@ struct ath_common {
bool bt_ant_diversity;
};
+static inline 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);
+}
+
struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
u32 len,
gfp_t gfp_mask);
-
void ath_hw_setbssidmask(struct ath_common *common);
void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
int ath_key_config(struct ath_common *common,
--
1.8.5.2
^ permalink raw reply related [flat|nested] 18+ messages in thread* [PATCH v3 1/5] ath: add common function ath_is_mybeacon
@ 2014-01-17 23:27 ` Oleksij Rempel
0 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-17 23:27 UTC (permalink / raw)
To: linux-wireless, ath9k-devel, ath5k-devel; +Cc: Oleksij Rempel
this function is used by most ath driver, so it can be moved here.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
---
drivers/net/wireless/ath/ath.h | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index e0ba7cd..ab6a0c8 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -17,6 +17,7 @@
#ifndef ATH_H
#define ATH_H
+#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_ether.h>
#include <linux/spinlock.h>
@@ -162,10 +163,17 @@ struct ath_common {
bool bt_ant_diversity;
};
+static inline 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);
+}
+
struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
u32 len,
gfp_t gfp_mask);
-
void ath_hw_setbssidmask(struct ath_common *common);
void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf *key);
int ath_key_config(struct ath_common *common,
--
1.8.5.2
^ permalink raw reply related [flat|nested] 18+ messages in thread* [ath9k-devel] [PATCH v3 1/5] ath: add common function ath_is_mybeacon
2014-01-17 23:27 ` Oleksij Rempel
@ 2014-01-17 23:30 ` Oleksij Rempel
-1 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-17 23:30 UTC (permalink / raw)
To: ath9k-devel
Am 18.01.2014 00:27, schrieb Oleksij Rempel:
> this function is used by most ath driver, so it can be moved here.
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> drivers/net/wireless/ath/ath.h | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index e0ba7cd..ab6a0c8 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -17,6 +17,7 @@
> #ifndef ATH_H
> #define ATH_H
>
> +#include <linux/etherdevice.h>
> #include <linux/skbuff.h>
> #include <linux/if_ether.h>
> #include <linux/spinlock.h>
> @@ -162,10 +163,17 @@ struct ath_common {
> bool bt_ant_diversity;
> };
>
> +static inline 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);
> +}
> +
> struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
> u32 len,
If there is no more comments, i'll resend tomorrow this patch set to
Linville.
--
Regards,
Oleksij
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 295 bytes
Desc: OpenPGP digital signature
Url : http://lists.ath9k.org/pipermail/ath9k-devel/attachments/20140118/51402c7f/attachment.pgp
^ permalink raw reply [flat|nested] 18+ messages in thread* Re: [PATCH v3 1/5] ath: add common function ath_is_mybeacon
@ 2014-01-17 23:30 ` Oleksij Rempel
0 siblings, 0 replies; 18+ messages in thread
From: Oleksij Rempel @ 2014-01-17 23:30 UTC (permalink / raw)
To: linux-wireless, ath9k-devel, ath5k-devel; +Cc: kvalo, antonio
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]
Am 18.01.2014 00:27, schrieb Oleksij Rempel:
> this function is used by most ath driver, so it can be moved here.
>
> Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> ---
> drivers/net/wireless/ath/ath.h | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
> index e0ba7cd..ab6a0c8 100644
> --- a/drivers/net/wireless/ath/ath.h
> +++ b/drivers/net/wireless/ath/ath.h
> @@ -17,6 +17,7 @@
> #ifndef ATH_H
> #define ATH_H
>
> +#include <linux/etherdevice.h>
> #include <linux/skbuff.h>
> #include <linux/if_ether.h>
> #include <linux/spinlock.h>
> @@ -162,10 +163,17 @@ struct ath_common {
> bool bt_ant_diversity;
> };
>
> +static inline 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);
> +}
> +
> struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
> u32 len,
If there is no more comments, i'll resend tomorrow this patch set to
Linville.
--
Regards,
Oleksij
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 295 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread