diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2008-10-30 16:12:05 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-01-06 21:51:50 (GMT) |
commit | 3cae503bf6dba576c13fd94c54fb6ddd9247799e (patch) | |
tree | 12a5780e547586bd50ca8ee2f091a1a9593cdc1b /drivers/staging/winbond/wb35rx.c | |
parent | c930e0c008a1b81429e5dec089970b50f97ef593 (diff) | |
download | linux-3cae503bf6dba576c13fd94c54fb6ddd9247799e.tar.xz |
Staging: w35und: move packet_came() to wb35rx.c
The function no longer has dependencies to wbusb.c so we can move it to
wb35rx.c and make it static now.
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/winbond/wb35rx.c')
-rw-r--r-- | drivers/staging/winbond/wb35rx.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/drivers/staging/winbond/wb35rx.c b/drivers/staging/winbond/wb35rx.c index cd5a8e1..85b861c 100644 --- a/drivers/staging/winbond/wb35rx.c +++ b/drivers/staging/winbond/wb35rx.c @@ -264,8 +264,34 @@ void Wb35Rx_adjust(PDESCRIPTOR pRxDes) pRxDes->buffer_size[0] = BufferSize; } -extern void packet_came(struct ieee80211_hw *hw, char *pRxBufferAddress, int PacketSize); +static void packet_came(struct ieee80211_hw *hw, char *pRxBufferAddress, int PacketSize) +{ + struct wbsoft_priv *priv = hw->priv; + struct sk_buff *skb; + struct ieee80211_rx_status rx_status = {0}; + + if (!priv->enabled) + return; + + skb = dev_alloc_skb(PacketSize); + if (!skb) { + printk("Not enough memory for packet, FIXME\n"); + return; + } + + memcpy(skb_put(skb, PacketSize), + pRxBufferAddress, + PacketSize); +/* + rx_status.rate = 10; + rx_status.channel = 1; + rx_status.freq = 12345; + rx_status.phymode = MODE_IEEE80211B; +*/ + + ieee80211_rx_irqsafe(hw, skb, &rx_status); +} u16 Wb35Rx_indicate(struct ieee80211_hw *hw) { |