New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 662486 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Initial USB Enumeration returning only 1 device

Project Member Reported by piperc@chromium.org, Nov 4 2016

Issue description

Version: 56.0.2901.0
OS: Linux

What steps will reproduce the problem?
(1) Connect multiple USB devices to host
(2) Query USBService for all USB devices
(3) Check that size of result < number of devices

What is the expected output?
All USBDevice objects corresponding to connected devices expected to be returned.

What do you see instead?
Only a single USBDevice returned.


Please use labels and text to provide additional information.

I have not tested the functionality on other platforms.
Existing workaround on Linux is to do a second query of devices, at which time all devices are returned.
 

Comment 1 by piperc@chromium.org, Nov 14 2016

Cc: piperc@chromium.org
Labels: -Pri-3 M-55 M-56 OS-Chrome Pri-2
Status: Started (was: Untriaged)
Patch: https://codereview.chromium.org/2523403002
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c30282c70ec5f7f92129589fbbc84fef5738454

commit 5c30282c70ec5f7f92129589fbbc84fef5738454
Author: reillyg <reillyg@chromium.org>
Date: Mon Nov 28 21:06:39 2016

Fix initial USB enumeration on Linux to return all devices.

This patch fixes an issue where the first enumeration of USB devices on
Linux would only return a single device and observers would not be
notified of additional devices. This was because the logic to determine
if enumeration callbacks should be called was checking only that all
previously seen devices (of which there was only one at that point) were
ready and not that the sysfs tree had been completely walked.

BUG= 662486 

Review-Url: https://codereview.chromium.org/2523403002
Cr-Commit-Position: refs/heads/master@{#434718}

[modify] https://crrev.com/5c30282c70ec5f7f92129589fbbc84fef5738454/device/usb/usb_service_linux.cc

Labels: Merge-Request-55
Status: Fixed (was: Started)

Comment 5 by gov...@chromium.org, Nov 29 2016

Before we approve merge to M55 branch 2883, could you please make sure this change is well baked/verified in Canary/Dev and safe to merge to M55?

Labels: -Merge-Request-55 Merge-Request-56
Let's merge to M-56 first. I forgot that it had already branched.

Comment 7 by dimu@chromium.org, Nov 29 2016

Labels: -Merge-Request-56 Merge-Approved-56 Hotlist-Merge-Approved
Owner: reillyg@chromium.org
Your change meets the bar and is auto-approved for M56 (branch: 2924)
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 29 2016

Labels: -merge-approved-56 merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d26a894642fb6aca8c30b25753372d6814fbcb4e

commit d26a894642fb6aca8c30b25753372d6814fbcb4e
Author: Reilly Grant <reillyg@chromium.org>
Date: Tue Nov 29 20:24:45 2016

Fix initial USB enumeration on Linux to return all devices.

This patch fixes an issue where the first enumeration of USB devices on
Linux would only return a single device and observers would not be
notified of additional devices. This was because the logic to determine
if enumeration callbacks should be called was checking only that all
previously seen devices (of which there was only one at that point) were
ready and not that the sysfs tree had been completely walked.

BUG= 662486 

Review-Url: https://codereview.chromium.org/2523403002
Cr-Commit-Position: refs/heads/master@{#434718}
(cherry picked from commit 5c30282c70ec5f7f92129589fbbc84fef5738454)

Review URL: https://codereview.chromium.org/2534213002 .

Cr-Commit-Position: refs/branch-heads/2924@{#166}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/d26a894642fb6aca8c30b25753372d6814fbcb4e/device/usb/usb_service_linux.cc

Labels: -Type-Bug Merge-Request-55 Type-Bug-Regression
Let's merge this to M-55 once this has shipped in an M-56 dev-channel release.

Comment 10 by dimu@chromium.org, Nov 30 2016

Labels: -Merge-Request-55 Merge-Review-55 Hotlist-Merge-Review
[Automated comment] Less than 2 weeks to go before stable on M55, manual review required.
Labels: -Merge-Review-55 Merge-Approved-55
Project Member

Comment 12 by bugdroid1@chromium.org, Dec 13 2016

Labels: -merge-approved-55 merge-merged-2883
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5ed517dba15ee92f6c2beb38243821b8ff3101ee

commit 5ed517dba15ee92f6c2beb38243821b8ff3101ee
Author: Reilly Grant <reillyg@chromium.org>
Date: Tue Dec 13 17:28:38 2016

Fix initial USB enumeration on Linux to return all devices.

This patch fixes an issue where the first enumeration of USB devices on
Linux would only return a single device and observers would not be
notified of additional devices. This was because the logic to determine
if enumeration callbacks should be called was checking only that all
previously seen devices (of which there was only one at that point) were
ready and not that the sysfs tree had been completely walked.

BUG= 662486 

Review-Url: https://codereview.chromium.org/2523403002
Cr-Commit-Position: refs/heads/master@{#434718}
(cherry picked from commit 5c30282c70ec5f7f92129589fbbc84fef5738454)

Review URL: https://codereview.chromium.org/2534213002 .

Cr-Commit-Position: refs/branch-heads/2924@{#166}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}
(cherry picked from commit d26a894642fb6aca8c30b25753372d6814fbcb4e)

Review-Url: https://codereview.chromium.org/2567253004 .
Cr-Commit-Position: refs/branch-heads/2883@{#742}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/5ed517dba15ee92f6c2beb38243821b8ff3101ee/device/usb/usb_service_linux.cc

Comment 13 by spst...@gmail.com, Jul 26 2017

This is broken in 60, your regression testing seems to now detect no USB devices enumerated with Flash...
Please open a new bug with details about the issue you are encountering. This API is unrelated to Flash so I find this report confusing.

Sign in to add a comment