On Sat, 20 Mar 2004, Sean Neakums wrote: > Below is the SysRq-T output, attached is the strace output. > > Mar 20 20:36:53 revox kernel: gphoto2 D E8D67E64 0 927 926 > (NOTLB) > Mar 20 20:36:53 revox kernel: e8d67e48 00000082 c0405540 e8d67e64 ee8ab960 00000000 > 00000000 c04475a0 > Mar 20 20:36:53 revox kernel: ef4f8a74 e8eb6580 000084d7 90320016 00000063 > e8dd2980 e8dd2b30 e8d67000 > Mar 20 20:36:53 revox kernel: e8d67000 e8d67ecc e8d67e9c c0118679 00000000 > e8dd2980 c01183d0 00000000 > Mar 20 20:36:53 revox kernel: Call Trace: > Mar 20 20:36:53 revox kernel: [wait_for_completion+153/272] > wait_for_completion+0x99/0x110 > Mar 20 20:36:53 revox kernel: [default_wake_function+0/16] > default_wake_function+0x0/0x10 > Mar 20 20:36:53 revox kernel: [default_wake_function+0/16] > default_wake_function+0x0/0x10 > Mar 20 20:36:53 revox kernel: [device_del+105/160] device_del+0x69/0xa0 > Mar 20 20:36:53 revox kernel: [usb_disable_device+231/320] > usb_disable_device+0xe7/0x140 > Mar 20 20:36:53 revox kernel: [usb_set_configuration+157/672] > usb_set_configuration+0x9d/0x2a0 > Mar 20 20:36:53 revox kernel: [do_notify_parent+319/1440] > do_notify_parent+0x13f/0x5a0 > Mar 20 20:36:53 revox kernel: [usbdev_ioctl+358/816] usbdev_ioctl+0x166/0x330 > Mar 20 20:36:53 revox kernel: [recalc_task_prio+140/416] recalc_task_prio+0x8c/0x1a0 > Mar 20 20:36:53 revox kernel: [schedule+95/1536] schedule+0x5f/0x600 > Mar 20 20:36:53 revox kernel: [file_ioctl+103/416] file_ioctl+0x67/0x1a0 > Mar 20 20:36:53 revox kernel: [sys_ioctl+264/608] sys_ioctl+0x108/0x260 > Mar 20 20:36:53 revox kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Okay, this is pretty clear. It does indeed look like you're running across the same problem as Matthias Andree. Try out the patch below. Alan Stern ===== devio.c 1.88 vs edited ===== --- 1.88/drivers/usb/core/devio.c Wed Mar 17 14:16:46 2004 +++ edited/drivers/usb/core/devio.c Fri Mar 19 10:41:57 2004 @@ -753,7 +753,11 @@ if (get_user(u, (unsigned int __user *)arg)) return -EFAULT; - return usb_set_configuration(ps->dev, u); + if (ps->dev->actconfig && + ps->dev->actconfig->desc.bConfigurationValue == u) + return usb_reset_configuration(ps->dev); + else + return usb_set_configuration(ps->dev, u); } static int proc_submiturb(struct dev_state *ps, void __user *arg) ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel