All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: arvidjaar@mail.ru, linux-usb-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] 2.6.19-rc5 regression: can't disable OHCI  wakeup via sysfs
Date: Sun, 12 Nov 2006 15:21:21 -0800	[thread overview]
Message-ID: <200611121521.22105.david-b@pacbell.net> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0611121647490.8422-100000@netrider.rowland.org>


> > That's why the original OHCI autosuspend code initialized the "can this
> > root hub autosuspend" by testing the root hub wakeup flag:
> > 
> >         can_suspend = device_may_wakeup(&hcd->self.root_hub->dev);
> > 
> > and then cleared it if any enabled port wasn't suspended, any schedule
> > was active, or any deletions were pending.
> 
> But the silicon or board-level implementation bug you mentioned wouldn't 
> cause any of those tests to succeed, would it?  Hence it wouldn't prevent 
> an unwanted root-hub suspend.
> 
> Or are you trying to say that the original device_may_wakeup() value would 
> be 0 if the bug were detected?

The latter:  device_may_wakeup() never returns true.  There are three paths
for that:

  (a) userspace workaround, which is the regression that was reported;
  (b) the AMD 756 workaround, and
  (c) that board-specific quirk code.

Of course (c) hasn't been submitted yet because it didn't work ... evidently
because of the regression where device_may_wakeup(root_hub) was ignored.


> >   A quick glance at your new
> > "autostop" code shows that it only checks whether ports are enabled;
> > those other important constraints have been removed.
> 
> No, you must have misread the code.  It retains the checks for active 
> schedules or pending deletions.  There's no need to check for unsuspended 
> enabled ports, since autostop kicks in only when no ports are enabled.

Well, there are at least two regressions then.  One is the one in $SUBJECT,
and the other is for suspended-but-enabled ports.  (You've argued the latter
would be handled by a separate mechanism; fair enough, but I'm pointing
out that it's still a regression.)


> If you think autostop should also check for device_may_wakeup(), I'll make 
> it do so.  Remember though that autostop is intended to work even when 
> CONFIG_PM is off.

The original autosuspend logic would never kick in without PM; after all,
it's purely a power saving mechanism!  And testing device_may_wakeup() will
be restoring that behavior, since without PM that's always false.

- Dave

  reply	other threads:[~2006-11-12 23:21 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-18 15:19 2.6.17: dmesg flooded with "ohci_hcd 0000:00:02.0: wakeup" Andrey Borzenkov
2006-06-18 16:29 ` [linux-usb-devel] " David Brownell
2006-06-18 17:29   ` Andrey Borzenkov
2006-06-18 18:16     ` David Brownell
2006-06-18 19:22       ` Andrey Borzenkov
2006-06-19 18:39       ` Andrey Borzenkov
2006-06-19 20:12         ` David Brownell
2006-11-11 11:29           ` 2.6.19-rc5 regression: can't disable OHCI wakeup via sysfs Andrey Borzenkov
2006-11-12 16:31             ` [linux-usb-devel] " Alan Stern
2006-11-12 18:00               ` David Brownell
2006-11-12 21:59                 ` Alan Stern
2006-11-12 23:21                   ` David Brownell [this message]
2006-11-13 15:57                     ` Alan Stern
2006-11-13 16:39                       ` David Brownell
2006-11-13 17:15                         ` Alan Stern
2006-11-14 21:18                           ` David Brownell
2006-11-14 21:42                             ` Alan Stern
2006-11-14 22:56                               ` David Brownell
2006-11-13 19:58                         ` Alan Stern
2006-11-14 20:48                           ` Andrey Borzenkov
2006-11-14 20:54                             ` [Bulk] " David Brownell
2006-09-22 18:53       ` [linux-usb-devel] 2.6.17: dmesg flooded with "ohci_hcd 0000:00:02.0: wakeup" Andrey Borzenkov
2006-09-22 20:52         ` Alan Stern
2006-11-11 11:27       ` Andrey Borzenkov

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=200611121521.22105.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=arvidjaar@mail.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.