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