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: [1/14] Orinoco driver updates - use netif_carrier_*()
Date: Thu, 24 Feb 2005 14:54:45 +1100 [thread overview]
Message-ID: <20050224035445.GB32001@localhost.localdomain> (raw)
In-Reply-To: <20050224035355.GA32001@localhost.localdomain>
Removes the orinoco driver's custom and dodgy "connected" variable
used to track whether or not we're associated with an AP. Replaces it
instead with netif_carrier_ok() settings.
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-01-13 09:48:55.000000000 +1100
+++ working-2.6/drivers/net/wireless/orinoco.c 2005-02-10 14:22:32.179826024 +1100
@@ -784,7 +784,7 @@
return 1;
}
- if (! priv->connected) {
+ if (! netif_carrier_ok(dev)) {
/* Oops, the firmware hasn't established a connection,
silently drop the packet (this seems to be the
safest approach). */
@@ -1269,6 +1269,7 @@
case HERMES_INQ_LINKSTATUS: {
struct hermes_linkstatus linkstatus;
u16 newstatus;
+ int connected;
if (len != sizeof(linkstatus)) {
printk(KERN_WARNING "%s: Unexpected size for linkstatus frame (%d bytes)\n",
@@ -1280,15 +1281,14 @@
len / 2);
newstatus = le16_to_cpu(linkstatus.linkstatus);
- if ( (newstatus == HERMES_LINKSTATUS_CONNECTED)
- || (newstatus == HERMES_LINKSTATUS_AP_CHANGE)
- || (newstatus == HERMES_LINKSTATUS_AP_IN_RANGE) )
- priv->connected = 1;
- else if ( (newstatus == HERMES_LINKSTATUS_NOT_CONNECTED)
- || (newstatus == HERMES_LINKSTATUS_DISCONNECTED)
- || (newstatus == HERMES_LINKSTATUS_AP_OUT_OF_RANGE)
- || (newstatus == HERMES_LINKSTATUS_ASSOC_FAILED) )
- priv->connected = 0;
+ connected = (newstatus == HERMES_LINKSTATUS_CONNECTED)
+ || (newstatus == HERMES_LINKSTATUS_AP_CHANGE)
+ || (newstatus == HERMES_LINKSTATUS_AP_IN_RANGE);
+
+ if (connected)
+ netif_carrier_on(dev);
+ else
+ netif_carrier_off(dev);
if (newstatus != priv->last_linkstatus)
print_linkstatus(dev, newstatus);
@@ -1366,8 +1366,8 @@
}
/* firmware will have to reassociate */
+ netif_carrier_off(dev);
priv->last_linkstatus = 0xffff;
- priv->connected = 0;
return 0;
}
@@ -1878,7 +1878,7 @@
priv->hw_unavailable++;
priv->last_linkstatus = 0xffff; /* firmware will have to reassociate */
- priv->connected = 0;
+ netif_carrier_off(dev);
orinoco_unlock(priv, &flags);
@@ -2388,8 +2388,8 @@
* hardware */
INIT_WORK(&priv->reset_work, (void (*)(void *))orinoco_reset, dev);
+ netif_carrier_off(dev);
priv->last_linkstatus = 0xffff;
- priv->connected = 0;
return dev;
Index: working-2.6/drivers/net/wireless/orinoco.h
===================================================================
--- working-2.6.orig/drivers/net/wireless/orinoco.h 2004-10-29 13:16:58.000000000 +1000
+++ working-2.6/drivers/net/wireless/orinoco.h 2005-02-10 14:22:32.179826024 +1100
@@ -42,7 +42,6 @@
/* driver state */
int open;
u16 last_linkstatus;
- int connected;
/* Net device stuff */
struct net_device *ndev;
--
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
next prev parent reply other threads:[~2005-02-24 3:54 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 ` David Gibson [this message]
[not found] ` <20050224035445.GB32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 3:55 ` [2/14] Orinoco driver updates - update printk()s David Gibson
[not found] ` <20050224035524.GC32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 3:56 ` [3/14] Orinoco driver updates - use mdelay()/ssleep() more David Gibson
[not found] ` <20050224035650.GD32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 3:57 ` [4/14] Orinoco driver updates - add free_orinocodev() David Gibson
[not found] ` <20050224035718.GE32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 3:58 ` [5/14] Orinoco driver updates - cleanup low-level code David Gibson
[not found] ` <20050224035804.GF32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 3:59 ` [6/14] Orinoco driver updates - cleanup PCI initialization David Gibson
[not found] ` <20050224035957.GH32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:00 ` [7/14] Orinoco driver updates - use modern module_parm() David Gibson
[not found] ` <20050224040024.GI32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:00 ` [8/14] Orinoco driver updates - PCMCIA initialization cleanups David Gibson
[not found] ` <20050224040052.GJ32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:01 ` [9/14] Orinoco driver updates - update is_ethersnap() David Gibson
[not found] ` <20050224040153.GK32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:02 ` [10/14] Orinoco driver updates - prohibit IBSS with no ESSID David Gibson
[not found] ` <20050224040228.GL32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:02 ` [11/14] Orinoco driver updates - delay Tx wake David Gibson
[not found] ` <20050224040258.GM32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:03 ` [12/14] Orinoco driver updates - WEP updates David Gibson
[not found] ` <20050224040319.GN32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-02-24 4:04 ` [13/14] Orinoco driver updates - update firmware detection David Gibson
[not found] ` <20050224040409.GO32001-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
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=20050224035445.GB32001@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;
as well as URLs for NNTP newsgroup(s).