rpms/kernel/F-7 linux-2.6-libata-2.6.23-rc8-noncq.patch, NONE, 1.1 linux-2.6-mac80211-store-channel-info-in-sta_bss_list.patch, NONE, 1.1 linux-2.6-uevent-zero-fill-env.patch, NONE, 1.1 kernel-2.6.spec, 1.3349, 1.3350

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Thu Sep 27 22:51:58 UTC 2007


Author: cebbert

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

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-libata-2.6.23-rc8-noncq.patch 
	linux-2.6-mac80211-store-channel-info-in-sta_bss_list.patch 
	linux-2.6-uevent-zero-fill-env.patch 
Log Message:
* Thu Sep 27 2007 Chuck Ebbert <cebbert at redhat.com>
- Revert to old RTC driver.
- Zero fill environment for uevent handlers.
- libata: update the NCQ disk blacklist.
- wireless: store channel info in bss list (bz 250913).


linux-2.6-libata-2.6.23-rc8-noncq.patch:

--- NEW FILE linux-2.6-libata-2.6.23-rc8-noncq.patch ---
--- linux-2.6.23/drivers/ata/libata-core.c
+++ linux-2.6.23/drivers/ata/libata-core.c
@@ -3791,6 +3791,8 @@
 	{ "SAMSUNG CD-ROM SN-124","N001",	ATA_HORKAGE_NODMA },
 	{ "Seagate STT20000A", NULL,		ATA_HORKAGE_NODMA },
 	{ "IOMEGA  ZIP 250       ATAPI", NULL,	ATA_HORKAGE_NODMA }, /* temporary fix */
+	{ "IOMEGA  ZIP 250       ATAPI       Floppy",
+				NULL,		ATA_HORKAGE_NODMA },
 
 	/* Weird ATAPI devices */
 	{ "TORiSAN DVD-ROM DRD-N216", NULL,	ATA_HORKAGE_MAX_SEC_128 },
@@ -3806,8 +3808,11 @@
 	{ "Maxtor 6L250S0",     "BANC1G10",     ATA_HORKAGE_NONCQ },
 	{ "Maxtor 6B200M0",	"BANC1BM0",	ATA_HORKAGE_NONCQ },
 	{ "Maxtor 6B200M0",	"BANC1B10",	ATA_HORKAGE_NONCQ },
+	{ "Maxtor 7B250S0",	"BANC1B70",	ATA_HORKAGE_NONCQ, },
+	{ "Maxtor 7B300S0",	"BANC1B70",	ATA_HORKAGE_NONCQ },
+	{ "Maxtor 7V300F0",	"VA111630",	ATA_HORKAGE_NONCQ },
 	{ "HITACHI HDS7250SASUN500G 0621KTAWSD", "K2AOAJ0AHITACHI",
-	  ATA_HORKAGE_NONCQ },
+	 ATA_HORKAGE_NONCQ },
 	/* NCQ hard hangs device under heavier load, needs hard power cycle */
 	{ "Maxtor 6B250S0",	"BANC1B70",	ATA_HORKAGE_NONCQ },
 	/* Blacklist entries taken from Silicon Image 3124/3132
@@ -3821,8 +3826,9 @@
 	{ "Hitachi HTS541616J9SA00", "SB4OC70P", ATA_HORKAGE_NONCQ, },
 	{ "WDC WD740ADFD-00NLR1", NULL,		ATA_HORKAGE_NONCQ, },
 	{ "FUJITSU MHV2080BH",	"00840028",	ATA_HORKAGE_NONCQ, },
-
-	/* Devices with NCQ limits */
+	{ "ST9160821AS",	"3.CLF",	ATA_HORKAGE_NONCQ, },
+	{ "ST3160812AS",	"3.AD",		ATA_HORKAGE_NONCQ, },
+	{ "SAMSUNG HD401LJ",	"ZZ100-15",	ATA_HORKAGE_NONCQ, },
 
 	/* End Marker */
 	{ }

linux-2.6-mac80211-store-channel-info-in-sta_bss_list.patch:

--- NEW FILE linux-2.6-mac80211-store-channel-info-in-sta_bss_list.patch ---
bz 250913

--- a/net/mac80211/ieee80211_sta.c	2007-09-23 23:45:52.000000000 +0100
+++ b/net/mac80211/ieee80211_sta.c	2007-09-23 23:57:12.000000000 +0100
@@ -64,7 +64,7 @@
 static void ieee80211_send_probe_req(struct net_device *dev, u8 *dst,
 				     u8 *ssid, size_t ssid_len);
 static struct ieee80211_sta_bss *
-ieee80211_rx_bss_get(struct net_device *dev, u8 *bssid);
+ieee80211_rx_bss_get(struct net_device *dev, u8 *bssid, int channel);
 static void ieee80211_rx_bss_put(struct net_device *dev,
 				 struct ieee80211_sta_bss *bss);
 static int ieee80211_sta_find_ibss(struct net_device *dev,
@@ -453,6 +453,7 @@
 				     struct ieee80211_if_sta *ifsta,
 				     unsigned int assoc)
 {
+	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
 	union iwreq_data wrqu;
 
 	if (!!(ifsta->flags & IEEE80211_STA_ASSOCIATED) == assoc)
@@ -468,7 +469,8 @@
 		if (sdata->type != IEEE80211_IF_TYPE_STA)
 			return;
 
-		bss = ieee80211_rx_bss_get(dev, ifsta->bssid);
+		bss = ieee80211_rx_bss_get(dev, ifsta->bssid,
+					   local->hw.conf.channel);
 		if (bss) {
 			if (bss->has_erp_value)
 				ieee80211_handle_erp_ie(dev, bss->erp_value);
@@ -615,7 +617,7 @@
 		capab |= WLAN_CAPABILITY_SHORT_SLOT_TIME |
 			WLAN_CAPABILITY_SHORT_PREAMBLE;
 	}
-	bss = ieee80211_rx_bss_get(dev, ifsta->bssid);
+	bss = ieee80211_rx_bss_get(dev, ifsta->bssid, local->hw.conf.channel);
 	if (bss) {
 		if (bss->capability & WLAN_CAPABILITY_PRIVACY)
 			capab |= WLAN_CAPABILITY_PRIVACY;
@@ -1178,6 +1180,7 @@
 static int ieee80211_privacy_mismatch(struct net_device *dev,
 				      struct ieee80211_if_sta *ifsta)
 {
+	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
 	struct ieee80211_sta_bss *bss;
 	int res = 0;
 
@@ -1185,7 +1188,7 @@
 	    ifsta->key_management_enabled)
 		return 0;
 
-	bss = ieee80211_rx_bss_get(dev, ifsta->bssid);
+	bss = ieee80211_rx_bss_get(dev, ifsta->bssid, local->hw.conf.channel);
 	if (!bss)
 		return 0;
 
@@ -1693,7 +1696,8 @@
 	 * update our stored copy */
 	if (elems.erp_info && elems.erp_info_len >= 1) {
 		struct ieee80211_sta_bss *bss
-			= ieee80211_rx_bss_get(dev, ifsta->bssid);
+			= ieee80211_rx_bss_get(dev, ifsta->bssid,
+					       local->hw.conf.channel);
 		if (bss) {
 			bss->erp_value = elems.erp_info[0];
 			bss->has_erp_value = 1;
@@ -1723,7 +1727,8 @@
 			       " AP\n", dev->name);
 			return;
 		}
-		bss = ieee80211_rx_bss_get(dev, ifsta->bssid);
+		bss = ieee80211_rx_bss_get(dev, ifsta->bssid,
+					   local->hw.conf.channel);
 		if (bss) {
 			sta->last_rssi = bss->rssi;
 			sta->last_signal = bss->signal;
@@ -2071,7 +2076,7 @@
 
 
 static struct ieee80211_sta_bss *
-ieee80211_rx_bss_add(struct net_device *dev, u8 *bssid)
+ieee80211_rx_bss_add(struct net_device *dev, u8 *bssid, int channel)
 {
 	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
 	struct ieee80211_sta_bss *bss;
@@ -2082,6 +2087,7 @@
 	atomic_inc(&bss->users);
 	atomic_inc(&bss->users);
 	memcpy(bss->bssid, bssid, ETH_ALEN);
+	bss->channel = channel;
 
 	spin_lock_bh(&local->sta_bss_lock);
 	/* TODO: order by RSSI? */
@@ -2093,7 +2099,7 @@
 
 
 static struct ieee80211_sta_bss *
-ieee80211_rx_bss_get(struct net_device *dev, u8 *bssid)
+ieee80211_rx_bss_get(struct net_device *dev, u8 *bssid, int channel)
 {
 	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
 	struct ieee80211_sta_bss *bss;
@@ -2101,7 +2107,8 @@
 	spin_lock_bh(&local->sta_bss_lock);
 	bss = local->sta_bss_hash[STA_HASH(bssid)];
 	while (bss) {
-		if (memcmp(bss->bssid, bssid, ETH_ALEN) == 0) {
+		if (memcmp(bss->bssid, bssid, ETH_ALEN) == 0 &&
+		    bss->channel == channel) {
 			atomic_inc(&bss->users);
 			break;
 		}
@@ -2270,9 +2277,9 @@
 	else
 		channel = rx_status->channel;
 
-	bss = ieee80211_rx_bss_get(dev, mgmt->bssid);
+	bss = ieee80211_rx_bss_get(dev, mgmt->bssid, channel);
 	if (!bss) {
-		bss = ieee80211_rx_bss_add(dev, mgmt->bssid);
+		bss = ieee80211_rx_bss_add(dev, mgmt->bssid, channel);
 		if (!bss)
 			return;
 	} else {
@@ -2389,7 +2396,6 @@
 	}
 
 	bss->hw_mode = rx_status->phymode;
-	bss->channel = channel;
 	bss->freq = rx_status->freq;
 	if (channel != rx_status->channel &&
 	    (bss->hw_mode == MODE_IEEE80211G ||
@@ -3345,7 +3351,7 @@
 	printk(KERN_DEBUG "%s: Creating new IBSS network, BSSID " MAC_FMT "\n",
 	       dev->name, MAC_ARG(bssid));
 
-	bss = ieee80211_rx_bss_add(dev, bssid);
+	bss = ieee80211_rx_bss_add(dev, bssid, local->hw.conf.channel);
 	if (!bss)
 		return -ENOMEM;
 
@@ -3356,7 +3362,6 @@
 		local->hw.conf.beacon_int = 100;
 	bss->beacon_int = local->hw.conf.beacon_int;
 	bss->hw_mode = local->hw.conf.phymode;
-	bss->channel = local->hw.conf.channel;
 	bss->freq = local->hw.conf.freq;
 	bss->last_update = jiffies;
 	bss->capability = WLAN_CAPABILITY_IBSS;
@@ -3416,7 +3421,7 @@
 	       MAC_FMT "\n", MAC_ARG(bssid), MAC_ARG(ifsta->bssid));
 #endif /* CONFIG_MAC80211_IBSS_DEBUG */
 	if (found && memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0 &&
-	    (bss = ieee80211_rx_bss_get(dev, bssid))) {
+	    (bss = ieee80211_rx_bss_get(dev, bssid, local->hw.conf.channel))) {
 		printk(KERN_DEBUG "%s: Selected IBSS BSSID " MAC_FMT
 		       " based on configured SSID\n",
 		       dev->name, MAC_ARG(bssid));

linux-2.6-uevent-zero-fill-env.patch:

--- NEW FILE linux-2.6-uevent-zero-fill-env.patch ---
Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5309809129ca3ab14f8bd5e5ef66c1b7686eb639
Commit:     5309809129ca3ab14f8bd5e5ef66c1b7686eb639
Parent:     544002ef832730b18327000c898a140bfc93efd4
Author:     Linus Torvalds <torvalds at woody.linux-foundation.org>
AuthorDate: Wed Sep 26 09:16:21 2007 -0700
Committer:  Linus Torvalds <torvalds at woody.linux-foundation.org>
CommitDate: Wed Sep 26 09:16:21 2007 -0700

    Add explicit zeroing to "envp" array in device 'show' method
    
    As Stephen Hemminger says, this is a "belt and suspenders" patch that
    zeroes the envp array at allocation time, even though all the users
    should NULL-terminate it anyway (and we've hopefully fixed everybody
    that doesn't do that).
    
    And we'll apparently clean the whole envp thing up for 2.6.24 anyway.
    
    But let's just be robust, and do both this *and* make sure that all
    users are doing the right thing.
    
    Acked-by: Stephen Hemminger <shemminger at linux-foundation.org>
    Acked-by: Greg Kroah-Hartman <gregkh at suse.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
---
 drivers/base/core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 6de33d7..67c9258 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -284,6 +284,7 @@ static ssize_t show_uevent(struct device *dev, struct device_attribute *attr,
 
 	/* let the kset specific function add its keys */
 	pos = data;
+	memset(envp, 0, sizeof(envp));
 	retval = kset->uevent_ops->uevent(kset, &dev->kobj,
 					  envp, ARRAY_SIZE(envp),
 					  pos, PAGE_SIZE);


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3349
retrieving revision 1.3350
diff -u -r1.3349 -r1.3350
--- kernel-2.6.spec	27 Sep 2007 15:33:19 -0000	1.3349
+++ kernel-2.6.spec	27 Sep 2007 22:51:22 -0000	1.3350
@@ -599,6 +599,7 @@
 Patch662: linux-2.6-ata-update-noncq.patch
 Patch663: linux-2.6-ata-quirk.patch
 Patch667: linux-2.6-libata-ata_piix_fix_pio-mwdma-programming.patch
+Patch668: linux-2.6-libata-2.6.23-rc8-noncq.patch
 Patch670: linux-2.6-libata-pata_hpt37x-fix-2.6.22-clock-pll.patch
 Patch671: linux-2.6-libata-pata_ali-fix-hp-detect.patch
 Patch672: linux-2.6-libata-pata-dma-disable-option.patch
@@ -618,8 +619,10 @@
 Patch691: linux-2.6-ath5k.patch
 Patch692: linux-2.6-zd1211rw-mac80211.patch
 Patch693: linux-2.6-mac80211-extras.patch
+Patch694: linux-2.6-mac80211-store-channel-info-in-sta_bss_list.patch
 Patch700: linux-2.6-b43-module-alias.patch
 Patch701: linux-2.6-b43-use-old-fw.patch
+
 Patch710: linux-2.6-e1000-ich9.patch
 Patch713: linux-2.6-net-atl1-fix-typo-in-dma-setup.patch
 Patch714: linux-2.6-net-atl1-fix-typo-in-dma_req_block.patch
@@ -632,6 +635,7 @@
 Patch740: linux-2.6-sdhci-ene-controller-quirk.patch
 Patch741: linux-2.6-sdhci-fix-interrupt-mask.patch
 Patch742: linux-2.6-sdhci-clear-error-interrupt.patch
+Patch760: linux-2.6-uevent-zero-fill-env.patch
 Patch770: linux-2.6-irda-smc-remove-quirk.patch
 
 Patch780: linux-2.6-usb-storage-initialize-huawei-e220-properly.patch
@@ -1322,6 +1326,7 @@
 # libata: don't initialize sg in ata_exec_internal() if DMA_NONE
 # libata: update the noncq list
 ApplyPatch linux-2.6-ata-update-noncq.patch
+ApplyPatch linux-2.6-libata-2.6.23-rc8-noncq.patch
 # ia64 ata quirk
 ApplyPatch linux-2.6-ata-quirk.patch
 # NSIA
@@ -1357,6 +1362,8 @@
 ApplyPatch linux-2.6-ath5k.patch
 ApplyPatch linux-2.6-zd1211rw-mac80211.patch
 ApplyPatch linux-2.6-mac80211-extras.patch
+# fix bz 250913
+ApplyPatch linux-2.6-mac80211-store-channel-info-in-sta_bss_list.patch
 # avoid bcm3xx vs bcm43xx-mac80211 PCI ID conflicts
 ApplyPatch linux-2.6-bcm43xx-pci-neuter.patch
 # add module alias for "bcm43xx-mac80211"
@@ -1392,6 +1399,8 @@
 ApplyPatch linux-2.6-sdhci-fix-interrupt-mask.patch
 # fix the interrupt mask fix
 ApplyPatch linux-2.6-sdhci-clear-error-interrupt.patch
+# uevent: zero fill the environment
+ApplyPatch linux-2.6-uevent-zero-fill-env.patch
 # irda: remove smc quirk that breaks hp 6000 notebooks
 ApplyPatch linux-2.6-irda-smc-remove-quirk.patch
 
@@ -2361,6 +2370,12 @@
 %endif
 
 %changelog
+* Thu Sep 27 2007 Chuck Ebbert <cebbert at redhat.com>
+- Revert to old RTC driver.
+- Zero fill environment for uevent handlers.
+- libata: update the NCQ disk blacklist.
+- wireless: store channel info in bss list (bz 250913).
+
 * Thu Sep 27 2007 John W. Linville <linville at redhat.com>
 - Update and restructure wireless patches
 




More information about the fedora-extras-commits mailing list