On Tue, 3 Feb 2009, Jean-Francois Moine wrote: > > Perhaps we also need to do what Adam suggested yesterday, and add a > > call to destroy_urbs() in gspca_disconnect()? > > Surely not! The destroy_urbs() must be called at the right time, i.e. > on close(). Theodore was pointing out that destroy_urbs() must also be called during disconnect. If a camera is unplugged while it is in use then waiting until close() is no good -- it will cause destroy_urbs() to pass a stale pointer to usb_buffer_free(). That's the reason for the oops. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html