mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
libipw: switch from ieee80211_* to libipw_* naming policy
This eliminates the dual definition of ieee80211_channel (and possibly others), further clarifying who defines what and paving the way for inclusion of cfg80211.h. Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
01a0ac417c
commit
b0a4e7d8a2
11 changed files with 1248 additions and 1247 deletions
|
@ -1673,7 +1673,7 @@ static int ipw2100_start_scan(struct ipw2100_priv *priv)
|
|||
return err;
|
||||
}
|
||||
|
||||
static const struct ieee80211_geo ipw_geos[] = {
|
||||
static const struct libipw_geo ipw_geos[] = {
|
||||
{ /* Restricted */
|
||||
"---",
|
||||
.bg_channels = 14,
|
||||
|
@ -1694,7 +1694,7 @@ static int ipw2100_up(struct ipw2100_priv *priv, int deferred)
|
|||
|
||||
/* Age scan list entries found before suspend */
|
||||
if (priv->suspend_time) {
|
||||
ieee80211_networks_age(priv->ieee, priv->suspend_time);
|
||||
libipw_networks_age(priv->ieee, priv->suspend_time);
|
||||
priv->suspend_time = 0;
|
||||
}
|
||||
|
||||
|
@ -1752,11 +1752,11 @@ static int ipw2100_up(struct ipw2100_priv *priv, int deferred)
|
|||
}
|
||||
|
||||
/* Initialize the geo */
|
||||
if (ieee80211_set_geo(priv->ieee, &ipw_geos[0])) {
|
||||
if (libipw_set_geo(priv->ieee, &ipw_geos[0])) {
|
||||
printk(KERN_WARNING DRV_NAME "Could not set geo\n");
|
||||
return 0;
|
||||
}
|
||||
priv->ieee->freq_band = IEEE80211_24GHZ_BAND;
|
||||
priv->ieee->freq_band = LIBIPW_24GHZ_BAND;
|
||||
|
||||
lock = LOCK_NONE;
|
||||
if (ipw2100_set_ordinal(priv, IPW_ORD_PERS_DB_LOCK, &lock, &ord_len)) {
|
||||
|
@ -1817,7 +1817,7 @@ static int ipw2100_up(struct ipw2100_priv *priv, int deferred)
|
|||
/* Called by register_netdev() */
|
||||
static int ipw2100_net_init(struct net_device *dev)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return ipw2100_up(priv, 1);
|
||||
}
|
||||
|
||||
|
@ -2340,8 +2340,8 @@ static u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 * in_buf,
|
|||
*
|
||||
* When packet is provided by the firmware, it contains the following:
|
||||
*
|
||||
* . ieee80211_hdr
|
||||
* . ieee80211_snap_hdr
|
||||
* . libipw_hdr
|
||||
* . libipw_snap_hdr
|
||||
*
|
||||
* The size of the constructed ethernet
|
||||
*
|
||||
|
@ -2396,7 +2396,7 @@ static void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i)
|
|||
}
|
||||
|
||||
static void isr_rx(struct ipw2100_priv *priv, int i,
|
||||
struct ieee80211_rx_stats *stats)
|
||||
struct libipw_rx_stats *stats)
|
||||
{
|
||||
struct net_device *dev = priv->net_dev;
|
||||
struct ipw2100_status *status = &priv->status_queue.drv[i];
|
||||
|
@ -2435,13 +2435,13 @@ static void isr_rx(struct ipw2100_priv *priv, int i,
|
|||
|
||||
#ifdef IPW2100_RX_DEBUG
|
||||
/* Make a copy of the frame so we can dump it to the logs if
|
||||
* ieee80211_rx fails */
|
||||
* libipw_rx fails */
|
||||
skb_copy_from_linear_data(packet->skb, packet_data,
|
||||
min_t(u32, status->frame_size,
|
||||
IPW_RX_NIC_BUFFER_LENGTH));
|
||||
#endif
|
||||
|
||||
if (!ieee80211_rx(priv->ieee, packet->skb, stats)) {
|
||||
if (!libipw_rx(priv->ieee, packet->skb, stats)) {
|
||||
#ifdef IPW2100_RX_DEBUG
|
||||
IPW_DEBUG_DROP("%s: Non consumed packet:\n",
|
||||
dev->name);
|
||||
|
@ -2449,7 +2449,7 @@ static void isr_rx(struct ipw2100_priv *priv, int i,
|
|||
#endif
|
||||
dev->stats.rx_errors++;
|
||||
|
||||
/* ieee80211_rx failed, so it didn't free the SKB */
|
||||
/* libipw_rx failed, so it didn't free the SKB */
|
||||
dev_kfree_skb_any(packet->skb);
|
||||
packet->skb = NULL;
|
||||
}
|
||||
|
@ -2470,7 +2470,7 @@ static void isr_rx(struct ipw2100_priv *priv, int i,
|
|||
#ifdef CONFIG_IPW2100_MONITOR
|
||||
|
||||
static void isr_rx_monitor(struct ipw2100_priv *priv, int i,
|
||||
struct ieee80211_rx_stats *stats)
|
||||
struct libipw_rx_stats *stats)
|
||||
{
|
||||
struct net_device *dev = priv->net_dev;
|
||||
struct ipw2100_status *status = &priv->status_queue.drv[i];
|
||||
|
@ -2528,10 +2528,10 @@ static void isr_rx_monitor(struct ipw2100_priv *priv, int i,
|
|||
|
||||
skb_put(packet->skb, status->frame_size + sizeof(struct ipw_rt_hdr));
|
||||
|
||||
if (!ieee80211_rx(priv->ieee, packet->skb, stats)) {
|
||||
if (!libipw_rx(priv->ieee, packet->skb, stats)) {
|
||||
dev->stats.rx_errors++;
|
||||
|
||||
/* ieee80211_rx failed, so it didn't free the SKB */
|
||||
/* libipw_rx failed, so it didn't free the SKB */
|
||||
dev_kfree_skb_any(packet->skb);
|
||||
packet->skb = NULL;
|
||||
}
|
||||
|
@ -2615,7 +2615,7 @@ static void __ipw2100_rx_process(struct ipw2100_priv *priv)
|
|||
u16 frame_type;
|
||||
u32 r, w, i, s;
|
||||
struct ipw2100_rx *u;
|
||||
struct ieee80211_rx_stats stats = {
|
||||
struct libipw_rx_stats stats = {
|
||||
.mac_time = jiffies,
|
||||
};
|
||||
|
||||
|
@ -2661,8 +2661,8 @@ static void __ipw2100_rx_process(struct ipw2100_priv *priv)
|
|||
|
||||
stats.mask = 0;
|
||||
if (stats.rssi != 0)
|
||||
stats.mask |= IEEE80211_STATMASK_RSSI;
|
||||
stats.freq = IEEE80211_24GHZ_BAND;
|
||||
stats.mask |= LIBIPW_STATMASK_RSSI;
|
||||
stats.freq = LIBIPW_24GHZ_BAND;
|
||||
|
||||
IPW_DEBUG_RX("%s: '%s' frame type received (%d).\n",
|
||||
priv->net_dev->name, frame_types[frame_type],
|
||||
|
@ -2686,11 +2686,11 @@ static void __ipw2100_rx_process(struct ipw2100_priv *priv)
|
|||
break;
|
||||
}
|
||||
#endif
|
||||
if (stats.len < sizeof(struct ieee80211_hdr_3addr))
|
||||
if (stats.len < sizeof(struct libipw_hdr_3addr))
|
||||
break;
|
||||
switch (WLAN_FC_GET_TYPE(le16_to_cpu(u->rx_data.header.frame_ctl))) {
|
||||
case IEEE80211_FTYPE_MGMT:
|
||||
ieee80211_rx_mgt(priv->ieee,
|
||||
libipw_rx_mgt(priv->ieee,
|
||||
&u->rx_data.header, &stats);
|
||||
break;
|
||||
|
||||
|
@ -2884,7 +2884,7 @@ static int __ipw2100_tx_process(struct ipw2100_priv *priv)
|
|||
tbd->buf_length, PCI_DMA_TODEVICE);
|
||||
}
|
||||
|
||||
ieee80211_txb_free(packet->info.d_struct.txb);
|
||||
libipw_txb_free(packet->info.d_struct.txb);
|
||||
packet->info.d_struct.txb = NULL;
|
||||
|
||||
list_add_tail(element, &priv->tx_free_list);
|
||||
|
@ -3028,7 +3028,7 @@ static void ipw2100_tx_send_data(struct ipw2100_priv *priv)
|
|||
int next = txq->next;
|
||||
int i = 0;
|
||||
struct ipw2100_data_header *ipw_hdr;
|
||||
struct ieee80211_hdr_3addr *hdr;
|
||||
struct libipw_hdr_3addr *hdr;
|
||||
|
||||
while (!list_empty(&priv->tx_pend_list)) {
|
||||
/* if there isn't enough space in TBD queue, then
|
||||
|
@ -3062,7 +3062,7 @@ static void ipw2100_tx_send_data(struct ipw2100_priv *priv)
|
|||
packet->index = txq->next;
|
||||
|
||||
ipw_hdr = packet->info.d_struct.data;
|
||||
hdr = (struct ieee80211_hdr_3addr *)packet->info.d_struct.txb->
|
||||
hdr = (struct libipw_hdr_3addr *)packet->info.d_struct.txb->
|
||||
fragments[0]->data;
|
||||
|
||||
if (priv->ieee->iw_mode == IW_MODE_INFRA) {
|
||||
|
@ -3086,7 +3086,7 @@ static void ipw2100_tx_send_data(struct ipw2100_priv *priv)
|
|||
if (packet->info.d_struct.txb->nr_frags > 1)
|
||||
ipw_hdr->fragment_size =
|
||||
packet->info.d_struct.txb->frag_size -
|
||||
IEEE80211_3ADDR_LEN;
|
||||
LIBIPW_3ADDR_LEN;
|
||||
else
|
||||
ipw_hdr->fragment_size = 0;
|
||||
|
||||
|
@ -3119,13 +3119,13 @@ static void ipw2100_tx_send_data(struct ipw2100_priv *priv)
|
|||
IPW_BD_STATUS_TX_FRAME_NOT_LAST_FRAGMENT;
|
||||
|
||||
tbd->buf_length = packet->info.d_struct.txb->
|
||||
fragments[i]->len - IEEE80211_3ADDR_LEN;
|
||||
fragments[i]->len - LIBIPW_3ADDR_LEN;
|
||||
|
||||
tbd->host_addr = pci_map_single(priv->pci_dev,
|
||||
packet->info.d_struct.
|
||||
txb->fragments[i]->
|
||||
data +
|
||||
IEEE80211_3ADDR_LEN,
|
||||
LIBIPW_3ADDR_LEN,
|
||||
tbd->buf_length,
|
||||
PCI_DMA_TODEVICE);
|
||||
|
||||
|
@ -3330,10 +3330,10 @@ static irqreturn_t ipw2100_interrupt(int irq, void *data)
|
|||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
static int ipw2100_tx(struct ieee80211_txb *txb, struct net_device *dev,
|
||||
static int ipw2100_tx(struct libipw_txb *txb, struct net_device *dev,
|
||||
int pri)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct list_head *element;
|
||||
struct ipw2100_tx_packet *packet;
|
||||
unsigned long flags;
|
||||
|
@ -4488,7 +4488,7 @@ static void ipw2100_tx_initialize(struct ipw2100_priv *priv)
|
|||
/* We simply drop any SKBs that have been queued for
|
||||
* transmit */
|
||||
if (priv->tx_buffers[i].info.d_struct.txb) {
|
||||
ieee80211_txb_free(priv->tx_buffers[i].info.d_struct.
|
||||
libipw_txb_free(priv->tx_buffers[i].info.d_struct.
|
||||
txb);
|
||||
priv->tx_buffers[i].info.d_struct.txb = NULL;
|
||||
}
|
||||
|
@ -4527,7 +4527,7 @@ static void ipw2100_tx_free(struct ipw2100_priv *priv)
|
|||
|
||||
for (i = 0; i < TX_PENDED_QUEUE_LENGTH; i++) {
|
||||
if (priv->tx_buffers[i].info.d_struct.txb) {
|
||||
ieee80211_txb_free(priv->tx_buffers[i].info.d_struct.
|
||||
libipw_txb_free(priv->tx_buffers[i].info.d_struct.
|
||||
txb);
|
||||
priv->tx_buffers[i].info.d_struct.txb = NULL;
|
||||
}
|
||||
|
@ -5558,9 +5558,9 @@ static void ipw2100_security_work(struct work_struct *work)
|
|||
}
|
||||
|
||||
static void shim__set_security(struct net_device *dev,
|
||||
struct ieee80211_security *sec)
|
||||
struct libipw_security *sec)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int i, force_update = 0;
|
||||
|
||||
mutex_lock(&priv->action_mutex);
|
||||
|
@ -5753,7 +5753,7 @@ static int ipw2100_adapter_setup(struct ipw2100_priv *priv)
|
|||
* method as well) to talk to the firmware */
|
||||
static int ipw2100_set_address(struct net_device *dev, void *p)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct sockaddr *addr = p;
|
||||
int err = 0;
|
||||
|
||||
|
@ -5781,7 +5781,7 @@ static int ipw2100_set_address(struct net_device *dev, void *p)
|
|||
|
||||
static int ipw2100_open(struct net_device *dev)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
unsigned long flags;
|
||||
IPW_DEBUG_INFO("dev->open\n");
|
||||
|
||||
|
@ -5797,7 +5797,7 @@ static int ipw2100_open(struct net_device *dev)
|
|||
|
||||
static int ipw2100_close(struct net_device *dev)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
unsigned long flags;
|
||||
struct list_head *element;
|
||||
struct ipw2100_tx_packet *packet;
|
||||
|
@ -5818,7 +5818,7 @@ static int ipw2100_close(struct net_device *dev)
|
|||
list_del(element);
|
||||
DEC_STAT(&priv->tx_pend_stat);
|
||||
|
||||
ieee80211_txb_free(packet->info.d_struct.txb);
|
||||
libipw_txb_free(packet->info.d_struct.txb);
|
||||
packet->info.d_struct.txb = NULL;
|
||||
|
||||
list_add_tail(element, &priv->tx_free_list);
|
||||
|
@ -5836,7 +5836,7 @@ static int ipw2100_close(struct net_device *dev)
|
|||
*/
|
||||
static void ipw2100_tx_timeout(struct net_device *dev)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
dev->stats.tx_errors++;
|
||||
|
||||
|
@ -5861,8 +5861,8 @@ static int ipw2100_wpa_enable(struct ipw2100_priv *priv, int value)
|
|||
static int ipw2100_wpa_set_auth_algs(struct ipw2100_priv *priv, int value)
|
||||
{
|
||||
|
||||
struct ieee80211_device *ieee = priv->ieee;
|
||||
struct ieee80211_security sec = {
|
||||
struct libipw_device *ieee = priv->ieee;
|
||||
struct libipw_security sec = {
|
||||
.flags = SEC_AUTH_MODE,
|
||||
};
|
||||
int ret = 0;
|
||||
|
@ -5907,7 +5907,7 @@ static void ipw2100_wpa_assoc_frame(struct ipw2100_priv *priv,
|
|||
static void ipw_ethtool_get_drvinfo(struct net_device *dev,
|
||||
struct ethtool_drvinfo *info)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
char fw_ver[64], ucode_ver[64];
|
||||
|
||||
strcpy(info->driver, DRV_NAME);
|
||||
|
@ -5924,7 +5924,7 @@ static void ipw_ethtool_get_drvinfo(struct net_device *dev,
|
|||
|
||||
static u32 ipw2100_ethtool_get_link(struct net_device *dev)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return (priv->status & STATUS_ASSOCIATED) ? 1 : 0;
|
||||
}
|
||||
|
||||
|
@ -6011,8 +6011,8 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
|
|||
static const struct net_device_ops ipw2100_netdev_ops = {
|
||||
.ndo_open = ipw2100_open,
|
||||
.ndo_stop = ipw2100_close,
|
||||
.ndo_start_xmit = ieee80211_xmit,
|
||||
.ndo_change_mtu = ieee80211_change_mtu,
|
||||
.ndo_start_xmit = libipw_xmit,
|
||||
.ndo_change_mtu = libipw_change_mtu,
|
||||
.ndo_init = ipw2100_net_init,
|
||||
.ndo_tx_timeout = ipw2100_tx_timeout,
|
||||
.ndo_set_mac_address = ipw2100_set_address,
|
||||
|
@ -6032,7 +6032,7 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
|
|||
dev = alloc_ieee80211(sizeof(struct ipw2100_priv));
|
||||
if (!dev)
|
||||
return NULL;
|
||||
priv = ieee80211_priv(dev);
|
||||
priv = libipw_priv(dev);
|
||||
priv->ieee = netdev_priv(dev);
|
||||
priv->pci_dev = pci_dev;
|
||||
priv->net_dev = dev;
|
||||
|
@ -6046,7 +6046,7 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
|
|||
dev->netdev_ops = &ipw2100_netdev_ops;
|
||||
dev->ethtool_ops = &ipw2100_ethtool_ops;
|
||||
dev->wireless_handlers = &ipw2100_wx_handler_def;
|
||||
priv->wireless_data.ieee80211 = priv->ieee;
|
||||
priv->wireless_data.libipw = priv->ieee;
|
||||
dev->wireless_data = &priv->wireless_data;
|
||||
dev->watchdog_timeo = 3 * HZ;
|
||||
dev->irq = 0;
|
||||
|
@ -6202,7 +6202,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
|
|||
return err;
|
||||
}
|
||||
|
||||
priv = ieee80211_priv(dev);
|
||||
priv = libipw_priv(dev);
|
||||
|
||||
pci_set_master(pci_dev);
|
||||
pci_set_drvdata(pci_dev, priv);
|
||||
|
@ -6629,7 +6629,7 @@ static int ipw2100_wx_get_name(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
if (!(priv->status & STATUS_ASSOCIATED))
|
||||
strcpy(wrqu->name, "unassociated");
|
||||
else
|
||||
|
@ -6643,7 +6643,7 @@ static int ipw2100_wx_set_freq(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct iw_freq *fwrq = &wrqu->freq;
|
||||
int err = 0;
|
||||
|
||||
|
@ -6693,7 +6693,7 @@ static int ipw2100_wx_get_freq(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
wrqu->freq.e = 0;
|
||||
|
||||
|
@ -6714,7 +6714,7 @@ static int ipw2100_wx_set_mode(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0;
|
||||
|
||||
IPW_DEBUG_WX("SET Mode -> %d \n", wrqu->mode);
|
||||
|
@ -6757,7 +6757,7 @@ static int ipw2100_wx_get_mode(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
wrqu->mode = priv->ieee->iw_mode;
|
||||
IPW_DEBUG_WX("GET Mode -> %d\n", wrqu->mode);
|
||||
|
@ -6792,7 +6792,7 @@ static int ipw2100_wx_get_range(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct iw_range *range = (struct iw_range *)extra;
|
||||
u16 val;
|
||||
int i, level;
|
||||
|
@ -6913,7 +6913,7 @@ static int ipw2100_wx_set_wap(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0;
|
||||
|
||||
static const unsigned char any[] = {
|
||||
|
@ -6962,7 +6962,7 @@ static int ipw2100_wx_get_wap(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
/* If we are associated, trying to associate, or have a statically
|
||||
* configured BSSID then return that; otherwise return ANY */
|
||||
|
@ -6980,7 +6980,7 @@ static int ipw2100_wx_set_essid(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
char *essid = ""; /* ANY */
|
||||
int length = 0;
|
||||
int err = 0;
|
||||
|
@ -7035,7 +7035,7 @@ static int ipw2100_wx_get_essid(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
DECLARE_SSID_BUF(ssid);
|
||||
|
||||
/* If we are associated, trying to associate, or have a statically
|
||||
|
@ -7063,7 +7063,7 @@ static int ipw2100_wx_set_nick(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
if (wrqu->data.length > IW_ESSID_MAX_SIZE)
|
||||
return -E2BIG;
|
||||
|
@ -7085,7 +7085,7 @@ static int ipw2100_wx_get_nick(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
wrqu->data.length = strlen(priv->nick);
|
||||
memcpy(extra, priv->nick, wrqu->data.length);
|
||||
|
@ -7100,7 +7100,7 @@ static int ipw2100_wx_set_rate(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
u32 target_rate = wrqu->bitrate.value;
|
||||
u32 rate;
|
||||
int err = 0;
|
||||
|
@ -7140,7 +7140,7 @@ static int ipw2100_wx_get_rate(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int val;
|
||||
unsigned int len = sizeof(val);
|
||||
int err = 0;
|
||||
|
@ -7192,7 +7192,7 @@ static int ipw2100_wx_set_rts(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int value, err;
|
||||
|
||||
/* Auto RTS not yet supported */
|
||||
|
@ -7231,7 +7231,7 @@ static int ipw2100_wx_get_rts(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
wrqu->rts.value = priv->rts_threshold & ~RTS_DISABLED;
|
||||
wrqu->rts.fixed = 1; /* no auto select */
|
||||
|
@ -7248,7 +7248,7 @@ static int ipw2100_wx_set_txpow(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0, value;
|
||||
|
||||
if (ipw_radio_kill_sw(priv, wrqu->txpower.disabled))
|
||||
|
@ -7293,7 +7293,7 @@ static int ipw2100_wx_get_txpow(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
wrqu->txpower.disabled = (priv->status & STATUS_RF_KILL_MASK) ? 1 : 0;
|
||||
|
||||
|
@ -7320,7 +7320,7 @@ static int ipw2100_wx_set_frag(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
if (!wrqu->frag.fixed)
|
||||
return -EINVAL;
|
||||
|
@ -7350,7 +7350,7 @@ static int ipw2100_wx_get_frag(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
wrqu->frag.value = priv->frag_threshold & ~FRAG_DISABLED;
|
||||
wrqu->frag.fixed = 0; /* no auto select */
|
||||
wrqu->frag.disabled = (priv->frag_threshold & FRAG_DISABLED) ? 1 : 0;
|
||||
|
@ -7364,7 +7364,7 @@ static int ipw2100_wx_set_retry(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0;
|
||||
|
||||
if (wrqu->retry.flags & IW_RETRY_LIFETIME || wrqu->retry.disabled)
|
||||
|
@ -7412,7 +7412,7 @@ static int ipw2100_wx_get_retry(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
wrqu->retry.disabled = 0; /* can't be disabled */
|
||||
|
||||
|
@ -7440,7 +7440,7 @@ static int ipw2100_wx_set_scan(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0;
|
||||
|
||||
mutex_lock(&priv->action_mutex);
|
||||
|
@ -7472,8 +7472,8 @@ static int ipw2100_wx_get_scan(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
return ieee80211_wx_get_scan(priv->ieee, info, wrqu, extra);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return libipw_wx_get_scan(priv->ieee, info, wrqu, extra);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -7487,8 +7487,8 @@ static int ipw2100_wx_set_encode(struct net_device *dev,
|
|||
* No check of STATUS_INITIALIZED required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
return ieee80211_wx_set_encode(priv->ieee, info, wrqu, key);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return libipw_wx_set_encode(priv->ieee, info, wrqu, key);
|
||||
}
|
||||
|
||||
static int ipw2100_wx_get_encode(struct net_device *dev,
|
||||
|
@ -7499,15 +7499,15 @@ static int ipw2100_wx_get_encode(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
return ieee80211_wx_get_encode(priv->ieee, info, wrqu, key);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return libipw_wx_get_encode(priv->ieee, info, wrqu, key);
|
||||
}
|
||||
|
||||
static int ipw2100_wx_set_power(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0;
|
||||
|
||||
mutex_lock(&priv->action_mutex);
|
||||
|
@ -7556,7 +7556,7 @@ static int ipw2100_wx_get_power(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
if (!(priv->power_mode & IPW_POWER_ENABLED))
|
||||
wrqu->power.disabled = 1;
|
||||
|
@ -7580,8 +7580,8 @@ static int ipw2100_wx_set_genie(struct net_device *dev,
|
|||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ieee80211_device *ieee = priv->ieee;
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct libipw_device *ieee = priv->ieee;
|
||||
u8 *buf;
|
||||
|
||||
if (!ieee->wpa_enabled)
|
||||
|
@ -7615,8 +7615,8 @@ static int ipw2100_wx_get_genie(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ieee80211_device *ieee = priv->ieee;
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct libipw_device *ieee = priv->ieee;
|
||||
|
||||
if (ieee->wpa_ie_len == 0 || ieee->wpa_ie == NULL) {
|
||||
wrqu->data.length = 0;
|
||||
|
@ -7637,8 +7637,8 @@ static int ipw2100_wx_set_auth(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ieee80211_device *ieee = priv->ieee;
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct libipw_device *ieee = priv->ieee;
|
||||
struct iw_param *param = &wrqu->param;
|
||||
struct lib80211_crypt_data *crypt;
|
||||
unsigned long flags;
|
||||
|
@ -7682,7 +7682,7 @@ static int ipw2100_wx_set_auth(struct net_device *dev,
|
|||
* can use this to determine if the CAP_PRIVACY_ON bit should
|
||||
* be set.
|
||||
*/
|
||||
struct ieee80211_security sec = {
|
||||
struct libipw_security sec = {
|
||||
.flags = SEC_ENABLED,
|
||||
.enabled = param->value,
|
||||
};
|
||||
|
@ -7730,8 +7730,8 @@ static int ipw2100_wx_get_auth(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ieee80211_device *ieee = priv->ieee;
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct libipw_device *ieee = priv->ieee;
|
||||
struct lib80211_crypt_data *crypt;
|
||||
struct iw_param *param = &wrqu->param;
|
||||
int ret = 0;
|
||||
|
@ -7792,8 +7792,8 @@ static int ipw2100_wx_set_encodeext(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
return ieee80211_wx_set_encodeext(priv->ieee, info, wrqu, extra);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return libipw_wx_set_encodeext(priv->ieee, info, wrqu, extra);
|
||||
}
|
||||
|
||||
/* SIOCGIWENCODEEXT */
|
||||
|
@ -7801,8 +7801,8 @@ static int ipw2100_wx_get_encodeext(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
return ieee80211_wx_get_encodeext(priv->ieee, info, wrqu, extra);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
return libipw_wx_get_encodeext(priv->ieee, info, wrqu, extra);
|
||||
}
|
||||
|
||||
/* SIOCSIWMLME */
|
||||
|
@ -7810,7 +7810,7 @@ static int ipw2100_wx_set_mlme(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct iw_mlme *mlme = (struct iw_mlme *)extra;
|
||||
__le16 reason;
|
||||
|
||||
|
@ -7841,7 +7841,7 @@ static int ipw2100_wx_set_promisc(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int *parms = (int *)extra;
|
||||
int enable = (parms[0] > 0);
|
||||
int err = 0;
|
||||
|
@ -7872,7 +7872,7 @@ static int ipw2100_wx_reset(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
if (priv->status & STATUS_INITIALIZED)
|
||||
schedule_reset(priv);
|
||||
return 0;
|
||||
|
@ -7884,7 +7884,7 @@ static int ipw2100_wx_set_powermode(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err = 0, mode = *(int *)extra;
|
||||
|
||||
mutex_lock(&priv->action_mutex);
|
||||
|
@ -7912,7 +7912,7 @@ static int ipw2100_wx_get_powermode(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int level = IPW_POWER_LEVEL(priv->power_mode);
|
||||
s32 timeout, period;
|
||||
|
||||
|
@ -7948,7 +7948,7 @@ static int ipw2100_wx_set_preamble(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err, mode = *(int *)extra;
|
||||
|
||||
mutex_lock(&priv->action_mutex);
|
||||
|
@ -7981,7 +7981,7 @@ static int ipw2100_wx_get_preamble(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
if (priv->config & CFG_LONG_PREAMBLE)
|
||||
snprintf(wrqu->name, IFNAMSIZ, "long (1)");
|
||||
|
@ -7996,7 +7996,7 @@ static int ipw2100_wx_set_crc_check(struct net_device *dev,
|
|||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
int err, mode = *(int *)extra;
|
||||
|
||||
mutex_lock(&priv->action_mutex);
|
||||
|
@ -8028,7 +8028,7 @@ static int ipw2100_wx_get_crc_check(struct net_device *dev,
|
|||
* This can be called at any time. No action lock required
|
||||
*/
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
|
||||
if (priv->config & CFG_CRC_CHECK)
|
||||
snprintf(wrqu->name, IFNAMSIZ, "CRC checked (1)");
|
||||
|
@ -8181,7 +8181,7 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev)
|
|||
int beacon_qual;
|
||||
int quality;
|
||||
|
||||
struct ipw2100_priv *priv = ieee80211_priv(dev);
|
||||
struct ipw2100_priv *priv = libipw_priv(dev);
|
||||
struct iw_statistics *wstats;
|
||||
u32 rssi, tx_retries, missed_beacons, tx_failures;
|
||||
u32 ord_len = sizeof(u32);
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
#include <linux/workqueue.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include "ieee80211.h"
|
||||
#include "libipw.h"
|
||||
|
||||
struct ipw2100_priv;
|
||||
struct ipw2100_tx_packet;
|
||||
|
@ -343,7 +343,7 @@ struct ipw2100_tx_packet {
|
|||
struct { /* DATA */
|
||||
struct ipw2100_data_header *data;
|
||||
dma_addr_t data_phys;
|
||||
struct ieee80211_txb *txb;
|
||||
struct libipw_txb *txb;
|
||||
} d_struct;
|
||||
} info;
|
||||
int jiffy_start;
|
||||
|
@ -492,7 +492,7 @@ struct ipw2100_priv {
|
|||
int stop_hang_check; /* Set 1 when shutting down to kill hang_check */
|
||||
int stop_rf_kill; /* Set 1 when shutting down to kill rf_kill */
|
||||
|
||||
struct ieee80211_device *ieee;
|
||||
struct libipw_device *ieee;
|
||||
unsigned long status;
|
||||
unsigned long config;
|
||||
unsigned long capability;
|
||||
|
@ -788,7 +788,7 @@ struct ipw2100_priv {
|
|||
#define IPW_CARD_DISABLE_PHY_OFF_COMPLETE_WAIT 100 // 100 milli
|
||||
#define IPW_PREPARE_POWER_DOWN_COMPLETE_WAIT 100 // 100 milli
|
||||
|
||||
#define IPW_HEADER_802_11_SIZE sizeof(struct ieee80211_hdr_3addr)
|
||||
#define IPW_HEADER_802_11_SIZE sizeof(struct libipw_hdr_3addr)
|
||||
#define IPW_MAX_80211_PAYLOAD_SIZE 2304U
|
||||
#define IPW_MAX_802_11_PAYLOAD_LENGTH 2312
|
||||
#define IPW_MAX_ACCEPTABLE_TX_FRAME_LENGTH 1536
|
||||
|
@ -803,13 +803,13 @@ struct ipw2100_priv {
|
|||
IPW_802_11_FCS_LENGTH)
|
||||
|
||||
#define IPW_802_11_PAYLOAD_OFFSET \
|
||||
(sizeof(struct ieee80211_hdr_3addr) + \
|
||||
sizeof(struct ieee80211_snap_hdr))
|
||||
(sizeof(struct libipw_hdr_3addr) + \
|
||||
sizeof(struct libipw_snap_hdr))
|
||||
|
||||
struct ipw2100_rx {
|
||||
union {
|
||||
unsigned char payload[IPW_RX_NIC_BUFFER_LENGTH];
|
||||
struct ieee80211_hdr_4addr header;
|
||||
struct libipw_hdr_4addr header;
|
||||
u32 status;
|
||||
struct ipw2100_notification notification;
|
||||
struct ipw2100_cmd_header command;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -55,7 +55,7 @@
|
|||
|
||||
#include <linux/workqueue.h>
|
||||
|
||||
#include "ieee80211.h"
|
||||
#include "libipw.h"
|
||||
|
||||
/* Authentication and Association States */
|
||||
enum connection_manager_assoc_states {
|
||||
|
@ -365,8 +365,8 @@ enum connection_manager_assoc_states {
|
|||
/* QoS sturctures */
|
||||
struct ipw_qos_info {
|
||||
int qos_enable;
|
||||
struct ieee80211_qos_parameters *def_qos_parm_OFDM;
|
||||
struct ieee80211_qos_parameters *def_qos_parm_CCK;
|
||||
struct libipw_qos_parameters *def_qos_parm_OFDM;
|
||||
struct libipw_qos_parameters *def_qos_parm_CCK;
|
||||
u32 burst_duration_CCK;
|
||||
u32 burst_duration_OFDM;
|
||||
u16 qos_no_ack_mask;
|
||||
|
@ -534,7 +534,7 @@ typedef void destructor_func(const void *);
|
|||
struct clx2_tx_queue {
|
||||
struct clx2_queue q;
|
||||
struct tfd_frame *bd;
|
||||
struct ieee80211_txb **txb;
|
||||
struct libipw_txb **txb;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1144,7 +1144,7 @@ enum ipw_prom_filter {
|
|||
struct ipw_priv;
|
||||
struct ipw_prom_priv {
|
||||
struct ipw_priv *priv;
|
||||
struct ieee80211_device *ieee;
|
||||
struct libipw_device *ieee;
|
||||
enum ipw_prom_filter filter;
|
||||
int tx_packets;
|
||||
int rx_packets;
|
||||
|
@ -1175,7 +1175,7 @@ struct ipw_rt_hdr {
|
|||
|
||||
struct ipw_priv {
|
||||
/* ieee device used by generic ieee processing code */
|
||||
struct ieee80211_device *ieee;
|
||||
struct libipw_device *ieee;
|
||||
|
||||
spinlock_t lock;
|
||||
spinlock_t irq_lock;
|
||||
|
@ -1222,7 +1222,7 @@ struct ipw_priv {
|
|||
u32 roaming_threshold;
|
||||
|
||||
struct ipw_associate assoc_request;
|
||||
struct ieee80211_network *assoc_network;
|
||||
struct libipw_network *assoc_network;
|
||||
|
||||
unsigned long ts_scan_abort;
|
||||
struct ipw_supported_rates rates;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -41,9 +41,9 @@
|
|||
#include <linux/etherdevice.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#include "ieee80211.h"
|
||||
#include "libipw.h"
|
||||
|
||||
int ieee80211_is_valid_channel(struct ieee80211_device *ieee, u8 channel)
|
||||
int libipw_is_valid_channel(struct libipw_device *ieee, u8 channel)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -52,27 +52,27 @@ int ieee80211_is_valid_channel(struct ieee80211_device *ieee, u8 channel)
|
|||
if (ieee->geo.bg_channels == 0 && ieee->geo.a_channels == 0)
|
||||
return 0;
|
||||
|
||||
if (ieee->freq_band & IEEE80211_24GHZ_BAND)
|
||||
if (ieee->freq_band & LIBIPW_24GHZ_BAND)
|
||||
for (i = 0; i < ieee->geo.bg_channels; i++)
|
||||
/* NOTE: If G mode is currently supported but
|
||||
* this is a B only channel, we don't see it
|
||||
* as valid. */
|
||||
if ((ieee->geo.bg[i].channel == channel) &&
|
||||
!(ieee->geo.bg[i].flags & IEEE80211_CH_INVALID) &&
|
||||
!(ieee->geo.bg[i].flags & LIBIPW_CH_INVALID) &&
|
||||
(!(ieee->mode & IEEE_G) ||
|
||||
!(ieee->geo.bg[i].flags & IEEE80211_CH_B_ONLY)))
|
||||
return IEEE80211_24GHZ_BAND;
|
||||
!(ieee->geo.bg[i].flags & LIBIPW_CH_B_ONLY)))
|
||||
return LIBIPW_24GHZ_BAND;
|
||||
|
||||
if (ieee->freq_band & IEEE80211_52GHZ_BAND)
|
||||
if (ieee->freq_band & LIBIPW_52GHZ_BAND)
|
||||
for (i = 0; i < ieee->geo.a_channels; i++)
|
||||
if ((ieee->geo.a[i].channel == channel) &&
|
||||
!(ieee->geo.a[i].flags & IEEE80211_CH_INVALID))
|
||||
return IEEE80211_52GHZ_BAND;
|
||||
!(ieee->geo.a[i].flags & LIBIPW_CH_INVALID))
|
||||
return LIBIPW_52GHZ_BAND;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ieee80211_channel_to_index(struct ieee80211_device *ieee, u8 channel)
|
||||
int libipw_channel_to_index(struct libipw_device *ieee, u8 channel)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -81,12 +81,12 @@ int ieee80211_channel_to_index(struct ieee80211_device *ieee, u8 channel)
|
|||
if (ieee->geo.bg_channels == 0 && ieee->geo.a_channels == 0)
|
||||
return -1;
|
||||
|
||||
if (ieee->freq_band & IEEE80211_24GHZ_BAND)
|
||||
if (ieee->freq_band & LIBIPW_24GHZ_BAND)
|
||||
for (i = 0; i < ieee->geo.bg_channels; i++)
|
||||
if (ieee->geo.bg[i].channel == channel)
|
||||
return i;
|
||||
|
||||
if (ieee->freq_band & IEEE80211_52GHZ_BAND)
|
||||
if (ieee->freq_band & LIBIPW_52GHZ_BAND)
|
||||
for (i = 0; i < ieee->geo.a_channels; i++)
|
||||
if (ieee->geo.a[i].channel == channel)
|
||||
return i;
|
||||
|
@ -94,22 +94,22 @@ int ieee80211_channel_to_index(struct ieee80211_device *ieee, u8 channel)
|
|||
return -1;
|
||||
}
|
||||
|
||||
u32 ieee80211_channel_to_freq(struct ieee80211_device * ieee, u8 channel)
|
||||
u32 libipw_channel_to_freq(struct libipw_device * ieee, u8 channel)
|
||||
{
|
||||
const struct ieee80211_channel * ch;
|
||||
const struct libipw_channel * ch;
|
||||
|
||||
/* Driver needs to initialize the geography map before using
|
||||
* these helper functions */
|
||||
if (ieee->geo.bg_channels == 0 && ieee->geo.a_channels == 0)
|
||||
return 0;
|
||||
|
||||
ch = ieee80211_get_channel(ieee, channel);
|
||||
ch = libipw_get_channel(ieee, channel);
|
||||
if (!ch->channel)
|
||||
return 0;
|
||||
return ch->freq;
|
||||
}
|
||||
|
||||
u8 ieee80211_freq_to_channel(struct ieee80211_device * ieee, u32 freq)
|
||||
u8 libipw_freq_to_channel(struct libipw_device * ieee, u32 freq)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -120,12 +120,12 @@ u8 ieee80211_freq_to_channel(struct ieee80211_device * ieee, u32 freq)
|
|||
|
||||
freq /= 100000;
|
||||
|
||||
if (ieee->freq_band & IEEE80211_24GHZ_BAND)
|
||||
if (ieee->freq_band & LIBIPW_24GHZ_BAND)
|
||||
for (i = 0; i < ieee->geo.bg_channels; i++)
|
||||
if (ieee->geo.bg[i].freq == freq)
|
||||
return ieee->geo.bg[i].channel;
|
||||
|
||||
if (ieee->freq_band & IEEE80211_52GHZ_BAND)
|
||||
if (ieee->freq_band & LIBIPW_52GHZ_BAND)
|
||||
for (i = 0; i < ieee->geo.a_channels; i++)
|
||||
if (ieee->geo.a[i].freq == freq)
|
||||
return ieee->geo.a[i].channel;
|
||||
|
@ -133,63 +133,63 @@ u8 ieee80211_freq_to_channel(struct ieee80211_device * ieee, u32 freq)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int ieee80211_set_geo(struct ieee80211_device *ieee,
|
||||
const struct ieee80211_geo *geo)
|
||||
int libipw_set_geo(struct libipw_device *ieee,
|
||||
const struct libipw_geo *geo)
|
||||
{
|
||||
memcpy(ieee->geo.name, geo->name, 3);
|
||||
ieee->geo.name[3] = '\0';
|
||||
ieee->geo.bg_channels = geo->bg_channels;
|
||||
ieee->geo.a_channels = geo->a_channels;
|
||||
memcpy(ieee->geo.bg, geo->bg, geo->bg_channels *
|
||||
sizeof(struct ieee80211_channel));
|
||||
sizeof(struct libipw_channel));
|
||||
memcpy(ieee->geo.a, geo->a, ieee->geo.a_channels *
|
||||
sizeof(struct ieee80211_channel));
|
||||
sizeof(struct libipw_channel));
|
||||
return 0;
|
||||
}
|
||||
|
||||
const struct ieee80211_geo *ieee80211_get_geo(struct ieee80211_device *ieee)
|
||||
const struct libipw_geo *libipw_get_geo(struct libipw_device *ieee)
|
||||
{
|
||||
return &ieee->geo;
|
||||
}
|
||||
|
||||
u8 ieee80211_get_channel_flags(struct ieee80211_device * ieee, u8 channel)
|
||||
u8 libipw_get_channel_flags(struct libipw_device * ieee, u8 channel)
|
||||
{
|
||||
int index = ieee80211_channel_to_index(ieee, channel);
|
||||
int index = libipw_channel_to_index(ieee, channel);
|
||||
|
||||
if (index == -1)
|
||||
return IEEE80211_CH_INVALID;
|
||||
return LIBIPW_CH_INVALID;
|
||||
|
||||
if (channel <= IEEE80211_24GHZ_CHANNELS)
|
||||
if (channel <= LIBIPW_24GHZ_CHANNELS)
|
||||
return ieee->geo.bg[index].flags;
|
||||
|
||||
return ieee->geo.a[index].flags;
|
||||
}
|
||||
|
||||
static const struct ieee80211_channel bad_channel = {
|
||||
static const struct libipw_channel bad_channel = {
|
||||
.channel = 0,
|
||||
.flags = IEEE80211_CH_INVALID,
|
||||
.flags = LIBIPW_CH_INVALID,
|
||||
.max_power = 0,
|
||||
};
|
||||
|
||||
const struct ieee80211_channel *ieee80211_get_channel(struct ieee80211_device
|
||||
const struct libipw_channel *libipw_get_channel(struct libipw_device
|
||||
*ieee, u8 channel)
|
||||
{
|
||||
int index = ieee80211_channel_to_index(ieee, channel);
|
||||
int index = libipw_channel_to_index(ieee, channel);
|
||||
|
||||
if (index == -1)
|
||||
return &bad_channel;
|
||||
|
||||
if (channel <= IEEE80211_24GHZ_CHANNELS)
|
||||
if (channel <= LIBIPW_24GHZ_CHANNELS)
|
||||
return &ieee->geo.bg[index];
|
||||
|
||||
return &ieee->geo.a[index];
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(ieee80211_get_channel);
|
||||
EXPORT_SYMBOL(ieee80211_get_channel_flags);
|
||||
EXPORT_SYMBOL(ieee80211_is_valid_channel);
|
||||
EXPORT_SYMBOL(ieee80211_freq_to_channel);
|
||||
EXPORT_SYMBOL(ieee80211_channel_to_freq);
|
||||
EXPORT_SYMBOL(ieee80211_channel_to_index);
|
||||
EXPORT_SYMBOL(ieee80211_set_geo);
|
||||
EXPORT_SYMBOL(ieee80211_get_geo);
|
||||
EXPORT_SYMBOL(libipw_get_channel);
|
||||
EXPORT_SYMBOL(libipw_get_channel_flags);
|
||||
EXPORT_SYMBOL(libipw_is_valid_channel);
|
||||
EXPORT_SYMBOL(libipw_freq_to_channel);
|
||||
EXPORT_SYMBOL(libipw_channel_to_freq);
|
||||
EXPORT_SYMBOL(libipw_channel_to_index);
|
||||
EXPORT_SYMBOL(libipw_set_geo);
|
||||
EXPORT_SYMBOL(libipw_get_geo);
|
||||
|
|
|
@ -50,11 +50,11 @@
|
|||
#include <net/net_namespace.h>
|
||||
#include <net/arp.h>
|
||||
|
||||
#include "ieee80211.h"
|
||||
#include "libipw.h"
|
||||
|
||||
#define DRV_DESCRIPTION "802.11 data/management/control stack"
|
||||
#define DRV_NAME "ieee80211"
|
||||
#define DRV_VERSION IEEE80211_VERSION
|
||||
#define DRV_VERSION LIBIPW_VERSION
|
||||
#define DRV_COPYRIGHT "Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>"
|
||||
|
||||
MODULE_VERSION(DRV_VERSION);
|
||||
|
@ -62,13 +62,13 @@ MODULE_DESCRIPTION(DRV_DESCRIPTION);
|
|||
MODULE_AUTHOR(DRV_COPYRIGHT);
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
static int ieee80211_networks_allocate(struct ieee80211_device *ieee)
|
||||
static int libipw_networks_allocate(struct libipw_device *ieee)
|
||||
{
|
||||
if (ieee->networks)
|
||||
return 0;
|
||||
|
||||
ieee->networks =
|
||||
kzalloc(MAX_NETWORK_COUNT * sizeof(struct ieee80211_network),
|
||||
kzalloc(MAX_NETWORK_COUNT * sizeof(struct libipw_network),
|
||||
GFP_KERNEL);
|
||||
if (!ieee->networks) {
|
||||
printk(KERN_WARNING "%s: Out of memory allocating beacons\n",
|
||||
|
@ -79,7 +79,7 @@ static int ieee80211_networks_allocate(struct ieee80211_device *ieee)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void ieee80211_network_reset(struct ieee80211_network *network)
|
||||
void libipw_network_reset(struct libipw_network *network)
|
||||
{
|
||||
if (!network)
|
||||
return;
|
||||
|
@ -90,7 +90,7 @@ void ieee80211_network_reset(struct ieee80211_network *network)
|
|||
}
|
||||
}
|
||||
|
||||
static inline void ieee80211_networks_free(struct ieee80211_device *ieee)
|
||||
static inline void libipw_networks_free(struct libipw_device *ieee)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -105,10 +105,10 @@ static inline void ieee80211_networks_free(struct ieee80211_device *ieee)
|
|||
ieee->networks = NULL;
|
||||
}
|
||||
|
||||
void ieee80211_networks_age(struct ieee80211_device *ieee,
|
||||
void libipw_networks_age(struct libipw_device *ieee,
|
||||
unsigned long age_secs)
|
||||
{
|
||||
struct ieee80211_network *network = NULL;
|
||||
struct libipw_network *network = NULL;
|
||||
unsigned long flags;
|
||||
unsigned long age_jiffies = msecs_to_jiffies(age_secs * MSEC_PER_SEC);
|
||||
|
||||
|
@ -118,9 +118,9 @@ void ieee80211_networks_age(struct ieee80211_device *ieee,
|
|||
}
|
||||
spin_unlock_irqrestore(&ieee->lock, flags);
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_networks_age);
|
||||
EXPORT_SYMBOL(libipw_networks_age);
|
||||
|
||||
static void ieee80211_networks_initialize(struct ieee80211_device *ieee)
|
||||
static void libipw_networks_initialize(struct libipw_device *ieee)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -131,38 +131,38 @@ static void ieee80211_networks_initialize(struct ieee80211_device *ieee)
|
|||
&ieee->network_free_list);
|
||||
}
|
||||
|
||||
int ieee80211_change_mtu(struct net_device *dev, int new_mtu)
|
||||
int libipw_change_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
if ((new_mtu < 68) || (new_mtu > IEEE80211_DATA_LEN))
|
||||
if ((new_mtu < 68) || (new_mtu > LIBIPW_DATA_LEN))
|
||||
return -EINVAL;
|
||||
dev->mtu = new_mtu;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_change_mtu);
|
||||
EXPORT_SYMBOL(libipw_change_mtu);
|
||||
|
||||
struct net_device *alloc_ieee80211(int sizeof_priv)
|
||||
{
|
||||
struct ieee80211_device *ieee;
|
||||
struct libipw_device *ieee;
|
||||
struct net_device *dev;
|
||||
int err;
|
||||
|
||||
IEEE80211_DEBUG_INFO("Initializing...\n");
|
||||
LIBIPW_DEBUG_INFO("Initializing...\n");
|
||||
|
||||
dev = alloc_etherdev(sizeof(struct ieee80211_device) + sizeof_priv);
|
||||
dev = alloc_etherdev(sizeof(struct libipw_device) + sizeof_priv);
|
||||
if (!dev) {
|
||||
IEEE80211_ERROR("Unable to allocate network device.\n");
|
||||
LIBIPW_ERROR("Unable to allocate network device.\n");
|
||||
goto failed;
|
||||
}
|
||||
ieee = netdev_priv(dev);
|
||||
|
||||
ieee->dev = dev;
|
||||
|
||||
err = ieee80211_networks_allocate(ieee);
|
||||
err = libipw_networks_allocate(ieee);
|
||||
if (err) {
|
||||
IEEE80211_ERROR("Unable to allocate beacon storage: %d\n", err);
|
||||
LIBIPW_ERROR("Unable to allocate beacon storage: %d\n", err);
|
||||
goto failed_free_netdev;
|
||||
}
|
||||
ieee80211_networks_initialize(ieee);
|
||||
libipw_networks_initialize(ieee);
|
||||
|
||||
/* Default fragmentation threshold is maximum payload size */
|
||||
ieee->fts = DEFAULT_FTS;
|
||||
|
@ -201,25 +201,25 @@ failed:
|
|||
|
||||
void free_ieee80211(struct net_device *dev)
|
||||
{
|
||||
struct ieee80211_device *ieee = netdev_priv(dev);
|
||||
struct libipw_device *ieee = netdev_priv(dev);
|
||||
|
||||
lib80211_crypt_info_free(&ieee->crypt_info);
|
||||
|
||||
ieee80211_networks_free(ieee);
|
||||
libipw_networks_free(ieee);
|
||||
free_netdev(dev);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_LIBIPW_DEBUG
|
||||
|
||||
static int debug = 0;
|
||||
u32 ieee80211_debug_level = 0;
|
||||
EXPORT_SYMBOL_GPL(ieee80211_debug_level);
|
||||
static struct proc_dir_entry *ieee80211_proc = NULL;
|
||||
u32 libipw_debug_level = 0;
|
||||
EXPORT_SYMBOL_GPL(libipw_debug_level);
|
||||
static struct proc_dir_entry *libipw_proc = NULL;
|
||||
|
||||
static int show_debug_level(char *page, char **start, off_t offset,
|
||||
int count, int *eof, void *data)
|
||||
{
|
||||
return snprintf(page, count, "0x%08X\n", ieee80211_debug_level);
|
||||
return snprintf(page, count, "0x%08X\n", libipw_debug_level);
|
||||
}
|
||||
|
||||
static int store_debug_level(struct file *file, const char __user * buffer,
|
||||
|
@ -236,29 +236,29 @@ static int store_debug_level(struct file *file, const char __user * buffer,
|
|||
printk(KERN_INFO DRV_NAME
|
||||
": %s is not in hex or decimal form.\n", buf);
|
||||
else
|
||||
ieee80211_debug_level = val;
|
||||
libipw_debug_level = val;
|
||||
|
||||
return strnlen(buf, len);
|
||||
}
|
||||
#endif /* CONFIG_LIBIPW_DEBUG */
|
||||
|
||||
static int __init ieee80211_init(void)
|
||||
static int __init libipw_init(void)
|
||||
{
|
||||
#ifdef CONFIG_LIBIPW_DEBUG
|
||||
struct proc_dir_entry *e;
|
||||
|
||||
ieee80211_debug_level = debug;
|
||||
ieee80211_proc = proc_mkdir(DRV_NAME, init_net.proc_net);
|
||||
if (ieee80211_proc == NULL) {
|
||||
IEEE80211_ERROR("Unable to create " DRV_NAME
|
||||
libipw_debug_level = debug;
|
||||
libipw_proc = proc_mkdir(DRV_NAME, init_net.proc_net);
|
||||
if (libipw_proc == NULL) {
|
||||
LIBIPW_ERROR("Unable to create " DRV_NAME
|
||||
" proc directory\n");
|
||||
return -EIO;
|
||||
}
|
||||
e = create_proc_entry("debug_level", S_IFREG | S_IRUGO | S_IWUSR,
|
||||
ieee80211_proc);
|
||||
libipw_proc);
|
||||
if (!e) {
|
||||
remove_proc_entry(DRV_NAME, init_net.proc_net);
|
||||
ieee80211_proc = NULL;
|
||||
libipw_proc = NULL;
|
||||
return -EIO;
|
||||
}
|
||||
e->read_proc = show_debug_level;
|
||||
|
@ -272,13 +272,13 @@ static int __init ieee80211_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void __exit ieee80211_exit(void)
|
||||
static void __exit libipw_exit(void)
|
||||
{
|
||||
#ifdef CONFIG_LIBIPW_DEBUG
|
||||
if (ieee80211_proc) {
|
||||
remove_proc_entry("debug_level", ieee80211_proc);
|
||||
if (libipw_proc) {
|
||||
remove_proc_entry("debug_level", libipw_proc);
|
||||
remove_proc_entry(DRV_NAME, init_net.proc_net);
|
||||
ieee80211_proc = NULL;
|
||||
libipw_proc = NULL;
|
||||
}
|
||||
#endif /* CONFIG_LIBIPW_DEBUG */
|
||||
}
|
||||
|
@ -289,8 +289,8 @@ module_param(debug, int, 0444);
|
|||
MODULE_PARM_DESC(debug, "debug output mask");
|
||||
#endif /* CONFIG_LIBIPW_DEBUG */
|
||||
|
||||
module_exit(ieee80211_exit);
|
||||
module_init(ieee80211_init);
|
||||
module_exit(libipw_exit);
|
||||
module_init(libipw_init);
|
||||
|
||||
EXPORT_SYMBOL(alloc_ieee80211);
|
||||
EXPORT_SYMBOL(free_ieee80211);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -41,7 +41,7 @@
|
|||
#include <linux/etherdevice.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#include "ieee80211.h"
|
||||
#include "libipw.h"
|
||||
|
||||
/*
|
||||
|
||||
|
@ -126,12 +126,12 @@ payload of each frame is reduced to 492 bytes.
|
|||
static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 };
|
||||
static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 };
|
||||
|
||||
static int ieee80211_copy_snap(u8 * data, __be16 h_proto)
|
||||
static int libipw_copy_snap(u8 * data, __be16 h_proto)
|
||||
{
|
||||
struct ieee80211_snap_hdr *snap;
|
||||
struct libipw_snap_hdr *snap;
|
||||
u8 *oui;
|
||||
|
||||
snap = (struct ieee80211_snap_hdr *)data;
|
||||
snap = (struct libipw_snap_hdr *)data;
|
||||
snap->dsap = 0xaa;
|
||||
snap->ssap = 0xaa;
|
||||
snap->ctrl = 0x03;
|
||||
|
@ -149,7 +149,7 @@ static int ieee80211_copy_snap(u8 * data, __be16 h_proto)
|
|||
return SNAP_SIZE + sizeof(u16);
|
||||
}
|
||||
|
||||
static int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
|
||||
static int libipw_encrypt_fragment(struct libipw_device *ieee,
|
||||
struct sk_buff *frag, int hdr_len)
|
||||
{
|
||||
struct lib80211_crypt_data *crypt =
|
||||
|
@ -177,7 +177,7 @@ static int ieee80211_encrypt_fragment(struct ieee80211_device *ieee,
|
|||
return 0;
|
||||
}
|
||||
|
||||
void ieee80211_txb_free(struct ieee80211_txb *txb)
|
||||
void libipw_txb_free(struct libipw_txb *txb)
|
||||
{
|
||||
int i;
|
||||
if (unlikely(!txb))
|
||||
|
@ -188,17 +188,17 @@ void ieee80211_txb_free(struct ieee80211_txb *txb)
|
|||
kfree(txb);
|
||||
}
|
||||
|
||||
static struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size,
|
||||
static struct libipw_txb *libipw_alloc_txb(int nr_frags, int txb_size,
|
||||
int headroom, gfp_t gfp_mask)
|
||||
{
|
||||
struct ieee80211_txb *txb;
|
||||
struct libipw_txb *txb;
|
||||
int i;
|
||||
txb = kmalloc(sizeof(struct ieee80211_txb) + (sizeof(u8 *) * nr_frags),
|
||||
txb = kmalloc(sizeof(struct libipw_txb) + (sizeof(u8 *) * nr_frags),
|
||||
gfp_mask);
|
||||
if (!txb)
|
||||
return NULL;
|
||||
|
||||
memset(txb, 0, sizeof(struct ieee80211_txb));
|
||||
memset(txb, 0, sizeof(struct libipw_txb));
|
||||
txb->nr_frags = nr_frags;
|
||||
txb->frag_size = txb_size;
|
||||
|
||||
|
@ -220,7 +220,7 @@ static struct ieee80211_txb *ieee80211_alloc_txb(int nr_frags, int txb_size,
|
|||
return txb;
|
||||
}
|
||||
|
||||
static int ieee80211_classify(struct sk_buff *skb)
|
||||
static int libipw_classify(struct sk_buff *skb)
|
||||
{
|
||||
struct ethhdr *eth;
|
||||
struct iphdr *ip;
|
||||
|
@ -252,11 +252,11 @@ static int ieee80211_classify(struct sk_buff *skb)
|
|||
|
||||
/* Incoming skb is converted to a txb which consists of
|
||||
* a block of 802.11 fragment packets (stored as skbs) */
|
||||
int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
int libipw_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
struct ieee80211_device *ieee = netdev_priv(dev);
|
||||
struct ieee80211_txb *txb = NULL;
|
||||
struct ieee80211_hdr_3addrqos *frag_hdr;
|
||||
struct libipw_device *ieee = netdev_priv(dev);
|
||||
struct libipw_txb *txb = NULL;
|
||||
struct libipw_hdr_3addrqos *frag_hdr;
|
||||
int i, bytes_per_frag, nr_frags, bytes_last_frag, frag_size,
|
||||
rts_required;
|
||||
unsigned long flags;
|
||||
|
@ -264,7 +264,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
__be16 ether_type;
|
||||
int bytes, fc, hdr_len;
|
||||
struct sk_buff *skb_frag;
|
||||
struct ieee80211_hdr_3addrqos header = {/* Ensure zero initialized */
|
||||
struct libipw_hdr_3addrqos header = {/* Ensure zero initialized */
|
||||
.duration_id = 0,
|
||||
.seq_ctl = 0,
|
||||
.qos_ctl = 0
|
||||
|
@ -331,14 +331,14 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
memcpy(header.addr2, src, ETH_ALEN);
|
||||
memcpy(header.addr3, ieee->bssid, ETH_ALEN);
|
||||
}
|
||||
hdr_len = IEEE80211_3ADDR_LEN;
|
||||
hdr_len = LIBIPW_3ADDR_LEN;
|
||||
|
||||
if (ieee->is_qos_active && ieee->is_qos_active(dev, skb)) {
|
||||
fc |= IEEE80211_STYPE_QOS_DATA;
|
||||
hdr_len += 2;
|
||||
|
||||
skb->priority = ieee80211_classify(skb);
|
||||
header.qos_ctl |= cpu_to_le16(skb->priority & IEEE80211_QCTL_TID);
|
||||
skb->priority = libipw_classify(skb);
|
||||
header.qos_ctl |= cpu_to_le16(skb->priority & LIBIPW_QCTL_TID);
|
||||
}
|
||||
header.frame_ctl = cpu_to_le16(fc);
|
||||
|
||||
|
@ -362,12 +362,12 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
skb_reserve(skb_new, crypt->ops->extra_msdu_prefix_len);
|
||||
memcpy(skb_put(skb_new, hdr_len), &header, hdr_len);
|
||||
snapped = 1;
|
||||
ieee80211_copy_snap(skb_put(skb_new, SNAP_SIZE + sizeof(u16)),
|
||||
libipw_copy_snap(skb_put(skb_new, SNAP_SIZE + sizeof(u16)),
|
||||
ether_type);
|
||||
skb_copy_from_linear_data(skb, skb_put(skb_new, skb->len), skb->len);
|
||||
res = crypt->ops->encrypt_msdu(skb_new, hdr_len, crypt->priv);
|
||||
if (res < 0) {
|
||||
IEEE80211_ERROR("msdu encryption failed\n");
|
||||
LIBIPW_ERROR("msdu encryption failed\n");
|
||||
dev_kfree_skb_any(skb_new);
|
||||
goto failed;
|
||||
}
|
||||
|
@ -393,8 +393,8 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
* for it when determining the amount of payload space. */
|
||||
bytes_per_frag = frag_size - hdr_len;
|
||||
if (ieee->config &
|
||||
(CFG_IEEE80211_COMPUTE_FCS | CFG_IEEE80211_RESERVE_FCS))
|
||||
bytes_per_frag -= IEEE80211_FCS_LEN;
|
||||
(CFG_LIBIPW_COMPUTE_FCS | CFG_LIBIPW_RESERVE_FCS))
|
||||
bytes_per_frag -= LIBIPW_FCS_LEN;
|
||||
|
||||
/* Each fragment may need to have room for encryptiong
|
||||
* pre/postfix */
|
||||
|
@ -417,14 +417,14 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
}
|
||||
|
||||
rts_required = (frag_size > ieee->rts
|
||||
&& ieee->config & CFG_IEEE80211_RTS);
|
||||
&& ieee->config & CFG_LIBIPW_RTS);
|
||||
if (rts_required)
|
||||
nr_frags++;
|
||||
|
||||
/* When we allocate the TXB we allocate enough space for the reserve
|
||||
* and full fragment bytes (bytes_per_frag doesn't include prefix,
|
||||
* postfix, header, FCS, etc.) */
|
||||
txb = ieee80211_alloc_txb(nr_frags, frag_size,
|
||||
txb = libipw_alloc_txb(nr_frags, frag_size,
|
||||
ieee->tx_headroom, GFP_ATOMIC);
|
||||
if (unlikely(!txb)) {
|
||||
printk(KERN_WARNING "%s: Could not allocate TXB\n",
|
||||
|
@ -441,7 +441,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
if (rts_required) {
|
||||
skb_frag = txb->fragments[0];
|
||||
frag_hdr =
|
||||
(struct ieee80211_hdr_3addrqos *)skb_put(skb_frag, hdr_len);
|
||||
(struct libipw_hdr_3addrqos *)skb_put(skb_frag, hdr_len);
|
||||
|
||||
/*
|
||||
* Set header frame_ctl to the RTS.
|
||||
|
@ -456,7 +456,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
header.frame_ctl = cpu_to_le16(fc);
|
||||
|
||||
if (ieee->config &
|
||||
(CFG_IEEE80211_COMPUTE_FCS | CFG_IEEE80211_RESERVE_FCS))
|
||||
(CFG_LIBIPW_COMPUTE_FCS | CFG_LIBIPW_RESERVE_FCS))
|
||||
skb_put(skb_frag, 4);
|
||||
|
||||
txb->rts_included = 1;
|
||||
|
@ -472,7 +472,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
crypt->ops->extra_mpdu_prefix_len);
|
||||
|
||||
frag_hdr =
|
||||
(struct ieee80211_hdr_3addrqos *)skb_put(skb_frag, hdr_len);
|
||||
(struct libipw_hdr_3addrqos *)skb_put(skb_frag, hdr_len);
|
||||
memcpy(frag_hdr, &header, hdr_len);
|
||||
|
||||
/* If this is not the last fragment, then add the MOREFRAGS
|
||||
|
@ -487,7 +487,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
}
|
||||
|
||||
if (i == 0 && !snapped) {
|
||||
ieee80211_copy_snap(skb_put
|
||||
libipw_copy_snap(skb_put
|
||||
(skb_frag, SNAP_SIZE + sizeof(u16)),
|
||||
ether_type);
|
||||
bytes -= SNAP_SIZE + sizeof(u16);
|
||||
|
@ -501,7 +501,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
/* Encryption routine will move the header forward in order
|
||||
* to insert the IV between the header and the payload */
|
||||
if (host_encrypt)
|
||||
ieee80211_encrypt_fragment(ieee, skb_frag, hdr_len);
|
||||
libipw_encrypt_fragment(ieee, skb_frag, hdr_len);
|
||||
else if (host_build_iv) {
|
||||
atomic_inc(&crypt->refcnt);
|
||||
if (crypt->ops->build_iv)
|
||||
|
@ -513,7 +513,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
}
|
||||
|
||||
if (ieee->config &
|
||||
(CFG_IEEE80211_COMPUTE_FCS | CFG_IEEE80211_RESERVE_FCS))
|
||||
(CFG_LIBIPW_COMPUTE_FCS | CFG_LIBIPW_RESERVE_FCS))
|
||||
skb_put(skb_frag, 4);
|
||||
}
|
||||
|
||||
|
@ -530,7 +530,7 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
ieee80211_txb_free(txb);
|
||||
libipw_txb_free(txb);
|
||||
}
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
|
@ -541,6 +541,6 @@ int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
dev->stats.tx_errors++;
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_xmit);
|
||||
EXPORT_SYMBOL(libipw_xmit);
|
||||
|
||||
EXPORT_SYMBOL(ieee80211_txb_free);
|
||||
EXPORT_SYMBOL(libipw_txb_free);
|
||||
|
|
|
@ -37,9 +37,9 @@
|
|||
#include <net/lib80211.h>
|
||||
#include <linux/wireless.h>
|
||||
|
||||
#include "ieee80211.h"
|
||||
#include "libipw.h"
|
||||
|
||||
static const char *ieee80211_modes[] = {
|
||||
static const char *libipw_modes[] = {
|
||||
"?", "a", "b", "ab", "g", "ag", "bg", "abg"
|
||||
};
|
||||
|
||||
|
@ -54,9 +54,9 @@ static inline unsigned int elapsed_jiffies_msecs(unsigned long start)
|
|||
}
|
||||
|
||||
#define MAX_CUSTOM_LEN 64
|
||||
static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
||||
static char *libipw_translate_scan(struct libipw_device *ieee,
|
||||
char *start, char *stop,
|
||||
struct ieee80211_network *network,
|
||||
struct libipw_network *network,
|
||||
struct iw_request_info *info)
|
||||
{
|
||||
char custom[MAX_CUSTOM_LEN];
|
||||
|
@ -84,7 +84,7 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
|||
/* Add the protocol name */
|
||||
iwe.cmd = SIOCGIWNAME;
|
||||
snprintf(iwe.u.name, IFNAMSIZ, "IEEE 802.11%s",
|
||||
ieee80211_modes[network->mode]);
|
||||
libipw_modes[network->mode]);
|
||||
start = iwe_stream_add_event(info, start, stop, &iwe, IW_EV_CHAR_LEN);
|
||||
|
||||
/* Add mode */
|
||||
|
@ -102,7 +102,7 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
|||
/* Add channel and frequency */
|
||||
/* Note : userspace automatically computes channel using iwrange */
|
||||
iwe.cmd = SIOCGIWFREQ;
|
||||
iwe.u.freq.m = ieee80211_channel_to_freq(ieee, network->channel);
|
||||
iwe.u.freq.m = libipw_channel_to_freq(ieee, network->channel);
|
||||
iwe.u.freq.e = 6;
|
||||
iwe.u.freq.i = 0;
|
||||
start = iwe_stream_add_event(info, start, stop, &iwe, IW_EV_FREQ_LEN);
|
||||
|
@ -155,7 +155,7 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
|||
iwe.u.qual.updated = IW_QUAL_QUAL_UPDATED | IW_QUAL_LEVEL_UPDATED |
|
||||
IW_QUAL_NOISE_UPDATED;
|
||||
|
||||
if (!(network->stats.mask & IEEE80211_STATMASK_RSSI)) {
|
||||
if (!(network->stats.mask & LIBIPW_STATMASK_RSSI)) {
|
||||
iwe.u.qual.updated |= IW_QUAL_QUAL_INVALID |
|
||||
IW_QUAL_LEVEL_INVALID;
|
||||
iwe.u.qual.qual = 0;
|
||||
|
@ -180,14 +180,14 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
|||
iwe.u.qual.qual = 0;
|
||||
}
|
||||
|
||||
if (!(network->stats.mask & IEEE80211_STATMASK_NOISE)) {
|
||||
if (!(network->stats.mask & LIBIPW_STATMASK_NOISE)) {
|
||||
iwe.u.qual.updated |= IW_QUAL_NOISE_INVALID;
|
||||
iwe.u.qual.noise = 0;
|
||||
} else {
|
||||
iwe.u.qual.noise = network->stats.noise;
|
||||
}
|
||||
|
||||
if (!(network->stats.mask & IEEE80211_STATMASK_SIGNAL)) {
|
||||
if (!(network->stats.mask & LIBIPW_STATMASK_SIGNAL)) {
|
||||
iwe.u.qual.updated |= IW_QUAL_LEVEL_INVALID;
|
||||
iwe.u.qual.level = 0;
|
||||
} else {
|
||||
|
@ -237,14 +237,14 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
|||
p = custom;
|
||||
p += snprintf(p, MAX_CUSTOM_LEN - (p - custom), " Channel flags: ");
|
||||
|
||||
if (ieee80211_get_channel_flags(ieee, network->channel) &
|
||||
IEEE80211_CH_INVALID) {
|
||||
if (libipw_get_channel_flags(ieee, network->channel) &
|
||||
LIBIPW_CH_INVALID) {
|
||||
iwe.cmd = IWEVCUSTOM;
|
||||
p += snprintf(p, MAX_CUSTOM_LEN - (p - custom), "INVALID ");
|
||||
}
|
||||
|
||||
if (ieee80211_get_channel_flags(ieee, network->channel) &
|
||||
IEEE80211_CH_RADAR_DETECT) {
|
||||
if (libipw_get_channel_flags(ieee, network->channel) &
|
||||
LIBIPW_CH_RADAR_DETECT) {
|
||||
iwe.cmd = IWEVCUSTOM;
|
||||
p += snprintf(p, MAX_CUSTOM_LEN - (p - custom), "DFS ");
|
||||
}
|
||||
|
@ -259,11 +259,11 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
|
|||
|
||||
#define SCAN_ITEM_SIZE 128
|
||||
|
||||
int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
|
||||
int libipw_wx_get_scan(struct libipw_device *ieee,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct ieee80211_network *network;
|
||||
struct libipw_network *network;
|
||||
unsigned long flags;
|
||||
int err = 0;
|
||||
|
||||
|
@ -272,7 +272,7 @@ int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
|
|||
int i = 0;
|
||||
DECLARE_SSID_BUF(ssid);
|
||||
|
||||
IEEE80211_DEBUG_WX("Getting scan\n");
|
||||
LIBIPW_DEBUG_WX("Getting scan\n");
|
||||
|
||||
spin_lock_irqsave(&ieee->lock, flags);
|
||||
|
||||
|
@ -285,10 +285,10 @@ int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
|
|||
|
||||
if (ieee->scan_age == 0 ||
|
||||
time_after(network->last_scanned + ieee->scan_age, jiffies))
|
||||
ev = ieee80211_translate_scan(ieee, ev, stop, network,
|
||||
ev = libipw_translate_scan(ieee, ev, stop, network,
|
||||
info);
|
||||
else {
|
||||
IEEE80211_DEBUG_SCAN("Not showing network '%s ("
|
||||
LIBIPW_DEBUG_SCAN("Not showing network '%s ("
|
||||
"%pM)' due to age (%ums).\n",
|
||||
print_ssid(ssid, network->ssid,
|
||||
network->ssid_len),
|
||||
|
@ -303,18 +303,18 @@ int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
|
|||
wrqu->data.length = ev - extra;
|
||||
wrqu->data.flags = 0;
|
||||
|
||||
IEEE80211_DEBUG_WX("exit: %d networks returned.\n", i);
|
||||
LIBIPW_DEBUG_WX("exit: %d networks returned.\n", i);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
||||
int libipw_wx_set_encode(struct libipw_device *ieee,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *keybuf)
|
||||
{
|
||||
struct iw_point *erq = &(wrqu->encoding);
|
||||
struct net_device *dev = ieee->dev;
|
||||
struct ieee80211_security sec = {
|
||||
struct libipw_security sec = {
|
||||
.flags = 0
|
||||
};
|
||||
int i, key, key_provided, len;
|
||||
|
@ -322,7 +322,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
int host_crypto = ieee->host_encrypt || ieee->host_decrypt || ieee->host_build_iv;
|
||||
DECLARE_SSID_BUF(ssid);
|
||||
|
||||
IEEE80211_DEBUG_WX("SET_ENCODE\n");
|
||||
LIBIPW_DEBUG_WX("SET_ENCODE\n");
|
||||
|
||||
key = erq->flags & IW_ENCODE_INDEX;
|
||||
if (key) {
|
||||
|
@ -335,18 +335,18 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
key = ieee->crypt_info.tx_keyidx;
|
||||
}
|
||||
|
||||
IEEE80211_DEBUG_WX("Key: %d [%s]\n", key, key_provided ?
|
||||
LIBIPW_DEBUG_WX("Key: %d [%s]\n", key, key_provided ?
|
||||
"provided" : "default");
|
||||
|
||||
crypt = &ieee->crypt_info.crypt[key];
|
||||
|
||||
if (erq->flags & IW_ENCODE_DISABLED) {
|
||||
if (key_provided && *crypt) {
|
||||
IEEE80211_DEBUG_WX("Disabling encryption on key %d.\n",
|
||||
LIBIPW_DEBUG_WX("Disabling encryption on key %d.\n",
|
||||
key);
|
||||
lib80211_crypt_delayed_deinit(&ieee->crypt_info, crypt);
|
||||
} else
|
||||
IEEE80211_DEBUG_WX("Disabling encryption.\n");
|
||||
LIBIPW_DEBUG_WX("Disabling encryption.\n");
|
||||
|
||||
/* Check all the keys to see if any are still configured,
|
||||
* and if no key index was provided, de-init them all */
|
||||
|
@ -410,7 +410,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
|
||||
/* If a new key was provided, set it up */
|
||||
if (erq->length > 0) {
|
||||
#ifdef CONFIG_IEEE80211_DEBUG
|
||||
#ifdef CONFIG_LIBIPW_DEBUG
|
||||
DECLARE_SSID_BUF(ssid);
|
||||
#endif
|
||||
|
||||
|
@ -419,7 +419,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
if (len > erq->length)
|
||||
memset(sec.keys[key] + erq->length, 0,
|
||||
len - erq->length);
|
||||
IEEE80211_DEBUG_WX("Setting key %d to '%s' (%d:%d bytes)\n",
|
||||
LIBIPW_DEBUG_WX("Setting key %d to '%s' (%d:%d bytes)\n",
|
||||
key, print_ssid(ssid, sec.keys[key], len),
|
||||
erq->length, len);
|
||||
sec.key_sizes[key] = len;
|
||||
|
@ -438,7 +438,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
NULL, (*crypt)->priv);
|
||||
if (len == 0) {
|
||||
/* Set a default key of all 0 */
|
||||
IEEE80211_DEBUG_WX("Setting key %d to all "
|
||||
LIBIPW_DEBUG_WX("Setting key %d to all "
|
||||
"zero.\n", key);
|
||||
memset(sec.keys[key], 0, 13);
|
||||
(*crypt)->ops->set_key(sec.keys[key], 13, NULL,
|
||||
|
@ -449,7 +449,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
}
|
||||
/* No key data - just set the default TX key index */
|
||||
if (key_provided) {
|
||||
IEEE80211_DEBUG_WX("Setting key %d to default Tx "
|
||||
LIBIPW_DEBUG_WX("Setting key %d to default Tx "
|
||||
"key.\n", key);
|
||||
ieee->crypt_info.tx_keyidx = key;
|
||||
sec.active_key = key;
|
||||
|
@ -461,7 +461,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
sec.auth_mode = ieee->open_wep ? WLAN_AUTH_OPEN :
|
||||
WLAN_AUTH_SHARED_KEY;
|
||||
sec.flags |= SEC_AUTH_MODE;
|
||||
IEEE80211_DEBUG_WX("Auth: %s\n",
|
||||
LIBIPW_DEBUG_WX("Auth: %s\n",
|
||||
sec.auth_mode == WLAN_AUTH_OPEN ?
|
||||
"OPEN" : "SHARED KEY");
|
||||
}
|
||||
|
@ -490,16 +490,16 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int ieee80211_wx_get_encode(struct ieee80211_device *ieee,
|
||||
int libipw_wx_get_encode(struct libipw_device *ieee,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *keybuf)
|
||||
{
|
||||
struct iw_point *erq = &(wrqu->encoding);
|
||||
int len, key;
|
||||
struct lib80211_crypt_data *crypt;
|
||||
struct ieee80211_security *sec = &ieee->sec;
|
||||
struct libipw_security *sec = &ieee->sec;
|
||||
|
||||
IEEE80211_DEBUG_WX("GET_ENCODE\n");
|
||||
LIBIPW_DEBUG_WX("GET_ENCODE\n");
|
||||
|
||||
key = erq->flags & IW_ENCODE_INDEX;
|
||||
if (key) {
|
||||
|
@ -532,7 +532,7 @@ int ieee80211_wx_get_encode(struct ieee80211_device *ieee,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
||||
int libipw_wx_set_encodeext(struct libipw_device *ieee,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
|
@ -545,7 +545,7 @@ int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
|||
struct lib80211_crypto_ops *ops;
|
||||
struct lib80211_crypt_data **crypt;
|
||||
|
||||
struct ieee80211_security sec = {
|
||||
struct libipw_security sec = {
|
||||
.flags = 0,
|
||||
};
|
||||
|
||||
|
@ -611,7 +611,7 @@ int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
|||
module = "lib80211_crypt_ccmp";
|
||||
break;
|
||||
default:
|
||||
IEEE80211_DEBUG_WX("%s: unknown crypto alg %d\n",
|
||||
LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n",
|
||||
dev->name, ext->alg);
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
|
@ -623,7 +623,7 @@ int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
|||
ops = lib80211_get_crypto_ops(alg);
|
||||
}
|
||||
if (ops == NULL) {
|
||||
IEEE80211_DEBUG_WX("%s: unknown crypto alg %d\n",
|
||||
LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n",
|
||||
dev->name, ext->alg);
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
|
@ -653,7 +653,7 @@ int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
|||
if (ext->key_len > 0 && (*crypt)->ops->set_key &&
|
||||
(*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq,
|
||||
(*crypt)->priv) < 0) {
|
||||
IEEE80211_DEBUG_WX("%s: key setting failed\n", dev->name);
|
||||
LIBIPW_DEBUG_WX("%s: key setting failed\n", dev->name);
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
}
|
||||
|
@ -700,20 +700,20 @@ int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
|||
if (ieee->reset_on_keychange &&
|
||||
ieee->iw_mode != IW_MODE_INFRA &&
|
||||
ieee->reset_port && ieee->reset_port(dev)) {
|
||||
IEEE80211_DEBUG_WX("%s: reset_port failed\n", dev->name);
|
||||
LIBIPW_DEBUG_WX("%s: reset_port failed\n", dev->name);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ieee80211_wx_get_encodeext(struct ieee80211_device *ieee,
|
||||
int libipw_wx_get_encodeext(struct libipw_device *ieee,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra)
|
||||
{
|
||||
struct iw_point *encoding = &wrqu->encoding;
|
||||
struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
|
||||
struct ieee80211_security *sec = &ieee->sec;
|
||||
struct libipw_security *sec = &ieee->sec;
|
||||
int idx, max_key_len;
|
||||
|
||||
max_key_len = encoding->length - sizeof(*ext);
|
||||
|
@ -763,9 +763,9 @@ int ieee80211_wx_get_encodeext(struct ieee80211_device *ieee,
|
|||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(ieee80211_wx_set_encodeext);
|
||||
EXPORT_SYMBOL(ieee80211_wx_get_encodeext);
|
||||
EXPORT_SYMBOL(libipw_wx_set_encodeext);
|
||||
EXPORT_SYMBOL(libipw_wx_get_encodeext);
|
||||
|
||||
EXPORT_SYMBOL(ieee80211_wx_get_scan);
|
||||
EXPORT_SYMBOL(ieee80211_wx_set_encode);
|
||||
EXPORT_SYMBOL(ieee80211_wx_get_encode);
|
||||
EXPORT_SYMBOL(libipw_wx_get_scan);
|
||||
EXPORT_SYMBOL(libipw_wx_set_encode);
|
||||
EXPORT_SYMBOL(libipw_wx_get_encode);
|
||||
|
|
|
@ -416,13 +416,13 @@ struct iw_spy_data
|
|||
* data (i.e. valid as long as struct net_device exist, same locking rules).
|
||||
*/
|
||||
/* Forward declaration */
|
||||
struct ieee80211_device;
|
||||
struct libipw_device;
|
||||
/* The struct */
|
||||
struct iw_public_data {
|
||||
/* Driver enhanced spy support */
|
||||
struct iw_spy_data * spy_data;
|
||||
/* Structure managed by the in-kernel IEEE 802.11 layer */
|
||||
struct ieee80211_device * ieee80211;
|
||||
/* Legacy structure managed by the ipw2x00-specific IEEE 802.11 layer */
|
||||
struct libipw_device * libipw;
|
||||
};
|
||||
|
||||
/**************************** PROTOTYPES ****************************/
|
||||
|
|
Loading…
Reference in a new issue