Bug 5742

Summary: Suspend resume does not work on Inspiron 8200 if usbhid module is loaded
Product: Power Management Reporter: jazzdaq
Component: APMAssignee: Greg Kroah-Hartman (greg)
Status: REJECTED INSUFFICIENT_DATA    
Severity: normal CC: akpm, bunk
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.8, 2.6.11, 2.6.14.3 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    

Description jazzdaq 2005-12-14 03:36:04 UTC
Most recent kernel where this bug did not occur: I believe that the problem did
not occur with 2.4 kernels.
Distribution: Fedora Core 2,3,4.
Hardware Environment: Dell Inspiron 8200, Dell Latitude C840
Software Environment:
Problem Description:

On my previous Inspiron 8200 (now defunct) and my current Latitude C840, power
management works fine as long as the external usb mouse is not used.  If an
external mouse is used, I have to unload the usbhid module in order to get
suspend/resume to work correctly.

If usbhid is not unloaded prior to suspend, the machine takes a lot longer to
shut down (about 20 seconds), and when started back up I just get a black screen.

All other common modules (PCMCIA, sound, floppy, cdrom, agpgart, ieee1394,
parport, etc.) seem to work without problems on suspend.

Steps to reproduce:

Compile the kernel with my .config file, boot up into X on any Inspiron 8200 or
Latitude C840, press the Suspend hot key.

------------ snippets from .config: -----------------------------
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/hdc5"

#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set

#
# APM (Advanced Power Management) BIOS Support
#
CONFIG_APM=m
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_RTC_IS_GMT is not set
CONFIG_APM_ALLOW_INTS=y
CONFIG_APM_REAL_MODE_POWER_OFF=y
Comment 1 Greg Kroah-Hartman 2006-02-09 13:46:33 UTC
Does 2.6.16-rc2 work properly for you?
Comment 2 jazzdaq 2006-02-10 06:18:59 UTC
Greg,

On successful suspend, nothing usually beeps.  Here, I got a beep, and then
suspend.  Then, on resume:

..........stuff that scrolled off screen....


 <0>general protection fault: 0000 [#9]
SMP
Modules linked in: i8k ... usbcore ...
CPU: 0
EIP: 0060:[<c01026fd>] Not tainted VLI
EFLAGS: 00010246 (2.6.16-rc2D)
EIP is at sysenter_past_esp+0x72/ox75
eax: 00000000 exb: 00000080 ecx: bfab1560 edx: ffffe410
esi: 00000000 edi: bfab16a0 ebp: 00000000 esp: efbe3fbc
ds: 007b es: 007b ss: 0068
Process xfs (pid: 2749, threadinfo=efbe2000 task=ed843a90)
Stack: <0>00000080 0805e380 00000000 00000000 bfab16a0 bfab16b8 00000000 0000007b
c0100007b 0000008e ffffe410 00000073 00000246 bfab1560 0000007b 00000000 00000000
Call Trace:
Code: 0f 83 84 01 00 00 ff 14 85 80 44 24 c0 89 44 24 18 fa 8b 4d 08 66 f7 c1 ff
 fe 0f 85 26 01 00 00 8b 54 24 28 8b 4c 24 34 31 ed fb <0f> 35 90 50 fc 06 1e 50
 55 57 56 52 51 53 ba 7b 00 00 00 8e da

I typed the above by hand, so there could be mistakes.
Comment 3 Greg Kroah-Hartman 2006-03-06 10:30:43 UTC
But does the latest kernel work properly?
Comment 4 jazzdaq 2006-03-08 07:13:31 UTC
No, Greg.  You asked me to try 2.6.16-rc2, and my comment #2 is for 2.6.16-rc2.
Comment 5 Greg Kroah-Hartman 2006-03-08 10:14:01 UTC
Ok, suspend for USB is still flaky, we _really_ recommend that you unload
all of your USB modules before doing it (usually the distro scripts handle
that for you.)

If you unload usbhid before suspending, and then load it after resuming, does
it all work properly?
Comment 6 Adrian Bunk 2006-08-22 15:02:58 UTC
Please reopen this bug if:
- it is still present in kernel 2.6.17 and
- you can provide the requested information.