Bug 476700

Summary: Loss of USB HID devices when switching with a KVM
Product: Red Hat Enterprise Linux 4 Reporter: Flavio Leitner <fleitner>
Component: kernelAssignee: Flavio Leitner <fleitner>
Status: CLOSED ERRATA QA Contact: Brenda Tian <mtian>
Severity: medium Docs Contact:
Priority: high    
Version: 4.7CC: cward, czhang, emcnabb, kenkolden, peterm, qcai, vgoyal
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-16 15:29:13 UTC Type: ---
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
USB messages with keyboard and mouse status
none
patch adding suspend_disabled parameter to uhci-hcd.ko none

Description Flavio Leitner 2008-12-16 16:15:46 UTC
. Description of problem:
when switching a KVM on and off the USB keyboard and mouse are no longer recognized.

This hardware was certified without note and the problem also occurs on other non-supported platforms in the exact same way.

Oct 27 19:26:37 storm kernel: usb 2-1: new full speed USB device using address 8
Oct 27 19:26:37 storm kernel: usb 2-1: device not accepting address 8, error -71
Oct 27 19:26:37 storm kernel: usb 2-1: new full speed USB device using address 9
Oct 27 19:26:38 storm kernel: usb 2-1: device not accepting address 9, error -71

. Version-Release number of selected component (if applicable):
2.6.9-78.ELsmp

. List any known hot-fix packages on the system
none known ; user has a workaround by using a kernel 2.6.13 that we don't provide
and after some work with bisect the user has identified this patch as the fix:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8f4fe4358c5e0a79b4bd47b814d19f1d1d06f21 

lspci:
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)

lsmod | grep hcd
uhci_hcd               32985  0
ohci_hcd               24017  0

$ grep hcd rpm-Va
missing     /lib/modules/2.6.9-78.ELsmp/kernel/drivers/usb/host/ehci-hcd.ko

Comment 1 Flavio Leitner 2008-12-16 16:18:34 UTC
Created attachment 327123 [details]
USB messages with keyboard and mouse status

Comment 4 Issue Tracker 2009-06-09 20:14:40 UTC
Event posted on 06-09-2009 05:14pm BRT by fbl

Hi,

This is what I could see from messages log:

Nov  5 17:24:39 kernel: usb 6-2: USB disconnect, address 2
Nov  5 17:24:39 kernel: usb 6-2.1: USB disconnect, address 3
Nov  5 17:24:39 kernel: drivers/usb/input/hid-core.c: can't resubmit
intr, 0000:00:1d.2-2.2/input0, status -19
Nov  5 17:24:39 kernel: usb 6-2.2: USB disconnect, address 4
Nov  5 17:24:41 kernel: usb 6-2: new full speed USB device using address
5
Nov  5 17:24:41 kernel: hub 6-2:1.0: USB hub found
Nov  5 17:24:41 kernel: hub 6-2:1.0: 2 ports detected
Nov  5 17:24:42 kernel: usb 6-2.1: new low speed USB device using address
6
Nov  5 17:24:42 kernel: input: USB HID v1.00 Keyboard [SILITEK USB
Keyboard and Mouse] on usb-0000:00:1d.2-2.1
Nov  5 17:24:42 kernel: input: USB HID v1.00 Mouse [SILITEK USB Keyboard
and Mouse] on usb-0000:00:1d.2-2.1
Nov  5 17:24:43 kernel: hub 6-2:1.0: hub_port_status failed (err = -71)
Nov  5 17:24:43 kernel: hub 6-2:1.0: connect-debounce failed, port 2
disabled
Nov  5 17:24:43 kernel: hub 6-2:1.0: cannot disable port 2 (err = -71)
Nov  5 17:24:43 kernel: usb 6-2: USB disconnect, address 5
Nov  5 17:24:43 kernel: usb 6-2.1: USB disconnect, address 6
Nov  5 17:24:46 kernel: usb 6-2: new full speed USB device using address
7
Nov  5 17:24:46 kernel: usb 6-2: device not accepting address 7, error
-71

The upstream commit pointed as workaround actually has many upstream code
dependencies that turns the backporting impractical at this stage for
RHEL4 due to the risks of introducing regressions. 

The log lines above shows that your KVM device is a HUB device presenting
two connected devices, but it fails to get HUB port status (CRC/Timeout),
later the debounce routine fails with the same reason.

So, can you enable CONFIG_USB_DEBUG, reproduce the problem again and
upload another sosreport? That would tell us more information about this
issue.

thank you,
Flavio

Internal Status set to 'Waiting on Support'

This event sent from IssueTracker by fbl 
 issue 237467

Comment 6 Flavio Leitner 2009-07-20 15:08:13 UTC
Created attachment 354358 [details]
patch adding suspend_disabled parameter to uhci-hcd.ko

Switching a KVM on and off causes the USB keyboard and mouse to no
longer be recognized and the following messages are printed.
 ---
input: USB HID v1.00 Keyboard [SILITEK USB Keyboard and Mouse] on
usb-0000:00:1d.2-2.1
input: USB HID v1.00 Mouse [SILITEK USB Keyboard and Mouse] on
usb-0000:00:1d.2-2.1
kernel: hub 6-2:1.0: hub_port_status failed (err = -71)
kernel: hub 6-2:1.0: connect-debounce failed, port 2 disabled
kernel: hub 6-2:1.0: cannot disable port 2 (err = -71)
 ---

Hardware:
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family)
USB UHCI Controller #5 (rev 02)

Customer has bisected upstream kernel and found that this commit fixes
the problem: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8f4fe4358c5e0a79b4bd47b814d19f1d1d06f21

but that commit is part of some big changes on UHCI driver and so too
intrusive for RHEL4u9. RHEL5 has all patches and works fine.

This patch adds suspend_disabled parameter to uhci-hcd.ko to disable suspend.

Customer reports the patch works.

Flavio

Comment 9 RHEL Program Management 2009-08-18 16:00:59 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 10 Vivek Goyal 2009-08-25 19:22:57 UTC
Committed in 89.11.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/

Comment 15 Brenda Tian 2011-01-21 07:00:36 UTC
For there is no hardware to verify this bug,so we just have done the code review.

Comment 16 Brenda Tian 2011-01-21 07:17:08 UTC
Through code review, confirmed the patch included into
 kernel-2.6.9-97, marked SanityOnly.

Comment 17 Brenda Tian 2011-01-26 07:02:24 UTC
Through code review, confirmed the patch included into
 kernel-2.6.9-97.EL, marked SanityOnly.

Comment 18 errata-xmlrpc 2011-02-16 15:29:13 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0263.html