Skip to contentSkip to conversation

ath11k: mac: fix too long line

PATCH In review Kalle Valo 2 participants 8 messages May 3, 2022 – May 6, 2022

Subsystems (2)
lore
Share & tools
lore

Kalle Valo

author
#0 lore raw

PATCH 1/2 ath11k: mac: fix too long line

From: Kalle Valo <[email protected]>

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.

---
 drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
drivers/net/wireless/ath/ath11k/mac.c +8 -4
index c76cac5d6849..32fb0142124d 100644
@@ -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;
 			}

base-commit: f39af96d352dd4f36a4a43601ea90561e17e5ca6

Signature · 1 line
2.30.2
author
#1 lore raw

PATCH 2/2 ath10k: mac: fix too long lines

From: Kalle Valo <[email protected]>

checkpatch warns:

drivers/net/wireless/ath/ath10k/mac.c:2696: line length of 92 exceeds 90 columns drivers/net/wireless/ath/ath10k/mac.c:6942: line length of 94 exceeds 90 columns drivers/net/wireless/ath/ath10k/mac.c:6948: line length of 91 exceeds 90 columns

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

Compile tested only.

---
 drivers/net/wireless/ath/ath10k/mac.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
drivers/net/wireless/ath/ath10k/mac.c +9 -4
index 06a51a48c1d9..3570a5895ea8 100644
@@ -2692,8 +2692,10 @@ static bool ath10k_mac_sta_has_ofdm_only(struct ieee80211_sta *sta)
 static enum wmi_phy_mode ath10k_mac_get_phymode_vht(struct ath10k *ar,
 						    struct ieee80211_sta *sta)
 {
+	struct ieee80211_sta_vht_cap *vht_cap = &sta->deflink.vht_cap;
+
 	if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_160) {
-		switch (sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
+		switch (vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
 		case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ:
 			return MODE_11AC_VHT160;
 		case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ:
@@ -6926,6 +6928,9 @@ static int ath10k_mac_validate_rate_mask(struct ath10k *ar,
 					 struct ieee80211_sta *sta,
 					 u32 rate_ctrl_flag, u8 nss)
 {
+	struct ieee80211_sta_ht_cap *ht_cap = &sta->deflink.ht_cap;
+	struct ieee80211_sta_vht_cap *vht_cap = &sta->deflink.vht_cap;
+
 	if (nss > sta->deflink.rx_nss) {
 		ath10k_warn(ar, "Invalid nss field, configured %u limit %u\n",
 			    nss, sta->deflink.rx_nss);
@@ -6933,19 +6938,19 @@ static int ath10k_mac_validate_rate_mask(struct ath10k *ar,
 	}
 
 	if (ATH10K_HW_PREAMBLE(rate_ctrl_flag) == WMI_RATE_PREAMBLE_VHT) {
-		if (!sta->deflink.vht_cap.vht_supported) {
+		if (!vht_cap->vht_supported) {
 			ath10k_warn(ar, "Invalid VHT rate for sta %pM\n",
 				    sta->addr);
 			return -EINVAL;
 		}
 	} else if (ATH10K_HW_PREAMBLE(rate_ctrl_flag) == WMI_RATE_PREAMBLE_HT) {
-		if (!sta->deflink.ht_cap.ht_supported || sta->deflink.vht_cap.vht_supported) {
+		if (!ht_cap->ht_supported || vht_cap->vht_supported) {
 			ath10k_warn(ar, "Invalid HT rate for sta %pM\n",
 				    sta->addr);
 			return -EINVAL;
 		}
 	} else {
-		if (sta->deflink.ht_cap.ht_supported || sta->deflink.vht_cap.vht_supported)
+		if (ht_cap->ht_supported || vht_cap->vht_supported)
 			return -EINVAL;
 	}
 
Signature · 1 line
2.30.2
Reviewed-by on v1 2/2
#2 lore raw

Re: [PATCH 2/2] ath10k: mac: fix too long lines

Quoted 4 lines · Kalle Valo

From: Kalle Valo <[email protected]>

checkpatch warns:

Quoted 9 lines

drivers/net/wireless/ath/ath10k/mac.c:2696: line length of 92 exceeds 90 columns drivers/net/wireless/ath/ath10k/mac.c:6942: line length of 94 exceeds 90 columns drivers/net/wireless/ath/ath10k/mac.c:6948: line length of 91 exceeds 90 columns

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

Compile tested only.

Quoted 4 lines
---
  drivers/net/wireless/ath/ath10k/mac.c | 13 +++++++++----
  1 file changed, 9 insertions(+), 4 deletions(-)
Signature · 3 lines
ath11k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath11k
#3 lore raw
In reply to Kalle Valo
Quoted 29 lines · Kalle Valo

From: Kalle Valo <[email protected]>

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.

---
  drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++++----
  1 file changed, 8 insertions(+), 4 deletions(-)
drivers/net/wireless/ath/ath11k/mac.c +1 -0
index c76cac5d6849..32fb0142124d 100644
@@ -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;
 

drivers/net/wireless/ath/ath11k/mac.c ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b · line 7761

Quoted 6 lines
drivers/net/wireless/ath/ath11k/mac.c +1 -2
@@ -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

Quoted 16 lines
drivers/net/wireless/ath/ath11k/mac.c +6 -2
+
+			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

author
#4 lore raw
Quoted 33 lines · Jeff Johnson
Quoted 32 lines · Kalle Valo

From: Kalle Valo <[email protected]>

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.

---
  drivers/net/wireless/ath/ath11k/mac.c | 12 ++++++++----
  1 file changed, 8 insertions(+), 4 deletions(-)
drivers/net/wireless/ath/ath11k/mac.c +1 -0
index c76cac5d6849..32fb0142124d 100644
@@ -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) {

Quoted 8 lines

drivers/net/wireless/ath/ath11k/mac.c ath11k_mac_validate_vht_he_fixed_rate_settings(struct ath11k *ar, enum nl80211_b · line 7761

Quoted 4 lines
  		if (peer->sta) {
drivers/net/wireless/ath/ath11k/mac.c +1 -2
-			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?

Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
#5 lore raw
Quoted 1 line · Kalle Valo

Jeff Johnson <[email protected]> writes:

pe>> is there a reason to not declare deflink here?

Quoted 10 lines
Quoted 1 line

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

author
#6 lore raw
Quoted 14 lines · Jeff Johnson
Quoted 1 line · Kalle Valo

Jeff Johnson <[email protected]> writes:

pe>> is there a reason to not declare deflink here?

Quoted 10 lines
Quoted 1 line

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?

Quoted 6 lines

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.

Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
author
#7 lore raw
In reply to Kalle Valo
Quoted 10 lines · Kalle Valo

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.

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

Signature · 9 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


-- 
ath11k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath11k