From: David Gibson <david@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: [5/5] Orinoco merge updates, part the fourth: consolidate allocation code
Date: Wed, 30 Mar 2005 13:45:59 +1000 [thread overview]
Message-ID: <20050330034559.GK6478@localhost.localdomain> (raw)
In-Reply-To: <20050330034449.GJ6478@localhost.localdomain>
Consolidate allocation of firmware buffers. In the process, remove
duplication of a workaround for an old symbol firmware bug, and fix a
bug where we could retry the workaround, even if it already failed to
help.
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-03-11 16:13:31.000000000 +1100
+++ working-2.6/drivers/net/wireless/orinoco.c 2005-03-11 16:21:55.000000000 +1100
@@ -1418,7 +1418,7 @@
return err;
err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid);
- if (err == -EIO) {
+ if (err == -EIO && priv->nicbuf_size > TX_NICBUF_SIZE_BUG) {
/* Try workaround for old Symbol firmware bug */
printk(KERN_WARNING "%s: firmware ALLOC bug detected "
"(old Symbol firmware?). Trying to work around... ",
@@ -2270,7 +2270,7 @@
priv->nicbuf_size = IEEE802_11_FRAME_LEN + ETH_HLEN;
/* Initialize the firmware */
- err = hermes_init(hw);
+ err = orinoco_reinit_firmware(dev);
if (err != 0) {
printk(KERN_ERR "%s: failed to initialize firmware (err = %d)\n",
dev->name, err);
@@ -2409,25 +2409,6 @@
priv->wep_on = 0;
priv->tx_key = 0;
- err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid);
- if (err == -EIO) {
- /* Try workaround for old Symbol firmware bug */
- printk(KERN_WARNING "%s: firmware ALLOC bug detected "
- "(old Symbol firmware?). Trying to work around... ",
- dev->name);
-
- priv->nicbuf_size = TX_NICBUF_SIZE_BUG;
- err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid);
- if (err)
- printk("failed!\n");
- else
- printk("ok.\n");
- }
- if (err) {
- printk("%s: Error %d allocating Tx buffer\n", dev->name, err);
- goto out;
- }
-
/* Make the hardware available, as long as it hasn't been
* removed elsewhere (e.g. by PCMCIA hot unplug) */
spin_lock_irq(&priv->lock);
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/people/dgibson
next prev parent reply other threads:[~2005-03-30 3:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-30 3:42 [0/5] Orinoco merge updates, part the fourth David Gibson
2005-03-30 3:43 ` [1/5] Orinoco merge updates, part the fourth: wireless stats updates David Gibson
2005-03-30 3:44 ` [2/5] Orinoco merge updates, part the fourth: ignore_disconnect flag David Gibson
2005-03-30 3:44 ` [3/5] Orinoco merge updates, part the fourth: kill dump_recs David Gibson
2005-03-30 3:44 ` [4/5] Orinoco merge updates, part the fourth: don't set channel in managed mode David Gibson
2005-03-30 3:45 ` David Gibson [this message]
2005-03-31 0:48 ` [1/5] Orinoco merge updates, part the fourth: wireless stats updates Jeff Garzik
2005-03-30 7:56 ` [Orinoco-devel] [0/5] Orinoco merge updates, part the fourth abuas_z
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=20050330034559.GK6478@localhost.localdomain \
--to=david@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).