@@ -2406,8 +2406,7 @@ int ath11k_dp_rx_process_mon_status(struct ath11k_base *ab, int mac_id,
trace_ath11k_htt_rxdesc(ar, skb->data, DP_RX_BUFFER_SIZE);
}
- hal_status = ath11k_hal_rx_parse_mon_status(ab, &ppdu_info,
- (u8 *)skb->data);
+ hal_status = ath11k_hal_rx_parse_mon_status(ab, &ppdu_info, skb);
if (ppdu_info.peer_id == HAL_INVALID_PEERID ||
hal_status != HAL_RX_MON_STATUS_PPDU_DONE) {
@@ -3843,8 +3842,6 @@ static inline void ath11k_dp_rx_mon_status_process_tlv(struct ath11k *ar,
struct ath11k_mon_data *pmon = (struct ath11k_mon_data *)&dp->mon_data;
struct hal_rx_mon_ppdu_info *ppdu_info;
struct sk_buff *status_skb;
- u8 *rx_tlv;
- u8 *rx_tlv_start;
u32 tlv_status = HAL_TLV_STATUS_BUF_DONE;
struct ath11k_pdev_mon_stats *rx_mon_stats;
@@ -3857,11 +3854,8 @@ static inline void ath11k_dp_rx_mon_status_process_tlv(struct ath11k *ar,
while (!skb_queue_empty(&pmon->rx_status_q)) {
status_skb = skb_dequeue(&pmon->rx_status_q);
- rx_tlv = status_skb->data;
- rx_tlv_start = rx_tlv;
-
tlv_status = ath11k_hal_rx_parse_mon_status(ar->ab, ppdu_info,
- rx_tlv);
+ status_skb);
if (tlv_status == HAL_TLV_STATUS_PPDU_DONE) {
rx_mon_stats->status_ppdu_done++;
pmon->mon_ppdu_status = DP_PPDU_STATUS_DONE;
@@ -1156,13 +1156,13 @@ ath11k_hal_rx_parse_mon_status_tlv(struct ath11k_base *ab,
enum hal_rx_mon_status
ath11k_hal_rx_parse_mon_status(struct ath11k_base *ab,
struct hal_rx_mon_ppdu_info *ppdu_info,
- u8 *data)
+ struct sk_buff *skb)
{
struct hal_tlv_hdr *tlv;
enum hal_rx_mon_status hal_status = HAL_RX_MON_STATUS_BUF_DONE;
u16 tlv_tag;
u16 tlv_len;
- u8 *ptr = data;
+ u8 *ptr = skb->data;
do {
tlv = (struct hal_tlv_hdr *)ptr;
@@ -1183,7 +1183,7 @@ ath11k_hal_rx_parse_mon_status(struct ath11k_base *ab,
ptr += tlv_len;
ptr = PTR_ALIGN(ptr, HAL_TLV_ALIGN);
- if ((ptr - data) >= DP_RX_BUFFER_SIZE)
+ if ((ptr - skb->data) >= DP_RX_BUFFER_SIZE)
break;
} while (hal_status == HAL_RX_MON_STATUS_PPDU_NOT_DONE);
@@ -336,7 +336,7 @@ void ath11k_hal_rx_reo_ent_buf_paddr_get(void *rx_desc,
enum hal_rx_mon_status
ath11k_hal_rx_parse_mon_status(struct ath11k_base *ab,
struct hal_rx_mon_ppdu_info *ppdu_info,
- u8 *data);
+ struct sk_buff *skb);
#define REO_QUEUE_DESC_MAGIC_DEBUG_PATTERN_0 0xDDBEEF
#define REO_QUEUE_DESC_MAGIC_DEBUG_PATTERN_1 0xADBEEF
#define REO_QUEUE_DESC_MAGIC_DEBUG_PATTERN_2 0xBDBEEF
Changed ath11k_hal_rx_parse_mon_status() to take sk_buff pointer instead of opaque u8 pointer. Removed variables that became unused. Signed-off-by: Muna Sinada <msinada@codeaurora.org> --- drivers/net/wireless/ath/ath11k/dp_rx.c | 10 ++-------- drivers/net/wireless/ath/ath11k/hal_rx.c | 6 +++--- drivers/net/wireless/ath/ath11k/hal_rx.h | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-)