rpms/kernel/devel linux-2.6-softmac-git.patch, NONE, 1.1.2.1 linux-2.6.15-usb-find-interface.patch, NONE, 1.1.2.1 linux-2.6.15-usblp-fixes.patch, NONE, 1.1.2.1 .cvsignore, 1.313, 1.313.2.1 kernel-2.6.spec, 1.1826.2.5, 1.1826.2.6 linux-2.6-bcm43xx-resume.patch, 1.1, 1.1.2.1 linux-2.6-bcm43xx.patch, 1.1, 1.1.2.1 sources, 1.255, 1.255.2.1 linux-2.6-bcm43xx-device-table.patch, 1.1, NONE linux-2.6-bcm43xx-promisc.patch, 1.1, NONE linux-2.6-bcm43xx-quiet.patch, 1.1, NONE linux-2.6.14-ieee80211-hw-wep.patch, 1.1, NONE
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Mon Jan 9 13:47:37 UTC 2006
- Previous message (by thread): rpms/kernel/devel/configs config-generic,1.121.2.1,1.121.2.2
- Next message (by thread): rpms/ltrace/devel ltrace-fixes.patch, NONE, 1.1 ltrace-ia64.patch, NONE, 1.1 ltrace-ppc64-2.patch, NONE, 1.1 ltrace-ppc64.patch, NONE, 1.1 ltrace-s390x.patch, NONE, 1.1 ltrace-syscallent-update.patch, NONE, 1.1 ltrace.spec, 1.19, 1.20 ltrace_0.3.36-biarch.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: dwmw2
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv14046
Modified Files:
Tag: private-fc5-test2-branch
.cvsignore kernel-2.6.spec linux-2.6-bcm43xx-resume.patch
linux-2.6-bcm43xx.patch sources
Added Files:
Tag: private-fc5-test2-branch
linux-2.6-softmac-git.patch
linux-2.6.15-usb-find-interface.patch
linux-2.6.15-usblp-fixes.patch
Removed Files:
Tag: private-fc5-test2-branch
linux-2.6-bcm43xx-device-table.patch
linux-2.6-bcm43xx-promisc.patch linux-2.6-bcm43xx-quiet.patch
linux-2.6.14-ieee80211-hw-wep.patch
Log Message:
usblp fixes, bcm43xx update
linux-2.6-softmac-git.patch:
include/net/ieee80211.h | 6
include/net/ieee80211softmac.h | 266 +++++++++++++
include/net/ieee80211softmac_wx.h | 66 +++
net/ieee80211/Kconfig | 1
net/ieee80211/Makefile | 1
net/ieee80211/ieee80211_crypt_wep.c | 61 ++-
net/ieee80211/ieee80211_module.c | 2
net/ieee80211/ieee80211_rx.c | 4
net/ieee80211/ieee80211_tx.c | 2
net/ieee80211/ieee80211_wx.c | 2
net/ieee80211/softmac/Kconfig | 10
net/ieee80211/softmac/Makefile | 9
net/ieee80211/softmac/ieee80211softmac_assoc.c | 356 ++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_auth.c | 348 +++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_event.c | 135 ++++++
net/ieee80211/softmac/ieee80211softmac_io.c | 474 ++++++++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_module.c | 436 ++++++++++++++++++++++
net/ieee80211/softmac/ieee80211softmac_priv.h | 211 ++++++++++
net/ieee80211/softmac/ieee80211softmac_scan.c | 216 ++++++++++
net/ieee80211/softmac/ieee80211softmac_wx.c | 390 +++++++++++++++++++
20 files changed, 2971 insertions(+), 25 deletions(-)
--- NEW FILE linux-2.6-softmac-git.patch ---
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h
index cde2f4f..df05f46 100644
--- a/include/net/ieee80211.h
+++ b/include/net/ieee80211.h
@@ -363,8 +363,9 @@ enum ieee80211_reasoncode {
#define IEEE80211_OFDM_SHIFT_MASK_A 4
/* NOTE: This data is for statistical purposes; not all hardware provides this
- * information for frames received. Not setting these will not cause
- * any adverse affects. */
+ * information for frames received.
+ * For ieee80211_rx_mgt, you need to set at least the 'len' parameter.
+ */
struct ieee80211_rx_stats {
u32 mac_time;
s8 rssi;
@@ -1088,6 +1089,7 @@ extern int ieee80211_tx_frame(struct iee
/* ieee80211_rx.c */
extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
struct ieee80211_rx_stats *rx_stats);
+/* make sure to set stats->len */
extern void ieee80211_rx_mgt(struct ieee80211_device *ieee,
struct ieee80211_hdr_4addr *header,
struct ieee80211_rx_stats *stats);
diff --git a/include/net/ieee80211softmac.h b/include/net/ieee80211softmac.h
new file mode 100644
index 0000000..7264bd8
--- /dev/null
+++ b/include/net/ieee80211softmac.h
@@ -0,0 +1,266 @@
+#ifndef IEEE80211SOFTMAC_H_
+#define IEEE80211SOFTMAC_H_
+
+#include <linux/kernel.h>
+#include <linux/spinlock.h>
+#include <linux/workqueue.h>
+#include <linux/list.h>
+#include <net/ieee80211.h>
+
+/* Once the API is considered more or less stable,
+ * this should be incremented on API incompatible changes.
+ */
+#define IEEE80211SOFTMAC_API 0
+
+#define IEEE80211SOFTMAC_MAX_RATES_LEN 8
+#define IEEE80211SOFTMAC_MAX_EX_RATES_LEN 255
+
+struct ieee80211softmac_ratesinfo {
+ u8 count;
+ u8 rates[IEEE80211SOFTMAC_MAX_RATES_LEN + IEEE80211SOFTMAC_MAX_EX_RATES_LEN];
+};
+
+/* internal structures */
+struct ieee80211softmac_network;
+struct ieee80211softmac_scaninfo;
+
+struct ieee80211softmac_essid {
+ u8 len;
+ char data[IW_ESSID_MAX_SIZE+1];
+};
+
+struct ieee80211softmac_wpa {
+ char *IE;
+ int IElen;
+ int IEbuflen;
+};
+
+/*
+ * Information about association
+ *
+ * Do we need a lock for this?
+ * We only ever use this structure inlined
+ * into our global struct. I've used its lock,
+ * but maybe we need a local one here?
+ */
+struct ieee80211softmac_assoc_info {
+ /*
+ * This is the requested ESSID. It is written
+ * only by the WX handlers.
+ *
+ */
+ struct ieee80211softmac_essid req_essid;
+ /*
+ * the ESSID of the network we're currently
+ * associated (or trying) to. This is
+ * updated to the network's actual ESSID
+ * even if the requested ESSID was 'ANY'
+ */
+ struct ieee80211softmac_essid associate_essid;
+
+ /* BSSID we're trying to associate to */
+ char bssid[ETH_ALEN];
+
+ /* some flags.
+ * static_essid is valid if the essid is constant,
+ * this is for use by the wx handlers only.
+ *
+ * associating is true, if the network has been
+ * auth'ed on and we are in the process of associating.
+ *
+ * bssvalid is true if we found a matching network
+ * and saved it's BSSID into the bssid above.
+ */
+ u8 static_essid:1,
+ associating:1,
+ bssvalid:1;
+
+ /* Scan retries remaining */
+ int scan_retry;
+
+ struct work_struct work;
+ struct work_struct timeout;
+};
+
+enum {
+ IEEE80211SOFTMAC_AUTH_OPEN_REQUEST = 1,
+ IEEE80211SOFTMAC_AUTH_OPEN_RESPONSE = 2,
+};
+
+enum {
+ IEEE80211SOFTMAC_AUTH_SHARED_REQUEST = 1,
+ IEEE80211SOFTMAC_AUTH_SHARED_CHALLENGE = 2,
+ IEEE80211SOFTMAC_AUTH_SHARED_RESPONSE = 3,
+ IEEE80211SOFTMAC_AUTH_SHARED_PASS = 4,
+};
+
+/* We should make these tunable
+ * AUTH_TIMEOUT seems really long, but that's what it is in BSD */
+#define IEEE80211SOFTMAC_AUTH_TIMEOUT (12 * HZ)
+#define IEEE80211SOFTMAC_AUTH_RETRY_LIMIT 5
+#define IEEE80211SOFTMAC_ASSOC_SCAN_RETRY_LIMIT 3
+
+struct ieee80211softmac_txrates {
+ /* The Bit-Rate to be used for multicast frames. */
+ u8 mcast_rate;
+ /* The Bit-Rate to be used for multicast fallback
+ * (If the device supports fallback and hardware-retry)
+ */
+ u8 mcast_fallback;
+ /* The Bit-Rate to be used for any other (normal) data packet. */
+ u8 default_rate;
+ /* The Bit-Rate to be used for default fallback
+ * (If the device supports fallback and hardware-retry)
+ */
+ u8 default_fallback;
+};
+
+/* Bits for txrates_change callback. */
+#define IEEE80211SOFTMAC_TXRATECHG_DEFAULT (1 << 0) /* default_rate */
+#define IEEE80211SOFTMAC_TXRATECHG_DEFAULT_FBACK (1 << 1) /* default_fallback */
+#define IEEE80211SOFTMAC_TXRATECHG_MCAST (1 << 2) /* mcast_rate */
+#define IEEE80211SOFTMAC_TXRATECHG_MCAST_FBACK (1 << 3) /* mcast_fallback */
+
+struct ieee80211softmac_device {
+ /* 802.11 structure for data stuff */
+ struct ieee80211_device *ieee;
+ struct net_device *dev;
+
+ /* only valid if associated, then holds the Association ID */
+ u16 association_id;
+
+ /* the following methods are callbacks that the driver
+ * using this framework has to assign
+ */
+
+ /* always assign these */
+ void (*set_bssid_filter)(struct net_device *dev, const u8 *bssid);
+ void (*set_channel)(struct net_device *dev, u8 channel);
+
+ /* assign if you need it, informational only */
+ void (*link_change)(struct net_device *dev);
+
+ /* If the hardware can do scanning, assign _all_ three of these callbacks.
+ * When the scan finishes, call ieee80211softmac_scan_finished().
+ */
+
+ /* when called, start_scan is guaranteed to not be called again
+ * until you call ieee80211softmac_scan_finished.
+ * Return 0 if scanning could start, error otherwise.
+ * SOFTMAC AUTHORS: don't call this, use ieee80211softmac_start_scan */
+ int (*start_scan)(struct net_device *dev);
+ /* this should block until after ieee80211softmac_scan_finished was called
+ * SOFTMAC AUTHORS: don't call this, use ieee80211softmac_wait_for_scan */
+ void (*wait_for_scan)(struct net_device *dev);
+ /* stop_scan aborts a scan, but is asynchronous.
+ * if you want to wait for it too, use wait_for_scan
+ * SOFTMAC AUTHORS: don't call this, use ieee80211softmac_stop_scan */
+ void (*stop_scan)(struct net_device *dev);
+
+ /* we'll need something about beacons here too, for AP or ad-hoc modes */
+
+ /* Transmission rates to be used by the driver.
+ * The SoftMAC figures out the best possible rates.
+ * The driver just needs to read them.
+ */
+ struct ieee80211softmac_txrates txrates;
+ /* If the driver needs to do stuff on TX rate changes, assign this callback. */
+ void (*txrates_change)(struct net_device *dev,
+ u32 changes, /* see IEEE80211SOFTMAC_TXRATECHG flags */
[...2780 lines suppressed...]
+ struct iw_request_info *info,
+ union iwreq_data *data,
+ char *extra)
+{
+ struct ieee80211softmac_device *mac = ieee80211_priv(net_dev);
+ unsigned long flags;
+ int err = -EINVAL;
+
+ spin_lock_irqsave(&mac->lock, flags);
+ switch (mac->txrates.default_rate) {
+ case IEEE80211_CCK_RATE_1MB:
+ data->bitrate.value = 1000000;
+ break;
+ case IEEE80211_CCK_RATE_2MB:
+ data->bitrate.value = 2000000;
+ break;
+ case IEEE80211_CCK_RATE_5MB:
+ data->bitrate.value = 5500000;
+ break;
+ case IEEE80211_CCK_RATE_11MB:
+ data->bitrate.value = 11000000;
+ break;
+ case IEEE80211_OFDM_RATE_6MB:
+ data->bitrate.value = 6000000;
+ break;
+ case IEEE80211_OFDM_RATE_9MB:
+ data->bitrate.value = 9000000;
+ break;
+ case IEEE80211_OFDM_RATE_12MB:
+ data->bitrate.value = 12000000;
+ break;
+ case IEEE80211_OFDM_RATE_18MB:
+ data->bitrate.value = 18000000;
+ break;
+ case IEEE80211_OFDM_RATE_24MB:
+ data->bitrate.value = 24000000;
+ break;
+ case IEEE80211_OFDM_RATE_36MB:
+ data->bitrate.value = 36000000;
+ break;
+ case IEEE80211_OFDM_RATE_48MB:
+ data->bitrate.value = 48000000;
+ break;
+ case IEEE80211_OFDM_RATE_54MB:
+ data->bitrate.value = 54000000;
+ break;
+ default:
+ assert(0);
+ goto out_unlock;
+ }
+ err = 0;
+out_unlock:
+ spin_unlock_irqrestore(&mac->lock, flags);
+
+ return err;
+}
+EXPORT_SYMBOL_GPL(ieee80211softmac_wx_get_rate);
+
+int
+ieee80211softmac_wx_get_wap(struct net_device *net_dev,
+ struct iw_request_info *info,
+ union iwreq_data *data,
+ char *extra)
+{
+ struct ieee80211softmac_device *mac = ieee80211_priv(net_dev);
+ int err = 0;
+ unsigned long flags;
+
+ spin_lock_irqsave(&mac->lock, flags);
+ if (mac->associnfo.bssvalid)
+ memcpy(data->ap_addr.sa_data, mac->associnfo.bssid, ETH_ALEN);
+ else
+ memset(data->ap_addr.sa_data, 0xff, ETH_ALEN);
+ data->ap_addr.sa_family = ARPHRD_ETHER;
+ spin_unlock_irqrestore(&mac->lock, flags);
+ return err;
+}
+EXPORT_SYMBOL_GPL(ieee80211softmac_wx_get_wap);
+
+int
+ieee80211softmac_wx_set_wap(struct net_device *net_dev,
+ struct iw_request_info *info,
+ union iwreq_data *data,
+ char *extra)
+{
+ struct ieee80211softmac_device *mac = ieee80211_priv(net_dev);
+ static const unsigned char any[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+ static const unsigned char off[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ unsigned long flags;
+
+ /* sanity check */
+ if (data->ap_addr.sa_family != ARPHRD_ETHER) {
+ return -EINVAL;
+ }
+
+ spin_lock_irqsave(&mac->lock, flags);
+ if (!memcmp(any, data->ap_addr.sa_data, ETH_ALEN) ||
+ !memcmp(off, data->ap_addr.sa_data, ETH_ALEN)) {
+ schedule_work(&mac->associnfo.work);
+ goto out;
+ } else {
+ if (!memcmp(mac->associnfo.bssid, data->ap_addr.sa_data, ETH_ALEN)) {
+ if (mac->associnfo.associating || mac->associated) {
+ /* bssid unchanged and associated or associating - just return */
+ goto out;
+ }
+ } else {
+ /* copy new value in data->ap_addr.sa_data to bssid */
+ memcpy(mac->associnfo.bssid, data->ap_addr.sa_data, ETH_ALEN);
+ }
+ /* queue associate if new bssid or (old one again and not associated) */
+ schedule_work(&mac->associnfo.work);
+ }
+
+out:
+ spin_unlock_irqrestore(&mac->lock, flags);
+ return 0;
+}
+EXPORT_SYMBOL_GPL(ieee80211softmac_wx_set_wap);
+
+int
+ieee80211softmac_wx_set_genie(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu,
+ char *extra)
+{
+ struct ieee80211softmac_device *mac = ieee80211_priv(dev);
+ unsigned long flags;
+ int err = 0;
+ char *buf;
+ int i;
+
+ spin_lock_irqsave(&mac->lock, flags);
+ /* bleh. shouldn't be locked for that kmalloc... */
+
+ if (wrqu->data.length) {
+ if ((wrqu->data.length < 2) || (extra[1]+2 != wrqu->data.length)) {
+ /* this is an IE, so the length must be
+ * correct. Is it possible though that
+ * more than one IE is passed in?
+ */
+ err = -EINVAL;
+ goto out;
+ }
+ if (mac->wpa.IEbuflen <= wrqu->data.length) {
+ buf = kmalloc(wrqu->data.length, GFP_ATOMIC);
+ if (!buf) {
+ err = -ENOMEM;
+ goto out;
+ }
+ kfree(mac->wpa.IE);
+ mac->wpa.IE = buf;
+ mac->wpa.IEbuflen = wrqu->data.length;
+ }
+ memcpy(mac->wpa.IE, extra, wrqu->data.length);
+ dprintk(KERN_INFO PFX "generic IE set to ");
+ for (i=0;i<wrqu->data.length;i++)
+ dprintk("%.2x", mac->wpa.IE[i]);
+ dprintk("\n");
+ mac->wpa.IElen = wrqu->data.length;
+ } else {
+ kfree(mac->wpa.IE);
+ mac->wpa.IE = NULL;
+ mac->wpa.IElen = 0;
+ mac->wpa.IEbuflen = 0;
+ }
+
+ out:
+ spin_unlock_irqrestore(&mac->lock, flags);
+ return err;
+}
+EXPORT_SYMBOL_GPL(ieee80211softmac_wx_set_genie);
+
+int
+ieee80211softmac_wx_get_genie(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu,
+ char *extra)
+{
+ struct ieee80211softmac_device *mac = ieee80211_priv(dev);
+ unsigned long flags;
+ int err = 0;
+ int space = wrqu->data.length;
+
+ spin_lock_irqsave(&mac->lock, flags);
+
+ wrqu->data.length = 0;
+
+ if (mac->wpa.IE && mac->wpa.IElen) {
+ wrqu->data.length = mac->wpa.IElen;
+ if (mac->wpa.IElen <= space)
+ memcpy(extra, mac->wpa.IE, mac->wpa.IElen);
+ else
+ err = -E2BIG;
+ }
+ spin_unlock_irqrestore(&mac->lock, flags);
+ return err;
+}
+EXPORT_SYMBOL_GPL(ieee80211softmac_wx_get_genie);
+
linux-2.6.15-usb-find-interface.patch:
usb.c | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
--- NEW FILE linux-2.6.15-usb-find-interface.patch ---
--- linux-2.6.15/drivers/usb/core/usb.c.orig 2006-01-03 03:21:10.000000000 +0000
+++ linux-2.6.15/drivers/usb/core/usb.c 2006-01-09 13:40:41.000000000 +0000
@@ -483,20 +483,23 @@ usb_match_id(struct usb_interface *inter
return NULL;
}
+struct find_interface_arg {
+ int minor;
+ struct usb_interface *interface;
+};
static int __find_interface(struct device * dev, void * data)
{
- struct usb_interface ** ret = (struct usb_interface **)data;
- struct usb_interface * intf = *ret;
- int *minor = (int *)data;
+ struct find_interface_arg *arg = data;
+ struct usb_interface *intf;
/* can't look at usb devices, only interfaces */
if (dev->driver == &usb_generic_driver)
return 0;
intf = to_usb_interface(dev);
- if (intf->minor != -1 && intf->minor == *minor) {
- *ret = intf;
+ if (intf->minor != -1 && intf->minor == arg->minor) {
+ arg->interface = intf;
return 1;
}
return 0;
@@ -513,12 +516,12 @@ static int __find_interface(struct devic
*/
struct usb_interface *usb_find_interface(struct usb_driver *drv, int minor)
{
- struct usb_interface *intf = (struct usb_interface *)(long)minor;
- int ret;
-
- ret = driver_for_each_device(&drv->driver, NULL, &intf, __find_interface);
+ struct find_interface_arg argb;
- return ret ? intf : NULL;
+ argb.minor = minor;
+ argb.interface = NULL;
+ driver_for_each_device(&drv->driver, NULL, &argb, __find_interface);
+ return argb.interface;
}
static int usb_device_match (struct device *dev, struct device_driver *drv)
linux-2.6.15-usblp-fixes.patch:
usblp.c | 40 +++++++++++++++++++++++++++++-----------
1 files changed, 29 insertions(+), 11 deletions(-)
--- NEW FILE linux-2.6.15-usblp-fixes.patch ---
diff -u b/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
--- b/drivers/usb/class/usblp.c
+++ b/drivers/usb/class/usblp.c
@@ -438,7 +438,7 @@
| (!usblp->wcomplete ? 0 : POLLOUT | POLLWRNORM);
}
-static int usblp_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
+static long usblp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
struct usblp *usblp = file->private_data;
int length, err, i;
@@ -838,7 +838,8 @@
.read = usblp_read,
.write = usblp_write,
.poll = usblp_poll,
- .ioctl = usblp_ioctl,
+ .unlocked_ioctl = usblp_ioctl,
+ .compat_ioctl = usblp_ioctl,
.open = usblp_open,
.release = usblp_release,
};
@@ -849,6 +850,20 @@
.minor_base = USBLP_MINOR_BASE,
};
+static ssize_t usblp_show_ieee1284_id(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct usb_interface *intf = to_usb_interface(dev);
+ struct usblp *usblp = usb_get_intfdata (intf);
+
+ if (usblp->device_id_string[0] == 0 &&
+ usblp->device_id_string[1] == 0)
+ return 0;
+
+ return sprintf(buf, "%s", usblp->device_id_string+2);
+}
+
+static DEVICE_ATTR(ieee1284_id, S_IRUGO, usblp_show_ieee1284_id, NULL);
+
static int usblp_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{
@@ -933,20 +948,12 @@
/* Retrieve and store the device ID string. */
usblp_cache_device_id_string(usblp);
+ device_create_file(&intf->dev, &dev_attr_ieee1284_id);
#ifdef DEBUG
usblp_check_status(usblp, 0);
#endif
- info("usblp%d: USB %sdirectional printer dev %d "
- "if %d alt %d proto %d vid 0x%4.4X pid 0x%4.4X",
- usblp->minor, usblp->bidir ? "Bi" : "Uni", dev->devnum,
- usblp->ifnum,
- usblp->protocol[usblp->current_protocol].alt_setting,
- usblp->current_protocol,
- le16_to_cpu(usblp->dev->descriptor.idVendor),
- le16_to_cpu(usblp->dev->descriptor.idProduct));
-
usb_set_intfdata (intf, usblp);
usblp->present = 1;
@@ -957,11 +964,20 @@
goto abort_intfdata;
}
usblp->minor = intf->minor;
+ info("usblp%d: USB %sdirectional printer dev %d "
+ "if %d alt %d proto %d vid 0x%4.4X pid 0x%4.4X",
+ usblp->minor, usblp->bidir ? "Bi" : "Uni", dev->devnum,
+ usblp->ifnum,
+ usblp->protocol[usblp->current_protocol].alt_setting,
+ usblp->current_protocol,
+ le16_to_cpu(usblp->dev->descriptor.idVendor),
+ le16_to_cpu(usblp->dev->descriptor.idProduct));
return 0;
abort_intfdata:
usb_set_intfdata (intf, NULL);
+ device_remove_file(&intf->dev, &dev_attr_ieee1284_id);
abort:
if (usblp) {
if (usblp->writebuf)
@@ -1156,6 +1172,8 @@
BUG ();
}
+ device_remove_file(&intf->dev, &dev_attr_ieee1284_id);
+
down (&usblp_sem);
down (&usblp->sem);
usblp->present = 0;
Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.313
retrieving revision 1.313.2.1
diff -u -r1.313 -r1.313.2.1
--- .cvsignore 3 Jan 2006 10:57:13 -0000 1.313
+++ .cvsignore 9 Jan 2006 13:47:34 -0000 1.313.2.1
@@ -2,5 +2,4 @@
temp-*
kernel-2.6.15
linux-2.6.15.tar.bz2
-bcm43xx-20060103.tar.bz2
-ieee80211softmac-20060103.tar.bz2
+bcm43xx-20060106.tar.bz2
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.1826.2.5
retrieving revision 1.1826.2.6
diff -u -r1.1826.2.5 -r1.1826.2.6
--- kernel-2.6.spec 7 Jan 2006 06:14:57 -0000 1.1826.2.5
+++ kernel-2.6.spec 9 Jan 2006 13:47:35 -0000 1.1826.2.6
@@ -182,8 +182,7 @@
Source10: COPYING.modules
Source11: genkey
-%define BCMVER 20060103
-Source12: ftp://ftp.berlios.de/pub/bcm43xx/snapshots/softmac/ieee80211softmac-%{BCMVER}.tar.bz2
+%define BCMVER 20060106
Source13: ftp://ftp.berlios.de/pub/bcm43xx/snapshots/bcm43xx/bcm43xx-%{BCMVER}.tar.bz2
Source20: kernel-%{kversion}-i586.config
@@ -304,6 +303,8 @@
Patch1028: linux-2.6-debug-oops-pause.patch
Patch1029: linux-2.6-debug-account-kmalloc.patch
Patch1030: linux-2.6-debug-latency-tracing.patch
+Patch1031: linux-2.6.15-usblp-fixes.patch
+Patch1032: linux-2.6.15-usb-find-interface.patch
# Restrict /dev/mem usage.
Patch1050: linux-2.6-devmem.patch
@@ -386,12 +387,9 @@
Patch2100: linux-2.6-acpi-thinkpad-c2c3.patch
# Broadcom wireless driver
-Patch5000: linux-2.6-bcm43xx.patch
-Patch5001: linux-2.6-bcm43xx-quiet.patch
-Patch5002: linux-2.6-bcm43xx-promisc.patch
-Patch5003: linux-2.6.14-ieee80211-hw-wep.patch
-Patch5004: linux-2.6-bcm43xx-device-table.patch
-Patch5005: linux-2.6-bcm43xx-resume.patch
+Patch5000: linux-2.6-softmac-git.patch
+Patch5001: linux-2.6-bcm43xx.patch
+Patch5002: linux-2.6-bcm43xx-resume.patch
#
# 10000 to 20000 is for stuff that has to come last due to the
@@ -769,7 +767,8 @@
%patch1028 -p1
#%patch1029 -p1
#%patch1030 -p1
-
+%patch1031 -p1
+%patch1032 -p1
#
# Make /dev/mem a need-to-know function
#
@@ -915,24 +914,15 @@
# Broadcom BCM43xx wireless driver.
# Extract snapshot tarballs and move them into place.
-tar xvfj %{SOURCE12}
-mv ieee80211softmac-%{BCMVER}/net/*.h include/net
-mv ieee80211softmac-%{BCMVER} net/ieee80211/softmac
tar xvfj %{SOURCE13}
mv bcm43xx-%{BCMVER} drivers/net/wireless/bcm43xx
-# Patch Kconfig and Makefiles to merge it 'properly'
+# Import softmac code from git tree
%patch5000 -p1
-# Make it shut up about dropping packets it didn't want
+# Patch Kconfig and Makefiles to merge bcm43xx 'properly'
%patch5001 -p1
-# Operate in promiscuous mode, to make multicast and broadcast RX work
+# Fix the reassociate on resume code
%patch5002 -p1
-# Handle host_build_iv properly
-%patch5003 -p1
-# Include pci device table so it gets autoloaded
-%patch5004 -p1
-# Reassociate on resume
-%patch5005 -p1
#
# final stuff
@@ -1421,6 +1411,10 @@
%endif
%changelog
+* Mon Jan 9 2006 David Woodhouse <dwmw2 at redhat.com>
+- Fix some usblp problems, add ieee1284_id to sysfs
+- update bcm43xx driver to version tested in -HEAD
+
* Sat Jan 7 2006 Dave Jones <davej at redhat.com>
- Silence some iseries build warnings.
linux-2.6-bcm43xx-resume.patch:
bcm43xx.h | 11 +++++++++--
bcm43xx_main.c | 2 +-
2 files changed, 10 insertions(+), 3 deletions(-)
Index: linux-2.6-bcm43xx-resume.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-bcm43xx-resume.patch,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- linux-2.6-bcm43xx-resume.patch 3 Jan 2006 23:04:52 -0000 1.1
+++ linux-2.6-bcm43xx-resume.patch 9 Jan 2006 13:47:35 -0000 1.1.2.1
@@ -1,10 +1,39 @@
--- linux-2.6.15/drivers/net/wireless/bcm43xx/bcm43xx_main.c~ 2006-01-03 22:56:55.000000000 +0000
+++ linux-2.6.15/drivers/net/wireless/bcm43xx/bcm43xx_main.c 2006-01-03 23:00:15.000000000 +0000
-@@ -4543,6 +4541,7 @@ static int bcm43xx_resume(struct pci_dev
- }
+@@ -4583,8 +4583,8 @@ static int bcm43xx_resume(struct pci_dev
netif_device_attach(net_dev);
-+ queue_work(bcm->softmac->workqueue,&bcm->softmac->associnfo.work);
+
+ /*FIXME: This should be handled by softmac instead. */
+- queue_work(bcm->softmac->workqueue, &bcm->softmac->associnfo.work);
++ schedule_work(&bcm->softmac->associnfo.work);
dprintk(KERN_INFO PFX "Device resumed.\n");
+--- linux-2.6.15/drivers/net/wireless/bcm43xx/bcm43xx.h.orig 2006-01-06 05:00:12.000000000 +0000
++++ linux-2.6.15/drivers/net/wireless/bcm43xx/bcm43xx.h 2006-01-06 14:07:38.000000000 +0000
+@@ -648,7 +648,8 @@ struct bcm43xx_private {
+ bad_frames_preempt:1, /* Use "Bad Frames Preemption" (default off) */
+ reg124_set_0x4:1, /* Some variable to keep track of IRQ stuff. */
+ powersaving:1, /* TRUE if we are in PowerSaving mode. FALSE otherwise. */
+- short_preamble:1; /* TRUE, if short preamble is enabled. */
++ short_preamble:1, /* TRUE, if short preamble is enabled. */
++ firmware_norelease:1; /* Do not release the firmware. Used on suspend. */
+
+ struct bcm43xx_stats stats;
+
+@@ -728,7 +729,13 @@ struct bcm43xx_private {
+ u16 security_offset;
+ struct bcm43xx_key key[54];
+ u8 default_key_idx;
+-
++
++ /* Firmware. */
++ const struct firmware *ucode;
++ const struct firmware *pcm;
++ const struct firmware *initvals0;
++ const struct firmware *initvals1;
++
+ /* Debugging stuff follows. */
+ #ifdef BCM43xx_DEBUG
+ struct bcm43xx_dfsentry *dfsentry;
linux-2.6-bcm43xx.patch:
Kconfig | 8 ++++++++
Makefile | 1 +
2 files changed, 9 insertions(+)
Index: linux-2.6-bcm43xx.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-bcm43xx.patch,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- linux-2.6-bcm43xx.patch 2 Jan 2006 21:56:59 -0000 1.1
+++ linux-2.6-bcm43xx.patch 9 Jan 2006 13:47:35 -0000 1.1.2.1
@@ -25,26 +25,3 @@
# 16-bit wireless PCMCIA client drivers
obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o
---- linux-2.6.14/net/ieee80211/Kconfig~ 2005-12-30 23:42:06.000000000 +0000
-+++ linux-2.6.14/net/ieee80211/Kconfig 2005-12-30 23:51:55.000000000 +0000
-@@ -66,3 +66,10 @@ config IEEE80211_CRYPT_TKIP
- This can be compiled as a modules and it will be called
- "ieee80211_crypt_tkip".
-
-+config IEEE80211_SOFTMAC
-+ tristate "IEEE 802.11 softmac"
-+ depends on IEEE80211 && EXPERIMENTAL
-+ ---help---
-+ The softmac layer handles IEEE 802.11 protocol management functions
-+ such as scanning, association and similar tasks, which recent hardware
-+ often leaves to software rather than implementing it all in hardware.
---- linux-2.6.14/net/ieee80211/Makefile~ 2005-12-30 23:42:06.000000000 +0000
-+++ linux-2.6.14/net/ieee80211/Makefile 2005-12-30 23:52:26.000000000 +0000
-@@ -3,6 +3,7 @@ obj-$(CONFIG_IEEE80211) += ieee80211_cry
- obj-$(CONFIG_IEEE80211_CRYPT_WEP) += ieee80211_crypt_wep.o
- obj-$(CONFIG_IEEE80211_CRYPT_CCMP) += ieee80211_crypt_ccmp.o
- obj-$(CONFIG_IEEE80211_CRYPT_TKIP) += ieee80211_crypt_tkip.o
-+obj-$(CONFIG_IEEE80211_SOFTMAC) += softmac/
- ieee80211-objs := \
- ieee80211_module.o \
- ieee80211_tx.o \
Index: sources
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/sources,v
retrieving revision 1.255
retrieving revision 1.255.2.1
diff -u -r1.255 -r1.255.2.1
--- sources 3 Jan 2006 10:57:13 -0000 1.255
+++ sources 9 Jan 2006 13:47:35 -0000 1.255.2.1
@@ -1,3 +1,2 @@
cdf95e00f5111e31f78e1d97304d9522 linux-2.6.15.tar.bz2
-96083b51cd30e60b86127113abed37a3 bcm43xx-20060103.tar.bz2
-1eb2bb778090c59fbeba6278d63a9309 ieee80211softmac-20060103.tar.bz2
+1e8dda938d8fb06863d7276b79d6e544 bcm43xx-20060106.tar.bz2
--- linux-2.6-bcm43xx-device-table.patch DELETED ---
--- linux-2.6-bcm43xx-promisc.patch DELETED ---
--- linux-2.6-bcm43xx-quiet.patch DELETED ---
--- linux-2.6.14-ieee80211-hw-wep.patch DELETED ---
- Previous message (by thread): rpms/kernel/devel/configs config-generic,1.121.2.1,1.121.2.2
- Next message (by thread): rpms/ltrace/devel ltrace-fixes.patch, NONE, 1.1 ltrace-ia64.patch, NONE, 1.1 ltrace-ppc64-2.patch, NONE, 1.1 ltrace-ppc64.patch, NONE, 1.1 ltrace-s390x.patch, NONE, 1.1 ltrace-syscallent-update.patch, NONE, 1.1 ltrace.spec, 1.19, 1.20 ltrace_0.3.36-biarch.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list