[kernel/f16] Revert "3.0-git3 snapshot"

Dave Jones davej at fedoraproject.org
Wed Jul 27 19:27:38 UTC 2011


commit 44f60ec5e2a65204472e25a62a4631d9f6ed1602
Author: Dave Jones <davej at redhat.com>
Date:   Wed Jul 27 15:14:17 2011 -0400

    Revert "3.0-git3 snapshot"
    
    This reverts commit 4a2041744e262bb41936adfb3db0b85e13c73b11.

 Makefile                                           |    2 -
 config-arm                                         |    4 -
 config-debug                                       |    2 -
 config-generic                                     |   17 ----
 config-nodebug                                     |    2 -
 config-powerpc-generic                             |    4 -
 config-powerpc64                                   |    2 -
 config-x86-generic                                 |    7 --
 config-x86_64-generic                              |    6 --
 dmar-disable-when-ricoh-multifunction.patch        |    4 +-
 hda_intel-prealloc-4mb-dmabuffer.patch             |   47 +++++++++++
 kernel.spec                                        |   25 ++++--
 linux-2.6-intel-iommu-igfx.patch                   |    4 +-
 ....6-rt2x00-Add-device-ID-for-RT539F-device.patch |   23 ++++++
 linux-2.6-silence-noise.patch                      |    4 +-
 ...1rw-fix-invalid-signal-values-from-device.patch |   82 ++++++++++++++++++++
 linux-2.6.30-no-pcspkr-modalias.patch              |    4 +-
 sources                                            |    1 -
 18 files changed, 176 insertions(+), 64 deletions(-)
---
diff --git a/Makefile b/Makefile
index 0b7442a..cffc926 100644
--- a/Makefile
+++ b/Makefile
@@ -92,7 +92,6 @@ debug:
 	@perl -pi -e 's/# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set/CONFIG_CPU_NOTIFIER_ERROR_INJECT=m/' config-nodebug
 	@perl -pi -e 's/# CONFIG_DEBUG_PER_CPU_MAPS is not set/CONFIG_DEBUG_PER_CPU_MAPS=y/' config-nodebug
 	@perl -pi -e 's/# CONFIG_TEST_LIST_SORT is not set/CONFIG_TEST_LIST_SORT=y/' config-nodebug
-	@perl -pi -e 's/# CONFIG_DEBUG_ATOMIC_SLEEP is not set/CONFIG_DEBUG_ATOMIC_SLEEP=y/' config-nodebug
 
 	@perl -pi -e 's/# CONFIG_DEBUG_SET_MODULE_RONX is not set/CONFIG_DEBUG_SET_MODULE_RONX=y/' config-nodebug
 
@@ -171,7 +170,6 @@ release:
 	#@perl -pi -e 's/CONFIG_KDB_KEYBOARD=y/# CONFIG_KDB_KEYBOARD is not set/' config-nodebug
 	@perl -pi -e 's/CONFIG_DEBUG_PER_CPU_MAPS=y/# CONFIG_DEBUG_PER_CPU_MAPS is not set/' config-nodebug
 	@perl -pi -e 's/CONFIG_TEST_LIST_SORT=y/# CONFIG_TEST_LIST_SORT is not set/' config-nodebug
-	@perl -pi -e 's/CONFIG_DEBUG_ATOMIC_SLEEP=y/# CONFIG_DEBUG_ATOMIC_SLEEP is not set/' config-nodebug
 
 	@perl -pi -e 's/CONFIG_DEBUG_SET_MODULE_RONX=y/# CONFIG_DEBUG_SET_MODULE_RONX is not set/' config-nodebug
 
diff --git a/config-arm b/config-arm
index 1f26e72..dd6f90a 100644
--- a/config-arm
+++ b/config-arm
@@ -147,7 +147,3 @@ CONFIG_PROC_DEVICETREE=y
 CONFIG_MTD_PHYSMAP_OF=m
 CONFIG_SERIAL_OF_PLATFORM=m
 CONFIG_MMC_SDHCI_OF=m
-CONFIG_MMC_SDHCI_PXAV3=m
-CONFIG_MMC_SDHCI_PXAV2=m
-
-CONFIG_FTGMAC100=m
diff --git a/config-debug b/config-debug
index 21e52bf..7bbaa0b 100644
--- a/config-debug
+++ b/config-debug
@@ -2,8 +2,6 @@ CONFIG_SND_VERBOSE_PRINTK=y
 CONFIG_SND_DEBUG=y
 CONFIG_SND_PCM_XRUN_DEBUG=y
 
-CONFIG_DEBUG_ATOMIC_SLEEP=y
-
 CONFIG_DEBUG_MUTEXES=y
 CONFIG_DEBUG_RT_MUTEXES=y
 CONFIG_DEBUG_LOCK_ALLOC=y
diff --git a/config-generic b/config-generic
index 6a4cf32..a1ebab7 100644
--- a/config-generic
+++ b/config-generic
@@ -1043,7 +1043,6 @@ CONFIG_IP_SET_HASH_IPPORTIP=m
 CONFIG_IP_SET_HASH_IPPORTNET=m
 CONFIG_IP_SET_HASH_NET=m
 CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
 CONFIG_IP_SET_LIST_SET=m
 
 #
@@ -1348,7 +1347,6 @@ CONFIG_R8169=m
 CONFIG_R8169_VLAN=y
 CONFIG_SKGE=m
 # CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
 CONFIG_TIGON3=m
 CONFIG_SKY2=m
 # CONFIG_SKY2_DEBUG is not set
@@ -1587,7 +1585,6 @@ CONFIG_WL1271_SPI=m
 CONFIG_RTL8192CE=m
 CONFIG_RTL8192SE=m
 CONFIG_RTL8192CU=m
-CONFIG_RTL8192DE=m
 
 CONFIG_MWIFIEX=m
 CONFIG_MWIFIEX_SDIO=m
@@ -1668,8 +1665,6 @@ CONFIG_BAYCOM_PAR=m
 CONFIG_BAYCOM_EPP=m
 CONFIG_YAM=m
 
-CONFIG_NFC=m
-
 #
 # IrDA (infrared) support
 #
@@ -2993,7 +2988,6 @@ CONFIG_SND_HDA_INPUT_JACK=y
 CONFIG_SND_HDA_PATCH_LOADER=y
 CONFIG_SND_HDA_HWDEP=y
 CONFIG_SND_HDA_CODEC_REALTEK=y
-CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
 CONFIG_SND_HDA_CODEC_CA0110=y
 CONFIG_SND_HDA_CODEC_ANALOG=y
 CONFIG_SND_HDA_CODEC_SIGMATEL=y
@@ -3006,12 +3000,10 @@ CONFIG_SND_HDA_CODEC_INTELHDMI=y
 CONFIG_SND_HDA_CODEC_SI3054=y
 CONFIG_SND_HDA_CODEC_NVHDMI=y
 CONFIG_SND_HDA_CODEC_HDMI=y
-CONFIG_SND_HDA_CODEC_CA0132=y
 CONFIG_SND_HDA_GENERIC=y
 CONFIG_SND_HDA_POWER_SAVE=y
 CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
 CONFIG_SND_HDA_RECONFIG=y
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
 CONFIG_SND_HDSPM=m
 CONFIG_SND_HIFIER=m
 CONFIG_SND_ICE1712=m
@@ -3203,10 +3195,6 @@ CONFIG_HID_KEYTOUCH=m
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_ROCCAT_ARVO=m
 CONFIG_HID_ROCCAT_KOVAPLUS=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HOLTEK_FF=y
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_WIIMOTE=m
 
 #
 # USB Imaging devices
@@ -3935,8 +3923,6 @@ CONFIG_CRC32=m
 CONFIG_CRC_CCITT=m
 CONFIG_CRC_ITU_T=m
 CONFIG_CRC_T10DIF=m
-CONFIG_CRC8=m
-CONFIG_CORDIC=m
 
 CONFIG_CRYPTO_ZLIB=m
 CONFIG_ZLIB_INFLATE=y
@@ -4654,7 +4640,6 @@ CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
 
 CONFIG_NFC_DEVICES=y
 CONFIG_PN544_NFC=m
-CONFIG_NFC_PN533=m
 
 CONFIG_TARGET_CORE=m
 CONFIG_LOOPBACK_TARGET=m
@@ -4682,5 +4667,3 @@ CONFIG_BCMA_HOST_PCI=y
 
 # CONFIG_GOOGLE_FIRMWARE is not set
 CONFIG_INTEL_MID_PTI=m
-
-CONFIG_IOMMU_SUPPORT=y
diff --git a/config-nodebug b/config-nodebug
index a3fbf94..5730cd1 100644
--- a/config-nodebug
+++ b/config-nodebug
@@ -2,8 +2,6 @@ CONFIG_SND_VERBOSE_PRINTK=y
 CONFIG_SND_DEBUG=y
 CONFIG_SND_PCM_XRUN_DEBUG=y
 
-CONFIG_DEBUG_ATOMIC_SLEEP=y
-
 CONFIG_DEBUG_MUTEXES=y
 CONFIG_DEBUG_RT_MUTEXES=y
 CONFIG_DEBUG_LOCK_ALLOC=y
diff --git a/config-powerpc-generic b/config-powerpc-generic
index 97baa8a..8dd44f3 100644
--- a/config-powerpc-generic
+++ b/config-powerpc-generic
@@ -342,7 +342,3 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y
 CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255
 CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048
 CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=m
-
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_MCP23S08 is not set
-
diff --git a/config-powerpc64 b/config-powerpc64
index 8e7d75d..8866a53 100644
--- a/config-powerpc64
+++ b/config-powerpc64
@@ -188,5 +188,3 @@ CONFIG_PSERIES_ENERGY=m
 CONFIG_PPC_ICSWX=y
 CONFIG_IO_EVENT_IRQ=y
 CONFIG_HW_RANDOM_AMD=m
-
-CONFIG_BPF_JIT=y
diff --git a/config-x86-generic b/config-x86-generic
index f41bb90..bd2f93b 100644
--- a/config-x86-generic
+++ b/config-x86-generic
@@ -374,8 +374,6 @@ CONFIG_XEN_DEBUG_FS=y
 CONFIG_XEN_PLATFORM_PCI=m
 CONFIG_XEN_GNTDEV=m
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
-CONFIG_XEN_SELFBALLOONING=y
-CONFIG_XEN_PCIDEV_BACKEND=m
 
 CONFIG_MTD_ESB2ROM=m
 CONFIG_MTD_CK804XROM=m
@@ -555,8 +553,3 @@ CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
 CONFIG_HP_ACCEL=m
 
 # CONFIG_RAPIDIO is not set
-
-# CONFIG_X86_INTEL_MID is not set
-
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_MCP23S08 is not set
diff --git a/config-x86_64-generic b/config-x86_64-generic
index 340d747..f4c3c30 100644
--- a/config-x86_64-generic
+++ b/config-x86_64-generic
@@ -317,8 +317,6 @@ CONFIG_XEN_GNTDEV=m
 CONFIG_XEN_DEBUG_FS=y
 CONFIG_XEN_PLATFORM_PCI=m
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
-CONFIG_XEN_SELFBALLOONING=y
-CONFIG_XEN_PCIDEV_BACKEND=m
 
 CONFIG_DMADEVICES=y
 CONFIG_INTEL_IOATDMA=m
@@ -464,7 +462,3 @@ CONFIG_HP_ACCEL=m
 # CONFIG_RAPIDIO is not set
 
 CONFIG_BPF_JIT=y
-
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_MCP23S08 is not set
-
diff --git a/dmar-disable-when-ricoh-multifunction.patch b/dmar-disable-when-ricoh-multifunction.patch
index a452861..120730f 100644
--- a/dmar-disable-when-ricoh-multifunction.patch
+++ b/dmar-disable-when-ricoh-multifunction.patch
@@ -9,8 +9,8 @@ Subject: [PATCH] dmar: disable if ricoh multifunction detected
 
 diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
 index 4789f8e..5923914 100644
---- a/drivers/iommu/intel-iommu.c
-+++ b/drivers/iommu/intel-iommu.c
+--- a/drivers/pci/intel-iommu.c
++++ b/drivers/pci/intel-iommu.c
 @@ -3784,6 +3784,16 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0044, quirk_calpella_no_shadow_g
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0062, quirk_calpella_no_shadow_gtt);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x006a, quirk_calpella_no_shadow_gtt);
diff --git a/hda_intel-prealloc-4mb-dmabuffer.patch b/hda_intel-prealloc-4mb-dmabuffer.patch
new file mode 100644
index 0000000..36e6aca
--- /dev/null
+++ b/hda_intel-prealloc-4mb-dmabuffer.patch
@@ -0,0 +1,47 @@
+From c69fcbd1f60b0842f7c1ad2c95692ffd19c4932b Mon Sep 17 00:00:00 2001
+From: Kyle McMartin <kyle at phobos.i.jkkm.org>
+Date: Mon, 29 Mar 2010 23:56:08 -0400
+Subject: hda_intel-prealloc-4mb-dmabuffer
+
+---
+ sound/pci/hda/hda_intel.c |   14 +++++++++++++-
+ 1 files changed, 13 insertions(+), 1 deletions(-)
+
+diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
+index 4bb9067..37db515 100644
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -1986,6 +1986,7 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec,
+ 	struct azx_pcm *apcm;
+ 	int pcm_dev = cpcm->device;
+ 	int s, err;
++	size_t prealloc_min = 64*1024;	/* 64KB */
+ 
+ 	if (pcm_dev >= HDA_MAX_PCMS) {
+ 		snd_printk(KERN_ERR SFX "Invalid PCM device number %d\n",
+@@ -2019,10 +2020,21 @@ azx_attach_pcm_stream(struct hda_bus *bus, struct hda_codec *codec,
+ 		if (cpcm->stream[s].substreams)
+ 			snd_pcm_set_ops(pcm, s, &azx_pcm_ops);
+ 	}
++
+ 	/* buffer pre-allocation */
++
++	/* subtle, don't allocate a big buffer for modems...
++	 * also, don't just test 32BIT_MASK, since azx supports
++	 * 64-bit DMA in some cases.
++	 */
++	/* lennart wants a 2.2MB buffer for 2sec of 48khz */
++	if (pcm->dev_class == SNDRV_PCM_CLASS_GENERIC &&
++	    chip->pci->dma_mask >= DMA_32BIT_MASK)
++		prealloc_min = 4 * 1024 * 1024;	/* 4MB */
++
+ 	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
+ 					      snd_dma_pci_data(chip->pci),
+-					      1024 * 64, 32 * 1024 * 1024);
++					      prealloc_min, 32 * 1024 * 1024);
+ 	return 0;
+ }
+ 
+-- 
+1.7.0.1
+
diff --git a/kernel.spec b/kernel.spec
index d13d027..3f55fbb 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -6,7 +6,7 @@ Summary: The Linux kernel
 # For a stable, released kernel, released_kernel should be 1. For rawhide
 # and/or a kernel built from an rc or git snapshot, released_kernel should
 # be 0.
-%global released_kernel 0
+%global released_kernel 1
 
 # Save original buildid for later if it's defined
 %if 0%{?buildid:1}
@@ -80,11 +80,12 @@ Summary: The Linux kernel
 ## The not-released-kernel case ##
 %else
 # The next upstream release sublevel (base_sublevel+1)
-%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
+# % define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
+%define upstream_sublevel 0
 # The rc snapshot level
 %define rcrev 0
 # The git snapshot level
-%define gitrev 3
+%define gitrev 0
 # Set rpm version accordingly
 %define rpmversion 3.%{upstream_sublevel}.0
 %endif
@@ -638,6 +639,8 @@ Patch470: die-floppy-die.patch
 Patch510: linux-2.6-silence-noise.patch
 Patch530: linux-2.6-silence-fbcon-logo.patch
 
+Patch610: hda_intel-prealloc-4mb-dmabuffer.patch
+
 Patch700: linux-2.6-e1000-ich9-montevina.patch
 
 Patch800: linux-2.6-crash-driver.patch
@@ -679,6 +682,10 @@ Patch12016: disable-i8042-check-on-apple-mac.patch
 
 Patch12018: neuter_intel_microcode_load.patch
 
+Patch12019: linux-2.6-rt2x00-Add-device-ID-for-RT539F-device.patch
+
+Patch12020: linux-2.6-zd1211rw-fix-invalid-signal-values-from-device.patch
+
 # Runtime power management
 Patch12203: linux-2.6-usb-pci-autosuspend.patch
 Patch12204: linux-2.6-enable-more-pci-autosuspend.patch
@@ -1190,9 +1197,12 @@ ApplyPatch linux-2.6-defaults-aspm.patch
 # ACPI
 
 # ALSA
+ApplyPatch hda_intel-prealloc-4mb-dmabuffer.patch
 
 # Networking
 
+ApplyPatch linux-2.6-zd1211rw-fix-invalid-signal-values-from-device.patch
+
 # Misc fixes
 # The input layer spews crap no-one cares about.
 ApplyPatch linux-2.6-input-kill-stupid-messages.patch
@@ -1252,6 +1262,8 @@ ApplyPatch add-appleir-usb-driver.patch
 
 ApplyPatch neuter_intel_microcode_load.patch
 
+ApplyPatch linux-2.6-rt2x00-Add-device-ID-for-RT539F-device.patch
+
 # Runtime PM
 #ApplyPatch linux-2.6-usb-pci-autosuspend.patch
 ### Broken by implicit notify support & ACPICA rebase
@@ -1262,7 +1274,7 @@ ApplyPatch neuter_intel_microcode_load.patch
 ApplyPatch dmar-disable-when-ricoh-multifunction.patch
 
 # utrace.
-#ApplyPatch utrace.patch
+ApplyPatch utrace.patch
 
 # END OF PATCH APPLICATIONS
 
@@ -1873,11 +1885,6 @@ fi
 # and build.
 
 %changelog
-* Mon Jul 25 2011 Kyle McMartin <kmcmartin at redhat.com>
-- Linux 3.0-git3
-- Drop hda_intel-prealloc-4mb-dmabuffer.patch, set new
-  CONFIG_SND_HDA_PREALLOC_SIZE=4096 for similar effect.
-
 * Fri Jul 22 2011 Dave Jones <davej at redhat.com>
 - bootwrapper needs objcopy. Add it to requires: (wwoods)
 
diff --git a/linux-2.6-intel-iommu-igfx.patch b/linux-2.6-intel-iommu-igfx.patch
index b2f8f19..44fd141 100644
--- a/linux-2.6-intel-iommu-igfx.patch
+++ b/linux-2.6-intel-iommu-igfx.patch
@@ -43,8 +43,8 @@ index e7848a0..9914485 100644
  			for io virtual address below 32 bit forcing dual
 diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
 index 4173125..8f36786 100644
---- a/drivers/iommu/intel-iommu.c
-+++ b/drivers/iommu/intel-iommu.c
+--- a/drivers/pci/intel-iommu.c
++++ b/drivers/pci/intel-iommu.c
 @@ -340,7 +340,8 @@ int dmar_disabled = 0;
  int dmar_disabled = 1;
  #endif /*CONFIG_DMAR_DEFAULT_ON*/
diff --git a/linux-2.6-rt2x00-Add-device-ID-for-RT539F-device.patch b/linux-2.6-rt2x00-Add-device-ID-for-RT539F-device.patch
new file mode 100644
index 0000000..abf01cf
--- /dev/null
+++ b/linux-2.6-rt2x00-Add-device-ID-for-RT539F-device.patch
@@ -0,0 +1,23 @@
+commit 71e0b38c2914018b01f3f08b43ee9e3328197699
+Author: Gertjan van Wingerde <gwingerde at gmail.com>
+Date:   Wed Jul 6 22:58:55 2011 +0200
+
+    rt2x00: Add device ID for RT539F device.
+    
+    Reported-by: Wim Vander Schelden <wim at fixnum.org>
+    Signed-off-by: Gertjan van Wingerde <gwingerde at gmail.com>
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
+index 5513edf..fd99449 100644
+--- a/drivers/net/wireless/rt2x00/rt2800pci.c
++++ b/drivers/net/wireless/rt2x00/rt2800pci.c
+@@ -1160,6 +1160,7 @@ static DEFINE_PCI_DEVICE_TABLE(rt2800pci_device_table) = {
+ #endif
+ #ifdef CONFIG_RT2800PCI_RT53XX
+ 	{ PCI_DEVICE(0x1814, 0x5390) },
++	{ PCI_DEVICE(0x1814, 0x539f) },
+ #endif
+ 	{ 0, }
+ };
diff --git a/linux-2.6-silence-noise.patch b/linux-2.6-silence-noise.patch
index 1e4d7c5..8aba3cd 100644
--- a/linux-2.6-silence-noise.patch
+++ b/linux-2.6-silence-noise.patch
@@ -46,8 +46,8 @@ Signed-off-by: Dave Jones <davej at redhat.com>
 +		 * In case of error we but don't return the error code immediately.
 +		 * Below we will return -EPROTONOSUPPORT
  		 */
--		if (err)
--			printk_ratelimited(KERN_ERR "can: request_module "
+-		if (err && printk_ratelimit())
+-			printk(KERN_ERR "can: request_module "
 -			       "(can-proto-%d) failed.\n", protocol);
  
  		cp = can_get_proto(protocol);
diff --git a/linux-2.6-zd1211rw-fix-invalid-signal-values-from-device.patch b/linux-2.6-zd1211rw-fix-invalid-signal-values-from-device.patch
new file mode 100644
index 0000000..f91ceb8
--- /dev/null
+++ b/linux-2.6-zd1211rw-fix-invalid-signal-values-from-device.patch
@@ -0,0 +1,82 @@
+commit 7a1d6564a15183cb5994656040966df09af8390f
+Author: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
+Date:   Mon Jun 20 14:42:28 2011 +0300
+
+    zd1211rw: fix invalid signal values from device
+    
+    Driver uses IEEE80211_HW_SIGNAL_UNSPEC and so signal values reported to
+    mac80211 should be in range 0..100. Sometimes device return out of range
+    values. These out of range values can then trigger warning in
+    cfg80211_inform_bss_frame.
+    
+    This patch adds checks to enforce range returned from driver to
+    mac80211 be in 0..100 range.
+    
+    Signed-off-by: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+diff --git a/drivers/net/wireless/zd1211rw/zd_def.h b/drivers/net/wireless/zd1211rw/zd_def.h
+index 5463ca9..9a1b013 100644
+--- a/drivers/net/wireless/zd1211rw/zd_def.h
++++ b/drivers/net/wireless/zd1211rw/zd_def.h
+@@ -37,9 +37,15 @@ typedef u16 __nocast zd_addr_t;
+ 	if (net_ratelimit()) \
+ 		dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
+ } while (0)
++#  define dev_dbg_f_cond(dev, cond, fmt, args...) ({ \
++	bool __cond = !!(cond); \
++	if (unlikely(__cond)) \
++		dev_printk_f(KERN_DEBUG, dev, fmt, ## args); \
++})
+ #else
+ #  define dev_dbg_f(dev, fmt, args...) do { (void)(dev); } while (0)
+ #  define dev_dbg_f_limit(dev, fmt, args...) do { (void)(dev); } while (0)
++#  define dev_dbg_f_cond(dev, cond, fmt, args...) do { (void)(dev); } while (0)
+ #endif /* DEBUG */
+ 
+ #ifdef DEBUG
+diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
+index 5037c8b..5de28bf 100644
+--- a/drivers/net/wireless/zd1211rw/zd_mac.c
++++ b/drivers/net/wireless/zd1211rw/zd_mac.c
+@@ -160,6 +160,22 @@ static int zd_reg2alpha2(u8 regdomain, char *alpha2)
+ 	return 1;
+ }
+ 
++static int zd_check_signal(struct ieee80211_hw *hw, int signal)
++{
++	struct zd_mac *mac = zd_hw_mac(hw);
++
++	dev_dbg_f_cond(zd_mac_dev(mac), signal < 0 || signal > 100,
++			"%s: signal value from device not in range 0..100, "
++			"but %d.\n", __func__, signal);
++
++	if (signal < 0)
++		signal = 0;
++	else if (signal > 100)
++		signal = 100;
++
++	return signal;
++}
++
+ int zd_mac_preinit_hw(struct ieee80211_hw *hw)
+ {
+ 	int r;
+@@ -461,7 +477,7 @@ static void zd_mac_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb,
+ 	if (i<IEEE80211_TX_MAX_RATES)
+ 		info->status.rates[i].idx = -1; /* terminate */
+ 
+-	info->status.ack_signal = ackssi;
++	info->status.ack_signal = zd_check_signal(hw, ackssi);
+ 	ieee80211_tx_status_irqsafe(hw, skb);
+ }
+ 
+@@ -982,7 +998,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length)
+ 
+ 	stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq;
+ 	stats.band = IEEE80211_BAND_2GHZ;
+-	stats.signal = status->signal_strength;
++	stats.signal = zd_check_signal(hw, status->signal_strength);
+ 
+ 	rate = zd_rx_rate(buffer, status);
+ 
diff --git a/linux-2.6.30-no-pcspkr-modalias.patch b/linux-2.6.30-no-pcspkr-modalias.patch
index e210f46..c703b88 100644
--- a/linux-2.6.30-no-pcspkr-modalias.patch
+++ b/linux-2.6.30-no-pcspkr-modalias.patch
@@ -7,5 +7,5 @@ diff -up linux-2.6.30.noarch/drivers/input/misc/pcspkr.c.jx linux-2.6.30.noarch/
  MODULE_LICENSE("GPL");
 -MODULE_ALIAS("platform:pcspkr");
  
- static int pcspkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
- {
+ #if defined(CONFIG_MIPS) || defined(CONFIG_X86)
+ /* Use the global PIT lock ! */
diff --git a/sources b/sources
index 9167d7b..cbf1c63 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
 398e95866794def22b12dfbc15ce89c0  linux-3.0.tar.bz2
-ce0c7face215619004aeac9c85c36324  patch-3.0-git3.bz2


More information about the scm-commits mailing list