Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 17:50 schrieb Mark Lord: > Mark Lord wrote: > > > > Okay, from that part (above), the problem is obvious: > > in that the "MCT U232 converter now disconnected" appears, > > and then we continue to try and call the driver's method.. Oops! > > > > The hack patch below "fixes" this, but it really just hides whatever > > the real problem underneath was: static void destroy_serial(struct kref *kref): /* the ports are cleaned up and released in port_release() */ for (i = 0; i < serial->num_ports; ++i) if (serial->port[i]->dev.parent != NULL) { device_unregister(>port[i]->dev); serial->port[i] = NULL; } if (serial->type->shutdown) serial->type->shutdown(serial); IMHO shutdown() is using serial->port[] and bombs. Could you reverse the order here? Regards Oliver - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Mark Lord wrote: Okay, from that part (above), the problem is obvious: in that the "MCT U232 converter now disconnected" appears, and then we continue to try and call the driver's method.. Oops! The hack patch below "fixes" this, but it really just hides whatever the real problem underneath was: Signed-off-by: Mark Lord <[EMAIL PROTECTED]> --- --- linux/include/linux/usb/serial.h.orig2007-03-12 12:18:48.0 -0400 +++ linux/include/linux/usb/serial.h2007-03-12 12:18:23.0 -0400 @@ -99,11 +99,19 @@ /* get and set the port private data pointer helper functions */ static inline void *usb_get_serial_port_data (struct usb_serial_port *port) { +if (!port) { +WARN_ON(1); +return NULL; +} return dev_get_drvdata(>dev); } static inline void usb_set_serial_port_data (struct usb_serial_port *port, void *data) { +if (!port) { +WARN_ON(1); +return; +} dev_set_drvdata(>dev, data); } Mmmm.. and that same hack also prevents the Oops seen when I leave ckermit running during suspend/resume(RAM), giving me this BUG() report now instead: 12:29:51 kernel: pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0 12:29:51 kernel: BUG: at include/linux/usb/serial.h:103 usb_get_serial_port_data() 12:29:51 kernel: [] pl2303_shutdown+0x95/0xb5 [pl2303] 12:29:51 kernel: [] destroy_serial+0x89/0x122 [usbserial] 12:29:51 kernel: [] destroy_serial+0x0/0x122 [usbserial] 12:29:51 kernel: [kref_put+95/110] kref_put+0x5f/0x6e 12:29:51 kernel: [tty_fasync+60/180] tty_fasync+0x3c/0xb4 12:29:51 kernel: [release_dev+484/1496] release_dev+0x1e4/0x5d8 12:29:51 kernel: [find_get_page+21/69] find_get_page+0x15/0x45 12:29:51 kernel: [filemap_nopage+385/726] filemap_nopage+0x181/0x2d6 12:29:51 kernel: [pty_write+43/53] pty_write+0x2b/0x35 12:29:51 kernel: [getnstimeofday+48/216] getnstimeofday+0x30/0xd8 12:29:51 kernel: [rb_insert_color+74/173] rb_insert_color+0x4a/0xad 12:29:51 kernel: [enqueue_hrtimer+256/268] enqueue_hrtimer+0x100/0x10c 12:29:51 kernel: [tty_release+15/24] tty_release+0xf/0x18 12:29:51 kernel: [__fput+150/336] __fput+0x96/0x150 12:29:51 kernel: [filp_close+79/86] filp_close+0x4f/0x56 12:29:51 kernel: [sys_close+117/183] sys_close+0x75/0xb7 12:29:51 kernel: [sysenter_past_esp+95/133] sysenter_past_esp+0x5f/0x85 12:29:51 kernel: === - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Mark Lord wrote: ..and here is a retest with linux-2.6.21-rc3-git7 of simply plug/wait/unplug a USB hub/serial/parallel/PS2 gizmo. I have two of these, with different serial port hardware in each, and doing this with either of them produces an ooops. ... 12:12:06 kernel: mct_u232 ttyUSB2: MCT U232 converter now disconnected from ttyUSB2 12:12:06 kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 0168 12:12:06 kernel: printing eip: 12:12:06 kernel: f8ca6542 12:12:06 kernel: *pde = 12:12:06 kernel: Oops: [#2] Okay, from that part (above), the problem is obvious: in that the "MCT U232 converter now disconnected" appears, and then we continue to try and call the driver's method.. Oops! The hack patch below "fixes" this, but it really just hides whatever the real problem underneath was: Signed-off-by: Mark Lord <[EMAIL PROTECTED]> --- --- linux/include/linux/usb/serial.h.orig 2007-03-12 12:18:48.0 -0400 +++ linux/include/linux/usb/serial.h2007-03-12 12:18:23.0 -0400 @@ -99,11 +99,19 @@ /* get and set the port private data pointer helper functions */ static inline void *usb_get_serial_port_data (struct usb_serial_port *port) { + if (!port) { + WARN_ON(1); + return NULL; + } return dev_get_drvdata(>dev); } static inline void usb_set_serial_port_data (struct usb_serial_port *port, void *data) { + if (!port) { + WARN_ON(1); + return; + } dev_set_drvdata(>dev, data); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 17:11 schrieb Mark Lord: > Mark Lord wrote: > > Greg KH wrote: > >> Does userspace have it open when you suspend/resume? > > > > For the ooops I just posted, yes, I may have left Linux ckermit > > running on the serial port before the suspend. > > Here's a retest under linux-2.6.21-rc3-git7, > doing suspend/resume (RAM) with ckermit open on the serial port. I am looking at it. Regards Oliver - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Greg KH wrote: thanks, but again, which usb-serial device do you have running here? That's in the oops log: pl2303 for the ckermit test. For the other oops (plug/wait/unplug a multi-func hub), one of the hubs also has a pl2303, the other has an mct_u232. Cheers -ml - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
On Mon, Mar 12, 2007 at 12:03:27PM -0400, Mark Lord wrote: > Greg KH wrote: > >.. > >And all of those fixes Oliver is referring to should be in anything > >older than 2.6.21-rc3-git6. > > Did you mean, "anything *newer* than -git6" ?? Oops, yes, I ment "newer", sorry. > This last crash was with -git4. I'm building -git7 now. Ah, ok, there's still hope, Oliver's patches didn't go into -git4. > >Does userspace have it open when you suspend/resume? > > For the ooops I just posted, yes, I may have left Linux ckermit > running on the serial port before the suspend. > > We shouldn't be oopsing regardless, but perhaps that could help > narrow things down a bit. > > I'll also retest the simple plug-unplug-oops crash reported earlier, > once I have rc3-git7 up and running. thanks, but again, which usb-serial device do you have running here? greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
..and here is a retest with linux-2.6.21-rc3-git7 of simply plug/wait/unplug a USB hub/serial/parallel/PS2 gizmo. I have two of these, with different serial port hardware in each, and doing this with either of them produces an ooops. 12:12:02 kernel: usb 4-2: new full speed USB device using uhci_hcd and address 2 12:12:02 kernel: usb 4-2: configuration #1 chosen from 1 choice 12:12:02 kernel: hub 4-2:1.0: USB hub found 12:12:02 kernel: hub 4-2:1.0: 5 ports detected 12:12:02 kernel: usb 4-2.3: new full speed USB device using uhci_hcd and address 3 12:12:02 kernel: usb 4-2.3: configuration #1 chosen from 1 choice 12:12:02 kernel: input: MTC PS/2 to USB converter as /class/input/input9 12:12:02 kernel: input: USB HID v1.10 Keyboard [MTC PS/2 to USB converter] on usb-:00:1d.3-2.3 12:12:02 kernel: input: MTC PS/2 to USB converter as /class/input/input10 12:12:02 kernel: input: USB HID v1.10 Mouse [MTC PS/2 to USB converter] on usb-:00:1d.3-2.3 12:12:02 kernel: usb 4-2.4: new full speed USB device using uhci_hcd and address 4 12:12:03 kernel: usb 4-2.4: configuration #1 chosen from 1 choice 12:12:03 kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for MCT U232 12:12:03 kernel: usb 4-2.5: new full speed USB device using uhci_hcd and address 5 12:12:03 kernel: usb 4-2.5: configuration #1 chosen from 1 choice 12:12:03 kernel: mct_u232 4-2.4:1.0: MCT U232 converter detected 12:12:03 kernel: usb 4-2.4: MCT U232 converter now attached to ttyUSB2 12:12:03 kernel: usbcore: registered new interface driver mct_u232 12:12:03 kernel: drivers/usb/serial/mct_u232.c: Magic Control Technology USB-RS232 converter driver z2.0 12:12:03 kernel: drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 5 if 0 alt 1 proto 2 vid 0x0711 pid 0x0300 12:12:03 kernel: usbcore: registered new interface driver usblp 12:12:03 kernel: drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver 12:12:06 kernel: usb 4-2: USB disconnect, address 2 12:12:06 kernel: usb 4-2.3: USB disconnect, address 3 12:12:06 kernel: usb 4-2.4: USB disconnect, address 4 12:12:06 kernel: mct_u232 ttyUSB2: MCT U232 converter now disconnected from ttyUSB2 12:12:06 kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 0168 12:12:06 kernel: printing eip: 12:12:06 kernel: f8ca6542 12:12:06 kernel: *pde = 12:12:06 kernel: Oops: [#2] 12:12:06 kernel: PREEMPT 12:12:06 kernel: Modules linked in: usblp mct_u232 radeon drm nfsd exportfs lockd nfs_acl sunrpc acpi_cpufreq cpufreq_ondemand cpufreq_powersave cpufreq_userspace cpufreq_stats freq_table cpufreq_conservative ac fan button thermal video battery container processor rfcomm l2cap bluetooth cfq_iosched deflate zlib_deflate twofish twofish_common serpent blowfish des cbc ecb blkcipher aes xcbc sha256 sha1 crypto_null af_key af_packet sbp2 usbhid hid pl2303 usbserial mousedev pcmcia snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer ipw2200 snd ieee80211 ieee80211_crypt ohci1394 serio_raw psmouse soundcore snd_page_alloc pcspkr sdhci firmware_class ahci ieee1394 yenta_socket rsrc_nonstatic pcmcia_core ehci_hcd mmc_core b44 mii uhci_hcd usbcore intel_agp agpgart sg sr_mod cdrom unix 12:12:06 kernel: CPU:0 12:12:06 kernel: EIP:0060:[]Not tainted VLI 12:12:06 kernel: EFLAGS: 00010206 (2.6.21-rc3-git7 #7) 12:12:06 kernel: EIP is at mct_u232_shutdown+0x39/0x65 [mct_u232] 12:12:06 kernel: eax: 0001 ebx: f7649cc0 ecx: c20df5c0 edx: 0078 12:12:06 kernel: esi: edi: f7649cc0 ebp: f5c45c18 esp: f7437e38 12:12:06 kernel: ds: 007b es: 007b fs: 00d8 gs: ss: 0068 12:12:06 kernel: Process khubd (pid: 1949, ti=f7436000 task=f7d8da10 task.ti=f7436000) 12:12:06 kernel: Stack: f6c2c478 f6c2c478 f7649cc0 0001 f7649cc0 f8a29ca1 f7649cc0 12:12:06 kernel:f7649cc0 f5c45c18 f88c5a43 f7649cf4 f8a29c18 c01ab1b5 0202 12:12:06 kernel:f6c2c400 f7649cc0 f6c2c400 f7649cc4 f8a297f7 c01ab1b5 0001 f5abec67 12:12:06 kernel: Call Trace: 12:12:06 kernel: [] destroy_serial+0x89/0x122 [usbserial] 12:12:06 kernel: [] usb_kill_urb+0x4e/0xcb [usbcore] 12:12:06 kernel: [] destroy_serial+0x0/0x122 [usbserial] 12:12:06 kernel: [kref_put+95/110] kref_put+0x5f/0x6e 12:12:06 kernel: [] usb_serial_disconnect+0x81/0xaa [usbserial] 12:12:06 kernel: [kref_put+95/110] kref_put+0x5f/0x6e 12:12:06 kernel: [] usb_unbind_interface+0x2a/0x59 [usbcore] 12:12:06 kernel: [__device_release_driver+110/139] __device_release_driver+0x6e/0x8b 12:12:06 kernel: [device_release_driver+29/50] device_release_driver+0x1d/0x32 12:12:06 kernel: [bus_remove_device+113/129] bus_remove_device+0x71/0x81 12:12:06 kernel: [device_del+308/405] device_del+0x134/0x195 12:12:06 kernel: [] usb_disable_device+0x5c/0xbb [usbcore] 12:12:06 kernel: [] usb_disconnect+0x82/0x104 [usbcore] 12:12:06 kernel: [] usb_disconnect+0x70/0x104 [usbcore] 12:12:06 kernel:
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Mark Lord wrote: Greg KH wrote: Does userspace have it open when you suspend/resume? For the ooops I just posted, yes, I may have left Linux ckermit running on the serial port before the suspend. Here's a retest under linux-2.6.21-rc3-git7, doing suspend/resume (RAM) with ckermit open on the serial port. (LONG, Ooops at the bottom). 12:06:54 kernel: Stopping tasks ... done. 12:06:54 kernel: Suspending console(s) 12:06:54 kernel: pl2303 5-5.3:1.0: no suspend for driver pl2303? 12:06:54 kernel: ACPI: PCI interrupt for device :03:01.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :03:00.0 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1f.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1e.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.7 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.3 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.1 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.0 disabled 12:06:54 kernel: Intel machine check architecture supported. 12:06:54 kernel: Intel machine check reporting enabled on CPU#0. 12:06:54 kernel: Back to C! 12:06:54 kernel: PM: Writing back config space on device :00:01.0 at offset 7 (was 2000d0d0, writing d0d0) 12:06:54 kernel: PM: Writing back config space on device :00:01.0 at offset 3 (was 1, writing 10010) 12:06:54 kernel: PCI: Setting latency timer of device :00:01.0 to 64 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.0 to 64 12:06:54 kernel: usb usb1: root hub lost power or was reset 12:06:54 kernel: PCI: Enabling device :00:1d.1 ( -> 0001) 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.1[B] -> GSI 17 (level, low) -> IRQ 18 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.1 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1d.1 at offset f (was 200, writing 20a) 12:06:54 kernel: PM: Writing back config space on device :00:1d.1 at offset 8 (was 1, writing bf61) 12:06:54 kernel: usb usb2: root hub lost power or was reset 12:06:54 kernel: PCI: Enabling device :00:1d.2 ( -> 0001) 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.2[C] -> GSI 18 (level, low) -> IRQ 19 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.2 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1d.2 at offset f (was 300, writing 309) 12:06:54 kernel: PM: Writing back config space on device :00:1d.2 at offset 8 (was 1, writing bf41) 12:06:54 kernel: usb usb3: root hub lost power or was reset 12:06:54 kernel: PCI: Enabling device :00:1d.3 ( -> 0001) 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.3[D] -> GSI 19 (level, low) -> IRQ 17 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.3 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1d.3 at offset f (was 400, writing 407) 12:06:54 kernel: PM: Writing back config space on device :00:1d.3 at offset 8 (was 1, writing bf21) 12:06:54 kernel: usb usb4: root hub lost power or was reset 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.7[A] -> GSI 16 (level, low) -> IRQ 16 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.7 to 64 12:06:54 kernel: usb usb5: root hub lost power or was reset 12:06:54 kernel: ehci_hcd :00:1d.7: debug port 1 12:06:54 kernel: PCI: cache line size of 32 is not supported by device :00:1d.7 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 9 (was 10001, writing 8bf18801) 12:06:54 NetworkManager: ^ISWITCH: terminating current connection 'eth0' because it's no longer valid. 12:06:54 NetworkManager: ^IDeactivating device eth0. 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 8 (was 0, writing dfc0dfc0) 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 7 (was 2280e0f0, writing 22802020) 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 6 (was 20030300, writing 20070300) 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 1 (was 15, writing 100107) 12:06:54 kernel: PCI: Setting latency timer of device :00:1e.0 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset f (was 100, writing 10b) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 7 (was 0, writing dd00) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 6 (was 0, writing de00) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 5 (was 1, writing ec41) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 4 (was 1, writing ed01) 12:06:54 kernel: PM: Writing
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Greg KH wrote: .. And all of those fixes Oliver is referring to should be in anything older than 2.6.21-rc3-git6. Did you mean, "anything *newer* than -git6" ?? This last crash was with -git4. I'm building -git7 now. Does userspace have it open when you suspend/resume? For the ooops I just posted, yes, I may have left Linux ckermit running on the serial port before the suspend. We shouldn't be oopsing regardless, but perhaps that could help narrow things down a bit. I'll also retest the simple plug-unplug-oops crash reported earlier, once I have rc3-git7 up and running. Cheers - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 16:29 schrieb Greg KH: > On Mon, Mar 12, 2007 at 11:13:59AM -0400, Mark Lord wrote: > > Oliver Neukum wrote: > > >Am Montag, 12. M??rz 2007 15:56 schrieb Mark Lord: > > >>Still no improvement on the b0rken usb-serial resume support in -rc*. > > > > > >Have you applied the fixes in Greg's current tree? > > > > I don't know anything about any "current tree" > > other than the 2.6.21-rc3-git* on kernel.org. > > And all of those fixes Oliver is referring to should be in anything > older than 2.6.21-rc3-git6. So we have a different problem here than > what people were seeing before. Older than 2.6.21-rc3-git6? Did you throw them out? Why? Regards Oliver - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
On Mon, Mar 12, 2007 at 10:56:45AM -0400, Mark Lord wrote: > Still no improvement on the b0rken usb-serial resume support in -rc*. > > Today I got this ooops on resume from RAM. > Slightly tainted kernel this time (vmware), but not previously > on similar crashes. I cannot yet get it to "crash on demaind", > so you'll just have to live with it this time. > > All USB was dead until after a reboot this time. What type of usb-serial device do you have plugged in? Does userspace have it open when you suspend/resume? Is vmware accessing the device? thanks, greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
On Mon, Mar 12, 2007 at 11:13:59AM -0400, Mark Lord wrote: > Oliver Neukum wrote: > >Am Montag, 12. M??rz 2007 15:56 schrieb Mark Lord: > >>Still no improvement on the b0rken usb-serial resume support in -rc*. > > > >Have you applied the fixes in Greg's current tree? > > I don't know anything about any "current tree" > other than the 2.6.21-rc3-git* on kernel.org. And all of those fixes Oliver is referring to should be in anything older than 2.6.21-rc3-git6. So we have a different problem here than what people were seeing before. > Greg hasn't suggested anything for this yet, > mostly because he's been busy keeping the 2.6.20.xx > point releases sane. No, I didn't suggest anything because I thought it was going to be fixed with Oliver's patches :( thanks, greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 16:13 schrieb Mark Lord: > Oliver Neukum wrote: > > Am Montag, 12. März 2007 15:56 schrieb Mark Lord: > >> Still no improvement on the b0rken usb-serial resume support in -rc*. > > > > Have you applied the fixes in Greg's current tree? > > I don't know anything about any "current tree" > other than the 2.6.21-rc3-git* on kernel.org. > > Greg hasn't suggested anything for this yet, > mostly because he's been busy keeping the 2.6.20.xx > point releases sane. Sorry, try these in the chronological order the names imply. If it still happens, let me know. Regards Oliver --- a/drivers/usb/serial/usb-serial.c 2007-03-05 14:43:20.0 +0100 +++ b/drivers/usb/serial/usb-serial.c 2007-03-05 15:18:53.0 +0100 @@ -99,9 +99,12 @@ continue; *minor = i; + j = 0; dbg("%s - minor base = %d", __FUNCTION__, *minor); - for (i = *minor; (i < (*minor + num_ports)) && (i < SERIAL_TTY_MINORS); ++i) + for (i = *minor; (i < (*minor + num_ports)) && (i < SERIAL_TTY_MINORS); ++i) { serial_table[i] = serial; + serial->port[j++]->number = i; + } spin_unlock(_lock); return serial; } @@ -848,7 +851,6 @@ port = kzalloc(sizeof(struct usb_serial_port), GFP_KERNEL); if (!port) goto probe_error; - port->number = i + serial->minor; port->serial = serial; spin_lock_init(>lock); mutex_init(>mutex); @@ -1035,9 +1037,6 @@ kfree(port->interrupt_out_buffer); } - /* return the minor range that this device had */ - return_serial (serial); - /* free up any memory that we allocated */ for (i = 0; i < serial->num_port_pointers; ++i) kfree(serial->port[i]); --- linux-2.6.21-rc1/drivers/usb/serial/usb-serial.c.alt 2007-02-21 05:32:30.0 +0100 +++ linux-2.6.21-rc1/drivers/usb/serial/usb-serial.c 2007-02-26 15:32:50.0 +0100 @@ -826,7 +826,6 @@ num_ports = type->num_ports; } - serial->minor = minor; serial->num_ports = num_ports; serial->num_bulk_in = num_bulk_in; serial->num_bulk_out = num_bulk_out; @@ -980,6 +979,7 @@ dev_err(>dev, "No more free serial devices\n"); goto probe_error; } + serial->minor = minor; /* register all of the individual ports with the driver core */ for (i = 0; i < num_ports; ++i) {
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Oliver Neukum wrote: Am Montag, 12. März 2007 15:56 schrieb Mark Lord: Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? I don't know anything about any "current tree" other than the 2.6.21-rc3-git* on kernel.org. Greg hasn't suggested anything for this yet, mostly because he's been busy keeping the 2.6.20.xx point releases sane. Cheers - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 15:56 schrieb Mark Lord: > Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? Regards Oliver - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Still no improvement on the b0rken usb-serial resume support in -rc*. Today I got this ooops on resume from RAM. Slightly tainted kernel this time (vmware), but not previously on similar crashes. I cannot yet get it to "crash on demaind", so you'll just have to live with it this time. All USB was dead until after a reboot this time. pl2303 5-6.3:1.0: PM: resume from 2, parent 5-6.3 still 2 usbdev5.23_ep81: PM: resume from 0, parent 5-6.3:1.0 still 2 usbdev5.23_ep02: PM: resume from 0, parent 5-6.3:1.0 still 2 usbdev5.23_ep83: PM: resume from 0, parent 5-6.3:1.0 still 2 usbdev5.23: PM: resume from 0, parent 5-6.3 still 2 usb 5-6.4: PM: resume from 2, parent 5-6 still 2 usbdev5.24_ep00: PM: resume from 0, parent 5-6.4 still 2 usbhid 5-6.4:1.0: PM: resume from 2, parent 5-6.4 still 2 usbdev5.24_ep81: PM: resume from 0, parent 5-6.4:1.0 still 2 usbdev5.24: PM: resume from 0, parent 5-6.4 still 2 Restarting tasks ... done. ata1.00: configured for UDMA/100 SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA usb 5-6: USB disconnect, address 22 usb 5-6.3: USB disconnect, address 23 BUG: unable to handle kernel paging request at virtual address fffb printing eip: c01823cb *pde = 2067 *pte = Oops: [#1] PREEMPT Modules linked in: hci_usb radeon drm vmnet(P) vmmon(P) nfsd exportfs lockd nfs_acl sunrpc acpi_cpufreq cpufreq_ondemand cpufreq_powersave cpufreq_userspace cpufreq_stats freq_table cpufreq_conservative ac fan button thermal video battery container processor rfcomm l2cap bluetooth cfq_iosched deflate zlib_deflate twofish twofish_common serpent blowfish des cbc ecb blkcipher aes xcbc sha256 sha1 crypto_null af_key af_packet sbp2 usbhid hid pl2303 usbserial pcmcia mousedev snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss ipw2200 snd_pcm ieee80211 ieee80211_crypt snd_timer ohci1394 psmouse firmware_class sdhci mmc_core yenta_socket rsrc_nonstatic ieee1394 serio_raw b44 mii pcmcia_core snd pcspkr soundcore ehci_hcd snd_page_alloc uhci_hcd ahci usbcore intel_agp agpgart sg sr_mod cdrom unix CPU:0 EIP:0060:[]Tainted: P VLI EFLAGS: 00010286 (2.6.21-rc3-git4 #5) EIP is at sysfs_hash_and_remove+0x18/0x111 eax: fff3 ebx: c030b3d4 ecx: edx: fff3 esi: fff3 edi: fff3 ebp: f62af618 esp: f74e5dec ds: 007b es: 007b fs: 00d8 gs: ss: 0068 Process khubd (pid: 1955, ti=f74e4000 task=f74d6a50 task.ti=f74e4000) Stack: c02d15d8 fff3 c0158595 c030b3d4 fff3 fff3 f62af618 c01843d9 c030b3c8 f411f8e0 c0184422 f411f878 0001 f2ca4880 c02005ca f411f8e0 c01fba1f f411f878 0001 f2ca4880 c01fba4e f2ca4880 f8a15d0e Call Trace: [] lookup_one_len+0x4d/0x5c [] remove_files+0x15/0x1e [] sysfs_remove_group+0x40/0x56 [] device_pm_remove+0x1d/0x5a [] device_del+0x167/0x18e [] device_unregister+0x8/0x10 [] destroy_serial+0x80/0xcc [usbserial] [] destroy_serial+0x0/0xcc [usbserial] [] kref_put+0x5f/0x6e [] usb_serial_disconnect+0x81/0xaa [usbserial] [] kref_put+0x5f/0x6e [] usb_unbind_interface+0x2a/0x59 [usbcore] [] __device_release_driver+0x6e/0x8b [] device_release_driver+0x1d/0x32 [] bus_remove_device+0x71/0x81 [] device_del+0x134/0x18e [] usb_disable_device+0x5c/0xbb [usbcore] [] usb_disconnect+0x82/0x104 [usbcore] [] usb_disconnect+0x70/0x104 [usbcore] [] hub_thread+0x30b/0x9db [usbcore] [] schedule+0x47c/0x51f [] autoremove_wake_function+0x0/0x33 [] hub_thread+0x0/0x9db [usbcore] [] kthread+0x9b/0xbf [] kthread+0x0/0xbf [] kernel_thread_helper+0x7/0x10 === Code: 8b 40 08 a8 08 74 08 5b 5e 5f e9 6c ac 0f 00 5b 5e 5f c3 55 57 56 53 83 ec 0c 85 c0 89 44 24 04 89 14 24 0f 84 ed 00 00 00 89 c2 <8b> 40 08 85 c0 0f 84 e0 00 00 00 8b 52 50 83 c0 68 89 54 24 08 EIP: [] sysfs_hash_and_remove+0x18/0x111 SS:ESP 0068:f74e5dec - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Still no improvement on the b0rken usb-serial resume support in -rc*. Today I got this ooops on resume from RAM. Slightly tainted kernel this time (vmware), but not previously on similar crashes. I cannot yet get it to crash on demaind, so you'll just have to live with it this time. All USB was dead until after a reboot this time. pl2303 5-6.3:1.0: PM: resume from 2, parent 5-6.3 still 2 usbdev5.23_ep81: PM: resume from 0, parent 5-6.3:1.0 still 2 usbdev5.23_ep02: PM: resume from 0, parent 5-6.3:1.0 still 2 usbdev5.23_ep83: PM: resume from 0, parent 5-6.3:1.0 still 2 usbdev5.23: PM: resume from 0, parent 5-6.3 still 2 usb 5-6.4: PM: resume from 2, parent 5-6 still 2 usbdev5.24_ep00: PM: resume from 0, parent 5-6.4 still 2 usbhid 5-6.4:1.0: PM: resume from 2, parent 5-6.4 still 2 usbdev5.24_ep81: PM: resume from 0, parent 5-6.4:1.0 still 2 usbdev5.24: PM: resume from 0, parent 5-6.4 still 2 Restarting tasks ... done. ata1.00: configured for UDMA/100 SCSI device sda: 312581808 512-byte hdwr sectors (160042 MB) sda: Write Protect is off sda: Mode Sense: 00 3a 00 00 SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA usb 5-6: USB disconnect, address 22 usb 5-6.3: USB disconnect, address 23 BUG: unable to handle kernel paging request at virtual address fffb printing eip: c01823cb *pde = 2067 *pte = Oops: [#1] PREEMPT Modules linked in: hci_usb radeon drm vmnet(P) vmmon(P) nfsd exportfs lockd nfs_acl sunrpc acpi_cpufreq cpufreq_ondemand cpufreq_powersave cpufreq_userspace cpufreq_stats freq_table cpufreq_conservative ac fan button thermal video battery container processor rfcomm l2cap bluetooth cfq_iosched deflate zlib_deflate twofish twofish_common serpent blowfish des cbc ecb blkcipher aes xcbc sha256 sha1 crypto_null af_key af_packet sbp2 usbhid hid pl2303 usbserial pcmcia mousedev snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss ipw2200 snd_pcm ieee80211 ieee80211_crypt snd_timer ohci1394 psmouse firmware_class sdhci mmc_core yenta_socket rsrc_nonstatic ieee1394 serio_raw b44 mii pcmcia_core snd pcspkr soundcore ehci_hcd snd_page_alloc uhci_hcd ahci usbcore intel_agp agpgart sg sr_mod cdrom unix CPU:0 EIP:0060:[c01823cb]Tainted: P VLI EFLAGS: 00010286 (2.6.21-rc3-git4 #5) EIP is at sysfs_hash_and_remove+0x18/0x111 eax: fff3 ebx: c030b3d4 ecx: edx: fff3 esi: fff3 edi: fff3 ebp: f62af618 esp: f74e5dec ds: 007b es: 007b fs: 00d8 gs: ss: 0068 Process khubd (pid: 1955, ti=f74e4000 task=f74d6a50 task.ti=f74e4000) Stack: c02d15d8 fff3 c0158595 c030b3d4 fff3 fff3 f62af618 c01843d9 c030b3c8 f411f8e0 c0184422 f411f878 0001 f2ca4880 c02005ca f411f8e0 c01fba1f f411f878 0001 f2ca4880 c01fba4e f2ca4880 f8a15d0e Call Trace: [c0158595] lookup_one_len+0x4d/0x5c [c01843d9] remove_files+0x15/0x1e [c0184422] sysfs_remove_group+0x40/0x56 [c02005ca] device_pm_remove+0x1d/0x5a [c01fba1f] device_del+0x167/0x18e [c01fba4e] device_unregister+0x8/0x10 [f8a15d0e] destroy_serial+0x80/0xcc [usbserial] [f8a15c8e] destroy_serial+0x0/0xcc [usbserial] [c01ab1bd] kref_put+0x5f/0x6e [f8a157f7] usb_serial_disconnect+0x81/0xaa [usbserial] [c01ab1bd] kref_put+0x5f/0x6e [f88c7cc8] usb_unbind_interface+0x2a/0x59 [usbcore] [c01fd1a2] __device_release_driver+0x6e/0x8b [c01fd444] device_release_driver+0x1d/0x32 [c01fcbd2] bus_remove_device+0x71/0x81 [c01fb9ec] device_del+0x134/0x18e [f88c654c] usb_disable_device+0x5c/0xbb [usbcore] [f88c2fdb] usb_disconnect+0x82/0x104 [usbcore] [f88c2fc9] usb_disconnect+0x70/0x104 [usbcore] [f88c39c8] hub_thread+0x30b/0x9db [usbcore] [c027ce7a] schedule+0x47c/0x51f [c0126a84] autoremove_wake_function+0x0/0x33 [f88c36bd] hub_thread+0x0/0x9db [usbcore] [c01269ba] kthread+0x9b/0xbf [c012691f] kthread+0x0/0xbf [c0104733] kernel_thread_helper+0x7/0x10 === Code: 8b 40 08 a8 08 74 08 5b 5e 5f e9 6c ac 0f 00 5b 5e 5f c3 55 57 56 53 83 ec 0c 85 c0 89 44 24 04 89 14 24 0f 84 ed 00 00 00 89 c2 8b 40 08 85 c0 0f 84 e0 00 00 00 8b 52 50 83 c0 68 89 54 24 08 EIP: [c01823cb] sysfs_hash_and_remove+0x18/0x111 SS:ESP 0068:f74e5dec - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 15:56 schrieb Mark Lord: Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? Regards Oliver - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Oliver Neukum wrote: Am Montag, 12. März 2007 15:56 schrieb Mark Lord: Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? I don't know anything about any current tree other than the 2.6.21-rc3-git* on kernel.org. Greg hasn't suggested anything for this yet, mostly because he's been busy keeping the 2.6.20.xx point releases sane. Cheers - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 16:13 schrieb Mark Lord: Oliver Neukum wrote: Am Montag, 12. März 2007 15:56 schrieb Mark Lord: Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? I don't know anything about any current tree other than the 2.6.21-rc3-git* on kernel.org. Greg hasn't suggested anything for this yet, mostly because he's been busy keeping the 2.6.20.xx point releases sane. Sorry, try these in the chronological order the names imply. If it still happens, let me know. Regards Oliver --- a/drivers/usb/serial/usb-serial.c 2007-03-05 14:43:20.0 +0100 +++ b/drivers/usb/serial/usb-serial.c 2007-03-05 15:18:53.0 +0100 @@ -99,9 +99,12 @@ continue; *minor = i; + j = 0; dbg(%s - minor base = %d, __FUNCTION__, *minor); - for (i = *minor; (i (*minor + num_ports)) (i SERIAL_TTY_MINORS); ++i) + for (i = *minor; (i (*minor + num_ports)) (i SERIAL_TTY_MINORS); ++i) { serial_table[i] = serial; + serial-port[j++]-number = i; + } spin_unlock(table_lock); return serial; } @@ -848,7 +851,6 @@ port = kzalloc(sizeof(struct usb_serial_port), GFP_KERNEL); if (!port) goto probe_error; - port-number = i + serial-minor; port-serial = serial; spin_lock_init(port-lock); mutex_init(port-mutex); @@ -1035,9 +1037,6 @@ kfree(port-interrupt_out_buffer); } - /* return the minor range that this device had */ - return_serial (serial); - /* free up any memory that we allocated */ for (i = 0; i serial-num_port_pointers; ++i) kfree(serial-port[i]); --- linux-2.6.21-rc1/drivers/usb/serial/usb-serial.c.alt 2007-02-21 05:32:30.0 +0100 +++ linux-2.6.21-rc1/drivers/usb/serial/usb-serial.c 2007-02-26 15:32:50.0 +0100 @@ -826,7 +826,6 @@ num_ports = type-num_ports; } - serial-minor = minor; serial-num_ports = num_ports; serial-num_bulk_in = num_bulk_in; serial-num_bulk_out = num_bulk_out; @@ -980,6 +979,7 @@ dev_err(interface-dev, No more free serial devices\n); goto probe_error; } + serial-minor = minor; /* register all of the individual ports with the driver core */ for (i = 0; i num_ports; ++i) {
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
On Mon, Mar 12, 2007 at 11:13:59AM -0400, Mark Lord wrote: Oliver Neukum wrote: Am Montag, 12. M??rz 2007 15:56 schrieb Mark Lord: Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? I don't know anything about any current tree other than the 2.6.21-rc3-git* on kernel.org. And all of those fixes Oliver is referring to should be in anything older than 2.6.21-rc3-git6. So we have a different problem here than what people were seeing before. Greg hasn't suggested anything for this yet, mostly because he's been busy keeping the 2.6.20.xx point releases sane. No, I didn't suggest anything because I thought it was going to be fixed with Oliver's patches :( thanks, greg k-h - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
On Mon, Mar 12, 2007 at 10:56:45AM -0400, Mark Lord wrote: Still no improvement on the b0rken usb-serial resume support in -rc*. Today I got this ooops on resume from RAM. Slightly tainted kernel this time (vmware), but not previously on similar crashes. I cannot yet get it to crash on demaind, so you'll just have to live with it this time. All USB was dead until after a reboot this time. What type of usb-serial device do you have plugged in? Does userspace have it open when you suspend/resume? Is vmware accessing the device? thanks, greg k-h - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 16:29 schrieb Greg KH: On Mon, Mar 12, 2007 at 11:13:59AM -0400, Mark Lord wrote: Oliver Neukum wrote: Am Montag, 12. M??rz 2007 15:56 schrieb Mark Lord: Still no improvement on the b0rken usb-serial resume support in -rc*. Have you applied the fixes in Greg's current tree? I don't know anything about any current tree other than the 2.6.21-rc3-git* on kernel.org. And all of those fixes Oliver is referring to should be in anything older than 2.6.21-rc3-git6. So we have a different problem here than what people were seeing before. Older than 2.6.21-rc3-git6? Did you throw them out? Why? Regards Oliver - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Greg KH wrote: .. And all of those fixes Oliver is referring to should be in anything older than 2.6.21-rc3-git6. Did you mean, anything *newer* than -git6 ?? This last crash was with -git4. I'm building -git7 now. Does userspace have it open when you suspend/resume? For the ooops I just posted, yes, I may have left Linux ckermit running on the serial port before the suspend. We shouldn't be oopsing regardless, but perhaps that could help narrow things down a bit. I'll also retest the simple plug-unplug-oops crash reported earlier, once I have rc3-git7 up and running. Cheers - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Mark Lord wrote: Greg KH wrote: Does userspace have it open when you suspend/resume? For the ooops I just posted, yes, I may have left Linux ckermit running on the serial port before the suspend. Here's a retest under linux-2.6.21-rc3-git7, doing suspend/resume (RAM) with ckermit open on the serial port. (LONG, Ooops at the bottom). 12:06:54 kernel: Stopping tasks ... done. 12:06:54 kernel: Suspending console(s) 12:06:54 kernel: pl2303 5-5.3:1.0: no suspend for driver pl2303? 12:06:54 kernel: ACPI: PCI interrupt for device :03:01.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :03:00.0 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1f.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1e.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.7 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.3 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.2 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.1 disabled 12:06:54 kernel: ACPI: PCI interrupt for device :00:1d.0 disabled 12:06:54 kernel: Intel machine check architecture supported. 12:06:54 kernel: Intel machine check reporting enabled on CPU#0. 12:06:54 kernel: Back to C! 12:06:54 kernel: PM: Writing back config space on device :00:01.0 at offset 7 (was 2000d0d0, writing d0d0) 12:06:54 kernel: PM: Writing back config space on device :00:01.0 at offset 3 (was 1, writing 10010) 12:06:54 kernel: PCI: Setting latency timer of device :00:01.0 to 64 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.0[A] - GSI 16 (level, low) - IRQ 16 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.0 to 64 12:06:54 kernel: usb usb1: root hub lost power or was reset 12:06:54 kernel: PCI: Enabling device :00:1d.1 ( - 0001) 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.1[B] - GSI 17 (level, low) - IRQ 18 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.1 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1d.1 at offset f (was 200, writing 20a) 12:06:54 kernel: PM: Writing back config space on device :00:1d.1 at offset 8 (was 1, writing bf61) 12:06:54 kernel: usb usb2: root hub lost power or was reset 12:06:54 kernel: PCI: Enabling device :00:1d.2 ( - 0001) 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.2[C] - GSI 18 (level, low) - IRQ 19 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.2 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1d.2 at offset f (was 300, writing 309) 12:06:54 kernel: PM: Writing back config space on device :00:1d.2 at offset 8 (was 1, writing bf41) 12:06:54 kernel: usb usb3: root hub lost power or was reset 12:06:54 kernel: PCI: Enabling device :00:1d.3 ( - 0001) 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.3[D] - GSI 19 (level, low) - IRQ 17 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.3 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1d.3 at offset f (was 400, writing 407) 12:06:54 kernel: PM: Writing back config space on device :00:1d.3 at offset 8 (was 1, writing bf21) 12:06:54 kernel: usb usb4: root hub lost power or was reset 12:06:54 kernel: ACPI: PCI Interrupt :00:1d.7[A] - GSI 16 (level, low) - IRQ 16 12:06:54 kernel: PCI: Setting latency timer of device :00:1d.7 to 64 12:06:54 kernel: usb usb5: root hub lost power or was reset 12:06:54 kernel: ehci_hcd :00:1d.7: debug port 1 12:06:54 kernel: PCI: cache line size of 32 is not supported by device :00:1d.7 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 9 (was 10001, writing 8bf18801) 12:06:54 NetworkManager: information^ISWITCH: terminating current connection 'eth0' because it's no longer valid. 12:06:54 NetworkManager: information^IDeactivating device eth0. 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 8 (was 0, writing dfc0dfc0) 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 7 (was 2280e0f0, writing 22802020) 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 6 (was 20030300, writing 20070300) 12:06:54 kernel: PM: Writing back config space on device :00:1e.0 at offset 1 (was 15, writing 100107) 12:06:54 kernel: PCI: Setting latency timer of device :00:1e.0 to 64 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset f (was 100, writing 10b) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 7 (was 0, writing dd00) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 6 (was 0, writing de00) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 5 (was 1, writing ec41) 12:06:54 kernel: PM: Writing back config space on device :00:1e.2 at offset 4 (was 1, writing ed01) 12:06:54 kernel: PM:
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
On Mon, Mar 12, 2007 at 12:03:27PM -0400, Mark Lord wrote: Greg KH wrote: .. And all of those fixes Oliver is referring to should be in anything older than 2.6.21-rc3-git6. Did you mean, anything *newer* than -git6 ?? Oops, yes, I ment newer, sorry. This last crash was with -git4. I'm building -git7 now. Ah, ok, there's still hope, Oliver's patches didn't go into -git4. Does userspace have it open when you suspend/resume? For the ooops I just posted, yes, I may have left Linux ckermit running on the serial port before the suspend. We shouldn't be oopsing regardless, but perhaps that could help narrow things down a bit. I'll also retest the simple plug-unplug-oops crash reported earlier, once I have rc3-git7 up and running. thanks, but again, which usb-serial device do you have running here? greg k-h - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
..and here is a retest with linux-2.6.21-rc3-git7 of simply plug/wait/unplug a USB hub/serial/parallel/PS2 gizmo. I have two of these, with different serial port hardware in each, and doing this with either of them produces an ooops. 12:12:02 kernel: usb 4-2: new full speed USB device using uhci_hcd and address 2 12:12:02 kernel: usb 4-2: configuration #1 chosen from 1 choice 12:12:02 kernel: hub 4-2:1.0: USB hub found 12:12:02 kernel: hub 4-2:1.0: 5 ports detected 12:12:02 kernel: usb 4-2.3: new full speed USB device using uhci_hcd and address 3 12:12:02 kernel: usb 4-2.3: configuration #1 chosen from 1 choice 12:12:02 kernel: input: MTC PS/2 to USB converter as /class/input/input9 12:12:02 kernel: input: USB HID v1.10 Keyboard [MTC PS/2 to USB converter] on usb-:00:1d.3-2.3 12:12:02 kernel: input: MTC PS/2 to USB converter as /class/input/input10 12:12:02 kernel: input: USB HID v1.10 Mouse [MTC PS/2 to USB converter] on usb-:00:1d.3-2.3 12:12:02 kernel: usb 4-2.4: new full speed USB device using uhci_hcd and address 4 12:12:03 kernel: usb 4-2.4: configuration #1 chosen from 1 choice 12:12:03 kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for MCT U232 12:12:03 kernel: usb 4-2.5: new full speed USB device using uhci_hcd and address 5 12:12:03 kernel: usb 4-2.5: configuration #1 chosen from 1 choice 12:12:03 kernel: mct_u232 4-2.4:1.0: MCT U232 converter detected 12:12:03 kernel: usb 4-2.4: MCT U232 converter now attached to ttyUSB2 12:12:03 kernel: usbcore: registered new interface driver mct_u232 12:12:03 kernel: drivers/usb/serial/mct_u232.c: Magic Control Technology USB-RS232 converter driver z2.0 12:12:03 kernel: drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 5 if 0 alt 1 proto 2 vid 0x0711 pid 0x0300 12:12:03 kernel: usbcore: registered new interface driver usblp 12:12:03 kernel: drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver 12:12:06 kernel: usb 4-2: USB disconnect, address 2 12:12:06 kernel: usb 4-2.3: USB disconnect, address 3 12:12:06 kernel: usb 4-2.4: USB disconnect, address 4 12:12:06 kernel: mct_u232 ttyUSB2: MCT U232 converter now disconnected from ttyUSB2 12:12:06 kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 0168 12:12:06 kernel: printing eip: 12:12:06 kernel: f8ca6542 12:12:06 kernel: *pde = 12:12:06 kernel: Oops: [#2] 12:12:06 kernel: PREEMPT 12:12:06 kernel: Modules linked in: usblp mct_u232 radeon drm nfsd exportfs lockd nfs_acl sunrpc acpi_cpufreq cpufreq_ondemand cpufreq_powersave cpufreq_userspace cpufreq_stats freq_table cpufreq_conservative ac fan button thermal video battery container processor rfcomm l2cap bluetooth cfq_iosched deflate zlib_deflate twofish twofish_common serpent blowfish des cbc ecb blkcipher aes xcbc sha256 sha1 crypto_null af_key af_packet sbp2 usbhid hid pl2303 usbserial mousedev pcmcia snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer ipw2200 snd ieee80211 ieee80211_crypt ohci1394 serio_raw psmouse soundcore snd_page_alloc pcspkr sdhci firmware_class ahci ieee1394 yenta_socket rsrc_nonstatic pcmcia_core ehci_hcd mmc_core b44 mii uhci_hcd usbcore intel_agp agpgart sg sr_mod cdrom unix 12:12:06 kernel: CPU:0 12:12:06 kernel: EIP:0060:[f8ca6542]Not tainted VLI 12:12:06 kernel: EFLAGS: 00010206 (2.6.21-rc3-git7 #7) 12:12:06 kernel: EIP is at mct_u232_shutdown+0x39/0x65 [mct_u232] 12:12:06 kernel: eax: 0001 ebx: f7649cc0 ecx: c20df5c0 edx: 0078 12:12:06 kernel: esi: edi: f7649cc0 ebp: f5c45c18 esp: f7437e38 12:12:06 kernel: ds: 007b es: 007b fs: 00d8 gs: ss: 0068 12:12:06 kernel: Process khubd (pid: 1949, ti=f7436000 task=f7d8da10 task.ti=f7436000) 12:12:06 kernel: Stack: f6c2c478 f6c2c478 f7649cc0 0001 f7649cc0 f8a29ca1 f7649cc0 12:12:06 kernel:f7649cc0 f5c45c18 f88c5a43 f7649cf4 f8a29c18 c01ab1b5 0202 12:12:06 kernel:f6c2c400 f7649cc0 f6c2c400 f7649cc4 f8a297f7 c01ab1b5 0001 f5abec67 12:12:06 kernel: Call Trace: 12:12:06 kernel: [f8a29ca1] destroy_serial+0x89/0x122 [usbserial] 12:12:06 kernel: [f88c5a43] usb_kill_urb+0x4e/0xcb [usbcore] 12:12:06 kernel: [f8a29c18] destroy_serial+0x0/0x122 [usbserial] 12:12:06 kernel: [kref_put+95/110] kref_put+0x5f/0x6e 12:12:06 kernel: [f8a297f7] usb_serial_disconnect+0x81/0xaa [usbserial] 12:12:06 kernel: [kref_put+95/110] kref_put+0x5f/0x6e 12:12:06 kernel: [f88c7ca8] usb_unbind_interface+0x2a/0x59 [usbcore] 12:12:06 kernel: [__device_release_driver+110/139] __device_release_driver+0x6e/0x8b 12:12:06 kernel: [device_release_driver+29/50] device_release_driver+0x1d/0x32 12:12:06 kernel: [bus_remove_device+113/129] bus_remove_device+0x71/0x81 12:12:06 kernel: [device_del+308/405] device_del+0x134/0x195 12:12:06 kernel: [f88c652d] usb_disable_device+0x5c/0xbb [usbcore] 12:12:06 kernel: [f88c2f8d] usb_disconnect+0x82/0x104 [usbcore] 12:12:06
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Greg KH wrote: thanks, but again, which usb-serial device do you have running here? That's in the oops log: pl2303 for the ckermit test. For the other oops (plug/wait/unplug a multi-func hub), one of the hubs also has a pl2303, the other has an mct_u232. Cheers -ml - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Mark Lord wrote: ..and here is a retest with linux-2.6.21-rc3-git7 of simply plug/wait/unplug a USB hub/serial/parallel/PS2 gizmo. I have two of these, with different serial port hardware in each, and doing this with either of them produces an ooops. ... 12:12:06 kernel: mct_u232 ttyUSB2: MCT U232 converter now disconnected from ttyUSB2 12:12:06 kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 0168 12:12:06 kernel: printing eip: 12:12:06 kernel: f8ca6542 12:12:06 kernel: *pde = 12:12:06 kernel: Oops: [#2] Okay, from that part (above), the problem is obvious: in that the MCT U232 converter now disconnected appears, and then we continue to try and call the driver's method.. Oops! The hack patch below fixes this, but it really just hides whatever the real problem underneath was: Signed-off-by: Mark Lord [EMAIL PROTECTED] --- --- linux/include/linux/usb/serial.h.orig 2007-03-12 12:18:48.0 -0400 +++ linux/include/linux/usb/serial.h2007-03-12 12:18:23.0 -0400 @@ -99,11 +99,19 @@ /* get and set the port private data pointer helper functions */ static inline void *usb_get_serial_port_data (struct usb_serial_port *port) { + if (!port) { + WARN_ON(1); + return NULL; + } return dev_get_drvdata(port-dev); } static inline void usb_set_serial_port_data (struct usb_serial_port *port, void *data) { + if (!port) { + WARN_ON(1); + return; + } dev_set_drvdata(port-dev, data); } - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 17:11 schrieb Mark Lord: Mark Lord wrote: Greg KH wrote: Does userspace have it open when you suspend/resume? For the ooops I just posted, yes, I may have left Linux ckermit running on the serial port before the suspend. Here's a retest under linux-2.6.21-rc3-git7, doing suspend/resume (RAM) with ckermit open on the serial port. I am looking at it. Regards Oliver - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Mark Lord wrote: Okay, from that part (above), the problem is obvious: in that the MCT U232 converter now disconnected appears, and then we continue to try and call the driver's method.. Oops! The hack patch below fixes this, but it really just hides whatever the real problem underneath was: Signed-off-by: Mark Lord [EMAIL PROTECTED] --- --- linux/include/linux/usb/serial.h.orig2007-03-12 12:18:48.0 -0400 +++ linux/include/linux/usb/serial.h2007-03-12 12:18:23.0 -0400 @@ -99,11 +99,19 @@ /* get and set the port private data pointer helper functions */ static inline void *usb_get_serial_port_data (struct usb_serial_port *port) { +if (!port) { +WARN_ON(1); +return NULL; +} return dev_get_drvdata(port-dev); } static inline void usb_set_serial_port_data (struct usb_serial_port *port, void *data) { +if (!port) { +WARN_ON(1); +return; +} dev_set_drvdata(port-dev, data); } Mmmm.. and that same hack also prevents the Oops seen when I leave ckermit running during suspend/resume(RAM), giving me this BUG() report now instead: 12:29:51 kernel: pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0 12:29:51 kernel: BUG: at include/linux/usb/serial.h:103 usb_get_serial_port_data() 12:29:51 kernel: [f8a03254] pl2303_shutdown+0x95/0xb5 [pl2303] 12:29:51 kernel: [f8a23ca1] destroy_serial+0x89/0x122 [usbserial] 12:29:51 kernel: [f8a23c18] destroy_serial+0x0/0x122 [usbserial] 12:29:51 kernel: [kref_put+95/110] kref_put+0x5f/0x6e 12:29:51 kernel: [tty_fasync+60/180] tty_fasync+0x3c/0xb4 12:29:51 kernel: [release_dev+484/1496] release_dev+0x1e4/0x5d8 12:29:51 kernel: [find_get_page+21/69] find_get_page+0x15/0x45 12:29:51 kernel: [filemap_nopage+385/726] filemap_nopage+0x181/0x2d6 12:29:51 kernel: [pty_write+43/53] pty_write+0x2b/0x35 12:29:51 kernel: [getnstimeofday+48/216] getnstimeofday+0x30/0xd8 12:29:51 kernel: [rb_insert_color+74/173] rb_insert_color+0x4a/0xad 12:29:51 kernel: [enqueue_hrtimer+256/268] enqueue_hrtimer+0x100/0x10c 12:29:51 kernel: [tty_release+15/24] tty_release+0xf/0x18 12:29:51 kernel: [__fput+150/336] __fput+0x96/0x150 12:29:51 kernel: [filp_close+79/86] filp_close+0x4f/0x56 12:29:51 kernel: [sys_close+117/183] sys_close+0x75/0xb7 12:29:51 kernel: [sysenter_past_esp+95/133] sysenter_past_esp+0x5f/0x85 12:29:51 kernel: === - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [BUG} usb-serial regression in 2.6.21-rc2-git3
Am Montag, 12. März 2007 17:50 schrieb Mark Lord: Mark Lord wrote: Okay, from that part (above), the problem is obvious: in that the MCT U232 converter now disconnected appears, and then we continue to try and call the driver's method.. Oops! The hack patch below fixes this, but it really just hides whatever the real problem underneath was: static void destroy_serial(struct kref *kref): /* the ports are cleaned up and released in port_release() */ for (i = 0; i serial-num_ports; ++i) if (serial-port[i]-dev.parent != NULL) { device_unregister(serial-port[i]-dev); serial-port[i] = NULL; } if (serial-type-shutdown) serial-type-shutdown(serial); IMHO shutdown() is using serial-port[] and bombs. Could you reverse the order here? Regards Oliver - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/