Bläddra i källkod

fix: netdrv,执行boot函数后,应该根据返回值来决定是否返回netdrv指针,否则netdrv.setup不能拿到预期的结果

Wendal Chen 7 månader sedan
förälder
incheckning
5e7645d60e
1 ändrade filer med 5 tillägg och 1 borttagningar
  1. 5 1
      components/network/netdrv/src/luat_netdrv.c

+ 5 - 1
components/network/netdrv/src/luat_netdrv.c

@@ -27,6 +27,7 @@ luat_netdrv_t* luat_netdrv_setup(luat_netdrv_conf_t *conf) {
     if (conf->id < 0 || conf->id >= NW_ADAPTER_QTY) {
         return NULL;
     }
+    int ret = 0;
     if (drvs[conf->id] == NULL) {
         // 注册新的设备?
         #ifdef __LUATOS__
@@ -47,7 +48,10 @@ luat_netdrv_t* luat_netdrv_setup(luat_netdrv_conf_t *conf) {
     else {
         if (drvs[conf->id]->boot) {
             //LLOGD("启动网络设备 %p", drvs[conf->id]);
-            drvs[conf->id]->boot(drvs[conf->id], NULL);
+            ret = drvs[conf->id]->boot(drvs[conf->id], NULL);
+            if (ret) {
+                return NULL;
+            }
         }
         return drvs[conf->id];
     }