A dirty and quick fix, I haven't figured out the root cause though.
in file_storage.c, add some delay in the fsg_main_thread function as following: for(i=0;i<5000;i++); //adding delay spin_lock_irq(&fsg->lock); if (!exception_in_progress(fsg)) fsg->state = FSG_STATE_STATUS_PHASE; spin_unlock_irq(&fsg->lock); It works on my Davinci EVM board. The Mass storage drive pops up 2-3 seconds after plugging the usb cable. On 3/11/07, Yu Luo <[EMAIL PROTECTED]> wrote:
I saw the thread on this topic in Nov 2006 : http://linux.omap.com/pipermail/davinci-linux-open-source/2006-November/001552.html Can someone kindly advise if it is solved and how it is fixed? I am having the same problem with my Davinci EVM board to work as a USB Mass storage device. I followed the procedure in the thread, and It takes more than 10 minutes for the PC to recognize the device. I have tried 2.6.10 kernel shipped with the EVM board and the lastest 2.6.20 kernel from git. Both of them need a long time to recognize the device. I noticed that the g_ep0.c of kernel 2.6.20 does set MGC_M_TXCSR_CLRDATATOG when setting the MGC_M_TXCSR_P_SENDSTALL as Dave advised. Thanks, Yu
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
