Commit c2246420 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman
Browse files

staging: vt6656: mac80211 conversion: int.c changes



Remove BSSvUpdateNodeTxCounter which is not used. net_device_stats and wsats
will be removed later.

Change handling of ISR_BNTX to mac80211

Change handling of ISR_TBTT. Use IEEE80211_CONF_PS for WLAN_CMD_TBTT_WAKEUP
disable bChannelSwitch this is yet to be done.

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f7c7f7f2
Loading
Loading
Loading
Loading
+6 −43
Original line number Diff line number Diff line
@@ -80,7 +80,6 @@ void INTvWorkItem(struct vnt_private *pDevice)
void INTnsProcessData(struct vnt_private *priv)
{
	struct vnt_interrupt_data *int_data;
	struct vnt_manager *mgmt = &priv->vnt_mgmt;
	struct net_device_stats *stats = &priv->stats;

	DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->s_nsInterruptProcessData\n");
@@ -92,10 +91,6 @@ void INTnsProcessData(struct vnt_private *priv)
			priv->wstats.discard.retries++;
		else
			stats->tx_packets++;

		BSSvUpdateNodeTxCounter(priv,
					int_data->tsr0,
					int_data->pkt0);
	}

	if (int_data->tsr1 & TSR_VALID) {
@@ -103,11 +98,6 @@ void INTnsProcessData(struct vnt_private *priv)
			priv->wstats.discard.retries++;
		else
			stats->tx_packets++;


		BSSvUpdateNodeTxCounter(priv,
					int_data->tsr1,
					int_data->pkt1);
	}

	if (int_data->tsr2 & TSR_VALID) {
@@ -115,10 +105,6 @@ void INTnsProcessData(struct vnt_private *priv)
			priv->wstats.discard.retries++;
		else
			stats->tx_packets++;

		BSSvUpdateNodeTxCounter(priv,
					int_data->tsr2,
					int_data->pkt2);
	}

	if (int_data->tsr3 & TSR_VALID) {
@@ -126,43 +112,19 @@ void INTnsProcessData(struct vnt_private *priv)
			priv->wstats.discard.retries++;
		else
			stats->tx_packets++;

		BSSvUpdateNodeTxCounter(priv,
					int_data->tsr3,
					int_data->pkt3);
	}

	if (int_data->isr0 != 0) {
		if (int_data->isr0 & ISR_BNTX) {
			if (priv->op_mode == NL80211_IFTYPE_AP) {
				if (mgmt->byDTIMCount > 0) {
					mgmt->byDTIMCount--;
					mgmt->sNodeDBTable[0].bRxPSPoll =
						false;
				} else if (mgmt->byDTIMCount == 0) {
					/* check if multicast tx buffering */
					mgmt->byDTIMCount =
						mgmt->byDTIMPeriod-1;
					mgmt->sNodeDBTable[0].bRxPSPoll = true;
					if (mgmt->sNodeDBTable[0].bPSEnable)
						bScheduleCommand((void *) priv,
								 WLAN_CMD_RX_PSPOLL,
								 NULL);
				}
				bScheduleCommand((void *) priv,
						WLAN_CMD_BECON_SEND,
						NULL);
			}
			priv->bBeaconSent = true;
		} else {
			priv->bBeaconSent = false;
		}
		if (int_data->isr0 & ISR_BNTX &&
				priv->op_mode == NL80211_IFTYPE_AP)
			bScheduleCommand(priv, WLAN_CMD_BECON_SEND, NULL);

		if (int_data->isr0 & ISR_TBTT) {
			if (priv->bEnablePSMode)
			if (priv->hw->conf.flags & IEEE80211_CONF_PS)
				bScheduleCommand((void *) priv,
						WLAN_CMD_TBTT_WAKEUP,
						NULL);
#if 0 /* TODO channel switch */
			if (priv->bChannelSwitch) {
				priv->byChannelSwitchCount--;
				if (priv->byChannelSwitchCount == 0)
@@ -170,6 +132,7 @@ void INTnsProcessData(struct vnt_private *priv)
							WLAN_CMD_11H_CHSW,
							NULL);
			}
#endif
		}
		priv->qwCurrTSF = le64_to_cpu(int_data->tsf);
	}