diff mbox series

[1/2] ath11k: mac: fix too long line

Message ID 20220503060415.24499-1-kvalo@kernel.org (mailing list archive)
State Accepted
Commit 80c5075f39996dc75ee8bb7748c4805ffea0e2fb
Delegated to: Kalle Valo
Headers show
Series [1/2] ath11k: mac: fix too long line | expand

Commit Message

Kalle Valo May 3, 2022, 6:04 a.m. UTC
From: Kalle Valo <quic_kvalo@quicinc.com>

checkpatch warns:

drivers/net/wireless/ath/ath11k/mac.c:7760: line length of 91 exceeds 90 columns

This was introduced by commit 046d2e7c50e3 ("mac80211: prepare sta handling for
MLO support").

Compile tested only.

Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
---
 drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)


base-commit: f39af96d352dd4f36a4a43601ea90561e17e5ca6

Comments

Jeff Johnson May 3, 2022, 3:17 p.m. UTC | #1
On 5/2/2022 11:04 PM, Kalle Valo wrote:
> From: Kalle Valo <quic_kvalo@quicinc.com>
> 
> checkpatch warns:
> 
> drivers/net/wireless/ath/ath11k/mac.c:7760: line length of 91 exceeds 90 columns
> 
> This was introduced by commit 046d2e7c50e3 ("mac80211: prepare sta handling for
> MLO support").
> 
> Compile tested only.
> 
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
> ---
>   drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++++----
>   1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
> index c76cac5d6849..32fb0142124d 100644
> --- a/drivers/net/wireless/ath/ath11k/mac.c
> +++ b/drivers/net/wireless/ath/ath11k/mac.c
> @@ -7735,6 +7735,7 @@ ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b
>   	bool he_fixed_rate = false, vht_fixed_rate = false;
>   	struct ath11k_peer *peer, *tmp;
>   	const u16 *vht_mcs_mask, *he_mcs_mask;
> +	struct ieee80211_link_sta *deflink;
>   	u8 vht_nss, he_nss;
>   	bool ret = true;
>   
> @@ -7757,13 +7758,16 @@ ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b
>   	spin_lock_bh(&ar->ab->base_lock);
>   	list_for_each_entry_safe(peer, tmp, &ar->ab->peers, list) {
>   		if (peer->sta) {
> -			if (vht_fixed_rate && (!peer->sta->deflink.vht_cap.vht_supported ||
> -					       peer->sta->deflink.rx_nss < vht_nss)) {
> +			deflink = &peer->sta->deflink;


is there a reason to not declare deflink here?
then its scope of definition would equal the scope of usage


> +
> +			if (vht_fixed_rate && (!deflink->vht_cap.vht_supported ||
> +					       deflink->rx_nss < vht_nss)) {
>   				ret = false;
>   				goto out;
>   			}
> -			if (he_fixed_rate && (!peer->sta->deflink.he_cap.has_he ||
> -					      peer->sta->deflink.rx_nss < he_nss)) {
> +
> +			if (he_fixed_rate && (!deflink->he_cap.has_he ||
> +					      deflink->rx_nss < he_nss)) {
>   				ret = false;
>   				goto out;
>   			}
> 
> base-commit: f39af96d352dd4f36a4a43601ea90561e17e5ca6
Kalle Valo May 4, 2022, 5:58 a.m. UTC | #2
Jeff Johnson <quic_jjohnson@quicinc.com> writes:

> On 5/2/2022 11:04 PM, Kalle Valo wrote:
>> From: Kalle Valo <quic_kvalo@quicinc.com>
>>
>> checkpatch warns:
>>
>> drivers/net/wireless/ath/ath11k/mac.c:7760: line length of 91 exceeds 90 columns
>>
>> This was introduced by commit 046d2e7c50e3 ("mac80211: prepare sta handling for
>> MLO support").
>>
>> Compile tested only.
>>
>> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
>> ---
>>   drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++++----
>>   1 file changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
>> index c76cac5d6849..32fb0142124d 100644
>> --- a/drivers/net/wireless/ath/ath11k/mac.c
>> +++ b/drivers/net/wireless/ath/ath11k/mac.c
>> @@ -7735,6 +7735,7 @@ ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b
>>   	bool he_fixed_rate = false, vht_fixed_rate = false;
>>   	struct ath11k_peer *peer, *tmp;
>>   	const u16 *vht_mcs_mask, *he_mcs_mask;
>> +	struct ieee80211_link_sta *deflink;
>>   	u8 vht_nss, he_nss;
>>   	bool ret = true;
>>   @@ -7757,13 +7758,16 @@
>> ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar,
>> enum nl80211_b
>>   	spin_lock_bh(&ar->ab->base_lock);
>>   	list_for_each_entry_safe(peer, tmp, &ar->ab->peers, list) {
>>   		if (peer->sta) {
>> -			if (vht_fixed_rate && (!peer->sta->deflink.vht_cap.vht_supported ||
>> -					       peer->sta->deflink.rx_nss < vht_nss)) {
>> +			deflink = &peer->sta->deflink;
>
>
> is there a reason to not declare deflink here?
> then its scope of definition would equal the scope of usage

In ath10k and ath11k I have tried to avoid that and instead declare all
variables in the beginning of the function, this is to keep the code
simple. Of course there are few cases where a variable is declared in
the middle of the function, but that's just sloppy review on my part. I
feel that it's better to refactor the function into smaller functions
than start declaring variables in the middle of functions. Does that
make sense?
Jeff Johnson May 4, 2022, 4:30 p.m. UTC | #3
On 5/3/2022 10:58 PM, Kalle Valo wrote:
> Jeff Johnson <quic_jjohnson@quicinc.com> writes:
pe>> is there a reason to not declare deflink here?
>> then its scope of definition would equal the scope of usage
> 
> In ath10k and ath11k I have tried to avoid that and instead declare all
> variables in the beginning of the function, this is to keep the code
> simple. Of course there are few cases where a variable is declared in
> the middle of the function, but that's just sloppy review on my part. I
> feel that it's better to refactor the function into smaller functions
> than start declaring variables in the middle of functions. Does that
> make sense?
> 

This is really an academic question.

In the larger kernel community I'm seeing a push to reduce the scope of 
identifiers in some cases:
1) declaring loop control variables within the actual loop control operation
2) prohibiting the access to list iterators outside the list iteration loop

 From a software engineering perspective limiting scope can prevent some 
coding errors by preventing new code from being introduced which tries 
to access an identifier which has not been initialized.

To that end, I fully support the guidance to refactor into small 
functions where variable scope is not an issue.

Also consistency is extremely important, so I totally embrace having a 
consistent approach.

/jeff
Kalle Valo May 6, 2022, 6:17 a.m. UTC | #4
Kalle Valo <kvalo@kernel.org> wrote:

> checkpatch warns:
> 
> drivers/net/wireless/ath/ath11k/mac.c:7760: line length of 91 exceeds 90 columns
> 
> This was introduced by commit 046d2e7c50e3 ("mac80211: prepare sta handling for
> MLO support").
> 
> Compile tested only.
> 
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

2 patches applied to ath-next branch of ath.git, thanks.

80c5075f3999 ath11k: mac: fix too long line
d9e441855c64 ath10k: mac: fix too long lines
Kalle Valo May 6, 2022, 9:04 a.m. UTC | #5
Jeff Johnson <quic_jjohnson@quicinc.com> writes:

> On 5/3/2022 10:58 PM, Kalle Valo wrote:
>> Jeff Johnson <quic_jjohnson@quicinc.com> writes:
> pe>> is there a reason to not declare deflink here?
>>> then its scope of definition would equal the scope of usage
>>
>> In ath10k and ath11k I have tried to avoid that and instead declare all
>> variables in the beginning of the function, this is to keep the code
>> simple. Of course there are few cases where a variable is declared in
>> the middle of the function, but that's just sloppy review on my part. I
>> feel that it's better to refactor the function into smaller functions
>> than start declaring variables in the middle of functions. Does that
>> make sense?
>>
>
> This is really an academic question.
>
> In the larger kernel community I'm seeing a push to reduce the scope
> of identifiers in some cases:
> 1) declaring loop control variables within the actual loop control operation
> 2) prohibiting the access to list iterators outside the list iteration loop

Yeah, those are definitely good examples when to limit scope.

And of course this isn't a hard rule, in some cases we have to make
exceptions. For example ath11k_mac_op_bss_info_changed() and
ath11k_mac_op_sta_state() are long functions but trying to split them to
smaller functions most likely makes them harder to read. So for these
functions having variables declared within if blocks would sound like a
good idea, I think it would make the functions more readable.
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index c76cac5d6849..32fb0142124d 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -7735,6 +7735,7 @@  ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b
 	bool he_fixed_rate = false, vht_fixed_rate = false;
 	struct ath11k_peer *peer, *tmp;
 	const u16 *vht_mcs_mask, *he_mcs_mask;
+	struct ieee80211_link_sta *deflink;
 	u8 vht_nss, he_nss;
 	bool ret = true;
 
@@ -7757,13 +7758,16 @@  ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b
 	spin_lock_bh(&ar->ab->base_lock);
 	list_for_each_entry_safe(peer, tmp, &ar->ab->peers, list) {
 		if (peer->sta) {
-			if (vht_fixed_rate && (!peer->sta->deflink.vht_cap.vht_supported ||
-					       peer->sta->deflink.rx_nss < vht_nss)) {
+			deflink = &peer->sta->deflink;
+
+			if (vht_fixed_rate && (!deflink->vht_cap.vht_supported ||
+					       deflink->rx_nss < vht_nss)) {
 				ret = false;
 				goto out;
 			}
-			if (he_fixed_rate && (!peer->sta->deflink.he_cap.has_he ||
-					      peer->sta->deflink.rx_nss < he_nss)) {
+
+			if (he_fixed_rate && (!deflink->he_cap.has_he ||
+					      deflink->rx_nss < he_nss)) {
 				ret = false;
 				goto out;
 			}