Re: Kernel Oopses in serial Gadget
Oliver Neukum <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Organization | Novell |
| Message-ID | <[email protected]> |
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/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel