Browse Source

[components][sal]delay getting sal_proto_family in sal_ioctlsocket

zms123456 9 months ago
parent
commit
379aece6dc
1 changed files with 5 additions and 4 deletions
  1. 5 4
      components/net/sal/src/sal_socket.c

+ 5 - 4
components/net/sal/src/sal_socket.c

@@ -1166,12 +1166,9 @@ int sal_ioctlsocket(int socket, long cmd, void *arg)
     /* get the socket object by socket descriptor */
     SAL_SOCKET_OBJ_GET(sock, socket);
 
-    /* check the network interface socket opreation */
-    SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, ioctlsocket);
-
     struct sal_ifreq *ifr = (struct sal_ifreq *)arg;
 
-    if((sock->domain == AF_INET)&&(sock->netdev)&&(ifr != RT_NULL))
+    if (ifr != RT_NULL)
     {
         switch (cmd)
         {
@@ -1473,6 +1470,10 @@ int sal_ioctlsocket(int socket, long cmd, void *arg)
             break;
         }
     }
+
+    /* check the network interface socket opreation */
+    SAL_NETDEV_SOCKETOPS_VALID(sock->netdev, pf, ioctlsocket);
+
     return pf->skt_ops->ioctlsocket((int)(size_t)sock->user_data, cmd, arg);
 }