Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 79140
b: refs/heads/master
c: d9268fb
h: refs/heads/master
v: v3
  • Loading branch information
David Woodhouse authored and David S. Miller committed Jan 28, 2008
1 parent a303e3e commit 87ad45f
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 24 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 198cefb9320ea0aa1be43a93b398435447583081
refs/heads/master: d9268fb9a124d067cf93710a85bb6c158d131c97
2 changes: 0 additions & 2 deletions trunk/drivers/net/wireless/libertas/dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
#include <linux/wireless.h>
#include <linux/ethtool.h>
#include <linux/debugfs.h>
#include <net/ieee80211.h>

#include "defs.h"
#include "scan.h"
Expand Down Expand Up @@ -114,7 +113,6 @@ struct lbs_private {
struct net_device_stats stats;
struct net_device *mesh_dev; /* Virtual device */
struct net_device *rtap_net_dev;
struct ieee80211_device *ieee;

struct iw_statistics wstats;
struct lbs_mesh_stats mstats;
Expand Down
36 changes: 15 additions & 21 deletions trunk/drivers/net/wireless/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1448,7 +1448,7 @@ static int lbs_rtap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
static struct net_device_stats *lbs_rtap_get_stats(struct net_device *dev)
{
struct lbs_private *priv = dev->priv;
return &priv->ieee->stats;
return &priv->stats;
}


Expand All @@ -1457,42 +1457,36 @@ void lbs_remove_rtap(struct lbs_private *priv)
if (priv->rtap_net_dev == NULL)
return;
unregister_netdev(priv->rtap_net_dev);
free_ieee80211(priv->rtap_net_dev);
free_netdev(priv->rtap_net_dev);
priv->rtap_net_dev = NULL;
}

int lbs_add_rtap(struct lbs_private *priv)
{
int rc = 0;
struct net_device *rtap_dev;

if (priv->rtap_net_dev)
return -EPERM;

priv->rtap_net_dev = alloc_ieee80211(0);
if (priv->rtap_net_dev == NULL)
rtap_dev = alloc_netdev(0, "rtap%d", ether_setup);
if (rtap_dev == NULL)
return -ENOMEM;

rtap_dev->type = ARPHRD_IEEE80211_RADIOTAP;
rtap_dev->open = lbs_rtap_open;
rtap_dev->stop = lbs_rtap_stop;
rtap_dev->get_stats = lbs_rtap_get_stats;
rtap_dev->hard_start_xmit = lbs_rtap_hard_start_xmit;
rtap_dev->set_multicast_list = lbs_set_multicast_list;
rtap_dev->priv = priv;

priv->ieee = netdev_priv(priv->rtap_net_dev);

strcpy(priv->rtap_net_dev->name, "rtap%d");

priv->rtap_net_dev->type = ARPHRD_IEEE80211_RADIOTAP;
priv->rtap_net_dev->open = lbs_rtap_open;
priv->rtap_net_dev->stop = lbs_rtap_stop;
priv->rtap_net_dev->get_stats = lbs_rtap_get_stats;
priv->rtap_net_dev->hard_start_xmit = lbs_rtap_hard_start_xmit;
priv->rtap_net_dev->set_multicast_list = lbs_set_multicast_list;
priv->rtap_net_dev->priv = priv;

priv->ieee->iw_mode = IW_MODE_MONITOR;

rc = register_netdev(priv->rtap_net_dev);
rc = register_netdev(rtap_dev);
if (rc) {
free_ieee80211(priv->rtap_net_dev);
priv->rtap_net_dev = NULL;
free_netdev(rtap_dev);
return rc;
}
priv->rtap_net_dev = rtap_dev;

return 0;
}
Expand Down

0 comments on commit 87ad45f

Please sign in to comment.