All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.