Re: OOPS in usb_submit_urb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 20 May 2011, Mikael Abrahamsson wrote:

> On Fri, 20 May 2011, Mikael Abrahamsson wrote:
> 
> > On Fri, 20 May 2011, Oliver Neukum wrote:
> >
> >> Had you unplugged your modem?
> >
> > I had nothing plugged into any external USB port, so the USB device that 
> > might have been involved wasn't physically removed.
> >
> > The internal bluetooth, 3G modem and webcam all show up as USB devices 
> > though:
> >
> > Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 004 Device 002: ID 0a5c:2145 Broadcom Corp. Bluetooth with Enhanced Data 
> > Rate II
> > Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> > Bus 002 Device 002: ID 0bdb:1900 Ericsson Business Mobile Networks BV F3507g 
> > Mobile Broadband Module
> > Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> > Bus 001 Device 003: ID 17ef:480c Lenovo
> > Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> 
> I looked into my dmesg now after starting the computer (I don't remember 
> having anything like this before when I was running 2.6.35 (ubuntu 10.10):
> 
> [  587.894446] usb 2-4: USB disconnect, address 2
> [  587.895851] cdc_ether 2-4:1.7: wwan0: unregister 'cdc_ether' usb-0000:00:1d.7-4, Mobile Broadband Network Device
> [  588.188063] usb 2-4: new high speed USB device using ehci_hcd and address 3
> [  588.410672] cdc_acm 2-4:1.1: ttyACM0: USB ACM device
> [  588.416545] cdc_acm 2-4:1.3: ttyACM1: USB ACM device
> [  588.422107] cdc_wdm 2-4:1.5: cdc-wdm0: USB WDM device
> [  588.424467] cdc_wdm 2-4:1.6: cdc-wdm1: USB WDM device
> [  588.429437] cdc_ether 2-4:1.7: wwan0: register 'cdc_ether' at usb-0000:00:1d.7-4, Mobile Broadband Network Device, 02:80:37:ec:02:00
> [  588.434923] cdc_acm 2-4:1.9: ttyACM2: USB ACM device
> [  589.554753] usb 2-4: USB disconnect, address 3
> [  589.562198] cdc_ether 2-4:1.7: wwan0: unregister 'cdc_ether' usb-0000:00:1d.7-4, Mobile Broadband Network Device
> [  589.584545] tty_port_close_start: tty->count = 1 port count = 0.
> [  589.584983] tty_port_close_start: tty->count = 1 port count = 0.
> [  589.585274] tty_port_close_start: tty->count = 1 port count = 0.
> [  589.585552] tty_port_close_start: tty->count = 1 port count = 0.
> [  589.860298] usb 2-4: new high speed USB device using ehci_hcd and address 4
> [  590.420075] usb 2-4: device not accepting address 4, error -71
> [  590.532090] usb 2-4: new high speed USB device using ehci_hcd and address 5
> [  590.755796] cdc_acm 2-4:1.1: ttyACM0: USB ACM device
> [  590.761918] cdc_acm 2-4:1.3: ttyACM1: USB ACM device
> [  590.767232] cdc_wdm 2-4:1.5: cdc-wdm0: USB WDM device
> [  590.769715] cdc_wdm 2-4:1.6: cdc-wdm1: USB WDM device
> [  590.774679] cdc_ether 2-4:1.7: wwan0: register 'cdc_ether' at usb-0000:00:1d.7-4, Mobile Broadband Network Device, 02:80:37:ec:02:00
> [  590.781154] cdc_acm 2-4:1.9: ttyACM2: USB ACM device
> [  591.664047] usb 2-4: USB disconnect, address 5
> [  591.665528] cdc_ether 2-4:1.7: wwan0: unregister 'cdc_ether' usb-0000:00:1d.7-4, Mobile Broadband Network Device
> [  591.964103] usb 2-4: new high speed USB device using ehci_hcd and address 6
> [  592.188030] cdc_acm 2-4:1.1: ttyACM0: USB ACM device
> [  592.194120] cdc_acm 2-4:1.3: ttyACM1: USB ACM device
> [  592.199583] cdc_wdm 2-4:1.5: cdc-wdm0: USB WDM device
> [  592.202066] cdc_wdm 2-4:1.6: cdc-wdm1: USB WDM device
> [  592.206864] cdc_ether 2-4:1.7: wwan0: register 'cdc_ether' at usb-0000:00:1d.7-4, Mobile Broadband Network Device, 02:80:37:ec:02:00
> [  592.211881] cdc_acm 2-4:1.9: ttyACM2: USB ACM device
> [ 1234.462515] usb 2-4: USB disconnect, address 6
> [ 1234.463919] cdc_ether 2-4:1.7: wwan0: unregister 'cdc_ether' usb-0000:00:1d.7-4, Mobile Broadband Network Device
> [ 1234.748301] usb 2-4: new high speed USB device using ehci_hcd and address 7
> [ 1234.969086] cdc_acm 2-4:1.1: ttyACM0: USB ACM device
> [ 1234.974948] cdc_acm 2-4:1.3: ttyACM1: USB ACM device
> [ 1234.980403] cdc_wdm 2-4:1.5: cdc-wdm0: USB WDM device
> [ 1234.982888] cdc_wdm 2-4:1.6: cdc-wdm1: USB WDM device
> [ 1234.987685] cdc_ether 2-4:1.7: wwan0: register 'cdc_ether' at usb-0000:00:1d.7-4, Mobile Broadband Network Device, 02:80:37:ec:02:00
> [ 1234.992946] cdc_acm 2-4:1.9: ttyACM2: USB ACM device

For reference, in case it helps with your debugging, the instruction
dump in the oops picture shows that the invalid memory reference
occurred in this line of usb_submit_urb():

	xfertype = usb_endpoint_type(&ep->desc);

Evidently ep points to memory that has been deallocated.  It looks like 
acm_port_down() called acm_set_control() when it shouldn't have, 
sending an URB to an endpoint in an interface that the driver no longer 
owned.

Given the use of open_mutex, I don't see how this could have happened.  
But somehow it did.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux