rpms/kernel/devel kernel.spec, 1.494, 1.495 linux-2.6-wireless.patch, 1.26, 1.27
John W. Linville (linville)
fedora-extras-commits at redhat.com
Tue Mar 11 20:44:28 UTC 2008
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27335
Modified Files:
kernel.spec linux-2.6-wireless.patch
Log Message:
wireless fixes from 2008-03-11
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.494
retrieving revision 1.495
diff -u -r1.494 -r1.495
--- kernel.spec 11 Mar 2008 19:00:11 -0000 1.494
+++ kernel.spec 11 Mar 2008 20:43:54 -0000 1.495
@@ -1114,7 +1114,7 @@
ApplyPatch linux-2.6-ata-quirk.patch
# wireless patches headed for 2.6.25
-#ApplyPatch linux-2.6-wireless.patch
+ApplyPatch linux-2.6-wireless.patch
# wireless patches headed for 2.6.26
ApplyPatch linux-2.6-wireless-pending.patch
ApplyPatch linux-2.6-wireless-fixups.patch
@@ -1756,6 +1756,12 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Tue Mar 11 2008 John W. Linville <linville at redhat.com>
+- rt2x00: never disable multicast because it disables broadcast too
+- rt2x00: Add new D-Link USB ID
+- drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry
+- libertas: fix the 'compare command with itself' properly
+
* Tue Mar 11 2008 Dave Jones <davej at redhat.com>
- Print values when we overflow resource allocation.
linux-2.6-wireless.patch:
Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless.patch,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- linux-2.6-wireless.patch 5 Mar 2008 01:09:02 -0000 1.26
+++ linux-2.6-wireless.patch 11 Mar 2008 20:43:54 -0000 1.27
@@ -1,391 +1,122 @@
-commit c256e05b7b30fab484deacb4f8cff59ce649c75e
-Author: Michael Buesch <mb at bu3sch.de>
-Date: Tue Mar 4 20:31:13 2008 +0100
+commit 445815d7ea4f59baf103f28b45f7dd45f21ff75d
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Mar 9 22:42:32 2008 +0100
- b43legacy: Fix module init message
+ rt2x00: Add new D-Link USB ID
- This fixes the module init message to tell that the legacy
- driver loaded. This makes it less confusing, in case both drivers are loaded.
-
- Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit cdb2a9fe63575dd1eb82b724bbd0aa5e0dd89fa0
-Author: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
-Date: Tue Mar 4 20:05:27 2008 +0200
+commit fbb0a27a8ad56f822f479ee85446d9c29483a3d1
+Author: Adam Baker <linux at baker-net.org.uk>
+Date: Sun Mar 9 22:40:40 2008 +0100
- rndis_wlan: fix broken data copy
+ rt2x00: never disable multicast because it disables broadcast too
- Replace broken code that attempted to copy 6 byte array to 64-bit
- integer. Due to missing cast to 64-bit integer, left shift operation
- were 32-bit and lead to bytes been copied over each other. New code
- uses simple memcpy, for greater readability and efficiency.
+ On rt73 and rt61 disabling reception of multicast packets also disables
+ broadcast traffic which we never want to do. Therefore we should never
+ disable multicast.
- Signed-off-by: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
+ Signed-off-by: Adam Baker <linux at baker-net.org.uk>
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 8a96df80b3ddb2410045a26ea19eeccb5f2d2d11
+commit 5f0547c2813d4677908fa6de02f9911d25996515
Author: Sebastian Siewior <bigeasy at tglx.de>
-Date: Tue Mar 4 18:22:27 2008 +0100
-
- libertas: compare the current command with response
-
- instead of with itself.
-
- Signed-off-by: Sebastian Siewior <bigeasy at linutronix.de>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 6305f498604df6c66bdb4cc533ce6332fa5ab61f
-Author: David Woodhouse <dwmw2 at infradead.org>
-Date: Mon Mar 3 12:20:12 2008 +0100
+Date: Thu Mar 6 10:30:21 2008 +0100
- libertas: fix sanity check on sequence number in command response
+ libertas: fix the 'compare command with itself' properly
- Slightly more useful if we compare it against the sequence number of the
- command we have outstanding, rather than comparing the reply with itself.
+ |libertas: Invalid CMD_RESP 8012 to command 50!
- Doh. Pointed out by Sebastian Siewior
+ The special case got mixed up in 8a96df80b3.
- Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
- Acked-by: Dan Williams <dcbw at redhat.com>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit c2f2d3a06f8b628d444cf4f396d6c6ddd47e1d1f
-Author: Johannes Berg <johannes at sipsolutions.net>
-Date: Fri Feb 29 23:28:25 2008 +0100
-
- p54: fix eeprom parser length sanity checks
-
- When I called p54_parse_eeprom() on a hand-coded structure
- I managed to make a small mistake with wrap->len which caused
- a segfault a few lines down when trying to read entry->len.
- This patch changes the validation code to avoid such problems.
-
- Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
- Tested-by: Florian Fainelli <florian.fainelli at telecomint.eu>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 8c28293f5514f64ba064bac7946aebeda4a663c6
-Author: Johannes Berg <johannes at sipsolutions.net>
-Date: Fri Feb 29 13:56:33 2008 +0100
-
- p54: fix EEPROM structure endianness
-
- Since the EEPROM structure is read from hardware, it is
- always little endian, annotate that in the struct and
- make sure to convert where applicable.
-
- Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
- Cc: Michael Wu <flamingice at sourmilk.net>
- Tested-by: Florian Fainelli <florian.fainelli at telecomint.eu>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit dc63644b0ee3b447e879ef8e124657b40e9ea81c
-Author: Yoichi Yuasa <yoichi_yuasa at tripeaks.co.jp>
-Date: Fri Feb 29 11:09:31 2008 +0100
-
- ssb: Add pcibios_enable_device() return value check
-
- This patch has added pcibios_enable_device() return value check.
-
- Signed-off-by: Yoichi Yuasa <yoichi_yuasa at tripeaks.co.jp>
- Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: Sebastian Siewior <bigeasy at linutronix.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 1d60ab0574fae362b1cca0ef52181ef75fd46832
-Author: Stefano Brivio <stefano.brivio at polimi.it>
-Date: Sun Mar 2 11:33:10 2008 +0100
-
- rc80211-pid: fix rate adjustment
-
- Merge rate_control_pid_shift_adjust() to rate_control_pid_adjust_rate()
- in order to make the learning algorithm aware of constraints on rates. Also
- add some comments and rename variables.
-
- This fixes a bug which prevented 802.11b/g non-AP STAs from working with
- 802.11b only AP STAs.
-
- This patch was originally destined for 2.6.26, and is being backported
- to fix a user reported problem in post-2.6.24 kernels.
+commit 97ed83905e5f8547a94a8066441351c6920728a1
+Author: John W. Linville <linville at tuxdriver.com>
+Date: Thu Mar 6 13:08:09 2008 -0500
+
+ drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry
- Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-diff -up linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c
---- linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig 2008-03-04 19:28:35.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c 2008-03-04 19:30:56.000000000 -0500
-@@ -2,7 +2,7 @@
- * Copyright 2002-2005, Instant802 Networks, Inc.
- * Copyright 2005, Devicescape Software, Inc.
- * Copyright 2007, Mattias Nissler <mattias.nissler at gmx.de>
-- * Copyright 2007, Stefano Brivio <stefano.brivio at polimi.it>
-+ * Copyright 2007-2008, Stefano Brivio <stefano.brivio at polimi.it>
- *
- * 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
-@@ -63,72 +63,66 @@
- * RC_PID_ARITH_SHIFT.
- */
-
--
--/* Shift the adjustment so that we won't switch to a lower rate if it exhibited
-- * a worse failed frames behaviour and we'll choose the highest rate whose
-- * failed frames behaviour is not worse than the one of the original rate
-- * target. While at it, check that the adjustment is within the ranges. Then,
-- * provide the new rate index. */
--static int rate_control_pid_shift_adjust(struct rc_pid_rateinfo *r,
-- int adj, int cur, int l)
--{
-- int i, j, k, tmp;
--
-- j = r[cur].rev_index;
-- i = j + adj;
--
-- if (i < 0)
-- return r[0].index;
-- if (i >= l - 1)
-- return r[l - 1].index;
--
-- tmp = i;
--
-- if (adj < 0) {
-- for (k = j; k >= i; k--)
-- if (r[k].diff <= r[j].diff)
-- tmp = k;
-- } else {
-- for (k = i + 1; k + i < l; k++)
-- if (r[k].diff <= r[i].diff)
-- tmp = k;
-- }
--
-- return r[tmp].index;
--}
--
-+/* Adjust the rate while ensuring that we won't switch to a lower rate if it
-+ * exhibited a worse failed frames behaviour and we'll choose the highest rate
-+ * whose failed frames behaviour is not worse than the one of the original rate
-+ * target. While at it, check that the new rate is valid. */
- static void rate_control_pid_adjust_rate(struct ieee80211_local *local,
- struct sta_info *sta, int adj,
- struct rc_pid_rateinfo *rinfo)
- {
- struct ieee80211_sub_if_data *sdata;
- struct ieee80211_hw_mode *mode;
-- int newidx;
-- int maxrate;
-- int back = (adj > 0) ? 1 : -1;
-+ int cur_sorted, new_sorted, probe, tmp, n_bitrates;
-+ int cur = sta->txrate;
-
- sdata = IEEE80211_DEV_TO_SUB_IF(sta->dev);
-
- mode = local->oper_hw_mode;
-- maxrate = sdata->bss ? sdata->bss->max_ratectrl_rateidx : -1;
-+ n_bitrates = mode->num_rates;
-
-- newidx = rate_control_pid_shift_adjust(rinfo, adj, sta->txrate,
-- mode->num_rates);
-+ /* Map passed arguments to sorted values. */
-+ cur_sorted = rinfo[cur].rev_index;
-+ new_sorted = cur_sorted + adj;
-+
-+ /* Check limits. */
-+ if (new_sorted < 0)
-+ new_sorted = rinfo[0].rev_index;
-+ else if (new_sorted >= n_bitrates)
-+ new_sorted = rinfo[n_bitrates - 1].rev_index;
-
-- while (newidx != sta->txrate) {
-- if (rate_supported(sta, mode, newidx) &&
-- (maxrate < 0 || newidx <= maxrate)) {
-- sta->txrate = newidx;
-- break;
-- }
-+ tmp = new_sorted;
-
-- newidx += back;
-+ if (adj < 0) {
-+ /* Ensure that the rate decrease isn't disadvantageous. */
-+ for (probe = cur_sorted; probe >= new_sorted; probe--)
-+ if (rinfo[probe].diff <= rinfo[cur_sorted].diff &&
-+ rate_supported(sta, mode, rinfo[probe].index))
-+ tmp = probe;
-+ } else {
-+ /* Look for rate increase with zero (or below) cost. */
-+ for (probe = new_sorted + 1; probe < n_bitrates; probe++)
-+ if (rinfo[probe].diff <= rinfo[new_sorted].diff &&
-+ rate_supported(sta, mode, rinfo[probe].index))
-+ tmp = probe;
- }
-
-+ /* Fit the rate found to the nearest supported rate. */
-+ do {
-+ if (rate_supported(sta, mode, rinfo[tmp].index)) {
-+ sta->txrate = rinfo[tmp].index;
-+ break;
-+ }
-+ if (adj < 0)
-+ tmp--;
-+ else
-+ tmp++;
-+ } while (tmp < n_bitrates && tmp >= 0);
-+
- #ifdef CONFIG_MAC80211_DEBUGFS
- rate_control_pid_event_rate_change(
- &((struct rc_pid_sta_info *)sta->rate_ctrl_priv)->events,
-- newidx, mode->rates[newidx].rate);
-+ cur, mode->rates[cur].rate);
- #endif
- }
-
-diff -up linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig linux-2.6.24.noarch/drivers/net/wireless/p54common.h
---- linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54common.h 2008-03-04 19:30:56.000000000 -0500
-@@ -53,10 +53,10 @@ struct pda_entry {
- } __attribute__ ((packed));
-
- struct eeprom_pda_wrap {
-- u32 magic;
-- u16 pad;
-- u16 len;
-- u32 arm_opcode;
-+ __le32 magic;
-+ __le16 pad;
-+ __le16 len;
-+ __le32 arm_opcode;
- u8 data[0];
- } __attribute__ ((packed));
-
-diff -up linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig linux-2.6.24.noarch/drivers/net/wireless/p54common.c
---- linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig 2008-03-04 19:28:31.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54common.c 2008-03-04 19:30:56.000000000 -0500
-@@ -166,18 +166,23 @@ int p54_parse_eeprom(struct ieee80211_hw
- struct p54_common *priv = dev->priv;
- struct eeprom_pda_wrap *wrap = NULL;
- struct pda_entry *entry;
-- int i = 0;
- unsigned int data_len, entry_len;
- void *tmp;
- int err;
-+ u8 *end = (u8 *)eeprom + len;
-
- wrap = (struct eeprom_pda_wrap *) eeprom;
-- entry = (void *)wrap->data + wrap->len;
-- i += 2;
-- i += le16_to_cpu(entry->len)*2;
-- while (i < len) {
-+ entry = (void *)wrap->data + le16_to_cpu(wrap->len);
-+
-+ /* verify that at least the entry length/code fits */
-+ while ((u8 *)entry <= end - sizeof(*entry)) {
- entry_len = le16_to_cpu(entry->len);
- data_len = ((entry_len - 1) << 1);
-+
-+ /* abort if entry exceeds whole structure */
-+ if ((u8 *)entry + sizeof(*entry) + data_len > end)
-+ break;
-+
- switch (le16_to_cpu(entry->code)) {
- case PDR_MAC_ADDRESS:
- SET_IEEE80211_PERM_ADDR(dev, entry->data);
-@@ -249,13 +254,12 @@ int p54_parse_eeprom(struct ieee80211_hw
- priv->version = *(u8 *)(entry->data + 1);
- break;
- case PDR_END:
-- i = len;
-+ /* make it overrun */
-+ entry_len = len;
- break;
- }
-
- entry = (void *)entry + (entry_len + 1)*2;
-- i += 2;
-- i += entry_len*2;
- }
-
- if (!priv->iq_autocal || !priv->output_limit || !priv->curve_data) {
-diff -up linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig 2008-03-04 19:28:31.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c 2008-03-04 19:30:56.000000000 -0500
-@@ -3829,7 +3829,7 @@ static void b43legacy_print_driverinfo(v
- #ifdef CONFIG_B43LEGACY_DMA
- feat_dma = "D";
- #endif
-- printk(KERN_INFO "Broadcom 43xx driver loaded "
-+ printk(KERN_INFO "Broadcom 43xx-legacy driver loaded "
- "[ Features: %s%s%s%s%s, Firmware-ID: "
- B43legacy_SUPPORTED_FIRMWARE_ID " ]\n",
- feat_pci, feat_leds, feat_rfkill, feat_pio, feat_dma);
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c.orig linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c
---- linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c.orig 2008-03-04 19:28:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c 2008-03-04 19:30:56.000000000 -0500
-@@ -260,7 +260,7 @@ struct NDIS_802_11_KEY {
- __le32 KeyLength;
- u8 Bssid[6];
- u8 Padding[6];
-- __le64 KeyRSC;
-+ u8 KeyRSC[8];
- u8 KeyMaterial[32];
- } __attribute__((packed));
-
-@@ -1508,7 +1508,7 @@ static int rndis_iw_set_encode_ext(struc
- struct usbnet *usbdev = dev->priv;
- struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev);
- struct NDIS_802_11_KEY ndis_key;
-- int i, keyidx, ret;
-+ int keyidx, ret;
- u8 *addr;
-
- keyidx = wrqu->encoding.flags & IW_ENCODE_INDEX;
-@@ -1543,9 +1543,7 @@ static int rndis_iw_set_encode_ext(struc
- ndis_key.KeyIndex = cpu_to_le32(keyidx);
-
- if (ext->ext_flags & IW_ENCODE_EXT_RX_SEQ_VALID) {
-- for (i = 0; i < 6; i++)
-- ndis_key.KeyRSC |=
-- cpu_to_le64(ext->rx_seq[i] << (i * 8));
-+ memcpy(ndis_key.KeyRSC, ext->rx_seq, 6);
- ndis_key.KeyIndex |= cpu_to_le32(1 << 29);
- }
+diff -up linux-2.6.24.noarch/drivers/net/Kconfig.orig linux-2.6.24.noarch/drivers/net/Kconfig
+--- linux-2.6.24.noarch/drivers/net/Kconfig.orig 2008-03-11 16:02:59.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/Kconfig 2008-03-11 16:33:00.000000000 -0400
+@@ -2377,15 +2377,15 @@ config GELIC_NET
+ module will be called ps3_gelic.
+
+ config GELIC_WIRELESS
+- bool "PS3 Wireless support"
+- depends on GELIC_NET
+- select WIRELESS_EXT
+- help
+- This option adds the support for the wireless feature of PS3.
+- If you have the wireless-less model of PS3 or have no plan to
+- use wireless feature, disabling this option saves memory. As
+- the driver automatically distinguishes the models, you can
+- safely enable this option even if you have a wireless-less model.
++ bool "PS3 Wireless support"
++ depends on GELIC_NET
++ select WIRELESS_EXT
++ help
++ This option adds the support for the wireless feature of PS3.
++ If you have the wireless-less model of PS3 or have no plan to
++ use wireless feature, disabling this option saves memory. As
++ the driver automatically distinguishes the models, you can
++ safely enable this option even if you have a wireless-less model.
+ config GIANFAR
+ tristate "Gianfar Ethernet"
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig 2008-03-04 19:28:31.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c 2008-03-04 19:30:56.000000000 -0500
-@@ -562,9 +562,7 @@ int lbs_process_rx_command(struct lbs_pr
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig 2008-03-11 16:02:34.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c 2008-03-11 16:33:00.000000000 -0400
+@@ -578,7 +578,7 @@ int lbs_process_rx_command(struct lbs_pr
+ goto done;
}
-
- resp = (void *)priv->upld_buf;
--
-- curcmd = le16_to_cpu(resp->command);
--
-+ curcmd = le16_to_cpu(priv->cur_cmd->cmdbuf->command);
- respcmd = le16_to_cpu(resp->command);
- result = le16_to_cpu(resp->result);
-
-@@ -572,9 +570,9 @@ int lbs_process_rx_command(struct lbs_pr
- respcmd, le16_to_cpu(resp->seqnum), priv->upld_len, jiffies);
- lbs_deb_hex(LBS_DEB_HOST, "CMD_RESP", (void *) resp, priv->upld_len);
-
-- if (resp->seqnum != resp->seqnum) {
-+ if (resp->seqnum != priv->cur_cmd->cmdbuf->seqnum) {
- lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n",
-- le16_to_cpu(resp->seqnum), le16_to_cpu(resp->seqnum));
-+ le16_to_cpu(resp->seqnum), le16_to_cpu(priv->cur_cmd->cmdbuf->seqnum));
+ if (respcmd != CMD_RET(curcmd) &&
+- respcmd != CMD_802_11_ASSOCIATE && curcmd != CMD_RET_802_11_ASSOCIATE) {
++ respcmd != CMD_RET_802_11_ASSOCIATE && curcmd != CMD_802_11_ASSOCIATE) {
+ lbs_pr_info("Invalid CMD_RESP %x to command %x!\n", respcmd, curcmd);
spin_unlock_irqrestore(&priv->driver_lock, flags);
ret = -1;
- goto done;
-diff -up linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c
---- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig 2008-03-04 19:28:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c 2008-03-04 19:30:56.000000000 -0500
-@@ -111,7 +111,10 @@ static void __init ssb_fixup_pcibridge(s
-
- /* Enable PCI bridge bus mastering and memory space */
- pci_set_master(dev);
-- pcibios_enable_device(dev, ~0);
-+ if (pcibios_enable_device(dev, ~0) < 0) {
-+ ssb_printk(KERN_ERR "PCI: SSB bridge enable failed\n");
-+ return;
-+ }
-
- /* Enable PCI bridge BAR1 prefetch and burst */
- pci_write_config_dword(dev, SSB_BAR1_CONTROL, 3);
+diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig 2008-03-11 16:02:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c 2008-03-11 16:33:00.000000000 -0400
+@@ -2302,9 +2302,9 @@ static void rt61pci_configure_filter(str
+ * Apply some rules to the filters:
+ * - Some filters imply different filters to be set.
+ * - Some things we can't filter out at all.
++ * - Multicast filter seems to kill broadcast traffic so never use it.
+ */
+- if (mc_count)
+- *total_flags |= FIF_ALLMULTI;
++ *total_flags |= FIF_ALLMULTI;
+ if (*total_flags & FIF_OTHER_BSS ||
+ *total_flags & FIF_PROMISC_IN_BSS)
+ *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
+diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-03-11 16:02:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-03-11 16:33:00.000000000 -0400
+@@ -1869,9 +1869,9 @@ static void rt73usb_configure_filter(str
+ * Apply some rules to the filters:
+ * - Some filters imply different filters to be set.
+ * - Some things we can't filter out at all.
++ * - Multicast filter seems to kill broadcast traffic so never use it.
+ */
+- if (mc_count)
+- *total_flags |= FIF_ALLMULTI;
++ *total_flags |= FIF_ALLMULTI;
+ if (*total_flags & FIF_OTHER_BSS ||
+ *total_flags & FIF_PROMISC_IN_BSS)
+ *total_flags |= FIF_PROMISC_IN_BSS | FIF_OTHER_BSS;
+@@ -2098,6 +2098,7 @@ static struct usb_device_id rt73usb_devi
+ /* D-Link */
+ { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) },
+ { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
++ { USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) },
+ /* Gemtek */
+ { USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) },
+ /* Gigabyte */
More information about the fedora-extras-commits
mailing list