On Thu, 17 Aug 2006, Peter Oehry wrote:

> > > Without the goto __err_val I get nearly every time a deadlock.
> > 
> > That shouldn't happen.  Can you find out what tasks were deadlocked and 
> > where?
> 
> Which logs, or instruments do I have to find this out?

Never mind.  Probably it will start to work okay once we solve the main 
problem.

> > I don't understand why this happened.  It looks like the arguments passed 
> > to usb_set_configuration are garbage.
> > 
> > Can you add a printk line at the start of the driver_set_config_work 
> > routine?  Have it display the values of req, req->udev, and req->config.
> > 
> 
> It look quite the same. The lnie after "Switching to Config #2" was
> printed in the usb_driver_set_configuration() function and shows the
> Value of req req->dev and config.
> 
> usb 4-2: new full speed USB device using uhci_hcd and address 2
> usb 4-2: configuration #1 chosen from 2 choices
> Switching to Config #2
> SetConfig: req:ebdd13c0 dev:f77c8c00 config:2

So far so good.  Could you add a similar printk line to the 
driver_set_config_work() function, just to make sure the values in the 
two routines are exactly the same?

> snd-usb-audio: probe of 4-2:1.0 failed with error -5
> BUG: unable to handle kernel paging request at virtual address 69766725
>  printing eip:
> c03cdec8
> *pde = 00000000
> Oops: 0000 [#1]
> PREEMPT SMP 
> Modules linked in: snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event 
> snd_seq snd_usb_audio snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep radeon 
> drm i2c_i801 ehci_hcd usbhid uhci_hcd intel_agp agpgart rtc raid0 
> snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd snd_page_alloc 
> realtime w83627hf hwmon_vid i2c_isa bttv video_buf ir_common compat_ioctl32 
> btcx_risc lirc_i2c lirc_dev msp3400 saa7115 tda9887 tuner v4l2_common ivtv 
> firmware_class i2c_algo_bit v4l1_compat tveeprom i2c_core videodev md_mod
> CPU:    0
> EIP:    0060:[<c03cdec8>]    Not tainted VLI
> EFLAGS: 00010296   (2.6.17-gentoo-r4 #3) 
> EIP is at usb_set_configuration+0x1d/0x493

I still don't get it.

I can't tell exactly where the oops occurs, but it's obviously somewhere
near the start of usb_set_configuration().  Maybe you should add some
printk lines to that routine also.

First print the values of dev and configuration.  Then (in a separate
prinktk) print dev->descriptor.bNumConfigurations.  Then (in a third
printk) print dev->config[0].desc.bConfigurationValue and
dev->config[1].desc.bConfigurationValue.  That should tell us where things
are going wrong.

Note that those new printk's will generate output for all your other USB 
devices, as well as for all the root hubs.  That's okay, we only care 
about what happens when the sound driver is probed.

Alan Stern


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to