Skip to content

Commit

Permalink
libertas: kill lbs_upload_tx_packet()
Browse files Browse the repository at this point in the history
It replaces two lines of code. And even for those it has to make
inferences about things (i.e. which device) which the caller would have
just known.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
David Woodhouse authored and David S. Miller committed Jan 28, 2008
1 parent 7bf02c2 commit 6f93a8e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 26 deletions.
2 changes: 0 additions & 2 deletions drivers/net/wireless/libertas/decl.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@ void lbs_get_fwversion(struct lbs_private *priv,
char *fwversion,
int maxlen);

void lbs_upload_rx_packet(struct lbs_private *priv, struct sk_buff *skb);

/** The proc fs interface */
int lbs_process_rx_command(struct lbs_private *priv);
void __lbs_cleanup_and_insert_cmd(struct lbs_private *priv,
Expand Down
32 changes: 9 additions & 23 deletions drivers/net/wireless/libertas/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -131,22 +131,6 @@ static void lbs_compute_rssi(struct lbs_private *priv, struct rxpd *p_rx_pd)
lbs_deb_leave(LBS_DEB_RX);
}

void lbs_upload_rx_packet(struct lbs_private *priv, struct sk_buff *skb)
{
lbs_deb_rx("skb->data %p\n", skb->data);

if (priv->monitormode != LBS_MONITOR_OFF) {
skb->protocol = eth_type_trans(skb, priv->rtap_net_dev);
} else {
if (priv->mesh_dev && IS_MESH_FRAME(skb))
skb->protocol = eth_type_trans(skb, priv->mesh_dev);
else
skb->protocol = eth_type_trans(skb, priv->dev);
}
skb->ip_summed = CHECKSUM_NONE;
netif_rx(skb);
}

/**
* @brief This function processes received packet and forwards it
* to kernel/upper layer
Expand All @@ -158,7 +142,7 @@ void lbs_upload_rx_packet(struct lbs_private *priv, struct sk_buff *skb)
int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *skb)
{
int ret = 0;

struct net_device *dev = priv->dev;
struct rxpackethdr *p_rx_pkt;
struct rxpd *p_rx_pd;

Expand All @@ -169,15 +153,15 @@ int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *skb)

lbs_deb_enter(LBS_DEB_RX);

skb->ip_summed = CHECKSUM_NONE;

if (priv->monitormode != LBS_MONITOR_OFF)
return process_rxed_802_11_packet(priv, skb);

p_rx_pkt = (struct rxpackethdr *) skb->data;
p_rx_pd = &p_rx_pkt->rx_pd;
if (p_rx_pd->rx_control & RxPD_MESH_FRAME)
SET_MESH_FRAME(skb);
else
UNSET_MESH_FRAME(skb);
if (priv->mesh_dev && (p_rx_pd->rx_control & RxPD_MESH_FRAME))
dev = priv->mesh_dev;

lbs_deb_hex(LBS_DEB_RX, "RX Data: Before chop rxpd", skb->data,
min_t(unsigned int, skb->len, 100));
Expand Down Expand Up @@ -262,7 +246,8 @@ int lbs_process_rxed_packet(struct lbs_private *priv, struct sk_buff *skb)
priv->stats.rx_bytes += skb->len;
priv->stats.rx_packets++;

lbs_upload_rx_packet(priv, skb);
skb->protocol = eth_type_trans(skb, dev);
netif_rx(skb);

ret = 0;
done:
Expand Down Expand Up @@ -404,7 +389,8 @@ static int process_rxed_802_11_packet(struct lbs_private *priv,
priv->stats.rx_bytes += skb->len;
priv->stats.rx_packets++;

lbs_upload_rx_packet(priv, skb);
skb->protocol = eth_type_trans(skb, priv->rtap_net_dev);
netif_rx(skb);

ret = 0;

Expand Down
8 changes: 7 additions & 1 deletion drivers/net/wireless/libertas/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* This file contains the handling of TX in wlan driver.
*/
#include <linux/netdevice.h>
#include <linux/etherdevice.h>

#include "hostcmd.h"
#include "radiotap.h"
Expand Down Expand Up @@ -203,7 +204,12 @@ void lbs_send_tx_feedback(struct lbs_private *priv)
try_count = (status >> 16) & 0xff;
radiotap_hdr->data_retries = (try_count) ?
(1 + priv->txretrycount - try_count) : 0;
lbs_upload_rx_packet(priv, priv->currenttxskb);


priv->currenttxskb->protocol = eth_type_trans(priv->currenttxskb,
priv->rtap_net_dev);
netif_rx(priv->currenttxskb);

priv->currenttxskb = NULL;

if (priv->connect_status == LBS_CONNECTED)
Expand Down

0 comments on commit 6f93a8e

Please sign in to comment.