public inbox for linux-usb@vger.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-usb@vger.kernel.org
Subject: [Bug 214021] The USB devices fail to be detected during boot
Date: Mon, 23 Aug 2021 12:49:40 +0000	[thread overview]
Message-ID: <bug-214021-208809-wYL7KPMiHV@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-214021-208809@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=214021

--- Comment #11 from Mathias Nyman (mathias.nyman@linux.intel.com) ---
(In reply to Alan Stern from comment #10)
> 
> Would something like the attached patch fix the problem?  It delays
> registration of the secondary root hub until after the primary hcd is
> started, just before the primary root hub is registered.

If I understood the problem correctly we would need to delay the registration
of the primary roothub until secondary hcd usb_hcd_add() reaches
hcd->driver->start()

xhci pci driver will first create and add primary hcd, then create and add
secondary hcd.

xhci_pci_probe()
  /* create AND add primary hcd in one go */
  usb_hcd_pci_probe(dev, id, &hc_driver)
  primary_hcd = dev_get_drvdata(&dev->dev)
  /* create secondary hcd */
  secondary_hcd = usb_create_shared_hcd(...,primary_hcd)
  /* add secondary hcd */
  usb_add_hcd(secondary_hcd)


If we force xhci driver to always first create both hcds, and then add them, we
could maybe do somethinh like this:


usb_hcd_add()
    ...
    if ((is_primary_hcd(hcd) && !hcd->shared_hcd) || !is_primary_hcd)
        register_roothub(primary_hcd);
    if(!is_primary_hcd(hcd))
        register_roothub(hcd);

If this makes any sense I'll turn this into real code.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

  parent reply	other threads:[~2021-08-23 12:49 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10 15:26 [Bug 214021] New: The USB devices fail to be detected during boot bugzilla-daemon
2021-08-10 15:27 ` [Bug 214021] " bugzilla-daemon
2021-08-10 15:39 ` bugzilla-daemon
2021-08-11 15:38 ` bugzilla-daemon
2021-08-12  2:31 ` bugzilla-daemon
2021-08-16  7:09 ` bugzilla-daemon
2021-08-16  7:29 ` bugzilla-daemon
2021-08-16 14:16 ` bugzilla-daemon
2021-08-18  5:48 ` bugzilla-daemon
2021-08-20 11:33 ` bugzilla-daemon
2021-08-20 14:31 ` bugzilla-daemon
2021-08-23 12:49 ` bugzilla-daemon [this message]
2021-08-23 14:06 ` bugzilla-daemon
2021-08-24  7:37 ` bugzilla-daemon
2021-08-25 12:08 ` bugzilla-daemon
2022-03-25  8:30 ` bugzilla-daemon
2022-04-07 21:25 ` bugzilla-daemon
2022-04-07 21:27 ` bugzilla-daemon
2022-04-08 11:55 ` bugzilla-daemon
2022-04-08 11:56 ` bugzilla-daemon
2022-04-08 11:57 ` bugzilla-daemon
2022-04-24  7:50 ` bugzilla-daemon
2022-04-24  7:52 ` bugzilla-daemon
2022-04-25 10:08 ` bugzilla-daemon
2022-04-25 11:00 ` bugzilla-daemon
2022-05-13  7:29 ` bugzilla-daemon
2022-05-13  8:29 ` bugzilla-daemon

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=bug-214021-208809-wYL7KPMiHV@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-usb@vger.kernel.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