소스 검색

qcacld-3.0: Cleanup the unreachable code in htt_t2h_lp_msg_handler

Currently, the message type HTT_T2H_MSG_TYPE_RX_ADDBA and
HTT_T2H_MSG_TYPE_RX_DELBA is not supported as firmware is
no more sending this message to host.

Clean up the unreachable code for HTT_T2H_MSG_TYPE_RX_ADDBA
and HTT_T2H_MSG_TYPE_RX_DELBA message type.

Change-Id: I7a32fb53fec00e0507ef32d29494968188c98bfd
CRs-Fixed: 2226328
Alok Kumar 6 년 전
부모
커밋
b8919e14c5
3개의 변경된 파일6개의 추가작업 그리고 165개의 파일을 삭제
  1. 2 23
      core/dp/htt/htt_t2h.c
  2. 1 42
      core/dp/ol/inc/ol_txrx_htt_api.h
  3. 3 100
      core/dp/txrx/ol_rx_reorder.c

+ 2 - 23
core/dp/htt/htt_t2h.c

@@ -318,33 +318,12 @@ static void htt_t2h_lp_msg_handler(void *context, qdf_nbuf_t htt_t2h_msg,
 	}
 	case HTT_T2H_MSG_TYPE_RX_ADDBA:
 	{
-		uint16_t peer_id;
-		uint8_t tid;
-		uint8_t win_sz;
-		uint16_t start_seq_num;
-
-		/*
-		 * FOR NOW, the host doesn't need to know the initial
-		 * sequence number for rx aggregation.
-		 * Thus, any value will do - specify 0.
-		 */
-		start_seq_num = 0;
-		peer_id = HTT_RX_ADDBA_PEER_ID_GET(*msg_word);
-		tid = HTT_RX_ADDBA_TID_GET(*msg_word);
-		win_sz = HTT_RX_ADDBA_WIN_SIZE_GET(*msg_word);
-		ol_rx_addba_handler(pdev->txrx_pdev, peer_id, tid,
-				    win_sz, start_seq_num,
-				    0 /* success */);
+		qdf_print("HTT_T2H_MSG_TYPE_RX_ADDBA not supported ");
 		break;
 	}
 	case HTT_T2H_MSG_TYPE_RX_DELBA:
 	{
-		uint16_t peer_id;
-		uint8_t tid;
-
-		peer_id = HTT_RX_DELBA_PEER_ID_GET(*msg_word);
-		tid = HTT_RX_DELBA_TID_GET(*msg_word);
-		ol_rx_delba_handler(pdev->txrx_pdev, peer_id, tid);
+		qdf_print("HTT_T2H_MSG_TYPE_RX_DELBA not supported ");
 		break;
 	}
 	case HTT_T2H_MSG_TYPE_PEER_MAP:

+ 1 - 42
core/dp/ol/inc/ol_txrx_htt_api.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -494,47 +494,6 @@ ol_rx_sec_ind_handler(ol_txrx_pdev_handle pdev,
 		      enum htt_sec_type sec_type,
 		      int is_unicast, uint32_t *michael_key, uint32_t *rx_pn);
 
-/**
- * @brief Process an ADDBA message sent by the target.
- * @details
- *  When the target notifies the host of an ADDBA event for a specified
- *  peer-TID, the host will set up the rx reordering state for the peer-TID.
- *  Specifically, the host will create a rx reordering array whose length
- *  is based on the window size specified in the ADDBA.
- *
- * @param pdev - data physical device handle
- *      (registered with HTT as a context pointer during attach time)
- * @param peer_id - which peer the ADDBA event is for
- * @param tid - which traffic ID within the peer the ADDBA event is for
- * @param win_sz - how many sequence numbers are in the ARQ block ack window
- *      set up by the ADDBA event
- * @param start_seq_num - the initial value of the sequence number during the
- *      block ack agreement, as specified by the ADDBA request.
- * @param failed - indicate whether the target's ADDBA setup succeeded:
- *      0 -> success, 1 -> fail
- */
-void
-ol_rx_addba_handler(ol_txrx_pdev_handle pdev,
-		    uint16_t peer_id,
-		    uint8_t tid,
-		    uint8_t win_sz, uint16_t start_seq_num, uint8_t failed);
-
-/**
- * @brief Process a DELBA message sent by the target.
- * @details
- *  When the target notifies the host of a DELBA event for a specified
- *  peer-TID, the host will clean up the rx reordering state for the peer-TID.
- *  Specifically, the host will remove the rx reordering array, and will
- *  set the reorder window size to be 1 (stop and go ARQ).
- *
- * @param pdev - data physical device handle
- *      (registered with HTT as a context pointer during attach time)
- * @param peer_id - which peer the ADDBA event is for
- * @param tid - which traffic ID within the peer the ADDBA event is for
- */
-void
-ol_rx_delba_handler(ol_txrx_pdev_handle pdev, uint16_t peer_id, uint8_t tid);
-
 enum htt_rx_flush_action {
 	htt_rx_flush_release,
 	htt_rx_flush_discard,

+ 3 - 100
core/dp/txrx/ol_rx_reorder.c

@@ -36,24 +36,12 @@
 #include <ol_rx_defrag.h>
 
 /*=== data types and defines ===*/
-#define OL_RX_REORDER_ROUND_PWR2(value) g_log2ceil[value]
+
+/*---*/
 
 /*=== global variables ===*/
 
-static char g_log2ceil[] = {
-	1,                      /* 0 -> 1 */
-	1,                      /* 1 -> 1 */
-	2,                      /* 2 -> 2 */
-	4, 4,                   /* 3-4 -> 4 */
-	8, 8, 8, 8,             /* 5-8 -> 8 */
-	16, 16, 16, 16, 16, 16, 16, 16, /* 9-16 -> 16 */
-	32, 32, 32, 32, 32, 32, 32, 32,
-	32, 32, 32, 32, 32, 32, 32, 32, /* 17-32 -> 32 */
-	64, 64, 64, 64, 64, 64, 64, 64,
-	64, 64, 64, 64, 64, 64, 64, 64,
-	64, 64, 64, 64, 64, 64, 64, 64,
-	64, 64, 64, 64, 64, 64, 64, 64, /* 33-64 -> 64 */
-};
+/*---*/
 
 /*=== function definitions ===*/
 
@@ -516,91 +504,6 @@ ol_rx_reorder_peer_cleanup(struct ol_txrx_vdev_t *vdev,
 
 /* functions called by HTT */
 
-void
-ol_rx_addba_handler(ol_txrx_pdev_handle pdev,
-		    uint16_t peer_id,
-		    uint8_t tid,
-		    uint8_t win_sz, uint16_t start_seq_num, uint8_t failed)
-{
-	uint8_t round_pwr2_win_sz;
-	unsigned int array_size;
-	struct ol_txrx_peer_t *peer;
-	struct ol_rx_reorder_t *rx_reorder;
-
-	if (tid >= OL_TXRX_NUM_EXT_TIDS) {
-		ol_txrx_err("%s:  invalid tid, %u\n", __FUNCTION__, tid);
-		WARN_ON(1);
-		return;
-	}
-
-	peer = ol_txrx_peer_find_by_id(pdev, peer_id);
-	if (peer == NULL)
-		return;
-
-	if (pdev->cfg.host_addba) {
-		ol_ctrl_rx_addba_complete(pdev->ctrl_pdev,
-					  &peer->mac_addr.raw[0], tid, failed);
-	}
-	if (failed)
-		return;
-
-	peer->tids_last_seq[tid] = IEEE80211_SEQ_MAX;   /* invalid */
-	rx_reorder = &peer->tids_rx_reorder[tid];
-
-	TXRX_ASSERT2(win_sz <= 64);
-	rx_reorder->win_sz = win_sz;
-	round_pwr2_win_sz = OL_RX_REORDER_ROUND_PWR2(win_sz);
-	array_size =
-		round_pwr2_win_sz * sizeof(struct ol_rx_reorder_array_elem_t);
-	rx_reorder->array = qdf_mem_malloc(array_size);
-	TXRX_ASSERT1(rx_reorder->array);
-
-	rx_reorder->win_sz_mask = round_pwr2_win_sz - 1;
-	rx_reorder->num_mpdus = 0;
-
-	peer->tids_next_rel_idx[tid] =
-		OL_RX_REORDER_IDX_INIT(start_seq_num, rx_reorder->win_sz,
-				       rx_reorder->win_sz_mask);
-}
-
-void
-ol_rx_delba_handler(ol_txrx_pdev_handle pdev, uint16_t peer_id, uint8_t tid)
-{
-	struct ol_txrx_peer_t *peer;
-	struct ol_rx_reorder_t *rx_reorder;
-
-	if (tid >= OL_TXRX_NUM_EXT_TIDS) {
-		ol_txrx_err("%s:  invalid tid, %u\n", __FUNCTION__, tid);
-		WARN_ON(1);
-		return;
-	}
-
-	peer = ol_txrx_peer_find_by_id(pdev, peer_id);
-	if (peer == NULL)
-		return;
-
-	peer->tids_next_rel_idx[tid] = INVALID_REORDER_INDEX;
-	rx_reorder = &peer->tids_rx_reorder[tid];
-
-	/* check that there really was a block ack agreement */
-	TXRX_ASSERT1(rx_reorder->win_sz_mask != 0);
-	/*
-	 * Deallocate the old rx reorder array.
-	 * The call to ol_rx_reorder_init below
-	 * will reset rx_reorder->array to point to
-	 * the single-element statically-allocated reorder array
-	 * used for non block-ack cases.
-	 */
-	if (rx_reorder->array != &rx_reorder->base) {
-		ol_txrx_dbg("%s, delete reorder array, tid:%d\n",
-			    __func__, tid);
-		qdf_mem_free(rx_reorder->array);
-	}
-
-	/* set up the TID with default parameters (ARQ window size = 1) */
-	ol_rx_reorder_init(rx_reorder, tid);
-}
-
 void
 ol_rx_flush_handler(ol_txrx_pdev_handle pdev,
 		    uint16_t peer_id,