From 468c3210ea90199f5290ebcf68e4d76dcd98b7f4 Mon Sep 17 00:00:00 2001 From: wanghao-free Date: Thu, 20 Jan 2022 18:41:17 -0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3release1.0.1=E5=88=86?= =?UTF-8?q?=E6=94=AFwifi=E4=BB=8E=E5=88=97=E8=A1=A8=E9=80=80=E5=87=BA?= =?UTF-8?q?=E5=88=B0=E6=A1=8C=E9=9D=A2=E5=8D=A1=E4=BD=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 该问题在master主干不存在 Signed-off-by: wanghao-free --- drivers/pipes/pipe.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/pipes/pipe.c b/drivers/pipes/pipe.c index 7f4c7b0..6ba47e4 100755 --- a/drivers/pipes/pipe.c +++ b/drivers/pipes/pipe.c @@ -232,8 +232,9 @@ static void UpdateDev(struct pipe_dev_s *dev) FAR struct inode *node; struct pipe_dev_s *olddev = NULL; + char devname[16]; struct inode_search_s desc; - SETUP_SEARCH(&desc, dev->name, fasle); + SETUP_SEARCH(&desc, dev->name, false); FAR const char *path = desc.path; FAR const char **relpath = &(desc.relpath); FAR struct inode **peer = &(desc.peer); @@ -248,6 +249,12 @@ static void UpdateDev(struct pipe_dev_s *dev) return; } node = desc.node; + snprintf_s(devname, sizeof(devname), sizeof(devname) - 1, "pipe%d\n", dev->d_pipeno); + if (strncmp(devname, node->i_name, strlen(devname)) != 0) { + inode_semgive(); + PRINT_ERR("[%s,%d] failed %s %s .\n", __FUNCTION__, __LINE__, devname, node->i_name); + return; + } olddev = (struct pipe_dev_s *)node->i_private; if (olddev != NULL) { @@ -357,6 +364,7 @@ errout_with_wrfd: errout_with_driver: unregister_driver(devname); + g_pipecreated &= ~(1 << pipeno); errout_with_dev: if (dev) -- GitLab