rpms/kernel/devel linux-2.6-wireless-pending.patch, NONE, 1.1 linux-2.6-wireless.patch, 1.2, 1.3
John W. Linville (linville)
fedora-extras-commits at redhat.com
Wed Aug 8 20:35:07 UTC 2007
- Previous message: rpms/kernel/devel config-generic, 1.14, 1.15 git-wireless-dev.patch, 1.28, 1.29 kernel.spec, 1.58, 1.59
- Next message: rpms/expat/devel .cvsignore, 1.9, 1.10 expat.spec, 1.26, 1.27 sources, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10223
Added Files:
linux-2.6-wireless-pending.patch linux-2.6-wireless.patch
Log Message:
update wireless bits (forgot new patches)
linux-2.6-wireless-pending.patch:
--- NEW FILE linux-2.6-wireless-pending.patch ---
--- linux-2.6.22.noarch/drivers/net/wireless/orinoco_tmd.c.orig 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/orinoco_tmd.c 2007-08-08 16:01:01.000000000 -0400
@@ -190,7 +190,7 @@ static int orinoco_tmd_init_one(struct p
static void __devexit orinoco_tmd_remove_one(struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata(pdev);
- struct orinoco_private *priv = dev->priv;
+ struct orinoco_private *priv = netdev_priv(dev);
struct orinoco_pci_card *card = priv->card;
unregister_netdev(dev);
--- linux-2.6.22.noarch/drivers/net/wireless/airo.c.orig 2007-08-08 16:00:10.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/airo.c 2007-08-08 16:01:01.000000000 -0400
@@ -241,8 +241,8 @@ static int proc_perm = 0644;
MODULE_AUTHOR("Benjamin Reed");
MODULE_DESCRIPTION("Support for Cisco/Aironet 802.11 wireless ethernet \
- cards. Direct support for ISA/PCI/MPI cards and support \
- for PCMCIA when used with airo_cs.");
+cards. Direct support for ISA/PCI/MPI cards and support \
+for PCMCIA when used with airo_cs.");
MODULE_LICENSE("Dual BSD/GPL");
MODULE_SUPPORTED_DEVICE("Aironet 4500, 4800 and Cisco 340/350");
module_param_array(io, int, NULL, 0);
--- linux-2.6.22.noarch/drivers/net/wireless/strip.c.orig 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/strip.c 2007-08-08 16:01:01.000000000 -0400
@@ -2571,7 +2571,7 @@ static struct strip *strip_alloc(void)
return NULL; /* If no more memory, return */
- strip_info = dev->priv;
+ strip_info = netdev_priv(dev);
strip_info->dev = dev;
strip_info->magic = STRIP_MAGIC;
--- linux-2.6.22.noarch/drivers/net/wireless/ray_cs.c.orig 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/ray_cs.c 2007-08-08 16:01:01.000000000 -0400
@@ -314,7 +314,7 @@ static int ray_probe(struct pcmcia_devic
if (!dev)
goto fail_alloc_dev;
- local = dev->priv;
+ local = netdev_priv(dev);
local->finder = p_dev;
/* The io structure describes IO port mapping. None used here */
@@ -388,7 +388,7 @@ static void ray_detach(struct pcmcia_dev
ray_release(link);
- local = (ray_dev_t *)dev->priv;
+ local = netdev_priv(dev);
del_timer(&local->timer);
if (link->priv) {
@@ -412,7 +412,7 @@ static int ray_config(struct pcmcia_devi
win_req_t req;
memreq_t mem;
struct net_device *dev = (struct net_device *)link->priv;
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
DEBUG(1, "ray_config(0x%p)\n", link);
@@ -520,7 +520,7 @@ static int ray_init(struct net_device *d
int i;
UCHAR *p;
struct ccs __iomem *pccs;
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
struct pcmcia_device *link = local->finder;
DEBUG(1, "ray_init(0x%p)\n", dev);
if (!(pcmcia_dev_present(link))) {
@@ -581,7 +581,7 @@ static int ray_init(struct net_device *d
static int dl_startup_params(struct net_device *dev)
{
int ccsindex;
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
struct ccs __iomem *pccs;
struct pcmcia_device *link = local->finder;
@@ -786,7 +786,7 @@ static void join_net(u_long data)
static void ray_release(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
- ray_dev_t *local = dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
int i;
DEBUG(1, "ray_release(0x%p)\n", link);
@@ -834,7 +834,7 @@ int ray_dev_init(struct net_device *dev)
#ifdef RAY_IMMEDIATE_INIT
int i;
#endif /* RAY_IMMEDIATE_INIT */
- ray_dev_t *local = dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
struct pcmcia_device *link = local->finder;
DEBUG(1,"ray_dev_init(dev=%p)\n",dev);
@@ -868,7 +868,7 @@ int ray_dev_init(struct net_device *dev)
/*===========================================================================*/
static int ray_dev_config(struct net_device *dev, struct ifmap *map)
{
- ray_dev_t *local = dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
struct pcmcia_device *link = local->finder;
/* Dummy routine to satisfy device structure */
DEBUG(1,"ray_dev_config(dev=%p,ifmap=%p)\n",dev,map);
@@ -882,7 +882,7 @@ static int ray_dev_config(struct net_dev
/*===========================================================================*/
static int ray_dev_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
- ray_dev_t *local = dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
struct pcmcia_device *link = local->finder;
short length = skb->len;
@@ -925,7 +925,7 @@ static int ray_dev_start_xmit(struct sk_
static int ray_hw_xmit(unsigned char* data, int len, struct net_device* dev,
UCHAR msg_type)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
struct ccs __iomem *pccs;
int ccsindex;
int offset;
@@ -1099,7 +1099,7 @@ static int ray_set_freq(struct net_devic
struct iw_freq *fwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
int err = -EINPROGRESS; /* Call commit handler */
/* Reject if card is already initialised */
@@ -1124,7 +1124,7 @@ static int ray_get_freq(struct net_devic
struct iw_freq *fwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
fwrq->m = local->sparm.b5.a_hop_pattern;
fwrq->e = 0;
@@ -1140,7 +1140,7 @@ static int ray_set_essid(struct net_devi
struct iw_point *dwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
/* Reject if card is already initialised */
if(local->card_status != CARD_AWAITING_PARAM)
@@ -1173,7 +1173,7 @@ static int ray_get_essid(struct net_devi
struct iw_point *dwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
/* Get the essid that was set */
memcpy(extra, local->sparm.b5.a_current_ess_id, IW_ESSID_MAX_SIZE);
@@ -1194,7 +1194,7 @@ static int ray_get_wap(struct net_device
struct sockaddr *awrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
memcpy(awrq->sa_data, local->bss_id, ETH_ALEN);
awrq->sa_family = ARPHRD_ETHER;
@@ -1211,7 +1211,7 @@ static int ray_set_rate(struct net_devic
struct iw_param *vwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
/* Reject if card is already initialised */
if(local->card_status != CARD_AWAITING_PARAM)
@@ -1240,7 +1240,7 @@ static int ray_get_rate(struct net_devic
struct iw_param *vwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
if(local->net_default_tx_rate == 3)
vwrq->value = 2000000; /* Hum... */
@@ -1260,7 +1260,7 @@ static int ray_set_rts(struct net_device
struct iw_param *vwrq,
char *extra)
{
- ray_dev_t *local = (ray_dev_t *)dev->priv;
+ ray_dev_t *local = netdev_priv(dev);
int rthr = vwrq->value;
/* Reject if card is already initialised */
[...12035 lines suppressed...]
goto final;
} else
- priva = arlan_device[devnum]->priv;
+ priva = netdev_priv(arlan_device[devnum]);
if (priva == NULL)
{
printk(KERN_WARNING " Could not find the device private in arlan procsys, bad\n ");
@@ -745,7 +745,7 @@ static int arlan_sysctl_info18(ctl_table
goto final;
}
else
- priva = arlan_device[devnum]->priv;
+ priva = netdev_priv(arlan_device[devnum]);
if (priva == NULL)
{
printk(KERN_WARNING " Could not find the device private in arlan procsys, bad\n ");
@@ -780,7 +780,7 @@ static int arlan_configure(ctl_table * c
}
else if (arlan_device[devnum] != NULL)
{
- priv = arlan_device[devnum]->priv;
+ priv = netdev_priv(arlan_device[devnum]);
arlan_command(arlan_device[devnum], ARLAN_COMMAND_CLEAN_AND_CONF);
}
@@ -805,7 +805,7 @@ static int arlan_sysctl_reset(ctl_table
}
else if (arlan_device[devnum] != NULL)
{
- priv = arlan_device[devnum]->priv;
+ priv = netdev_priv(arlan_device[devnum]);
arlan_command(arlan_device[devnum], ARLAN_COMMAND_CLEAN_AND_RESET);
} else
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h 2007-08-08 16:01:01.000000000 -0400
@@ -3,6 +3,7 @@
#include <linux/wireless.h>
#include <linux/netdevice.h>
+#include <linux/mutex.h>
#include <net/iw_handler.h>
#include "hostap_config.h"
@@ -641,7 +642,7 @@ struct local_info {
* when removing entries from the list.
* TX and RX paths can use read lock. */
spinlock_t cmdlock, baplock, lock;
- struct semaphore rid_bap_sem;
+ struct mutex rid_bap_mtx;
u16 infofid; /* MAC buffer id for info frame */
/* txfid, intransmitfid, next_txtid, and next_alloc are protected by
* txfidlock */
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig 2007-08-08 16:00:10.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c 2007-08-08 16:01:01.000000000 -0400
@@ -272,7 +272,7 @@ static int sandisk_enable_wireless(struc
{
int res, ret = 0;
conf_reg_t reg;
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
tuple_t tuple;
cisparse_t *parse = NULL;
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig 2007-07-08 19:32:17.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c 2007-08-08 16:01:01.000000000 -0400
@@ -825,7 +825,7 @@ static int hfa384x_get_rid(struct net_de
local->hw_downloading)
return -ENODEV;
- res = down_interruptible(&local->rid_bap_sem);
+ res = mutex_lock_interruptible(&local->rid_bap_mtx);
if (res)
return res;
@@ -834,7 +834,7 @@ static int hfa384x_get_rid(struct net_de
printk(KERN_DEBUG "%s: hfa384x_get_rid: CMDCODE_ACCESS failed "
"(res=%d, rid=%04x, len=%d)\n",
dev->name, res, rid, len);
- up(&local->rid_bap_sem);
+ mutex_unlock(&local->rid_bap_mtx);
return res;
}
@@ -861,7 +861,7 @@ static int hfa384x_get_rid(struct net_de
res = hfa384x_from_bap(dev, BAP0, buf, len);
spin_unlock_bh(&local->baplock);
- up(&local->rid_bap_sem);
+ mutex_unlock(&local->rid_bap_mtx);
if (res) {
if (res != -ENODATA)
@@ -902,7 +902,7 @@ static int hfa384x_set_rid(struct net_de
/* RID len in words and +1 for rec.rid */
rec.len = cpu_to_le16(len / 2 + len % 2 + 1);
- res = down_interruptible(&local->rid_bap_sem);
+ res = mutex_lock_interruptible(&local->rid_bap_mtx);
if (res)
return res;
@@ -917,12 +917,12 @@ static int hfa384x_set_rid(struct net_de
if (res) {
printk(KERN_DEBUG "%s: hfa384x_set_rid (rid=%04x, len=%d) - "
"failed - res=%d\n", dev->name, rid, len, res);
- up(&local->rid_bap_sem);
+ mutex_unlock(&local->rid_bap_mtx);
return res;
}
res = hfa384x_cmd(dev, HFA384X_CMDCODE_ACCESS_WRITE, rid, NULL, NULL);
- up(&local->rid_bap_sem);
+ mutex_unlock(&local->rid_bap_mtx);
if (res) {
printk(KERN_DEBUG "%s: hfa384x_set_rid: CMDCODE_ACCESS_WRITE "
@@ -3171,7 +3171,7 @@ prism2_init_local_data(struct prism2_hel
spin_lock_init(&local->cmdlock);
spin_lock_init(&local->baplock);
spin_lock_init(&local->lock);
- init_MUTEX(&local->rid_bap_sem);
+ mutex_init(&local->rid_bap_mtx);
if (card_idx < 0 || card_idx >= MAX_PARM_DEVICES)
card_idx = 0;
@@ -3424,7 +3424,7 @@ static void prism2_suspend(struct net_de
struct local_info *local;
union iwreq_data wrqu;
- iface = dev->priv;
+ iface = netdev_priv(dev);
local = iface->local;
/* Send disconnect event, e.g., to trigger reassociation after resume
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig 2007-08-08 16:00:10.000000000 -0400
+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2007-08-08 16:01:01.000000000 -0400
@@ -3088,7 +3088,7 @@ static int prism2_ioctl_priv_download(lo
static int prism2_set_genericelement(struct net_device *dev, u8 *elem,
size_t len)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
u8 *buf;
@@ -3116,7 +3116,7 @@ static int prism2_ioctl_siwauth(struct n
struct iw_request_info *info,
struct iw_param *data, char *extra)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
switch (data->flags & IW_AUTH_INDEX) {
@@ -3182,7 +3182,7 @@ static int prism2_ioctl_giwauth(struct n
struct iw_request_info *info,
struct iw_param *data, char *extra)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
switch (data->flags & IW_AUTH_INDEX) {
@@ -3221,7 +3221,7 @@ static int prism2_ioctl_siwencodeext(str
struct iw_request_info *info,
struct iw_point *erq, char *extra)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
struct iw_encode_ext *ext = (struct iw_encode_ext *) extra;
int i, ret = 0;
@@ -3395,7 +3395,7 @@ static int prism2_ioctl_giwencodeext(str
struct iw_request_info *info,
struct iw_point *erq, char *extra)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
struct ieee80211_crypt_data **crypt;
void *sta_ptr;
@@ -3716,7 +3716,7 @@ static int prism2_ioctl_giwgenie(struct
struct iw_request_info *info,
struct iw_point *data, char *extra)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
int len = local->generic_elem_len - 2;
@@ -3755,7 +3755,7 @@ static int prism2_ioctl_siwmlme(struct n
struct iw_request_info *info,
struct iw_point *data, char *extra)
{
- struct hostap_interface *iface = dev->priv;
+ struct hostap_interface *iface = netdev_priv(dev);
local_info_t *local = iface->local;
struct iw_mlme *mlme = (struct iw_mlme *) extra;
u16 reason;
linux-2.6-wireless.patch:
Index: linux-2.6-wireless.patch
===================================================================
RCS file: linux-2.6-wireless.patch
diff -N linux-2.6-wireless.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ linux-2.6-wireless.patch 8 Aug 2007 20:35:05 -0000 1.3
@@ -0,0 +1,152 @@
+--- linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_wx.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_wx.c 2007-08-08 15:51:15.000000000 -0400
+@@ -74,8 +74,8 @@ ieee80211softmac_wx_set_essid(struct net
+ struct ieee80211softmac_auth_queue_item *authptr;
+ int length = 0;
+
++check_assoc_again:
+ mutex_lock(&sm->associnfo.mutex);
+-
+ /* Check if we're already associating to this or another network
+ * If it's another network, cancel and start over with our new network
+ * If it's our network, ignore the change, we're already doing it!
+@@ -98,13 +98,18 @@ ieee80211softmac_wx_set_essid(struct net
+ cancel_delayed_work(&authptr->work);
+ sm->associnfo.bssvalid = 0;
+ sm->associnfo.bssfixed = 0;
+- flush_scheduled_work();
+ sm->associnfo.associating = 0;
+ sm->associnfo.associated = 0;
++ /* We must unlock to avoid deadlocks with the assoc workqueue
++ * on the associnfo.mutex */
++ mutex_unlock(&sm->associnfo.mutex);
++ flush_scheduled_work();
++ /* Avoid race! Check assoc status again. Maybe someone started an
++ * association while we flushed. */
++ goto check_assoc_again;
+ }
+ }
+
+-
+ sm->associnfo.static_essid = 0;
+ sm->associnfo.assoc_wait = 0;
+
+--- linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c.orig 2007-08-08 15:49:33.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c 2007-08-08 15:51:12.000000000 -0400
+@@ -697,17 +697,24 @@ static int ieee80211_ioctl_siwscan(struc
+ if (!netif_running(dev))
+ return -ENETDOWN;
+
+- if (local->scan_flags & IEEE80211_SCAN_MATCH_SSID) {
+- if (sdata->type == IEEE80211_IF_TYPE_STA ||
+- sdata->type == IEEE80211_IF_TYPE_IBSS) {
++ switch (sdata->type) {
++ case IEEE80211_IF_TYPE_STA:
++ case IEEE80211_IF_TYPE_IBSS:
++ if (local->scan_flags & IEEE80211_SCAN_MATCH_SSID) {
+ ssid = sdata->u.sta.ssid;
+ ssid_len = sdata->u.sta.ssid_len;
+- } else if (sdata->type == IEEE80211_IF_TYPE_AP) {
++ }
++ break;
++ case IEEE80211_IF_TYPE_AP:
++ if (local->scan_flags & IEEE80211_SCAN_MATCH_SSID) {
+ ssid = sdata->u.ap.ssid;
+ ssid_len = sdata->u.ap.ssid_len;
+- } else
+- return -EINVAL;
++ }
++ break;
++ default:
++ return -EOPNOTSUPP;
+ }
++
+ return ieee80211_sta_req_scan(dev, ssid, ssid_len);
+ }
+
+--- linux-2.6.22.noarch/net/mac80211/debugfs_sta.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/debugfs_sta.c 2007-08-08 15:51:12.000000000 -0400
+@@ -157,7 +157,7 @@ static ssize_t sta_last_seq_ctrl_read(st
+ struct sta_info *sta = file->private_data;
+ for (i = 0; i < NUM_RX_DATA_QUEUES; i++)
+ p += scnprintf(p, sizeof(buf)+buf-p, "%x ",
+- sta->last_seq_ctrl[i]);
++ le16_to_cpu(sta->last_seq_ctrl[i]));
+ p += scnprintf(p, sizeof(buf)+buf-p, "\n");
+ return simple_read_from_buffer(userbuf, count, ppos, buf, p - buf);
+ }
+--- linux-2.6.22.noarch/net/mac80211/ieee80211.c.orig 2007-08-08 15:49:33.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211.c 2007-08-08 15:51:12.000000000 -0400
+@@ -1650,6 +1650,7 @@ static int ieee80211_master_start_xmit(s
+ if (skb_headroom(skb) < headroom) {
+ if (pskb_expand_head(skb, headroom, 0, GFP_ATOMIC)) {
+ dev_kfree_skb(skb);
++ dev_put(odev);
+ return 0;
+ }
+ }
+--- linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c.orig 2007-08-08 15:49:33.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c 2007-08-08 15:51:12.000000000 -0400
+@@ -271,9 +271,11 @@ static void add_files(struct ieee80211_s
+ }
+ }
+
+-#define DEBUGFS_DEL(name, type)\
+- debugfs_remove(sdata->debugfs.type.name);\
+- sdata->debugfs.type.name = NULL;
++#define DEBUGFS_DEL(name, type) \
++ do { \
++ debugfs_remove(sdata->debugfs.type.name); \
++ sdata->debugfs.type.name = NULL; \
++ } while (0)
+
+ static void del_sta_files(struct ieee80211_sub_if_data *sdata)
+ {
+--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig 2007-08-08 15:49:27.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c 2007-08-08 15:51:15.000000000 -0400
+@@ -822,7 +822,7 @@ static void cs_set_control(struct zd_mac
+ cs->control |= ZD_CS_MULTICAST;
+
+ /* PS-POLL */
+- if (stype == IEEE80211_STYPE_PSPOLL)
++ if (ftype == IEEE80211_FTYPE_CTL && stype == IEEE80211_STYPE_PSPOLL)
+ cs->control |= ZD_CS_PS_POLL_FRAME;
+
+ /* Unicast data frames over the threshold should have RTS */
+--- linux-2.6.22.noarch/drivers/net/wireless/rtl8187_dev.c.orig 2007-08-08 15:49:27.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/rtl8187_dev.c 2007-08-08 15:51:15.000000000 -0400
+@@ -466,7 +466,7 @@ static int rtl8187_add_interface(struct
+ return -EOPNOTSUPP;
+ }
+
+- priv->hwaddr = conf->mac_addr;
++ priv->hwaddr = conf->mac_addr ? conf->mac_addr : dev->wiphy->perm_addr;
+
+ return 0;
+ }
+--- linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_phy.c.orig 2007-08-08 15:49:27.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_phy.c 2007-08-08 15:51:15.000000000 -0400
+@@ -1638,7 +1638,7 @@ void bcm43xx_phy_set_baseband_attenuatio
+ return;
+ }
+
+- if (phy->analog == 1) {
++ if (phy->analog > 1) {
+ value = bcm43xx_phy_read(bcm, 0x0060) & ~0x003C;
+ value |= (baseband_attenuation << 2) & 0x003C;
+ } else {
+--- linux-2.6.22.noarch/fs/compat_ioctl.c.orig 2007-08-08 15:49:31.000000000 -0400
++++ linux-2.6.22.noarch/fs/compat_ioctl.c 2007-08-08 15:51:15.000000000 -0400
+@@ -3161,12 +3161,9 @@ COMPATIBLE_IOCTL(SIOCSIWSENS)
+ COMPATIBLE_IOCTL(SIOCGIWSENS)
+ COMPATIBLE_IOCTL(SIOCSIWRANGE)
+ COMPATIBLE_IOCTL(SIOCSIWPRIV)
+-COMPATIBLE_IOCTL(SIOCGIWPRIV)
+ COMPATIBLE_IOCTL(SIOCSIWSTATS)
+-COMPATIBLE_IOCTL(SIOCGIWSTATS)
+ COMPATIBLE_IOCTL(SIOCSIWAP)
+ COMPATIBLE_IOCTL(SIOCGIWAP)
+-COMPATIBLE_IOCTL(SIOCSIWSCAN)
+ COMPATIBLE_IOCTL(SIOCSIWRATE)
+ COMPATIBLE_IOCTL(SIOCGIWRATE)
+ COMPATIBLE_IOCTL(SIOCSIWRTS)
- Previous message: rpms/kernel/devel config-generic, 1.14, 1.15 git-wireless-dev.patch, 1.28, 1.29 kernel.spec, 1.58, 1.59
- Next message: rpms/expat/devel .cvsignore, 1.9, 1.10 expat.spec, 1.26, 1.27 sources, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list