Re: Please pull 'upstream' branch of wireless-2.6

2007-05-30 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit d7ea3be56adc95b17351221fd95e78115f3b01f4:
  Brandon Craig Rhodes (1):
hostap: Allocate enough tailroom for TKIP

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Akinobu Mita (1):
  softmac: use list_for_each_entry

Daniel Drake (4):
  zd1211rw: Add ID for ZyXEL G-200v2
  zd1211rw: Extend RF layer
  zd1211rw: Add UW2453 RF support
  zd1211rw: Make CCK gain patching conditional on RF type

Jouni Malinen (1):
  hostap: Remove driver version number

Larry Finger (1):
  bcm43xx: Fix deviation from specifications in set_baseband_attenuation

Matthias Kaehlcke (1):
  hostap: Use list_for_each_entry

Pavel Roskin (1):
  hostap: Suppress broadcast if no stations are associated

 drivers/net/wireless/bcm43xx/bcm43xx_phy.c  |2 +-
 drivers/net/wireless/hostap/hostap_ap.c |   34 +-
 drivers/net/wireless/hostap/hostap_config.h |2 -
 drivers/net/wireless/hostap/hostap_cs.c |4 -
 drivers/net/wireless/hostap/hostap_ioctl.c  |2 -
 drivers/net/wireless/hostap/hostap_main.c   |1 -
 drivers/net/wireless/hostap/hostap_pci.c|5 -
 drivers/net/wireless/hostap/hostap_plx.c|5 -
 drivers/net/wireless/zd1211rw/Makefile  |2 +-
 drivers/net/wireless/zd1211rw/zd_chip.c |5 +-
 drivers/net/wireless/zd1211rw/zd_chip.h |3 +
 drivers/net/wireless/zd1211rw/zd_rf.c   |   21 +-
 drivers/net/wireless/zd1211rw/zd_rf.h   |   28 ++
 drivers/net/wireless/zd1211rw/zd_rf_al2230.c|1 +
 drivers/net/wireless/zd1211rw/zd_rf_al7230b.c   |1 +
 drivers/net/wireless/zd1211rw/zd_rf_uw2453.c|  534 +++
 drivers/net/wireless/zd1211rw/zd_usb.c  |1 +
 net/ieee80211/softmac/ieee80211softmac_module.c |   32 +-
 18 files changed, 611 insertions(+), 72 deletions(-)
 create mode 100644 drivers/net/wireless/zd1211rw/zd_rf_uw2453.c


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2007-05-29 Thread John W. Linville
The following changes since commit d7ea3be56adc95b17351221fd95e78115f3b01f4:
  Brandon Craig Rhodes (1):
hostap: Allocate enough tailroom for TKIP

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Akinobu Mita (1):
  softmac: use list_for_each_entry

Daniel Drake (4):
  zd1211rw: Add ID for ZyXEL G-200v2
  zd1211rw: Extend RF layer
  zd1211rw: Add UW2453 RF support
  zd1211rw: Make CCK gain patching conditional on RF type

Jouni Malinen (1):
  hostap: Remove driver version number

Larry Finger (1):
  bcm43xx: Fix deviation from specifications in set_baseband_attenuation

Matthias Kaehlcke (1):
  hostap: Use list_for_each_entry

Pavel Roskin (1):
  hostap: Suppress broadcast if no stations are associated

 drivers/net/wireless/bcm43xx/bcm43xx_phy.c  |2 +-
 drivers/net/wireless/hostap/hostap_ap.c |   34 +-
 drivers/net/wireless/hostap/hostap_config.h |2 -
 drivers/net/wireless/hostap/hostap_cs.c |4 -
 drivers/net/wireless/hostap/hostap_ioctl.c  |2 -
 drivers/net/wireless/hostap/hostap_main.c   |1 -
 drivers/net/wireless/hostap/hostap_pci.c|5 -
 drivers/net/wireless/hostap/hostap_plx.c|5 -
 drivers/net/wireless/zd1211rw/Makefile  |2 +-
 drivers/net/wireless/zd1211rw/zd_chip.c |5 +-
 drivers/net/wireless/zd1211rw/zd_chip.h |3 +
 drivers/net/wireless/zd1211rw/zd_rf.c   |   21 +-
 drivers/net/wireless/zd1211rw/zd_rf.h   |   28 ++
 drivers/net/wireless/zd1211rw/zd_rf_al2230.c|1 +
 drivers/net/wireless/zd1211rw/zd_rf_al7230b.c   |1 +
 drivers/net/wireless/zd1211rw/zd_rf_uw2453.c|  534 +++
 drivers/net/wireless/zd1211rw/zd_usb.c  |1 +
 net/ieee80211/softmac/ieee80211softmac_module.c |   32 +-
 18 files changed, 611 insertions(+), 72 deletions(-)
 create mode 100644 drivers/net/wireless/zd1211rw/zd_rf_uw2453.c

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
index b37f1e3..d779199 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
@@ -1638,7 +1638,7 @@ void bcm43xx_phy_set_baseband_attenuation(struct 
bcm43xx_private *bcm,
return;
}
 
-   if (phy-analog  1) {
+   if (phy-analog == 1) {
value = bcm43xx_phy_read(bcm, 0x0060)  ~0x003C;
value |= (baseband_attenuation  2)  0x003C;
} else {
diff --git a/drivers/net/wireless/hostap/hostap_ap.c 
b/drivers/net/wireless/hostap/hostap_ap.c
index 5b3abd5..9090052 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -326,7 +326,6 @@ static int ap_control_proc_read(char *page, char **start, 
off_t off,
char *p = page;
struct ap_data *ap = (struct ap_data *) data;
char *policy_txt;
-   struct list_head *ptr;
struct mac_entry *entry;
 
if (off != 0) {
@@ -352,14 +351,12 @@ static int ap_control_proc_read(char *page, char **start, 
off_t off,
p += sprintf(p, MAC entries: %u\n, ap-mac_restrictions.entries);
p += sprintf(p, MAC list:\n);
spin_lock_bh(ap-mac_restrictions.lock);
-   for (ptr = ap-mac_restrictions.mac_list.next;
-ptr != ap-mac_restrictions.mac_list; ptr = ptr-next) {
+   list_for_each_entry(entry, ap-mac_restrictions.mac_list, list) {
if (p - page  PAGE_SIZE - 80) {
p += sprintf(p, All entries did not fit one page.\n);
break;
}
 
-   entry = list_entry(ptr, struct mac_entry, list);
p += sprintf(p, MACSTR \n, MAC2STR(entry-addr));
}
spin_unlock_bh(ap-mac_restrictions.lock);
@@ -413,7 +410,6 @@ int ap_control_del_mac(struct mac_restrictions 
*mac_restrictions, u8 *mac)
 static int ap_control_mac_deny(struct mac_restrictions *mac_restrictions,
   u8 *mac)
 {
-   struct list_head *ptr;
struct mac_entry *entry;
int found = 0;
 
@@ -421,10 +417,7 @@ static int ap_control_mac_deny(struct mac_restrictions 
*mac_restrictions,
return 0;
 
spin_lock_bh(mac_restrictions-lock);
-   for (ptr = mac_restrictions-mac_list.next;
-ptr != mac_restrictions-mac_list; ptr = ptr-next) {
-   entry = list_entry(ptr, struct mac_entry, list);
-
+   list_for_each_entry(entry, mac_restrictions-mac_list, list) {
if (memcmp(entry-addr, mac, ETH_ALEN) == 0) {
found = 1;
break;
@@ -519,7 +512,7 @@ static int prism2_ap_proc_read(char *page, char **start, 
off_t off,
 {
char *p = page;
struct ap_data *ap = (struct ap_data *) data;
-   struct list_head *ptr;
+   struct sta_info *sta;
int i;

Re: Please pull 'upstream' branch of wireless-2.6

2007-05-09 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 5b94f675f57e4ff16c8fda09088d7480a84dcd91:
  Linus Torvalds (1):
Merge master.kernel.org:/.../davem/sparc-2.6

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (1):
  zd1211rw: Add ID for ZyXEL AG-225H v2

Larry Finger (3):
  ieee80211: add ieee80211_channel_to_freq
  ieee80211: include frequency in scan results
  bcm43xx: Remove dead configuration variable CONFIG_947XX

Matthew Davidson (1):
  zd1211rw: Add ID for Sitecom WL-117

Ulrich Kunitz (1):
  zd1211rw: Added new USB id for Planex GW-US54ZGL

 drivers/net/wireless/bcm43xx/bcm43xx.h  |   18 +-
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |4 -
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   81 ---
 drivers/net/wireless/bcm43xx/bcm43xx_main.h |   19 --
 drivers/net/wireless/zd1211rw/zd_usb.c  |4 +
 include/net/ieee80211.h |2 +
 net/ieee80211/ieee80211_geo.c   |   16 +
 net/ieee80211/ieee80211_wx.c|8 ++-
 8 files changed, 31 insertions(+), 121 deletions(-)


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2007-05-08 Thread John W. Linville
This request is withdrawn.  New request to follow.

On Mon, May 07, 2007 at 01:51:21PM -0400, John W. Linville wrote:
 The following changes since commit 15700770ef7c5d12e2f1659d2ddbeb3f658d9f37:
   Linus Torvalds (1):
 Merge git://git.kernel.org/.../sam/kbuild
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream
 
 Daniel Drake (1):
   zd1211rw: Add ID for ZyXEL AG-225H v2
 
 Geert Uytterhoeven (1):
   mac80211: include linux/delay.h instead of asm/delay.h
 
 Ivo van Doorn (1):
   Add 93cx6 eeprom library
 
 John W. Linville (1):
   libertas: fix for wireless Kconfig changes
 
 Larry Finger (3):
   ieee80211: add ieee80211_channel_to_freq
   ieee80211: include frequency in scan results
   bcm43xx: Remove dead configuration variable CONFIG_947XX
 
 Matthew Davidson (1):
   zd1211rw: Add ID for Sitecom WL-117
 
 Michael Wu (1):
   Add rtl8187 wireless driver
 
 Ulrich Kunitz (1):
   zd1211rw: Added new USB id for Planex GW-US54ZGL

-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2007-05-08 Thread John W. Linville
The following changes since commit 5b94f675f57e4ff16c8fda09088d7480a84dcd91:
  Linus Torvalds (1):
Merge master.kernel.org:/.../davem/sparc-2.6

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (1):
  zd1211rw: Add ID for ZyXEL AG-225H v2

Larry Finger (3):
  ieee80211: add ieee80211_channel_to_freq
  ieee80211: include frequency in scan results
  bcm43xx: Remove dead configuration variable CONFIG_947XX

Matthew Davidson (1):
  zd1211rw: Add ID for Sitecom WL-117

Ulrich Kunitz (1):
  zd1211rw: Added new USB id for Planex GW-US54ZGL

 drivers/net/wireless/bcm43xx/bcm43xx.h  |   18 +-
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |4 -
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   81 ---
 drivers/net/wireless/bcm43xx/bcm43xx_main.h |   19 --
 drivers/net/wireless/zd1211rw/zd_usb.c  |4 +
 include/net/ieee80211.h |2 +
 net/ieee80211/ieee80211_geo.c   |   16 +
 net/ieee80211/ieee80211_wx.c|8 ++-
 8 files changed, 31 insertions(+), 121 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index f8483c1..10e07e8 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -658,12 +658,6 @@ struct bcm43xx_pio {
 
 #define BCM43xx_MAX_80211_CORES2
 
-#ifdef CONFIG_BCM947XX
-#define core_offset(bcm) (bcm)-current_core_offset
-#else
-#define core_offset(bcm) 0
-#endif
-
 /* Generic information about a core. */
 struct bcm43xx_coreinfo {
u8 available:1,
@@ -789,10 +783,6 @@ struct bcm43xx_private {
 
/* The currently active core. */
struct bcm43xx_coreinfo *current_core;
-#ifdef CONFIG_BCM947XX
-   /** current core memory offset */
-   u32 current_core_offset;
-#endif
struct bcm43xx_coreinfo *active_80211_core;
/* coreinfo structs for all possible cores follow.
 * Note that a core might not exist.
@@ -943,25 +933,25 @@ struct bcm43xx_lopair * bcm43xx_get_lopair(struct 
bcm43xx_phyinfo *phy,
 static inline
 u16 bcm43xx_read16(struct bcm43xx_private *bcm, u16 offset)
 {
-   return ioread16(bcm-mmio_addr + core_offset(bcm) + offset);
+   return ioread16(bcm-mmio_addr + offset);
 }
 
 static inline
 void bcm43xx_write16(struct bcm43xx_private *bcm, u16 offset, u16 value)
 {
-   iowrite16(value, bcm-mmio_addr + core_offset(bcm) + offset);
+   iowrite16(value, bcm-mmio_addr + offset);
 }
 
 static inline
 u32 bcm43xx_read32(struct bcm43xx_private *bcm, u16 offset)
 {
-   return ioread32(bcm-mmio_addr + core_offset(bcm) + offset);
+   return ioread32(bcm-mmio_addr + offset);
 }
 
 static inline
 void bcm43xx_write32(struct bcm43xx_private *bcm, u16 offset, u32 value)
 {
-   iowrite32(value, bcm-mmio_addr + core_offset(bcm) + offset);
+   iowrite32(value, bcm-mmio_addr + offset);
 }
 
 static inline
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_dma.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
index e3d2e61..1f7731f 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
@@ -660,10 +660,6 @@ struct bcm43xx_dmaring * bcm43xx_setup_dmaring(struct 
bcm43xx_private *bcm,
ring-routing = BCM43xx_DMA32_CLIENTTRANS;
if (dma64)
ring-routing = BCM43xx_DMA64_CLIENTTRANS;
-#ifdef CONFIG_BCM947XX
-   if (bcm-pci_dev-bus-number == 0)
-   ring-routing = dma64 ? BCM43xx_DMA64_NOTRANS : 
BCM43xx_DMA32_NOTRANS;
-#endif
 
ring-bcm = bcm;
ring-nr_slots = nr_slots;
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 5e96bca..ef6b253 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -61,10 +61,6 @@ MODULE_AUTHOR(Stefano Brivio);
 MODULE_AUTHOR(Michael Buesch);
 MODULE_LICENSE(GPL);
 
-#ifdef CONFIG_BCM947XX
-extern char *nvram_get(char *name);
-#endif
-
 #if defined(CONFIG_BCM43XX_DMA)  defined(CONFIG_BCM43XX_PIO)
 static int modparam_pio;
 module_param_named(pio, modparam_pio, int, 0444);
@@ -142,10 +138,6 @@ MODULE_PARM_DESC(fwpostfix, Postfix for .fw files. Useful 
for using multiple fi
{ PCI_VENDOR_ID_BROADCOM, 0x4324, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
/* Broadcom 43XG 802.11b/g */
{ PCI_VENDOR_ID_BROADCOM, 0x4325, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-#ifdef CONFIG_BCM947XX
-   /* SB bus on BCM947xx */
-   { PCI_VENDOR_ID_BROADCOM, 0x0800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-#endif
{ 0 },
 };
 MODULE_DEVICE_TABLE(pci, bcm43xx_pci_tbl);
@@ -786,9 +778,6 @@ static int bcm43xx_sprom_extract(struct bcm43xx_private 
*bcm)
 {
u16 value;
u16 *sprom;
-#ifdef CONFIG_BCM947XX
-   char *c;
-#endif
 
sprom = kzalloc(BCM43xx_SPROM_SIZE * 

Re: Please pull 'upstream' branch of wireless-2.6

2007-05-07 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 15700770ef7c5d12e2f1659d2ddbeb3f658d9f37:
  Linus Torvalds (1):
Merge git://git.kernel.org/.../sam/kbuild

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (1):
  zd1211rw: Add ID for ZyXEL AG-225H v2

Geert Uytterhoeven (1):
  mac80211: include linux/delay.h instead of asm/delay.h

Ivo van Doorn (1):
  Add 93cx6 eeprom library

John W. Linville (1):
  libertas: fix for wireless Kconfig changes

Larry Finger (3):
  ieee80211: add ieee80211_channel_to_freq
  ieee80211: include frequency in scan results
  bcm43xx: Remove dead configuration variable CONFIG_947XX

Matthew Davidson (1):
  zd1211rw: Add ID for Sitecom WL-117

Michael Wu (1):
  Add rtl8187 wireless driver

Ulrich Kunitz (1):
  zd1211rw: Added new USB id for Planex GW-US54ZGL



The normal development process is:

* commit new code to your repository
* that goes into -mm for public testing and review
* merge window opens
* the code that has seen public testing and review goes upstream

The general idea is everything you want in 2.6.22 should be prepared and 
in -mm BEFORE 2.6.21 is released, and the 2.6.22 merge window opens.


It's quite normal for fixes and minor changes to trickle in after the 
push that follows the merge window opening.  But new drivers that have 
not been through this process do not fall under fixes and minor changes.


I also did not see any response to my better as a single file driver 
suggestion.


So, I'll pull if you remove the two late additions.

Jeff


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2007-05-07 Thread Michael Wu
On Monday 07 May 2007 19:09, Jeff Garzik wrote:
 The general idea is everything you want in 2.6.22 should be prepared and
 in -mm BEFORE 2.6.21 is released, and the 2.6.22 merge window opens.

rtl8187 has been in -mm since 2.6.21-rc2-mm1.

-Michael Wu


pgpqlzKVzSGGX.pgp
Description: PGP signature


Re: Please pull 'upstream' branch of wireless-2.6

2007-05-07 Thread John W. Linville
On Mon, May 07, 2007 at 07:09:20PM -0400, Jeff Garzik wrote:
 John W. Linville wrote:

 Ivo van Doorn (1):
   Add 93cx6 eeprom library

 Michael Wu (1):
   Add rtl8187 wireless driver

I presume these are the two parts you question.  (Just checking...)

 The normal development process is:
 
 * commit new code to your repository
 * that goes into -mm for public testing and review
 * merge window opens
 * the code that has seen public testing and review goes upstream
 
 The general idea is everything you want in 2.6.22 should be prepared and 
 in -mm BEFORE 2.6.21 is released, and the 2.6.22 merge window opens.
 
 It's quite normal for fixes and minor changes to trickle in after the 
 push that follows the merge window opening.  But new drivers that have 
 not been through this process do not fall under fixes and minor changes.
 
I agree whole-heartedly.

The whole mac80211 driver package (including rtl8187) has been in -mm
(and rawhide) for most of the 2.6.21 development cycle.  The rtl8187
driver in particular has been relatively stable for the past couple
of months (3 files changed, 13 insertions(+), 4 deletions(-) since
7 March 2007), and it seems to work well.

 I also did not see any response to my better as a single file driver 
 suggestion.

Yes, I see that now.  Do you consider this a merge requirement?

My main concern pre-merge would be accidentally destabilizing the code
while stitching the files together.  Other than that, the suggestion
seems worthwhile.  However, I think Michael plans to expand the driver
to support rtl8180 and rtl8185.  This may factor into why he chose
to organize the code the way he has.

 So, I'll pull if you remove the two late additions.

Any chance that you find the comments above persuasive? :-)

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull upstream branch of wireless-2.6

2007-02-09 Thread John W. Linville
On Wed, Feb 07, 2007 at 04:11:17PM -0500, John W. Linville wrote:
 On Tue, Feb 06, 2007 at 07:06:07PM -0500, Jeff Garzik wrote:
  Would you mind rebasing  resending, kind sir?
 
 By your command! :-)

And once more, now with feeling! :-)

---

The following changes since commit 62d0cfcb27cf755cebdc93ca95dabc83608007cd:
  Linus Torvalds (1):
Linux 2.6.20

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (1):
  zd1211rw: Remove noisy debug message

Larry Finger (5):
  bcm43xx: Fix problem with 1 GB RAM
  bcm43xx: Fix scaling error for 'iwlist rate' information
  bcm43xx: Fix scaling error for 'iwlist freq' information
  bcm43xx: Check error returns in initialization routines
  ieee80211: Fix sparse warning

Maxime Austruy (1):
  zd1211rw: fix potential leak in usb_init

Michael Buesch (1):
  bcm43xx: Enable fwpostfix in nondebug bcm43xx

Robert P. J. Day (2):
  Rename IPW2100 debugging macros to not look like config options.
  Replace incorrect macro name WIRELESS_EXT with CONFIG_WIRELESS_EXT

Ulrich Kunitz (3):
  zd1211rw: Reset device in the probe call
  zd1211rw: Fixed array size issue in reset_mode
  zd1211rw: Added error stats update

 drivers/net/wireless/bcm43xx/bcm43xx.h  |1 +
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |  171 +++
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   25 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c   |   28 ++--
 drivers/net/wireless/ipw2100.c  |   16 ++--
 drivers/net/wireless/zd1211rw/zd_mac.c  |   44 ++--
 drivers/net/wireless/zd1211rw/zd_usb.c  |   12 ++
 net/core/net-sysfs.c|4 +-
 net/ieee80211/ieee80211_tx.c|3 -
 9 files changed, 210 insertions(+), 94 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 8286678..4168b1a 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -766,6 +766,7 @@ struct bcm43xx_private {
 * This is currently always BCM43xx_BUSTYPE_PCI
 */
u8 bustype;
+   u64 dma_mask;
 
u16 board_vendor;
u16 board_type;
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_dma.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
index 978ed09..6e0dc76 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
@@ -145,16 +145,14 @@ dma_addr_t map_descbuffer(struct bcm43xx_dmaring *ring,
  int tx)
 {
dma_addr_t dmaaddr;
+   int direction = PCI_DMA_FROMDEVICE;
 
-   if (tx) {
-   dmaaddr = dma_map_single(ring-bcm-pci_dev-dev,
-buf, len,
-DMA_TO_DEVICE);
-   } else {
-   dmaaddr = dma_map_single(ring-bcm-pci_dev-dev,
+   if (tx)
+   direction = PCI_DMA_TODEVICE;
+
+   dmaaddr = pci_map_single(ring-bcm-pci_dev,
 buf, len,
-DMA_FROM_DEVICE);
-   }
+direction);
 
return dmaaddr;
 }
@@ -166,13 +164,13 @@ void unmap_descbuffer(struct bcm43xx_dmaring *ring,
  int tx)
 {
if (tx) {
-   dma_unmap_single(ring-bcm-pci_dev-dev,
+   pci_unmap_single(ring-bcm-pci_dev,
 addr, len,
-DMA_TO_DEVICE);
+PCI_DMA_TODEVICE);
} else {
-   dma_unmap_single(ring-bcm-pci_dev-dev,
+   pci_unmap_single(ring-bcm-pci_dev,
 addr, len,
-DMA_FROM_DEVICE);
+PCI_DMA_FROMDEVICE);
}
 }
 
@@ -183,8 +181,8 @@ void sync_descbuffer_for_cpu(struct bcm43xx_dmaring *ring,
 {
assert(!ring-tx);
 
-   dma_sync_single_for_cpu(ring-bcm-pci_dev-dev,
-   addr, len, DMA_FROM_DEVICE);
+   pci_dma_sync_single_for_cpu(ring-bcm-pci_dev,
+   addr, len, PCI_DMA_FROMDEVICE);
 }
 
 static inline
@@ -194,8 +192,8 @@ void sync_descbuffer_for_device(struct bcm43xx_dmaring 
*ring,
 {
assert(!ring-tx);
 
-   dma_sync_single_for_device(ring-bcm-pci_dev-dev,
-  addr, len, DMA_FROM_DEVICE);
+   pci_dma_sync_single_for_cpu(ring-bcm-pci_dev,
+   addr, len, PCI_DMA_TODEVICE);
 }
 
 /* Unmap and free a descriptor buffer. */
@@ -214,17 +212,53 @@ void free_descriptor_buffer(struct bcm43xx_dmaring *ring,
 
 static int alloc_ringmemory(struct bcm43xx_dmaring *ring)
 {
-   struct device *dev = (ring-bcm-pci_dev-dev);
-
-   ring-descbase = dma_alloc_coherent(dev, 

Re: Please pull upstream branch of wireless-2.6

2007-02-09 Thread Jeff Garzik

John W. Linville wrote:

On Wed, Feb 07, 2007 at 04:11:17PM -0500, John W. Linville wrote:

On Tue, Feb 06, 2007 at 07:06:07PM -0500, Jeff Garzik wrote:

Would you mind rebasing  resending, kind sir?

By your command! :-)


And once more, now with feeling! :-)

---

The following changes since commit 62d0cfcb27cf755cebdc93ca95dabc83608007cd:
  Linus Torvalds (1):
Linux 2.6.20

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (1):
  zd1211rw: Remove noisy debug message

Larry Finger (5):
  bcm43xx: Fix problem with 1 GB RAM
  bcm43xx: Fix scaling error for 'iwlist rate' information
  bcm43xx: Fix scaling error for 'iwlist freq' information
  bcm43xx: Check error returns in initialization routines
  ieee80211: Fix sparse warning

Maxime Austruy (1):
  zd1211rw: fix potential leak in usb_init

Michael Buesch (1):
  bcm43xx: Enable fwpostfix in nondebug bcm43xx

Robert P. J. Day (2):
  Rename IPW2100 debugging macros to not look like config options.
  Replace incorrect macro name WIRELESS_EXT with CONFIG_WIRELESS_EXT

Ulrich Kunitz (3):
  zd1211rw: Reset device in the probe call
  zd1211rw: Fixed array size issue in reset_mode
  zd1211rw: Added error stats update

 drivers/net/wireless/bcm43xx/bcm43xx.h  |1 +
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |  171 +++
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   25 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c   |   28 ++--
 drivers/net/wireless/ipw2100.c  |   16 ++--
 drivers/net/wireless/zd1211rw/zd_mac.c  |   44 ++--
 drivers/net/wireless/zd1211rw/zd_usb.c  |   12 ++
 net/core/net-sysfs.c|4 +-
 net/ieee80211/ieee80211_tx.c|3 -
 9 files changed, 210 insertions(+), 94 deletions(-)


pulled, thanks


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull upstream branch of wireless-2.6

2007-02-02 Thread John W. Linville
This patches are intended for 2.6.21.

---

The following changes since commit 541c654cfdeb5cc6d2e945988985570384ee2a43:
  John W. Linville (1):
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (1):
  zd1211rw: Remove noisy debug message

Larry Finger (3):
  bcm43xx: Fix problem with 1 GB RAM
  bcm43xx: Fix scaling error for 'iwlist rate' information
  bcm43xx: Fix scaling error for 'iwlist freq' information

Michael Buesch (1):
  bcm43xx: Enable fwpostfix in nondebug bcm43xx

Robert P. J. Day (1):
  Rename IPW2100 debugging macros to not look like config options.

Ulrich Kunitz (3):
  zd1211rw: Reset device in the probe call
  zd1211rw: Fixed array size issue in reset_mode
  zd1211rw: Added error stats update

 drivers/net/wireless/bcm43xx/bcm43xx.h  |1 +
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |  171 +++
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |6 +-
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c   |   28 ++--
 drivers/net/wireless/ipw2100.c  |   16 ++--
 drivers/net/wireless/zd1211rw/zd_mac.c  |   44 ++--
 drivers/net/wireless/zd1211rw/zd_usb.c  |   11 ++
 7 files changed, 193 insertions(+), 84 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 3a064de..0e790ef 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -771,6 +771,7 @@ struct bcm43xx_private {
 * This is currently always BCM43xx_BUSTYPE_PCI
 */
u8 bustype;
+   u64 dma_mask;
 
u16 board_vendor;
u16 board_type;
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_dma.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
index 978ed09..6e0dc76 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_dma.c
@@ -145,16 +145,14 @@ dma_addr_t map_descbuffer(struct bcm43xx_dmaring *ring,
  int tx)
 {
dma_addr_t dmaaddr;
+   int direction = PCI_DMA_FROMDEVICE;
 
-   if (tx) {
-   dmaaddr = dma_map_single(ring-bcm-pci_dev-dev,
-buf, len,
-DMA_TO_DEVICE);
-   } else {
-   dmaaddr = dma_map_single(ring-bcm-pci_dev-dev,
+   if (tx)
+   direction = PCI_DMA_TODEVICE;
+
+   dmaaddr = pci_map_single(ring-bcm-pci_dev,
 buf, len,
-DMA_FROM_DEVICE);
-   }
+direction);
 
return dmaaddr;
 }
@@ -166,13 +164,13 @@ void unmap_descbuffer(struct bcm43xx_dmaring *ring,
  int tx)
 {
if (tx) {
-   dma_unmap_single(ring-bcm-pci_dev-dev,
+   pci_unmap_single(ring-bcm-pci_dev,
 addr, len,
-DMA_TO_DEVICE);
+PCI_DMA_TODEVICE);
} else {
-   dma_unmap_single(ring-bcm-pci_dev-dev,
+   pci_unmap_single(ring-bcm-pci_dev,
 addr, len,
-DMA_FROM_DEVICE);
+PCI_DMA_FROMDEVICE);
}
 }
 
@@ -183,8 +181,8 @@ void sync_descbuffer_for_cpu(struct bcm43xx_dmaring *ring,
 {
assert(!ring-tx);
 
-   dma_sync_single_for_cpu(ring-bcm-pci_dev-dev,
-   addr, len, DMA_FROM_DEVICE);
+   pci_dma_sync_single_for_cpu(ring-bcm-pci_dev,
+   addr, len, PCI_DMA_FROMDEVICE);
 }
 
 static inline
@@ -194,8 +192,8 @@ void sync_descbuffer_for_device(struct bcm43xx_dmaring 
*ring,
 {
assert(!ring-tx);
 
-   dma_sync_single_for_device(ring-bcm-pci_dev-dev,
-  addr, len, DMA_FROM_DEVICE);
+   pci_dma_sync_single_for_cpu(ring-bcm-pci_dev,
+   addr, len, PCI_DMA_TODEVICE);
 }
 
 /* Unmap and free a descriptor buffer. */
@@ -214,17 +212,53 @@ void free_descriptor_buffer(struct bcm43xx_dmaring *ring,
 
 static int alloc_ringmemory(struct bcm43xx_dmaring *ring)
 {
-   struct device *dev = (ring-bcm-pci_dev-dev);
-
-   ring-descbase = dma_alloc_coherent(dev, BCM43xx_DMA_RINGMEMSIZE,
-   (ring-dmabase), GFP_KERNEL);
+   ring-descbase = pci_alloc_consistent(ring-bcm-pci_dev, 
BCM43xx_DMA_RINGMEMSIZE,
+   (ring-dmabase));
if (!ring-descbase) {
-   printk(KERN_ERR PFX DMA ringmemory allocation failed\n);
-   return -ENOMEM;
+   /* Allocation may have failed due to pci_alloc_consistent
+  insisting on use of GFP_DMA, which is more 

Re: Please pull 'upstream' branch of wireless-2.6

2007-01-22 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 10764889c6355cbb335cf0578ce12427475d1a65:
  Larry Finger (1):
bcm43xx: Fix failure to deliver PCI-E interrupts

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (6):
  zd1211rw: Generic HMAC initialization
  zd1211rw: 2 new ZD1211B device ID's
  zd1211rw: Consistency for address space constants
  zd1211rw: Remove addressing abstraction
  zd1211rw: Add ID for Linksys WUSBF54G
  zd1211rw: Add ID for ZyXEL ZyAIR G-220 v2

John W. Linville (1):
  softmac: avoid assert in ieee80211softmac_wx_get_rate

Kai Engert (1):
  prism54: add ethtool -i interface

Larry Finger (1):
  bcm43xx: Interrogate hardware-enable switch and update LEDs

Michael Buesch (1):
  Update Prism54 MAINTAINERS entry

Zhu Yi (1):
  ipw2200: add iwconfig rts/frag auto support


pulled, thanks


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re. Please pull 'upstream' branch of wireless-2.6

2007-01-20 Thread Roger While



Kai Engert (1):
  prism54: add ethtool -i interface


I would have expected at least the firmware version to be reported
as well as the bus info.
(info-fw_version, info-bus_info)

Roger While


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Re. Please pull 'upstream' branch of wireless-2.6

2007-01-20 Thread John W. Linville
On Sat, Jan 20, 2007 at 12:28:44PM +0100, Roger While wrote:
 
 Kai Engert (1):
   prism54: add ethtool -i interface
 
 I would have expected at least the firmware version to be reported
 as well as the bus info.
 (info-fw_version, info-bus_info)

Patches welcome.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2007-01-19 Thread John W. Linville
On Thu, Jan 18, 2007 at 10:10:47PM -0500, Jeff Garzik wrote:
 John W. Linville wrote:
 The following changes since commit 
 10764889c6355cbb335cf0578ce12427475d1a65:
   Larry Finger (1):
 bcm43xx: Fix failure to deliver PCI-E interrupts
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
   upstream
 
 ACK.  Open question of parentage, though:  I just rebased 
 netdev-2.6.git#upstream.  Is your wireless-2.6 affected by this rebase?
 
 If not, I will go ahead and pull.

Right now it looks like this:

Linus's tree - my upstream-fixes branch - my upstream branch

So, I think it should be fine for your you to pull.

Thanks,

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2007-01-18 Thread John W. Linville
On Tue, Jan 02, 2007 at 09:42:47PM -0500, John W. Linville wrote:
 The following changes since commit fe5f8e2a1c5c040209c598a28e19c55f30e1040d:
   Zhu Yi (1):
 ipw2100: Fix dropping fragmented small packet problem
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream
 
 Daniel Drake (5):
   zd1211rw: Generic HMAC initialization
   zd1211rw: 2 new ZD1211B device ID's
   zd1211rw: Consistency for address space constants
   zd1211rw: Remove addressing abstraction
   zd1211rw: Add ID for Linksys WUSBF54G
 
 John W. Linville (1):
   softmac: avoid assert in ieee80211softmac_wx_get_rate
 
 Kai Engert (1):
   prism54: add ethtool -i interface
 
 Larry Finger (1):
   bcm43xx: Interrogate hardware-enable switch and update LEDs
 
 Michael Buesch (1):
   Update Prism54 MAINTAINERS entry

Jeff, it looks like you didn't pull this one yet.  I'm going to rebase
my upstream branch on top of my additions to my upstream-fixes branch.
So, just ignore this request and wait for the next round of pull
requests.

The next round is ready to go, except I can't login to
master.kernel.org today.  As soon as that is resolved, I'll push and
send the pull requests.

Thanks,

John

P.S.  If you haven't pulled due to some objection, please send me a
note to let me know why.
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2007-01-18 Thread John W. Linville
The following changes since commit 10764889c6355cbb335cf0578ce12427475d1a65:
  Larry Finger (1):
bcm43xx: Fix failure to deliver PCI-E interrupts

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (6):
  zd1211rw: Generic HMAC initialization
  zd1211rw: 2 new ZD1211B device ID's
  zd1211rw: Consistency for address space constants
  zd1211rw: Remove addressing abstraction
  zd1211rw: Add ID for Linksys WUSBF54G
  zd1211rw: Add ID for ZyXEL ZyAIR G-220 v2

John W. Linville (1):
  softmac: avoid assert in ieee80211softmac_wx_get_rate

Kai Engert (1):
  prism54: add ethtool -i interface

Larry Finger (1):
  bcm43xx: Interrogate hardware-enable switch and update LEDs

Michael Buesch (1):
  Update Prism54 MAINTAINERS entry

Zhu Yi (1):
  ipw2200: add iwconfig rts/frag auto support

 MAINTAINERS   |2 +-
 drivers/net/wireless/bcm43xx/bcm43xx.h|7 +-
 drivers/net/wireless/bcm43xx/bcm43xx_leds.c   |   11 +-
 drivers/net/wireless/bcm43xx/bcm43xx_main.c   |   36 --
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c  |2 +
 drivers/net/wireless/bcm43xx/bcm43xx_radio.h  |   16 +++
 drivers/net/wireless/ipw2200.c|4 +-
 drivers/net/wireless/prism54/islpci_dev.c |   13 ++
 drivers/net/wireless/prism54/islpci_dev.h |4 +
 drivers/net/wireless/prism54/islpci_hotplug.c |3 -
 drivers/net/wireless/zd1211rw/zd_chip.c   |  126 ++--
 drivers/net/wireless/zd1211rw/zd_chip.h   |  158 ++---
 drivers/net/wireless/zd1211rw/zd_def.h|2 +
 drivers/net/wireless/zd1211rw/zd_ieee80211.h  |1 -
 drivers/net/wireless/zd1211rw/zd_rf.h |2 -
 drivers/net/wireless/zd1211rw/zd_types.h  |   71 ---
 drivers/net/wireless/zd1211rw/zd_usb.c|  128 ++--
 drivers/net/wireless/zd1211rw/zd_usb.h|6 +-
 net/ieee80211/softmac/ieee80211softmac_wx.c   |6 +
 19 files changed, 256 insertions(+), 342 deletions(-)
 delete mode 100644 drivers/net/wireless/zd1211rw/zd_types.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 1b1491d..42b57cf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2654,7 +2654,7 @@ S:Supported
 
 PRISM54 WIRELESS DRIVER
 P: Prism54 Development Team
-M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
 L: netdev@vger.kernel.org
 W: http://prism54.org
 S: Maintained
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 8286678..3a064de 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -352,6 +352,10 @@
 #define BCM43xx_UCODEFLAG_UNKPACTRL0x0040
 #define BCM43xx_UCODEFLAG_JAPAN0x0080
 
+/* Hardware Radio Enable masks */
+#define BCM43xx_MMIO_RADIO_HWENABLED_HI_MASK (1  16)
+#define BCM43xx_MMIO_RADIO_HWENABLED_LO_MASK (1  4)
+
 /* Generic-Interrupt reasons. */
 #define BCM43xx_IRQ_READY  (1  0)
 #define BCM43xx_IRQ_BEACON (1  1)
@@ -758,7 +762,8 @@ struct bcm43xx_private {
bad_frames_preempt:1,   /* Use Bad Frames Preemption (default 
off) */
reg124_set_0x4:1,   /* Some variable to keep track of IRQ 
stuff. */
short_preamble:1,   /* TRUE, if short preamble is enabled. 
*/
-   firmware_norelease:1;   /* Do not release the firmware. Used on 
suspend. */
+   firmware_norelease:1,   /* Do not release the firmware. Used on 
suspend. */
+   radio_hw_enable:1;  /* TRUE if radio is hardware enabled */
 
struct bcm43xx_stats stats;
 
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_leds.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
index 7d383a2..8f198be 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
@@ -26,6 +26,7 @@
 */
 
 #include bcm43xx_leds.h
+#include bcm43xx_radio.h
 #include bcm43xx.h
 
 #include asm/bitops.h
@@ -108,6 +109,7 @@ static void bcm43xx_led_init_hardcoded(struct 
bcm43xx_private *bcm,
switch (led_index) {
case 0:
led-behaviour = BCM43xx_LED_ACTIVITY;
+   led-activelow = 1;
if (bcm-board_vendor == PCI_VENDOR_ID_COMPAQ)
led-behaviour = BCM43xx_LED_RADIO_ALL;
break;
@@ -199,20 +201,21 @@ void bcm43xx_leds_update(struct bcm43xx_private *bcm, int 
activity)
turn_on = activity;
break;
case BCM43xx_LED_RADIO_ALL:
-   turn_on = radio-enabled;
+   turn_on = radio-enabled  
bcm43xx_is_hw_radio_enabled(bcm);
break;
case BCM43xx_LED_RADIO_A:
case BCM43xx_LED_BCM4303_2:
-   turn_on = (radio-enabled  phy-type == 

Re: Please pull 'upstream' branch of wireless-2.6

2007-01-18 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 10764889c6355cbb335cf0578ce12427475d1a65:
  Larry Finger (1):
bcm43xx: Fix failure to deliver PCI-E interrupts

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


ACK.  Open question of parentage, though:  I just rebased 
netdev-2.6.git#upstream.  Is your wireless-2.6 affected by this rebase?


If not, I will go ahead and pull.

Jeff



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2007-01-02 Thread John W. Linville
On Wed, Dec 27, 2006 at 07:10:57PM -0500, John W. Linville wrote:
 On Tue, Dec 26, 2006 at 04:39:38PM -0500, Jeff Garzik wrote:
  John W. Linville wrote:
  The following changes since commit 
  0c234ae655a45ac3ee53a25b2e56e9bb6c27d71d:
Ulrich Kunitz (1):
  ieee80211softmac: Fix mutex_lock at exit of 
  ieee80211_softmac_get_genie
  
  are found in the git repository at:
  
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream
  
  Roy Marples (1):
prism54: set carrier flags correctly
  
  Why is this not #upstream-fixes material?  What's the impact?
 
 Just being cautious, really.  I have no objection if you want to pull
 it as a fix.

After further review...

Jeff, it looks like you have not pulled this one so far.  Based on
the commentary from Roger While [1], lets hold-off on this one.

Roy, please consider refactoring your patch based on Roger's comments.

Thanks,

John

[1] http://marc.10east.com/?l=linux-netdevm=116740017623597w=2

-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2007-01-02 Thread John W. Linville
The following changes since commit fe5f8e2a1c5c040209c598a28e19c55f30e1040d:
  Zhu Yi (1):
ipw2100: Fix dropping fragmented small packet problem

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake (5):
  zd1211rw: Generic HMAC initialization
  zd1211rw: 2 new ZD1211B device ID's
  zd1211rw: Consistency for address space constants
  zd1211rw: Remove addressing abstraction
  zd1211rw: Add ID for Linksys WUSBF54G

John W. Linville (1):
  softmac: avoid assert in ieee80211softmac_wx_get_rate

Kai Engert (1):
  prism54: add ethtool -i interface

Larry Finger (1):
  bcm43xx: Interrogate hardware-enable switch and update LEDs

Michael Buesch (1):
  Update Prism54 MAINTAINERS entry

 MAINTAINERS   |2 +-
 drivers/net/wireless/bcm43xx/bcm43xx.h|7 +-
 drivers/net/wireless/bcm43xx/bcm43xx_leds.c   |   11 +-
 drivers/net/wireless/bcm43xx/bcm43xx_main.c   |   36 --
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c  |2 +
 drivers/net/wireless/bcm43xx/bcm43xx_radio.h  |   16 +++
 drivers/net/wireless/prism54/islpci_dev.c |   13 ++
 drivers/net/wireless/prism54/islpci_dev.h |4 +
 drivers/net/wireless/prism54/islpci_hotplug.c |3 -
 drivers/net/wireless/zd1211rw/zd_chip.c   |  126 ++--
 drivers/net/wireless/zd1211rw/zd_chip.h   |  158 ++---
 drivers/net/wireless/zd1211rw/zd_def.h|2 +
 drivers/net/wireless/zd1211rw/zd_ieee80211.h  |1 -
 drivers/net/wireless/zd1211rw/zd_rf.h |2 -
 drivers/net/wireless/zd1211rw/zd_types.h  |   71 ---
 drivers/net/wireless/zd1211rw/zd_usb.c|  127 ++--
 drivers/net/wireless/zd1211rw/zd_usb.h|6 +-
 net/ieee80211/softmac/ieee80211softmac_wx.c   |6 +
 18 files changed, 253 insertions(+), 340 deletions(-)
 delete mode 100644 drivers/net/wireless/zd1211rw/zd_types.h

diff --git a/MAINTAINERS b/MAINTAINERS
index d5a97d3..edb4c39 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2606,7 +2606,7 @@ S:Supported
 
 PRISM54 WIRELESS DRIVER
 P: Prism54 Development Team
-M: [EMAIL PROTECTED]
+M: [EMAIL PROTECTED]
 L: netdev@vger.kernel.org
 W: http://prism54.org
 S: Maintained
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 8286678..3a064de 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -352,6 +352,10 @@
 #define BCM43xx_UCODEFLAG_UNKPACTRL0x0040
 #define BCM43xx_UCODEFLAG_JAPAN0x0080
 
+/* Hardware Radio Enable masks */
+#define BCM43xx_MMIO_RADIO_HWENABLED_HI_MASK (1  16)
+#define BCM43xx_MMIO_RADIO_HWENABLED_LO_MASK (1  4)
+
 /* Generic-Interrupt reasons. */
 #define BCM43xx_IRQ_READY  (1  0)
 #define BCM43xx_IRQ_BEACON (1  1)
@@ -758,7 +762,8 @@ struct bcm43xx_private {
bad_frames_preempt:1,   /* Use Bad Frames Preemption (default 
off) */
reg124_set_0x4:1,   /* Some variable to keep track of IRQ 
stuff. */
short_preamble:1,   /* TRUE, if short preamble is enabled. 
*/
-   firmware_norelease:1;   /* Do not release the firmware. Used on 
suspend. */
+   firmware_norelease:1,   /* Do not release the firmware. Used on 
suspend. */
+   radio_hw_enable:1;  /* TRUE if radio is hardware enabled */
 
struct bcm43xx_stats stats;
 
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_leds.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
index 7d383a2..8f198be 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_leds.c
@@ -26,6 +26,7 @@
 */
 
 #include bcm43xx_leds.h
+#include bcm43xx_radio.h
 #include bcm43xx.h
 
 #include asm/bitops.h
@@ -108,6 +109,7 @@ static void bcm43xx_led_init_hardcoded(struct 
bcm43xx_private *bcm,
switch (led_index) {
case 0:
led-behaviour = BCM43xx_LED_ACTIVITY;
+   led-activelow = 1;
if (bcm-board_vendor == PCI_VENDOR_ID_COMPAQ)
led-behaviour = BCM43xx_LED_RADIO_ALL;
break;
@@ -199,20 +201,21 @@ void bcm43xx_leds_update(struct bcm43xx_private *bcm, int 
activity)
turn_on = activity;
break;
case BCM43xx_LED_RADIO_ALL:
-   turn_on = radio-enabled;
+   turn_on = radio-enabled  
bcm43xx_is_hw_radio_enabled(bcm);
break;
case BCM43xx_LED_RADIO_A:
case BCM43xx_LED_BCM4303_2:
-   turn_on = (radio-enabled  phy-type == 
BCM43xx_PHYTYPE_A);
+   turn_on = (radio-enabled  
bcm43xx_is_hw_radio_enabled(bcm) 
+  phy-type == BCM43xx_PHYTYPE_A);
 

Re. Please pull 'upstream' branch of wireless-2.6

2006-12-29 Thread Roger While



 Roy Marples (1):
   prism54: set carrier flags correctly

Why is this not #upstream-fixes material?  What's the impact?


Actually, I think the patch is incorrect.
At best it is insufficient and at worst it
stops the driver working correctly.

I can't see why we do carrier_off after start_queue in the open.
Other drivers (eg. ipw2100) do carrier_on.

We should also look at other places where eg. stop_queue
is called and do a carrier_off eg. the close routine.
(Amongst others)

Also according to Documentation/networking/operstates.txt
(netif_carrier_on/off) -
It is guaranteed that only the driver has write access,
 however, if different layers of the driver manipulate the same flag,
 the driver has to provide the synchronisation needed.

The trap routine in isl_ioctl.c however is lockless.
Assuming that the doc is correct, I would have thought
that putting carrier_on/off here is buggy or ?

Roger While


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-12-27 Thread John W. Linville
On Tue, Dec 26, 2006 at 04:39:38PM -0500, Jeff Garzik wrote:
 John W. Linville wrote:
 The following changes since commit 
 0c234ae655a45ac3ee53a25b2e56e9bb6c27d71d:
   Ulrich Kunitz (1):
 ieee80211softmac: Fix mutex_lock at exit of 
 ieee80211_softmac_get_genie
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
   upstream
 
 Roy Marples (1):
   prism54: set carrier flags correctly
 
 Why is this not #upstream-fixes material?  What's the impact?

Just being cautious, really.  I have no objection if you want to pull
it as a fix.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-12-20 Thread John W. Linville
The following changes since commit 0c234ae655a45ac3ee53a25b2e56e9bb6c27d71d:
  Ulrich Kunitz (1):
ieee80211softmac: Fix mutex_lock at exit of ieee80211_softmac_get_genie

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Roy Marples (1):
  prism54: set carrier flags correctly

 drivers/net/wireless/prism54/isl_ioctl.c  |5 -
 drivers/net/wireless/prism54/islpci_dev.c |4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/prism54/isl_ioctl.c 
b/drivers/net/wireless/prism54/isl_ioctl.c
index 838d510..25d42ac 100644
--- a/drivers/net/wireless/prism54/isl_ioctl.c
+++ b/drivers/net/wireless/prism54/isl_ioctl.c
@@ -2093,8 +2093,11 @@ link_changed(struct net_device *ndev, u32 bitrate)
} else
send_simple_event(netdev_priv(ndev),
  Link established);
-   } else
+   netif_carrier_on(ndev);
+   } else {
send_simple_event(netdev_priv(ndev), Link lost);
+   netif_carrier_off(ndev);
+   }
 }
 
 /* Beacon/ProbeResp payload header */
diff --git a/drivers/net/wireless/prism54/islpci_dev.c 
b/drivers/net/wireless/prism54/islpci_dev.c
index f057fd9..9c8c6f2 100644
--- a/drivers/net/wireless/prism54/islpci_dev.c
+++ b/drivers/net/wireless/prism54/islpci_dev.c
@@ -386,7 +386,9 @@ islpci_open(struct net_device *ndev)
}
 
netif_start_queue(ndev);
-/*  netif_mark_up( ndev ); */
+
+   /* Turn off carrier unless we know we have associated */
+   netif_carrier_off(ndev);
 
return 0;
 }
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-12-11 Thread John W. Linville
The following changes since commit 9202f32558601c2c99ddc438eb3218131d00d413:
  Ralf Baechle:
[MIPS] Export local_flush_data_cache_page for sake of IDE.

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Roy Marples:
  prism54: set carrier flags correctly

Ulrich Kunitz:
  zd1211rw: Call ieee80211_rx in tasklet
  ieee80211softmac: Fix errors related to the work_struct changes
  ieee80211softmac: Fix mutex_lock at exit of ieee80211_softmac_get_genie

 drivers/net/wireless/prism54/isl_ioctl.c   |5 +
 drivers/net/wireless/prism54/islpci_dev.c  |4 +
 drivers/net/wireless/zd1211rw/zd_mac.c |   96 ++--
 drivers/net/wireless/zd1211rw/zd_mac.h |5 +
 drivers/net/wireless/zd1211rw/zd_usb.c |4 +
 net/ieee80211/softmac/ieee80211softmac_assoc.c |4 +
 net/ieee80211/softmac/ieee80211softmac_wx.c|2 -
 7 files changed, 86 insertions(+), 34 deletions(-)

diff --git a/drivers/net/wireless/prism54/isl_ioctl.c 
b/drivers/net/wireless/prism54/isl_ioctl.c
index 96606ed..a6ffed1 100644
--- a/drivers/net/wireless/prism54/isl_ioctl.c
+++ b/drivers/net/wireless/prism54/isl_ioctl.c
@@ -2093,8 +2093,11 @@ link_changed(struct net_device *ndev, u3
} else
send_simple_event(netdev_priv(ndev),
  Link established);
-   } else
+   netif_carrier_on(ndev);
+   } else {
send_simple_event(netdev_priv(ndev), Link lost);
+   netif_carrier_off(ndev);
+   }
 }
 
 /* Beacon/ProbeResp payload header */
diff --git a/drivers/net/wireless/prism54/islpci_dev.c 
b/drivers/net/wireless/prism54/islpci_dev.c
index f057fd9..9c8c6f2 100644
--- a/drivers/net/wireless/prism54/islpci_dev.c
+++ b/drivers/net/wireless/prism54/islpci_dev.c
@@ -386,7 +386,9 @@ islpci_open(struct net_device *ndev)
}
 
netif_start_queue(ndev);
-/*  netif_mark_up( ndev ); */
+
+   /* Turn off carrier unless we know we have associated */
+   netif_carrier_off(ndev);
 
return 0;
 }
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c 
b/drivers/net/wireless/zd1211rw/zd_mac.c
index 00ca704..a085241 100644
--- a/drivers/net/wireless/zd1211rw/zd_mac.c
+++ b/drivers/net/wireless/zd1211rw/zd_mac.c
@@ -41,6 +41,8 @@ static void housekeeping_disable(struct 
 
 static void set_multicast_hash_handler(struct work_struct *work);
 
+static void do_rx(unsigned long mac_ptr);
+
 int zd_mac_init(struct zd_mac *mac,
struct net_device *netdev,
struct usb_interface *intf)
@@ -53,6 +55,10 @@ int zd_mac_init(struct zd_mac *mac,
INIT_DELAYED_WORK(mac-set_rts_cts_work, set_rts_cts_work);
INIT_DELAYED_WORK(mac-set_basic_rates_work, set_basic_rates_work);
 
+   skb_queue_head_init(mac-rx_queue);
+   tasklet_init(mac-rx_tasklet, do_rx, (unsigned long)mac);
+   tasklet_disable(mac-rx_tasklet);
+
ieee_init(ieee);
softmac_init(ieee80211_priv(netdev));
zd_chip_init(mac-chip, netdev, intf);
@@ -140,6 +146,8 @@ out:
 void zd_mac_clear(struct zd_mac *mac)
 {
flush_workqueue(zd_workqueue);
+   skb_queue_purge(mac-rx_queue);
+   tasklet_kill(mac-rx_tasklet);
zd_chip_clear(mac-chip);
ZD_ASSERT(!spin_is_locked(mac-lock));
ZD_MEMCLEAR(mac, sizeof(struct zd_mac));
@@ -168,6 +176,8 @@ int zd_mac_open(struct net_device *netde
struct zd_chip *chip = mac-chip;
int r;
 
+   tasklet_enable(mac-rx_tasklet);
+
r = zd_chip_enable_int(chip);
if (r  0)
goto out;
@@ -218,6 +228,8 @@ int zd_mac_stop(struct net_device *netde
 */
 
zd_chip_disable_rx(chip);
+   skb_queue_purge(mac-rx_queue);
+   tasklet_disable(mac-rx_tasklet);
housekeeping_disable(mac);
ieee80211softmac_stop(netdev);
 
@@ -470,13 +482,13 @@ static void bssinfo_change(struct net_de
 
if (changes  IEEE80211SOFTMAC_BSSINFOCHG_RATES) {
/* Set RTS rate to highest available basic rate */
-   u8 rate = ieee80211softmac_highest_supported_rate(softmac,
+   u8 hi_rate = ieee80211softmac_highest_supported_rate(softmac,
bssinfo-supported_rates, 1);
-   rate = rate_to_zd_rate(rate);
+   hi_rate = rate_to_zd_rate(hi_rate);
 
spin_lock_irqsave(mac-lock, flags);
-   if (rate != mac-rts_rate) {
-   mac-rts_rate = rate;
+   if (hi_rate != mac-rts_rate) {
+   mac-rts_rate = hi_rate;
need_set_rts_cts = 1;
}
spin_unlock_irqrestore(mac-lock, flags);
@@ -1072,43 +1084,75 @@ static int fill_rx_stats(struct ieee8021
return 0;
 }
 
-int zd_mac_rx(struct zd_mac *mac, const u8 *buffer, unsigned int length)
+static 

Re: Please pull 'upstream' branch of wireless-2.6

2006-12-07 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit e62438630ca37539c8cc1553710bbfaa3cf960a7:
  Matthew Wilcox:
Centralise definitions of sector_t and blkcnt_t

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


pulled, but there were workqueue-related conflicts.  let me know if 
#upstream doesn't match what you would like.




-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-12-05 Thread John W. Linville
The following changes since commit e62438630ca37539c8cc1553710bbfaa3cf960a7:
  Matthew Wilcox:
Centralise definitions of sector_t and blkcnt_t

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  zd1211rw: zd_mac_rx isn't always called in IRQ context
  zd1211rw: Fill enc_capa in GIWRANGE handler

Maxime Austruy:
  softmac: fix unbalanced mutex_lock/unlock in ieee80211softmac_wx_set_mlme

Ulrich Kunitz:
  zd1211rw: Support for multicast addresses
  softmac: Fixed handling of deassociation from AP

Yan Burman:
  hostap: replace kmalloc+memset with kzalloc
  prism54: replace kmalloc+memset with kzalloc
  ipw2200: replace kmalloc+memset with kcalloc

Zhu Yi:
  ipw2200: Add IEEE80211_RADIOTAP_TSFT for promiscuous mode
  ipw2200: Update version stamp to 1.2.0
  ipw2200: Fix a typo
  ipw2200: Fix debug output endian issue

 drivers/net/wireless/hostap/hostap_ap.c|4 --
 drivers/net/wireless/hostap/hostap_cs.c|3 -
 drivers/net/wireless/hostap/hostap_download.c  |4 --
 drivers/net/wireless/hostap/hostap_hw.c|   12 +
 drivers/net/wireless/hostap/hostap_info.c  |3 -
 drivers/net/wireless/hostap/hostap_ioctl.c |   12 +
 drivers/net/wireless/hostap/hostap_pci.c   |3 -
 drivers/net/wireless/hostap/hostap_plx.c   |3 -
 drivers/net/wireless/ipw2100.c |2 -
 drivers/net/wireless/ipw2200.c |   24 +++
 drivers/net/wireless/prism54/isl_ioctl.c   |9 +---
 drivers/net/wireless/prism54/oid_mgt.c |4 --
 drivers/net/wireless/zd1211rw/zd_chip.c|   13 ++
 drivers/net/wireless/zd1211rw/zd_chip.h|   43 +++
 drivers/net/wireless/zd1211rw/zd_mac.c |   53 ++--
 drivers/net/wireless/zd1211rw/zd_mac.h |3 +
 drivers/net/wireless/zd1211rw/zd_netdev.c  |2 -
 net/ieee80211/softmac/ieee80211softmac_assoc.c |   14 +-
 net/ieee80211/softmac/ieee80211softmac_auth.c  |2 +
 net/ieee80211/softmac/ieee80211softmac_priv.h  |2 +
 net/ieee80211/softmac/ieee80211softmac_wx.c|3 +
 21 files changed, 158 insertions(+), 60 deletions(-)

diff --git a/drivers/net/wireless/hostap/hostap_ap.c 
b/drivers/net/wireless/hostap/hostap_ap.c
index ba13125..798a855 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -1099,15 +1099,13 @@ static struct sta_info * ap_add_sta(stru
 {
struct sta_info *sta;
 
-   sta = (struct sta_info *)
-   kmalloc(sizeof(struct sta_info), GFP_ATOMIC);
+   sta = kzalloc(sizeof(struct sta_info), GFP_ATOMIC);
if (sta == NULL) {
PDEBUG(DEBUG_AP, AP: kmalloc failed\n);
return NULL;
}
 
/* initialize STA info data */
-   memset(sta, 0, sizeof(struct sta_info));
sta-local = ap-local;
skb_queue_head_init(sta-tx_buf);
memcpy(sta-addr, addr, ETH_ALEN);
diff --git a/drivers/net/wireless/hostap/hostap_cs.c 
b/drivers/net/wireless/hostap/hostap_cs.c
index f63909e..ef470e6 100644
--- a/drivers/net/wireless/hostap/hostap_cs.c
+++ b/drivers/net/wireless/hostap/hostap_cs.c
@@ -566,12 +566,11 @@ static int prism2_config(struct pcmcia_d
PDEBUG(DEBUG_FLOW, prism2_config()\n);
 
parse = kmalloc(sizeof(cisparse_t), GFP_KERNEL);
-   hw_priv = kmalloc(sizeof(*hw_priv), GFP_KERNEL);
+   hw_priv = kzalloc(sizeof(*hw_priv), GFP_KERNEL);
if (parse == NULL || hw_priv == NULL) {
ret = -ENOMEM;
goto failed;
}
-   memset(hw_priv, 0, sizeof(*hw_priv));
 
tuple.DesiredTuple = CISTPL_CONFIG;
tuple.Attributes = 0;
diff --git a/drivers/net/wireless/hostap/hostap_download.c 
b/drivers/net/wireless/hostap/hostap_download.c
index ab26b52..24fc387 100644
--- a/drivers/net/wireless/hostap/hostap_download.c
+++ b/drivers/net/wireless/hostap/hostap_download.c
@@ -685,14 +685,12 @@ static int prism2_download(local_info_t 
goto out;
}
 
-   dl = kmalloc(sizeof(*dl) + param-num_areas *
+   dl = kzalloc(sizeof(*dl) + param-num_areas *
 sizeof(struct prism2_download_data_area), GFP_KERNEL);
if (dl == NULL) {
ret = -ENOMEM;
goto out;
}
-   memset(dl, 0, sizeof(*dl) + param-num_areas *
-  sizeof(struct prism2_download_data_area));
dl-dl_cmd = param-dl_cmd;
dl-start_addr = param-start_addr;
dl-num_areas = param-num_areas;
diff --git a/drivers/net/wireless/hostap/hostap_hw.c 
b/drivers/net/wireless/hostap/hostap_hw.c
index ed00ebb..9c50336 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -347,14 +347,12 @@ static int hfa384x_cmd(struct net_device
if 

Re: Please pull 'upstream' branch of wireless-2.6

2006-11-28 Thread John W. Linville
On Tue, Nov 14, 2006 at 08:31:12PM -0500, John W. Linville wrote:
 The following changes since commit 4c5d3c72166676663c3917839a030b86fa758b23:
   John W. Linville:
 Merge branch 'upstream-fixes' into upstream
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream

Please ignore this request, in favor of the one to be posted later
today.

-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-11-14 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit d4f748365129ccfc9dadf6fb14331e45e33cc4ed:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

John W. Linville:
  wireless: clean-up some check return code warnings

Larry Finger:
  bcm43xx: remove badness variable and related routine
  bcm43xx: Remove useless core enable/disable messages
  ieee80211softmac: fix verbosity when debug disabled

 drivers/net/wireless/bcm43xx/bcm43xx_main.c   |   56 +
 drivers/net/wireless/hostap/hostap_pci.c  |8 +++-
 drivers/net/wireless/ipw2100.c|8 +++-
 drivers/net/wireless/ipw2200.c|8 +++-
 drivers/net/wireless/orinoco_pci.h|7 +++
 drivers/net/wireless/prism54/islpci_hotplug.c |   20 +++--
 net/ieee80211/softmac/ieee80211softmac_auth.c |   10 ++--
 7 files changed, 60 insertions(+), 57 deletions(-)


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-11-14 Thread John W. Linville
The following changes since commit 4c5d3c72166676663c3917839a030b86fa758b23:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

John W. Linville:
  prism54: correct overly aggressive check of return from pci_set_mwi

Larry Finger:
  bcm43xx: correct Move IV/ICV stripping into ieee80211_rx

 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c   |1 +
 drivers/net/wireless/prism54/islpci_hotplug.c |4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_xmit.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_xmit.c
index a957bc8..3e24626 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_xmit.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_xmit.c
@@ -543,6 +543,7 @@ int bcm43xx_rx(struct bcm43xx_private *b
break;
}
 
+   frame_ctl = le16_to_cpu(wlhdr-frame_ctl);
switch (WLAN_FC_GET_TYPE(frame_ctl)) {
case IEEE80211_FTYPE_MGMT:
ieee80211_rx_mgt(bcm-ieee, wlhdr, stats);
diff --git a/drivers/net/wireless/prism54/islpci_hotplug.c 
b/drivers/net/wireless/prism54/islpci_hotplug.c
index e0bca3a..58257b4 100644
--- a/drivers/net/wireless/prism54/islpci_hotplug.c
+++ b/drivers/net/wireless/prism54/islpci_hotplug.c
@@ -170,8 +170,8 @@ #endif
pci_set_master(pdev);
 
/* enable MWI */
-   if (pci_set_mwi(pdev))
-   goto do_pci_release_regions;
+   if (!pci_set_mwi(pdev))
+   printk(KERN_INFO %s: pci_set_mwi(pdev) succeeded\n, DRV_NAME);
 
/* setup the network device interface and its structure */
if (!(ndev = islpci_setup(pdev))) {
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re. Please pull 'upstream' branch of wireless-2.6

2006-11-09 Thread Roger While

John wrote :

Yeah, looks like I was a bit overzealous on the warning squelch...

I'll cook-up a new patch that doesn't error-out.


I hope you do not bloat the kernel with meaningless warning messages.
Something simple like the following will do.

/* enable MWI */
/* Shut up the must_check tests - We don't care if this does not 
succeed */

if (pci_set_mwi(pdev))
rvalue = 0;


Roger While


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re. Please pull 'upstream' branch of wireless-2.6

2006-11-08 Thread Roger While

John, you just broke a considerable number of prism54 users.
It is NOT an error if the MWI set fails. This is just a
performance tweak and has NO effect on the driver working.

Roger While


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Re. Please pull 'upstream' branch of wireless-2.6

2006-11-08 Thread John W. Linville
On Wed, Nov 08, 2006 at 06:27:54PM +0100, Roger While wrote:
 John, you just broke a considerable number of prism54 users.
 It is NOT an error if the MWI set fails. This is just a
 performance tweak and has NO effect on the driver working.

Yeah, looks like I was a bit overzealous on the warning squelch...

I'll cook-up a new patch that doesn't error-out.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-11-08 Thread John W. Linville
On Tue, Nov 07, 2006 at 11:59:27PM -0500, John W. Linville wrote:
 The following changes since commit d4f748365129ccfc9dadf6fb14331e45e33cc4ed:
   John W. Linville:
 Merge branch 'upstream-fixes' into upstream
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream
 
 John W. Linville:
   wireless: clean-up some check return code warnings

Jeff, hold-off on this pull.  You can still go ahead and pull the
'upstream-fixes' branch at your pleasure.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-11-07 Thread John W. Linville
The following changes since commit d4f748365129ccfc9dadf6fb14331e45e33cc4ed:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

John W. Linville:
  wireless: clean-up some check return code warnings

Larry Finger:
  bcm43xx: remove badness variable and related routine
  bcm43xx: Remove useless core enable/disable messages
  ieee80211softmac: fix verbosity when debug disabled

 drivers/net/wireless/bcm43xx/bcm43xx_main.c   |   56 +
 drivers/net/wireless/hostap/hostap_pci.c  |8 +++-
 drivers/net/wireless/ipw2100.c|8 +++-
 drivers/net/wireless/ipw2200.c|8 +++-
 drivers/net/wireless/orinoco_pci.h|7 +++
 drivers/net/wireless/prism54/islpci_hotplug.c |   20 +++--
 net/ieee80211/softmac/ieee80211softmac_auth.c |   10 ++--
 7 files changed, 60 insertions(+), 57 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index c6bd868..60a9745 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -2684,14 +2684,10 @@ #endif
bcm-chip_id, bcm-chip_rev);
dprintk(KERN_INFO PFX Number of cores: %d\n, core_count);
if (bcm-core_chipcommon.available) {
-   dprintk(KERN_INFO PFX Core 0: ID 0x%x, rev 0x%x, vendor 0x%x, 
%s\n,
-   core_id, core_rev, core_vendor,
-   bcm43xx_core_enabled(bcm) ? enabled : disabled);
-   }
-
-   if (bcm-core_chipcommon.available)
+   dprintk(KERN_INFO PFX Core 0: ID 0x%x, rev 0x%x, vendor 
0x%x\n,
+   core_id, core_rev, core_vendor);
current_core = 1;
-   else
+   } else
current_core = 0;
for ( ; current_core  core_count; current_core++) {
struct bcm43xx_coreinfo *core;
@@ -2709,9 +2705,8 @@ #endif
core_rev = (sb_id_hi  0xF);
core_vendor = (sb_id_hi  0x)  16;
 
-   dprintk(KERN_INFO PFX Core %d: ID 0x%x, rev 0x%x, vendor 0x%x, 
%s\n,
-   current_core, core_id, core_rev, core_vendor,
-   bcm43xx_core_enabled(bcm) ? enabled : disabled );
+   dprintk(KERN_INFO PFX Core %d: ID 0x%x, rev 0x%x, vendor 
0x%x\n,
+   current_core, core_id, core_rev, core_vendor);
 
core = NULL;
switch (core_id) {
@@ -3209,55 +3204,27 @@ static void bcm43xx_periodic_every15sec(
 
 static void do_periodic_work(struct bcm43xx_private *bcm)
 {
-   unsigned int state;
-
-   state = bcm-periodic_state;
-   if (state % 8 == 0)
+   if (bcm-periodic_state % 8 == 0)
bcm43xx_periodic_every120sec(bcm);
-   if (state % 4 == 0)
+   if (bcm-periodic_state % 4 == 0)
bcm43xx_periodic_every60sec(bcm);
-   if (state % 2 == 0)
+   if (bcm-periodic_state % 2 == 0)
bcm43xx_periodic_every30sec(bcm);
-   if (state % 1 == 0)
-   bcm43xx_periodic_every15sec(bcm);
-   bcm-periodic_state = state + 1;
+   bcm43xx_periodic_every15sec(bcm);
 
schedule_delayed_work(bcm-periodic_work, HZ * 15);
 }
 
-/* Estimate a Badness value based on the periodic work
- * state-machine state. Badness is worse (bigger), if the
- * periodic work will take longer.
- */
-static int estimate_periodic_work_badness(unsigned int state)
-{
-   int badness = 0;
-
-   if (state % 8 == 0) /* every 120 sec */
-   badness += 10;
-   if (state % 4 == 0) /* every 60 sec */
-   badness += 5;
-   if (state % 2 == 0) /* every 30 sec */
-   badness += 1;
-   if (state % 1 == 0) /* every 15 sec */
-   badness += 1;
-
-#define BADNESS_LIMIT  4
-   return badness;
-}
-
 static void bcm43xx_periodic_work_handler(void *d)
 {
struct bcm43xx_private *bcm = d;
struct net_device *net_dev = bcm-net_dev;
unsigned long flags;
u32 savedirqs = 0;
-   int badness;
unsigned long orig_trans_start = 0;
 
mutex_lock(bcm-mutex);
-   badness = estimate_periodic_work_badness(bcm-periodic_state);
-   if (badness  BADNESS_LIMIT) {
+   if (unlikely(bcm-periodic_state % 4 == 0)) {
/* Periodic work will take a long time, so we want it to
 * be preemtible.
 */
@@ -3289,7 +3256,7 @@ static void bcm43xx_periodic_work_handle
 
do_periodic_work(bcm);
 
-   if (badness  BADNESS_LIMIT) {
+   if (unlikely(bcm-periodic_state % 4 == 0)) {
spin_lock_irqsave(bcm-irq_lock, flags);
tasklet_enable(bcm-isr_tasklet);
bcm43xx_interrupt_enable(bcm, savedirqs);
@@ -3300,6 +3267,7 @@ 

Please pull 'upstream' branch of wireless-2.6.git

2006-10-31 Thread John W. Linville
The following changes since commit ff584489917961599b9044584bb8ba6fd5d8f11b:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Christian Lamparter:
  wext: extend MLME support

Daniel Drake:
  zd1211rw: Add ID for ZyXEL G-220

 drivers/net/wireless/zd1211rw/zd_usb.c |1 +
 include/linux/wireless.h   |2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c 
b/drivers/net/wireless/zd1211rw/zd_usb.c
index 005ca7a..5cc99b5 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -50,6 +50,7 @@ static struct usb_device_id usb_ids[] = 
{ USB_DEVICE(0x1435, 0x0711), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x0586, 0x3409), .driver_info = DEVICE_ZD1211 },
{ USB_DEVICE(0x0b3b, 0x1630), .driver_info = DEVICE_ZD1211 },
+   { USB_DEVICE(0x0586, 0x3401), .driver_info = DEVICE_ZD1211 },
/* ZD1211B */
{ USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },
{ USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B },
diff --git a/include/linux/wireless.h b/include/linux/wireless.h
index a50a013..7c269f4 100644
--- a/include/linux/wireless.h
+++ b/include/linux/wireless.h
@@ -546,6 +546,8 @@ #define IW_GENERIC_IE_MAX   1024
 /* MLME requests (SIOCSIWMLME / struct iw_mlme) */
 #define IW_MLME_DEAUTH 0
 #define IW_MLME_DISASSOC   1
+#define IW_MLME_AUTH   2
+#define IW_MLME_ASSOC  3
 
 /* SIOCSIWAUTH/SIOCGIWAUTH struct iw_param flags */
 #define IW_AUTH_INDEX  0x0FFF
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-10-21 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 41072a1be57f63bf83afc31c44d72de018d800fa:
  John W. Linville:
zd1211rw: fix build-break caused by association race fix

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Alexey Dobriyan:
  prism54: use BUILD_BUG_ON

Daniel Drake:
  zd1211rw: Add 3 more device IDs
  ieee80211: Move IV/ICV stripping into ieee80211_rx

Dmitry Torokhov:
  atmel: save on array initialization
  atmel: use ARRAY_SIZE()
  atmel: whitespace cleanup
  prism54: fix potential race in reset scheduling
  prism54: whitespace cleanup

Holden Karau:
  atmel: output signal strength information

Larry Finger:
  bcm43xx: output proper link quality with scans
  ieee80211: Drop and count duplicate data frames to remove 'replay 
detected' log messages

matthieu castet:
  ieee80211: allow mtu bigger than 1500

Stefano Brivio:
  bcm43xx: add PCI-E code


pulled

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6.git

2006-09-25 Thread John W. Linville
The following changes since commit 7c250413e5b7c3dfae89354725b70c76d7621395:
  Al Viro:
pata_pdc2027x iomem annotations

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  WE-21 for zd1211rw
  softmac: Update MAINTAINERS entry

Jean Tourrilhes:
  WE-21 for airo
  WE-21 for atmel
  WE-21 for hostap
  WE-21 for ipw2100
  WE-21 for orinoco
  WE-21 for Prism54
  WE-21 for ray_cs
  WE-21 for wl3501
  WE-21 for zd1201
  WE-21 for ipw2200

John W. Linville:
  WE-21 support (core API)

Larry Finger:
  bcm43xx: WE-21 support
  bcm43xx-softmac: update PHY initialization
  bcm43xx-softmac: update noise handling
  bcm43xx-softmac: improve wrong firmware message
  bcm43xx: fix netdev watchdog timeouts

Ulrich Kunitz:
  zd1211rw: 16-bit writes for physical control registers
  zd1211rw: Removes wrong assertions
  zd1211rw: Added workqueue
  zd1211rw: Add LED support

 MAINTAINERS |1 
 drivers/net/wireless/airo.c |   19 ++--
 drivers/net/wireless/atmel.c|   18 ++--
 drivers/net/wireless/bcm43xx/bcm43xx.h  |1 
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   10 +-
 drivers/net/wireless/bcm43xx/bcm43xx_phy.c  |   15 +--
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c   |2 
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c |5 -
 drivers/net/wireless/hostap/hostap_ioctl.c  |   10 +-
 drivers/net/wireless/ipw2100.c  |   14 +--
 drivers/net/wireless/ipw2200.c  |   16 +--
 drivers/net/wireless/orinoco.c  |   10 +-
 drivers/net/wireless/prism54/isl_ioctl.c|   16 ++-
 drivers/net/wireless/ray_cs.c   |2 
 drivers/net/wireless/wl3501_cs.c|6 +
 drivers/net/wireless/zd1201.c   |2 
 drivers/net/wireless/zd1211rw/zd_chip.c |  137 +++
 drivers/net/wireless/zd1211rw/zd_chip.h |   23 +++--
 drivers/net/wireless/zd1211rw/zd_mac.c  |   50 ++
 drivers/net/wireless/zd1211rw/zd_mac.h  |5 +
 drivers/net/wireless/zd1211rw/zd_netdev.c   |2 
 drivers/net/wireless/zd1211rw/zd_usb.c  |   10 ++
 drivers/net/wireless/zd1211rw/zd_usb.h  |2 
 include/linux/netdevice.h   |1 
 include/linux/wireless.h|   24 -
 net/core/net-sysfs.c|5 -
 net/core/wireless.c |   67 -
 net/ieee80211/softmac/ieee80211softmac_wx.c |8 +-
 28 files changed, 274 insertions(+), 207 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 16af51b..bd446e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2655,7 +2655,6 @@ M:[EMAIL PROTECTED]
 P: Daniel Drake
 M: [EMAIL PROTECTED]
 W: http://softmac.sipsolutions.net/
-L: [EMAIL PROTECTED]
 L: netdev@vger.kernel.org
 S: Maintained
 
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index bff04cb..ba737c6 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -5868,7 +5868,7 @@ static int airo_set_essid(struct net_dev
int index = (dwrq-flags  IW_ENCODE_INDEX) - 1;
 
/* Check the size of the string */
-   if(dwrq-length  IW_ESSID_MAX_SIZE+1) {
+   if(dwrq-length  IW_ESSID_MAX_SIZE) {
return -E2BIG ;
}
/* Check if index is valid */
@@ -5880,7 +5880,7 @@ static int airo_set_essid(struct net_dev
memset(SSID_rid.ssids[index].ssid, 0,
   sizeof(SSID_rid.ssids[index].ssid));
memcpy(SSID_rid.ssids[index].ssid, extra, dwrq-length);
-   SSID_rid.ssids[index].len = dwrq-length - 1;
+   SSID_rid.ssids[index].len = dwrq-length;
}
SSID_rid.len = sizeof(SSID_rid);
/* Write it to the card */
@@ -5990,7 +5990,7 @@ static int airo_set_nick(struct net_devi
struct airo_info *local = dev-priv;
 
/* Check the size of the string */
-   if(dwrq-length  16 + 1) {
+   if(dwrq-length  16) {
return -E2BIG;
}
readConfigRid(local, 1);
@@ -6015,7 +6015,7 @@ static int airo_get_nick(struct net_devi
readConfigRid(local, 1);
strncpy(extra, local-config.nodeName, 16);
extra[16] = '\0';
-   dwrq-length = strlen(extra) + 1;
+   dwrq-length = strlen(extra);
 
return 0;
 }
@@ -6767,9 +6767,9 @@ static int airo_set_retry(struct net_dev
}
readConfigRid(local, 1);
if(vwrq-flags  IW_RETRY_LIMIT) {
-   if(vwrq-flags  IW_RETRY_MAX)
+   if(vwrq-flags  IW_RETRY_LONG)
local-config.longRetryLimit = vwrq-value;
-   else if (vwrq-flags  IW_RETRY_MIN)
+   else if (vwrq-flags  IW_RETRY_SHORT)
   

wireless-2.6 now has a 'pending' branch (was Re: Please pull 'upstream' branch of wireless-2.6.git)

2006-09-25 Thread John W. Linville
On Mon, Sep 25, 2006 at 05:50:43PM -0400, John W. Linville wrote:
 The following changes since commit 7c250413e5b7c3dfae89354725b70c76d7621395:
   Al Viro:
 pata_pdc2027x iomem annotations
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream

It's been a little while, and for that I apologize.  Work, kids, elderly
relatives, blah, blah, blah... :-(

Anyway, this covers _almost_ everything I've got in my queue for pushing
upstream.  The exceptions are a couple of patches posted very recently
which I'd like to give a chance to simmer first.  That gives people a
little more time to review them rather than asking me to revert them
later... :-)

Anyway, I know have a pending branch.  Patches on this branch are
really only there for three reasons:

-- to let the author know I got the patch;

-- to let me know that the patch applies to the tree; and,

-- to enhance a patch's exposure for review.

I do not intend to add my Signed-off-by: to patches on the pending
branch.  This is intended to further signify (albeit subtley) that
they are not yet queued for upstream.  This also implies that I won't
be pulling from that branch, so you shouldn't be pulling from there
into your own trees either (except for the purpose of reviewing the
patches, of course).  I probably won't usually announce new patches
in the pending branch, so feel free to check it periodically.

For now, the pending branch is just a trial intended to add more
visibility to the process.  Feel free to propose changes to the
pending process if it does not seem to be effective.  YMMV, objects
in mirror may be closer than they appear, you are not expected to
understand this, etc... :-)

John

P.S.  Individual patches are available here (w/o using git):


http://www.kernel.org/pub/linux/kernel/people/linville/wireless-2.6/pending

---

The following changes since commit a67ab2bde752b26be75d4b68ecead9a14692eac5:
  Larry Finger:
bcm43xx: fix netdev watchdog timeouts

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
pending

Daniel Drake:
  ieee80211: Move IV/ICV stripping into ieee80211_rx

Larry Finger:
  ieee80211: quiet TKIP and CCMP replay messages for identical TSCs

 drivers/net/wireless/bcm43xx/bcm43xx_main.c |3 +
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c |   19 -
 drivers/net/wireless/ipw2200.c  |   48 +--
 include/net/ieee80211.h |4 ++
 net/ieee80211/ieee80211_crypt_ccmp.c|2 -
 net/ieee80211/ieee80211_crypt_tkip.c|2 -
 net/ieee80211/ieee80211_rx.c|   56 ---
 7 files changed, 61 insertions(+), 73 deletions(-)
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6.git

2006-09-25 Thread Jeff Garzik

pulled

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-09-12 Thread Jeff Garzik

pulled

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-09-12 Thread Michael Buesch
On Tuesday 12 September 2006 01:59, John W. Linville wrote:
 + value16 = bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 +  BCM43xx_UCODE_REVISION);
 +
 + dprintk(KERN_INFO PFX Microcode rev 0x%x, pl 0x%x 
 + (20%.2i-%.2i-%.2i  %.2i:%.2i:%.2i)\n, value16,
 + bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 +BCM43xx_UCODE_PATCHLEVEL),
 + (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 + BCM43xx_UCODE_DATE)  12)  0xf,
 + (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 + BCM43xx_UCODE_DATE)  8)  0xf,
 + bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 +BCM43xx_UCODE_DATE)  0xff,
 + (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 +BCM43xx_UCODE_TIME)  11)  0x1f,
 + (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 +BCM43xx_UCODE_TIME)  5)  0x3f,
 + bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
 +BCM43xx_UCODE_TIME)  0x1f);
 +
 + if ( value16  0x128 ) {
 + dprintk(KERN_ERR PFX
 + Firmware: no support for microcode rev  0x128\n);
 + err = -1;
 + goto err_release_fw;
 + }

Hm, this mustn't be a dprintk, as it's compiled away if
debugging is disabled. So it silently fails.
The text could be clarified, too.
returning -1 as error code is also very bad, as it's
propagated to userspace. I suggest EOPNOTSUPP, but maybe there's
something better.
Larry, can you do a patch which changes it to something like the following?

if ( value16  0x128 ) {
printk(KERN_ERR PFX
Firmware: no support for microcode extracted 
from version 4.x binary drivers.\n);
err = -EOPNOTSUPP;
goto err_release_fw;
}

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-09-11 Thread John W. Linville
The following changes since commit 34fa0e319c760189f1fc226acc5b3b387dc58099:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Christian Steineck:
  hostap_cs: added support for Proxim Harmony PCI W-Lan card

Daniel Drake:
  zd1211rw: Add ID for Siemens Gigaset USB Stick 54
  zd1211rw: Add ID for Asus WL-159g

Jean Tourrilhes:
  Prism54 : add bitrates to scan result

Larry Finger:
  bcm43xx-softmac: Init, shutdown and restart fixes
  bcm43xx: Correct out of sequence initialization step
  bcm43xx: remove dead statistics code
  bcm43xx: Add firmware version printout
  bcm43xx: ucode debug status via sysfs
  bcm43xx: remove dead code in bcm43xx_sysfs.c

Ulrich Kunitz:
  zd1211rw: Removed unneeded packed attributes

 drivers/net/wireless/bcm43xx/bcm43xx.h   |7 ++
 drivers/net/wireless/bcm43xx/bcm43xx_main.c  |   78 +-
 drivers/net/wireless/bcm43xx/bcm43xx_main.h  |3 +
 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c |   74 ++---
 drivers/net/wireless/hostap/hostap_cs.c  |1 
 drivers/net/wireless/prism54/isl_ioctl.c |   30 ++
 drivers/net/wireless/zd1211rw/zd_ieee80211.h |2 -
 drivers/net/wireless/zd1211rw/zd_mac.c   |2 -
 drivers/net/wireless/zd1211rw/zd_mac.h   |4 +
 drivers/net/wireless/zd1211rw/zd_usb.c   |2 +
 drivers/net/wireless/zd1211rw/zd_usb.h   |   14 ++---
 11 files changed, 169 insertions(+), 48 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 62fd7e2..6d4ea36 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -306,6 +306,13 @@ #define BCM43xx_SBF_NO_SSID_BCAST  0x0800
 #define BCM43xx_SBF_TIME_UPDATE0x1000
 #define BCM43xx_SBF_8000   0x8000 /*FIXME: fix name*/
 
+/* Microcode */
+#define BCM43xx_UCODE_REVISION 0x
+#define BCM43xx_UCODE_PATCHLEVEL   0x0002
+#define BCM43xx_UCODE_DATE 0x0004
+#define BCM43xx_UCODE_TIME 0x0006
+#define BCM43xx_UCODE_STATUS   0x0040
+
 /* MicrocodeFlagsBitfield (addr + lo-word values?)*/
 #define BCM43xx_UCODEFLAGS_OFFSET  0x005E
 
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 966815b..cb9a3ae 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -519,6 +519,7 @@ static int bcm43xx_disable_interrupts_sy
return -EBUSY;
}
bcm43xx_interrupt_disable(bcm, BCM43xx_IRQ_ALL);
+   bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_MASK); /* flush */
spin_unlock_irqrestore(bcm-irq_lock, flags);
bcm43xx_synchronize_irq(bcm);
 
@@ -1545,17 +1546,7 @@ static void handle_irq_noise(struct bcm4
else
average -= 48;
 
-/* FIXME: This is wrong, but people want fancy stats. well... */
-bcm-stats.noise = average;
-   if (average  -65)
-   bcm-stats.link_quality = 0;
-   else if (average  -75)
-   bcm-stats.link_quality = 1;
-   else if (average  -85)
-   bcm-stats.link_quality = 2;
-   else
-   bcm-stats.link_quality = 3;
-// dprintk(KERN_INFO PFX Link Quality: %u (avg was %d)\n, 
bcm-stats.link_quality, average);
+   bcm-stats.noise = average;
 drop_calculation:
bcm-noisecalc.calculation_running = 0;
return;
@@ -2393,6 +2384,33 @@ static int bcm43xx_chip_init(struct bcm4
}
bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy read */
 
+   value16 = bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+BCM43xx_UCODE_REVISION);
+
+   dprintk(KERN_INFO PFX Microcode rev 0x%x, pl 0x%x 
+   (20%.2i-%.2i-%.2i  %.2i:%.2i:%.2i)\n, value16,
+   bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+  BCM43xx_UCODE_PATCHLEVEL),
+   (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+   BCM43xx_UCODE_DATE)  12)  0xf,
+   (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+   BCM43xx_UCODE_DATE)  8)  0xf,
+   bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+  BCM43xx_UCODE_DATE)  0xff,
+   (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+  BCM43xx_UCODE_TIME)  11)  0x1f,
+   (bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+  BCM43xx_UCODE_TIME)  5)  0x3f,
+   bcm43xx_shm_read16(bcm, BCM43xx_SHM_SHARED,
+

Re: Please pull 'upstream' branch of wireless-2.6

2006-09-06 Thread Jeff Garzik

pulled

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-08-30 Thread John W. Linville
The following changes since commit e4ac2663ea27d5dda88d97d117080995fcfcd6d5:
  John W. Linville:
Merge branch 'from-linus' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Larry Finger:
  bcm43xx: optimization of DMA bitfields
  bcm43xx: return correct hard_start_xmit error code
  bcm43xx - set correct value in mac_suspended for ifdown/ifup sequence
  bcm43xx: Set floor of wireless signal and noise at -110 dBm

Michael Buesch:
  bcm43xx: 1G and 64bit DMA support
  bcm43xx: re-add bcm43xx_rng_init() call
  MAINTAINERS: Add Larry Finger for bcm43xx (softmac)

Pavel Roskin:
  orinoco: Don't use extern inline on locking functions
  orinoco: include linux/if_arp.h directly

Sukadev Bhattiprolu:
  kthread: airo.c

Zhu Yi:
  ieee80211: Fix header-qos_ctl endian issue
  ieee80211: remove ieee80211_tx() is_queue_full warning
  ieee80211: TKIP and CCMP replay check rework
  ieee80211: Fix TKIP and WEP decryption error on SMP machines
  ieee80211: Workaround malformed 802.11 frames from AP
  ipw2200: always enable frequently used debugging code
  ipw2200: SIOCGIWFREQ ioctl returns frequency rather than channel
  ipw2200: ipw_wx_set_essid fix
  ipw2200: Reassociate even if set the same essid.
  ipw2200: remove unused struct ipw_rx_buffer
  ipw2200: Fix ipw2200 QOS parameters endian issue
  ipw2200: remove the MAC timestamp present field from radiotap head
  ipw2200: mark iwconfig retry 255 as invalid
  ipw2200: Fix kernel Oops if cmdlog debug is enabled
  ipw2200: Add pci .shutdown handler
  ipw2100: Fix deadlock detected by lockdep
  ipw2200: enable wireless extension passive scan
  ipw2200: Update version stamp to 1.1.4
  ipw2200: Fix compile error when CONFIG_IPW2200_DEBUG is not selected

 MAINTAINERS |6 
 drivers/net/wireless/Kconfig|   23 -
 drivers/net/wireless/airo.c |   40 +-
 drivers/net/wireless/bcm43xx/bcm43xx.h  |   58 ++-
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |  583 ++-
 drivers/net/wireless/bcm43xx/bcm43xx_dma.h  |  296 ++
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   97 +++-
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c   |4 
 drivers/net/wireless/ipw2100.c  |5 
 drivers/net/wireless/ipw2200.c  |  215 ++
 drivers/net/wireless/ipw2200.h  |   51 +-
 drivers/net/wireless/orinoco.c  |1 
 drivers/net/wireless/orinoco.h  |8 
 net/ieee80211/ieee80211_crypt_ccmp.c|   23 +
 net/ieee80211/ieee80211_crypt_tkip.c|  108 +++--
 net/ieee80211/ieee80211_crypt_wep.c |   35 +-
 net/ieee80211/ieee80211_rx.c|   17 -
 net/ieee80211/ieee80211_tx.c|9 
 18 files changed, 1027 insertions(+), 552 deletions(-)

Omnibus patch attached as upstream.patch.bz2.
-- 
John W. Linville
[EMAIL PROTECTED]


upstream.patch.bz2
Description: BZip2 compressed data


Please pull 'upstream' branch of wireless-2.6

2006-08-14 Thread John W. Linville
The following changes since commit e9ffb3d7ec94083a44a8721681391beca2ffd68c:
  John W. Linville:
Merge branch 'from-linus' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  zd1211rw: ZD1211B ASIC/FWT, not jointly decoder
  zd1211rw: Match vendor driver IFS values
  zd1211rw: AL2230 ZD1211B vendor sync
  zd1211rw: Support AL7230B RF
  zd1211rw: Add ID for Senao NUB-8301
  zd1211rw: Add ID for Allnet ALLSPOT Hotspot finder
  zd1211rw: Firmware version vs bootcode version mismatch handling
  zd1211rw: Add ID for ZyXEL G220F
  zd1211rw: Convert installer CDROM device into WLAN device

Michael Wu:
  ray_cs: Remove dependency on ieee80211

Ulrich Kunitz:
  zd1211rw: USB id 1582:6003 for Longshine 8131G3 added
  zd1211rw: cleanups

 drivers/net/wireless/ray_cs.c |2 
 drivers/net/wireless/zd1211rw/Makefile|1 
 drivers/net/wireless/zd1211rw/zd_chip.c   |   62 --
 drivers/net/wireless/zd1211rw/zd_chip.h   |   15 +
 drivers/net/wireless/zd1211rw/zd_def.h|6 +
 drivers/net/wireless/zd1211rw/zd_mac.c|6 -
 drivers/net/wireless/zd1211rw/zd_mac.h|2 
 drivers/net/wireless/zd1211rw/zd_rf.c |7 +
 drivers/net/wireless/zd1211rw/zd_rf.h |1 
 drivers/net/wireless/zd1211rw/zd_rf_al2230.c  |  155 ++
 drivers/net/wireless/zd1211rw/zd_rf_al7230b.c |  274 +
 drivers/net/wireless/zd1211rw/zd_usb.c|  120 ++-
 drivers/net/wireless/zd1211rw/zd_usb.h|1 
 13 files changed, 575 insertions(+), 77 deletions(-)
 create mode 100644 drivers/net/wireless/zd1211rw/zd_rf_al7230b.c

diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index 61b83a5..8e112d1 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -52,8 +52,8 @@ #include pcmcia/cisreg.h
 #include pcmcia/ds.h
 #include pcmcia/mem_op.h
 
-#include net/ieee80211.h
 #include linux/wireless.h
+#include net/iw_handler.h
 
 #include asm/io.h
 #include asm/system.h
diff --git a/drivers/net/wireless/zd1211rw/Makefile 
b/drivers/net/wireless/zd1211rw/Makefile
index 500314f..6603ad5 100644
--- a/drivers/net/wireless/zd1211rw/Makefile
+++ b/drivers/net/wireless/zd1211rw/Makefile
@@ -3,6 +3,7 @@ obj-$(CONFIG_ZD1211RW) += zd1211rw.o
 zd1211rw-objs := zd_chip.o zd_ieee80211.o \
zd_mac.o zd_netdev.o \
zd_rf_al2230.o zd_rf_rf2959.o \
+   zd_rf_al7230b.o \
zd_rf.o zd_usb.o zd_util.o
 
 ifeq ($(CONFIG_ZD1211RW_DEBUG),y)
diff --git a/drivers/net/wireless/zd1211rw/zd_chip.c 
b/drivers/net/wireless/zd1211rw/zd_chip.c
index da9d06b..5841998 100644
--- a/drivers/net/wireless/zd1211rw/zd_chip.c
+++ b/drivers/net/wireless/zd1211rw/zd_chip.c
@@ -42,12 +42,11 @@ void zd_chip_init(struct zd_chip *chip,
 
 void zd_chip_clear(struct zd_chip *chip)
 {
-   mutex_lock(chip-mutex);
+   ZD_ASSERT(!mutex_is_locked(chip-mutex));
zd_usb_clear(chip-usb);
zd_rf_clear(chip-rf);
-   mutex_unlock(chip-mutex);
mutex_destroy(chip-mutex);
-   memset(chip, 0, sizeof(*chip));
+   ZD_MEMCLEAR(chip, sizeof(*chip));
 }
 
 static int scnprint_mac_oui(const u8 *addr, char *buffer, size_t size)
@@ -68,10 +67,11 @@ static int scnprint_id(struct zd_chip *c
i += scnprint_mac_oui(chip-e2p_mac, buffer+i, size-i);
i += scnprintf(buffer+i, size-i,  );
i += zd_rf_scnprint_id(chip-rf, buffer+i, size-i);
-   i += scnprintf(buffer+i, size-i,  pa%1x %c%c%c, chip-pa_type,
+   i += scnprintf(buffer+i, size-i,  pa%1x %c%c%c%c, chip-pa_type,
chip-patch_cck_gain ? 'g' : '-',
chip-patch_cr157 ? '7' : '-',
-   chip-patch_6m_band_edge ? '6' : '-');
+   chip-patch_6m_band_edge ? '6' : '-',
+   chip-new_phy_layout ? 'N' : '-');
return i;
 }
 
@@ -330,13 +330,14 @@ static int read_pod(struct zd_chip *chip
chip-patch_cck_gain = (value  8)  0x1;
chip-patch_cr157 = (value  13)  0x1;
chip-patch_6m_band_edge = (value  21)  0x1;
+   chip-new_phy_layout = (value  31)  0x1;
 
dev_dbg_f(zd_chip_dev(chip),
RF %s %#01x PA type %#01x patch CCK %d patch CR157 %d 
-   patch 6M %d\n,
+   patch 6M %d new PHY %d\n,
zd_rf_name(*rf_type), *rf_type,
chip-pa_type, chip-patch_cck_gain,
-   chip-patch_cr157, chip-patch_6m_band_edge);
+   chip-patch_cr157, chip-patch_6m_band_edge, 
chip-new_phy_layout);
return 0;
 error:
*rf_type = 0;
@@ -344,6 +345,7 @@ error:
chip-patch_cck_gain = 0;
chip-patch_cr157 = 0;
chip-patch_6m_band_edge = 0;
+   chip-new_phy_layout = 0;
return r;
 }
 
@@ -717,7 +719,7 @@ static int 

Re: Please pull 'upstream' branch of wireless-2.6

2006-07-28 Thread Jeff Garzik

pulled

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-07-27 Thread John W. Linville
The following changes since commit 416512cb75f51f3d12e5e1aa57b6a36760fd12c9:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Dan Williams:
  prism54: update to WE-19 for WPA support

Daniel Drake:
  zd1211rw: Implement SIOCGIWNICKN
  Add zd1211rw MAINTAINERS entry
  ieee80211: small ERP handling additions
  softmac: ERP handling and driver-level notifications
  softmac: export highest_supported_rate function
  ieee80211: Make ieee80211_rx_any usable
  softmac: Add MAINTAINERS entry

Pavel Machek:
  cleanup // comments from ipw2200

Robert Schulze:
  airo: collapse debugging-messages in issuecommand to one line

 MAINTAINERS |   21 +
 drivers/net/wireless/airo.c |   12 
 drivers/net/wireless/ipw2200.c  |   29 -
 drivers/net/wireless/prism54/isl_ioctl.c|  573 ++-
 drivers/net/wireless/prism54/isl_ioctl.h|6 
 drivers/net/wireless/prism54/islpci_dev.c   |4 
 drivers/net/wireless/prism54/islpci_dev.h   |2 
 drivers/net/wireless/zd1211rw/zd_netdev.c   |   17 +
 include/net/ieee80211.h |9 
 include/net/ieee80211softmac.h  |   60 ++
 net/ieee80211/ieee80211_rx.c|   39 +-
 net/ieee80211/softmac/ieee80211softmac_assoc.c  |   21 +
 net/ieee80211/softmac/ieee80211softmac_io.c |   14 +
 net/ieee80211/softmac/ieee80211softmac_module.c |   90 ++--
 net/ieee80211/softmac/ieee80211softmac_priv.h   |8 
 15 files changed, 777 insertions(+), 128 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b2afc7a..4e14ee7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2588,6 +2588,18 @@ P:   Nicolas Pitre
 M: [EMAIL PROTECTED]
 S: Maintained
 
+SOFTMAC LAYER (IEEE 802.11)
+P: Johannes Berg
+M: [EMAIL PROTECTED]
+P: Joe Jezak
+M: [EMAIL PROTECTED]
+P: Daniel Drake
+M: [EMAIL PROTECTED]
+W: http://softmac.sipsolutions.net/
+L: [EMAIL PROTECTED]
+L: netdev@vger.kernel.org
+S: Maintained
+
 SOFTWARE RAID (Multiple Disks) SUPPORT
 P: Ingo Molnar
 M: [EMAIL PROTECTED]
@@ -3296,6 +3308,15 @@ W:   http://www.qsl.net/dl1bke/
 L: linux-hams@vger.kernel.org
 S: Maintained
 
+ZD1211RW WIRELESS DRIVER
+P: Daniel Drake
+M: [EMAIL PROTECTED]
+P: Ulrich Kunitz
+M: [EMAIL PROTECTED]
+W: http://zd1211.ath.cx/wiki/DriverRewrite
+L: zd1211-devs@lists.sourceforge.net (subscribers-only)
+S: Maintained
+
 ZF MACHZ WATCHDOG
 P: Fernando Fuganti
 M: [EMAIL PROTECTED]
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index a4dd139..16befbc 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -3950,13 +3950,11 @@ static u16 issuecommand(struct airo_info
pRsp-rsp0 = IN4500(ai, RESP0);
pRsp-rsp1 = IN4500(ai, RESP1);
pRsp-rsp2 = IN4500(ai, RESP2);
-   if ((pRsp-status  0xff00)!=0  pCmd-cmd != CMD_SOFTRESET) {
-   airo_print_err(ai-dev-name, cmd= %x\n, pCmd-cmd);
-   airo_print_err(ai-dev-name, status= %x\n, pRsp-status);
-   airo_print_err(ai-dev-name, Rsp0= %x\n, pRsp-rsp0);
-   airo_print_err(ai-dev-name, Rsp1= %x\n, pRsp-rsp1);
-   airo_print_err(ai-dev-name, Rsp2= %x\n, pRsp-rsp2);
-   }
+   if ((pRsp-status  0xff00)!=0  pCmd-cmd != CMD_SOFTRESET)
+   airo_print_err(ai-dev-name,
+   cmd:%x status:%x rsp0:%x rsp1:%x rsp2:%x,
+   pCmd-cmd, pRsp-status, pRsp-rsp0, pRsp-rsp1,
+   pRsp-rsp2);
 
// clear stuck command busy if necessary
if (IN4500(ai, COMMAND)  COMMAND_BUSY) {
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index b3300ff..758459e 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -2667,7 +2667,7 @@ static void ipw_fw_dma_abort(struct ipw_
 
IPW_DEBUG_FW( :\n);
 
-   //set the Stop and Abort bit
+   /* set the Stop and Abort bit */
control = DMA_CONTROL_SMALL_CB_CONST_VALUE | DMA_CB_STOP_AND_ABORT;
ipw_write_reg32(priv, IPW_DMA_I_DMA_CONTROL, control);
priv-sram_desc.last_cb_index = 0;
@@ -3002,8 +3002,6 @@ static int ipw_load_ucode(struct ipw_pri
if (rc  0)
return rc;
 
-//  spin_lock_irqsave(priv-lock, flags);
-
for (addr = IPW_SHARED_LOWER_BOUND;
 addr  IPW_REGISTER_DOMAIN1_END; addr += 4) {
ipw_write32(priv, addr, 0);
@@ -3097,8 +3095,6 @@ static int ipw_load_ucode(struct ipw_pri
   firmware have problem getting alive resp. */
ipw_write_reg8(priv, IPW_BASEBAND_CONTROL_STATUS, 0);
 
-//  spin_unlock_irqrestore(priv-lock, flags);
-

Re: Please pull 'upstream' branch of wireless-2.6

2006-07-19 Thread Jeff Garzik

John W. Linville wrote:

These patches are to be queued for 2.6.19...

---

The following changes since commit b312d799b324e895745ffe148def234fc60d5b74:
  Daniel Drake:
zd1211rw: usb_clear_halt not allowed in IRQ context

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  zd1211rw: Add Sagem device ID's

Larry Finger:
  bcm43xx: improved statistics

Michael Buesch:
  bcm43xx: opencoded locking
  bcm43xx: voluntary preemtion in the calibration loops

 drivers/net/wireless/bcm43xx/bcm43xx.h |   64 ++---
 drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c |   34 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_leds.c|   10 +
 drivers/net/wireless/bcm43xx/bcm43xx_main.c|   64 +
 drivers/net/wireless/bcm43xx/bcm43xx_phy.c |   33 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_pio.c |4 -
 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c   |   34 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c  |  162 ++--
 drivers/net/wireless/zd1211rw/zd_usb.c |2 


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-07-10 Thread John W. Linville
These patches are to be queued for 2.6.19...

---

The following changes since commit b312d799b324e895745ffe148def234fc60d5b74:
  Daniel Drake:
zd1211rw: usb_clear_halt not allowed in IRQ context

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  zd1211rw: Add Sagem device ID's

Larry Finger:
  bcm43xx: improved statistics

Michael Buesch:
  bcm43xx: opencoded locking
  bcm43xx: voluntary preemtion in the calibration loops

 drivers/net/wireless/bcm43xx/bcm43xx.h |   64 ++---
 drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c |   34 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_leds.c|   10 +
 drivers/net/wireless/bcm43xx/bcm43xx_main.c|   64 +
 drivers/net/wireless/bcm43xx/bcm43xx_phy.c |   33 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_pio.c |4 -
 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c   |   34 +++--
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c  |  162 ++--
 drivers/net/wireless/zd1211rw/zd_usb.c |2 
 9 files changed, 215 insertions(+), 192 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 17a5682..ee6571e 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -649,6 +649,19 @@ enum {
 #define bcm43xx_status(bcm)atomic_read((bcm)-init_status)
 #define bcm43xx_set_status(bcm, stat)  atomic_set((bcm)-init_status, (stat))
 
+/**** THEORY OF LOCKING ***
+ *
+ * We have two different locks in the bcm43xx driver.
+ * = bcm-mutex:General sleeping mutex. Protects struct bcm43xx_private
+ *   and the device registers. This mutex does _not_ protect
+ *   against concurrency from the IRQ handler.
+ * = bcm-irq_lock: IRQ spinlock. Protects against IRQ handler concurrency.
+ *
+ * Please note that, if you only take the irq_lock, you are not protected
+ * against concurrency from the periodic work handlers.
+ * Most times you want to take _both_ locks.
+ */
+
 struct bcm43xx_private {
struct ieee80211_device *ieee;
struct ieee80211softmac_device *softmac;
@@ -659,7 +672,6 @@ struct bcm43xx_private {
 
void __iomem *mmio_addr;
 
-   /* Locking, see theory of locking text below. */
spinlock_t irq_lock;
struct mutex mutex;
 
@@ -691,6 +703,7 @@ struct bcm43xx_private {
struct bcm43xx_sprominfo sprom;
 #define BCM43xx_NR_LEDS4
struct bcm43xx_led leds[BCM43xx_NR_LEDS];
+   spinlock_t leds_lock;
 
/* The currently active core. */
struct bcm43xx_coreinfo *current_core;
@@ -763,55 +776,6 @@ #endif
 };
 
 
-/**** THEORY OF LOCKING ***
- *
- * We have two different locks in the bcm43xx driver.
- * = bcm-mutex:General sleeping mutex. Protects struct bcm43xx_private
- *   and the device registers.
- * = bcm-irq_lock: IRQ spinlock. Protects against IRQ handler concurrency.
- *
- * We have three types of helper function pairs to utilize these locks.
- * (Always use the helper functions.)
- * 1) bcm43xx_{un}lock_noirq():
- * Takes bcm-mutex. Does _not_ protect against IRQ concurrency,
- * so it is almost always unsafe, if device IRQs are enabled.
- * So only use this, if device IRQs are masked.
- * Locking may sleep.
- * You can sleep within the critical section.
- * 2) bcm43xx_{un}lock_irqonly():
- * Takes bcm-irq_lock. Does _not_ protect against
- * bcm43xx_lock_noirq() critical sections.
- * Does only protect against the IRQ handler path and other
- * irqonly() critical sections.
- * Locking does not sleep.
- * You must not sleep within the critical section.
- * 3) bcm43xx_{un}lock_irqsafe():
- * This is the cummulative lock and takes both, mutex and irq_lock.
- * Protects against noirq() and irqonly() critical sections (and
- * the IRQ handler path).
- * Locking may sleep.
- * You must not sleep within the critical section.
- */
-
-/* Lock type 1 */
-#define bcm43xx_lock_noirq(bcm)mutex_lock((bcm)-mutex)
-#define bcm43xx_unlock_noirq(bcm)  mutex_unlock((bcm)-mutex)
-/* Lock type 2 */
-#define bcm43xx_lock_irqonly(bcm, flags)   \
-   spin_lock_irqsave((bcm)-irq_lock, flags)
-#define bcm43xx_unlock_irqonly(bcm, flags) \
-   spin_unlock_irqrestore((bcm)-irq_lock, flags)
-/* Lock type 3 */
-#define bcm43xx_lock_irqsafe(bcm, flags) do {  \
-   bcm43xx_lock_noirq(bcm);\
-   bcm43xx_lock_irqonly(bcm, flags);   \
-   } while (0)
-#define bcm43xx_unlock_irqsafe(bcm, flags) do {\
-   bcm43xx_unlock_irqonly(bcm, flags); \
-   bcm43xx_unlock_noirq(bcm);  \
-   } while (0)
-
-
 static inline
 struct bcm43xx_private * bcm43xx_priv(struct net_device *dev)
 {
diff --git 

Re: Please pull 'upstream' branch of wireless-2.6

2006-07-10 Thread Michael Buesch
On Monday 10 July 2006 23:31, you wrote:
 These patches are to be queued for 2.6.19...
 
 ---
 
 The following changes since commit b312d799b324e895745ffe148def234fc60d5b74:
   Daniel Drake:
 zd1211rw: usb_clear_halt not allowed in IRQ context
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream
 
 Daniel Drake:
   zd1211rw: Add Sagem device ID's
 
 Larry Finger:
   bcm43xx: improved statistics

Larry, I see that several patches from you got merged now.
Please make sure that you also submit patches for bcm43xx-d80211.
If you don't, your changes will all be lost, as soon as bcm43xx-d80211
is merged upstream and softmac is dropped.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-07-10 Thread Larry Finger

Michael Buesch wrote:

On Monday 10 July 2006 23:31, you wrote:
Larry, I see that several patches from you got merged now.
Please make sure that you also submit patches for bcm43xx-d80211.
If you don't, your changes will all be lost, as soon as bcm43xx-d80211
is merged upstream and softmac is dropped.



Will do. A couple of days ago I downloaded a copy of the wireless-dev repository, and now have the 
master code so that I can prepare the patches.


Will the upstream merge of d80211 be made for 2.6.19 or later?

Larry

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6 (revised)

2006-07-05 Thread Jeff Garzik

John W. Linville wrote:

On Fri, Jun 30, 2006 at 12:31:00PM -0400, Jeff Garzik wrote:

The following changes since commit 
fcc18e83e1f6fd9fa6b333735bf0fcd530655511:

 Malcolm Parsons:
   uclinux: use PER_LINUX_32BIT in binfmt_flat

are found in the git repository at:

 git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream

nothing pulled?


Odd, the changes seem to be there...did you happen to pull zd1211rw
first?  I based that branch off the HEAD of the upstream branch.


Sorry to cause more trouble, but...  In a moment of thoughtless action, 
I rebased netdev#upstream, which has the obvious ripple effects :/


Jeff



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6 (revised)

2006-07-01 Thread John W. Linville
On Fri, Jun 30, 2006 at 03:27:02PM -0400, John W. Linville wrote:
 On Fri, Jun 30, 2006 at 12:31:00PM -0400, Jeff Garzik wrote:
 
  The following changes since commit 
  fcc18e83e1f6fd9fa6b333735bf0fcd530655511:
Malcolm Parsons:
  uclinux: use PER_LINUX_32BIT in binfmt_flat
  
  are found in the git repository at:
  
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream
  
  nothing pulled?
 
 Odd, the changes seem to be there...did you happen to pull zd1211rw
 first?  I based that branch off the HEAD of the upstream branch.

Just to be sure, I re-cloned the netdev-2.6 tree from kernel.org and
did pulls from the 'upstream' branch of wireless-2.6.  Everything
seemed to work as expected.

Do you have this commit?

70a332b048e4d90635dfa47fc5d91cf87b5cc3a5

That is the latest one in my upstream branch.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6 (revised)

2006-06-30 Thread Jeff Garzik

John W. Linville wrote:

On Mon, Jun 26, 2006 at 05:25:52PM -0400, John W. Linville wrote:


Michael Buesch:
  bcm43xx: suspend MAC while executing long pwork


The above patch ruffled some feathers on netdev.  In the interest of
moving things along, I have pulled that patch out of wireless-2.6.
I expect it will be back soon, probably with some additional changes
to satisfy concerns raised on the mailing list.

NOTE: While I was mucking around, I pulled a bunch of patches from
the master branch out into driver-specific branches for adm8211,
prism54usb, tiacx, and zd1211rw.  Then I rebuilt the master branch
by pulling from the driver branches.  This is intended to ease the
merging of individual drivers upstream (e.g. zd1211rw and maybe tiacx
in the near future).

Those working off my upstream branch or off Linus' tree should be
unaffected.  Anyone who works off my master branch may need to rebase,
especially if they want me to be able to pull from them (due to dirty
history).  I apologize for the hassle and appreciate your cooperation!

Thanks,

John
---

The following changes since commit fcc18e83e1f6fd9fa6b333735bf0fcd530655511:
  Malcolm Parsons:
uclinux: use PER_LINUX_32BIT in binfmt_flat

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


nothing pulled?


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6 (revised)

2006-06-30 Thread John W. Linville
On Fri, Jun 30, 2006 at 12:31:00PM -0400, Jeff Garzik wrote:

 The following changes since commit 
 fcc18e83e1f6fd9fa6b333735bf0fcd530655511:
   Malcolm Parsons:
 uclinux: use PER_LINUX_32BIT in binfmt_flat
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
   upstream
 
 nothing pulled?

Odd, the changes seem to be there...did you happen to pull zd1211rw
first?  I based that branch off the HEAD of the upstream branch.

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-28 Thread Michael Buesch
On Tuesday 27 June 2006 22:37, Larry Finger wrote:
 Michael Buesch wrote:
  On Tuesday 27 June 2006 22:06, Larry Finger wrote:
  John,
 
  I would like to find a diplomatic solution to this impasse between Michael 
  and Jeff, which is why 
  I'm writing to you privately. Michael is correct in that the loop in 
  question will not usually delay 
  
  private?
 
 I meant it to be private, but screwed up.
 
  long; however, on some hardware it takes longer than on his. On mine, I 
  have seen delays as long as 
  550 usec.
  
  What's the chip?
 
 bcm43xx: Chip ID 0x4306, rev 0x2
 bcm43xx: Number of cores: 6
 bcm43xx: Core 0: ID 0x800, rev 0x2, vendor 0x4243, enabled
 bcm43xx: Core 1: ID 0x812, rev 0x4, vendor 0x4243, disabled
 bcm43xx: Core 2: ID 0x80d, rev 0x1, vendor 0x4243, enabled
 bcm43xx: Core 3: ID 0x807, rev 0x1, vendor 0x4243, disabled
 bcm43xx: Core 4: ID 0x804, rev 0x7, vendor 0x4243, enabled
 bcm43xx: Core 5: ID 0x812, rev 0x4, vendor 0x4243, disabled
 bcm43xx: Ignoring additional 802.11 core.
 bcm43xx: Detected PHY: Version: 1, Type 2, Revision 1
 bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)

It appears to be an older card. There are quite some
special codepaths for this, I think.

  This would make the worst-case delay be 5 msec, but would provide a 
  cushion of 10X the longest I 
  have seen and should be safe.
 
  Do you have any suggestions on what should be done next?
  
  Leave it as is and find out why it takes so long for your strange card. ;)
 
 I once offered you my second, duplicate card for testing, but never heard 
 back. Do you have any 
 ideas regarding diagnostics to see why it takes so long? Remember, this card 
 used to time-out on the 
 1 second delay before the periodic work was restructured.

Well, we did not want to have the card, because at this point
it did not make sense. We all have 4306 cards.
But now it appears that this card seems to have some special
things (because it is older than ours).

Well, how to debug.
We are waiting for the IRQ Reason register there.
Actually, we are waiting for the no IRQ pending, but READY signal
state. Your card does not completely (?) clear the bits after MAC
shutdown. So very helpful would be to print out in the loop the
value. We know, that the card generates silly IRQs, that we did
not ask for. That may happen here, too. So it _may_ help to
mask out unwanted IRQs before the if-check. But I would first
like to see a log of the reason-value on each iteration until it succeeds.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-28 Thread Larry Finger

Michael Buesch wrote:


It appears to be an older card. There are quite some
special codepaths for this, I think.


Yes, I bought this card before the G specifications were finalized.


Well, we did not want to have the card, because at this point
it did not make sense. We all have 4306 cards.
But now it appears that this card seems to have some special
things (because it is older than ours).

Well, how to debug.
We are waiting for the IRQ Reason register there.
Actually, we are waiting for the no IRQ pending, but READY signal
state. Your card does not completely (?) clear the bits after MAC
shutdown. So very helpful would be to print out in the loop the
value. We know, that the card generates silly IRQs, that we did
not ask for. That may happen here, too. So it _may_ help to
mask out unwanted IRQs before the if-check. But I would first
like to see a log of the reason-value on each iteration until it succeeds.


First of all, I have a udelay(1) in the wait loop. I have also moved the udelay to the top of the 
loop. For the past 12 hours, I have been printing the delay time for the cases where it took more 
than 2 passes through the loop. There have been single instances of 3 and 4 usec; otherwise the 
delay is much longer, with the largest delay at 750 usec. The long delays are always found during 
scanning, associating, and authenticating. I use WPA with wpa_supplicant.


Since adding the dump of IRQ reason, every case that took more than 1 pass through the loop has had 
an IRQ reason of 0x0580 for every pass in the loop. Your idea about the silly IRQ's seems to be 
right. I'll let you know if I get any results that are different.


One other little problem. If I do an ifdown/ifup sequence without unloading the bcm43xx module, I 
get a failure of the assert(bcm-mac_suspended = 0) at the beginning of bcm43xx_mac_suspend.


Larry



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-28 Thread Michael Buesch
On Wednesday 28 June 2006 18:04, Larry Finger wrote:
 Michael Buesch wrote:
  
  It appears to be an older card. There are quite some
  special codepaths for this, I think.
 
 Yes, I bought this card before the G specifications were finalized.

Oh, very interresting. I did not know that these old cards
were pre-standard.

 For the past 12 hours, I have been printing the delay time for the cases 
 where it took more  
 than 2 passes through the loop. There have been single instances of 3 and 4 
 usec; otherwise the 
 delay is much longer, with the largest delay at 750 usec. The long delays are 
 always found during 
 scanning, associating, and authenticating. I use WPA with wpa_supplicant.

Oh, well. Forget it all.
I remembered the code wrong.
At the moment I looked at the code and it has the opposite semantics.
It loops to wait for the READY bit to appear.

Well, I would say your old device simply takes this long
to disable and there is no bug.

Oh, well...

 One other little problem. If I do an ifdown/ifup sequence without unloading 
 the bcm43xx module, I 
 get a failure of the assert(bcm-mac_suspended = 0) at the beginning of 
 bcm43xx_mac_suspend.

Unrelated known bug.
I will do a patch, soon.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-28 Thread Larry Finger

Michael Buesch wrote:

On Wednesday 28 June 2006 18:04, Larry Finger wrote:

Oh, well. Forget it all.
I remembered the code wrong.
At the moment I looked at the code and it has the opposite semantics.
It loops to wait for the READY bit to appear.

Well, I would say your old device simply takes this long
to disable and there is no bug.

Oh, well...


So the conclusion is that my card is really slow. As mine is likely to be the worst of the lot, I 
propose the following structure for the loop in question:


for (i = 1; i; i--) {
tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
if (tmp  BCM43xx_IRQ_READY) {
if (i  9998)
printkl(KERN_INFO PFX MAC suspend delay %d 
usec, IRQ_REASON 
0x%08x\n, 1-i, tmp  
~BCM43xx_IRQ_READY);
goto out;
}
udelay(1);
}
printkl(KERN_ERR PFX MAC suspend failed\n);

My maximum delay (so far) is 796 usec, thus this loop gives me a safety factor of more than 10, but 
it should satisfy Jeff and let this patch in question be accepted. Of course, the 'if (i  9998)' 
statement with the printkl is optional. BTW, as you suspected, the IRQ_REASON value is still at 
0x580 when the READY bit is set.


Thanks for the help,

Larry
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-28 Thread Michael Buesch
On Wednesday 28 June 2006 19:32, Larry Finger wrote:
 Michael Buesch wrote:
  On Wednesday 28 June 2006 18:04, Larry Finger wrote:
  
  Oh, well. Forget it all.
  I remembered the code wrong.
  At the moment I looked at the code and it has the opposite semantics.
  It loops to wait for the READY bit to appear.
  
  Well, I would say your old device simply takes this long
  to disable and there is no bug.
  
  Oh, well...
 
 So the conclusion is that my card is really slow. As mine is likely to be the 
 worst of the lot, I 
 propose the following structure for the loop in question:
 
  for (i = 1; i; i--) {
  tmp = bcm43xx_read32(bcm, 
 BCM43xx_MMIO_GEN_IRQ_REASON);
  if (tmp  BCM43xx_IRQ_READY) {
  if (i  9998)
  printkl(KERN_INFO PFX MAC suspend 
 delay %d usec, IRQ_REASON 
  0x%08x\n, 1-i, tmp  
 ~BCM43xx_IRQ_READY);
  goto out;
  }
  udelay(1);
  }
  printkl(KERN_ERR PFX MAC suspend failed\n);
 
 My maximum delay (so far) is 796 usec, thus this loop gives me a safety 
 factor of more than 10, but 
 it should satisfy Jeff and let this patch in question be accepted.

Ok, I will send a patch to lower the limit to 1 usec.
This won't do _any_ good (or bad), but well... If everybody likes
placebos, I will add it to the driver.

It's a bit complicated for me to say why your card takes 800usec
to suspend MAC. And additionally it is not really possible for
me to try to find a way making the card respond earlier (if possible)
remotely through you. ;)

How problematic might a 800usec delay with IRQs disabled be?

 Of course, the 'if (i  9998)'  
 statement with the printkl is optional.

It is to be removed. ;)

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Michael Buesch
On Tuesday 27 June 2006 04:27, Larry Finger wrote:
 Jeff Garzik wrote:
  John W. Linville wrote:
  +assert(bcm-mac_suspended = 0);
  +if (bcm-mac_suspended == 0) {
  +bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
  +bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
  +bcm43xx_read32(bcm, 
  BCM43xx_MMIO_STATUS_BITFIELD)
  + ~BCM43xx_SBF_MAC_ENABLED);
  +bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy 
  read */
  +for (i = 10; i; i--) {
  +tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
  +if (tmp  BCM43xx_IRQ_READY)
  +goto out;
  +udelay(10);
  +}
  +printkl(KERN_ERR PFX MAC suspend failed\n);
   }
  
  
  NAK this super-long delay...  should be done in a workqueue, looks like?
  
  ACK everything else.
  
 
 That delay was set to try to accommodate my interface when it refused to 
 suspend the MAC, which 
 resulted in transmit errors. That problem has since been cured by reworking 
 the periodic work 
 handlers - thus such a long delay should not be needed. The original spec 
 from the clean-room group 
 was a delay loop of 1000. I'm currently testing that value now. If it passes 
 the test, would a for 
 (i=1000; i; i--) be acceptable?

Short: Don't touch it. Fullstop.

Long: The delay will _never_ be exhausted. Actually the for-counter
is only there to not lock up the machine, if there is a Bug in the
driver. (__much__ easier debugging).
The loop will only iterate a few times, typically.
Actually, _if_ we want to change something, we should do this:

for (i = 100; i; i--) {
...
udelay(1);
}

(max loop multiplied by 10, delay value divided by 10).
This will shorten the whole delay by a few usecs (up to 10).
I will send a patch for this, if it is desired.

But lowering the loop counter value is NACKed by me,
because it simply does not make sense.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Larry Finger

Jeff Garzik wrote:

Michael Buesch wrote:


Short: Don't touch it. Fullstop.

Long: The delay will _never_ be exhausted. Actually the for-counter
is only there to not lock up the machine, if there is a Bug in the
driver. (__much__ easier debugging).
The loop will only iterate a few times, typically.
Actually, _if_ we want to change something, we should do this:

for (i = 100; i; i--) {
...
udelay(1);
}

(max loop multiplied by 10, delay value divided by 10).
This will shorten the whole delay by a few usecs (up to 10).
I will send a patch for this, if it is desired.

But lowering the loop counter value is NACKed by me,
because it simply does not make sense.



My overriding concern was that this type of loop spins the CPU at 100% 
until the hardware condition is satisfied, which starves all other 
kernel work on that CPU, and is very unfriendly to power consumption 
(though I believe monitor/mwait/cpu_relax helps on x86).


Overall, bcm43xx is _really really bad_ about this sort of thing.  Just 
grepping for udelay in bcm43xx_radio.c shows some of the worst 
offenders.  bcm43xx_radio_init2060() and bcm43xx_radio_selectchannel() 
both look like candidates for using msleep() rather than udelay().


It is not my place to get into the middle of this discussion; however, my interface has been pinging 
my AP for over 12 hours with the loop counter starting at 1000. I get the usual log entries for the 
hourly TKIP changes, but no MAC suspend failures.


Larry

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Michael Buesch
On Tuesday 27 June 2006 16:11, Jeff Garzik wrote:
 Michael Buesch wrote:
  On Tuesday 27 June 2006 04:27, Larry Finger wrote:
  Jeff Garzik wrote:
  John W. Linville wrote:
  +assert(bcm-mac_suspended = 0);
  +if (bcm-mac_suspended == 0) {
  +bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
  +bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
  +bcm43xx_read32(bcm, 
  BCM43xx_MMIO_STATUS_BITFIELD)
  + ~BCM43xx_SBF_MAC_ENABLED);
  +bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy 
  read */
  +for (i = 10; i; i--) {
  +tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
  +if (tmp  BCM43xx_IRQ_READY)
  +goto out;
  +udelay(10);
  +}
  +printkl(KERN_ERR PFX MAC suspend failed\n);
   }
 
  NAK this super-long delay...  should be done in a workqueue, looks like?
 
  ACK everything else.
 
  That delay was set to try to accommodate my interface when it refused to 
  suspend the MAC, which 
  resulted in transmit errors. That problem has since been cured by 
  reworking the periodic work 
  handlers - thus such a long delay should not be needed. The original spec 
  from the clean-room group 
  was a delay loop of 1000. I'm currently testing that value now. If it 
  passes the test, would a for 
  (i=1000; i; i--) be acceptable?
  
  Short: Don't touch it. Fullstop.
  
  Long: The delay will _never_ be exhausted. Actually the for-counter
  is only there to not lock up the machine, if there is a Bug in the
  driver. (__much__ easier debugging).
  The loop will only iterate a few times, typically.
  Actually, _if_ we want to change something, we should do this:
  
  for (i = 100; i; i--) {
  ...
  udelay(1);
  }
  
  (max loop multiplied by 10, delay value divided by 10).
  This will shorten the whole delay by a few usecs (up to 10).
  I will send a patch for this, if it is desired.
  
  But lowering the loop counter value is NACKed by me,
  because it simply does not make sense.
 
 
 My overriding concern was that this type of loop spins the CPU at 100% 
 until the hardware condition is satisfied, which starves all other 
 kernel work on that CPU, and is very unfriendly to power consumption 
 (though I believe monitor/mwait/cpu_relax helps on x86).

Ok, I did a testrun. Here's the result:

[   68.711243] bcm43xx_d80211: Chip ID 0x4306, rev 0x3
[   68.712662] bcm43xx_d80211: Number of cores: 5
[   68.714023] bcm43xx_d80211: Core 0: ID 0x800, rev 0x4, vendor 0x4243, enabled
[   68.715536] bcm43xx_d80211: Core 1: ID 0x812, rev 0x5, vendor 0x4243, 
disabled
[   68.717062] bcm43xx_d80211: Core 2: ID 0x80d, rev 0x2, vendor 0x4243, enabled
[   68.718575] bcm43xx_d80211: Core 3: ID 0x807, rev 0x2, vendor 0x4243, 
disabled
[   68.720089] bcm43xx_d80211: Core 4: ID 0x804, rev 0x9, vendor 0x4243, enabled
[   68.724897] bcm43xx_d80211: PHY connected
[   68.726154] bcm43xx_d80211: Detected PHY: Version: 2, Type 2, Revision 2
[   68.727638] bcm43xx_d80211: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 
2050 Rev: 2)
[   68.729232] bcm43xx_d80211: Radio turned off
[   68.730512] bcm43xx_d80211: Radio turned off
[   68.745153] wmaster0: Selected rate control algorithm 'simple'
[   69.853876] bcm43xx_d80211: Virtual interface added (type: 0x0002, ID: 
7, MAC: 00:11:24:a0:de:8b)
[   69.861872] bcm43xx_d80211: PHY connected
[   70.000713] bcm43xx_d80211: Radio turned on
[   70.190153] bcm43xx_d80211: Chip initialized
[   70.192051] bcm43xx_d80211: DMA initialized
[   70.193987] bcm43xx_d80211: 80211 cores initialized
[   70.195550] bcm43xx_d80211: Keys cleared
[   70.212565] wmaster0: Does not support passive scan, disabled
[   70.252321] bcm43xx_d80211: mac_suspend() took 1 loops == 10 usec
[   70.542160] NET: Registered protocol family 17
[   70.692256] sta0: starting scan
[   70.702234] HW CONFIG: channel=1 freq=2412 phymode=3
[   70.762225] HW CONFIG: channel=2 freq=2417 phymode=3
[   70.87] HW CONFIG: channel=3 freq=2422 phymode=3
[   70.882225] HW CONFIG: channel=4 freq=2427 phymode=3
[   70.942225] HW CONFIG: channel=5 freq=2432 phymode=3
[   71.002285] HW CONFIG: channel=6 freq=2437 phymode=3
[   71.062229] HW CONFIG: channel=7 freq=2442 phymode=3
[   71.122230] HW CONFIG: channel=8 freq=2447 phymode=3
[   71.182239] HW CONFIG: channel=9 freq=2452 phymode=3
[   71.242226] HW CONFIG: channel=10 freq=2457 phymode=3
[   71.302226] HW CONFIG: channel=11 freq=2462 phymode=3
[   71.512225] HW CONFIG: channel=1 freq=2412 phymode=3
[   71.520066] sta0: scan completed
[   71.523437] HW CONFIG: channel=6 freq=2437 phymode=3
[   71.531600] sta0: Initial auth_alg=0
[   71.531806] sta0: authenticate with AP 00:90:4c:60:04:00
[   71.533279] sta0: RX authentication from 00:90:4c:60:04:00 (alg=0 
transaction=2 status=0)
[   71.533292] sta0: authenticated
[   71.533301] sta0: associate with AP 00:90:4c:60:04:00
[   71.536264] sta0: RX AssocResp from 

Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Joseph Jezak
 No, that totally avoids my point.  Your otherwise idle machine test is
 probably nowhere near worst case in the field, for loops that can
 potentially lock the CPU for a long time upon hardware fault.  And then
 there are the huge delays in specific functions that I pointed out...
 
 Jeff

The problem is that these are the delays used in the original driver
that we've been writing the specs from.  We don't know what they're
for or why they're so long.  We don't know if reducing the delay
will cause issues on some hardware and work fine on others.  Without
the actual specs from Broadcom, it's hard to say what's excessive
and what's not and whether changing it will break the driver.

-Joe
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Jeff Garzik

Michael Buesch wrote:

On Tuesday 27 June 2006 16:11, Jeff Garzik wrote:
Overall, bcm43xx is _really really bad_ about this sort of thing.  Just 
grepping for udelay in bcm43xx_radio.c shows some of the worst 
offenders.  bcm43xx_radio_init2060() and bcm43xx_radio_selectchannel() 
both look like candidates for using msleep() rather than udelay().


This is _all_ at initialization time.
select_channel How often do you select a channel?


That question is irrelevant, because you have no idea what -else- is 
going on in the system, at the point when bcm43xx chooses to spin the 
CPU heavily.


Initialization time means you are definitely not in a hot path, and can 
therefore sleep.




I recently reworked the periodically exectuted workhandlers,
so that they are preemptible.


Major classes of users run their kernels without preempt.  Please don't 
depend on that to avoid bad behavior.




mac_suspend():
It is always called in atomic context with IRQs disabled.
We need to wait for the device here to signal OK, MAC is down
now and you can count on it. This takes a few usecs. I guess
it sends out all queued packets, or whatever. We don't know
really.
I can actually measure how long it takes, if you really desire
it.
We _need_ to wait there. It is something like synchronize_irq(), or
whatever. It is a synchronizing function and we need it to be
synchronizing.
And I don't think it is worth the pain to insert a preemption
point there (or doing even fancier things with workqueues and
completions).

Overall, I don't think bcm43xx is still so bad at
wasting CPU. Maybe we should still insert some voluntary
preemption points, if the bcm43xx user does not run a fully
preemptible kernel. But if a fully preemptible kernel is run,
I think it is all OK.


Never assume a preemptible kernel will clean up problems for you :)

Jeff



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Jeff Garzik

Michael Buesch wrote:

So, I will submit a patch to lower the udelay(10) to udelay(1)
and we can close the discussion? ;)


No, that totally avoids my point.  Your otherwise idle machine test is 
probably nowhere near worst case in the field, for loops that can 
potentially lock the CPU for a long time upon hardware fault.  And then 
there are the huge delays in specific functions that I pointed out...


Jeff


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Michael Buesch
On Tuesday 27 June 2006 18:10, Jeff Garzik wrote:
 Michael Buesch wrote:
  On Tuesday 27 June 2006 16:11, Jeff Garzik wrote:
  Overall, bcm43xx is _really really bad_ about this sort of thing.  Just 
  grepping for udelay in bcm43xx_radio.c shows some of the worst 
  offenders.  bcm43xx_radio_init2060() and bcm43xx_radio_selectchannel() 
  both look like candidates for using msleep() rather than udelay().
  
  This is _all_ at initialization time.
  select_channel How often do you select a channel?
 
 That question is irrelevant, because you have no idea what -else- is 
 going on in the system, at the point when bcm43xx chooses to spin the 
 CPU heavily.
 
 Initialization time means you are definitely not in a hot path, and can 
 therefore sleep.

Ok, again:
If you are running a preemptible kernel (I am doing a patch for the
non-preemptible case), everything is _already_ fine.
We are not spinning long times with locks held or IRQs disabled.
I already fixed that.

And no, I don't really care for initialization time.
I am not going to potentially break the driver to remove
1ms of wasted CPU on ifconfig up.
In fact, initialization is and always was done lockless.
So we should be fine there, too, actually.

We don't know why these delays are there all. And we never will.
But as this are all some measuring an calibration routines,
they surely have some purpose. We don't know if longer delays
in some places may have ill effects. Making the whole thing
preemptible (as I am doing / have done) surely has its potential
to break the driver.

I prefer correct operation over an unnoticable 1ms CPU hog.

  I recently reworked the periodically exectuted workhandlers,
  so that they are preemptible.
 
 Major classes of users run their kernels without preempt.  Please don't 
 depend on that to avoid bad behavior.

I am doing a patch atm.
I will add voluntary preemption points, if the kernel is not preemptible.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Michael Buesch
On Tuesday 27 June 2006 18:12, Jeff Garzik wrote:
 Michael Buesch wrote:
  So, I will submit a patch to lower the udelay(10) to udelay(1)
  and we can close the discussion? ;)
 
 No, that totally avoids my point.  Your otherwise idle machine test is 
 probably nowhere near worst case in the field, for loops that can 
 potentially lock the CPU for a long time upon hardware fault.  And then 
 there are the huge delays in specific functions that I pointed out...

wtf are you requesting from me?
1) I proved you that the loop does only spin _once_ or even _less_.
2) If the hardware is faulty, the user must replace it.
   Because, if the hardware is faulty, it can crash the whole
   machine anyway, obviously.

3) There is no huge delay. I proved it with my logs.
   - No CPU hog = Nothing to fix.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Larry Finger

Michael Buesch wrote:

On Tuesday 27 June 2006 21:33, John W. Linville wrote:

On Tue, Jun 27, 2006 at 06:31:01PM +0200, Michael Buesch wrote:

On Tuesday 27 June 2006 18:12, Jeff Garzik wrote:

Michael Buesch wrote:

So, I will submit a patch to lower the udelay(10) to udelay(1)
and we can close the discussion? ;)
No, that totally avoids my point.  Your otherwise idle machine test is 
probably nowhere near worst case in the field, for loops that can 
potentially lock the CPU for a long time upon hardware fault.  And then 
there are the huge delays in specific functions that I pointed out...

wtf are you requesting from me?
1) I proved you that the loop does only spin _once_ or even _less_.
2) If the hardware is faulty, the user must replace it.
   Because, if the hardware is faulty, it can crash the whole
   machine anyway, obviously.

3) There is no huge delay. I proved it with my logs.
   - No CPU hog = Nothing to fix.

Michael,

I think Jeff's concern is that by using udelay you are busy-waiting.
And, the for loop limit of 10 means you could freeze the kernel
for up to a whole second.  Granted that this won't happen very often


s/very often/ever/

It won't happen, as long as the driver is not buggy, or the device
is hardware broken. So, if it happens, something has to be fixed.
In fact, it did happen _never_ for me.
If it triggers, the device does not work _at all_ anyway.


and in the grand scheme of things a second isn't all _that_ long,
but still it would be better to avoid a delay like that -- a second
could be the time it takes to avoid a meltdown at the nuclear power
plant. :-)

Could you not use msleep instead of udelay (and scale the for loop
appropriately)?  What would be the problem with that?  It would get
rid of the busy waiting.


Becauses it horribly _increases_ the delay.
We spin for _at most_ 10 usecs here. Please always remember that.
We are talking about a 10 usec delay here. And I already sent a
patch to even reduce this to under 10 usec.


To be fair, this code was already in the driver and was only being
moved by this patch.  Still, what better time to fix it than now? :-)


If it ain't broken, don't fix it.


I'll go ahead and reshuffle wireless-2.6 to drop this patch.  A new
patch that passes muster w/ Jeff will be most welcome! :-)


A new patch won't appear, as there is no problem with this
delay.
Please don't drop anything and apply the following patch on top
of it:


John,

I would like to find a diplomatic solution to this impasse between Michael and Jeff, which is why 
I'm writing to you privately. Michael is correct in that the loop in question will not usually delay 
long; however, on some hardware it takes longer than on his. On mine, I have seen delays as long as 
550 usec. In any case, I think that the following code fragment would work and pass Jeff's criticism:


for (i=5000; i; i--) {
..
usleep(1);
}

This would make the worst-case delay be 5 msec, but would provide a cushion of 10X the longest I 
have seen and should be safe.


Do you have any suggestions on what should be done next?

Larry
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Michael Buesch
On Tuesday 27 June 2006 22:06, Larry Finger wrote:
 John,
 
 I would like to find a diplomatic solution to this impasse between Michael 
 and Jeff, which is why 
 I'm writing to you privately. Michael is correct in that the loop in question 
 will not usually delay 

private?

 long; however, on some hardware it takes longer than on his. On mine, I have 
 seen delays as long as 
 550 usec.

What's the chip?

 In any case, I think that the following code fragment would work and pass 
 Jeff's criticism: 
 
 for (i=5000; i; i--) {
   ..
   usleep(1);

usleep? Can't find that in my kernel tree.
In fact, I think the lowest possible sleep time
depends on HZ and is 1msec on 1000HZ.

Additionally, we are holding a spinlock at this time, so it is
not as easy as simply replacing udelay() by some sleeping function.

 This would make the worst-case delay be 5 msec, but would provide a cushion 
 of 10X the longest I 
 have seen and should be safe.
 
 Do you have any suggestions on what should be done next?

Leave it as is and find out why it takes so long for your strange card. ;)

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Larry Finger

Michael Buesch wrote:

On Tuesday 27 June 2006 22:06, Larry Finger wrote:

John,

I would like to find a diplomatic solution to this impasse between Michael and Jeff, which is why 
I'm writing to you privately. Michael is correct in that the loop in question will not usually delay 


private?


I meant it to be private, but screwed up.

long; however, on some hardware it takes longer than on his. On mine, I have seen delays as long as 
550 usec.


What's the chip?


bcm43xx: Chip ID 0x4306, rev 0x2
bcm43xx: Number of cores: 6
bcm43xx: Core 0: ID 0x800, rev 0x2, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x4, vendor 0x4243, disabled
bcm43xx: Core 2: ID 0x80d, rev 0x1, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x807, rev 0x1, vendor 0x4243, disabled
bcm43xx: Core 4: ID 0x804, rev 0x7, vendor 0x4243, enabled
bcm43xx: Core 5: ID 0x812, rev 0x4, vendor 0x4243, disabled
bcm43xx: Ignoring additional 802.11 core.
bcm43xx: Detected PHY: Version: 1, Type 2, Revision 1
bcm43xx: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)

In any case, I think that the following code fragment would work and pass Jeff's criticism: 


for (i=5000; i; i--) {
..
usleep(1);


usleep? Can't find that in my kernel tree.
In fact, I think the lowest possible sleep time
depends on HZ and is 1msec on 1000HZ.


I meant udelay, of course.


Additionally, we are holding a spinlock at this time, so it is
not as easy as simply replacing udelay() by some sleeping function.


I know that.

This would make the worst-case delay be 5 msec, but would provide a cushion of 10X the longest I 
have seen and should be safe.


Do you have any suggestions on what should be done next?


Leave it as is and find out why it takes so long for your strange card. ;)


I once offered you my second, duplicate card for testing, but never heard back. Do you have any 
ideas regarding diagnostics to see why it takes so long? Remember, this card used to time-out on the 
1 second delay before the periodic work was restructured.


Larry



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread John W. Linville
On Tue, Jun 27, 2006 at 06:31:01PM +0200, Michael Buesch wrote:
 On Tuesday 27 June 2006 18:12, Jeff Garzik wrote:
  Michael Buesch wrote:
   So, I will submit a patch to lower the udelay(10) to udelay(1)
   and we can close the discussion? ;)
  
  No, that totally avoids my point.  Your otherwise idle machine test is 
  probably nowhere near worst case in the field, for loops that can 
  potentially lock the CPU for a long time upon hardware fault.  And then 
  there are the huge delays in specific functions that I pointed out...
 
 wtf are you requesting from me?
 1) I proved you that the loop does only spin _once_ or even _less_.
 2) If the hardware is faulty, the user must replace it.
Because, if the hardware is faulty, it can crash the whole
machine anyway, obviously.
 
 3) There is no huge delay. I proved it with my logs.
- No CPU hog = Nothing to fix.

Michael,

I think Jeff's concern is that by using udelay you are busy-waiting.
And, the for loop limit of 10 means you could freeze the kernel
for up to a whole second.  Granted that this won't happen very often
and in the grand scheme of things a second isn't all _that_ long,
but still it would be better to avoid a delay like that -- a second
could be the time it takes to avoid a meltdown at the nuclear power
plant. :-)

Could you not use msleep instead of udelay (and scale the for loop
appropriately)?  What would be the problem with that?  It would get
rid of the busy waiting.

To be fair, this code was already in the driver and was only being
moved by this patch.  Still, what better time to fix it than now? :-)

I'll go ahead and reshuffle wireless-2.6 to drop this patch.  A new
patch that passes muster w/ Jeff will be most welcome! :-)

Thanks,

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-27 Thread Michael Buesch
On Tuesday 27 June 2006 21:33, John W. Linville wrote:
 On Tue, Jun 27, 2006 at 06:31:01PM +0200, Michael Buesch wrote:
  On Tuesday 27 June 2006 18:12, Jeff Garzik wrote:
   Michael Buesch wrote:
So, I will submit a patch to lower the udelay(10) to udelay(1)
and we can close the discussion? ;)
   
   No, that totally avoids my point.  Your otherwise idle machine test is 
   probably nowhere near worst case in the field, for loops that can 
   potentially lock the CPU for a long time upon hardware fault.  And then 
   there are the huge delays in specific functions that I pointed out...
  
  wtf are you requesting from me?
  1) I proved you that the loop does only spin _once_ or even _less_.
  2) If the hardware is faulty, the user must replace it.
 Because, if the hardware is faulty, it can crash the whole
 machine anyway, obviously.
  
  3) There is no huge delay. I proved it with my logs.
 - No CPU hog = Nothing to fix.
 
 Michael,
 
 I think Jeff's concern is that by using udelay you are busy-waiting.
 And, the for loop limit of 10 means you could freeze the kernel
 for up to a whole second.  Granted that this won't happen very often

s/very often/ever/

It won't happen, as long as the driver is not buggy, or the device
is hardware broken. So, if it happens, something has to be fixed.
In fact, it did happen _never_ for me.
If it triggers, the device does not work _at all_ anyway.

 and in the grand scheme of things a second isn't all _that_ long,
 but still it would be better to avoid a delay like that -- a second
 could be the time it takes to avoid a meltdown at the nuclear power
 plant. :-)
 
 Could you not use msleep instead of udelay (and scale the for loop
 appropriately)?  What would be the problem with that?  It would get
 rid of the busy waiting.

Becauses it horribly _increases_ the delay.
We spin for _at most_ 10 usecs here. Please always remember that.
We are talking about a 10 usec delay here. And I already sent a
patch to even reduce this to under 10 usec.

 To be fair, this code was already in the driver and was only being
 moved by this patch.  Still, what better time to fix it than now? :-)

If it ain't broken, don't fix it.

 I'll go ahead and reshuffle wireless-2.6 to drop this patch.  A new
 patch that passes muster w/ Jeff will be most welcome! :-)

A new patch won't appear, as there is no problem with this
delay.
Please don't drop anything and apply the following patch on top
of it:

--

Microoptimization:
This reduces the udelay in bcm43xx_mac_suspend.

Signed-off-by: Michael Buesch [EMAIL PROTECTED]

Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
===
--- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c   
2006-06-27 17:47:24.0 +0200
+++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c2006-06-27 
17:53:29.0 +0200
@@ -2328,7 +2328,7 @@
tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
if (tmp  BCM43xx_IRQ_READY)
goto out;
-   udelay(10);
+   udelay(1);
}
printkl(KERN_ERR PFX MAC suspend failed\n);
}


-- 
Greetings Michael.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6 (revised)

2006-06-27 Thread John W. Linville
On Mon, Jun 26, 2006 at 05:25:52PM -0400, John W. Linville wrote:

 Michael Buesch:
   bcm43xx: suspend MAC while executing long pwork

The above patch ruffled some feathers on netdev.  In the interest of
moving things along, I have pulled that patch out of wireless-2.6.
I expect it will be back soon, probably with some additional changes
to satisfy concerns raised on the mailing list.

NOTE: While I was mucking around, I pulled a bunch of patches from
the master branch out into driver-specific branches for adm8211,
prism54usb, tiacx, and zd1211rw.  Then I rebuilt the master branch
by pulling from the driver branches.  This is intended to ease the
merging of individual drivers upstream (e.g. zd1211rw and maybe tiacx
in the near future).

Those working off my upstream branch or off Linus' tree should be
unaffected.  Anyone who works off my master branch may need to rebase,
especially if they want me to be able to pull from them (due to dirty
history).  I apologize for the hassle and appreciate your cooperation!

Thanks,

John
---

The following changes since commit fcc18e83e1f6fd9fa6b333735bf0fcd530655511:
  Malcolm Parsons:
uclinux: use PER_LINUX_32BIT in binfmt_flat

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  bcm43xx: use softmac-suggested TX rate
  bcm43xx: enable shared key authentication

Eric Sesterhenn:
  skb used after passing to netif_rx in net/ieee80211/ieee80211_rx.c

Faidon Liambotis:
  Add two PLX device IDs

Hong Liu:
  ieee80211: fix not allocating IV+ICV space when usingencryption in 
ieee80211_tx_frame

Horms:
  CONFIG_WIRELESS_EXT is neccessary after all

John W. Linville:
  softmac: fix build-break from 881ee6999d66c8fc903b429b73bbe6045b38c549

Joseph Jezak:
  SoftMAC: Prevent multiple authentication attempts on the same network
  SoftMAC: Add network to ieee80211softmac_call_events when associate times 
out

Larry Finger:
  Convert bcm43xx-softmac to use the ieee80211_is_valid_channel routine
  2.6.17 missing a call to ieee80211softmac_capabilities from 
ieee80211softmac_assoc_req

Michael Buesch:
  bcm43xx: workaround init_board vs. IRQ race

 drivers/net/wireless/bcm43xx/bcm43xx_main.c|   31 -
 drivers/net/wireless/bcm43xx/bcm43xx_main.h|   24 
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c   |7 +
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c  |2 +
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c|5 +++
 drivers/net/wireless/hostap/hostap_plx.c   |2 +
 include/net/ieee80211softmac.h |1 +
 net/ieee80211/ieee80211_rx.c   |4 ++-
 net/ieee80211/ieee80211_tx.c   |   15 +++---
 net/ieee80211/softmac/ieee80211softmac_assoc.c |   31 -
 net/ieee80211/softmac/ieee80211softmac_auth.c  |4 +--
 net/ieee80211/softmac/ieee80211softmac_io.c|3 ++
 net/ieee80211/softmac/ieee80211softmac_wx.c|   36 +++-
 13 files changed, 105 insertions(+), 60 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 085d785..1cd47c5 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -1885,6 +1885,15 @@ static irqreturn_t bcm43xx_interrupt_han
 
spin_lock(bcm-irq_lock);
 
+   /* Only accept IRQs, if we are initialized properly.
+* This avoids an RX race while initializing.
+* We should probably not enable IRQs before we are initialized
+* completely, but some careful work is needed to fix this. I think it
+* is best to stay with this cheap workaround for now... .
+*/
+   if (unlikely(bcm43xx_status(bcm) != BCM43xx_STAT_INITIALIZED))
+   goto out;
+
reason = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
if (reason == 0x) {
/* irq not for us (shared irq) */
@@ -1906,19 +1915,11 @@ static irqreturn_t bcm43xx_interrupt_han
 
bcm43xx_interrupt_ack(bcm, reason);
 
-   /* Only accept IRQs, if we are initialized properly.
-* This avoids an RX race while initializing.
-* We should probably not enable IRQs before we are initialized
-* completely, but some careful work is needed to fix this. I think it
-* is best to stay with this cheap workaround for now... .
-*/
-   if (likely(bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED)) {
-   /* disable all IRQs. They are enabled again in the bottom half. 
*/
-   bcm-irq_savedstate = bcm43xx_interrupt_disable(bcm, 
BCM43xx_IRQ_ALL);
-   /* save the reason code and call our bottom half. */
-   bcm-irq_reason = reason;
-   tasklet_schedule(bcm-isr_tasklet);
-   }
+   /* disable all IRQs. They are enabled 

Please pull 'upstream' branch of wireless-2.6

2006-06-26 Thread John W. Linville
The following changes since commit fcc18e83e1f6fd9fa6b333735bf0fcd530655511:
  Malcolm Parsons:
uclinux: use PER_LINUX_32BIT in binfmt_flat

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  bcm43xx: use softmac-suggested TX rate
  bcm43xx: enable shared key authentication

Eric Sesterhenn:
  skb used after passing to netif_rx in net/ieee80211/ieee80211_rx.c

Faidon Liambotis:
  Add two PLX device IDs

Hong Liu:
  ieee80211: fix not allocating IV+ICV space when usingencryption in 
ieee80211_tx_frame

Horms:
  CONFIG_WIRELESS_EXT is neccessary after all

John W. Linville:
  softmac: fix build-break from 881ee6999d66c8fc903b429b73bbe6045b38c549

Joseph Jezak:
  SoftMAC: Prevent multiple authentication attempts on the same network
  SoftMAC: Add network to ieee80211softmac_call_events when associate times 
out

Larry Finger:
  Convert bcm43xx-softmac to use the ieee80211_is_valid_channel routine
  2.6.17 missing a call to ieee80211softmac_capabilities from 
ieee80211softmac_assoc_req

Michael Buesch:
  bcm43xx: suspend MAC while executing long pwork
  bcm43xx: workaround init_board vs. IRQ race

 drivers/net/wireless/bcm43xx/bcm43xx.h |2 +
 drivers/net/wireless/bcm43xx/bcm43xx_main.c|   82 +++-
 drivers/net/wireless/bcm43xx/bcm43xx_main.h|   24 ---
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c   |7 +-
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c  |2 -
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c|5 +
 drivers/net/wireless/hostap/hostap_plx.c   |2 +
 include/net/ieee80211softmac.h |1 
 net/ieee80211/ieee80211_rx.c   |4 +
 net/ieee80211/ieee80211_tx.c   |   15 +++-
 net/ieee80211/softmac/ieee80211softmac_assoc.c |   31 +++--
 net/ieee80211/softmac/ieee80211softmac_auth.c  |4 +
 net/ieee80211/softmac/ieee80211softmac_io.c|3 +
 net/ieee80211/softmac/ieee80211softmac_wx.c|   36 ++-
 14 files changed, 139 insertions(+), 79 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index d8f917c..d5e10e2 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -722,6 +722,8 @@ #endif
u32 irq_savedstate;
/* Link Quality calculation context. */
struct bcm43xx_noise_calculation noisecalc;
+   /* if  0 MAC is suspended. if == 0 MAC is enabled. */
+   int mac_suspended;
 
/* Threshold values. */
//TODO: The RTS thr has to be _used_. Currently, it is only set via WX.
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 085d785..af97755 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -1885,6 +1885,15 @@ static irqreturn_t bcm43xx_interrupt_han
 
spin_lock(bcm-irq_lock);
 
+   /* Only accept IRQs, if we are initialized properly.
+* This avoids an RX race while initializing.
+* We should probably not enable IRQs before we are initialized
+* completely, but some careful work is needed to fix this. I think it
+* is best to stay with this cheap workaround for now... .
+*/
+   if (unlikely(bcm43xx_status(bcm) != BCM43xx_STAT_INITIALIZED))
+   goto out;
+
reason = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
if (reason == 0x) {
/* irq not for us (shared irq) */
@@ -1906,19 +1915,11 @@ static irqreturn_t bcm43xx_interrupt_han
 
bcm43xx_interrupt_ack(bcm, reason);
 
-   /* Only accept IRQs, if we are initialized properly.
-* This avoids an RX race while initializing.
-* We should probably not enable IRQs before we are initialized
-* completely, but some careful work is needed to fix this. I think it
-* is best to stay with this cheap workaround for now... .
-*/
-   if (likely(bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED)) {
-   /* disable all IRQs. They are enabled again in the bottom half. 
*/
-   bcm-irq_savedstate = bcm43xx_interrupt_disable(bcm, 
BCM43xx_IRQ_ALL);
-   /* save the reason code and call our bottom half. */
-   bcm-irq_reason = reason;
-   tasklet_schedule(bcm-isr_tasklet);
-   }
+   /* disable all IRQs. They are enabled again in the bottom half. */
+   bcm-irq_savedstate = bcm43xx_interrupt_disable(bcm, BCM43xx_IRQ_ALL);
+   /* save the reason code and call our bottom half. */
+   bcm-irq_reason = reason;
+   tasklet_schedule(bcm-isr_tasklet);
 
 out:
mmiowb();
@@ -2297,13 +2298,17 @@ static int bcm43xx_gpio_cleanup(struct b
 /* http://bcm-specs.sipsolutions.net/EnableMac */
 void 

Re: Please pull 'upstream' branch of wireless-2.6

2006-06-26 Thread Jeff Garzik

John W. Linville wrote:

+   assert(bcm-mac_suspended = 0);
+   if (bcm-mac_suspended == 0) {
+   bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
+   bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
+   bcm43xx_read32(bcm, 
BCM43xx_MMIO_STATUS_BITFIELD)
+~BCM43xx_SBF_MAC_ENABLED);
+   bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy read 
*/
+   for (i = 10; i; i--) {
+   tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
+   if (tmp  BCM43xx_IRQ_READY)
+   goto out;
+   udelay(10);
+   }
+   printkl(KERN_ERR PFX MAC suspend failed\n);
}



NAK this super-long delay...  should be done in a workqueue, looks like?

ACK everything else.

Jeff


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-26 Thread Larry Finger

Jeff Garzik wrote:

John W. Linville wrote:

+assert(bcm-mac_suspended = 0);
+if (bcm-mac_suspended == 0) {
+bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
+bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
+bcm43xx_read32(bcm, 
BCM43xx_MMIO_STATUS_BITFIELD)

+ ~BCM43xx_SBF_MAC_ENABLED);
+bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy 
read */

+for (i = 10; i; i--) {
+tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
+if (tmp  BCM43xx_IRQ_READY)
+goto out;
+udelay(10);
+}
+printkl(KERN_ERR PFX MAC suspend failed\n);
 }



NAK this super-long delay...  should be done in a workqueue, looks like?

ACK everything else.



That delay was set to try to accommodate my interface when it refused to suspend the MAC, which 
resulted in transmit errors. That problem has since been cured by reworking the periodic work 
handlers - thus such a long delay should not be needed. The original spec from the clean-room group 
was a delay loop of 1000. I'm currently testing that value now. If it passes the test, would a for 
(i=1000; i; i--) be acceptable?


Larry
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-26 Thread Jeff Garzik

Larry Finger wrote:

Jeff Garzik wrote:

John W. Linville wrote:

+assert(bcm-mac_suspended = 0);
+if (bcm-mac_suspended == 0) {
+bcm43xx_power_saving_ctl_bits(bcm, -1, 1);
+bcm43xx_write32(bcm, BCM43xx_MMIO_STATUS_BITFIELD,
+bcm43xx_read32(bcm, 
BCM43xx_MMIO_STATUS_BITFIELD)

+ ~BCM43xx_SBF_MAC_ENABLED);
+bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON); /* dummy 
read */

+for (i = 10; i; i--) {
+tmp = bcm43xx_read32(bcm, BCM43xx_MMIO_GEN_IRQ_REASON);
+if (tmp  BCM43xx_IRQ_READY)
+goto out;
+udelay(10);
+}
+printkl(KERN_ERR PFX MAC suspend failed\n);
 }



NAK this super-long delay...  should be done in a workqueue, looks like?

ACK everything else.



That delay was set to try to accommodate my interface when it refused to 
suspend the MAC, which resulted in transmit errors. That problem has 
since been cured by reworking the periodic work handlers - thus such a 
long delay should not be needed. The original spec from the clean-room 
group was a delay loop of 1000. I'm currently testing that value now. If 
it passes the test, would a for (i=1000; i; i--) be acceptable?


That's acceptable, yes, but it sounds like the problem has since been cured?

Jeff



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-06-20 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 76df73ff90e99681a99e457aec4cfe0a240b7982:
  John W. Linville:
Merge branch 'from-linus' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Jiri Slaby:
  pci: bcm43xx avoid pci_find_device

Larry Finger:
  wireless: Changes to ieee80211.h for user space regulatory daemon
  wireless: correct dump of WPA IE

Michael Buesch:
  bcm43xx: redesign locking
  bcm43xx: preemptible periodic work

Zhu Yi:
  ipw2200 locking fix


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-06-15 Thread John W. Linville
The following changes since commit 76df73ff90e99681a99e457aec4cfe0a240b7982:
  John W. Linville:
Merge branch 'from-linus' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Jiri Slaby:
  pci: bcm43xx avoid pci_find_device

Larry Finger:
  wireless: Changes to ieee80211.h for user space regulatory daemon
  wireless: correct dump of WPA IE

Michael Buesch:
  bcm43xx: redesign locking
  bcm43xx: preemptible periodic work

Zhu Yi:
  ipw2200 locking fix

 drivers/net/wireless/bcm43xx/bcm43xx.h |  100 +++
 drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c |   33 ++--
 drivers/net/wireless/bcm43xx/bcm43xx_leds.c|4 
 drivers/net/wireless/bcm43xx/bcm43xx_main.c|  221 
 drivers/net/wireless/bcm43xx/bcm43xx_phy.c |9 +
 drivers/net/wireless/bcm43xx/bcm43xx_pio.c |   44 -
 drivers/net/wireless/bcm43xx/bcm43xx_pio.h |   13 +
 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c   |   38 ++--
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c  |  107 ++--
 drivers/net/wireless/ipw2200.c |   41 +++-
 drivers/net/wireless/ipw2200.h |1 
 include/net/ieee80211.h|5 -
 net/ieee80211/softmac/ieee80211softmac_wx.c|2 
 13 files changed, 402 insertions(+), 216 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx.h 
b/drivers/net/wireless/bcm43xx/bcm43xx.h
index e66fdb1..d8f917c 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -636,6 +636,17 @@ struct bcm43xx_key {
u8 algorithm;
 };
 
+/* Driver initialization status. */
+enum {
+   BCM43xx_STAT_UNINIT,/* Uninitialized. */
+   BCM43xx_STAT_INITIALIZING,  /* init_board() in progress. */
+   BCM43xx_STAT_INITIALIZED,   /* Fully operational. */
+   BCM43xx_STAT_SHUTTINGDOWN,  /* free_board() in progress. */
+   BCM43xx_STAT_RESTARTING,/* controller_restart() called. */
+};
+#define bcm43xx_status(bcm)atomic_read((bcm)-init_status)
+#define bcm43xx_set_status(bcm, stat)  atomic_set((bcm)-init_status, (stat))
+
 struct bcm43xx_private {
struct ieee80211_device *ieee;
struct ieee80211softmac_device *softmac;
@@ -646,18 +657,17 @@ struct bcm43xx_private {
 
void __iomem *mmio_addr;
 
-   /* Do not use the lock directly. Use the bcm43xx_lock* helper
-* functions, to be MMIO-safe. */
-   spinlock_t _lock;
+   /* Locking, see theory of locking text below. */
+   spinlock_t irq_lock;
+   struct mutex mutex;
 
-   /* Driver status flags. */
-   u32 initialized:1,  /* init_board() succeed */
-   was_initialized:1,  /* for PCI suspend/resume. */
-   shutting_down:1,/* free_board() in progress */
+   /* Driver initialization status BCM43xx_STAT_*** */
+   atomic_t init_status;
+
+   u16 was_initialized:1,  /* for PCI suspend/resume. */
__using_pio:1,  /* Internal, use bcm43xx_using_pio(). */
bad_frames_preempt:1,   /* Use Bad Frames Preemption (default 
off) */
reg124_set_0x4:1,   /* Some variable to keep track of IRQ 
stuff. */
-   powersaving:1,  /* TRUE if we are in PowerSaving mode. 
FALSE otherwise. */
short_preamble:1,   /* TRUE, if short preamble is enabled. 
*/
firmware_norelease:1;   /* Do not release the firmware. Used on 
suspend. */
 
@@ -721,7 +731,7 @@ #endif
struct tasklet_struct isr_tasklet;
 
/* Periodic tasks */
-   struct timer_list periodic_tasks;
+   struct work_struct periodic_work;
unsigned int periodic_state;
 
struct work_struct restart_work;
@@ -746,21 +756,55 @@ #ifdef CONFIG_BCM43XX_DEBUG
 #endif
 };
 
-/* bcm43xx_(un)lock() protect struct bcm43xx_private.
- * Note that _NO_ MMIO writes are allowed. If you want to
- * write to the device through MMIO in the critical section, use
- * the *_mmio lock functions.
- * MMIO read-access is allowed, though.
- */
-#define bcm43xx_lock(bcm, flags)   spin_lock_irqsave((bcm)-_lock, flags)
-#define bcm43xx_unlock(bcm, flags) spin_unlock_irqrestore((bcm)-_lock, 
flags)
-/* bcm43xx_(un)lock_mmio() protect struct bcm43xx_private and MMIO.
- * MMIO write-access to the device is allowed.
- * All MMIO writes are flushed on unlock, so it is guaranteed to not
- * interfere with other threads writing MMIO registers.
+
+/**** THEORY OF LOCKING ***
+ *
+ * We have two different locks in the bcm43xx driver.
+ * = bcm-mutex:General sleeping mutex. Protects struct bcm43xx_private
+ *   and the device registers.
+ * = bcm-irq_lock: IRQ spinlock. Protects against IRQ handler concurrency.
+ *
+ * We have three types of helper function pairs to utilize 

Re: Please pull 'upstream' branch of wireless-2.6

2006-06-08 Thread Jeff Garzik

John W. Linville wrote:

This pull is intended for 2.6.18.

Thanks,

John

---

The following changes since commit f6882a0688ea83db5fc2f3491ac9fcdce0834cc7:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


applied

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-06-05 Thread John W. Linville
This pull is intended for 2.6.18.

Thanks,

John

---

The following changes since commit f6882a0688ea83db5fc2f3491ac9fcdce0834cc7:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Daniel Drake:
  softmac: complete shared key authentication
  softmac: Fix handling of authentication failure

Jason Lunz:
  bcm43xx: quiet down log spam from set_security

Joseph Jezak:
  softmac: unified capabilities computation

Pavel Machek:
  usb wifi: zd1201 cleanups
  wireless: move zd1201 where it belongs

Toralf Förster:
  ieee80211softmac_io.c: fix warning defined but not used

 drivers/net/wireless/Kconfig   |   17 ++
 drivers/net/wireless/Makefile  |2 
 drivers/net/wireless/bcm43xx/bcm43xx_main.c|   13 +-
 drivers/net/wireless/zd1201.c  |   67 --
 drivers/net/wireless/zd1201.h  |0 
 drivers/usb/net/Kconfig|   17 --
 drivers/usb/net/Makefile   |1 
 include/net/ieee80211.h|3 
 include/net/ieee80211softmac.h |2 
 net/ieee80211/ieee80211_tx.c   |   25 +++-
 net/ieee80211/softmac/Kconfig  |1 
 net/ieee80211/softmac/ieee80211softmac_assoc.c |   22 +++
 net/ieee80211/softmac/ieee80211softmac_auth.c  |   12 +-
 net/ieee80211/softmac/ieee80211softmac_event.c |5 +
 net/ieee80211/softmac/ieee80211softmac_io.c|  169 +++-
 15 files changed, 180 insertions(+), 176 deletions(-)
 rename drivers/{usb/net/zd1201.c = net/wireless/zd1201.c} (98%)
 rename drivers/{usb/net/zd1201.h = net/wireless/zd1201.h} (100%)

Patch included as attachment upstream.patch.bz2
-- 
John W. Linville
[EMAIL PROTECTED]


upstream.patch.bz2
Description: BZip2 compressed data


Re: Please pull 'upstream' branch of wireless-2.6

2006-05-24 Thread John W. Linville
On Wed, May 24, 2006 at 12:35:20AM -0400, Jeff Garzik wrote:
 John W. Linville wrote:
 The following changes since commit 
 01d654d25d23fb73deb7904ce1c0b3a0f5fc2908:
   John W. Linville:
 Merge branch 'upstream-fixes' into upstream
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
   upstream
 
 Marcin Juszkiewicz:
   hostap: new pcmcia IDs
 
  drivers/net/wireless/hostap/hostap_cs.c |6 ++
  1 files changed, 6 insertions(+), 0 deletions(-)
 
 WTF???  I pull, and see diffstat:
 
 Merge db21e578e551421d76641d72cb3f8296ed3f9e61, made by recursive.
  drivers/net/wireless/airo.c |2
...

 This is vastly different from any 'pull upstream' email I've received 
 from you.  It is extremely uncool for me to pull, and receive something 
 other than what your email specified.

Jeff, I am terribly sorry.  I sent a request for this on 24 April,
but it does not appear in the archives.  It must have been dropped
(probably due to size) by the netdev list filters, and I neglected
to notice.

/me wishes the list would send me a note when it drops stuff due
to size...

 Nonetheless, I looked over the changes and they look OK, so I took the 
 lazy route and kept them.
 
I greatly appreciate that!

 For the future, I would perhaps recommend creating an upstream-jeff 
 branch at the time of submission, if you insist upon continuing to push 

The point is well taken.  It probably does make sense either to have an
upstream-jeff branch or to make a new branch if you haven't yet pulled.
I'll keep that in mind.

Thanks,

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-05-22 Thread John W. Linville
The following changes since commit 01d654d25d23fb73deb7904ce1c0b3a0f5fc2908:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Marcin Juszkiewicz:
  hostap: new pcmcia IDs

 drivers/net/wireless/hostap/hostap_cs.c |6 ++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/hostap/hostap_cs.c 
b/drivers/net/wireless/hostap/hostap_cs.c
index 55bed92..db03dc2 100644
--- a/drivers/net/wireless/hostap/hostap_cs.c
+++ b/drivers/net/wireless/hostap/hostap_cs.c
@@ -881,6 +881,12 @@ static struct pcmcia_device_id hostap_cs
PCMCIA_DEVICE_PROD_ID12(
ZoomAir 11Mbps High, Rate wireless Networking,
0x273fe3db, 0x32a1eaee),
+   PCMCIA_DEVICE_PROD_ID123(
+   Pretec, CompactWLAN Card 802.11b, 2.5,
+   0x1cadd3e5, 0xe697636c, 0x7a5bfcf1),
+   PCMCIA_DEVICE_PROD_ID123(
+   U.S. Robotics, IEEE 802.11b PC-CARD, Version 01.02,
+   0xc7b8df9d, 0x1700d087, 0x4b74baa0),
PCMCIA_DEVICE_NULL
 };
 MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-05-18 Thread John W. Linville
On Wed, May 17, 2006 at 10:23:34PM +0100, Daniel Drake wrote:
 John W. Linville wrote:
 Daniel Drake:
   set_security implementation inside softmac
 
 If it's not too late, can you drop this one?

Well, it's your patch.  If you want to withdraw it, I'll comply.

---

The following changes since commit 59d4b684fbe74b25ac8593f39d2aaa86aa485b1f:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Arjan van de Ven:
  unused exports in wireless drivers

 drivers/net/wireless/hostap/hostap_80211_tx.c |1 -
 drivers/net/wireless/hostap/hostap_ap.c   |   11 ---
 drivers/net/wireless/hostap/hostap_main.c |2 --
 3 files changed, 0 insertions(+), 14 deletions(-)

diff --git a/drivers/net/wireless/hostap/hostap_80211_tx.c 
b/drivers/net/wireless/hostap/hostap_80211_tx.c
index 06a5214..4a5be70 100644
--- a/drivers/net/wireless/hostap/hostap_80211_tx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_tx.c
@@ -534,5 +534,4 @@ int hostap_master_start_xmit(struct sk_b
 }
 
 
-EXPORT_SYMBOL(hostap_dump_tx_80211);
 EXPORT_SYMBOL(hostap_master_start_xmit);
diff --git a/drivers/net/wireless/hostap/hostap_ap.c 
b/drivers/net/wireless/hostap/hostap_ap.c
index 06c3fa3..ba13125 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -3276,17 +3276,6 @@ EXPORT_SYMBOL(hostap_init_data);
 EXPORT_SYMBOL(hostap_init_ap_proc);
 EXPORT_SYMBOL(hostap_free_data);
 EXPORT_SYMBOL(hostap_check_sta_fw_version);
-EXPORT_SYMBOL(hostap_handle_sta_tx);
-EXPORT_SYMBOL(hostap_handle_sta_release);
 EXPORT_SYMBOL(hostap_handle_sta_tx_exc);
-EXPORT_SYMBOL(hostap_update_sta_ps);
-EXPORT_SYMBOL(hostap_handle_sta_rx);
-EXPORT_SYMBOL(hostap_is_sta_assoc);
-EXPORT_SYMBOL(hostap_is_sta_authorized);
-EXPORT_SYMBOL(hostap_add_sta);
-EXPORT_SYMBOL(hostap_update_rates);
-EXPORT_SYMBOL(hostap_add_wds_links);
-EXPORT_SYMBOL(hostap_wds_link_oper);
 #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT
-EXPORT_SYMBOL(hostap_deauth_all_stas);
 #endif /* PRISM2_NO_KERNEL_IEEE80211_MGMT */
diff --git a/drivers/net/wireless/hostap/hostap_main.c 
b/drivers/net/wireless/hostap/hostap_main.c
index 8dd4c44..93786f4 100644
--- a/drivers/net/wireless/hostap/hostap_main.c
+++ b/drivers/net/wireless/hostap/hostap_main.c
@@ -1125,11 +1125,9 @@ EXPORT_SYMBOL(hostap_set_auth_algs);
 EXPORT_SYMBOL(hostap_dump_rx_header);
 EXPORT_SYMBOL(hostap_dump_tx_header);
 EXPORT_SYMBOL(hostap_80211_header_parse);
-EXPORT_SYMBOL(hostap_80211_prism_header_parse);
 EXPORT_SYMBOL(hostap_80211_get_hdrlen);
 EXPORT_SYMBOL(hostap_get_stats);
 EXPORT_SYMBOL(hostap_setup_dev);
-EXPORT_SYMBOL(hostap_proc);
 EXPORT_SYMBOL(hostap_set_multicast_list_queue);
 EXPORT_SYMBOL(hostap_set_hostapd);
 EXPORT_SYMBOL(hostap_set_hostapd_sta);
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-05-18 Thread Daniel Drake

John W. Linville wrote:

On Wed, May 17, 2006 at 10:23:34PM +0100, Daniel Drake wrote:

John W. Linville wrote:

Daniel Drake:
 set_security implementation inside softmac

If it's not too late, can you drop this one?


Well, it's your patch.  If you want to withdraw it, I'll comply.


Please do. I didn't sign off or send it to you directly as I wasn't 
asking for inclusion, but I'll make that clearer next time.


Thanks,
Daniel

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-05-17 Thread John W. Linville
The following changes since commit 59d4b684fbe74b25ac8593f39d2aaa86aa485b1f:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Arjan van de Ven:
  unused exports in wireless drivers

Daniel Drake:
  set_security implementation inside softmac

 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   38 +++
 drivers/net/wireless/hostap/hostap_80211_tx.c   |1 -
 drivers/net/wireless/hostap/hostap_ap.c |   11 --
 drivers/net/wireless/hostap/hostap_main.c   |2 -
 include/net/ieee80211softmac.h  |4 ++
 net/ieee80211/softmac/ieee80211softmac_module.c |   46 +++
 6 files changed, 55 insertions(+), 47 deletions(-)

diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index c050290..17b59ef 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -3547,8 +3547,7 @@ static void bcm43xx_ieee80211_set_chan(s
 }
 
 /* set_security() callback in struct ieee80211_device */
-static void bcm43xx_ieee80211_set_security(struct net_device *net_dev,
-  struct ieee80211_security *sec)
+static void bcm43xx_ieee80211_set_security(struct net_device *net_dev)
 {
struct bcm43xx_private *bcm = bcm43xx_priv(net_dev);
struct ieee80211_security *secinfo = bcm-ieee-sec;
@@ -3559,42 +3558,15 @@ static void bcm43xx_ieee80211_set_securi
 
bcm43xx_lock_mmio(bcm, flags);
 
-   for (keyidx = 0; keyidxWEP_KEYS; keyidx++)
-   if (sec-flags  (1keyidx)) {
-   secinfo-encode_alg[keyidx] = sec-encode_alg[keyidx];
-   secinfo-key_sizes[keyidx] = sec-key_sizes[keyidx];
-   memcpy(secinfo-keys[keyidx], sec-keys[keyidx], 
SCM_KEY_LEN);
-   }
-   
-   if (sec-flags  SEC_ACTIVE_KEY) {
-   secinfo-active_key = sec-active_key;
-   dprintk(KERN_INFO PFX.active_key = %d\n, sec-active_key);
-   }
-   if (sec-flags  SEC_UNICAST_GROUP) {
-   secinfo-unicast_uses_group = sec-unicast_uses_group;
-   dprintk(KERN_INFO PFX.unicast_uses_group = %d\n, 
sec-unicast_uses_group);
-   }
-   if (sec-flags  SEC_LEVEL) {
-   secinfo-level = sec-level;
-   dprintk(KERN_INFO PFX.level = %d\n, sec-level);
-   }
-   if (sec-flags  SEC_ENABLED) {
-   secinfo-enabled = sec-enabled;
-   dprintk(KERN_INFO PFX.enabled = %d\n, sec-enabled);
-   }
-   if (sec-flags  SEC_ENCRYPT) {
-   secinfo-encrypt = sec-encrypt;
-   dprintk(KERN_INFO PFX.encrypt = %d\n, sec-encrypt);
-   }
if (bcm-initialized  !bcm-ieee-host_encrypt) {
if (secinfo-enabled) {
/* upload WEP keys to hardware */
char null_address[6] = { 0 };
u8 algorithm = 0;
for (keyidx = 0; keyidxWEP_KEYS; keyidx++) {
-   if (!(sec-flags  (1keyidx)))
+   if (!(secinfo-flags  (1keyidx)))
continue;
-   switch (sec-encode_alg[keyidx]) {
+   switch (secinfo-encode_alg[keyidx]) {
case SEC_ALG_NONE: algorithm = 
BCM43xx_SEC_ALGO_NONE; break;
case SEC_ALG_WEP:
algorithm = 
BCM43xx_SEC_ALGO_WEP;
@@ -3613,7 +3585,7 @@ static void bcm43xx_ieee80211_set_securi
assert(0);
break;
}
-   bcm43xx_key_write(bcm, keyidx, algorithm, 
sec-keys[keyidx], secinfo-key_sizes[keyidx], null_address[0]);
+   bcm43xx_key_write(bcm, keyidx, algorithm, 
secinfo-keys[keyidx], secinfo-key_sizes[keyidx], null_address[0]);
bcm-key[keyidx].enabled = 1;
bcm-key[keyidx].algorithm = algorithm;
}
@@ -3694,6 +3666,7 @@ static int bcm43xx_init_private(struct b
bcm-ieee = netdev_priv(net_dev);
bcm-softmac = ieee80211_priv(net_dev);
bcm-softmac-set_channel = bcm43xx_ieee80211_set_chan;
+   bcm-softmac-set_security = bcm43xx_ieee80211_set_security;
 
bcm-irq_savedstate = BCM43xx_IRQ_INITIAL;
bcm-pci_dev = pci_dev;
@@ -3729,7 +3702,6 @@ #endif /* CONFIG_BCM43XX_PIO */

bcm-ieee-iw_mode = BCM43xx_INITIAL_IWMODE;
bcm-ieee-tx_headroom = sizeof(struct bcm43xx_txhdr);
-   bcm-ieee-set_security = 

Re: Please pull 'upstream' branch of wireless-2.6

2006-05-17 Thread Daniel Drake

John W. Linville wrote:

Daniel Drake:
  set_security implementation inside softmac


If it's not too late, can you drop this one?

I didn't receive any feedback on it, and I decided it's not the right 
approach. The interface isn't great, but when done at the driver level 
it allows drivers to reject various security settings that they don't 
support by not copying them into secinfo.


So, even though this code block will be almost duplicated over bcm43xx, 
zd1211, and more, I think that level is the right place to put it.


Thanks,
Daniel
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull upstream branch of wireless-2.6

2006-05-05 Thread John W. Linville
These are patches intended for the next release (i.e. 2.6.18)...thanks!

---

The following changes since commit fd5226a72694d1c0abe1cc39711a86f1754e637d:
  John W. Linville:
Merge branch 'upstream-fixes' into upstream

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Adrian Bunk:
  ieee80211_wx.c: remove dead code

Daniel Drake:
  softmac: deauthentication implies deassociation
  softmac: suggest per-frame-type TX rate

Michal Schmidt:
  wireless/airo: minimal WPA awareness

Pavel Roskin:
  orinoco: unregister network device before releasing PCMCIA resources
  orinoco: report more relevant data on startup
  orinoco: simplify locking, fix error handling in PCMCIA resume
  orinoco: eliminate the suspend/resume functions if CONFIG_PM is unset
  orinoco: don't put PCI resource data to the network device

Stefano Brivio:
  bcm43xx: fix whitespace
  bcm43xx: add PCI ID for bcm4319

 drivers/net/wireless/airo.c |2 
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |8 +-
 drivers/net/wireless/orinoco_cs.c   |   33 ++
 drivers/net/wireless/orinoco_nortel.c   |5 +
 drivers/net/wireless/orinoco_pci.c  |5 +
 drivers/net/wireless/orinoco_pci.h  |   31 +-
 drivers/net/wireless/orinoco_plx.c  |5 +
 drivers/net/wireless/orinoco_tmd.c  |5 +
 drivers/net/wireless/spectrum_cs.c  |   33 ++
 include/net/ieee80211softmac.h  |   38 ++-
 net/ieee80211/ieee80211_wx.c|2 
 net/ieee80211/softmac/ieee80211softmac_assoc.c  |   72 +++---
 net/ieee80211/softmac/ieee80211softmac_auth.c   |3 +
 net/ieee80211/softmac/ieee80211softmac_module.c |  117 +++
 net/ieee80211/softmac/ieee80211softmac_priv.h   |6 +
 net/ieee80211/softmac/ieee80211softmac_wx.c |6 +
 16 files changed, 222 insertions(+), 149 deletions(-)

diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 7f2dacf..4069b79 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -2768,7 +2768,7 @@ static int airo_test_wpa_capable(struct 
 
/* Only firmware versions 5.30.17 or better can do WPA */
if ((cap_rid.softVer  0x530)
- || ((cap_rid.softVer == 0x530)  (cap_rid.softSubVer = 0x17))) {
+ || ((cap_rid.softVer == 0x530)  (cap_rid.softSubVer = 17))) {
airo_print_info(name, WPA is supported.);
return 1;
}
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c 
b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 8d0f618..e69e8b5 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -128,13 +128,15 @@ #endif /* CONFIG_BCM43XX_DEBUG*/
static struct pci_device_id bcm43xx_pci_tbl[] = {
/* Broadcom 4303 802.11b */
{ PCI_VENDOR_ID_BROADCOM, 0x4301, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-   /* Broadcom 4307 802.11b */
+   /* Broadcom 4307 802.11b */
{ PCI_VENDOR_ID_BROADCOM, 0x4307, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-   /* Broadcom 4318 802.11b/g */
+   /* Broadcom 4318 802.11b/g */
{ PCI_VENDOR_ID_BROADCOM, 0x4318, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+   /* Broadcom 4319 802.11a/b/g */
+   { PCI_VENDOR_ID_BROADCOM, 0x4319, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
/* Broadcom 4306 802.11b/g */
{ PCI_VENDOR_ID_BROADCOM, 0x4320, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
-   /* Broadcom 4306 802.11a */
+   /* Broadcom 4306 802.11a */
 // { PCI_VENDOR_ID_BROADCOM, 0x4321, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
/* Broadcom 4309 802.11a/b/g */
{ PCI_VENDOR_ID_BROADCOM, 0x4324, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
diff --git a/drivers/net/wireless/orinoco_cs.c 
b/drivers/net/wireless/orinoco_cs.c
index d2c48ac..b2aec4d 100644
--- a/drivers/net/wireless/orinoco_cs.c
+++ b/drivers/net/wireless/orinoco_cs.c
@@ -147,14 +147,11 @@ static void orinoco_cs_detach(struct pcm
 {
struct net_device *dev = link-priv;
 
+   if (link-dev_node)
+   unregister_netdev(dev);
+
orinoco_cs_release(link);
 
-   DEBUG(0, PFX detach: link=%p link-dev_node=%p\n, link, 
link-dev_node);
-   if (link-dev_node) {
-   DEBUG(0, PFX About to unregister net device %p\n,
- dev);
-   unregister_netdev(dev);
-   }
free_orinocodev(dev);
 }  /* orinoco_cs_detach */
 
@@ -346,19 +343,10 @@ orinoco_cs_config(struct pcmcia_device *
 net_device has been registered */
 
/* Finally, report what we've done */
-   printk(KERN_DEBUG %s: index 0x%02x: ,
-  dev-name, link-conf.ConfigIndex);
-   if (link-conf.Vpp)
-   printk(, 

Re: Please pull 'upstream' branch of wireless-2.6

2006-04-26 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 7c241d37fe0e6442c5cf3b5d73f7f58f2dc66352:
  Michael Buesch:
bcm43xx: make PIO mode usable

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-04-25 Thread Johannes Berg
On Mon, 2006-04-24 at 20:33 -0400, Dan Williams wrote:

 Any way to get the event handling cleanup patch into 2.6.17?  It's
 pretty much a bugfix and bcm43xx is useless with wpa_supplicant and NM
 without the patch...

No, that's not true, the cleanup patch is exactly that, code cleanup :)

Externally, softmac behaves the same without it since your patch and
some other patches I did on top of that have already gone in.

johannes


signature.asc
Description: This is a digitally signed message part


Re: Please pull 'upstream' branch of wireless-2.6

2006-04-25 Thread Dan Williams
On Tue, 2006-04-25 at 13:30 +0200, Johannes Berg wrote:
 On Mon, 2006-04-24 at 20:33 -0400, Dan Williams wrote:
 
  Any way to get the event handling cleanup patch into 2.6.17?  It's
  pretty much a bugfix and bcm43xx is useless with wpa_supplicant and NM
  without the patch...
 
 No, that's not true, the cleanup patch is exactly that, code cleanup :)
 
 Externally, softmac behaves the same without it since your patch and
 some other patches I did on top of that have already gone in.

Ah, sorry, mistook this patch for the one that actually sent the events.

Dan


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-04-24 Thread Dan Williams
On Mon, 2006-04-24 at 16:40 -0400, John W. Linville wrote:
 The following changes since commit 7c241d37fe0e6442c5cf3b5d73f7f58f2dc66352:
   Michael Buesch:
 bcm43xx: make PIO mode usable
 
 are found in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
 upstream
 
 Dan Williams:
   wireless/airo: minimal WPA awareness
 
 Jiri Benc:
   orinoco: fix BAP0 offset error after several days of operation
 
 Johannes Berg:
   softmac: add SIOCSIWMLME
   softmac: clean up event handling code

Any way to get the event handling cleanup patch into 2.6.17?  It's
pretty much a bugfix and bcm43xx is useless with wpa_supplicant and NM
without the patch...

Dan

 Michael Buesch:
   bcm43xx: use pci_iomap() for convenience.
 
 Pavel Roskin:
   orinoco: Remove useless CIS validation
   orinoco: remove PCMCIA audio support, it's useless for wireless cards
   orinoco: remove underscores from little-endian field names
   orinoco: remove tracing code, it's unused
   orinoco: remove debug buffer code and userspace include support
   orinoco: Symbol card supported by spectrum_cs is LA4137, not LA4100
   orinoco: optimize Tx exception handling in orinoco
   orinoco: orinoco_xmit() should only return valid symbolic constants
   orinoco replace hermes_write_words() with hermes_write_bytes()
   orinoco: don't use any padding for Tx frames
   orinoco: refactor and clean up Tx error handling
   orinoco: simplify 802.3 encapsulation code
   orinoco: delay FID allocation after firmware initialization
   orinoco_pci: disable device and free IRQ when suspending
   orinoco_pci: use pci_iomap() for resources
   orinoco: support PCI suspend/resume for Nortel, PLX and TMD adaptors
   orinoco: reduce differences between PCI drivers, create orinoco_pci.h
   orinoco: further comment cleanup in the PCI drivers
   orinoco: bump version to 0.15
 
 Zhu Yi:
   ieee80211: Fix TKIP MIC calculation for QoS frames
   ieee80211: Fix TX code doesn't enable QoS when using WPA + QoS
   ieee80211: export list of bit rates with standard WEXT procddures
   ieee80211: remove unnecessary CONFIG_WIRELESS_EXT checking
   ieee80211: replace debug IEEE80211_WARNING with each own debug macro
   ieee80211: update version stamp to 1.1.13
   ipw2200: Exponential averaging for signal and noise Level
   ipw2200: Fix TX QoS enabled frames problem
   ipw2200: generates a scan event after a scan has completed
   ipw2200: add module_param support for antenna selection
   ipw2200: fix compile warning when !CONFIG_IPW2200_DEBUG
   ipw2200: Do not continue loading the firmware if kmalloc fails
   ipw2200: turn off signal debug log
   ipw2200: Set the 'fixed' flags in wext get_rate
   ipw2200: Fix endian issues with v3.0 fw image format
   README.ipw2200: rename CONFIG_IPW_DEBUG to CONFIG_IPW2200_DEBUG
   ipw2200: Enable rtap interface for RF promiscuous mode while associated
   ipw2200: version string rework
   ipw2200: update version stamp to 1.1.2
   ipw2200: rename CONFIG_IPW_QOS to CONFIG_IPW2200_QOS
   wireless Kconfig add IPW2200_RADIOTAP
   ipw2200: rename CONFIG_IEEE80211_RADIOTAP to CONFIG_IPW2200_RADIOTAP
   ipw2200: remove priv-last_noise reference
   ipw2200: Fix wpa_supplicant association problem
 
  Documentation/networking/README.ipw2200|   10 
  drivers/net/wireless/Kconfig   |   30 +
  drivers/net/wireless/airo.c|  271 +---
  drivers/net/wireless/bcm43xx/bcm43xx.h |1 
  drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c |2 
  drivers/net/wireless/bcm43xx/bcm43xx_main.c|   27 -
  drivers/net/wireless/hermes.c  |   66 --
  drivers/net/wireless/hermes.h  |   43 -
  drivers/net/wireless/ipw2200.c |  849 
 +---
  drivers/net/wireless/ipw2200.h |   83 ++
  drivers/net/wireless/orinoco.c |  251 ++-
  drivers/net/wireless/orinoco.h |   19 -
  drivers/net/wireless/orinoco_cs.c  |9 
  drivers/net/wireless/orinoco_nortel.c  |  168 +++--
  drivers/net/wireless/orinoco_pci.c |  207 +-
  drivers/net/wireless/orinoco_pci.h |  125 
  drivers/net/wireless/orinoco_plx.c |  222 +++---
  drivers/net/wireless/orinoco_tmd.c |   96 +--
  drivers/net/wireless/spectrum_cs.c |   48 +
  include/net/ieee80211.h|6 
  include/net/ieee80211softmac_wx.h  |5 
  net/ieee80211/ieee80211_crypt_tkip.c   |   11 
  net/ieee80211/ieee80211_rx.c   |   18 -
  net/ieee80211/ieee80211_tx.c   |   63 +-
  net/ieee80211/ieee80211_wx.c   |   44 +
  net/ieee80211/softmac/ieee80211softmac_assoc.c |  

Re: Please pull 'upstream' branch of wireless-2.6

2006-03-29 Thread Jeff Garzik

John W. Linville wrote:

This is the merge of the bcm43xx driver, along with a variety of
smaller changes.  I would really like to see this in 2.6.17 if at
all possible.

Thanks!

John

---

The following changes since commit 5d5d7727a8cde78f798ecf04bac8031eff536f9d:
  David S. Miller:
[SPARC64]: Kill duplicate exports of string library functions.

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 upstream


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-03-27 Thread John W. Linville
This is the merge of the bcm43xx driver, along with a variety of
smaller changes.  I would really like to see this in 2.6.17 if at
all possible.

Thanks!

John

---

The following changes since commit 5d5d7727a8cde78f798ecf04bac8031eff536f9d:
  David S. Miller:
[SPARC64]: Kill duplicate exports of string library functions.

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 upstream

Adrian Bunk:
  PCMCIA_SPECTRUM must select FW_LOADER

Danny van Dyk:
  Sync bcm43xx_phy_initb6() with specs

David Woodhouse:
  softmac: reduce scan dwell time
  softmac: reduce default rate to 11Mbps.

Jean Tourrilhes:
  zd1201 wireless stat update

John W. Linville:
  wireless: import bcm43xx sources
  bcm43xx: patch Kconfig and wireless/Makefile for import

Jouni Malinen:
  hostap: Make hostap_tx_encrypt() static
  hostap: Fix EAPOL frame encryption

Larry Finger:
  Minor (janitorial) change to ieee80211

Michael Buesch:
  bcm43xx: sync with svn.berlios.de
  bcm43xx: remove linux version compatibility code.
  bcm43xx: Move README file to Documentation directory.
  bcm43xx: remove redundant COPYING file.
  bcm43xx: add DEBUG Kconfig option. Also fix indention.
  bcm43xx: Fix makefile. Remove all the out-of-tree stuff.
  bcm43xx: Add more initvals sanity checks and error out, if one sanity 
check fails.
  bcm43xx: Remove function bcm43xx_channel_is_allowed()
  bcm43xx: basic ethtool support
  bcm43xx: Wireless Ext update
  bcm43xx: fix txpower reporting in WE.
  bcm43xx: enable SPROM writing.
  bcm43xx: heavily increase mac_suspend timeout.
  bcm43xx: fix compiletime warning (phy_xmitpower)
  bcm43xx: remove WX debugging.
  bcm43xx: Partially fix PIO code. Add Kconfig option for PIO or DMA mode 
(or both).
  bcm43xx: add a note that not all devices support PIO.
  Apple Airport: Add Kconfig note that the bcm43xx driver has to be used 
for Airport Extreme cards.
  bcm43xx: update README
  bcm43xx: fix LED code.
  bcm43xx: rewrite and simplify the periodic task handling.
  bcm43xx: Code cleanups. This removes various inline statements and 
reduces codesize.
  bcm43xx: Move sprom lowlevel reading/writing to its own functions.
  bcm43xx: make bcm43xx_sprom_crc() static.
  bcm43xx: split the channel helper functions, so that they can be used 
without a valid running core.
  bcm43xx: remove old unused struct.
  bcm43xx: Fix Kconfig typo (transfer mode default)
  bcm43xx: Workaround init_board vs IRQ race.
  bcm43xx: move initialized = 1 to the end of init_board.
  bcm43xx: add assert(bcm-initialized) to periodic_tasks_setup().
  bcm43xx: Move TX/RX related functions to its own file. Add basic RTS/CTS 
code.
  bcm43xx: Add sysfs attributes for device specific tunables.
  bcm43xx: Set both, the DMAmask and the coherent DMAmask.
  bcm43xx: Abstract the locking mechanism.
  bcm43xx: Remove the mmio access printing facility overhead.
  bcm43xx: fix some stuff, add a few missing mmiowb(), remove dead code.
  bcm43xx: receive TX status on MMIO or DMA unconditionally regarding the 
80211 core rev.
  bcm43xx: add functions bcm43xx_dma_read/write, 
bcm43xx_dma_tx_suspend/resume.
  bcm43xx: reduce the size of bcm43xx_private by removing unneeded members.
  bcm43xx: Fix crash on ifdown, by being careful in pio/dma freeing.
  bcm43xx: Remove the workaround in dummy_transmission,
  bcm43xx: Do boardflags workarounds for specific boards.
  bcm43xx: properly mask txctl1 before writing it to hardware.
  bcm43xx: remove check for mmio length, as it differs among platforms. 
(especially embedded)
  bcm43xx: fix some gpio register trashing (hopefully :D)
  bcm43xx: merge all iwmode code into the set_iwmode function.
  bcm43xx: some IRQ handler cleanups.
  bcm43xx: set default attenuation values.
  bcm43xx: sync interference mitigation code to the specs.
  bcm43xx: fix nrssi_threshold calculation.
  bcm43xx: add useless and broken statistics stuff. People seem to want it. 
well...
  bcm43xx: get rid of /* vim: ... lines at the end of several files.
  bcm43xx: fix include issues on some platforms.
  bcm43xx: remove some compilerwarnings.
  bcm43xx: fix the remaining sparse warnings.
  bcm43xx: sync GPHY init with the specs.
  bcm43xx: don't set the channel on a device, which is down.

Pete Zaitcev:
  bcm43xx: fix DMA TX skb freeing in case of fragmented packets.

 Documentation/networking/bcm43xx.txt|   36 
 drivers/net/wireless/Kconfig|7 
 drivers/net/wireless/Makefile   |1 
 drivers/net/wireless/bcm43xx/Kconfig|   62 
 drivers/net/wireless/bcm43xx/Makefile   |   12 
 drivers/net/wireless/bcm43xx/bcm43xx.h  |  926 +
 

Re: Please pull 'upstream' branch of wireless-2.6

2006-03-23 Thread Jeff Garzik

John W. Linville wrote:

OK, this should be right... :-)

The following changes since commit fe0b06b123762ab620b5bee3dab1576d0a7f:
  Larry Finger:
Fix softmac scan

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


pulled

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-03-22 Thread John W. Linville
The following changes since commit 1c2e02750b992703a8a18634e08b04353face243:
  Linus Torvalds:
Merge git://git.kernel.org/.../perex/alsa

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Denis Vlasenko:
  ieee80211_rx_any: filter out packets, call ieee80211_rx or 
ieee80211_rx_mgt

Johannes Berg:
  wireless: Add softmac layer to the kernel
  make softmac depend on IEEE80211 and EXPERIMENTAL
  softmac: fix some sparse warnings
  softmac: fix Makefiles
  softmac: convert to use global workqueue
  softmac: correctly use netif_carrier_{on,off}
  softmac: try to reassociate when being disassociated from the AP
  softmac: add fixme for disassoc
  softmac: select best network based on rssi
  softmac: check if disassociation is for us before processing it
  softmac: scan at least once before selecting a network by essid
  softmac: properly check return value of ieee80211softmac_alloc_mgt
  softmac: some comment stuff
  softmac: add copyright and license headers
  softmac: add MODULE_DESCRIPTION and MODULE_AUTHORs
  softmac: move EXPORT_SYMBOL_GPL right after functions
  update copyright in softmac
  trivial fixes to softmac
  softmac: update deauth handler to quiet warning
  softmac: add reassociation code
  softmac: remove dead code

Larry Finger:
  Fix softmac scan

 include/net/ieee80211softmac.h  |  292 ++
 include/net/ieee80211softmac_wx.h   |   94 +
 net/ieee80211/Kconfig   |1 
 net/ieee80211/Makefile  |1 
 net/ieee80211/ieee80211_rx.c|   74 
 net/ieee80211/softmac/Kconfig   |   10 
 net/ieee80211/softmac/Makefile  |9 
 net/ieee80211/softmac/ieee80211softmac_assoc.c  |  403 
 net/ieee80211/softmac/ieee80211softmac_auth.c   |  376 ++
 net/ieee80211/softmac/ieee80211softmac_event.c  |  159 
 net/ieee80211/softmac/ieee80211softmac_io.c |  474 +++
 net/ieee80211/softmac/ieee80211softmac_module.c |  457 ++
 net/ieee80211/softmac/ieee80211softmac_priv.h   |  239 
 net/ieee80211/softmac/ieee80211softmac_scan.c   |  237 
 net/ieee80211/softmac/ieee80211softmac_wx.c |  412 
 15 files changed, 3238 insertions(+), 0 deletions(-)
 create mode 100644 include/net/ieee80211softmac.h
 create mode 100644 include/net/ieee80211softmac_wx.h
 create mode 100644 net/ieee80211/softmac/Kconfig
 create mode 100644 net/ieee80211/softmac/Makefile
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_assoc.c
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_auth.c
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_event.c
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_io.c
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_module.c
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_priv.h
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_scan.c
 create mode 100644 net/ieee80211/softmac/ieee80211softmac_wx.c

Compressed diff attached...
-- 
John W. Linville
[EMAIL PROTECTED]


diff-upstream.bz2
Description: BZip2 compressed data


Re: Please pull 'upstream' branch of wireless-2.6

2006-03-22 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit 1c2e02750b992703a8a18634e08b04353face243:
  Linus Torvalds:
Merge git://git.kernel.org/.../perex/alsa

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


Pulled, thanks.

Jeff



-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Please pull 'upstream' branch of wireless-2.6

2006-03-20 Thread Jeff Garzik

John W. Linville wrote:

The following changes since commit dd288e7d75b9041f79fecae77d61cfa345da7266:
  John W. Linville:
Merge branch 'upstream-fixes'

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream


pulled


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please pull 'upstream' branch of wireless-2.6

2006-03-17 Thread John W. Linville
The following changes since commit dd288e7d75b9041f79fecae77d61cfa345da7266:
  John W. Linville:
Merge branch 'upstream-fixes'

are found in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git 
upstream

Adrian Bunk:
  drivers/net/wireless/ipw2200.c: make ipw_qos_current_mode() static
  drivers/net/wireless/ipw2200.c: fix an array overun

Bill Moss:
  ipw2200: Add signal level to iwlist scan output

Cahill, Ben M:
  ipw2200: Set a meaningful silence threshold value
  ipw2200: Enables the slow diversity algorithm

Henrik Brix Andersen:
  ipw2200: print geography code upon module load

Ingo Molnar:
  ipw2100: semaphore to mutexes conversion

James Ketrenos:
  ipw2200: stop netdev queue if h/w doesn't have space for new packets
  ipw2200: switch to the new ipw2200-fw-3.0 image format
  ieee80211: Don't update network statistics from off-channel packets.

Larry Finger:
  Remove duplicated code from ipw2200.c

Olivier Hochreutiner:
  ipw2200: wireless extension sensitivity threshold support

Stefan Rompf:
  ipw2100: add radiotap headers to packtes captured in monitor mode

Zhu Yi:
  ipw2200: fix a potential NULL pointer dereference
  ipw2200: use generic ieee80211_get_hdrlen() to get packet length
  ipw2200: remove the WPA card associates to non-WPA AP checking
  ipw2200: Fix rf_kill is activated after mode change with 'disable=1'
  ipw2200: Fix ipw_sw_reset() implementation inconsistent with comment
  ipw2200: Filter unsupported channels out in ad-hoc mode
  ipw2200: Change debug level for firmware error logging
  ipw2200: export `debug' module param only if CONFIG_IPW2200_DEBUG
  ipw2200: Update ipw2200 version stamp to 1.1.1
  ipw2x00: expend Copyright to 2006
  ipw2100: Fix radiotap code gcc warning
  ipw2100: move mutex.h include from ipw2100.c to ipw2100.h
  ipw2100: Update version ipw2100 stamp to 1.2.2

 Documentation/networking/README.ipw2100 |   12 -
 Documentation/networking/README.ipw2200 |   44 +++
 drivers/net/wireless/ipw2100.c  |  220 ++-
 drivers/net/wireless/ipw2100.h  |   11 +
 drivers/net/wireless/ipw2200.c  |  450 +--
 drivers/net/wireless/ipw2200.h  |   39 +--
 net/ieee80211/ieee80211_rx.c|   14 +
 7 files changed, 415 insertions(+), 375 deletions(-)

diff --git a/Documentation/networking/README.ipw2100 
b/Documentation/networking/README.ipw2100
index 3ab4037..f3fcaa4 100644
--- a/Documentation/networking/README.ipw2100
+++ b/Documentation/networking/README.ipw2100
@@ -3,18 +3,18 @@ Intel(R) PRO/Wireless 2100 Driver for Li
 
 Intel(R) PRO/Wireless 2100 Network Connection
 
-Copyright (C) 2003-2005, Intel Corporation
+Copyright (C) 2003-2006, Intel Corporation
 
 README.ipw2100
 
-Version: 1.1.3
-Date   : October 17, 2005
+Version: git-1.1.5
+Date   : January 25, 2006
 
 Index
 ---
 0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
 1. Introduction
-2. Release 1.1.3 Current Features
+2. Release git-1.1.5 Current Features
 3. Command Line Parameters
 4. Sysfs Helper Files
 5. Radio Kill Switch
@@ -89,7 +89,7 @@ potential fixes and patches, as well as 
 for the driver project.
 
 
-2. Release 1.1.3 Current Supported Features
+2. Release git-1.1.5 Current Supported Features
 ---
 - Managed (BSS) and Ad-Hoc (IBSS)
 - WEP (shared key and open)
@@ -270,7 +270,7 @@ For installation support on the ipw2100 
 9. License
 ---
 
-  Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved.
+  Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved.
 
   This program is free software; you can redistribute it and/or modify it 
   under the terms of the GNU General Public License (version 2) as 
diff --git a/Documentation/networking/README.ipw2200 
b/Documentation/networking/README.ipw2200
index c6492d3..acb30c5 100644
--- a/Documentation/networking/README.ipw2200
+++ b/Documentation/networking/README.ipw2200
@@ -10,7 +10,7 @@ both hardware adapters listed above. In 
 PRO/Wireless 2915ABG Driver for Linux will be used to reference the
 unified driver.
 
-Copyright (C) 2004-2005, Intel Corporation
+Copyright (C) 2004-2006, Intel Corporation
 
 README.ipw2200
 
@@ -26,9 +26,11 @@ Index
 1.2. Module parameters
 1.3. Wireless Extension Private Methods
 1.4. Sysfs Helper Files
+1.5. Supported channels
 2.   Ad-Hoc Networking
 3.   Interacting with Wireless Tools
 3.1. iwconfig mode
+3.2. iwconfig sens
 4.   About the Version Numbers
 5.   Firmware installation
 6.   Support
@@ -314,6 +316,35 @@ For the device level files, see /sys/bus
running ifconfig and is therefore disabled by default.
 
 
+1.5. Supported channels
+---
+
+Upon loading the Intel(R) PRO/Wireless 2915ABG Driver 

  1   2   >