qcacmn: Fixes for monitor ring stall issues

STATUS_DONE is missing sometimes in monitor status ring,
causing stalled processing in host and backpressure to RXDMA.
Adding a WAR to skip such entries.
Also increased the size of monitor link descriptor ring since
multiple descriptors are used for large MPDUs.

Change-Id: I556b4196482ed738471afc1f7e7b73cf3f8fbc51
diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c
index 4b75740..3a941bc 100644
--- a/dp/wifi3.0/dp_rx_mon_status.c
+++ b/dp/wifi3.0/dp_rx_mon_status.c
@@ -452,11 +452,16 @@
 			status = hal_get_rx_status_done(status_buf);
 
 			if (status != QDF_STATUS_SUCCESS) {
+				uint32_t hp, tp;
+				hal_api_get_tphp(hal_soc, mon_status_srng,
+					&tp, &hp);
 				QDF_TRACE(QDF_MODULE_ID_DP,
-				QDF_TRACE_LEVEL_WARN,
-				"[%s][%d] status not done",
-				__func__, __LINE__);
-				break;
+				QDF_TRACE_LEVEL_ERROR,
+				"[%s][%d] status not done - hp:%u, tp:%u",
+				__func__, __LINE__, hp, tp);
+				/* WAR for missing status: Skip status entry */
+				hal_srng_src_get_next(hal_soc, mon_status_srng);
+				continue;
 			}
 			qdf_nbuf_set_pktlen(status_nbuf, RX_BUFFER_SIZE);
 
@@ -501,8 +506,7 @@
 		hal_rxdma_buff_addr_info_set(rxdma_mon_status_ring_entry,
 			paddr, rx_desc->cookie, HAL_RX_BUF_RBM_SW3_BM);
 
-		rxdma_mon_status_ring_entry =
-			hal_srng_src_get_next(hal_soc, mon_status_srng);
+		hal_srng_src_get_next(hal_soc, mon_status_srng);
 		work_done++;
 	}
 done: