usb gadget 写大文件时出错

发布于 2022-09-26 13:13:19 字数 2380 浏览 19 评论 0

S3C2440 + Linux 2.6.18.2 ,当PC向USB DEVCIVE写大文件时(10M以上),在传输过程中会出现在以下错误信息

do_write sleep_thread error
g_file_storage gadget: full speed config #1
g_file_storage gadget: full speed config #1
g_file_storage gadget: full speed config #1
g_file_storage gadget: full speed config #1

即在file_storage.c文件中出错,
if ((rc = sleep_thread(fsg)) != 0)        
{
           printk("do_write sleep_thread error\n";
           return rc;
}
返回 rc = EINTR
估计在 sleep_thread 函数中没有 唤醒 线程的信号, 导致USB重新配置,才出现
g_file_storage gadget: full speed config #1
这样的信息??对吗??有人遇到这样的问题吗,应如何修改?谢谢!!!

-------------------------------------------------------------
sleep_thread函数:

static int sleep_thread(struct fsg_dev *fsg)
{
        int        rc = 0;

        // 等待直到有信号触发,或者我们唤醒
     for (;
       {
        try_to_freeze();
        set_current_state(TASK_INTERRUPTIBLE);
        if (signal_pending(current))
                {
                rc = -EINTR;
                break;
        }
        if (fsg->thread_wakeup_needed)
                {
                break;
        }
        schedule();
        }

        __set_current_state(TASK_RUNNING);
        fsg->thread_wakeup_needed = 0;
        return rc;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

淡莣 2022-10-03 13:13:19

我的也是,拷贝小文件时很正常,拷贝大文件时老出现类似错误:如下
无法复制文件:路径太深
在努力修改驱动中,多多讨论哦,如果那位解决了,帮忙告诉一声

[ 本帖最后由 zhongtianhua 于 2007-10-18 16:52 编辑 ]

锦欢 2022-10-03 13:13:19

是不是连接开发板和主机Usb线太长的缘故
帮帮忙啊

硬不硬你别怂 2022-10-03 13:13:19

应该不是线的问题,我之前用2410做的,用同样的板,同样的线都没出现这样的问题。

人生戏 2022-10-03 13:13:19

是啊,拷贝大文件时老出现类似错误:
如下无法复制文件:路径太深    或
参数错误

在拷的过程中,中间会出现几次错误,然后在错误那里再次请求发送,大的文件要重复几次这样的动作,当超过了一定的次数之后就会弹出上面的信息。它每次从缓冲池中读取65536字节然后再分批写入,如果改为一次写入效果会好一点,能够传几十M的文件,但成功率不是很高,小文件就没问题!!!

小矜持 2022-10-03 13:13:19

五百强欧美及日资IT企业招聘(SAP、JAVA、C)的职位

大家好,现有以下职位供大家参考:

SE-(上海/大连/北京):
要求:日语2级以上;4年以上开发经验,具备详细设计经验;熟悉java/-.net/ c/c++其中的一种。

PL/BSE-(上海/大连/北京):
要求:日语2级以上;4年以上开发经验,具备详细设计经验;熟悉java/-.net/ c/c++其中的一种。2年以上项目管理或BSE经验。

PM-(上海/大连/北京):
要求:日语2级以上;8年以上开发经验;熟悉java/-.net/ c/c++其中的一种。3年以上项目管理经验。

C/C++的SE、PL、PM-(上海):
要求:2年以上c/c++项目开发经验;日语2级以上优先;(PL或PM要求2年以上项目管理经验。)

SAP-(上海/大连):
要求:BW/FI/CO 及其它模块的Consultant都有需求,日语2级或英语6级,2年以上Consultant经验。

ABAP开发人员-(上海/大连):
要求:日语2级或英语6级,2年以上abap开发经验。

金融保险的Consultant-(上海/日本):
要求:英语6级、日语1级,有2年以上金融保险行业流程管理经验或开发经验。

赴日工程师-(日本):
要求:计算机相关专业本科以上学历,日语2级以上优先,开发语言不限,但java/-.net/ c/c++熟练者优先。

测试、QA LEADER-(上海):
要求:日语2级以上,有3年以上对日测试经验或品管经验,LEADER要求有1年以上测试TEAM管理经验。

技术支持(英语或韩语)-(大连):
要求:英语或韩语流利,有IT背景优先。

联系人:        Selina(王)        
手 机:        13818295266        
M S N :        ousan2005@hotmail.com        
私人邮箱:    ousan2005@hotmail.com

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文