All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20090316231423.GA3633@tuxdriver.com>

diff --git a/a/1.txt b/N1/1.txt
index 15cc1c0..a1aa0cf 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -5,15 +5,12 @@ minor, but it cuts-down on log SPAM for ipw2100, ipw2200, and hostap
 users.  The two from Jouni fix some panics he observed himself.
 
 The first one from Luis fixes bug 12110 at bugzilla.kernel.org.  I know
-he has worked on it for a long time and I've had several desperate user=
-s
+he has worked on it for a long time and I've had several desperate users
 asking for it, so it must be good. :-)  Unfortunately, it causes some
 nasty merge errors with what is in net-next-2.6 and wireless-next-2.6.
-I created a merge-test branch in wireless-next-2.6, and the merge commi=
-t
+I created a merge-test branch in wireless-next-2.6, and the merge commit
 log goes into more detail about resolving the issue.  In short, you
-probably want to diff drivers/net/ath9k against the merge-test branch..=
-=2E
+probably want to diff drivers/net/ath9k against the merge-test branch...
 
 Please let me know if there are problems!
 
@@ -29,16 +26,13 @@ Individual patches are available here:
 
 ---
 
-The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19=
-c7ab:
-  fran=E7ois romieu (1):
-        r8169: revert "r8169: read MAC address from EEPROM on init (2nd=
- attempt)"
+The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19c7ab:
+  françois romieu (1):
+        r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)"
 
 are available in the git repository at:
 
-  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.g=
-it master
+  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master
 
 John W. Linville (1):
       lib80211: silence excessive crypto debugging messages
@@ -52,8 +46,7 @@ Luis R. Rodriguez (2):
       ath9k: AR9280 PCI devices must serialize IO as well
 
  drivers/net/wireless/ath9k/ath9k.h     |    4 +-
- drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++=
-++++++++
+ drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++++++++++
  drivers/net/wireless/ath9k/hw.c        |   22 ++++++++++++++++++++-
  drivers/net/wireless/ath9k/main.c      |    1 +
  drivers/net/wireless/zd1211rw/zd_mac.c |    8 +++++-
@@ -63,25 +56,22 @@ Luis R. Rodriguez (2):
  net/wireless/lib80211_crypt_tkip.c     |    4 +++
  9 files changed, 81 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/=
-ath9k/ath9k.h
+diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h
 index d278135..6650f60 100644
 --- a/drivers/net/wireless/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath9k/ath9k.h
 @@ -587,8 +587,8 @@ struct ath9k_country_entry {
  	u8 iso[3];
  };
-=20
+ 
 -#define REG_WRITE(_ah, _reg, _val) iowrite32(_val, _ah->ah_sh + _reg)
 -#define REG_READ(_ah, _reg) ioread32(_ah->ah_sh + _reg)
-+#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_va=
-l))
++#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_val))
 +#define REG_READ(_ah, _reg) ath9k_ioread32((_ah), (_reg))
-=20
+ 
  #define SM(_v, _f)  (((_v) << _f##_S) & _f)
  #define MS(_v, _f)  (((_v) & _f) >> _f##_S)
-diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/a=
-th9k/core.h
+diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h
 index 4ca2aed..139566c 100644
 --- a/drivers/net/wireless/ath9k/core.h
 +++ b/drivers/net/wireless/ath9k/core.h
@@ -91,29 +81,23 @@ index 4ca2aed..139566c 100644
  	spinlock_t sc_resetlock;
 +	spinlock_t sc_serial_rw;
  	struct mutex mutex;
-=20
+ 
  	u8 sc_curbssid[ETH_ALEN];
-@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *=
-sc);
+@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *sc);
  int ath_get_mac80211_qnum(u32 queue, struct ath_softc *sc);
  int ath_cabq_update(struct ath_softc *);
-=20
+ 
 +/*
-+ * Read and write, they both share the same lock. We do this to serial=
-ize
-+ * reads and writes on Atheros 802.11n PCI devices only. This is requi=
-red
-+ * as the FIFO on these devices can only accept sanely 2 requests. Aft=
-er
-+ * that the device goes bananas. Serializing the reads/writes prevents=
- this
++ * Read and write, they both share the same lock. We do this to serialize
++ * reads and writes on Atheros 802.11n PCI devices only. This is required
++ * as the FIFO on these devices can only accept sanely 2 requests. After
++ * that the device goes bananas. Serializing the reads/writes prevents this
 + * from happening.
 + */
 +
-+static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset,=
- u32 val)
++static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset, u32 val)
 +{
-+	if (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {
++	if (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {
 +		unsigned long flags;
 +		spin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);
 +		iowrite32(val, ah->ah_sc->mem + reg_offset);
@@ -122,31 +106,28 @@ er
 +		iowrite32(val, ah->ah_sc->mem + reg_offset);
 +}
 +
-+static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_=
-offset)
++static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_offset)
 +{
 +	u32 val;
-+	if (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {
++	if (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {
 +		unsigned long flags;
 +		spin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);
-+		val =3D ioread32(ah->ah_sc->mem + reg_offset);
++		val = ioread32(ah->ah_sc->mem + reg_offset);
 +		spin_unlock_irqrestore(&ah->ah_sc->sc_serial_rw, flags);
 +	} else
-+		val =3D ioread32(ah->ah_sc->mem + reg_offset);
++		val = ioread32(ah->ah_sc->mem + reg_offset);
 +	return val;
 +}
 +
  #endif /* CORE_H */
-diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath=
-9k/hw.c
+diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c
 index 34474ed..c38a00b 100644
 --- a/drivers/net/wireless/ath9k/hw.c
 +++ b/drivers/net/wireless/ath9k/hw.c
-@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *=
-ah)
+@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *ah)
  	}
-=20
- 	ah->ah_config.intr_mitigation =3D 1;
+ 
+ 	ah->ah_config.intr_mitigation = 1;
 +
 +	/*
 +	 * We need this for PCI devices only (Cardbus, PCI, miniPCI)
@@ -165,51 +146,46 @@ ah)
 +	 * devices (legacy, 802.11abg).
 +	 */
 +	if (num_possible_cpus() > 1)
-+		ah->ah_config.serialize_regmode =3D SER_REG_MODE_AUTO;
++		ah->ah_config.serialize_regmode = SER_REG_MODE_AUTO;
  }
-=20
+ 
  static struct ath_hal_5416 *ath9k_hw_newstate(u16 devid,
-@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid=
-, struct ath_softc *sc,
+@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid, struct ath_softc *sc,
  	}
-=20
- 	if (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_AUTO) {
--		if (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI) {
-+		if (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI ||
+ 
+ 	if (ah->ah_config.serialize_regmode == SER_REG_MODE_AUTO) {
+-		if (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI) {
++		if (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI ||
 +		    (AR_SREV_9280(ah) && !ah->ah_isPciExpress)) {
- 			ah->ah_config.serialize_regmode =3D
+ 			ah->ah_config.serialize_regmode =
  				SER_REG_MODE_ON;
  		} else {
-diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/a=
-th9k/main.c
+diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
 index 0e80990..3c04044 100644
 --- a/drivers/net/wireless/ath9k/main.c
 +++ b/drivers/net/wireless/ath9k/main.c
-@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *=
-sc)
+@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *sc)
  		printk(KERN_ERR "Unable to create debugfs files\n");
-=20
+ 
  	spin_lock_init(&sc->sc_resetlock);
 +	spin_lock_init(&sc->sc_serial_rw);
  	mutex_init(&sc->mutex);
  	tasklet_init(&sc->intr_tq, ath9k_tasklet, (unsigned long)sc);
  	tasklet_init(&sc->bcon_tasklet, ath9k_beacon_tasklet,
-diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wirel=
-ess/zd1211rw/zd_mac.c
+diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
 index a611ad8..847057d 100644
 --- a/drivers/net/wireless/zd1211rw/zd_mac.c
 +++ b/drivers/net/wireless/zd1211rw/zd_mac.c
-@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, stru=
-ct sk_buff *skb)
-=20
- 	r =3D fill_ctrlset(mac, skb);
+@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+ 
+ 	r = fill_ctrlset(mac, skb);
  	if (r)
 -		return r;
 +		goto fail;
-=20
- 	info->rate_driver_data[0] =3D hw;
-=20
- 	r =3D zd_usb_tx(&mac->chip.usb, skb);
+ 
+ 	info->rate_driver_data[0] = hw;
+ 
+ 	r = zd_usb_tx(&mac->chip.usb, skb);
  	if (r)
 -		return r;
 +		goto fail;
@@ -219,27 +195,26 @@ ct sk_buff *skb)
 +	dev_kfree_skb(skb);
  	return 0;
  }
-=20
+ 
 diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
 index 94de503..37e3d5e 100644
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *t=
-x)
+@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)
  		skb_copy_queue_mapping(frag, first);
-=20
- 		frag->do_not_encrypt =3D first->do_not_encrypt;
-+		frag->dev =3D first->dev;
-+		frag->iif =3D first->iif;
-=20
- 		pos +=3D copylen;
- 		left -=3D copylen;
+ 
+ 		frag->do_not_encrypt = first->do_not_encrypt;
++		frag->dev = first->dev;
++		frag->iif = first->iif;
+ 
+ 		pos += copylen;
+ 		left -= copylen;
 diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
 index e28e2b8..092ae6f 100644
 --- a/net/wireless/Kconfig
 +++ b/net/wireless/Kconfig
 @@ -102,3 +102,13 @@ config LIB80211_CRYPT_CCMP
-=20
+ 
  config LIB80211_CRYPT_TKIP
  	tristate
 +
@@ -252,22 +227,19 @@ index e28e2b8..092ae6f 100644
 +	  from lib80211.
 +
 +	  If unsure, say N.
-diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211=
-_crypt_ccmp.c
+diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211_crypt_ccmp.c
 index db42819..2301dc1 100644
 --- a/net/wireless/lib80211_crypt_ccmp.c
 +++ b/net/wireless/lib80211_crypt_ccmp.c
-@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=
-b, int hdr_len, void *priv)
- 	pos +=3D 8;
-=20
+@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
+ 	pos += 8;
+ 
  	if (ccmp_replay_check(pn, key->rx_pn)) {
 +#ifdef CONFIG_LIB80211_DEBUG
  		if (net_ratelimit()) {
- 			printk(KERN_DEBUG "CCMP: replay detected: STA=3D%pM "
+ 			printk(KERN_DEBUG "CCMP: replay detected: STA=%pM "
  				 "previous PN %02x%02x%02x%02x%02x%02x "
-@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=
-b, int hdr_len, void *priv)
+@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
  				 key->rx_pn[3], key->rx_pn[4], key->rx_pn[5],
  				 pn[0], pn[1], pn[2], pn[3], pn[4], pn[5]);
  		}
@@ -275,19 +247,17 @@ b, int hdr_len, void *priv)
  		key->dot11RSNAStatsCCMPReplays++;
  		return -4;
  	}
-diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211=
-_crypt_tkip.c
+diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211_crypt_tkip.c
 index 7e8e22b..c362873 100644
 --- a/net/wireless/lib80211_crypt_tkip.c
 +++ b/net/wireless/lib80211_crypt_tkip.c
-@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *=
-skb, int hdr_len, void *priv)
- 	pos +=3D 8;
-=20
+@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
+ 	pos += 8;
+ 
  	if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
 +#ifdef CONFIG_LIB80211_DEBUG
  		if (net_ratelimit()) {
- 			printk(KERN_DEBUG "TKIP: replay detected: STA=3D%pM"
+ 			printk(KERN_DEBUG "TKIP: replay detected: STA=%pM"
  			       " previous TSC %08x%04x received TSC "
  			       "%08x%04x\n", hdr->addr2,
  			       tkey->rx_iv32, tkey->rx_iv16, iv32, iv16);
@@ -296,25 +266,19 @@ skb, int hdr_len, void *priv)
  		tkey->dot11RSNAStatsTKIPReplays++;
  		return -4;
  	}
-@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *=
-skb, int hdr_len, void *priv)
+@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
  			 * it needs to be recalculated for the next packet. */
- 			tkey->rx_phase1_done =3D 0;
+ 			tkey->rx_phase1_done = 0;
  		}
 +#ifdef CONFIG_LIB80211_DEBUG
  		if (net_ratelimit()) {
- 			printk(KERN_DEBUG "TKIP: ICV error detected: STA=3D"
+ 			printk(KERN_DEBUG "TKIP: ICV error detected: STA="
  			       "%pM\n", hdr->addr2);
  		}
 +#endif
  		tkey->dot11RSNAStatsTKIPICVErrors++;
  		return -5;
  	}
---=20
+-- 
 John W. Linville		Someday the world will need a hero, and you
 linville@tuxdriver.com			might be all we have.  Be ready.
---
-To unsubscribe from this list: send the line "unsubscribe linux-wireles=
-s" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff --git a/a/content_digest b/N1/content_digest
index e9f80a9..0d8e6ab 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -15,15 +15,12 @@
  "users.  The two from Jouni fix some panics he observed himself.\n"
  "\n"
  "The first one from Luis fixes bug 12110 at bugzilla.kernel.org.  I know\n"
- "he has worked on it for a long time and I've had several desperate user=\n"
- "s\n"
+ "he has worked on it for a long time and I've had several desperate users\n"
  "asking for it, so it must be good. :-)  Unfortunately, it causes some\n"
  "nasty merge errors with what is in net-next-2.6 and wireless-next-2.6.\n"
- "I created a merge-test branch in wireless-next-2.6, and the merge commi=\n"
- "t\n"
+ "I created a merge-test branch in wireless-next-2.6, and the merge commit\n"
  "log goes into more detail about resolving the issue.  In short, you\n"
- "probably want to diff drivers/net/ath9k against the merge-test branch..=\n"
- "=2E\n"
+ "probably want to diff drivers/net/ath9k against the merge-test branch...\n"
  "\n"
  "Please let me know if there are problems!\n"
  "\n"
@@ -39,16 +36,13 @@
  "\n"
  "---\n"
  "\n"
- "The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19=\n"
- "c7ab:\n"
- "  fran=E7ois romieu (1):\n"
- "        r8169: revert \"r8169: read MAC address from EEPROM on init (2nd=\n"
- " attempt)\"\n"
+ "The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19c7ab:\n"
+ "  fran\303\247ois romieu (1):\n"
+ "        r8169: revert \"r8169: read MAC address from EEPROM on init (2nd attempt)\"\n"
  "\n"
  "are available in the git repository at:\n"
  "\n"
- "  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.g=\n"
- "it master\n"
+ "  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master\n"
  "\n"
  "John W. Linville (1):\n"
  "      lib80211: silence excessive crypto debugging messages\n"
@@ -62,8 +56,7 @@
  "      ath9k: AR9280 PCI devices must serialize IO as well\n"
  "\n"
  " drivers/net/wireless/ath9k/ath9k.h     |    4 +-\n"
- " drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++=\n"
- "++++++++\n"
+ " drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++++++++++\n"
  " drivers/net/wireless/ath9k/hw.c        |   22 ++++++++++++++++++++-\n"
  " drivers/net/wireless/ath9k/main.c      |    1 +\n"
  " drivers/net/wireless/zd1211rw/zd_mac.c |    8 +++++-\n"
@@ -73,25 +66,22 @@
  " net/wireless/lib80211_crypt_tkip.c     |    4 +++\n"
  " 9 files changed, 81 insertions(+), 5 deletions(-)\n"
  "\n"
- "diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/=\n"
- "ath9k/ath9k.h\n"
+ "diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h\n"
  "index d278135..6650f60 100644\n"
  "--- a/drivers/net/wireless/ath9k/ath9k.h\n"
  "+++ b/drivers/net/wireless/ath9k/ath9k.h\n"
  "@@ -587,8 +587,8 @@ struct ath9k_country_entry {\n"
  " \tu8 iso[3];\n"
  " };\n"
- "=20\n"
+ " \n"
  "-#define REG_WRITE(_ah, _reg, _val) iowrite32(_val, _ah->ah_sh + _reg)\n"
  "-#define REG_READ(_ah, _reg) ioread32(_ah->ah_sh + _reg)\n"
- "+#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_va=\n"
- "l))\n"
+ "+#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_val))\n"
  "+#define REG_READ(_ah, _reg) ath9k_ioread32((_ah), (_reg))\n"
- "=20\n"
+ " \n"
  " #define SM(_v, _f)  (((_v) << _f##_S) & _f)\n"
  " #define MS(_v, _f)  (((_v) & _f) >> _f##_S)\n"
- "diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/a=\n"
- "th9k/core.h\n"
+ "diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h\n"
  "index 4ca2aed..139566c 100644\n"
  "--- a/drivers/net/wireless/ath9k/core.h\n"
  "+++ b/drivers/net/wireless/ath9k/core.h\n"
@@ -101,29 +91,23 @@
  " \tspinlock_t sc_resetlock;\n"
  "+\tspinlock_t sc_serial_rw;\n"
  " \tstruct mutex mutex;\n"
- "=20\n"
+ " \n"
  " \tu8 sc_curbssid[ETH_ALEN];\n"
- "@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *=\n"
- "sc);\n"
+ "@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *sc);\n"
  " int ath_get_mac80211_qnum(u32 queue, struct ath_softc *sc);\n"
  " int ath_cabq_update(struct ath_softc *);\n"
- "=20\n"
+ " \n"
  "+/*\n"
- "+ * Read and write, they both share the same lock. We do this to serial=\n"
- "ize\n"
- "+ * reads and writes on Atheros 802.11n PCI devices only. This is requi=\n"
- "red\n"
- "+ * as the FIFO on these devices can only accept sanely 2 requests. Aft=\n"
- "er\n"
- "+ * that the device goes bananas. Serializing the reads/writes prevents=\n"
- " this\n"
+ "+ * Read and write, they both share the same lock. We do this to serialize\n"
+ "+ * reads and writes on Atheros 802.11n PCI devices only. This is required\n"
+ "+ * as the FIFO on these devices can only accept sanely 2 requests. After\n"
+ "+ * that the device goes bananas. Serializing the reads/writes prevents this\n"
  "+ * from happening.\n"
  "+ */\n"
  "+\n"
- "+static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset,=\n"
- " u32 val)\n"
+ "+static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset, u32 val)\n"
  "+{\n"
- "+\tif (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {\n"
+ "+\tif (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {\n"
  "+\t\tunsigned long flags;\n"
  "+\t\tspin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);\n"
  "+\t\tiowrite32(val, ah->ah_sc->mem + reg_offset);\n"
@@ -132,31 +116,28 @@
  "+\t\tiowrite32(val, ah->ah_sc->mem + reg_offset);\n"
  "+}\n"
  "+\n"
- "+static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_=\n"
- "offset)\n"
+ "+static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_offset)\n"
  "+{\n"
  "+\tu32 val;\n"
- "+\tif (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {\n"
+ "+\tif (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {\n"
  "+\t\tunsigned long flags;\n"
  "+\t\tspin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);\n"
- "+\t\tval =3D ioread32(ah->ah_sc->mem + reg_offset);\n"
+ "+\t\tval = ioread32(ah->ah_sc->mem + reg_offset);\n"
  "+\t\tspin_unlock_irqrestore(&ah->ah_sc->sc_serial_rw, flags);\n"
  "+\t} else\n"
- "+\t\tval =3D ioread32(ah->ah_sc->mem + reg_offset);\n"
+ "+\t\tval = ioread32(ah->ah_sc->mem + reg_offset);\n"
  "+\treturn val;\n"
  "+}\n"
  "+\n"
  " #endif /* CORE_H */\n"
- "diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath=\n"
- "9k/hw.c\n"
+ "diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c\n"
  "index 34474ed..c38a00b 100644\n"
  "--- a/drivers/net/wireless/ath9k/hw.c\n"
  "+++ b/drivers/net/wireless/ath9k/hw.c\n"
- "@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *=\n"
- "ah)\n"
+ "@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *ah)\n"
  " \t}\n"
- "=20\n"
- " \tah->ah_config.intr_mitigation =3D 1;\n"
+ " \n"
+ " \tah->ah_config.intr_mitigation = 1;\n"
  "+\n"
  "+\t/*\n"
  "+\t * We need this for PCI devices only (Cardbus, PCI, miniPCI)\n"
@@ -175,51 +156,46 @@
  "+\t * devices (legacy, 802.11abg).\n"
  "+\t */\n"
  "+\tif (num_possible_cpus() > 1)\n"
- "+\t\tah->ah_config.serialize_regmode =3D SER_REG_MODE_AUTO;\n"
+ "+\t\tah->ah_config.serialize_regmode = SER_REG_MODE_AUTO;\n"
  " }\n"
- "=20\n"
+ " \n"
  " static struct ath_hal_5416 *ath9k_hw_newstate(u16 devid,\n"
- "@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid=\n"
- ", struct ath_softc *sc,\n"
+ "@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid, struct ath_softc *sc,\n"
  " \t}\n"
- "=20\n"
- " \tif (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_AUTO) {\n"
- "-\t\tif (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI) {\n"
- "+\t\tif (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI ||\n"
+ " \n"
+ " \tif (ah->ah_config.serialize_regmode == SER_REG_MODE_AUTO) {\n"
+ "-\t\tif (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI) {\n"
+ "+\t\tif (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI ||\n"
  "+\t\t    (AR_SREV_9280(ah) && !ah->ah_isPciExpress)) {\n"
- " \t\t\tah->ah_config.serialize_regmode =3D\n"
+ " \t\t\tah->ah_config.serialize_regmode =\n"
  " \t\t\t\tSER_REG_MODE_ON;\n"
  " \t\t} else {\n"
- "diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/a=\n"
- "th9k/main.c\n"
+ "diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c\n"
  "index 0e80990..3c04044 100644\n"
  "--- a/drivers/net/wireless/ath9k/main.c\n"
  "+++ b/drivers/net/wireless/ath9k/main.c\n"
- "@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *=\n"
- "sc)\n"
+ "@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *sc)\n"
  " \t\tprintk(KERN_ERR \"Unable to create debugfs files\\n\");\n"
- "=20\n"
+ " \n"
  " \tspin_lock_init(&sc->sc_resetlock);\n"
  "+\tspin_lock_init(&sc->sc_serial_rw);\n"
  " \tmutex_init(&sc->mutex);\n"
  " \ttasklet_init(&sc->intr_tq, ath9k_tasklet, (unsigned long)sc);\n"
  " \ttasklet_init(&sc->bcon_tasklet, ath9k_beacon_tasklet,\n"
- "diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wirel=\n"
- "ess/zd1211rw/zd_mac.c\n"
+ "diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c\n"
  "index a611ad8..847057d 100644\n"
  "--- a/drivers/net/wireless/zd1211rw/zd_mac.c\n"
  "+++ b/drivers/net/wireless/zd1211rw/zd_mac.c\n"
- "@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, stru=\n"
- "ct sk_buff *skb)\n"
- "=20\n"
- " \tr =3D fill_ctrlset(mac, skb);\n"
+ "@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)\n"
+ " \n"
+ " \tr = fill_ctrlset(mac, skb);\n"
  " \tif (r)\n"
  "-\t\treturn r;\n"
  "+\t\tgoto fail;\n"
- "=20\n"
- " \tinfo->rate_driver_data[0] =3D hw;\n"
- "=20\n"
- " \tr =3D zd_usb_tx(&mac->chip.usb, skb);\n"
+ " \n"
+ " \tinfo->rate_driver_data[0] = hw;\n"
+ " \n"
+ " \tr = zd_usb_tx(&mac->chip.usb, skb);\n"
  " \tif (r)\n"
  "-\t\treturn r;\n"
  "+\t\tgoto fail;\n"
@@ -229,27 +205,26 @@
  "+\tdev_kfree_skb(skb);\n"
  " \treturn 0;\n"
  " }\n"
- "=20\n"
+ " \n"
  "diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c\n"
  "index 94de503..37e3d5e 100644\n"
  "--- a/net/mac80211/tx.c\n"
  "+++ b/net/mac80211/tx.c\n"
- "@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *t=\n"
- "x)\n"
+ "@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)\n"
  " \t\tskb_copy_queue_mapping(frag, first);\n"
- "=20\n"
- " \t\tfrag->do_not_encrypt =3D first->do_not_encrypt;\n"
- "+\t\tfrag->dev =3D first->dev;\n"
- "+\t\tfrag->iif =3D first->iif;\n"
- "=20\n"
- " \t\tpos +=3D copylen;\n"
- " \t\tleft -=3D copylen;\n"
+ " \n"
+ " \t\tfrag->do_not_encrypt = first->do_not_encrypt;\n"
+ "+\t\tfrag->dev = first->dev;\n"
+ "+\t\tfrag->iif = first->iif;\n"
+ " \n"
+ " \t\tpos += copylen;\n"
+ " \t\tleft -= copylen;\n"
  "diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig\n"
  "index e28e2b8..092ae6f 100644\n"
  "--- a/net/wireless/Kconfig\n"
  "+++ b/net/wireless/Kconfig\n"
  "@@ -102,3 +102,13 @@ config LIB80211_CRYPT_CCMP\n"
- "=20\n"
+ " \n"
  " config LIB80211_CRYPT_TKIP\n"
  " \ttristate\n"
  "+\n"
@@ -262,22 +237,19 @@
  "+\t  from lib80211.\n"
  "+\n"
  "+\t  If unsure, say N.\n"
- "diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211=\n"
- "_crypt_ccmp.c\n"
+ "diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211_crypt_ccmp.c\n"
  "index db42819..2301dc1 100644\n"
  "--- a/net/wireless/lib80211_crypt_ccmp.c\n"
  "+++ b/net/wireless/lib80211_crypt_ccmp.c\n"
- "@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=\n"
- "b, int hdr_len, void *priv)\n"
- " \tpos +=3D 8;\n"
- "=20\n"
+ "@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
+ " \tpos += 8;\n"
+ " \n"
  " \tif (ccmp_replay_check(pn, key->rx_pn)) {\n"
  "+#ifdef CONFIG_LIB80211_DEBUG\n"
  " \t\tif (net_ratelimit()) {\n"
- " \t\t\tprintk(KERN_DEBUG \"CCMP: replay detected: STA=3D%pM \"\n"
+ " \t\t\tprintk(KERN_DEBUG \"CCMP: replay detected: STA=%pM \"\n"
  " \t\t\t\t \"previous PN %02x%02x%02x%02x%02x%02x \"\n"
- "@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=\n"
- "b, int hdr_len, void *priv)\n"
+ "@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
  " \t\t\t\t key->rx_pn[3], key->rx_pn[4], key->rx_pn[5],\n"
  " \t\t\t\t pn[0], pn[1], pn[2], pn[3], pn[4], pn[5]);\n"
  " \t\t}\n"
@@ -285,19 +257,17 @@
  " \t\tkey->dot11RSNAStatsCCMPReplays++;\n"
  " \t\treturn -4;\n"
  " \t}\n"
- "diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211=\n"
- "_crypt_tkip.c\n"
+ "diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211_crypt_tkip.c\n"
  "index 7e8e22b..c362873 100644\n"
  "--- a/net/wireless/lib80211_crypt_tkip.c\n"
  "+++ b/net/wireless/lib80211_crypt_tkip.c\n"
- "@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *=\n"
- "skb, int hdr_len, void *priv)\n"
- " \tpos +=3D 8;\n"
- "=20\n"
+ "@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
+ " \tpos += 8;\n"
+ " \n"
  " \tif (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {\n"
  "+#ifdef CONFIG_LIB80211_DEBUG\n"
  " \t\tif (net_ratelimit()) {\n"
- " \t\t\tprintk(KERN_DEBUG \"TKIP: replay detected: STA=3D%pM\"\n"
+ " \t\t\tprintk(KERN_DEBUG \"TKIP: replay detected: STA=%pM\"\n"
  " \t\t\t       \" previous TSC %08x%04x received TSC \"\n"
  " \t\t\t       \"%08x%04x\\n\", hdr->addr2,\n"
  " \t\t\t       tkey->rx_iv32, tkey->rx_iv16, iv32, iv16);\n"
@@ -306,27 +276,21 @@
  " \t\ttkey->dot11RSNAStatsTKIPReplays++;\n"
  " \t\treturn -4;\n"
  " \t}\n"
- "@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *=\n"
- "skb, int hdr_len, void *priv)\n"
+ "@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
  " \t\t\t * it needs to be recalculated for the next packet. */\n"
- " \t\t\ttkey->rx_phase1_done =3D 0;\n"
+ " \t\t\ttkey->rx_phase1_done = 0;\n"
  " \t\t}\n"
  "+#ifdef CONFIG_LIB80211_DEBUG\n"
  " \t\tif (net_ratelimit()) {\n"
- " \t\t\tprintk(KERN_DEBUG \"TKIP: ICV error detected: STA=3D\"\n"
+ " \t\t\tprintk(KERN_DEBUG \"TKIP: ICV error detected: STA=\"\n"
  " \t\t\t       \"%pM\\n\", hdr->addr2);\n"
  " \t\t}\n"
  "+#endif\n"
  " \t\ttkey->dot11RSNAStatsTKIPICVErrors++;\n"
  " \t\treturn -5;\n"
  " \t}\n"
- "--=20\n"
+ "-- \n"
  "John W. Linville\t\tSomeday the world will need a hero, and you\n"
- "linville@tuxdriver.com\t\t\tmight be all we have.  Be ready.\n"
- "--\n"
- "To unsubscribe from this list: send the line \"unsubscribe linux-wireles=\n"
- "s\" in\n"
- "the body of a message to majordomo@vger.kernel.org\n"
- More majordomo info at  http://vger.kernel.org/majordomo-info.html
+ "linville@tuxdriver.com\t\t\tmight be all we have.  Be ready."
 
-7e5a40cbb9a9b616d7c4fab20e91d8af8a79405a50462734a6948bd910564047
+d6d0b3b6bea0457348ed250c82d50a4b9bbfa4556cf747922dd7614879016957

diff --git a/a/1.txt b/N2/1.txt
index 15cc1c0..2df3e20 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -5,15 +5,12 @@ minor, but it cuts-down on log SPAM for ipw2100, ipw2200, and hostap
 users.  The two from Jouni fix some panics he observed himself.
 
 The first one from Luis fixes bug 12110 at bugzilla.kernel.org.  I know
-he has worked on it for a long time and I've had several desperate user=
-s
+he has worked on it for a long time and I've had several desperate users
 asking for it, so it must be good. :-)  Unfortunately, it causes some
 nasty merge errors with what is in net-next-2.6 and wireless-next-2.6.
-I created a merge-test branch in wireless-next-2.6, and the merge commi=
-t
+I created a merge-test branch in wireless-next-2.6, and the merge commit
 log goes into more detail about resolving the issue.  In short, you
-probably want to diff drivers/net/ath9k against the merge-test branch..=
-=2E
+probably want to diff drivers/net/ath9k against the merge-test branch...
 
 Please let me know if there are problems!
 
@@ -29,16 +26,13 @@ Individual patches are available here:
 
 ---
 
-The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19=
-c7ab:
-  fran=E7ois romieu (1):
-        r8169: revert "r8169: read MAC address from EEPROM on init (2nd=
- attempt)"
+The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19c7ab:
+  françois romieu (1):
+        r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)"
 
 are available in the git repository at:
 
-  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.g=
-it master
+  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master
 
 John W. Linville (1):
       lib80211: silence excessive crypto debugging messages
@@ -52,8 +46,7 @@ Luis R. Rodriguez (2):
       ath9k: AR9280 PCI devices must serialize IO as well
 
  drivers/net/wireless/ath9k/ath9k.h     |    4 +-
- drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++=
-++++++++
+ drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++++++++++
  drivers/net/wireless/ath9k/hw.c        |   22 ++++++++++++++++++++-
  drivers/net/wireless/ath9k/main.c      |    1 +
  drivers/net/wireless/zd1211rw/zd_mac.c |    8 +++++-
@@ -63,25 +56,22 @@ Luis R. Rodriguez (2):
  net/wireless/lib80211_crypt_tkip.c     |    4 +++
  9 files changed, 81 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/=
-ath9k/ath9k.h
+diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h
 index d278135..6650f60 100644
 --- a/drivers/net/wireless/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath9k/ath9k.h
 @@ -587,8 +587,8 @@ struct ath9k_country_entry {
  	u8 iso[3];
  };
-=20
+ 
 -#define REG_WRITE(_ah, _reg, _val) iowrite32(_val, _ah->ah_sh + _reg)
 -#define REG_READ(_ah, _reg) ioread32(_ah->ah_sh + _reg)
-+#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_va=
-l))
++#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_val))
 +#define REG_READ(_ah, _reg) ath9k_ioread32((_ah), (_reg))
-=20
+ 
  #define SM(_v, _f)  (((_v) << _f##_S) & _f)
  #define MS(_v, _f)  (((_v) & _f) >> _f##_S)
-diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/a=
-th9k/core.h
+diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h
 index 4ca2aed..139566c 100644
 --- a/drivers/net/wireless/ath9k/core.h
 +++ b/drivers/net/wireless/ath9k/core.h
@@ -91,29 +81,23 @@ index 4ca2aed..139566c 100644
  	spinlock_t sc_resetlock;
 +	spinlock_t sc_serial_rw;
  	struct mutex mutex;
-=20
+ 
  	u8 sc_curbssid[ETH_ALEN];
-@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *=
-sc);
+@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *sc);
  int ath_get_mac80211_qnum(u32 queue, struct ath_softc *sc);
  int ath_cabq_update(struct ath_softc *);
-=20
+ 
 +/*
-+ * Read and write, they both share the same lock. We do this to serial=
-ize
-+ * reads and writes on Atheros 802.11n PCI devices only. This is requi=
-red
-+ * as the FIFO on these devices can only accept sanely 2 requests. Aft=
-er
-+ * that the device goes bananas. Serializing the reads/writes prevents=
- this
++ * Read and write, they both share the same lock. We do this to serialize
++ * reads and writes on Atheros 802.11n PCI devices only. This is required
++ * as the FIFO on these devices can only accept sanely 2 requests. After
++ * that the device goes bananas. Serializing the reads/writes prevents this
 + * from happening.
 + */
 +
-+static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset,=
- u32 val)
++static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset, u32 val)
 +{
-+	if (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {
++	if (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {
 +		unsigned long flags;
 +		spin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);
 +		iowrite32(val, ah->ah_sc->mem + reg_offset);
@@ -122,31 +106,28 @@ er
 +		iowrite32(val, ah->ah_sc->mem + reg_offset);
 +}
 +
-+static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_=
-offset)
++static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_offset)
 +{
 +	u32 val;
-+	if (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {
++	if (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {
 +		unsigned long flags;
 +		spin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);
-+		val =3D ioread32(ah->ah_sc->mem + reg_offset);
++		val = ioread32(ah->ah_sc->mem + reg_offset);
 +		spin_unlock_irqrestore(&ah->ah_sc->sc_serial_rw, flags);
 +	} else
-+		val =3D ioread32(ah->ah_sc->mem + reg_offset);
++		val = ioread32(ah->ah_sc->mem + reg_offset);
 +	return val;
 +}
 +
  #endif /* CORE_H */
-diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath=
-9k/hw.c
+diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c
 index 34474ed..c38a00b 100644
 --- a/drivers/net/wireless/ath9k/hw.c
 +++ b/drivers/net/wireless/ath9k/hw.c
-@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *=
-ah)
+@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *ah)
  	}
-=20
- 	ah->ah_config.intr_mitigation =3D 1;
+ 
+ 	ah->ah_config.intr_mitigation = 1;
 +
 +	/*
 +	 * We need this for PCI devices only (Cardbus, PCI, miniPCI)
@@ -165,51 +146,46 @@ ah)
 +	 * devices (legacy, 802.11abg).
 +	 */
 +	if (num_possible_cpus() > 1)
-+		ah->ah_config.serialize_regmode =3D SER_REG_MODE_AUTO;
++		ah->ah_config.serialize_regmode = SER_REG_MODE_AUTO;
  }
-=20
+ 
  static struct ath_hal_5416 *ath9k_hw_newstate(u16 devid,
-@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid=
-, struct ath_softc *sc,
+@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid, struct ath_softc *sc,
  	}
-=20
- 	if (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_AUTO) {
--		if (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI) {
-+		if (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI ||
+ 
+ 	if (ah->ah_config.serialize_regmode == SER_REG_MODE_AUTO) {
+-		if (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI) {
++		if (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI ||
 +		    (AR_SREV_9280(ah) && !ah->ah_isPciExpress)) {
- 			ah->ah_config.serialize_regmode =3D
+ 			ah->ah_config.serialize_regmode =
  				SER_REG_MODE_ON;
  		} else {
-diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/a=
-th9k/main.c
+diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
 index 0e80990..3c04044 100644
 --- a/drivers/net/wireless/ath9k/main.c
 +++ b/drivers/net/wireless/ath9k/main.c
-@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *=
-sc)
+@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *sc)
  		printk(KERN_ERR "Unable to create debugfs files\n");
-=20
+ 
  	spin_lock_init(&sc->sc_resetlock);
 +	spin_lock_init(&sc->sc_serial_rw);
  	mutex_init(&sc->mutex);
  	tasklet_init(&sc->intr_tq, ath9k_tasklet, (unsigned long)sc);
  	tasklet_init(&sc->bcon_tasklet, ath9k_beacon_tasklet,
-diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wirel=
-ess/zd1211rw/zd_mac.c
+diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
 index a611ad8..847057d 100644
 --- a/drivers/net/wireless/zd1211rw/zd_mac.c
 +++ b/drivers/net/wireless/zd1211rw/zd_mac.c
-@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, stru=
-ct sk_buff *skb)
-=20
- 	r =3D fill_ctrlset(mac, skb);
+@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+ 
+ 	r = fill_ctrlset(mac, skb);
  	if (r)
 -		return r;
 +		goto fail;
-=20
- 	info->rate_driver_data[0] =3D hw;
-=20
- 	r =3D zd_usb_tx(&mac->chip.usb, skb);
+ 
+ 	info->rate_driver_data[0] = hw;
+ 
+ 	r = zd_usb_tx(&mac->chip.usb, skb);
  	if (r)
 -		return r;
 +		goto fail;
@@ -219,27 +195,26 @@ ct sk_buff *skb)
 +	dev_kfree_skb(skb);
  	return 0;
  }
-=20
+ 
 diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
 index 94de503..37e3d5e 100644
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *t=
-x)
+@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)
  		skb_copy_queue_mapping(frag, first);
-=20
- 		frag->do_not_encrypt =3D first->do_not_encrypt;
-+		frag->dev =3D first->dev;
-+		frag->iif =3D first->iif;
-=20
- 		pos +=3D copylen;
- 		left -=3D copylen;
+ 
+ 		frag->do_not_encrypt = first->do_not_encrypt;
++		frag->dev = first->dev;
++		frag->iif = first->iif;
+ 
+ 		pos += copylen;
+ 		left -= copylen;
 diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
 index e28e2b8..092ae6f 100644
 --- a/net/wireless/Kconfig
 +++ b/net/wireless/Kconfig
 @@ -102,3 +102,13 @@ config LIB80211_CRYPT_CCMP
-=20
+ 
  config LIB80211_CRYPT_TKIP
  	tristate
 +
@@ -252,22 +227,19 @@ index e28e2b8..092ae6f 100644
 +	  from lib80211.
 +
 +	  If unsure, say N.
-diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211=
-_crypt_ccmp.c
+diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211_crypt_ccmp.c
 index db42819..2301dc1 100644
 --- a/net/wireless/lib80211_crypt_ccmp.c
 +++ b/net/wireless/lib80211_crypt_ccmp.c
-@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=
-b, int hdr_len, void *priv)
- 	pos +=3D 8;
-=20
+@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
+ 	pos += 8;
+ 
  	if (ccmp_replay_check(pn, key->rx_pn)) {
 +#ifdef CONFIG_LIB80211_DEBUG
  		if (net_ratelimit()) {
- 			printk(KERN_DEBUG "CCMP: replay detected: STA=3D%pM "
+ 			printk(KERN_DEBUG "CCMP: replay detected: STA=%pM "
  				 "previous PN %02x%02x%02x%02x%02x%02x "
-@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=
-b, int hdr_len, void *priv)
+@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
  				 key->rx_pn[3], key->rx_pn[4], key->rx_pn[5],
  				 pn[0], pn[1], pn[2], pn[3], pn[4], pn[5]);
  		}
@@ -275,19 +247,17 @@ b, int hdr_len, void *priv)
  		key->dot11RSNAStatsCCMPReplays++;
  		return -4;
  	}
-diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211=
-_crypt_tkip.c
+diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211_crypt_tkip.c
 index 7e8e22b..c362873 100644
 --- a/net/wireless/lib80211_crypt_tkip.c
 +++ b/net/wireless/lib80211_crypt_tkip.c
-@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *=
-skb, int hdr_len, void *priv)
- 	pos +=3D 8;
-=20
+@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
+ 	pos += 8;
+ 
  	if (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {
 +#ifdef CONFIG_LIB80211_DEBUG
  		if (net_ratelimit()) {
- 			printk(KERN_DEBUG "TKIP: replay detected: STA=3D%pM"
+ 			printk(KERN_DEBUG "TKIP: replay detected: STA=%pM"
  			       " previous TSC %08x%04x received TSC "
  			       "%08x%04x\n", hdr->addr2,
  			       tkey->rx_iv32, tkey->rx_iv16, iv32, iv16);
@@ -296,25 +266,23 @@ skb, int hdr_len, void *priv)
  		tkey->dot11RSNAStatsTKIPReplays++;
  		return -4;
  	}
-@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *=
-skb, int hdr_len, void *priv)
+@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
  			 * it needs to be recalculated for the next packet. */
- 			tkey->rx_phase1_done =3D 0;
+ 			tkey->rx_phase1_done = 0;
  		}
 +#ifdef CONFIG_LIB80211_DEBUG
  		if (net_ratelimit()) {
- 			printk(KERN_DEBUG "TKIP: ICV error detected: STA=3D"
+ 			printk(KERN_DEBUG "TKIP: ICV error detected: STA="
  			       "%pM\n", hdr->addr2);
  		}
 +#endif
  		tkey->dot11RSNAStatsTKIPICVErrors++;
  		return -5;
  	}
---=20
+-- 
 John W. Linville		Someday the world will need a hero, and you
-linville@tuxdriver.com			might be all we have.  Be ready.
+linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.
 --
-To unsubscribe from this list: send the line "unsubscribe linux-wireles=
-s" in
-the body of a message to majordomo@vger.kernel.org
+To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
+the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff --git a/a/content_digest b/N2/content_digest
index e9f80a9..39109b5 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,11 +1,11 @@
- "From\0John W. Linville <linville@tuxdriver.com>\0"
+ "From\0John W. Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>\0"
  "Subject\0pull request: wireless-2.6 2009-03-16\0"
  "Date\0Mon, 16 Mar 2009 19:14:24 -0400\0"
- "To\0davem@davemloft.net\0"
- "Cc\0linux-wireless@vger.kernel.org"
-  netdev@vger.kernel.org
-  linux-kernel@vger.kernel.org
- " sfr@canb.auug.org.au\0"
+ "To\0davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org\0"
+ "Cc\0linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
+  netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+ " sfr-3FnU+UHB4dNDw9hX6IcOSA@public.gmane.org\0"
  "\00:1\0"
  "b\0"
  "Dave,\n"
@@ -15,15 +15,12 @@
  "users.  The two from Jouni fix some panics he observed himself.\n"
  "\n"
  "The first one from Luis fixes bug 12110 at bugzilla.kernel.org.  I know\n"
- "he has worked on it for a long time and I've had several desperate user=\n"
- "s\n"
+ "he has worked on it for a long time and I've had several desperate users\n"
  "asking for it, so it must be good. :-)  Unfortunately, it causes some\n"
  "nasty merge errors with what is in net-next-2.6 and wireless-next-2.6.\n"
- "I created a merge-test branch in wireless-next-2.6, and the merge commi=\n"
- "t\n"
+ "I created a merge-test branch in wireless-next-2.6, and the merge commit\n"
  "log goes into more detail about resolving the issue.  In short, you\n"
- "probably want to diff drivers/net/ath9k against the merge-test branch..=\n"
- "=2E\n"
+ "probably want to diff drivers/net/ath9k against the merge-test branch...\n"
  "\n"
  "Please let me know if there are problems!\n"
  "\n"
@@ -39,16 +36,13 @@
  "\n"
  "---\n"
  "\n"
- "The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19=\n"
- "c7ab:\n"
- "  fran=E7ois romieu (1):\n"
- "        r8169: revert \"r8169: read MAC address from EEPROM on init (2nd=\n"
- " attempt)\"\n"
+ "The following changes since commit ea8dbdd17099a9a5864ebd4c87e01e657b19c7ab:\n"
+ "  fran\303\247ois romieu (1):\n"
+ "        r8169: revert \"r8169: read MAC address from EEPROM on init (2nd attempt)\"\n"
  "\n"
  "are available in the git repository at:\n"
  "\n"
- "  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.g=\n"
- "it master\n"
+ "  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master\n"
  "\n"
  "John W. Linville (1):\n"
  "      lib80211: silence excessive crypto debugging messages\n"
@@ -62,8 +56,7 @@
  "      ath9k: AR9280 PCI devices must serialize IO as well\n"
  "\n"
  " drivers/net/wireless/ath9k/ath9k.h     |    4 +-\n"
- " drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++=\n"
- "++++++++\n"
+ " drivers/net/wireless/ath9k/core.h      |   33 ++++++++++++++++++++++++++++++++\n"
  " drivers/net/wireless/ath9k/hw.c        |   22 ++++++++++++++++++++-\n"
  " drivers/net/wireless/ath9k/main.c      |    1 +\n"
  " drivers/net/wireless/zd1211rw/zd_mac.c |    8 +++++-\n"
@@ -73,25 +66,22 @@
  " net/wireless/lib80211_crypt_tkip.c     |    4 +++\n"
  " 9 files changed, 81 insertions(+), 5 deletions(-)\n"
  "\n"
- "diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/=\n"
- "ath9k/ath9k.h\n"
+ "diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h\n"
  "index d278135..6650f60 100644\n"
  "--- a/drivers/net/wireless/ath9k/ath9k.h\n"
  "+++ b/drivers/net/wireless/ath9k/ath9k.h\n"
  "@@ -587,8 +587,8 @@ struct ath9k_country_entry {\n"
  " \tu8 iso[3];\n"
  " };\n"
- "=20\n"
+ " \n"
  "-#define REG_WRITE(_ah, _reg, _val) iowrite32(_val, _ah->ah_sh + _reg)\n"
  "-#define REG_READ(_ah, _reg) ioread32(_ah->ah_sh + _reg)\n"
- "+#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_va=\n"
- "l))\n"
+ "+#define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_val))\n"
  "+#define REG_READ(_ah, _reg) ath9k_ioread32((_ah), (_reg))\n"
- "=20\n"
+ " \n"
  " #define SM(_v, _f)  (((_v) << _f##_S) & _f)\n"
  " #define MS(_v, _f)  (((_v) & _f) >> _f##_S)\n"
- "diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/a=\n"
- "th9k/core.h\n"
+ "diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h\n"
  "index 4ca2aed..139566c 100644\n"
  "--- a/drivers/net/wireless/ath9k/core.h\n"
  "+++ b/drivers/net/wireless/ath9k/core.h\n"
@@ -101,29 +91,23 @@
  " \tspinlock_t sc_resetlock;\n"
  "+\tspinlock_t sc_serial_rw;\n"
  " \tstruct mutex mutex;\n"
- "=20\n"
+ " \n"
  " \tu8 sc_curbssid[ETH_ALEN];\n"
- "@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *=\n"
- "sc);\n"
+ "@@ -751,4 +752,36 @@ int ath_get_hal_qnum(u16 queue, struct ath_softc *sc);\n"
  " int ath_get_mac80211_qnum(u32 queue, struct ath_softc *sc);\n"
  " int ath_cabq_update(struct ath_softc *);\n"
- "=20\n"
+ " \n"
  "+/*\n"
- "+ * Read and write, they both share the same lock. We do this to serial=\n"
- "ize\n"
- "+ * reads and writes on Atheros 802.11n PCI devices only. This is requi=\n"
- "red\n"
- "+ * as the FIFO on these devices can only accept sanely 2 requests. Aft=\n"
- "er\n"
- "+ * that the device goes bananas. Serializing the reads/writes prevents=\n"
- " this\n"
+ "+ * Read and write, they both share the same lock. We do this to serialize\n"
+ "+ * reads and writes on Atheros 802.11n PCI devices only. This is required\n"
+ "+ * as the FIFO on these devices can only accept sanely 2 requests. After\n"
+ "+ * that the device goes bananas. Serializing the reads/writes prevents this\n"
  "+ * from happening.\n"
  "+ */\n"
  "+\n"
- "+static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset,=\n"
- " u32 val)\n"
+ "+static inline void ath9k_iowrite32(struct ath_hal *ah, u32 reg_offset, u32 val)\n"
  "+{\n"
- "+\tif (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {\n"
+ "+\tif (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {\n"
  "+\t\tunsigned long flags;\n"
  "+\t\tspin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);\n"
  "+\t\tiowrite32(val, ah->ah_sc->mem + reg_offset);\n"
@@ -132,31 +116,28 @@
  "+\t\tiowrite32(val, ah->ah_sc->mem + reg_offset);\n"
  "+}\n"
  "+\n"
- "+static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_=\n"
- "offset)\n"
+ "+static inline unsigned int ath9k_ioread32(struct ath_hal *ah, u32 reg_offset)\n"
  "+{\n"
  "+\tu32 val;\n"
- "+\tif (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_ON) {\n"
+ "+\tif (ah->ah_config.serialize_regmode == SER_REG_MODE_ON) {\n"
  "+\t\tunsigned long flags;\n"
  "+\t\tspin_lock_irqsave(&ah->ah_sc->sc_serial_rw, flags);\n"
- "+\t\tval =3D ioread32(ah->ah_sc->mem + reg_offset);\n"
+ "+\t\tval = ioread32(ah->ah_sc->mem + reg_offset);\n"
  "+\t\tspin_unlock_irqrestore(&ah->ah_sc->sc_serial_rw, flags);\n"
  "+\t} else\n"
- "+\t\tval =3D ioread32(ah->ah_sc->mem + reg_offset);\n"
+ "+\t\tval = ioread32(ah->ah_sc->mem + reg_offset);\n"
  "+\treturn val;\n"
  "+}\n"
  "+\n"
  " #endif /* CORE_H */\n"
- "diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath=\n"
- "9k/hw.c\n"
+ "diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c\n"
  "index 34474ed..c38a00b 100644\n"
  "--- a/drivers/net/wireless/ath9k/hw.c\n"
  "+++ b/drivers/net/wireless/ath9k/hw.c\n"
- "@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *=\n"
- "ah)\n"
+ "@@ -437,6 +437,25 @@ static void ath9k_hw_set_defaults(struct ath_hal *ah)\n"
  " \t}\n"
- "=20\n"
- " \tah->ah_config.intr_mitigation =3D 1;\n"
+ " \n"
+ " \tah->ah_config.intr_mitigation = 1;\n"
  "+\n"
  "+\t/*\n"
  "+\t * We need this for PCI devices only (Cardbus, PCI, miniPCI)\n"
@@ -175,51 +156,46 @@
  "+\t * devices (legacy, 802.11abg).\n"
  "+\t */\n"
  "+\tif (num_possible_cpus() > 1)\n"
- "+\t\tah->ah_config.serialize_regmode =3D SER_REG_MODE_AUTO;\n"
+ "+\t\tah->ah_config.serialize_regmode = SER_REG_MODE_AUTO;\n"
  " }\n"
- "=20\n"
+ " \n"
  " static struct ath_hal_5416 *ath9k_hw_newstate(u16 devid,\n"
- "@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid=\n"
- ", struct ath_softc *sc,\n"
+ "@@ -668,7 +687,8 @@ static struct ath_hal *ath9k_hw_do_attach(u16 devid, struct ath_softc *sc,\n"
  " \t}\n"
- "=20\n"
- " \tif (ah->ah_config.serialize_regmode =3D=3D SER_REG_MODE_AUTO) {\n"
- "-\t\tif (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI) {\n"
- "+\t\tif (ah->ah_macVersion =3D=3D AR_SREV_VERSION_5416_PCI ||\n"
+ " \n"
+ " \tif (ah->ah_config.serialize_regmode == SER_REG_MODE_AUTO) {\n"
+ "-\t\tif (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI) {\n"
+ "+\t\tif (ah->ah_macVersion == AR_SREV_VERSION_5416_PCI ||\n"
  "+\t\t    (AR_SREV_9280(ah) && !ah->ah_isPciExpress)) {\n"
- " \t\t\tah->ah_config.serialize_regmode =3D\n"
+ " \t\t\tah->ah_config.serialize_regmode =\n"
  " \t\t\t\tSER_REG_MODE_ON;\n"
  " \t\t} else {\n"
- "diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/a=\n"
- "th9k/main.c\n"
+ "diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c\n"
  "index 0e80990..3c04044 100644\n"
  "--- a/drivers/net/wireless/ath9k/main.c\n"
  "+++ b/drivers/net/wireless/ath9k/main.c\n"
- "@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *=\n"
- "sc)\n"
+ "@@ -1336,6 +1336,7 @@ static int ath_init(u16 devid, struct ath_softc *sc)\n"
  " \t\tprintk(KERN_ERR \"Unable to create debugfs files\\n\");\n"
- "=20\n"
+ " \n"
  " \tspin_lock_init(&sc->sc_resetlock);\n"
  "+\tspin_lock_init(&sc->sc_serial_rw);\n"
  " \tmutex_init(&sc->mutex);\n"
  " \ttasklet_init(&sc->intr_tq, ath9k_tasklet, (unsigned long)sc);\n"
  " \ttasklet_init(&sc->bcon_tasklet, ath9k_beacon_tasklet,\n"
- "diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wirel=\n"
- "ess/zd1211rw/zd_mac.c\n"
+ "diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c\n"
  "index a611ad8..847057d 100644\n"
  "--- a/drivers/net/wireless/zd1211rw/zd_mac.c\n"
  "+++ b/drivers/net/wireless/zd1211rw/zd_mac.c\n"
- "@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, stru=\n"
- "ct sk_buff *skb)\n"
- "=20\n"
- " \tr =3D fill_ctrlset(mac, skb);\n"
+ "@@ -575,13 +575,17 @@ static int zd_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)\n"
+ " \n"
+ " \tr = fill_ctrlset(mac, skb);\n"
  " \tif (r)\n"
  "-\t\treturn r;\n"
  "+\t\tgoto fail;\n"
- "=20\n"
- " \tinfo->rate_driver_data[0] =3D hw;\n"
- "=20\n"
- " \tr =3D zd_usb_tx(&mac->chip.usb, skb);\n"
+ " \n"
+ " \tinfo->rate_driver_data[0] = hw;\n"
+ " \n"
+ " \tr = zd_usb_tx(&mac->chip.usb, skb);\n"
  " \tif (r)\n"
  "-\t\treturn r;\n"
  "+\t\tgoto fail;\n"
@@ -229,27 +205,26 @@
  "+\tdev_kfree_skb(skb);\n"
  " \treturn 0;\n"
  " }\n"
- "=20\n"
+ " \n"
  "diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c\n"
  "index 94de503..37e3d5e 100644\n"
  "--- a/net/mac80211/tx.c\n"
  "+++ b/net/mac80211/tx.c\n"
- "@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *t=\n"
- "x)\n"
+ "@@ -752,6 +752,8 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)\n"
  " \t\tskb_copy_queue_mapping(frag, first);\n"
- "=20\n"
- " \t\tfrag->do_not_encrypt =3D first->do_not_encrypt;\n"
- "+\t\tfrag->dev =3D first->dev;\n"
- "+\t\tfrag->iif =3D first->iif;\n"
- "=20\n"
- " \t\tpos +=3D copylen;\n"
- " \t\tleft -=3D copylen;\n"
+ " \n"
+ " \t\tfrag->do_not_encrypt = first->do_not_encrypt;\n"
+ "+\t\tfrag->dev = first->dev;\n"
+ "+\t\tfrag->iif = first->iif;\n"
+ " \n"
+ " \t\tpos += copylen;\n"
+ " \t\tleft -= copylen;\n"
  "diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig\n"
  "index e28e2b8..092ae6f 100644\n"
  "--- a/net/wireless/Kconfig\n"
  "+++ b/net/wireless/Kconfig\n"
  "@@ -102,3 +102,13 @@ config LIB80211_CRYPT_CCMP\n"
- "=20\n"
+ " \n"
  " config LIB80211_CRYPT_TKIP\n"
  " \ttristate\n"
  "+\n"
@@ -262,22 +237,19 @@
  "+\t  from lib80211.\n"
  "+\n"
  "+\t  If unsure, say N.\n"
- "diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211=\n"
- "_crypt_ccmp.c\n"
+ "diff --git a/net/wireless/lib80211_crypt_ccmp.c b/net/wireless/lib80211_crypt_ccmp.c\n"
  "index db42819..2301dc1 100644\n"
  "--- a/net/wireless/lib80211_crypt_ccmp.c\n"
  "+++ b/net/wireless/lib80211_crypt_ccmp.c\n"
- "@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=\n"
- "b, int hdr_len, void *priv)\n"
- " \tpos +=3D 8;\n"
- "=20\n"
+ "@@ -337,6 +337,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
+ " \tpos += 8;\n"
+ " \n"
  " \tif (ccmp_replay_check(pn, key->rx_pn)) {\n"
  "+#ifdef CONFIG_LIB80211_DEBUG\n"
  " \t\tif (net_ratelimit()) {\n"
- " \t\t\tprintk(KERN_DEBUG \"CCMP: replay detected: STA=3D%pM \"\n"
+ " \t\t\tprintk(KERN_DEBUG \"CCMP: replay detected: STA=%pM \"\n"
  " \t\t\t\t \"previous PN %02x%02x%02x%02x%02x%02x \"\n"
- "@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *sk=\n"
- "b, int hdr_len, void *priv)\n"
+ "@@ -346,6 +347,7 @@ static int lib80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
  " \t\t\t\t key->rx_pn[3], key->rx_pn[4], key->rx_pn[5],\n"
  " \t\t\t\t pn[0], pn[1], pn[2], pn[3], pn[4], pn[5]);\n"
  " \t\t}\n"
@@ -285,19 +257,17 @@
  " \t\tkey->dot11RSNAStatsCCMPReplays++;\n"
  " \t\treturn -4;\n"
  " \t}\n"
- "diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211=\n"
- "_crypt_tkip.c\n"
+ "diff --git a/net/wireless/lib80211_crypt_tkip.c b/net/wireless/lib80211_crypt_tkip.c\n"
  "index 7e8e22b..c362873 100644\n"
  "--- a/net/wireless/lib80211_crypt_tkip.c\n"
  "+++ b/net/wireless/lib80211_crypt_tkip.c\n"
- "@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *=\n"
- "skb, int hdr_len, void *priv)\n"
- " \tpos +=3D 8;\n"
- "=20\n"
+ "@@ -465,12 +465,14 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
+ " \tpos += 8;\n"
+ " \n"
  " \tif (tkip_replay_check(iv32, iv16, tkey->rx_iv32, tkey->rx_iv16)) {\n"
  "+#ifdef CONFIG_LIB80211_DEBUG\n"
  " \t\tif (net_ratelimit()) {\n"
- " \t\t\tprintk(KERN_DEBUG \"TKIP: replay detected: STA=3D%pM\"\n"
+ " \t\t\tprintk(KERN_DEBUG \"TKIP: replay detected: STA=%pM\"\n"
  " \t\t\t       \" previous TSC %08x%04x received TSC \"\n"
  " \t\t\t       \"%08x%04x\\n\", hdr->addr2,\n"
  " \t\t\t       tkey->rx_iv32, tkey->rx_iv16, iv32, iv16);\n"
@@ -306,27 +276,25 @@
  " \t\ttkey->dot11RSNAStatsTKIPReplays++;\n"
  " \t\treturn -4;\n"
  " \t}\n"
- "@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *=\n"
- "skb, int hdr_len, void *priv)\n"
+ "@@ -505,10 +507,12 @@ static int lib80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)\n"
  " \t\t\t * it needs to be recalculated for the next packet. */\n"
- " \t\t\ttkey->rx_phase1_done =3D 0;\n"
+ " \t\t\ttkey->rx_phase1_done = 0;\n"
  " \t\t}\n"
  "+#ifdef CONFIG_LIB80211_DEBUG\n"
  " \t\tif (net_ratelimit()) {\n"
- " \t\t\tprintk(KERN_DEBUG \"TKIP: ICV error detected: STA=3D\"\n"
+ " \t\t\tprintk(KERN_DEBUG \"TKIP: ICV error detected: STA=\"\n"
  " \t\t\t       \"%pM\\n\", hdr->addr2);\n"
  " \t\t}\n"
  "+#endif\n"
  " \t\ttkey->dot11RSNAStatsTKIPICVErrors++;\n"
  " \t\treturn -5;\n"
  " \t}\n"
- "--=20\n"
+ "-- \n"
  "John W. Linville\t\tSomeday the world will need a hero, and you\n"
- "linville@tuxdriver.com\t\t\tmight be all we have.  Be ready.\n"
+ "linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org\t\t\tmight be all we have.  Be ready.\n"
  "--\n"
- "To unsubscribe from this list: send the line \"unsubscribe linux-wireles=\n"
- "s\" in\n"
- "the body of a message to majordomo@vger.kernel.org\n"
+ "To unsubscribe from this list: send the line \"unsubscribe linux-wireless\" in\n"
+ "the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\n"
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
-7e5a40cbb9a9b616d7c4fab20e91d8af8a79405a50462734a6948bd910564047
+edd4acc8bea477746a18b29108b97834c1ba783ec7c6367b7e378bf6c532af0a

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.