rpms/kernel/devel jwltest-git-wireless-dev.patch, NONE, 1.1.2.1 kernel-2.6.spec, 1.2954, 1.2954.2.1
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Feb 27 22:11:34 UTC 2007
Author: linville
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv6543
Modified Files:
Tag: private-linville-jwltest-fc7-2-branch
kernel-2.6.spec
Added Files:
Tag: private-linville-jwltest-fc7-2-branch
jwltest-git-wireless-dev.patch
Log Message:
jwltest-git-wireless-dev.patch:
CREDITS | 33
MAINTAINERS | 54
drivers/Kconfig | 2
drivers/Makefile | 1
drivers/net/wireless/Kconfig | 2
drivers/net/wireless/Makefile | 3
drivers/net/wireless/mac80211/Kconfig | 6
drivers/net/wireless/mac80211/Makefile | 6
drivers/net/wireless/mac80211/README | 2
drivers/net/wireless/mac80211/adm8211/Kconfig | 24
drivers/net/wireless/mac80211/adm8211/Makefile | 1
drivers/net/wireless/mac80211/adm8211/adm8211.c | 2188 +++++++
drivers/net/wireless/mac80211/adm8211/adm8211.h | 622 ++
drivers/net/wireless/mac80211/bcm43xx/Kconfig | 99
drivers/net/wireless/mac80211/bcm43xx/Makefile | 17
drivers/net/wireless/mac80211/bcm43xx/bcm43xx.h | 870 ++
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_debugfs.c | 433 +
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_debugfs.h | 110
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_dma.c | 1297 ++++
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_dma.h | 361 +
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_leds.c | 300
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_leds.h | 56
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_lo.c | 1051 +++
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_lo.h | 89
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_main.c | 3962 ++++++++++++
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_main.h | 156
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_pci.c | 61
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_pci.h | 22
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_pcmcia.c | 163
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_pcmcia.h | 22
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.c | 4234 +++++++++++++
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.h | 307
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_pio.c | 671 ++
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_pio.h | 170
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_power.c | 82
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_power.h | 41
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_sysfs.c | 232
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_sysfs.h | 9
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_tables.c | 376 +
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_tables.h | 28
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_vstack.c | 202
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_vstack.h | 83
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_xmit.c | 615 +
drivers/net/wireless/mac80211/bcm43xx/bcm43xx_xmit.h | 215
drivers/net/wireless/mac80211/p54/Kconfig | 9
drivers/net/wireless/mac80211/p54/Makefile | 4
drivers/net/wireless/mac80211/p54/net2280.h | 452 +
drivers/net/wireless/mac80211/p54/prism54.h | 77
drivers/net/wireless/mac80211/p54/prism54common.c | 807 ++
drivers/net/wireless/mac80211/p54/prism54common.h | 304
drivers/net/wireless/mac80211/p54/prism54magic.h | 77
drivers/net/wireless/mac80211/p54/prism54pci.c | 698 ++
drivers/net/wireless/mac80211/p54/prism54pci.h | 106
drivers/net/wireless/mac80211/p54/prism54usb.c | 946 +++
drivers/net/wireless/mac80211/p54/prism54usb.h | 133
drivers/net/wireless/mac80211/rt2x00/Kconfig | 83
drivers/net/wireless/mac80211/rt2x00/Makefile | 5
drivers/net/wireless/mac80211/rt2x00/rt2400pci.c | 2985 +++++++++
drivers/net/wireless/mac80211/rt2x00/rt2400pci.h | 967 +++
drivers/net/wireless/mac80211/rt2x00/rt2500pci.c | 3297 ++++++++++
drivers/net/wireless/mac80211/rt2x00/rt2500pci.h | 1234 +++
drivers/net/wireless/mac80211/rt2x00/rt2500usb.c | 3131 ++++++++++
drivers/net/wireless/mac80211/rt2x00/rt2500usb.h | 739 ++
drivers/net/wireless/mac80211/rt2x00/rt2x00.h | 1268 ++++
drivers/net/wireless/mac80211/rt2x00/rt2x00pci.h | 44
drivers/net/wireless/mac80211/rt2x00/rt2x00usb.h | 81
drivers/net/wireless/mac80211/rt2x00/rt61pci.c | 3827 ++++++++++++
drivers/net/wireless/mac80211/rt2x00/rt61pci.h | 1398 ++++
drivers/net/wireless/mac80211/rt2x00/rt73usb.c | 3467 +++++++++++
drivers/net/wireless/mac80211/rt2x00/rt73usb.h | 980 +++
drivers/net/wireless/mac80211/rtl818x/Kconfig | 8
drivers/net/wireless/mac80211/rtl818x/Makefile | 2
drivers/net/wireless/mac80211/rtl818x/rtl8187.h | 126
drivers/net/wireless/mac80211/rtl818x/rtl8187_dev.c | 712 ++
drivers/net/wireless/mac80211/rtl818x/rtl8187_rtl8225.c | 738 ++
drivers/net/wireless/mac80211/rtl818x/rtl8187_rtl8225.h | 28
drivers/net/wireless/mac80211/rtl818x/rtl818x.h | 175
drivers/net/wireless/mac80211/zd1211rw/Kconfig | 19
drivers/net/wireless/mac80211/zd1211rw/Makefile | 11
drivers/net/wireless/mac80211/zd1211rw/zd_chip.c | 1674 +++++
drivers/net/wireless/mac80211/zd1211rw/zd_chip.h | 909 ++
drivers/net/wireless/mac80211/zd1211rw/zd_def.h | 57
drivers/net/wireless/mac80211/zd1211rw/zd_ieee80211.h | 67
drivers/net/wireless/mac80211/zd1211rw/zd_mac.c | 705 ++
drivers/net/wireless/mac80211/zd1211rw/zd_mac.h | 250
drivers/net/wireless/mac80211/zd1211rw/zd_rf.c | 156
drivers/net/wireless/mac80211/zd1211rw/zd_rf.h | 81
drivers/net/wireless/mac80211/zd1211rw/zd_rf_al2230.c | 373 +
drivers/net/wireless/mac80211/zd1211rw/zd_rf_al7230b.c | 274
drivers/net/wireless/mac80211/zd1211rw/zd_rf_rf2959.c | 279
drivers/net/wireless/mac80211/zd1211rw/zd_usb.c | 1324 ++++
drivers/net/wireless/mac80211/zd1211rw/zd_usb.h | 241
drivers/net/wireless/mac80211/zd1211rw/zd_util.c | 82
drivers/net/wireless/mac80211/zd1211rw/zd_util.h | 29
drivers/ssb/Kconfig | 93
drivers/ssb/Makefile | 14
drivers/ssb/core.c | 956 +++
drivers/ssb/driver_chipcommon/chipcommon.c | 402 +
drivers/ssb/driver_mips/mips.c | 258
drivers/ssb/driver_pci/pcicore.c | 556 +
drivers/ssb/pci.c | 667 ++
drivers/ssb/pcihost_wrapper.c | 104
drivers/ssb/pcmcia.c | 256
drivers/ssb/scan.c | 427 +
drivers/ssb/ssb_private.h | 152
drivers/usb/host/Kconfig | 10
drivers/usb/host/ohci-hcd.c | 4
drivers/usb/host/ohci-ssb.c | 193
include/linux/Kbuild | 2
include/linux/crc-itu-t.h | 27
include/linux/eeprom_93cx6.h | 77
include/linux/ieee80211.h | 330 +
include/linux/netdevice.h | 6
include/linux/nl80211.h | 275
include/linux/ssb/ssb.h | 388 +
include/linux/ssb/ssb_driver_chipcommon.h | 387 +
include/linux/ssb/ssb_driver_extif.h | 163
include/linux/ssb/ssb_driver_mips.h | 47
include/linux/ssb/ssb_driver_pci.h | 108
include/linux/ssb/ssb_regs.h | 294
include/net/cfg80211.h | 176
include/net/iw_handler.h | 3
include/net/mac80211.h | 1079 +++
include/net/wireless.h | 150
lib/Kconfig | 16
lib/Makefile | 3
lib/crc-itu-t.c | 64
lib/eeprom_93cx6.c | 344 +
net/Kconfig | 3
net/Makefile | 2
net/core/Makefile | 1
net/core/dev.c | 33
net/core/wireless.c | 2353 -------
net/mac80211/Kconfig | 73
net/mac80211/Makefile | 26
net/mac80211/aes_ccm.c | 155
net/mac80211/aes_ccm.h | 26
net/mac80211/fifo_qdisc.c | 102
net/mac80211/hostapd_ioctl.h | 434 +
net/mac80211/ieee80211.c | 4940 ++++++++++++++++
net/mac80211/ieee80211_cfg.c | 108
net/mac80211/ieee80211_cfg.h | 9
net/mac80211/ieee80211_common.h | 98
net/mac80211/ieee80211_i.h | 720 ++
net/mac80211/ieee80211_iface.c | 372 +
net/mac80211/ieee80211_ioctl.c | 3304 ++++++++++
net/mac80211/ieee80211_key.h | 89
net/mac80211/ieee80211_led.c | 91
net/mac80211/ieee80211_led.h | 32
net/mac80211/ieee80211_rate.c | 140
net/mac80211/ieee80211_rate.h | 161
net/mac80211/ieee80211_scan.c | 344 +
net/mac80211/ieee80211_sta.c | 3013 +++++++++
net/mac80211/ieee80211_sysfs.c | 727 ++
net/mac80211/ieee80211_sysfs.h | 12
net/mac80211/ieee80211_sysfs_sta.c | 438 +
net/mac80211/michael.c | 104
net/mac80211/michael.h | 20
net/mac80211/rc80211_simple.c | 399 +
net/mac80211/sta_info.c | 461 +
net/mac80211/sta_info.h | 150
net/mac80211/tkip.c | 341 +
net/mac80211/tkip.h | 36
net/mac80211/wep.c | 328 +
net/mac80211/wep.h | 40
net/mac80211/wme.c | 679 ++
net/mac80211/wme.h | 38
net/mac80211/wpa.c | 846 ++
net/mac80211/wpa.h | 34
net/wireless/Kconfig | 31
net/wireless/Makefile | 17
net/wireless/core.c | 276
net/wireless/core.h | 73
net/wireless/nl80211.c | 1050 +++
net/wireless/nl80211.h | 17
net/wireless/sysfs.c | 125
net/wireless/sysfs.h | 9
net/wireless/wext-common.c | 663 ++
net/wireless/wext-compat.c | 819 ++
net/wireless/wext-export.c | 29
net/wireless/wext-mod.c | 20
net/wireless/wext-old.c | 1461 ++++
net/wireless/wext.h | 51
183 files changed, 86281 insertions(+), 2390 deletions(-)
--- NEW FILE jwltest-git-wireless-dev.patch ---
--- /dev/null 2006-11-15 09:57:50.578980680 -0500
+++ linux-2.6.20.noarch/include/net/wireless.h 2007-02-27 16:16:14.000000000 -0500
@@ -0,0 +1,150 @@
+#ifndef __NET_WIRELESS_H
+#define __NET_WIRELESS_H
+
+/*
+ * 802.11 device management
+ *
+ * Copyright 2007 Johannes Berg <johannes at sipsolutions.net>
+ */
+
+#include <linux/netdevice.h>
+#include <linux/debugfs.h>
+#include <net/cfg80211.h>
+
+/**
+ * struct wiphy - wireless hardware description
+ * @idx: the wiphy index assigned to this item
+ * @class_dev: the class device representing /sys/class/ieee80211/<wiphy-name>
+ */
+struct wiphy {
+ /* assign these fields before you register the wiphy */
+
+ /* permanent MAC address */
+ u8 perm_addr[ETH_ALEN];
+
+ /* fields below are read-only, assigned by cfg80211 */
+
+ /* the item in /sys/class/ieee80211/ points to this,
+ * you need use set_wiphy_dev() (see below) */
+ struct device dev;
+
+ /* dir in debugfs: ieee80211/<wiphyname> */
+ struct dentry *debugfsdir;
+
+ char priv[0] __attribute__((__aligned__(NETDEV_ALIGN)));
+};
+
+/** struct wireless_dev - wireless per-netdev state
+ *
+ * This structure must be allocated by the driver/stack
+ * that uses the ieee80211_ptr field in struct net_device
+ * (this is intentional so it can be allocated along with
+ * the netdev.)
+ *
+ * @wiphy: pointer to hardware description
+ */
+struct wireless_dev {
+ struct wiphy *wiphy;
+
+ /* private to the generic wireless code */
+ struct cfg80211_config pending_config;
+};
+
+/**
+ * wiphy_priv - return priv from wiphy
+ */
+static inline void *wiphy_priv(struct wiphy *wiphy)
+{
+ BUG_ON(!wiphy);
+ return &wiphy->priv;
+}
+
+/**
+ * set_wiphy_dev - set device pointer for wiphy
+ */
+static inline void set_wiphy_dev(struct wiphy *wiphy, struct device *dev)
+{
+ wiphy->dev.parent = dev;
+}
+
+/**
+ * wiphy_dev - get wiphy dev pointer
+ */
+static inline struct device *wiphy_dev(struct wiphy *wiphy)
+{
+ return wiphy->dev.parent;
+}
+
+/**
+ * wiphy_name - get wiphy name
+ */
+static inline char *wiphy_name(struct wiphy *wiphy)
+{
+ return wiphy->dev.bus_id;
+}
+
+/**
+ * wdev_priv - return wiphy priv from wireless_dev
+ */
+static inline void *wdev_priv(struct wireless_dev *wdev)
+{
+ BUG_ON(!wdev);
+ return wiphy_priv(wdev->wiphy);
+}
+
+/**
+ * wiphy_new - create a new wiphy for use with cfg80211
+ *
+ * create a new wiphy and associate the given operations with it.
+ * @sizeof_priv bytes are allocated for private use.
+ *
+ * the returned pointer must be assigned to each netdev's
+ * ieee80211_ptr for proper operation.
+ */
+struct wiphy *wiphy_new(struct cfg80211_ops *ops, int sizeof_priv);
+
+/**
+ * wiphy_register - register a wiphy with cfg80211
+ *
+ * register the given wiphy
+ *
+ * Returns a non-negative wiphy index or a negative error code.
+ */
+extern int wiphy_register(struct wiphy *wiphy);
+
+/**
+ * wiphy_unregister - deregister a wiphy from cfg80211
+ *
+ * unregister a device with the given priv pointer.
+ * After this call, no more requests can be made with this priv
+ * pointer, but the call may sleep to wait for an outstanding
+ * request that is being handled.
+ */
+extern void wiphy_unregister(struct wiphy *wiphy);
+
+/**
+ * wiphy_free - free wiphy
+ */
+extern void wiphy_free(struct wiphy *wiphy);
+
+
+/*
+ * internal definitions for wireless
+ */
+
+#if defined(CONFIG_CFG80211_WEXT_COMPAT) || defined(CONFIG_WIRELESS_EXT)
+int wext_ioctl(unsigned int cmd, struct ifreq *ifreq, void __user *arg);
+int wireless_proc_init(void);
+#else
+static inline
+int wext_ioctl(unsigned int cmd, struct ifreq *ifreq, void __user *arg)
+{
+ return -EINVAL;
+}
+static inline int wireless_proc_init(void)
+{
+ return 0;
+}
+#endif
+
+#endif /* __NET_WIRELESS_H */
--- /dev/null 2006-11-15 09:57:50.578980680 -0500
+++ linux-2.6.20.noarch/include/net/mac80211.h 2007-02-27 16:16:14.000000000 -0500
@@ -0,0 +1,1079 @@
+/*
+ * Low-level hardware driver -- IEEE 802.11 driver (80211.o) interface
+ * Copyright 2002-2005, Devicescape Software, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef MAC80211_H
+#define MAC80211_H
+
+#include <linux/kernel.h>
+#include <linux/if_ether.h>
+#include <linux/skbuff.h>
+#include <linux/wireless.h>
+#include <linux/device.h>
+#include <linux/ieee80211.h>
+#include <net/wireless.h>
+#include <net/cfg80211.h>
+
+/* Note! Only ieee80211_tx_status_irqsafe() and ieee80211_rx_irqsafe() can be
+ * called in hardware interrupt context. The low-level driver must not call any
+ * other functions in hardware interrupt context. If there is a need for such
+ * call, the low-level driver should first ACK the interrupt and perform the
+ * IEEE 802.11 code call after this, e.g., from a scheduled tasklet (in
+ * software interrupt context).
+ */
+
+/*
+ * Frame format used when passing frame between low-level hardware drivers
+ * and IEEE 802.11 driver the same as used in the wireless media, i.e.,
+ * buffers start with IEEE 802.11 header and include the same octets that
+ * are sent over air.
+ *
+ * If hardware uses IEEE 802.3 headers (and perform 802.3 <-> 802.11
+ * conversion in firmware), upper layer 802.11 code needs to be changed to
+ * support this.
+ *
+ * If the receive frame format is not the same as the real frame sent
+ * on the wireless media (e.g., due to padding etc.), upper layer 802.11 code
+ * could be updated to provide support for such format assuming this would
+ * optimize the performance, e.g., by removing need to re-allocation and
[...89102 lines suppressed...]
+ iwe.u.data.length = strlen(buf);
+ current_ev = iwe_stream_add_point(current_ev, end_buf,
+ &iwe, buf);
+ kfree(buf);
+ }
+ }
+
+ do {
+ char *buf, *p;
+ int i;
+
+ if (!(local->scan_flags & IEEE80211_SCAN_EXTRA_INFO))
+ break;
+
+ buf = kmalloc(100, GFP_ATOMIC);
+ if (!buf)
+ break;
+
+ memset(&iwe, 0, sizeof(iwe));
+ iwe.cmd = IWEVCUSTOM;
+ sprintf(buf, "bcn_int=%d", bss->beacon_int);
+ iwe.u.data.length = strlen(buf);
+ current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe,
+ buf);
+
+ memset(&iwe, 0, sizeof(iwe));
+ iwe.cmd = IWEVCUSTOM;
+ sprintf(buf, "rssi=%d", bss->rssi);
+ iwe.u.data.length = strlen(buf);
+ current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe,
+ buf);
+
+ memset(&iwe, 0, sizeof(iwe));
+ iwe.cmd = IWEVCUSTOM;
+ sprintf(buf, "capab=0x%04x", bss->capability);
+ iwe.u.data.length = strlen(buf);
+ current_ev = iwe_stream_add_point(current_ev, end_buf, &iwe,
+ buf);
+
+ /* dispaly all support rates in readable format */
+ p = current_ev + IW_EV_LCP_LEN;
+ iwe.cmd = SIOCGIWRATE;
+ /* Those two flags are ignored... */
+ iwe.u.bitrate.fixed = iwe.u.bitrate.disabled = 0;
+
+ for (i = 0; i < bss->supp_rates_len; i++) {
+ iwe.u.bitrate.value = ((bss->supp_rates[i] &
+ 0x7f) * 500000);
+ p = iwe_stream_add_value(current_ev, p,
+ end_buf, &iwe, IW_EV_PARAM_LEN);
+ }
+ /* Check if we added any rate */
+ if((p - current_ev) > IW_EV_LCP_LEN)
+ current_ev = p;
+
+ kfree(buf);
+ break;
+ } while (0);
+
+ return current_ev;
+}
+
+
+int ieee80211_sta_scan_results(struct net_device *dev, char *buf, size_t len)
+{
+ struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ char *current_ev = buf;
+ char *end_buf = buf + len;
+ struct ieee80211_sta_bss *bss;
+
+ spin_lock_bh(&local->sta_bss_lock);
+ list_for_each_entry(bss, &local->sta_bss_list, list) {
+ if (buf + len - current_ev <= IW_EV_ADDR_LEN) {
+ spin_unlock_bh(&local->sta_bss_lock);
+ return -E2BIG;
+ }
+ current_ev = ieee80211_sta_scan_result(dev, bss, current_ev,
+ end_buf);
+ }
+ spin_unlock_bh(&local->sta_bss_lock);
+ return current_ev - buf;
+}
+
+
+int ieee80211_sta_set_extra_ie(struct net_device *dev, char *ie, size_t len)
+{
+ struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+ struct ieee80211_if_sta *ifsta = &sdata->u.sta;
+ kfree(ifsta->extra_ie);
+ if (len == 0) {
+ ifsta->extra_ie = NULL;
+ ifsta->extra_ie_len = 0;
+ return 0;
+ }
+ ifsta->extra_ie = kmalloc(len, GFP_KERNEL);
+ if (!ifsta->extra_ie) {
+ ifsta->extra_ie_len = 0;
+ return -ENOMEM;
+ }
+ memcpy(ifsta->extra_ie, ie, len);
+ ifsta->extra_ie_len = len;
+ return 0;
+}
+
+
+struct sta_info * ieee80211_ibss_add_sta(struct net_device *dev,
+ struct sk_buff *skb, u8 *bssid,
+ u8 *addr)
+{
+ struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ struct sta_info *sta;
+ struct ieee80211_sub_if_data *sdata = NULL;
+ struct net_device *sta_dev = NULL;
+
+ /* TODO: Could consider removing the least recently used entry and
+ * allow new one to be added. */
+ if (local->num_sta >= IEEE80211_IBSS_MAX_STA_ENTRIES) {
+ if (net_ratelimit()) {
+ printk(KERN_DEBUG "%s: No room for a new IBSS STA "
+ "entry " MAC_FMT "\n", dev->name, MAC_ARG(addr));
+ }
+ return NULL;
+ }
+
+ spin_lock_bh(&local->sub_if_lock);
+ list_for_each_entry(sdata, &local->sub_if_list, list)
+ if (sdata->type == IEEE80211_IF_TYPE_IBSS &&
+ memcmp(bssid, sdata->u.sta.bssid, ETH_ALEN) == 0) {
+ sta_dev = sdata->dev;
+ break;
+ }
+ spin_unlock_bh(&local->sub_if_lock);
+
+ if (!sta_dev)
+ return NULL;
+
+ printk(KERN_DEBUG "%s: Adding new IBSS station " MAC_FMT " (dev=%s)\n",
+ dev->name, MAC_ARG(addr), sta_dev->name);
+
+ sta = sta_info_add(local, dev, addr, GFP_ATOMIC);
+ if (!sta)
+ return NULL;
+
+ sta->dev = sta_dev;
+ sta->supp_rates = sdata->u.sta.supp_rates_bits;
+
+ rate_control_rate_init(sta, local);
+
+ return sta; /* caller will call sta_info_put() */
+}
+
+
+int ieee80211_sta_deauthenticate(struct net_device *dev, u16 reason)
+{
+ struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+ struct ieee80211_if_sta *ifsta = &sdata->u.sta;
+
+ printk(KERN_DEBUG "%s: deauthenticate(reason=%d)\n",
+ dev->name, reason);
+
+ if (sdata->type != IEEE80211_IF_TYPE_STA &&
+ sdata->type != IEEE80211_IF_TYPE_IBSS)
+ return -EINVAL;
+
+ ieee80211_send_deauth(dev, ifsta, reason);
+ ieee80211_set_disassoc(dev, ifsta, 1);
+ return 0;
+}
+
+
+int ieee80211_sta_disassociate(struct net_device *dev, u16 reason)
+{
+ struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+ struct ieee80211_if_sta *ifsta = &sdata->u.sta;
+
+ printk(KERN_DEBUG "%s: disassociate(reason=%d)\n",
+ dev->name, reason);
+
+ if (sdata->type != IEEE80211_IF_TYPE_STA)
+ return -EINVAL;
+
+ if (!ifsta->associated)
+ return -1;
+
+ ieee80211_send_disassoc(dev, ifsta, reason);
+ ieee80211_set_disassoc(dev, ifsta, 0);
+ return 0;
+}
--- /dev/null 2006-11-15 09:57:50.578980680 -0500
+++ linux-2.6.20.noarch/net/mac80211/ieee80211_cfg.h 2007-02-27 16:16:14.000000000 -0500
@@ -0,0 +1,9 @@
+/*
+ * mac80211 configuration hooks for cfg80211
+ */
+#ifndef __IEEE80211_CFG_H
+#define __IEEE80211_CFG_H
+
+extern struct cfg80211_ops mac80211_config_ops;
+
+#endif /* __IEEE80211_CFG_H */
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2954
retrieving revision 1.2954.2.1
diff -u -r1.2954 -r1.2954.2.1
--- kernel-2.6.spec 27 Feb 2007 04:46:12 -0000 1.2954
+++ kernel-2.6.spec 27 Feb 2007 22:11:32 -0000 1.2954.2.1
@@ -29,7 +29,7 @@
%define sublevel 20
%define kversion 2.6.%{sublevel}
%define rpmversion 2.6.%{sublevel}
-%define release %(R="$Revision$"; RR="${R##: }"; echo ${RR%%?})%{?dist}
+%define release %(R="$Revision$"; RR="${R##: }"; echo ${RR%%?})%{?dist}.jwltest.2
%define make_target bzImage
%define kernel_image x86
@@ -301,7 +301,8 @@
# Patches 10 through 99 are for things that are going upstream really soon.
Patch10: linux-2.6-utrace.patch
Patch11: nouveau-drm.patch
-Patch12: git-wireless-dev.patch
+#Patch12: git-wireless-dev.patch
+Patch12: jwltest-git-wireless-dev.patch
# enable sysrq-c on all kernels, not only kexec
Patch20: linux-2.6-sysrq-c.patch
More information about the fedora-cvs-commits
mailing list