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: [11/14] Orinoco driver updates - delay Tx wake
Date: Thu, 24 Feb 2005 15:02:58 +1100	[thread overview]
Message-ID: <20050224040258.GM32001@localhost.localdomain> (raw)
In-Reply-To: <20050224040228.GL32001@localhost.localdomain>

Delay netif_wake_queue() until the packet has actually been
transmitted, rather than just when the firmware has copied it into its
internal buffers.  This seems to prevent problems on some Intersil
firmware versions (I suspect the problems were caused by the
firmware's buffers filling up).

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-18 12:48:30.523655896 +1100
+++ working-2.6/drivers/net/wireless/orinoco.c	2005-02-18 12:58:09.407652152 +1100
@@ -901,8 +901,6 @@
 			printk(KERN_WARNING "%s: Allocate event on unexpected fid (%04X)\n",
 			       dev->name, fid);
 		return;
-	} else {
-		netif_wake_queue(dev);
 	}
 
 	hermes_write_regn(hw, ALLOCFID, DUMMY_FID);
@@ -915,6 +913,8 @@
 
 	stats->tx_packets++;
 
+	netif_wake_queue(dev);
+
 	hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID);
 }
 
@@ -941,6 +941,7 @@
 	
 	stats->tx_errors++;
 
+	netif_wake_queue(dev);
 	hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID);
 }
 

-- 
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:30 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                   ` [10/14] Orinoco driver updates - prohibit IBSS with no ESSID David Gibson
2005-02-24  4:02                     ` David Gibson [this message]
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=20050224040258.GM32001@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