software/drivers/sd8887/src/wlan/mlan/mlan_wmm.c
/**
 *  @brief Check if wmm TX queue is empty
 *
 *  @param pmadapter  Pointer to the mlan_adapter driver data struct
 *
 *  @return         MFALSE if not empty; MTRUE if empty
 */
@brief Check if wmm TX queue is empty
@param pmadapter  Pointer to the mlan_adapter driver data struct

@return         MFALSE if not empty; MTRUE if empty
@brief Check if wmm TX queue is empty @param pmadapter Pointer to the mlan_adapter driver data struct @return MFALSE if not empty ; MTRUE if empty
int
wlan_wmm_lists_empty(pmlan_adapter pmadapter)
{
	int j;
	pmlan_private priv;
	ENTER();
	for (j = 0; j < pmadapter->priv_num; ++j) {
		priv = pmadapter->priv[j];
		if (priv) {
			if ((priv->port_ctrl_mode == MTRUE) &&
			    (priv->port_open == MFALSE)) {
				PRINTM(MINFO,
				       "wmm_lists_empty: PORT_CLOSED Ignore pkts from BSS%d\n",
				       j);
				continue;
			}
			if (priv->tx_pause)
				continue;
			if (util_scalar_read(pmadapter->pmoal_handle,
					     &priv->wmm.tx_pkts_queued,
					     pmadapter->callbacks.
					     moal_spin_lock,
					     pmadapter->callbacks.
					     moal_spin_unlock)) {
				LEAVE();
				return MFALSE;
			}
		}
	}
	LEAVE();
	return MTRUE;
}
int wlan_wmm_lists_empty ( pmlan_adapter pmadapter ) { int j ; pmlan_private priv ; ENTER ( ) ; for ( j = 0 ; j < pmadapter -> priv_num ; ++ j ) { priv = pmadapter -> priv [ j ] ; if ( priv ) { if ( ( priv -> port_ctrl_mode == MTRUE ) && ( priv -> port_open == MFALSE ) ) { PRINTM ( MINFO , " \n " , j ) ; continue ; } if ( priv -> tx_pause ) continue ; if ( util_scalar_read ( pmadapter -> pmoal_handle , & priv -> wmm . tx_pkts_queued , pmadapter -> callbacks . moal_spin_lock , pmadapter -> callbacks . moal_spin_unlock ) ) { LEAVE ( ) ; return MFALSE ; } } } LEAVE ( ) ; return MTRUE ; }
@brief Check if wmm TX queue is empty
  @param pmadapter  Pointer to the mlan_adapter driver data struct
@brief Check if wmm TX queue is empty @param pmadapter Pointer to the mlan_adapter driver data struct