Commit 3bc552a1 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging: vt6656: lock changes: vDMA0_tx_80211

vDMA0_tx_80211 is atomically called.

RFbSetPower can not be called atomically.

If wCurrentRate is different to pDevice->wCurrentRate call
bScheduleCommand WLAN_CMD_SETPOWER.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 931cb9ff
...@@ -1781,11 +1781,11 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb) ...@@ -1781,11 +1781,11 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb)
// 2004.11.11 Kyle -- Using OFDM power to tx MngPkt will decrease the connection capability. // 2004.11.11 Kyle -- Using OFDM power to tx MngPkt will decrease the connection capability.
// And cmd timer will wait data pkt TX finish before scanning so it's OK // And cmd timer will wait data pkt TX finish before scanning so it's OK
// to set power here. // to set power here.
if (pMgmt->eScanState != WMAC_NO_SCANNING) { if (wCurrentRate != pDevice->wCurrentRate) {
RFbSetPower(pDevice, wCurrentRate, pDevice->byCurrentCh); pDevice->wCurrentRate = wCurrentRate;
} else {
RFbSetPower(pDevice, wCurrentRate, pMgmt->uCurrChannel); bScheduleCommand(pDevice, WLAN_CMD_SETPOWER, NULL);
} }
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vDMA0_tx_80211: p80211Header->sA3.wFrameCtl = %x \n", p80211Header->sA3.wFrameCtl); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vDMA0_tx_80211: p80211Header->sA3.wFrameCtl = %x \n", p80211Header->sA3.wFrameCtl);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment