Bug 125009
Summary: | oops when accessing keyspan usb serial port | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Greg Hartman <gghartma> |
Component: | kernel | Assignee: | Pete Zaitcev <zaitcev> |
Status: | CLOSED RAWHIDE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 2 | CC: | greg |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-08-12 07:01:25 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
Greg Hartman
2004-06-02 00:45:05 UTC
Created attachment 100774 [details]
/var/log/messages from boot to shutdown
Since I couldn't figure out how to reproduce the problem, I'm including all of
the boot and shutdown messages from the system. The oops starts on line 348.
Created attachment 100775 [details]
Output from /proc/bus/usb/devices on working system
Created attachment 100776 [details]
Output from /proc/bus/usb/devices (corrected)
Created attachment 100778 [details]
Kernel log messages, including oops
I just upgraded to the 2.6.6-1.435 kernel, and now the bug happens every time I try to sync. The adapter is connected directly top the computer. I start jpilot, but the Palm into my cradle, press the sync button on the jpilot screen, and then push the hotsync button on the cradle. I get the following messages from dmesg. Once this happens my keyboard stops responding. I need to log in from a remote system to reboot the computer. usb 4-2: new full speed USB device using address 3 usbserial 4-2:1.0: Keyspan PDA converter detected usb 4-2: Keyspan PDA converter now attached to ttyUSB0 (or usb/tts/0 for devfs) Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: 02115e6c *pde = 00000000 Oops: 0000 [#1] Modules linked in: keyspan keyspan_pda usbserial snd_intel8x0 snd_ac97_codec snd _pcm snd_timer snd_page_alloc gameport snd_mpu401_uart snd_rawmidi snd_seq_devic e snd soundcore i830 parport_pc lp parport ipv6 autofs4 sunrpc 8139too mii flopp y sg scsi_mod microcode nls_utf8 nls_cp437 vfat fat dm_mod uhci_hcd ehci_hcd ext 3 jbd CPU: 0 EIP: 0060:[<02115e6c>] Not tainted EFLAGS: 00010012 (2.6.6-1.435) EIP is at __wake_up_common+0x12/0x54 eax: 00000000 ebx: 00000202 ecx: 00000001 edx: 00000001 esi: 00000001 edi: 170003a4 ebp: 29e3ef4c esp: 29e3ef34 ds: 007b es: 007b ss: 0068 Process events/0 (pid: 3, threadinfo=29e3e000 task=29ceeb30) Stack: 1590da80 29ceeb30 00000001 00000202 00000287 17000370 29e3ef60 02115ebf 00000000 00000000 00000000 29e6c238 2ae79018 00000000 16df6b64 02122d8a 2ae79000 ffffffff ffffffff 00000001 00000000 02115e4e 00010000 00000000 Call Trace: [<02115ebf>] __wake_up+0x11/0x1a [<2ae79018>] keyspan_pda_wakeup_write+0x18/0x47 [keyspan_pda] [<02122d8a>] worker_thread+0x155/0x1b4 [<2ae79000>] keyspan_pda_wakeup_write+0x0/0x47 [keyspan_pda] [<02115e4e>] default_wake_function+0x0/0xc [<02115e4e>] default_wake_function+0x0/0xc [<02122c35>] worker_thread+0x0/0x1b4 [<021251e1>] kthread+0x69/0x91 [<02125178>] kthread+0x0/0x91 [<021041d9>] kernel_thread_helper+0x5/0xb Code: 8b 10 39 f8 89 55 ec 74 31 8d 58 f4 8b 55 f0 8b 40 f4 ff 75 Sorry to admit, but at this point I'm reduced to begging Greg to help. I too have seen this, but do not know what the fix is, sorry. Wait, does the keyspan driver work for you instead? Pete, why are you all building both the keyspan_pda and keyspan drivers? Hm, do you need it for the xircom support? If so, only select that config option and not the pda option. I don't have an idea if keyspan drives a true superset of the hardware driven by keyspan_pda. We shippied keyspan_pda with FC1 (2.4 kernel), received no complaints. A driver with a local worker thread does sound suspicious though. Maybe it was always broken, but nobody used it. It looks like your theory is correct. The problem is associated with the keyspan_pda driver. I give some details below: Over the last few weeks I got the adapter to work again. Before I started my tests, I did an lsmod, and noticed that only the keyspan driver was loaded. I tried a sync, and it worked. I powered off the system and rebooted. lsmod showed that the keyspan_pda driver was loaded. I tried a sync, and the system crashed as described above. I then did a cold boot, and used: rmmod keyspan_pda isnmod keyspan When I tried the sync, I didn't get a crash, but the sync seemed to fail. I then renamed the keyspan_pda driver so that it wouldn't load and did a cold boot. lsmod shows that the keyspan driver loaded, but not keyspan_pda. Hotsync worked. I now seem to have a work-around. Is there a change that I could make that would survive kernel upgrades? Thanks for your help. It never occured to me that the problem could be competing USB drivers. I don't understand why the keyspan_pda module was loading. lsusb reports 06cd:0107, which doesn't seem to be associated with keyspan_pda at all. Then I tried renaming the keyspan module and powering down. When I rebooted, lsusb showed 06cd:0103. This lines up with KEYSPAN_PDA_FAKE_ID in keyspan_pda.c. I suspect that this change in the USB device id explains why the problem seemed to appear when I powered down the system but did not show up when I rebooted without powering down. I'm going to try setting CONFIG_USB_SERIAL_KEYSPAN_PDA=n in my .config and rebuilding the kernel. The rebuilt kernel worked. Let me know if you need more information. Created attachment 101729 [details]
Patch to fix this bug, from SuSE
That patch should fix this issue. If not, please let me know. How is 2.6.7-1.494.2.2 doing? It looks like it is fixed. I tried a cold boot and a sync and everything worked. Thanks for your help. |