mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Hanselmann <linux-kernel@hansmi.ch>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: linux-kernel@vger.kernel.org, dbrownell@users.sourceforge.net,
	linux-usb-devel@lists.sourceforge.net,
	linux-kernel@killerfox.forkbomb.ch
Subject: Re: [linux-usb-devel] [PATCH] Fix NEC OHCI chip silicon bug
Date: Mon, 4 Jun 2007 23:05:55 +0200	[thread overview]
Message-ID: <20070604210555.GB12676@hansmi.ch> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0706021042360.11640-100000@netrider.rowland.org>

On Sat, Jun 02, 2007 at 10:49:44AM -0400, Alan Stern wrote:
> Then later on, when the hub driver is resumed it will see the flag and
> disconnect all the devices below the root hub.

> For instance, you could force ohci-hcd to report connect-change events
> on all the ports. Perhaps it does something like that anyway, in which
> case you wouldn't have to worry about it.

After studying the code for two evenings, I'm quite sure it does that
already.

A comment in ohci-hcd.c:ohci_restart reads:
  /* mark any devices gone, so they do nothing till khubd disconnects.
   * recycle any "live" eds/tds (and urbs) right away.
   * later, khubd disconnect processing will recycle the other state,
   * (either as disconnect/reconnect, or maybe someday as a reset).
   */

usb_root_hub_lost_power marks the ports as gone, khubd will disconnect them.
After restarting the chip, khubd will cause them to be detected again.

This is also what I can watch in the logs:
  ohci_hcd 0001:10:15.1: OHCI Unrecoverable Error, scheduling NEC chip restart
  usb usb2: root hub lost power or was reset
  usb 2-2: USB disconnect, address 2
  input: appletouch disconnected
  usb 2-2: new full speed USB device using ohci_hcd and address 3
  usb 2-2: configuration #1 chosen from 1 choice
  input: Apple Computer Apple Internal Keyboard / Trackpad as /class/input/input16 on usb-0001:10:15.1-2
  input: appletouch as /class/input/input17
  input: Apple Computer Apple Internal Keyboard / Trackpad as /class/input/input18 on usb-0001:10:15.1-2

(Actually, I added some code to trigger the error handling code, reliably
reproducing it otherwise is impossible.)

Thanks,
Michael

  reply	other threads:[~2007-06-04 21:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31 21:34 Michael Hanselmann
2007-06-01 14:19 ` [linux-usb-devel] " Alan Stern
2007-06-02 12:40   ` Michael Hanselmann
2007-06-02 14:49     ` Alan Stern
2007-06-04 21:05       ` Michael Hanselmann [this message]
2007-06-05 14:24         ` Alan Stern
2007-06-06  9:28           ` Michael Hanselmann
2007-06-06 14:35             ` Alan Stern

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=20070604210555.GB12676@hansmi.ch \
    --to=linux-kernel@hansmi.ch \
    --cc=dbrownell@users.sourceforge.net \
    --cc=linux-kernel@killerfox.forkbomb.ch \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®