USB循環寫入從用戶空間傳遞來的數據

static ssize_t dnw_write(struct file *file, const char __user *buf, size_t len, loff_t *pos)
{
    size_t to_write;
    size_t total_write = 0;
    size_t act_len;
    while(len>0)    
    {
        to_write = min(len,(size_t)BULKOUT_BUFFER_SIZE);
        copy_from_user(bulkout_buffer,buf+total_write,to_write);
        usb_bulk_msg(udev,usb_sndbulkpipe(udev,bulk_out_endaddr),bulkout_buffer,to_write,&act_len,3*HZ);
        len -= to_write;
        total_write += to_write;
    }  
    return total_write;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章