public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <hermes@gibson.dropbear.id.au>
To: Jeff Garzik <jgarzik@pobox.com>, Pavel Roskin <proski@gnu.org>,
	Orinoco Development List <orinoco-devel@lists.sourceforge.net>,
	netdev@oss.sgi.com, linux-kernel@vger.kernel.org
Subject: [10/14] Orinoco driver updates - prohibit IBSS with no ESSID
Date: Thu, 24 Feb 2005 15:02:28 +1100	[thread overview]
Message-ID: <20050224040228.GL32001@localhost.localdomain> (raw)
In-Reply-To: <20050224040153.GK32001@localhost.localdomain>

Remove has_ibss_any flag and never set the CREATEIBSS RID when the
ESSID is empty.  Too many firmware break if we do.

Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au>

Index: working-2.6/drivers/net/wireless/orinoco.c
===================================================================
--- working-2.6.orig/drivers/net/wireless/orinoco.c	2005-02-24 14:50:50.125529816 +1100
+++ working-2.6/drivers/net/wireless/orinoco.c	2005-02-24 14:50:53.166067584 +1100
@@ -1580,21 +1580,26 @@
 	}
 
 	if (priv->has_ibss) {
-		err = hermes_write_wordrec(hw, USER_BAP,
-					   HERMES_RID_CNFCREATEIBSS,
-					   priv->createibss);
-		if (err) {
-			printk(KERN_ERR "%s: Error %d setting CREATEIBSS\n", dev->name, err);
-			return err;
-		}
+		u16 createibss;
 
-		if ((strlen(priv->desired_essid) == 0) && (priv->createibss)
-		   && (!priv->has_ibss_any)) {
+		if ((strlen(priv->desired_essid) == 0) && (priv->createibss)) {
 			printk(KERN_WARNING "%s: This firmware requires an "
 			       "ESSID in IBSS-Ad-Hoc mode.\n", dev->name);
 			/* With wvlan_cs, in this case, we would crash.
 			 * hopefully, this driver will behave better...
 			 * Jean II */
+			createibss = 0;
+		} else {
+			createibss = priv->createibss;
+		}
+		
+		err = hermes_write_wordrec(hw, USER_BAP,
+					   HERMES_RID_CNFCREATEIBSS,
+					   createibss);
+		if (err) {
+			printk(KERN_ERR "%s: Error %d setting CREATEIBSS\n",
+			       dev->name, err);
+			return err;
 		}
 	}
 
@@ -2073,7 +2078,6 @@
 	priv->has_preamble = 0;
 	priv->has_port3 = 1;
 	priv->has_ibss = 1;
-	priv->has_ibss_any = 0;
 	priv->has_wep = 0;
 	priv->has_big_wep = 0;
 
@@ -2089,7 +2093,6 @@
 		firmver = ((unsigned long)sta_id.major << 16) | sta_id.minor;
 
 		priv->has_ibss = (firmver >= 0x60006);
-		priv->has_ibss_any = (firmver >= 0x60010);
 		priv->has_wep = (firmver >= 0x40020);
 		priv->has_big_wep = 1; /* FIXME: this is wrong - how do we tell
 					  Gold cards from the others? */
Index: working-2.6/drivers/net/wireless/orinoco.h
===================================================================
--- working-2.6.orig/drivers/net/wireless/orinoco.h	2005-02-24 14:50:46.549073520 +1100
+++ working-2.6/drivers/net/wireless/orinoco.h	2005-02-24 14:50:53.167067432 +1100
@@ -57,7 +57,7 @@
 #define FIRMWARE_TYPE_AGERE 1
 #define FIRMWARE_TYPE_INTERSIL 2
 #define FIRMWARE_TYPE_SYMBOL 3
-	int has_ibss, has_port3, has_ibss_any, ibss_port;
+	int has_ibss, has_port3, ibss_port;
 	int has_wep, has_big_wep;
 	int has_mwo;
 	int has_pm;

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist.  NOT _the_ _other_ _way_
				| _around_!
http://www.ozlabs.org/people/dgibson

  reply	other threads:[~2005-02-24  4:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-24  3:53 [0/14] Orinoco driver updates David Gibson
2005-02-24  3:54 ` [1/14] Orinoco driver updates - use netif_carrier_*() David Gibson
2005-02-24  3:55   ` [2/14] Orinoco driver updates - update printk()s David Gibson
2005-02-24  3:56     ` [3/14] Orinoco driver updates - use mdelay()/ssleep() more David Gibson
2005-02-24  3:57       ` [4/14] Orinoco driver updates - add free_orinocodev() David Gibson
2005-02-24  3:58         ` [5/14] Orinoco driver updates - cleanup low-level code David Gibson
2005-02-24  3:59           ` [6/14] Orinoco driver updates - cleanup PCI initialization David Gibson
2005-02-24  4:00             ` [7/14] Orinoco driver updates - use modern module_parm() David Gibson
2005-02-24  4:00               ` [8/14] Orinoco driver updates - PCMCIA initialization cleanups David Gibson
2005-02-24  4:01                 ` [9/14] Orinoco driver updates - update is_ethersnap() David Gibson
2005-02-24  4:02                   ` David Gibson [this message]
2005-02-24  4:02                     ` [11/14] Orinoco driver updates - delay Tx wake David Gibson
2005-02-24  4:03                       ` [12/14] Orinoco driver updates - WEP updates David Gibson
2005-02-24  4:04                         ` [13/14] Orinoco driver updates - update firmware detection David Gibson
2005-02-24  4:05                           ` [14/14] Orinoco driver updates - update version and changelog David Gibson
2005-02-24  4:44                             ` Jeff Garzik
2005-02-24  6:55                 ` [8/14] Orinoco driver updates - PCMCIA initialization cleanups Dominik Brodowski
2005-02-24  7:29                   ` Jeff Garzik
2005-02-25  5:03                     ` [Orinoco-devel] " David Gibson
2005-02-25  7:02                       ` Dominik Brodowski
2005-02-24  4:35               ` [7/14] Orinoco driver updates - use modern module_parm() Jeff Garzik
2005-02-24  4:35             ` [6/14] Orinoco driver updates - cleanup PCI initialization Jeff Garzik
2005-02-25  4:58               ` [Orinoco-devel] " David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050224040228.GL32001@localhost.localdomain \
    --to=hermes@gibson.dropbear.id.au \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@oss.sgi.com \
    --cc=orinoco-devel@lists.sourceforge.net \
    --cc=proski@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox