Re: [linux-usb-devel] USB deadlock after resume



On Wed, 21 Nov 2007, Markus Rechberger wrote:

it's not just usb_set_interface that hangs actually.
It seems to hang at

wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0);

in drivers/usb/core/urb.c after resuming. I disabled access to the usb
subsystem in the uvc driver, although connecting any other usb storage
fails too, just at the same point.

Which URB is usb_kill_urb() called for?


it's the usb_control_message which calls usb_kill_urb if I haven't got
it wrong. (if you're looking for some other information please let me
know)
Although, I got a bit further with it. The error seems to happen
earlier already.
If I load the driver, and do not access the device after suspending
all usb_control commands fail with -71 eproto.

That's very strange. Getting -71 errors is understandable; it
indicates that the device can't handle being suspended. But the
wait_event() line still shouldn't hang. If it does, it indicates that
there's something wrong with the USB host controller, not just the
device.

Can you try testing this on a different sort of computer?

Alan Stern

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



Relevant Pages

  • My USB drive Freeze problem is old, and unsolved!
    ... hung / went into hang mode when I copied from a Maxtor USB 2 3000LE external ... other than telling me I have a faulty USB drive. ... Western Digital Disk in USB Drive Kit --> Freeze Up ... could it be a Linux driver problem? ...
    (alt.os.linux.suse)
  • umount /proc/bus/usb/ && modprobe -r usbcore??
    ... packages from Sid & compile my kernels from debian sources which I ... In recent weeks something has happened that makes suspending ... I have no usb devices plugged in and I can't detect ANY differences ... not able to do this with usbcore; ...
    (Debian-User)
  • Re: [linux-usb-devel] USB deadlock after resume
    ... usb subsystem in the uvc driver, ... If I load the driver, and do not access the device after suspending ... (I'm looking for races in the uvc driver at the moment). ...
    (Linux-Kernel)
  • USB devices not working after APM suspend
    ... state, the pcmcia nic is brought back, but the USB devices aren't. ... suspending instead ... PCI: Found IRQ 9 for device 0000:00:07.2 ...
    (Debian-User)
  • Re: Flames over -- Re: Which is simpler?
    ... It seems to follow from your discussion that if I have a mounted filesystem ... on a USB device and I suspend to disk, I can lose data unless the filesystem ... The safest thing is to unmount all USB-based filesystems before suspending ...
    (Linux-Kernel)