Am Donnerstag, 19. April 2007 12:50 schrieb Thomas Brinker: > Hi! > > We are facing here kernel oopes in the USB-Gadget driver serial. > > Quiet seldomly the kernel oopses during heavy load on the serial line. > > The pc value of the Oops points not always to the same function, but always > near to places where the list &dev->dev_req_list is in use. So we got the > idea that somehow this list was corrupted. > > By further investigation we found that in callback-funktion gs_write_complete > the list is only protected with spin_lock/spin_unlock. > To my knowledge the callback is most time called in interrupt. But it is also > called outside of interrupt and then there would be no proctection from race > conditions.
If this is so, you need to use spin_(un)lock_irqsave/restore. Try that. Regards Oliver ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel