Bug 1442963

Summary: GSpice-CRITICAL **: usbredirhost: error resetting device: LIBUSB_ERROR_NO_DEVICE
Product: Red Hat Enterprise Linux 7 Reporter: Xiaodai Wang <xiaodwan>
Component: usbredirAssignee: Jonathon Jongsma <jjongsma>
Status: CLOSED ERRATA QA Contact: SPICE QE bug list <spice-qe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.4CC: dblechte, jjongsma, juzhou, kuwei, mtessun, mxie, mzhan, rbalakri, rduda, tpelka, tzheng, uril
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: usbredir-0.7.1-3 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 08:50:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
virt-viewer debug log none

Description Xiaodai Wang 2017-04-18 08:18:01 UTC
Description of problem:

After plugging out a redirected usb device from guest, below warning displays even though ejects the usb device first.

GSpice-CRITICAL **: usbredirhost: error resetting device: LIBUSB_ERROR_NO_DEVICE


Version-Release number of selected component (if applicable):
virt-viewer-5.0-2.el7.x86_64
spice-gtk3-0.33-3.el7.x86_64
usbredir-0.7.1-2.el7.x86_64
libusb-0.1.4-3.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:
No critical warning display.

Additional info:

Comment 2 Xiaodai Wang 2017-04-18 08:19:18 UTC
Created attachment 1272237 [details]
virt-viewer debug log

Comment 3 Uri Lublin 2017-04-18 09:23:01 UTC
(In reply to xiaodwan from comment #0)
> Description of problem:
> 
> After plugging out a redirected usb device from guest, below warning
> displays even though ejects the usb device first.

The eject was done on the guest but not on the client, right ?

> GSpice-CRITICAL **: usbredirhost: error resetting device:
> LIBUSB_ERROR_NO_DEVICE

The device is not plugged to the client machine anymore, so it's
expected a reset sent to it fails.

The reset is sent by usbredirhost when releasing the device:
 /* reset the device before re-binding the kernel drivers, so that the
    kernel drivers get the device in a clean state. */

Optionally, the code can check for this specific error-code
and not log an error in such a scenario.

To cleanly plug out the device:
1. On the guest - eject the usb device
2. File->Usb Devices menu - deselect the device
3. On the client -  eject the usb device
4. Plug out the device

Comment 4 Xiaodai Wang 2017-04-18 10:53:46 UTC
> The eject was done on the guest but not on the client, right ?

yes.

> 
> To cleanly plug out the device:
> 1. On the guest - eject the usb device
> 2. File->Usb Devices menu - deselect the device
> 3. On the client -  eject the usb device
> 4. Plug out the device

These steps work well.

Thanks!

Comment 5 Jonathon Jongsma 2017-08-10 19:25:23 UTC
Patch sent for review: https://lists.freedesktop.org/archives/spice-devel/2017-August/039286.html

Comment 10 errata-xmlrpc 2018-04-10 08:50:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0672