rpms/kernel/F-8 linux-2.6-rndis_host-fixes.patch, NONE, 1.1 kernel.spec, 1.427, 1.428 linux-2.6-ps3_gelic_wireless.patch, 1.5, 1.6 linux-2.6-wireless.patch, 1.35, 1.36

John W. Linville (linville) fedora-extras-commits at redhat.com
Tue Apr 15 21:13:37 UTC 2008


Author: linville

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

Modified Files:
	kernel.spec linux-2.6-ps3_gelic_wireless.patch 
	linux-2.6-wireless.patch 
Added Files:
	linux-2.6-rndis_host-fixes.patch 
Log Message:
upstream wireless fixes from 2008-04-15

linux-2.6-rndis_host-fixes.patch:

--- NEW FILE linux-2.6-rndis_host-fixes.patch ---
commit 10d0f27c1baa4a094b4965708a15f2b0c4d65f5e
Author: Jean-Christophe Dubois <jcd at tribudubois.net>
Date:   Thu Mar 13 14:56:36 2008 -0800

    rndis_host: fix transfer size negotiation
    
    This patch should resolve a problem that's troubled support for
    some RNDIS peripherals.  It seems to have boiled down to using a
    variable to establish transfer size limits before it was assigned,
    which caused those devices to fallback to a default "jumbogram"
    mode we don't support.  Fix by assigning it earlier for RNDIS.
    
    Signed-off-by: Jean-Christophe Dubois <jcd at tribudubois.net>
    [ cleanups ]
    Signed-off-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Jeff Garzik <jeff at garzik.org>

commit 9f5e60dd5ffca938da4cabc197af8b9405b5512e
Author: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
Date:   Sun Mar 23 12:45:44 2008 +0200

    rndis_host: fix oops when query for OID_GEN_PHYSICAL_MEDIUM fails
    
    When query for OID_GEN_PHYSICAL_MEDIUM fails, uninitialized pointer
    'phym' is being accessed in generic_rndis_bind(), resulting OOPS.
    Patch fixes phym to be initialized and setup correctly when
    rndis_query() for physical medium fails.
    
    Bug was introduced by following commit:
    commit 039ee17d1baabaa21783a0d5ab3e8c6d8c794bdf
    Author: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
    Date:   Sun Jan 27 23:34:33 2008 +0200
    
    Reported-by: Dmitri Monakhov <dmonakhov at openvz.org>
    Signed-off-by: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
    Acked-by: David Brownell <dbrownell at users.sourceforge.net>
    Signed-off-by: Jeff Garzik <jeff at garzik.org>
diff -up linux-2.6.24.noarch/drivers/net/usb/rndis_host.c.orig linux-2.6.24.noarch/drivers/net/usb/rndis_host.c
--- linux-2.6.24.noarch/drivers/net/usb/rndis_host.c.orig	2008-04-15 16:58:18.000000000 -0400
+++ linux-2.6.24.noarch/drivers/net/usb/rndis_host.c	2008-04-15 17:03:05.000000000 -0400
@@ -16,10 +16,6 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
-
-// #define	DEBUG			// error path messages, extra info
-// #define	VERBOSE			// more; success messages
-
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/netdevice.h>
@@ -287,7 +283,7 @@ generic_rndis_bind(struct usbnet *dev, s
 		struct rndis_set_c	*set_c;
 		struct rndis_halt	*halt;
 	} u;
-	u32			tmp, *phym;
+	u32			tmp, phym_unspec, *phym;
 	int			reply_len;
 	unsigned char		*bp;
 
@@ -318,6 +314,14 @@ generic_rndis_bind(struct usbnet *dev, s
 	net->hard_header_len += sizeof (struct rndis_data_hdr);
 	dev->hard_mtu = net->mtu + net->hard_header_len;
 
+	dev->maxpacket = usb_maxpacket(dev->udev, dev->out, 1);
+	if (dev->maxpacket == 0) {
+		if (netif_msg_probe(dev))
+			dev_dbg(&intf->dev, "dev->maxpacket can't be 0\n");
+		retval = -EINVAL;
+		goto fail_and_release;
+	}
+
 	dev->rx_urb_size = dev->hard_mtu + (dev->maxpacket + 1);
 	dev->rx_urb_size &= ~(dev->maxpacket - 1);
 	u.init->max_transfer_size = cpu_to_le32(dev->rx_urb_size);
@@ -359,12 +363,15 @@ generic_rndis_bind(struct usbnet *dev, s
 		goto halt_fail_and_release;
 
 	/* Check physical medium */
+	phym = NULL;
 	reply_len = sizeof *phym;
 	retval = rndis_query(dev, intf, u.buf, OID_GEN_PHYSICAL_MEDIUM,
 			0, (void **) &phym, &reply_len);
-	if (retval != 0)
+	if (retval != 0 || !phym) {
 		/* OID is optional so don't fail here. */
-		*phym = RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED;
+		phym_unspec = RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED;
+		phym = &phym_unspec;
+	}
 	if ((flags & FLAG_RNDIS_PHYM_WIRELESS) &&
 			*phym != RNDIS_PHYSICAL_MEDIUM_WIRELESS_LAN) {
 		if (netif_msg_probe(dev))


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.427
retrieving revision 1.428
diff -u -r1.427 -r1.428
--- kernel.spec	15 Apr 2008 19:17:32 -0000	1.427
+++ kernel.spec	15 Apr 2008 21:12:56 -0000	1.428
@@ -674,6 +674,7 @@
 Patch680: linux-2.6-wireless.patch
 Patch681: linux-2.6-wireless-pending.patch
 Patch682: linux-2.6-wireless-pending-fixups.patch
+Patch683: linux-2.6-rndis_host-fixes.patch
 Patch690: linux-2.6-at76.patch
 Patch691: linux-2.6-rndis_wlan.patch
 Patch692: linux-2.6-ps3_gelic_wireless.patch
@@ -1299,6 +1300,9 @@
 ApplyPatch linux-2.6-rndis_wlan.patch
 ApplyPatch linux-2.6-ps3_gelic_wireless.patch
 
+# Some rndis_host fixes pertinent to wireless
+ApplyPatch linux-2.6-rndis_host-fixes.patch
+
 # Restore ability to add/remove virtual i/fs to mac80211 devices
 ApplyPatch linux-2.6-cfg80211-extras.patch
 
@@ -2019,6 +2023,21 @@
 
 
 %changelog
+* Tue Apr 15 2008 John W. Linville <linville at redhat.com> 2.6.24.4-82
+- rfkill: Fix device type check when toggling states
+- rtl8187: Add missing priv->vif assignments
+- Add rfkill to MAINTAINERS file
+- Update rt2x00 MAINTAINERS entry
+- mac80211: remove message on receiving unexpected unencrypted frames
+- PS3: gelic: fix the oops on the broken IE returned from the hypervisor
+- ssb: Fix usage of struct device used for DMAing
+- b43legacy: Fix usage of struct device used for DMAing
+- MAINTAINERS: move to generic repository for iwlwifi
+- b43legacy: fix initvals loading on bcm4303
+- b43legacy: fix DMA mapping leakage
+- rndis_host: fix transfer size negotiation
+- rndis_host: fix oops when query for OID_GEN_PHYSICAL_MEDIUM fails
+
 * Tue Apr 15 2008 Jarod Wilson <jwilson at redhat.com> 2.6.24.4-81
 - Resync FireWire drivers with latest upstream git tree:
   * Fix dvgrab on buggy TI chipsets (#243081). May fix #435550 too.

linux-2.6-ps3_gelic_wireless.patch:

Index: linux-2.6-ps3_gelic_wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-ps3_gelic_wireless.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- linux-2.6-ps3_gelic_wireless.patch	26 Mar 2008 21:07:46 -0000	1.5
+++ linux-2.6-ps3_gelic_wireless.patch	15 Apr 2008 21:12:56 -0000	1.6
@@ -1,3 +1,16 @@
+commit b358492cd2a9c67bff352c5a60d86e7fc9627477
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Mon Apr 14 18:07:21 2008 +0900
+
+    PS3: gelic: fix the oops on the broken IE returned from the hypervisor
+    
+    This fixes the bug that the driver would try to over-scan the memory
+    if the sum of the length field of every IEs does not match the length
+    returned from the hypervisor.
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit 49d20fac21d5207f3930401d0198ac46ad990bff
 Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
 Date:   Tue Mar 25 16:21:08 2008 +0900
@@ -175,8 +188,8 @@
     Signed-off-by: Jeff Garzik <jeff at garzik.org>
 
 diff -up linux-2.6.24.noarch/drivers/net/Makefile.orig linux-2.6.24.noarch/drivers/net/Makefile
---- linux-2.6.24.noarch/drivers/net/Makefile.orig	2008-03-26 16:50:16.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/Makefile	2008-03-26 16:51:28.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/Makefile.orig	2008-04-15 16:53:48.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/Makefile	2008-04-15 16:55:05.000000000 -0400
 @@ -67,7 +67,8 @@ obj-$(CONFIG_BNX2) += bnx2.o
  spidernet-y += spider_net.o spider_net_ethtool.o
  obj-$(CONFIG_SPIDER_NET) += spidernet.o sungem_phy.o
@@ -188,9 +201,9 @@
  obj-$(CONFIG_SKGE) += skge.o
  obj-$(CONFIG_SKY2) += sky2.o
 diff -up /dev/null linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c
---- /dev/null	2008-03-26 10:12:08.710666650 -0400
-+++ linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c	2008-03-26 16:51:34.000000000 -0400
-@@ -0,0 +1,2759 @@
+--- /dev/null	2008-04-15 11:42:14.257003479 -0400
++++ linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c	2008-04-15 16:55:48.000000000 -0400
+@@ -0,0 +1,2764 @@
 +/*
 + *  PS3 gelic network driver.
 + *
@@ -705,13 +718,18 @@
 +		 data, len);
 +	memset(ie_info, 0, sizeof(struct ie_info));
 +
-+	while (0 < data_left) {
++	while (2 <= data_left) {
 +		item_id = *pos++;
 +		item_len = *pos++;
++		data_left -= 2;
++
++		if (data_left < item_len)
++			break;
 +
 +		switch (item_id) {
 +		case MFIE_TYPE_GENERIC:
-+			if (!memcmp(pos, wpa_oui, OUI_LEN) &&
++			if ((OUI_LEN + 1 <= item_len) &&
++			    !memcmp(pos, wpa_oui, OUI_LEN) &&
 +			    pos[OUI_LEN] == 0x01) {
 +				ie_info->wpa.data = pos - 2;
 +				ie_info->wpa.len = item_len + 2;
@@ -728,7 +746,7 @@
 +			break;
 +		}
 +		pos += item_len;
-+		data_left -= item_len + 2;
++		data_left -= item_len;
 +	}
 +	pr_debug("%s: wpa=%p,%d wpa2=%p,%d\n", __func__,
 +		 ie_info->wpa.data, ie_info->wpa.len,
@@ -2952,7 +2970,7 @@
 +}
 diff -up linux-2.6.24.noarch/drivers/net/ps3_gelic_net.c.orig linux-2.6.24.noarch/drivers/net/ps3_gelic_net.c
 --- linux-2.6.24.noarch/drivers/net/ps3_gelic_net.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/ps3_gelic_net.c	2008-03-26 16:51:28.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/ps3_gelic_net.c	2008-04-15 16:55:05.000000000 -0400
 @@ -46,29 +46,25 @@
  #include <asm/lv1call.h>
  
@@ -4987,7 +5005,7 @@
  
 diff -up linux-2.6.24.noarch/drivers/net/ps3_gelic_net.h.orig linux-2.6.24.noarch/drivers/net/ps3_gelic_net.h
 --- linux-2.6.24.noarch/drivers/net/ps3_gelic_net.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/ps3_gelic_net.h	2008-03-26 16:51:28.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/ps3_gelic_net.h	2008-04-15 16:55:05.000000000 -0400
 @@ -35,198 +35,323 @@
  #define GELIC_NET_MAX_MTU               VLAN_ETH_FRAME_LEN
  #define GELIC_NET_MIN_MTU               VLAN_ETH_ZLEN
@@ -5457,8 +5475,8 @@
  
  #endif /* _GELIC_NET_H */
 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-26 16:50:16.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/Kconfig	2008-03-26 16:51:28.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/Kconfig.orig	2008-04-15 16:53:48.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/Kconfig	2008-04-15 16:55:05.000000000 -0400
 @@ -2310,6 +2310,17 @@ config GELIC_NET
  	  To compile this driver as a module, choose M here: the
  	  module will be called ps3_gelic.
@@ -5478,8 +5496,8 @@
  	tristate "Gianfar Ethernet"
  	depends on 85xx || 83xx || PPC_86xx
 diff -up /dev/null linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.h
---- /dev/null	2008-03-26 10:12:08.710666650 -0400
-+++ linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.h	2008-03-26 16:51:28.000000000 -0400
+--- /dev/null	2008-04-15 11:42:14.257003479 -0400
++++ linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.h	2008-04-15 16:55:05.000000000 -0400
 @@ -0,0 +1,329 @@
 +/*
 + *  PS3 gelic network driver.

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.35 -r 1.36 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.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- linux-2.6-wireless.patch	9 Apr 2008 21:17:42 -0000	1.35
+++ linux-2.6-wireless.patch	15 Apr 2008 21:12:56 -0000	1.36
@@ -1,3 +1,144 @@
+commit dc4ae1f46dbbcd08b3b5e23ad5ef87bf4bb41adf
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date:   Mon Apr 14 00:59:49 2008 +0200
+
+    b43legacy: fix DMA mapping leakage
+    
+    This fixes a DMA mapping leakage in the case where we reject a DMA buffer
+    because of its address.
+    The patch by Michael Buesch has been ported to b43legacy.
+    
+    Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Cc: Christian Casteyde <casteyde.christian at free.fr>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit b3fc9c6c58c986f7a24fd8b0794d1e0794935a28
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Sun Apr 13 10:12:47 2008 +0200
+
+    mac80211: remove message on receiving unexpected unencrypted frames
+    
+    Some people are getting this message a lot, and we have traced it to
+    broken access points that much too often send completely empty frames
+    (all bytes zeroed, which they shouldn't do at all.)
+    
+    Since we cannot do anything about such frames in any case except the
+    special case where we're debugging an AP, just remove the message.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2dd0f69222c481574baf6a4affb9256a7c7410e7
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sat Apr 12 19:25:00 2008 +0200
+
+    Update rt2x00 MAINTAINERS entry
+    
+    Add the tree entry for rt2x00 to inform people about the
+    rt2x00.git tree.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e089764596ccde1037f2849fcee002c68986e67c
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sat Apr 12 19:23:55 2008 +0200
+
+    Add rfkill to MAINTAINERS file
+    
+    I have been acting as the maintainer since the rfkill introduction,
+    so lets make it official by adding a rfkill entry in the MAINTAINERS file.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 89796f64a20d31e74ee0051df2e26812c852e734
+Author: Carlos Corbacho <carlos at strangeworlds.co.uk>
+Date:   Sat Apr 12 16:39:47 2008 +0100
+
+    rfkill: Fix device type check when toggling states
+    
+    rfkill_switch_all() is supposed to only switch all the interfaces of a
+    given type, but does not actually do this; instead, it just switches
+    everything currently in the same state.
+    
+    Add the necessary type check in.
+    
+    (This fixes a bug I've been seeing while developing an rfkill laptop
+    driver, with both bluetooth and wireless simultaneously changing state
+    after only pressing either KEY_WLAN or KEY_BLUETOOTH).
+    
+    Signed-off-by: Carlos Corbacho <carlos at strangeworlds.co.uk>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit cdbbe3d1f53086ece706674d3bf4f6d148083694
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Fri Apr 11 12:16:36 2008 +0200
+
+    b43legacy: Fix usage of struct device used for DMAing
+    
+    This fixes b43legacy for the SSB DMA API change.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Cc: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4ac58469f13028e1eb97f8bc7b0fca5072591d8d
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Fri Apr 11 11:59:00 2008 +0200
+
+    ssb: Fix usage of struct device used for DMAing
+    
+    This fixes DMA on architectures where DMA is nontrivial, like PPC64.
+    We must use the host-device's (PCI) struct device for any DMA
+    operation instead of the SSB device. For this we add a new
+    struct device pointer to the SSB device structure that will always
+    point to the right device for DMAing.
+    
+    Without this patch b43 and b44 drivers won't work on complex-DMA
+    architectures, that for example need dev->archdata for DMA operations.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2d4543fdb487b1301ae48703dea3e66ead2d3c75
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date:   Thu Apr 10 13:16:27 2008 -0700
+
+    MAINTAINERS: move to generic repository for iwlwifi
+    
+    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 385f848a986b4677bc91e5f5f9033449a876819d
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date:   Sun Apr 6 17:10:53 2008 +0200
+
+    b43legacy: fix initvals loading on bcm4303
+    
+    This allows for the correct initial values to be uploaded to bcm4303
+    devices. It should be correct, but I can't reliably test this as I suspect
+    there's something going wrong with an hardware rfkill switch on my laptop.
+    Please test.
+    
+    Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit aa979a6acbb468b0ebe8cf36dc782a5b3cc1e28d
+Author: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+Date:   Wed Apr 9 16:38:31 2008 -0300
+
+    rtl8187: Add missing priv->vif assignments
+    
+    This adds missing priv->vif assignments after "mac80211: don't use
+    interface indices in drivers" change. As rtl8180, rtl8187 also needs
+    priv->vif to be set, as without this an oops can happen in rtl8187_tx
+    function (priv->vif is passed to ieee80211_rts_duration).
+    
+    Signed-off-by: Herton Ronaldo Krzesinski <herton at mandriva.com.br>
+    Acked-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit e91e9d490d9ae382003ef9d05fd50238db54c35b
 Author: Daniel Wagner <wagi at monom.org>
 Date:   Wed Apr 9 16:29:01 2008 +0200
@@ -8708,8 +8849,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/nl80211.h.orig	2008-04-15 16:47:25.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-04-15 16:47:30.000000000 -0400
 @@ -7,6 +7,18 @@
   */
  
@@ -8911,8 +9052,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/wireless.h	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/wireless.h.orig	2008-04-15 16:47:25.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/wireless.h	2008-04-15 16:47:30.000000000 -0400
 @@ -541,6 +541,16 @@
  /* Maximum size of returned data */
  #define IW_SCAN_MAX_DATA	4096	/* In bytes */
@@ -8941,8 +9082,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/input.h	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/input.h.orig	2008-04-15 16:47:25.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/input.h	2008-04-15 16:47:30.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 */
@@ -8953,8 +9094,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/mod_devicetable.h	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/mod_devicetable.h.orig	2008-04-15 16:47:25.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/mod_devicetable.h	2008-04-15 16:47:30.000000000 -0400
 @@ -350,7 +350,13 @@ struct sdio_device_id {
  struct ssb_device_id {
  	__u16	vendor;
@@ -8971,8 +9112,8 @@
  #define SSB_DEVICE(_vendor, _coreid, _revision)  \
  	{ .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
[...4909 lines suppressed...]
  };
  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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Makefile	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/Makefile.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Makefile	2008-04-15 16:47:31.000000000 -0400
 @@ -1,5 +1,6 @@
  # core
  ssb-y					+= main.o scan.o
@@ -130547,8 +131118,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-04-15 16:47:31.000000000 -0400
 @@ -94,7 +94,6 @@ int ssb_pcmcia_switch_core(struct ssb_bu
  			   struct ssb_device *dev)
  {
@@ -130699,9 +131270,28 @@
  }
  
 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-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
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-04-15 16:48:06.000000000 -0400
+@@ -436,15 +436,18 @@ static int ssb_devices_register(struct s
+ #ifdef CONFIG_SSB_PCIHOST
+ 			sdev->irq = bus->host_pci->irq;
+ 			dev->parent = &bus->host_pci->dev;
++			sdev->dma_dev = &bus->host_pci->dev;
+ #endif
+ 			break;
+ 		case SSB_BUSTYPE_PCMCIA:
+ #ifdef CONFIG_SSB_PCMCIAHOST
+ 			sdev->irq = bus->host_pcmcia->irq.AssignedIRQ;
+ 			dev->parent = &bus->host_pcmcia->dev;
++			sdev->dma_dev = &bus->host_pcmcia->dev;
+ #endif
+ 			break;
+ 		case SSB_BUSTYPE_SSB:
++			sdev->dma_dev = dev;
+ 			break;
+ 		}
+ 
+@@ -557,6 +560,7 @@ static int ssb_fetch_invariants(struct s
  		goto out;
  	memcpy(&bus->boardinfo, &iv.boardinfo, sizeof(iv.boardinfo));
  	memcpy(&bus->sprom, &iv.sprom, sizeof(iv.sprom));
@@ -130709,7 +131299,7 @@
  out:
  	return err;
  }
-@@ -569,6 +570,9 @@ static int ssb_bus_register(struct ssb_b
+@@ -569,6 +573,9 @@ static int ssb_bus_register(struct ssb_b
  
  	spin_lock_init(&bus->bar_lock);
  	INIT_LIST_HEAD(&bus->list);
@@ -130719,7 +131309,7 @@
  
  	/* Powerup the bus */
  	err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 1);
-@@ -872,14 +876,22 @@ EXPORT_SYMBOL(ssb_clockspeed);
+@@ -872,14 +879,22 @@ EXPORT_SYMBOL(ssb_clockspeed);
  
  static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
  {
@@ -130743,7 +131333,28 @@
  		WARN_ON(1);
  	}
  	return (SSB_TMSLOW_REJECT_22 | SSB_TMSLOW_REJECT_23);
-@@ -1032,6 +1044,12 @@ int ssb_bus_may_powerdown(struct ssb_bus
+@@ -1006,15 +1021,14 @@ EXPORT_SYMBOL(ssb_dma_translation);
+ 
+ int ssb_dma_set_mask(struct ssb_device *ssb_dev, u64 mask)
+ {
+-	struct device *dev = ssb_dev->dev;
++	struct device *dma_dev = ssb_dev->dma_dev;
+ 
+ #ifdef CONFIG_SSB_PCIHOST
+-	if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI &&
+-	    !dma_supported(dev, mask))
+-		return -EIO;
++	if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI)
++		return dma_set_mask(dma_dev, mask);
+ #endif
+-	dev->coherent_dma_mask = mask;
+-	dev->dma_mask = &dev->coherent_dma_mask;
++	dma_dev->coherent_dma_mask = mask;
++	dma_dev->dma_mask = &dma_dev->coherent_dma_mask;
+ 
+ 	return 0;
+ }
+@@ -1032,6 +1046,12 @@ int ssb_bus_may_powerdown(struct ssb_bus
  		goto out;
  
  	cc = &bus->chipco;
@@ -130757,8 +131368,8 @@
  	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
+--- linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c	2008-04-15 16:47:31.000000000 -0400
 @@ -109,12 +109,13 @@ static void set_irq(struct ssb_device *d
  		clear_irq(bus, oldirq);
  
@@ -130780,8 +131391,8 @@
  
  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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h	2008-04-15 16:47:31.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);
  
@@ -130796,8 +131407,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-04-15 16:47:31.000000000 -0400
 @@ -212,29 +212,29 @@ static inline u8 ssb_crc8(u8 crc, u8 dat
  	return t[crc ^ data];
  }
@@ -131243,8 +131854,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-04-15 16:47:31.000000000 -0400
 @@ -39,12 +39,14 @@ static inline void chipco_write32(struct
  	ssb_write32(cc->dev, offset, value);
  }
@@ -131366,8 +131977,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-04-15 16:47:31.000000000 -0400
 @@ -35,6 +35,11 @@ config SSB_PCIHOST
  
  	  If unsure, say Y
@@ -131394,8 +132005,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 08:17:04.746003572 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-04-09 16:57:40.000000000 -0400
+--- /dev/null	2008-04-15 11:42:14.257003479 -0400
++++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-04-15 16:47:31.000000000 -0400
 @@ -0,0 +1,132 @@
 +/*
 + * Sonics Silicon Backplane
@@ -131530,8 +132141,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_extif.c	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_extif.c	2008-04-15 16:47:31.000000000 -0400
 @@ -27,12 +27,14 @@ static inline void extif_write32(struct 
  	ssb_write32(extif->dev, offset, value);
  }
@@ -131588,8 +132199,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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-04-09 16:57:52.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-04-15 16:47:31.000000000 -0400
 @@ -11,6 +11,7 @@
  #include <linux/ssb/ssb.h>
  #include <linux/pci.h>
@@ -131724,8 +132335,8 @@
  		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-09 16:57:35.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-04-09 16:57:40.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-04-15 16:47:26.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-04-15 16:47:31.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 fedora-extras-commits mailing list