提交 01c3460c 编写于 作者: B Bernard Xiong

[DevFS] fix the device none-open issue

上级 3da0f4ec
......@@ -131,6 +131,7 @@ int dfs_device_fs_close(struct dfs_fd *file)
int dfs_device_fs_open(struct dfs_fd *file)
{
rt_err_t result;
rt_device_t device;
if (file->flags & DFS_O_CREAT)
......@@ -186,9 +187,16 @@ int dfs_device_fs_open(struct dfs_fd *file)
if (device == RT_NULL)
return -DFS_STATUS_ENODEV;
file->data = device;
return DFS_STATUS_OK;
/* to open device */
result = rt_device_open(device, RT_DEVICE_OFLAG_RDWR);
if (result == RT_EOK || result == -RT_ENOSYS)
{
file->data = device;
return DFS_STATUS_OK;
}
/* open device failed. */
return -DFS_STATUS_EIO;
}
int dfs_device_fs_stat(struct dfs_filesystem *fs, const char *path, struct stat *st)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册