ath6kl: Make sure to allocate rx buffers after the endpoint connection
authorVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Fri, 10 Feb 2012 15:10:32 +0000 (20:40 +0530)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 28 Feb 2012 07:45:50 +0000 (09:45 +0200)
Rx buffers should be allocated for control and best effort endpoints only
after the enpoints connection is esablished. But this is done before the
endpoint connection is complete, we don't even the control and BE endpoints
that time. Move the buffer allocation after endpoint connection is over,
after ath6kl_init_hw_start(). Found in review, never seen any real issue
with this.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/core.c

index 6dec186d9ac7c2a8813ed4856f09e98414d4976f..39684650e843128defe7ac412d471f33ee16c77a 100644 (file)
@@ -136,10 +136,6 @@ int ath6kl_core_init(struct ath6kl *ar)
        ar->ac_stream_pri_map[WMM_AC_VI] = 2;
        ar->ac_stream_pri_map[WMM_AC_VO] = 3; /* highest */
 
-       /* give our connected endpoints some buffers */
-       ath6kl_rx_refill(ar->htc_target, ar->ctrl_ep);
-       ath6kl_rx_refill(ar->htc_target, ar->ac2ep_map[WMM_AC_BE]);
-
        /* allocate some buffers that handle larger AMSDU frames */
        ath6kl_refill_amsdu_rxbufs(ar, ATH6KL_MAX_AMSDU_RX_BUFFERS);
 
@@ -182,6 +178,10 @@ int ath6kl_core_init(struct ath6kl *ar)
                goto err_rxbuf_cleanup;
        }
 
+       /* give our connected endpoints some buffers */
+       ath6kl_rx_refill(ar->htc_target, ar->ctrl_ep);
+       ath6kl_rx_refill(ar->htc_target, ar->ac2ep_map[WMM_AC_BE]);
+
        /*
         * Set mac address which is received in ready event
         * FIXME: Move to ath6kl_interface_add()