rpms/kernel/devel kernel.spec, 1.656, 1.657 linux-2.6-wireless-pending.patch, 1.48, 1.49
John W. Linville (linville)
fedora-extras-commits at redhat.com
Tue May 27 16:54:38 UTC 2008
- Previous message (by thread): rpms/rpmlint/devel .cvsignore, 1.18, 1.19 rpmlint-CHANGES.package.old, 1.1, 1.2 rpmlint.spec, 1.44, 1.45 sources, 1.18, 1.19 rpmlint-0.81-fedoralicensing.patch, 1.1, NONE
- Next message (by thread): rpms/AcetoneISO2/F-8 AcetoneISO2-2.0.2-no-poweriso-for-non-x86.patch, NONE, 1.1 AcetoneISO2.spec, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26723
Modified Files:
kernel.spec linux-2.6-wireless-pending.patch
Log Message:
wireless updates from 2008-05-22
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.656
retrieving revision 1.657
diff -u -r1.656 -r1.657
--- kernel.spec 26 May 2008 20:20:03 -0000 1.656
+++ kernel.spec 27 May 2008 16:53:53 -0000 1.657
@@ -1766,6 +1766,10 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
%changelog
+* Tue May 27 2008 John W. Linville <linville at redhat.com>
+- Upstream wireless updates from 2008-05-22
+ (http://marc.info/?l=linux-wireless&m=121146112404515&w=2)
+
* Mon May 26 2008 Dave Jones <davej at redhat.com>
- 2.6.26-rc4
linux-2.6-wireless-pending.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.48 -r 1.49 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless-pending.patch,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- linux-2.6-wireless-pending.patch 21 May 2008 19:24:22 -0000 1.48
+++ linux-2.6-wireless-pending.patch 27 May 2008 16:53:53 -0000 1.49
@@ -1,19162 +1,8065 @@
-commit 297c3669dd481e977927dc123ed3deed10833e2a
-Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
-Date: Wed May 14 16:27:18 2008 +0200
+commit 9e72ebd686a7f39facdfff639386055f1ad7dc88
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Wed May 21 17:33:42 2008 +0200
- libertas: remove lbs_get_data_rate()
+ mac80211: remove channel use statistics
- lbs_get_data_rate() gets called, but no-one uses it's result.
+ The useless channel use statistics are quite a lot of code, currently
+ use integer divisions in the packet fast path, are rather inaccurate
+ since they do not account for retries and finally nobody even cares.
+ Hence, remove them completely.
- Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 7cb92ee3af4f32ae278c6aad4d9c49fb52a99a66
-Author: Harvey Harrison <harvey.harrison at gmail.com>
-Date: Tue May 13 18:13:35 2008 -0700
+commit 53c068566dde708cb28a4dfc06ae3d7fd7434397
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Tue May 20 00:24:36 2008 +0200
- b43: use the bitrev helpers rather than rolling a private one
+ b43: Add firmware markers support
- The 4-bit reversal flip_4bit is replaced with the bitrev helper
- bitrev8 and a 4-bit shift. The B43_WARN is moved to the location
- where a register is read from for checking there. The other caller
- explicitly passes an array index which is guaranteed to be within range
- and so a B43_WARN is not added there.
+ This adds support for firmware markers.
+ With firmware markers it's easily possible to check whether the
+ firmware runs some codepath or not. The driver will throw a message
+ when the firmware executes a MARKER(x).
- Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
- Reviewed-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 8c122e14ca821402b9181f16494d9f11169deeae
-Author: Bob Copeland <me at bobcopeland.com>
-Date: Mon May 12 21:16:44 2008 -0400
+commit afa83e239af58a93eddd10a7a43ac5618884db15
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Mon May 19 23:51:37 2008 +0200
- ath5k: Fix loop variable initializations
-
- In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are
- initialized at the top of the tasklet, but not within the loop.
- If the loop is executed multiple times in the tasklet then the
- variables may see changes from previous packets.
-
- For TKIP, this results in 'Invalid Michael MIC' errors if two packets
- are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by
- mac80211 when it decrypts the first encrypted packet. The subsequent
- packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211
- will not try to decrypt it.
+ b43: Add panic reason code that doesn't trigger restart
- We currently initialize all but two fields in the structures, so fix
- the other two.
+ Add a firmware panic reason code that doesn't trigger a restart.
+ This is useful for firmware debugging and avoiding endless
+ restart loops. We can use FWPANIC_DIE to halt the firmware at a
+ well defined point.
- Signed-off-by: Bob Copeland <me at bobcopeland.com>
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 01669110ba331be385af8d5310ff6c3b93b09620
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date: Tue May 13 15:03:02 2008 +0200
+commit 6821783271aaf541504ff8a138184fcc83fa282b
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Sat May 17 23:43:57 2008 +0200
- mac80211: Set IEEE80211_TXPD_REQ_TX_STATUS for all TX frames
-
- All interfaces should set the IEEE80211_TXPD_REQ_TX_STATUS flag for all TX frames
- which will force the master interface to set the IEEE80211_TX_CTL_REQ_TX_STATUS
- flag. This in turn will allow drivers to check for that flag before reporting
- the TX status to mac80211.
-
- This is very usefull when frames (like beacons, RTS and CTS-to-self) should not
- be reported back to mac80211. Later we could add more extensive checks to
- exclude more frames from being reported, or let mac80211 decide if it wants
- the frame for status reporting or not.
+ b43: Allow running without PCM firmware
- v2: Monitor interfaces should also set IEEE80211_TXPD_REQ_TX_STATUS
+ This patch adds code to allow running the device without PCM firmware loaded.
+ Without PCM firmware we don't have hardware accelerated crypto on
+ devices with a core rev <= 10.
- Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
- Acked-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 5e15aedb1d67c2d31643edc3fa282647b0f3befb
-Author: Huang Weiyi <weiyi.huang at gmail.com>
-Date: Sat May 10 11:12:31 2008 +0200
+commit e48b0eeb0ab508021b654a45f332b30cac2163b9
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Sat May 17 22:44:35 2008 +0200
- b43: nphy.c remove duplicated include
+ b43: Add hooks for firmware debugging
- Remove duplicated include <linux/delay.h> in
- drivers/net/wireless/b43/nphy.c
+ This patch adds some hooks for firmware debugging.
- Signed-off-by: Huang Weiyi <weiyi.huang at gmail.com>
Signed-off-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 7ce2d429578b4e32ea68d60e7f16a2a7bb17dada
-Author: Eric W. Biederman <ebiederm at xmission.com>
-Date: Thu May 8 14:30:18 2008 -0700
+commit e2530083609148a7835b54c431f6b8956407c1f6
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Sat May 17 00:57:14 2008 +0200
- wireless: Add missing locking to cfg80211_dev_rename
-
- device_rename only performs useful and race free validity
- checking at the optional sysfs level so depending on it
- for all of the validity checking in cfg80211_dev_rename
- is racy.
+ mac80211: use multi-queue master netdevice
- Instead implement all of the needed validity checking
- and locking in cfg80211_dev_rename.
+ This patch updates mac80211 and drivers to be multi-queue aware and
+ use that instead of the internal queue mapping. Also does a number
+ of cleanups in various pieces of the code that fall out and reduces
+ internal mac80211 state size.
- Signed-off-by: Eric W. Biederman <ebiederm at xmission.com>
- Acked-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 54a5c8046dce102c1a435ca5a95f5c0699662d21
-Author: Bruno Randolf <br1 at einfach.org>
-Date: Thu May 8 19:22:43 2008 +0200
+commit eefce91a384a64c7bbf913eb08c4adfb911c3639
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Sat May 17 00:57:13 2008 +0200
- mac80211: make rx radiotap header more flexible
+ mac80211: dont allow fragmentation and requeuing on A-MPDU queues
- use hw flags and rx flags to determine which fields are present in the header
- and use all available information from the driver.
-
- make sure radiotap header starts at a naturally aligned address (mod 8) for
- all radiotap fields.
+ There really is no reason for a driver to reject a frame on
+ an A-MPDU queue when it can stop that queue for any period
+ of time and is given frames one by one. Hence, disallow it
+ with a big warning and reduce mac80211-internal state.
+
+ Also add a warning when we try to fragment a frame destined
+ for an A-MPDU queue and drop it, the actual bug needs to be
+ fixed elsewhere but I'm not exactly sure how to yet.
- Signed-off-by: Bruno Randolf <br1 at einfach.org>
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Cc: Ron Rindjunsky <ron.rindjunsky at intel.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 7ccf488058d5539b1145c1605a5574ce90b68460
-Author: Bruno Randolf <br1 at einfach.org>
-Date: Thu May 8 19:15:40 2008 +0200
+commit e93048825face354ecb0cb3ac00190c764a44f45
+Author: Larry.Finger at lwfinger.net <Larry.Finger at lwfinger.net>
+Date: Thu May 15 14:07:36 2008 -0500
- mac80211: use hardware flags for signal/noise units
-
- trying to clean up the signal/noise code. the previous code in mac80211 had
[...74776 lines suppressed...]
+@@ -143,8 +143,11 @@ void cfg80211_put_dev(struct cfg80211_re
+ int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
+ char *newname)
+ {
++ struct cfg80211_registered_device *drv;
+ int idx, taken = -1, result, digits;
- ieee80211_tx_status(sc->hw, skb, &txs);
-- sc->tx_stats.data[txq->qnum].count++;
-+ sc->tx_stats[txq->qnum].count++;
++ mutex_lock(&cfg80211_drv_mutex);
++
+ /* prohibit calling the thing phy%d when %d is not its number */
+ sscanf(newname, PHY_NAME "%d%n", &idx, &taken);
+ if (taken == strlen(newname) && idx != rdev->idx) {
+@@ -156,14 +159,30 @@ int cfg80211_dev_rename(struct cfg80211_
+ * deny the name if it is phy<idx> where <idx> is printed
+ * without leading zeroes. taken == strlen(newname) here
+ */
++ result = -EINVAL;
+ if (taken == strlen(PHY_NAME) + digits)
+- return -EINVAL;
++ goto out_unlock;
++ }
++
++
++ /* Ignore nop renames */
++ result = 0;
++ if (strcmp(newname, dev_name(&rdev->wiphy.dev)) == 0)
++ goto out_unlock;
++
++ /* Ensure another device does not already have this name. */
++ list_for_each_entry(drv, &cfg80211_drv_list, list) {
++ result = -EINVAL;
++ if (strcmp(newname, dev_name(&drv->wiphy.dev)) == 0)
++ goto out_unlock;
+ }
- spin_lock(&sc->txbuflock);
-- sc->tx_stats.data[txq->qnum].len--;
-+ sc->tx_stats[txq->qnum].len--;
- list_move_tail(&bf->list, &sc->txbuf);
- sc->txbuf_len++;
- spin_unlock(&sc->txbuflock);
-diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h
---- linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-05-21 11:36:23.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h 2008-05-21 14:47:01.000000000 -0400
-@@ -92,7 +92,8 @@ struct ath5k_softc {
- struct pci_dev *pdev; /* for dma mapping */
- void __iomem *iobase; /* address of the device */
- struct mutex lock; /* dev-level lock */
-- struct ieee80211_tx_queue_stats tx_stats;
-+ /* FIXME: how many does it really need? */
-+ struct ieee80211_tx_queue_stats tx_stats[16];
- struct ieee80211_low_level_stats ll_stats;
- struct ieee80211_hw *hw; /* IEEE 802.11 common */
- struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
-diff -up linux-2.6.25.noarch/drivers/net/wireless/arlan.h.orig linux-2.6.25.noarch/drivers/net/wireless/arlan.h
---- linux-2.6.25.noarch/drivers/net/wireless/arlan.h.orig 2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/arlan.h 2008-05-21 14:47:01.000000000 -0400
-@@ -330,7 +330,6 @@ struct TxParam
- #define TX_RING_SIZE 2
- /* Information that need to be kept for each board. */
- struct arlan_private {
-- struct net_device_stats stats;
- struct arlan_shmem __iomem * card;
- struct arlan_shmem * conf;
+- /* this will check for collisions */
++ /* this will only check for collisions in sysfs
++ * which is not even always compiled in.
++ */
+ result = device_rename(&rdev->wiphy.dev, newname);
+ if (result)
+- return result;
++ goto out_unlock;
-diff -up linux-2.6.25.noarch/drivers/net/wireless/adm8211.c.orig linux-2.6.25.noarch/drivers/net/wireless/adm8211.c
---- linux-2.6.25.noarch/drivers/net/wireless/adm8211.c.orig 2008-05-21 11:36:23.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.c 2008-05-21 14:47:01.000000000 -0400
-@@ -306,11 +306,10 @@ static int adm8211_get_tx_stats(struct i
- struct ieee80211_tx_queue_stats *stats)
- {
- struct adm8211_priv *priv = dev->priv;
-- struct ieee80211_tx_queue_stats_data *data = &stats->data[0];
+ if (!debugfs_rename(rdev->wiphy.debugfsdir->d_parent,
+ rdev->wiphy.debugfsdir,
+@@ -172,9 +191,13 @@ int cfg80211_dev_rename(struct cfg80211_
+ printk(KERN_ERR "cfg80211: failed to rename debugfs dir to %s!\n",
+ newname);
-- data->len = priv->cur_tx - priv->dirty_tx;
-- data->limit = priv->tx_ring_size - 2;
-- data->count = priv->dirty_tx;
-+ stats[0].len = priv->cur_tx - priv->dirty_tx;
-+ stats[0].limit = priv->tx_ring_size - 2;
-+ stats[0].count = priv->dirty_tx;
+- nl80211_notify_dev_rename(rdev);
++ result = 0;
++out_unlock:
++ mutex_unlock(&cfg80211_drv_mutex);
++ if (result == 0)
++ nl80211_notify_dev_rename(rdev);
- return 0;
+- return 0;
++ return result;
}
-@@ -446,9 +445,9 @@ static void adm8211_interrupt_rci(struct
- struct ieee80211_rx_status rx_status = {0};
- if (priv->pdev->revision < ADM8211_REV_CA)
-- rx_status.ssi = rssi;
-+ rx_status.signal = rssi;
- else
-- rx_status.ssi = 100 - rssi;
-+ rx_status.signal = 100 - rssi;
-
- rx_status.rate_idx = rate;
+ /* exported functions */
+diff -up linux-2.6.25.noarch/net/wireless/radiotap.c.orig linux-2.6.25.noarch/net/wireless/radiotap.c
+--- linux-2.6.25.noarch/net/wireless/radiotap.c.orig 2008-05-27 12:18:05.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/radiotap.c 2008-05-27 12:18:25.000000000 -0400
+@@ -59,23 +59,21 @@ int ieee80211_radiotap_iterator_init(
+ return -EINVAL;
-@@ -1894,9 +1893,10 @@ static int __devinit adm8211_probe(struc
+ /* sanity check for allowed length and radiotap length field */
+- if (max_length < le16_to_cpu(get_unaligned(&radiotap_header->it_len)))
++ if (max_length < get_unaligned_le16(&radiotap_header->it_len))
+ return -EINVAL;
- dev->extra_tx_headroom = sizeof(struct adm8211_tx_hdr);
- /* dev->flags = IEEE80211_HW_RX_INCLUDES_FCS in promisc mode */
-+ dev->flags = IEEE80211_HW_SIGNAL_UNSPEC;
+ iterator->rtheader = radiotap_header;
+- iterator->max_length = le16_to_cpu(get_unaligned(
+- &radiotap_header->it_len));
++ iterator->max_length = get_unaligned_le16(&radiotap_header->it_len);
+ iterator->arg_index = 0;
+- iterator->bitmap_shifter = le32_to_cpu(get_unaligned(
+- &radiotap_header->it_present));
++ iterator->bitmap_shifter = get_unaligned_le32(&radiotap_header->it_present);
+ iterator->arg = (u8 *)radiotap_header + sizeof(*radiotap_header);
+ iterator->this_arg = NULL;
- dev->channel_change_time = 1000;
-- dev->max_rssi = 100; /* FIXME: find better value */
-+ dev->max_signal = 100; /* FIXME: find better value */
+ /* find payload start allowing for extended bitmap(s) */
- dev->queues = 1; /* ADM8211C supports more, maybe ADM8211B too */
+ if (unlikely(iterator->bitmap_shifter & (1<<IEEE80211_RADIOTAP_EXT))) {
+- while (le32_to_cpu(get_unaligned((__le32 *)iterator->arg)) &
+- (1<<IEEE80211_RADIOTAP_EXT)) {
++ while (get_unaligned_le32(iterator->arg) &
++ (1 << IEEE80211_RADIOTAP_EXT)) {
+ iterator->arg += sizeof(u32);
-diff -up linux-2.6.25.noarch/drivers/ssb/pci.c.orig linux-2.6.25.noarch/drivers/ssb/pci.c
---- linux-2.6.25.noarch/drivers/ssb/pci.c.orig 2008-05-21 11:36:24.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/ssb/pci.c 2008-05-21 14:47:01.000000000 -0400
-@@ -510,17 +510,15 @@ static int ssb_pci_sprom_get(struct ssb_
- sprom_do_read(bus, buf);
- err = sprom_check_crc(buf, bus->sprom_size);
- if (err) {
-- /* check for rev 4 sprom - has special signature */
-- if (buf[32] == 0x5372) {
-- kfree(buf);
-- buf = kcalloc(SSB_SPROMSIZE_WORDS_R4, sizeof(u16),
-- GFP_KERNEL);
-- if (!buf)
-- goto out;
-- bus->sprom_size = SSB_SPROMSIZE_WORDS_R4;
-- sprom_do_read(bus, buf);
-- err = sprom_check_crc(buf, bus->sprom_size);
-- }
-+ /* try for a 440 byte SPROM - revision 4 and higher */
-+ kfree(buf);
-+ buf = kcalloc(SSB_SPROMSIZE_WORDS_R4, sizeof(u16),
-+ GFP_KERNEL);
-+ if (!buf)
-+ goto out;
-+ bus->sprom_size = SSB_SPROMSIZE_WORDS_R4;
-+ sprom_do_read(bus, buf);
-+ err = sprom_check_crc(buf, bus->sprom_size);
- if (err)
- ssb_printk(KERN_WARNING PFX "WARNING: Invalid"
- " SPROM CRC (corrupt SPROM)\n");
+ /*
+@@ -241,8 +239,8 @@ int ieee80211_radiotap_iterator_next(
+ if (iterator->bitmap_shifter & 1) {
+ /* b31 was set, there is more */
+ /* move to next u32 bitmap */
+- iterator->bitmap_shifter = le32_to_cpu(
+- get_unaligned(iterator->next_bitmap));
++ iterator->bitmap_shifter =
++ get_unaligned_le32(iterator->next_bitmap);
+ iterator->next_bitmap++;
+ } else
+ /* no more bitmaps: end */
- Previous message (by thread): rpms/rpmlint/devel .cvsignore, 1.18, 1.19 rpmlint-CHANGES.package.old, 1.1, 1.2 rpmlint.spec, 1.44, 1.45 sources, 1.18, 1.19 rpmlint-0.81-fedoralicensing.patch, 1.1, NONE
- Next message (by thread): rpms/AcetoneISO2/F-8 AcetoneISO2-2.0.2-no-poweriso-for-non-x86.patch, NONE, 1.1 AcetoneISO2.spec, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list