Bugzilla – Bug 291
Issues at resume time (from S3)
Last modified: 2005-10-02 15:00:31
You need to log in before you can comment on or make changes to this bug.
Ported from OS ML submitted by Mike Hommey [mh@glandium.org] on 10/19. Subject: [Ipw2100-devel] [ipw2200] Issues at resume time (from S3) Hi list, I successfully put my laptop to S3 mode with latest linux kernel 2.6.9, but while resuming worked, I got some error messages you would like to read (see below), and ipw2200 failed to initialize. (there's a strange firmware issue). Mike PS: while at it, you might want to know that the ipw2200 driver is now in Debian GNU/Linux contrib: http://ftp.debian.org/debian/pool/contrib/i/ipw2200/ PM: Preparing system for suspend Stopping tasks: ================================================================ =================| usbhid 1-1:1.0: resume is unsafe! PM: Entering state. Back to C! Warning: CPU frequency is 600000, cpufreq assumed 1500000 kHz. PM: Finishing up. PCI: Setting latency timer of device 0000:00:1d.0 to 64 PCI: Setting latency timer of device 0000:00:1d.0 to 64 PCI: Setting latency timer of device 0000:00:1d.1 to 64 PCI: Setting latency timer of device 0000:00:1d.1 to 64 PCI: Setting latency timer of device 0000:00:1d.2 to 64 PCI: Setting latency timer of device 0000:00:1d.2 to 64 PCI: Setting latency timer of device 0000:00:1d.7 to 64 ACPI: PCI interrupt 0000:00:1f.1[A]: no GSI ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 9 (level, low) -> IRQ 9 PCI: Setting latency timer of device 0000:00:1f.5 to 64 ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 9 (level, low) -> IRQ 9 PCI: Setting latency timer of device 0000:00:1f.6 to 64 ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 9 (level, low) -> IRQ 9 PCI: Enabling device 0000:02:04.2 (0000 -> 0002) ACPI: PCI interrupt 0000:02:04.2[C] -> GSI 9 (level, low) -> IRQ 9 e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex hub 1-0:1.0: reactivate --> -22 hub 2-0:1.0: reactivate --> -22 hub 3-0:1.0: reactivate --> -22 hub 4-0:1.0: reactivate --> -22 hub 4-0:1.0: reactivate --> -22 Restarting tasks... done agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode [drm] Loading R200 Microcode ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 0.12 ipw2200: Copyright(c) 2003-2004 Intel Corporation ACPI: PCI interrupt 0000:02:0b.0[A] -> GSI 9 (level, low) -> IRQ 9 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection ipw2200: Radio Frequency Kill Switch is On: Kill switch must be turned off for wireless networking to work. wlan0: no IPv6 routers present PM: Preparing system for suspend Stopping tasks: ================================================================ =================| usbhid 1-1:1.0: resume is unsafe! wlan0: Going into suspend... PM: Entering state. Back to C! Warning: CPU frequency is 600000, cpufreq assumed 1500000 kHz. PM: Finishing up. PCI: Setting latency timer of device 0000:00:1d.0 to 64 PCI: Setting latency timer of device 0000:00:1d.0 to 64 PCI: Setting latency timer of device 0000:00:1d.1 to 64 PCI: Setting latency timer of device 0000:00:1d.1 to 64 PCI: Setting latency timer of device 0000:00:1d.2 to 64 PCI: Setting latency timer of device 0000:00:1d.2 to 64 PCI: Setting latency timer of device 0000:00:1d.7 to 64 ACPI: PCI interrupt 0000:00:1f.1[A]: no GSI ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 9 (level, low) -> IRQ 9 PCI: Setting latency timer of device 0000:00:1f.5 to 64 ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 9 (level, low) -> IRQ 9 PCI: Setting latency timer of device 0000:00:1f.6 to 64 ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 9 (level, low) -> IRQ 9 PCI: Enabling device 0000:02:04.2 (0000 -> 0002) ACPI: PCI interrupt 0000:02:04.2[C] -> GSI 9 (level, low) -> IRQ 9 wlan0: Coming out of suspend... e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex fw_register_class_device: class_device_register failed ipw2200: ipw2200_boot.fw load failed ipw2200: Unable to load firmware: 0xFFFFFFEF hub 4-0:1.0: reactivate --> -22 hub 4-0:1.0: reactivate --> -22 Restarting tasks... done agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0. agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode [drm] Loading R200 Microcode Unable to handle kernel NULL pointer dereference at virtual address 00000004 printing eip: c020f0b1 *pde = 00000000 Oops: 0002 [#1] PREEMPT Modules linked in: ipw2200 radeon ds thermal fan button ac battery eth1394 ipv6 af_packet firmware_class ieee80211 ieee80211_crypt e100 mii ohci1394 ieee1394 ye nta_socket pcmcia_core snd_intel8x0m snd_intel8x0 snd_ac97_codec snd_pcm_oss snd _mixer_oss snd_pcm snd_timer snd_page_alloc gameport snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore hw_random ehci_hcd joydev usbhid uhci_hcd usbcore intel_agp agpgart pcspkr rtc speedstep_centrino freq_table processor sonypi tsde v psmouse mousedev evdev ide_cd cdrom unix CPU: 0 EIP: 0060:[<c020f0b1>] Not tainted VLI EFLAGS: 00010006 (2.6.9) EIP is at serio_get_event+0x31/0x80 eax: 00000000 ebx: efc4a000 ecx: ee9d06e8 edx: ef602000 esi: 00000282 edi: ee9d06e0 ebp: ffffe000 esp: efc4bf70 ds: 007b es: 007b ss: 0068 Process kseriod (pid: 639, threadinfo=efc4a000 task=efc02020) Stack: ee9d06e0 c033ea40 efc4a000 c020f115 ee9d06e0 c02d6af9 efc4bfc0 efc4bfcc c020f295 00004000 c16f7aa0 efc4a000 00000000 efc02020 c011b510 efc4bfcc efc4bfcc efc02020 eff2bf44 c0106132 00000000 efc02020 c011b510 efc4bfcc Call Trace: [<c020f115>] serio_handle_events+0x15/0xc0 [<c020f295>] serio_thread+0x55/0x180 [<c011b510>] autoremove_wake_function+0x0/0x60 [<c0106132>] ret_from_fork+0x6/0x14 [<c011b510>] autoremove_wake_function+0x0/0x60 [<c020f240>] serio_thread+0x0/0x180 [<c01042cd>] kernel_thread_helper+0x5/0x18 Code: 89 74 24 04 89 7c 24 08 9c 5e fa bb 00 e0 ff ff 21 e3 ff 43 14 8b 0d 64 eb 33 c0 81 f9 64 eb 33 c0 74 36 8b 51 04 8d 79 f8 8b 01 <89> 50 04 89 02 89 49 04 89 09 56 9d ff 4b 14 8b 43 08 a8 08 75 <6>note: kseriod[639] exited with preempt_count 2 ipw2200: 'ipw2200_boot.fw' firmware version not compatible (224 != 2) ipw2200: Unable to load boot firmware Trying to vfree() bad address (ee5ab640) Badness in __vunmap at mm/vmalloc.c:307 [<c014ec68>] vfree+0x28/0x40 [<f0ad791a>] release_firmware+0x1a/0x40 [firmware_class] [<f0b45c1c>] ipw_load+0x5bc/0x9c0 [ipw2200] [<f0b4e698>] ipw_up+0x38/0x1c0 [ipw2200] [<f0b4aec0>] ipw_adapter_restart+0x30/0x50 [ipw2200] [<c012da79>] worker_thread+0x1d9/0x2a0 [<f0b4dd90>] ipw_rf_kill+0x0/0x160 [ipw2200] [<c011a170>] default_wake_function+0x0/0x20 [<c011a170>] default_wake_function+0x0/0x20 [<c012d8a0>] worker_thread+0x0/0x2a0 [<c0131bfa>] kthread+0xaa/0xb0 [<c0131b50>] kthread+0x0/0xb0 [<c01042cd>] kernel_thread_helper+0x5/0x18 ipw2200: Unable to load firmware: 0xFFFFFFF4 ipw2200: Failed to up device
Two bugs here: 1. ipw2200 reports rf kill on during resume, but it is actually not. 2. even it rf kill changes before and after resume, firmware loading code should handle it cleanly.
Want to know if it still exists w/ 0.18. It might be the txpower shut the radio if user didn't do it.
Created an attachment (id=183) [details] fix release_firmware oops
please apply
Applied for 0.19
Applied to 0.19
Original reporter has stated that he has not seen this issue for a while. Marking as verified.