diff options
author | Pekka Enberg <penberg@kernel.org> | 2010-11-28 21:00:05 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-12-01 22:45:46 (GMT) |
commit | 01b5ceeca5aa45735a987420c83228a9778a791f (patch) | |
tree | a0a65706a3c76facd3bee1b5ee281836c9b41db9 /drivers/staging/winbond/mds.c | |
parent | 37b0544a4a455609cbf25fa56441a6f1221dec85 (diff) | |
download | linux-01b5ceeca5aa45735a987420c83228a9778a791f.tar.xz |
Staging: w35und: Merge mlmetxrx.c to mds.c
This patch merges mlmetxrx.c to mds.c because it's small and the functions are
only used in mto.c.
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/winbond/mds.c')
-rw-r--r-- | drivers/staging/winbond/mds.c | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/drivers/staging/winbond/mds.c b/drivers/staging/winbond/mds.c index 0daabdc..00e9756 100644 --- a/drivers/staging/winbond/mds.c +++ b/drivers/staging/winbond/mds.c @@ -1,5 +1,4 @@ #include "mds_f.h" -#include "mlmetxrx_f.h" #include "mto.h" #include "wbhal.h" #include "wblinux_f.h" @@ -397,6 +396,44 @@ static void Mds_HeaderCopy(struct wbsoft_priv *adapter, struct wb35_descriptor * } +static void MLME_GetNextPacket(struct wbsoft_priv *adapter, struct wb35_descriptor *desc) +{ + desc->InternalUsed = desc->buffer_start_index + desc->buffer_number; + desc->InternalUsed %= MAX_DESCRIPTOR_BUFFER_INDEX; + desc->buffer_address[desc->InternalUsed] = adapter->sMlmeFrame.pMMPDU; + desc->buffer_size[desc->InternalUsed] = adapter->sMlmeFrame.len; + desc->buffer_total_size += adapter->sMlmeFrame.len; + desc->buffer_number++; + desc->Type = adapter->sMlmeFrame.DataType; +} + +static void MLMEfreeMMPDUBuffer(struct wbsoft_priv *adapter, s8 *pData) +{ + int i; + + /* Reclaim the data buffer */ + for (i = 0; i < MAX_NUM_TX_MMPDU; i++) { + if (pData == (s8 *)&(adapter->sMlmeFrame.TxMMPDU[i])) + break; + } + if (adapter->sMlmeFrame.TxMMPDUInUse[i]) + adapter->sMlmeFrame.TxMMPDUInUse[i] = false; + else { + /* Something wrong + PD43 Add debug code here??? */ + } +} + +static void MLME_SendComplete(struct wbsoft_priv *adapter, u8 PacketID, unsigned char SendOK) +{ + /* Reclaim the data buffer */ + adapter->sMlmeFrame.len = 0; + MLMEfreeMMPDUBuffer(adapter, adapter->sMlmeFrame.pMMPDU); + + /* Return resource */ + adapter->sMlmeFrame.IsInUsed = PACKET_FREE_TO_USE; +} + void Mds_Tx(struct wbsoft_priv *adapter) { |