rpms/kernel/F-8 kernel.spec, 1.424, 1.425 linux-2.6-wireless-pending.patch, 1.40, 1.41 linux-2.6-wireless.patch, 1.34, 1.35

John W. Linville (linville) fedora-extras-commits at redhat.com
Wed Apr 9 21:18:37 UTC 2008


Author: linville

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15235

Modified Files:
	kernel.spec linux-2.6-wireless-pending.patch 
	linux-2.6-wireless.patch 
Log Message:
wireless fixes and updates from 2008-04-08 and -09


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.424
retrieving revision 1.425
diff -u -r1.424 -r1.425
--- kernel.spec	8 Apr 2008 18:47:02 -0000	1.424
+++ kernel.spec	9 Apr 2008 21:17:41 -0000	1.425
@@ -2016,7 +2016,65 @@
 
 
 %changelog
-* Tue Apr 08 2008 Chuck Ebbert <cebbert at redhat.com>
+* Wed Apr 09 2008 John W. Linville <linville at redhat.com> 2.6.24.4-79
+- rt61pci: rt61pci_beacon_update do not free skb twice
+- ssb-pcicore: Fix IRQ TPS flag handling
+- ssb-mipscore: Fix interrupt vectors
+- mac80211: use short_preamble mode from capability if ERP IE not present
+- mac80211: add station aid into ieee80211_tx_control
+- p54: move to separate directory
+- drivers/net/wireless/p54/net2280.h: silence checkpatch.pl
+- wavelan_cs: stop inlining largish static functions
+- libertas: move association code from join.c into scan.c
+- libertas: move association code from scan.c into assoc.c
+- libertas: move lbs_update_channel out of assoc.c
+- libertas: remove lbs_get_fwversion()
+- rt2x00: Use lib->config_filter() during scheduled packet filter config
+- mac80211: fix defined but not used
+- iwlwifi: fix some warnings
+- mac80211: fix possible sta-debugfs work lockup
+- mac80211: clean up IEEE80211_FC use
+- iwlwifi: honour regulatory restrictions in scan code
+- mac80211: make debugfs files root-only
+- mac80211: fix ieee80211_ioctl_giwrate
+- mac80211: fix sta-info pinning
+- mac80211: fix key vs. sta locking problems
+- mac80211: rename files
+- mac80211: fix key debugfs default_key link
+- Revert "mac80211: use a struct for bss->mesh_config"
+- drivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning
+- iwlwifi/Kconfg: make IWLWIFI_LEDS invisible
+- drivers/net/wireless/iwlwifi/iwl-3945.h: correct CONFIG_IWL4965_LEDS typo
+- cfg80211: default to regulatory max power for channel
+- prism54: set carrier flags correctly
+- ssb-pcmcia: IRQ and DMA related fixes
+- b43: Add PIO support for PCMCIA devices
+- ssb: Turn suspend/resume upside down
+- ssb: Fix build for non-PCIhost
+- ssb: Add support for block-I/O
+- b43: Use SSB block-I/O to do PIO
+- b43: Add more N-PHY stuff
+- b43: Fix TBTT and PU timings
+- b43: Beaconing fixes
+- b43: Fix beacon BH update
+- b43: Fix PHY TX control words in SHM
+- b43: use b43_is_mode() call
+- iwlwifi: fix rfkill memory error
+- mac80211: notify mac from low level driver (iwlwifi)
+- adm8211: remove commented-out code
+- iwl4965: use IWLWIFI_LEDS config variable
+- iwlwifi: ensure led registration complete as part of initialization
+- mac80211: notify upper layers after lower
+- mac80211: BA session debug prints changes
+- mac80211: eliminate conf_ht
+- iwlwifi: eliminate conf_ht
+- mac80211: add association capabilty and timing info into bss_conf
+- iwlwifi: Eliminate association from beacon
+- iwlwifi: hw names cleanup
+- iwlwifi: move driver status inliners into iwl-core.h
+- iwlwifi: use ieee80211_frequency_to_channel
+
+* Tue Apr 08 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.24.4-78
 - [from F9] Leave debug config files alone when building noarch.
 
 * Mon Apr 07 2008 John W. Linville <linville at redhat.com> 2.6.24.4-77

linux-2.6-wireless-pending.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.40 -r 1.41 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-wireless-pending.patch,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- linux-2.6-wireless-pending.patch	8 Apr 2008 04:19:09 -0000	1.40
+++ linux-2.6-wireless-pending.patch	9 Apr 2008 21:17:41 -0000	1.41
@@ -1,3 +1,767 @@
+commit d9c58f30b08bfe1e689537af5bc855a76d0fae25
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Apr 8 16:46:36 2008 -0400
+
+    mac80211: fix key debugfs default_key link
+    
+    The default_key symlink points to the key index rather than
+    they key counter, fix it.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit cfcdf40e52bdaa7622a9d1de62e5451d3427a5c6
+Author: Christian Lamparter <chunkeey at web.de>
+Date:   Tue Apr 8 15:40:53 2008 -0400
+
+    drivers/net/wireless/p54/net2280.h: silence checkpatch.pl
+    
+    Signed-off-by: Christian Lamparter <chunkeey at web.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit fb26971058845868f7c45b720636180d14c058e4
+Author: Christian Lamparter <chunkeey at web.de>
+Date:   Tue Apr 8 15:38:00 2008 -0400
+
+    p54: move to separate directory
+    
+    Signed-off-by: Christian Lamparter <chunkeey at web.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2c8dccc77420fb7433da5674818959d3499d35be
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Apr 8 15:14:40 2008 -0400
+
+    mac80211: rename files
+    
+    This patch renames all mac80211 files (except ieee80211_i.h) to get rid
+    of the useless ieee80211_ prefix.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 3b96766f0e643f52ae19e134664df6730c737e87
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Apr 8 17:56:52 2008 +0200
+
+    mac80211: fix key vs. sta locking problems
+    
+    Up to now, key manipulation is supposed to run under RTNL to
+    avoid concurrent manipulations and also allow the set_key()
+    hardware callback to sleep. This is not feasible because STA
+    structs are rcu-protected and thus a lot of operations there
+    cannot take the RTNL. Also, key references are rcu-protected
+    so we cannot do things atomically.
+    
+    This patch changes key locking completely:
+     * key operations are now atomic
+     * hardware crypto offload is enabled and disabled from
+       a workqueue, due to that key freeing is also delayed
+     * debugfs code is also run from a workqueue
+     * keys reference STAs (and vice versa!) so during STA
+       unlink the STAs key reference is removed but not the
+       keys STA reference, to avoid races key todo work is
+       run before STA destruction.
+     * fewer STA operations now need the RTNL which was
+       required due to key operations
+    
+    This fixes the locking problems lockdep pointed out and also
+    makes things more light-weight because the rtnl isn't required
+    as much.
+    
+    Note that the key todo lock/key mutex are global locks, this
+    is not required, of course, they could be per-hardware instead.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 7d1559f1737d5ca27b267b0392015f42b3bbe2fa
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Apr 8 13:08:20 2008 +0200
+
+    mac80211: fix sta-info pinning
+    
+    When a STA is supposed to be unlinked but is pinned, it still needs
+    to be unlinked from all structures. Only at the end of the unlink
+    process should we check for pin status and invalidate the callers
+    reference if it is pinned. Move the pin status check down.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4d6141c30a2567a85d869d55f579438b3365d719
+Author: Jiri Slaby <jirislaby at gmail.com>
+Date:   Mon Apr 7 21:53:49 2008 +0200
+
+    mac80211: fix defined but not used
+    
+    These two symbols are used only in ifdeffed function. Move them to that
+    section too.
+    net/mac80211/sta_info.c:387: warning: `__sta_info_pin' defined but not used
+    net/mac80211/sta_info.c:397: warning: `__sta_info_unpin' defined but not used
+    
+    Signed-off-by: Jiri Slaby <jirislaby at gmail.com>
+    Cc: Michael Wu <flamingice at sourmilk.net>
+    Cc: Johannes Berg <johannes at sipsolutions.net>
+    Cc: Jiri Benc <jbenc at suse.cz>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e764948b1abd8316f8a1364757d6629f5cda199d
+Author: Pavel Machek <pavel at ucw.cz>
+Date:   Mon Apr 7 21:08:55 2008 +0200
+
+    adm8211: remove commented-out code
+    
+    Remove some commented-out code from adm8211.
+    
+    Signed-off-by: Pavel Machek <pavel at suse.cz>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 513a1025fd91008316a8e9b4803d1bfcbb2bf256
+Author: Ron Rindjunsky <ron.rindjunsky at intel.com>
+Date:   Mon Apr 7 10:16:56 2008 -0700
+
+    mac80211: BA session debug prints changes
+    
+    This patch contains next issues:
+    1 - prevents "stop BA session" multiple warnings
+    2 - adds debug print to stop Rx BA session flow
+    3 - adds EOL in one debug print
+    
+    Signed-off-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+    Acked-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8cf6a31e8d30cae1fbec8c782842f00472a4495c
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Sat Apr 5 15:19:36 2008 +0200
+
+    b43: use b43_is_mode() call
+    
+    We must use the b43_is_mode() call to check the current interface
+    operation mode.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 5042c5070daaa6a3c033e4510439e3ac02a1df60
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Sat Apr 5 15:05:00 2008 +0200
+
+    b43: Fix PHY TX control words in SHM
+    
+    This fixes the initialization of the PHY TX control words in
+    shared memory. These control words are used for management frames
+    like beacons.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit c97a4ccc1fad35d3d183900af29c171b6d56b7f9
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Sat Apr 5 15:02:09 2008 +0200
+
+    b43: Fix beacon BH update
+    
+    This fixes beacon updating in the bottomhalf.
+    In case the device is busy, we will defer to later in the IRQ handler.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 84363e6e07f17f8cc580065260907ee3f0520485
+Author: Mohamed Abbas <mabbas at linux.intel.com>
+Date:   Fri Apr 4 16:59:58 2008 -0700
+
+    mac80211: notify mac from low level driver (iwlwifi)
+    
+    Add new API to MAC80211 to allow low level driver to
+    notify MAC with driver status.
+    
+    Signed-off-by: Mohamed Abbas <mabbas at linux.intel.com>
+    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+    Acked-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 380a942b9177dcae1429fdd0f3639f92d9ab139d
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Fri Apr 4 23:40:35 2008 +0200
+
+    mac80211: fix ieee80211_ioctl_giwrate
[...70781 lines suppressed...]
++	case sizeof(u32):
++		SSB_WARN_ON(count & 3);
++		iowrite32_rep(addr, buffer, count >> 2);
++		break;
++	default:
++		SSB_WARN_ON(1);
++	}
++}
++#endif /* CONFIG_SSB_BLOCKIO */
++
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pci_ops = {
 +	.read8		= ssb_pci_read8,
@@ -93557,6 +119711,10 @@
 +	.write8		= ssb_pci_write8,
  	.write16	= ssb_pci_write16,
  	.write32	= ssb_pci_write32,
++#ifdef CONFIG_SSB_BLOCKIO
++	.block_read	= ssb_pci_block_read,
++	.block_write	= ssb_pci_block_write,
++#endif
  };
  
 -static int sprom2hex(const u16 *sprom, char *buf, size_t buf_len, u16 size)
@@ -93616,11 +119774,11 @@
 -		goto out_kfree;
 -	sprom_do_read(bus, sprom);
 -	mutex_unlock(&bus->pci_sprom_mutex);
--
--	count = sprom2hex(sprom, buf, PAGE_SIZE, bus->sprom_size);
--	err = 0;
 +		return -ENODEV;
  
+-	count = sprom2hex(sprom, buf, PAGE_SIZE, bus->sprom_size);
+-	err = 0;
+-
 -out_kfree:
 -	kfree(sprom);
 -out:
@@ -93629,7 +119787,7 @@
  }
  
  static ssize_t ssb_pci_attr_sprom_store(struct device *pcidev,
-@@ -705,55 +682,13 @@ static ssize_t ssb_pci_attr_sprom_store(
+@@ -705,55 +752,13 @@ static ssize_t ssb_pci_attr_sprom_store(
  {
  	struct pci_dev *pdev = container_of(pcidev, struct pci_dev, dev);
  	struct ssb_bus *bus;
@@ -93688,7 +119846,7 @@
  }
  
  static DEVICE_ATTR(ssb_sprom, 0600,
-@@ -780,7 +715,7 @@ int ssb_pci_init(struct ssb_bus *bus)
+@@ -780,7 +785,7 @@ int ssb_pci_init(struct ssb_bus *bus)
  		return 0;
  
  	pdev = bus->host_pci;
@@ -93698,8 +119856,17 @@
  	if (err)
  		goto out;
 diff -up linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c
---- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-04-08 00:06:27.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-04-08 00:10:29.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-04-09 17:00:23.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-04-09 17:01:10.000000000 -0400
+@@ -251,7 +251,7 @@ void ssb_chipcommon_init(struct ssb_chip
+ 	calc_fast_powerup_delay(cc);
+ }
+ 
+-void ssb_chipco_suspend(struct ssb_chipcommon *cc, pm_message_t state)
++void ssb_chipco_suspend(struct ssb_chipcommon *cc)
+ {
+ 	if (!cc->dev)
+ 		return;
 @@ -353,6 +353,16 @@ void ssb_chipco_watchdog_timer_set(struc
  	chipco_write32(cc, SSB_CHIPCO_WATCHDOG, ticks);
  }
@@ -93718,9 +119885,9 @@
  {
  	return chipco_read32(cc, SSB_CHIPCO_GPIOIN) & mask;
 diff -up linux-2.6.24.noarch/drivers/ssb/Kconfig.orig linux-2.6.24.noarch/drivers/ssb/Kconfig
---- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-04-08 00:06:27.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-04-08 00:10:29.000000000 -0400
-@@ -20,6 +20,10 @@ config SSB
+--- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-04-09 17:00:23.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-04-09 17:01:10.000000000 -0400
+@@ -20,6 +20,15 @@ config SSB
  
  	  If unsure, say N.
  
@@ -93728,10 +119895,15 @@
 +config SSB_SPROM
 +	bool
 +
++# Support for Block-I/O. SELECT this from the driver that needs it.
++config SSB_BLOCKIO
++	bool
++	depends on SSB
++
  config SSB_PCIHOST_POSSIBLE
  	bool
  	depends on SSB && (PCI = y || PCI = SSB)
-@@ -28,6 +32,7 @@ config SSB_PCIHOST_POSSIBLE
+@@ -28,6 +37,7 @@ config SSB_PCIHOST_POSSIBLE
  config SSB_PCIHOST
  	bool "Support for SSB on PCI-bus host"
  	depends on SSB_PCIHOST_POSSIBLE
@@ -93739,7 +119911,7 @@
  	default y
  	help
  	  Support for a Sonics Silicon Backplane on top
-@@ -48,6 +53,7 @@ config SSB_PCMCIAHOST_POSSIBLE
+@@ -48,6 +58,7 @@ config SSB_PCMCIAHOST_POSSIBLE
  config SSB_PCMCIAHOST
  	bool "Support for SSB on PCMCIA-bus host (EXPERIMENTAL)"
  	depends on SSB_PCMCIAHOST_POSSIBLE
@@ -93747,7 +119919,7 @@
  	help
  	  Support for a Sonics Silicon Backplane on top
  	  of a PCMCIA device.
-@@ -125,4 +131,13 @@ config SSB_DRIVER_EXTIF
+@@ -125,4 +136,13 @@ config SSB_DRIVER_EXTIF
  
  	  If unsure, say N
  
@@ -93762,8 +119934,8 @@
 +
  endmenu
 diff -up linux-2.6.24.noarch/drivers/ssb/embedded.c.orig linux-2.6.24.noarch/drivers/ssb/embedded.c
---- linux-2.6.24.noarch/drivers/ssb/embedded.c.orig	2008-04-08 00:06:27.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-04-08 00:10:29.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/embedded.c.orig	2008-04-09 17:00:23.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-04-09 17:00:51.000000000 -0400
 @@ -10,6 +10,9 @@
  
  #include <linux/ssb/ssb.h>
@@ -93866,8 +120038,8 @@
 +	return -ENODEV;
 +}
 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-04-08 00:06:27.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-04-08 00:10:29.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig	2008-04-09 17:00:23.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-04-09 17:00:51.000000000 -0400
 @@ -60,77 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
  /* Core to access the external PCI config space. Can only have one. */
  static struct ssb_pcicore *extpci_core;
@@ -94043,8 +120215,8 @@
  {
  	u32 val;
 diff -up /dev/null linux-2.6.24.noarch/drivers/ssb/sprom.c
---- /dev/null	2008-04-08 00:00:49.269005103 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/sprom.c	2008-04-08 00:10:29.000000000 -0400
+--- /dev/null	2008-04-08 08:17:04.746003572 -0400
++++ linux-2.6.24.noarch/drivers/ssb/sprom.c	2008-04-09 17:00:51.000000000 -0400
 @@ -0,0 +1,133 @@
 +/*
 + * Sonics Silicon Backplane
@@ -94181,7 +120353,7 @@
 +}
 diff -up linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt.orig linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt
 --- linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt	2008-04-08 00:10:29.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt	2008-04-09 17:00:51.000000000 -0400
 @@ -1,89 +0,0 @@
 -
 -			BCM43xx Linux Driver Project
@@ -94273,8 +120445,8 @@
 -and CONFIG_IEEE80211_SOFTMAC_DEBUG. The log information provided is
 -essential for solving any problems.
 diff -up /dev/null linux-2.6.24.noarch/Documentation/DocBook/mac80211.tmpl
---- /dev/null	2008-04-08 00:00:49.269005103 -0400
-+++ linux-2.6.24.noarch/Documentation/DocBook/mac80211.tmpl	2008-04-08 00:10:29.000000000 -0400
+--- /dev/null	2008-04-08 08:17:04.746003572 -0400
++++ linux-2.6.24.noarch/Documentation/DocBook/mac80211.tmpl	2008-04-09 17:00:51.000000000 -0400
 @@ -0,0 +1,335 @@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
@@ -94612,8 +120784,8 @@
 +  </part>
 +</book>
 diff -up linux-2.6.24.noarch/Documentation/DocBook/Makefile.orig linux-2.6.24.noarch/Documentation/DocBook/Makefile
---- linux-2.6.24.noarch/Documentation/DocBook/Makefile.orig	2008-04-08 00:04:34.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/DocBook/Makefile	2008-04-08 00:10:29.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/DocBook/Makefile.orig	2008-04-09 17:00:23.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/DocBook/Makefile	2008-04-09 17:00:51.000000000 -0400
 @@ -11,7 +11,8 @@ DOCBOOKS := wanbook.xml z8530book.xml mc
  	    procfs-guide.xml writing_usb_driver.xml \
  	    kernel-api.xml filesystems.xml lsm.xml utrace.xml usb.xml \
@@ -94625,8 +120797,8 @@
  ###
  # The build process is as follows (targets):
 diff -up linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt
---- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-04-08 00:06:27.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-04-08 00:10:29.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-04-09 17:00:23.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-04-09 17:00:51.000000000 -0400
 @@ -332,31 +332,6 @@ Why:	This driver has been marked obsolet
  	2.4 or later kernels, provides richer features and is more robust.
  Who:	Stephen Hemminger <shemminger at linux-foundation.org>

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.34 -r 1.35 linux-2.6-wireless.patch
Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-wireless.patch,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- linux-2.6-wireless.patch	8 Apr 2008 04:19:10 -0000	1.34
+++ linux-2.6-wireless.patch	9 Apr 2008 21:17:42 -0000	1.35
@@ -1,3 +1,52 @@
+commit e91e9d490d9ae382003ef9d05fd50238db54c35b
+Author: Daniel Wagner <wagi at monom.org>
+Date:   Wed Apr 9 16:29:01 2008 +0200
+
+    rt61pci: rt61pci_beacon_update do not free skb twice
+    
+    The layer above will free the skb in an error case.
+    
+    Signed-off-by: Daniel Wagner <wagi at monom.org>
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2633da237ba29875294f8680ebece5900ccdcc05
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Tue Apr 8 11:17:29 2008 +0200
+
+    ssb-mipscore: Fix interrupt vectors
+    
+    This fixes assignment of the interrupt vectors on the SSB MIPS core.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit b63009b456c8d9abe684bdf8d4bd8f27eb040019
+Author: Larry Finger <larry.finger at lwfinger.net>
+Date:   Tue Apr 8 10:28:24 2008 +0200
+
+    ssb-pcicore: Fix IRQ TPS flag handling
+    
+    This fixes the TPS flag handling for the SSB pcicore driver.
+    This fixes interrupts on some devices.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 216bce90b811a35eb5cd2ed8216bdbb1753e9b2b
+Author: Vladimir Koutny <vlado at work.ksp.sk>
+Date:   Mon Mar 31 17:05:10 2008 +0200
+
+    mac80211: use short_preamble mode from capability if ERP IE not present
+    
+    When associating to a b-only AP where there is no ERP IE, short preamble
+    mode is left at previous state (probably also protection mode). In this
+    case, disable protection and use short preamble mode as specified in
+    capability field. The same is done if capability field is changed on-the-fly.
+    
+    Signed-off-by: Vladimir Koutny <vlado at ksp.sk>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit 16f2e85d3151efa643879fa5aa87c9d77d60f57e
 Author: Johannes Berg <johannes at sipsolutions.net>
 Date:   Mon Apr 7 14:35:46 2008 +0200
@@ -8659,8 +8708,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 diff -up linux-2.6.24.noarch/include/linux/nl80211.h.orig linux-2.6.24.noarch/include/linux/nl80211.h
---- linux-2.6.24.noarch/include/linux/nl80211.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/nl80211.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-04-09 16:57:40.000000000 -0400
 @@ -7,6 +7,18 @@
   */
  
@@ -8862,8 +8911,8 @@
 +
  #endif /* __LINUX_NL80211_H */
 diff -up linux-2.6.24.noarch/include/linux/wireless.h.orig linux-2.6.24.noarch/include/linux/wireless.h
---- linux-2.6.24.noarch/include/linux/wireless.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/wireless.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/wireless.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/wireless.h	2008-04-09 16:57:40.000000000 -0400
 @@ -541,6 +541,16 @@
  /* Maximum size of returned data */
  #define IW_SCAN_MAX_DATA	4096	/* In bytes */
@@ -8892,8 +8941,8 @@
  	__u32		event_capa[6];
  
 diff -up linux-2.6.24.noarch/include/linux/input.h.orig linux-2.6.24.noarch/include/linux/input.h
---- linux-2.6.24.noarch/include/linux/input.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/input.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/input.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/input.h	2008-04-09 16:57:40.000000000 -0400
 @@ -371,6 +371,8 @@ struct input_absinfo {
  #define KEY_BRIGHTNESS_ZERO	244	/* brightness off, use ambient */
  #define KEY_DISPLAY_OFF		245	/* display device to off state */
@@ -8904,8 +8953,8 @@
  #define BTN_0			0x100
  #define BTN_1			0x101
 diff -up linux-2.6.24.noarch/include/linux/mod_devicetable.h.orig linux-2.6.24.noarch/include/linux/mod_devicetable.h
---- linux-2.6.24.noarch/include/linux/mod_devicetable.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/mod_devicetable.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/mod_devicetable.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/mod_devicetable.h	2008-04-09 16:57:40.000000000 -0400
 @@ -350,7 +350,13 @@ struct sdio_device_id {
  struct ssb_device_id {
  	__u16	vendor;
@@ -8922,8 +8971,8 @@
  #define SSB_DEVICE(_vendor, _coreid, _revision)  \
  	{ .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
 diff -up linux-2.6.24.noarch/include/linux/pci_ids.h.orig linux-2.6.24.noarch/include/linux/pci_ids.h
---- linux-2.6.24.noarch/include/linux/pci_ids.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/pci_ids.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/pci_ids.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/pci_ids.h	2008-04-09 16:57:40.000000000 -0400
 @@ -2078,6 +2078,9 @@
  #define PCI_DEVICE_ID_ALTIMA_AC9100	0x03ea
  #define PCI_DEVICE_ID_ALTIMA_AC1003	0x03eb
@@ -8935,8 +8984,8 @@
  
  #define PCI_VENDOR_ID_ARECA		0x17d3
 diff -up linux-2.6.24.noarch/include/linux/ieee80211.h.orig linux-2.6.24.noarch/include/linux/ieee80211.h
---- linux-2.6.24.noarch/include/linux/ieee80211.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ieee80211.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ieee80211.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ieee80211.h	2008-04-09 16:57:40.000000000 -0400
 @@ -54,6 +54,8 @@
  #define IEEE80211_STYPE_ACTION		0x00D0
  
@@ -9167,8 +9216,8 @@
  #define WLAN_CIPHER_SUITE_USE_GROUP	0x000FAC00
  #define WLAN_CIPHER_SUITE_WEP40		0x000FAC01
 diff -up linux-2.6.24.noarch/include/linux/rfkill.h.orig linux-2.6.24.noarch/include/linux/rfkill.h
---- linux-2.6.24.noarch/include/linux/rfkill.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/rfkill.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/rfkill.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/rfkill.h	2008-04-09 16:57:40.000000000 -0400
 @@ -33,11 +33,13 @@
   * RFKILL_TYPE_WLAN: switch is on a 802.11 wireless network device.
   * RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device.
@@ -9184,8 +9233,8 @@
  };
  
 diff -up linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h	2008-04-09 16:57:40.000000000 -0400
 @@ -51,9 +51,12 @@
  #define  SSB_CHIPCO_CAP_JTAGM		0x00400000	/* JTAG master present */
  #define  SSB_CHIPCO_CAP_BROM		0x00800000	/* Internal boot ROM active */
@@ -9230,8 +9279,8 @@
  #ifdef CONFIG_SSB_SERIAL
  extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc,
 diff -up linux-2.6.24.noarch/include/linux/ssb/ssb_driver_extif.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb_driver_extif.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_extif.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_extif.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_extif.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_extif.h	2008-04-09 16:57:40.000000000 -0400
 @@ -171,11 +171,15 @@ extern void ssb_extif_get_clockcontrol(s
  extern void ssb_extif_timing_init(struct ssb_extif *extif,
  				  unsigned long ns);
@@ -9265,8 +9314,8 @@
  #endif /* CONFIG_SSB_DRIVER_EXTIF */
  #endif /* LINUX_SSB_EXTIFCORE_H_ */
 diff -up linux-2.6.24.noarch/include/linux/ssb/ssb_regs.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb_regs.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb_regs.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb_regs.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ssb/ssb_regs.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ssb/ssb_regs.h	2008-04-09 16:57:40.000000000 -0400
 @@ -147,6 +147,10 @@
  #define  SSB_IDLOW_SSBREV	0xF0000000 /* Sonics Backplane Revision code */
  #define  SSB_IDLOW_SSBREV_22	0x00000000 /* <= 2.2 */
@@ -9398,8 +9447,8 @@
  enum {
  	SSB_SPROM1CCODE_WORLD = 0,
 diff -up linux-2.6.24.noarch/include/linux/ssb/ssb_driver_pci.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb_driver_pci.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_pci.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_pci.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_pci.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_pci.h	2008-04-09 16:57:40.000000000 -0400
 @@ -51,6 +51,11 @@
  #define  SSB_PCICORE_SBTOPCI1_MASK	0xFC000000
  #define SSB_PCICORE_SBTOPCI2		0x0108	/* Backplane to PCI translation 2 (sbtopci2) */
@@ -9413,8 +9462,8 @@
  /* SBtoPCIx */
  #define SSB_PCICORE_SBTOPCI_MEM		0x00000000
 diff -up linux-2.6.24.noarch/include/linux/ssb/ssb.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb.h.orig	2008-04-08 00:06:18.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb.h	2008-04-08 00:06:26.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ssb/ssb.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ssb/ssb.h	2008-04-09 16:57:40.000000000 -0400
 @@ -15,22 +15,19 @@ struct pcmcia_device;
  struct ssb_bus;
  struct ssb_driver;
@@ -9594,8 +9643,8 @@
  
  
 diff -up /dev/null linux-2.6.24.noarch/include/linux/ssb/ssb_embedded.h
---- /dev/null	2008-04-08 00:00:49.269005103 -0400
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb_embedded.h	2008-04-08 00:06:26.000000000 -0400
+--- /dev/null	2008-04-08 08:17:04.746003572 -0400
[...3521 lines suppressed...]
  {
@@ -130040,8 +130126,8 @@
  	wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL);
  	return ret;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c
---- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-04-09 16:57:40.000000000 -0400
 @@ -303,7 +303,7 @@ static void prism2_info_hostscanresults(
  	int i, result_size, copy_len, new_count;
  	struct hfa384x_hostscan_result *results, *prev;
@@ -130080,8 +130166,8 @@
  		for (i = 0; i < (left < 100 ? left : 100); i++)
  			PDEBUG2(DEBUG_EXTRA, " %02x", buf[i]);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h
---- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-04-09 16:57:40.000000000 -0400
 @@ -5,52 +5,52 @@
  #include <net/ieee80211_crypt.h>
  
@@ -130165,8 +130251,8 @@
  enum {
  	PRISM2_RX_MONITOR, PRISM2_RX_MGMT, PRISM2_RX_NON_ASSOC,
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c
---- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-04-09 16:57:40.000000000 -0400
 @@ -84,7 +84,7 @@ static int prism2_get_datarates(struct n
  	if (len < 2)
  		return 0;
@@ -130431,8 +130517,8 @@
  	reason = cpu_to_le16(param->u.mlme.reason_code);
  	switch (param->u.mlme.cmd) {
 diff -up linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c
---- linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-04-09 16:57:40.000000000 -0400
 @@ -27,6 +27,8 @@ static const struct pci_device_id b43_pc
  	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) },
  	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
@@ -130443,8 +130529,8 @@
  };
  MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
 diff -up linux-2.6.24.noarch/drivers/ssb/Makefile.orig linux-2.6.24.noarch/drivers/ssb/Makefile
---- linux-2.6.24.noarch/drivers/ssb/Makefile.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Makefile	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/Makefile.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Makefile	2008-04-09 16:57:40.000000000 -0400
 @@ -1,5 +1,6 @@
  # core
  ssb-y					+= main.o scan.o
@@ -130461,8 +130547,8 @@
  
  obj-$(CONFIG_SSB)			+= ssb.o
 diff -up linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig linux-2.6.24.noarch/drivers/ssb/pcmcia.c
---- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-04-09 16:57:40.000000000 -0400
 @@ -94,7 +94,6 @@ int ssb_pcmcia_switch_core(struct ssb_bu
  			   struct ssb_device *dev)
  {
@@ -130613,8 +130699,8 @@
  }
  
 diff -up linux-2.6.24.noarch/drivers/ssb/main.c.orig linux-2.6.24.noarch/drivers/ssb/main.c
---- linux-2.6.24.noarch/drivers/ssb/main.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-04-08 00:06:37.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-04-09 16:57:40.000000000 -0400
 @@ -557,6 +557,7 @@ static int ssb_fetch_invariants(struct s
  		goto out;
  	memcpy(&bus->boardinfo, &iv.boardinfo, sizeof(iv.boardinfo));
@@ -130670,9 +130756,32 @@
  	ssb_chipco_set_clockmode(cc, SSB_CLKMODE_SLOW);
  	err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 0);
  	if (err)
+diff -up linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c.orig linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c
+--- linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c.orig	2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c	2008-04-09 16:57:52.000000000 -0400
+@@ -109,12 +109,13 @@ static void set_irq(struct ssb_device *d
+ 		clear_irq(bus, oldirq);
+ 
+ 	/* assign the new one */
+-	if (irq == 0)
+-		ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) & ssb_read32(mdev, SSB_INTVEC)));
+-
+-	irqflag <<= ipsflag_irq_shift[irq];
+-	irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]);
+-	ssb_write32(mdev, SSB_IPSFLAG, irqflag);
++	if (irq == 0) {
++		ssb_write32(mdev, SSB_INTVEC, ((1 << irqflag) | ssb_read32(mdev, SSB_INTVEC)));
++	} else {
++		irqflag <<= ipsflag_irq_shift[irq];
++		irqflag |= (ssb_read32(mdev, SSB_IPSFLAG) & ~ipsflag_irq_mask[irq]);
++		ssb_write32(mdev, SSB_IPSFLAG, irqflag);
++	}
+ }
+ 
+ static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
 diff -up linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig linux-2.6.24.noarch/drivers/ssb/ssb_private.h
---- linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h	2008-04-09 16:57:40.000000000 -0400
 @@ -120,10 +120,10 @@ extern int ssb_devices_thaw(struct ssb_b
  extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev);
  
@@ -130687,8 +130796,8 @@
  {
  	return 0;
 diff -up linux-2.6.24.noarch/drivers/ssb/pci.c.orig linux-2.6.24.noarch/drivers/ssb/pci.c
---- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-04-09 16:57:40.000000000 -0400
 @@ -212,29 +212,29 @@ static inline u8 ssb_crc8(u8 crc, u8 dat
  	return t[crc ^ data];
  }
@@ -131134,8 +131243,8 @@
  		err = -EINVAL;
  		goto out_kfree;
 diff -up linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c
---- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-04-09 16:57:40.000000000 -0400
 @@ -39,12 +39,14 @@ static inline void chipco_write32(struct
  	ssb_write32(cc->dev, offset, value);
  }
@@ -131257,8 +131366,8 @@
  		else
  			uart_regs += (i * 256);
 diff -up linux-2.6.24.noarch/drivers/ssb/Kconfig.orig linux-2.6.24.noarch/drivers/ssb/Kconfig
---- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-04-09 16:57:40.000000000 -0400
 @@ -35,6 +35,11 @@ config SSB_PCIHOST
  
  	  If unsure, say Y
@@ -131285,8 +131394,8 @@
  	bool "SSB Broadcom EXTIF core driver (EXPERIMENTAL)"
  	depends on SSB_DRIVER_MIPS && EXPERIMENTAL
 diff -up /dev/null linux-2.6.24.noarch/drivers/ssb/embedded.c
---- /dev/null	2008-04-08 00:00:49.269005103 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-04-08 00:06:27.000000000 -0400
+--- /dev/null	2008-04-08 08:17:04.746003572 -0400
++++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-04-09 16:57:40.000000000 -0400
 @@ -0,0 +1,132 @@
 +/*
 + * Sonics Silicon Backplane
@@ -131421,8 +131530,8 @@
 +}
 +EXPORT_SYMBOL(ssb_gpio_polarity);
 diff -up linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig linux-2.6.24.noarch/drivers/ssb/driver_extif.c
---- linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_extif.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_extif.c	2008-04-09 16:57:40.000000000 -0400
 @@ -27,12 +27,14 @@ static inline void extif_write32(struct 
  	ssb_write32(extif->dev, offset, value);
  }
@@ -131479,8 +131588,8 @@
 +	return extif_write32_masked(extif, SSB_EXTIF_GPIO_INTMASK, mask, value);
 +}
 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-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-04-09 16:57:52.000000000 -0400
 @@ -11,6 +11,7 @@
  #include <linux/ssb/ssb.h>
  #include <linux/pci.h>
@@ -131605,9 +131714,18 @@
  	/* Give some time to the PCI controller to configure itself with the new
  	 * values. Not waiting at this point causes crashes of the machine. */
  	mdelay(10);
+@@ -517,7 +551,7 @@ int ssb_pcicore_dev_irqvecs_enable(struc
+ 		} else {
+ 			tmp = ssb_read32(dev, SSB_TPSFLAG);
+ 			tmp &= SSB_TPSFLAG_BPFLAG;
+-			intvec |= tmp;
++			intvec |= (1 << tmp);
+ 		}
+ 		ssb_write32(pdev, SSB_INTVEC, intvec);
+ 	}
 diff -up linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt
---- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-04-08 00:06:19.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-04-08 00:06:27.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-04-09 16:57:35.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-04-09 16:57:40.000000000 -0400
 @@ -332,4 +332,36 @@ Why:	This driver has been marked obsolet
  	2.4 or later kernels, provides richer features and is more robust.
  Who:	Stephen Hemminger <shemminger at linux-foundation.org>




More information about the scm-commits mailing list