ATH11K Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] ath11k: Fix endianness related sparse warnings
@ 2019-05-28  5:48 Vasanthakumar Thiagarajan
  2019-05-28  5:48 ` [PATCH 2/4] ath11k: Fix sparse warnings for symbol not being static Vasanthakumar Thiagarajan
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Vasanthakumar Thiagarajan @ 2019-05-28  5:48 UTC (permalink / raw)
  To: ath11k

drivers/net/wireless/ath/ath11k/hal_rx.c:1142:27: warning: cast to restricted __le32
drivers/net/wireless/ath/ath11k/hal_rx.c:1142:27: warning: cast to restricted __le32

drivers/net/wireless/ath/ath11k/dp_rx.c:3433:16: warning: Using plain integer as NULL pointer
drivers/net/wireless/ath/ath11k/dp_rx.h:335:19: warning: cast to restricted __le32
drivers/net/wireless/ath/ath11k/dp_rx.h:335:19: warning: restricted __le32 degrades to integer
drivers/net/wireless/ath/ath11k/dp_rx.h:335:19: warning: restricted __le32 degrades to integer
drivers/net/wireless/ath/ath11k/dp_rx.h:344:35: warning: incorrect type in return expression (different base types)
drivers/net/wireless/ath/ath11k/dp_rx.h:344:35:    expected unsigned int
drivers/net/wireless/ath/ath11k/dp_rx.h:344:35:    got restricted __le16 [usertype] phy_ppdu_id
drivers/net/wireless/ath/ath11k/dp_rx.h:306:16: warning: cast to restricted __le32
drivers/net/wireless/ath/ath11k/dp_rx.h:306:16: warning: restricted __le32 degrades to integer
drivers/net/wireless/ath/ath11k/dp_rx.h:306:16: warning: restricted __le32 degrades to integer
drivers/net/wireless/ath/ath11k/dp_rx.h:316:16: warning: cast to restricted __le32
drivers/net/wireless/ath/ath11k/dp_rx.h:316:16: warning: restricted __le32 degrades to integer
drivers/net/wireless/ath/ath11k/dp_rx.h:316:16: warning: restricted __le32 degrades to integer

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/dp_rx.h  | 10 ++++++----
 drivers/net/wireless/ath/ath11k/hal_rx.h |  6 +++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.h b/drivers/net/wireless/ath/ath11k/dp_rx.h
index 5fe6e6d..75d9150 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.h
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.h
@@ -303,7 +303,8 @@ static inline u32 ath11k_dp_rxdesc_get_mpdulen_err(void *hw_desc_addr)
 
 	rx_attn = &rx_desc->attention;
 
-	return FIELD_GET(RX_ATTENTION_INFO1_MPDU_LEN_ERR, rx_attn->info1);
+	return FIELD_GET(RX_ATTENTION_INFO1_MPDU_LEN_ERR,
+			 __le32_to_cpu(rx_attn->info1));
 }
 
 static inline u32 ath11k_dp_rxdesc_get_decap_format(void *hw_desc_addr)
@@ -314,7 +315,7 @@ static inline u32 ath11k_dp_rxdesc_get_decap_format(void *hw_desc_addr)
 	rx_msdu_start = &rx_desc->msdu_start;
 
 	return FIELD_GET(RX_MSDU_START_INFO2_DECAP_FORMAT,
-			rx_msdu_start->info2);
+			__le32_to_cpu(rx_msdu_start->info2));
 }
 
 static inline u8 *ath11k_dp_rxdesc_get_80211hdr(void *hw_desc_addr)
@@ -332,7 +333,8 @@ static inline bool ath11k_dp_rxdesc_mpdu_valid(void *hw_desc_addr)
 	struct hal_rx_desc *rx_desc = (struct hal_rx_desc *)hw_desc_addr;
 	u32 tlv_tag;
 
-	tlv_tag = FIELD_GET(HAL_TLV_HDR_TAG, rx_desc->mpdu_start_tag);
+	tlv_tag = FIELD_GET(HAL_TLV_HDR_TAG,
+			    __le32_to_cpu(rx_desc->mpdu_start_tag));
 
 	return tlv_tag == HAL_RX_MPDU_START ? true : false;
 }
@@ -341,7 +343,7 @@ static inline u32 ath11k_dp_rxdesc_get_ppduid(void *hw_desc_addr)
 {
 	struct hal_rx_desc *rx_desc = (struct hal_rx_desc *)hw_desc_addr;
 
-	return rx_desc->mpdu_start.phy_ppdu_id;
+	return __le16_to_cpu(rx_desc->mpdu_start.phy_ppdu_id);
 }
 
 int ath11k_dp_rx_ampdu_start(struct ath11k *ar,
diff --git a/drivers/net/wireless/ath/ath11k/hal_rx.h b/drivers/net/wireless/ath/ath11k/hal_rx.h
index 439a36f..650ebe5 100644
--- a/drivers/net/wireless/ath/ath11k/hal_rx.h
+++ b/drivers/net/wireless/ath/ath11k/hal_rx.h
@@ -270,9 +270,9 @@ struct hal_rx_phyrx_rssi_legacy_info {
 
 #define HAL_RX_MPDU_INFO_INFO0_PEERID	GENMASK(31, 16)
 struct hal_rx_mpdu_info {
-	u32 rsvd0;
-	u32 info0;
-	u32 rsvd1[21];
+	__le32 rsvd0;
+	__le32 info0;
+	__le32 rsvd1[21];
 } __packed;
 
 struct hal_rx_rxpcu_classification_overview {
-- 
1.9.1


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/4] ath11k: Fix sparse warnings for symbol not being static
  2019-05-28  5:48 [PATCH 1/4] ath11k: Fix endianness related sparse warnings Vasanthakumar Thiagarajan
@ 2019-05-28  5:48 ` Vasanthakumar Thiagarajan
  2019-05-28  5:48 ` [PATCH 3/4] ath11k: Fix bug in accessing rcu protected wiphy->regd Vasanthakumar Thiagarajan
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Vasanthakumar Thiagarajan @ 2019-05-28  5:48 UTC (permalink / raw)
  To: ath11k

drivers/net/wireless/ath/ath11k/wmi.c:183:12: warning: symbol 'ath11k_wmi_tlv_parse_alloc' was not declared. Should it be static?
drivers/net/wireless/ath/ath11k/qmi.c:505:22: warning: symbol 'qmi_wlanfw_ind_register_resp_msg_v01_ei' was not declared. Should it be static?

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
 drivers/net/wireless/ath/ath11k/wmi.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
index ecf09b8..4f3e25b 100644
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -502,7 +502,7 @@
 	},
 };
 
-struct qmi_elem_info qmi_wlanfw_ind_register_resp_msg_v01_ei[] = {
+static struct qmi_elem_info qmi_wlanfw_ind_register_resp_msg_v01_ei[] = {
 	{
 		.data_type	= QMI_STRUCT,
 		.elem_len	= 1,
diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index 9ca44c4..50e6e31 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -180,7 +180,7 @@ static int ath11k_wmi_tlv_parse(struct ath11k_base *ar, const void **tb,
 				   (void *)tb);
 }
 
-const void **
+static const void **
 ath11k_wmi_tlv_parse_alloc(struct ath11k_base *ab, const void *ptr,
 			   size_t len, gfp_t gfp)
 {
-- 
1.9.1


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/4] ath11k: Fix bug in accessing rcu protected wiphy->regd
  2019-05-28  5:48 [PATCH 1/4] ath11k: Fix endianness related sparse warnings Vasanthakumar Thiagarajan
  2019-05-28  5:48 ` [PATCH 2/4] ath11k: Fix sparse warnings for symbol not being static Vasanthakumar Thiagarajan
@ 2019-05-28  5:48 ` Vasanthakumar Thiagarajan
  2019-05-28  5:48 ` [PATCH 4/4] ath11k: Fix sparse warning using palin integer as NULL pointer Vasanthakumar Thiagarajan
  2019-05-29 15:15 ` [PATCH 1/4] ath11k: Fix endianness related sparse warnings Kalle Valo
  3 siblings, 0 replies; 5+ messages in thread
From: Vasanthakumar Thiagarajan @ 2019-05-28  5:48 UTC (permalink / raw)
  To: ath11k

Access wiphy->regd through rcu dereference API. This also
fixes below sparse warning

drivers/net/wireless/ath/ath11k/reg.c:38:39: warning: incorrect type in argument 1 (different address spaces)
drivers/net/wireless/ath/ath11k/reg.c:38:39:    expected void const *
drivers/net/wireless/ath/ath11k/reg.c:38:39:    got char const [noderef] <asn:4> *

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/reg.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c
index 1fef688..ad87e9d 100644
--- a/drivers/net/wireless/ath/ath11k/reg.c
+++ b/drivers/net/wireless/ath/ath11k/reg.c
@@ -28,14 +28,17 @@
 
 static bool ath11k_regdom_changes(struct ath11k *ar, char *alpha2)
 {
+	const struct ieee80211_regdomain *regd;
+
+	regd = rcu_dereference_rtnl(ar->hw->wiphy->regd);
 	/* This can happen during wiphy registration where the previous
 	 * user request is received before we update the regd received
 	 * from firmware.
 	 */
-	if (!ar->hw->wiphy->regd)
+	if (!regd)
 		return true;
 
-	return !!(memcmp(ar->hw->wiphy->regd->alpha2, alpha2, 2));
+	return !!(memcmp(regd->alpha2, alpha2, 2));
 }
 
 static void
-- 
1.9.1


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/4] ath11k: Fix sparse warning using palin integer as NULL pointer
  2019-05-28  5:48 [PATCH 1/4] ath11k: Fix endianness related sparse warnings Vasanthakumar Thiagarajan
  2019-05-28  5:48 ` [PATCH 2/4] ath11k: Fix sparse warnings for symbol not being static Vasanthakumar Thiagarajan
  2019-05-28  5:48 ` [PATCH 3/4] ath11k: Fix bug in accessing rcu protected wiphy->regd Vasanthakumar Thiagarajan
@ 2019-05-28  5:48 ` Vasanthakumar Thiagarajan
  2019-05-29 15:15 ` [PATCH 1/4] ath11k: Fix endianness related sparse warnings Kalle Valo
  3 siblings, 0 replies; 5+ messages in thread
From: Vasanthakumar Thiagarajan @ 2019-05-28  5:48 UTC (permalink / raw)
  To: ath11k

drivers/net/wireless/ath/ath11k/qmi.c:1806:41: warning: Using plain integer as NULL pointer
drivers/net/wireless/ath/ath11k/dp_rx.c:3433:16: warning: Using plain integer as NULL pointer
drivers/net/wireless/ath/ath11k/debug_htt_stats.c:815:59: warning: Using plain integer as NULL pointer

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/debug_htt_stats.c | 2 +-
 drivers/net/wireless/ath/ath11k/dp_rx.c           | 5 +----
 drivers/net/wireless/ath/ath11k/qmi.c             | 4 +++-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/debug_htt_stats.c b/drivers/net/wireless/ath/ath11k/debug_htt_stats.c
index 876134a..ac217d9 100644
--- a/drivers/net/wireless/ath/ath11k/debug_htt_stats.c
+++ b/drivers/net/wireless/ath/ath11k/debug_htt_stats.c
@@ -812,7 +812,7 @@ static inline void htt_print_tx_peer_rate_stats_tlv(const u32 *tag_buf, u8 *data
 	u32 len = stats_req->buf_len;
 	u32 buf_len = ATH11K_HTT_STATS_BUF_SIZE;
 	char str_buf[HTT_MAX_STRING_LEN] = {0};
-	char *tx_gi[HTT_TX_PEER_STATS_NUM_GI_COUNTERS] = {0};
+	char *tx_gi[HTT_TX_PEER_STATS_NUM_GI_COUNTERS];
 	u8 j;
 
 	for (j = 0; j < HTT_TX_PEER_STATS_NUM_GI_COUNTERS; j++)
diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index 73865ce..2987c0a 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -3411,7 +3411,7 @@ static inline void ath11k_dp_mon_get_buf_len(struct hal_rx_msdu_desc_info *info,
 	struct ath11k_pdev_dp *dp = &ar->dp;
 	struct ath11k_mon_data *pmon = (struct ath11k_mon_data *)&dp->mon_data;
 	struct dp_rxdma_ring *rx_ring = &dp->rxdma_mon_buf_ring;
-	struct sk_buff *msdu, *last;
+	struct sk_buff *msdu = NULL, *last = NULL;
 	struct hal_rx_msdu_list msdu_list;
 	void *p_buf_addr_info, *p_last_buf_addr_info;
 	void *rx_desc;
@@ -3430,9 +3430,6 @@ static inline void ath11k_dp_mon_get_buf_len(struct hal_rx_msdu_desc_info *info,
 			(struct hal_reo_entrance_ring *)ring_entry;
 	int buf_id;
 
-	msdu = 0;
-	last = NULL;
-
 	ath11k_hal_rx_reo_ent_buf_paddr_get(ring_entry, &paddr,
 					    &sw_cookie, &p_last_buf_addr_info,
 					    &msdu_cnt);
diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
index 4f3e25b..89ee81d 100644
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -1803,10 +1803,12 @@ static int ath11k_qmi_request_target_cap(struct ath11k_base *ab)
 	struct device *dev = ab->dev;
 	char filename[ATH11K_QMI_MAX_BDF_FILE_NAME_SIZE];
 	const struct firmware *fw_entry;
-	struct ath11k_board_data bd = { 0 };
+	struct ath11k_board_data bd;
 	u32 fw_size;
 	int ret = 0;
 
+	memset(&bd, 0, sizeof(bd));
+
 	switch (type) {
 	case ATH11K_QMI_FILE_TYPE_BDF_GOLDEN:
 		ret = ath11k_core_fetch_bdf(ab, &bd);
-- 
1.9.1


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/4] ath11k: Fix endianness related sparse warnings
  2019-05-28  5:48 [PATCH 1/4] ath11k: Fix endianness related sparse warnings Vasanthakumar Thiagarajan
                   ` (2 preceding siblings ...)
  2019-05-28  5:48 ` [PATCH 4/4] ath11k: Fix sparse warning using palin integer as NULL pointer Vasanthakumar Thiagarajan
@ 2019-05-29 15:15 ` Kalle Valo
  3 siblings, 0 replies; 5+ messages in thread
From: Kalle Valo @ 2019-05-29 15:15 UTC (permalink / raw)
  To: Vasanthakumar Thiagarajan; +Cc: ath11k

Vasanthakumar Thiagarajan <vthiagar@codeaurora.org> wrote:

> drivers/net/wireless/ath/ath11k/hal_rx.c:1142:27: warning: cast to restricted __le32
> drivers/net/wireless/ath/ath11k/hal_rx.c:1142:27: warning: cast to restricted __le32
> 
> drivers/net/wireless/ath/ath11k/dp_rx.c:3433:16: warning: Using plain integer as NULL pointer
> drivers/net/wireless/ath/ath11k/dp_rx.h:335:19: warning: cast to restricted __le32
> drivers/net/wireless/ath/ath11k/dp_rx.h:335:19: warning: restricted __le32 degrades to integer
> drivers/net/wireless/ath/ath11k/dp_rx.h:335:19: warning: restricted __le32 degrades to integer
> drivers/net/wireless/ath/ath11k/dp_rx.h:344:35: warning: incorrect type in return expression (different base types)
> drivers/net/wireless/ath/ath11k/dp_rx.h:344:35:    expected unsigned int
> drivers/net/wireless/ath/ath11k/dp_rx.h:344:35:    got restricted __le16 [usertype] phy_ppdu_id
> drivers/net/wireless/ath/ath11k/dp_rx.h:306:16: warning: cast to restricted __le32
> drivers/net/wireless/ath/ath11k/dp_rx.h:306:16: warning: restricted __le32 degrades to integer
> drivers/net/wireless/ath/ath11k/dp_rx.h:306:16: warning: restricted __le32 degrades to integer
> drivers/net/wireless/ath/ath11k/dp_rx.h:316:16: warning: cast to restricted __le32
> drivers/net/wireless/ath/ath11k/dp_rx.h:316:16: warning: restricted __le32 degrades to integer
> drivers/net/wireless/ath/ath11k/dp_rx.h:316:16: warning: restricted __le32 degrades to integer
> 
> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@codeaurora.org>

4 patches applied to ath.git, thanks.

f8c6d3bf42a5 ath11k: Fix endianness related sparse warnings
f155f8e3164f ath11k: Fix sparse warnings for symbol not being static
4913bc0f6cf8 ath11k: Fix bug in accessing rcu protected wiphy->regd
7a4a8402f3e9 ath11k: Fix sparse warning using palin integer as NULL pointer

-- 
https://patchwork.kernel.org/patch/10963713/

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


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-05-29 15:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-28  5:48 [PATCH 1/4] ath11k: Fix endianness related sparse warnings Vasanthakumar Thiagarajan
2019-05-28  5:48 ` [PATCH 2/4] ath11k: Fix sparse warnings for symbol not being static Vasanthakumar Thiagarajan
2019-05-28  5:48 ` [PATCH 3/4] ath11k: Fix bug in accessing rcu protected wiphy->regd Vasanthakumar Thiagarajan
2019-05-28  5:48 ` [PATCH 4/4] ath11k: Fix sparse warning using palin integer as NULL pointer Vasanthakumar Thiagarajan
2019-05-29 15:15 ` [PATCH 1/4] ath11k: Fix endianness related sparse warnings Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox