From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040922 Description of problem: With recent kernels 2.6.10-1.12_FC2 or 2.6.10-1.9_FC2, when I replug my phone/modem I experience the following oops. I do have to unplug/replug it because it is a cell phone after all. It _never_ happened with earlier kernels. usb 1-2: new full speed USB device using uhci_hcd and address 7 cdc_acm 1-2:1.0: ttyACM0: USB ACM device CSLIP: code copyright 1989 Regents of the University of California PPP generic driver version 2.4.2 divert: not allocating divert_blk for non-ethernet device ppp0 PPP Deflate Compression module registered ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 5 PCI: setting IRQ 5 as level-triggered ACPI: PCI interrupt 0000:00:0a.0[A] -> GSI 5 (level, low) -> IRQ 5 usb 1-2: USB disconnect, address 7 divert: no divert_blk to free, ppp0 not ethernet Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c01d7fda *pde = 346f4067 Oops: 0000 [#1] Modules linked in: snd_ens1371 snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm snd_timer snd_page_alloc gameport snd soundcore ppp_deflate zlib_deflate ppp_async crc_ccitt ppp_generic slhc cdc_acm parport_pc lp parport autofs4 sunrpc 8139too mii ipt_REJECT ipt_state ip_conntrack iptable_filter ip_tables floppy sg sd_mod vfat fat dm_mod usb_storage scsi_mod uhci_hcd video button battery ac r128 md5 ipv6 ext3 jbd CPU: 0 EIP: 0060:[<c01d7fda>] Not tainted VLI EFLAGS: 00010286 (2.6.10-1.12_FC2) EIP is at get_kobj_path_length+0x10/0x25 eax: 00000000 ebx: 00000001 ecx: ffffffff edx: f3de1898 esi: f3f535f8 edi: 00000000 ebp: f3de1898 esp: f3773e38 ds: 007b es: 007b ss: 0068 Process pppd (pid: 4695, threadinfo=f3773000 task=f7139870) Stack: 000000d0 f3de1874 c01d8046 f3de1874 f3f535e0 f3f535f8 f3de1874 000003ad c0242c91 00000000 f486c0ec 00000000 00000000 f3f535e0 c0374a00 f3030053 f486c0f4 c01d89d3 0000001a f3030053 000003ad f3030000 c0374a20 c0374a00 Call Trace: [<c01d8046>] kobject_get_path+0xe/0x4a [<c0242c91>] class_hotplug+0x43/0x114 [<c01d89d3>] kobject_hotplug+0x1af/0x339 [<c01d82f5>] kobject_del+0xd/0x1c [<c024301d>] class_device_del+0x97/0xa9 [<c0243037>] class_device_unregister+0x8/0x10 [<f895b52a>] acm_tty_close+0x95/0xd3 [cdc_acm] [<c021a146>] release_dev+0x1ff/0x829 [<c0115257>] do_page_fault+0x198/0x4dc [<c017841c>] fcntl_setlk+0x246/0x250 [<c01179b1>] __wake_up+0x78/0xde [<f8af629f>] ppp_ccp_closed+0x25e/0x2bb [ppp_generic] [<c021acb5>] tty_release+0x7/0xa [<c0162843>] __fput+0x4e/0xe7 [<c016134a>] filp_close+0x59/0x5f [<c0103473>] syscall_call+0x7/0xb Code: 75 14 89 d8 e8 98 ff ff ff 85 c0 89 c6 74 07 89 d8 e8 a3 c4 fc ff 5b 89 f0 5e c3 57 89 c2 53 bb 01 00 00 00 8b 3a 31 c0 83 c9 ff <f2> ae f7 d1 49 8b 52 24 8d 5c 19 01 85 d2 75 e9 89 d8 5b 5f c3 <6>usb 1-2: new full speed USB device using uhci_hcd and address 8 cdc_acm 1-2:1.0: ttyACM1: USB ACM device Version-Release number of selected component (if applicable): How reproducible: Sometimes Steps to Reproduce: 1. plug usb cell phone/modem (SANY0 4900) 2. unplug 3. plug back in Actual Results: I can't use it as a modem after replugging. Expected Results: I should be able to plug and unplug as many times as I want. I used to be able to do it with 2.6.9-1.11_FC2 Additional info:
kernel-2.6.10-1.14_FC2 still suffers from this bug. There is a small correction: Steps to Reproduce: 1. plug usb cell phone/modem (SANY0 4900), which becomes ttyACM0 2. pppd call sprint, which loads ppp stuff 3. unplug, which Oopses the kernel 4. plug the phone back in, which becomes ttyACM1 Since pppd is an important step, I am adding twoerner
kernel-2.6.10-1.770_FC2 still suffers from this bug. I can now add that to see the oops you can power off the device, not only unplug it from the usb port. On the positive note, I am now able to "killall pppd" and restart with "pppd call sprint", which was impossible before and I had to replug the device. So some thing gets fixed something gets broken.
This is still happening with kernel-2.6.11-1.14_FC3 (100% reproducible on two very different machines). Specifically, I get the exact same Oops if I unplug (or turn off) a cdc_acm device ("ID 22b8:2822 Motorola PCS V.120e GSM Phone") while pppd is still running. http://bugzilla.kernel.org/show_bug.cgi?id=4407 has a pair of patches attached that are supposed to fix this (have not tried them myself yet). http://bugzilla.kernel.org/show_bug.cgi?id=4418 seems to be a dup of 4407.
kernel-2.6.11-1.1226_FC4smp System's actions monitored by tail -f /var/log/messages 1. Plug Nokia 6230 + DKU2 (data cable) into 1ns USB port. 2. Phone detected by system as ttyACM0. 3. Use wvdial. 4. Unplug cable from phone. 5. System detects unplugging. 6. Plug cable in phone again. 7. Phone detected by system as ttyACM1. 8. Unplug cable from phone. 9. System detects unplugging. 10. Plug cable into phone again. 11. No any positive or negative reaction from system in /var/log/messages. Phone unreachable. 12. Plug cable into 2nd usb port. 13. The same as 11. 14. Unplug cable from phone. 15. [loop 10] After this sequence of actions wvdial alerts "ttyACM0(1): Device busy or ... <...>
After I've applied the patches from http://bugzilla.kernel.org/show_bug.cgi?id=4407, the problem (the original one, not a different problem mentioned in comment #4) went away. An FC3 kernel recompiled with these patches (and software suspend) may be found at http://rpm.nogin.org/kernel.html (kernel-2.6.11-1.14_FC3 and above).
Reproduced in and advanced to Fedora Core 4. OSDL's bug 4407 is indeed the same with a fix pending/merged.
[This comment has been added as a mass update for all FC4 kernel bugs. If you have migrated this bug from an FC3 bug today, ignore this comment.] Please retest your problem with todays 2.6.12-1.1398_FC4 update. If your problem involved being unable to boot, or some hardware not being detected correctly, please make sure your /etc/modprobe.conf is correct *BEFORE* installing any kernel updates. If in doubt, you can recreate this file using.. mv /etc/sysconfig/hwconf /etc/sysconfig/hwconf.bak mv /etc/modprobe.conf /etc/modprobe.conf.bak kudzu Thank you.
This oops lives on in 2.6.12-1.1398_FC4. There seems to be some activity upstream bedore 2.6.13
According to the upstream entry, this is now fixed in 2.6.13-rc4
Alright! It's finally fixed in 2.6.13-1.1524_FC4 in updates/testing/4. This was tested by hot-unplugging Sanyo 4920 from underneath pppd -- no oops happened and pppd died gracefully. This will be my last (positive!) input on this bug. I am DSL now. I will use my phone just for phone calls now.