linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Fulghum <paulkf@microgate.com>
To: Greg KH <greg@kroah.com>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Andrew Morton <akpm@digeo.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	johannes@erdfelt.com
Subject: Re: 2.5.69 Interrupt Latency
Date: 14 May 2003 16:45:06 -0500	[thread overview]
Message-ID: <1052948705.1995.10.camel@diemos> (raw)
In-Reply-To: <20030514213028.GA4200@kroah.com>

On Wed, 2003-05-14 at 16:30, Greg KH wrote:
> On Wed, May 14, 2003 at 04:06:33PM -0500, Paul Fulghum wrote:
> > On Tue, 2003-05-13 at 13:11, Greg KH wrote:
> > 
> > I was looking over the PIIX3 datasheet and noticed
> > that the USBSTS_RD bit is only valid when the
> > device is in the suspended state.
> > 
> > This bit is being acted on regardless of the
> > suspend state of the controller in the ISR.
> > Could this be why the driver is detecting
> > false 'resume' signals and calling wakeup_hc()
> > when it shouldn't?
> > 
> > Maybe the code should be something like:
> > 
> > if (uhci->is_suspended && (status & USBSTS_RD))
> > 	wakeup_hc(uhci);
> 
> That's basically what the code I sent you did :)

Yes, that's right.

In this case suspend_hc() is being called anyways, so
the controller *is* in the suspended state.
suspend_hc() and wakeup_hc() are spinning back
and forth forever.

For some reason I thought this was firing without
a call to suspend_hc(), but I verified it with printks.

I tried it both with is_suspended, and again testing
USBCMD_EGSM in the command register (Greg's patch)
with same results.

So it is a good check to add to qualify USBSTS_RD,
but in this case it looks like the mainboard implementation
is FUBAR and bogus resume messages are being
recognized by the controller.

Is there some transient period after setting USBCMD_EGSM
before which the controller is not officially in the
suspended state that might cause a spurious
USBSTS_RD indication? (seems unlikely)

> > in the ISR to qualify acting on that status bit.
> > Alternatively, USBCMD_EGSM (BIT3) of the USBCMD
> > register could be tested to qualify action on
> > the state of USBSTS_RD
> > 
> > I'm going to test this now, but I wanted to
> > know what you think.
> 
> I think it's correct, but I don't think it will solve your problem.  I
> would be very happy to be wrong though.

You are right (IMO) that it is correct and should be added,
and you are also right in that it does not solve this problem.

-- 
Paul Fulghum, paulkf@microgate.com
Microgate Corporation, http://www.microgate.com



  reply	other threads:[~2003-05-14 21:34 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-07 16:12 2.5.69 Interrupt Latency Paul Fulghum
2003-05-07 19:41 ` Paul Fulghum
2003-05-07 22:28   ` Andrew Morton
2003-05-08  0:25     ` Paul Fulghum
2003-05-08 13:56     ` Paul Fulghum
2003-05-08 19:22       ` Andrew Morton
2003-05-08 19:35         ` Paul Fulghum
2003-05-08 23:20           ` Brian Gerst
2003-05-09 18:12         ` Paul Fulghum
2003-05-09 20:30           ` Paul Fulghum
2003-05-09 21:28             ` Andrew Morton
2003-05-12 13:57               ` Paul Fulghum
2003-05-12 14:06                 ` Paul Fulghum
2003-05-12 16:24                 ` Greg KH
2003-05-12 17:08                   ` Paul Fulghum
2003-05-12 17:30                     ` Greg KH
2003-05-12 17:49                       ` Paul Fulghum
2003-05-12 18:01                         ` Greg KH
2003-05-12 18:15                           ` Paul Fulghum
2003-05-13 15:26                       ` Alan Stern
2003-05-13 15:35                         ` Paul Fulghum
2003-05-13 17:30                           ` Greg KH
2003-05-13 13:01                             ` Paul Fulghum
2003-05-13 18:09                               ` Greg KH
2003-05-13 18:11                                 ` Greg KH
2003-05-13 21:35                                   ` Alan Stern
2003-05-13 21:48                                     ` Helge Hafting
2003-05-13 22:09                                       ` Alan Stern
2003-05-14 21:06                                   ` Paul Fulghum
2003-05-14 21:15                                     ` Johannes Erdfelt
2003-05-14 21:30                                     ` Greg KH
2003-05-14 21:45                                       ` Paul Fulghum [this message]
2003-05-13 20:17                           ` Bill Davidsen
2003-05-13 22:39                             ` Paul Fulghum
2003-05-14 20:52                           ` Test Patch: " Alan Stern
2003-05-15 13:45                             ` Paul Fulghum
2003-05-15 14:12                             ` Paul Fulghum
2003-05-15 21:07                               ` Alan Stern
2003-05-15 15:26                             ` Paul Fulghum
2003-05-15 18:11                               ` Alan Stern
2003-05-15 18:40                                 ` Paul Fulghum
2003-05-15 19:42                                 ` Paul Fulghum
2003-05-15 19:59                                   ` Paul Fulghum
2003-05-15 21:13                                   ` Alan Stern
2003-05-15 21:30                                     ` Paul Fulghum
2003-05-15 19:17                                       ` Paul Fulghum
2003-05-16 15:33                                         ` Alan Stern
2003-05-16 15:58                                           ` Paul Fulghum
2003-05-16 16:18                                             ` Paul Fulghum
2003-05-16 17:16                                               ` Alan Stern
2003-05-16 17:48                                                 ` Paul Fulghum
2003-05-16 18:31                                                   ` Paul Fulghum
2003-05-16 18:40                                                   ` Alan Stern
2003-05-16 19:05                                                     ` Paul Fulghum
2003-05-18  0:57                                                     ` Andrew McGregor
2003-05-16 17:20                                             ` Alan Stern
2003-05-16 17:51                                               ` Paul Fulghum
2003-05-19 16:41                                             ` Alan Stern
2003-05-19 18:20                                               ` Paul Fulghum
2003-05-19 18:49                                                 ` Alan Stern
2003-05-16 18:10                                           ` Paul Fulghum
2003-05-14 17:50               ` Paul Fulghum
2003-05-09 21:07           ` Andrew Morton
2003-05-09 21:28             ` Paul Fulghum
2003-05-08 14:47     ` Paul Fulghum
     [not found] <20030507162013$0b67@gated-at.bofh.it>
     [not found] ` <20030507195008$71e6@gated-at.bofh.it>
     [not found]   ` <20030507224009$4228@gated-at.bofh.it>
     [not found]     ` <20030508140022$2498@gated-at.bofh.it>
     [not found]       ` <20030508193016$1083@gated-at.bofh.it>
     [not found]         ` <20030509182012$49f0@gated-at.bofh.it>
     [not found]           ` <20030509204010$3c9b@gated-at.bofh.it>
2003-05-09 21:06             ` Arnd Bergmann
2003-05-09 21:25               ` Paul Fulghum

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=1052948705.1995.10.camel@diemos \
    --to=paulkf@microgate.com \
    --cc=akpm@digeo.com \
    --cc=arnd@arndb.de \
    --cc=greg@kroah.com \
    --cc=johannes@erdfelt.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /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).