提交 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) ...@@ -131,6 +131,7 @@ int dfs_device_fs_close(struct dfs_fd *file)
int dfs_device_fs_open(struct dfs_fd *file) int dfs_device_fs_open(struct dfs_fd *file)
{ {
rt_err_t result;
rt_device_t device; rt_device_t device;
if (file->flags & DFS_O_CREAT) if (file->flags & DFS_O_CREAT)
...@@ -186,9 +187,16 @@ int dfs_device_fs_open(struct dfs_fd *file) ...@@ -186,9 +187,16 @@ int dfs_device_fs_open(struct dfs_fd *file)
if (device == RT_NULL) if (device == RT_NULL)
return -DFS_STATUS_ENODEV; return -DFS_STATUS_ENODEV;
file->data = device; /* to open device */
result = rt_device_open(device, RT_DEVICE_OFLAG_RDWR);
return DFS_STATUS_OK; 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) 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.
先完成此消息的编辑!
想要评论请 注册