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

Reply via email to