[NXDRVLINUX-150] - Fix "virteth" device allocation error, which led to an access violation at shutdown.
This commit is contained in:
parent
578fc92ffd
commit
6018482357
@ -264,19 +264,10 @@ void* cifxeth_create_device(NETX_ETH_DEV_CFG_T* config)
|
||||
|
||||
/* Device successfully created */
|
||||
OS_EnterLock( g_eth_list_lock);
|
||||
if ((internal_dev = OS_Memalloc( sizeof(internal_dev))) != NULL)
|
||||
{
|
||||
TAILQ_INSERT_TAIL( &s_DeviceList, internal_dev, lentry);
|
||||
ret = internal_dev;
|
||||
}
|
||||
TAILQ_INSERT_TAIL( &s_DeviceList, internal_dev, lentry);
|
||||
ret = internal_dev;
|
||||
OS_LeaveLock( g_eth_list_lock);
|
||||
if(NULL == ret)
|
||||
{
|
||||
if(g_ulTraceLevel & TRACE_LEVEL_ERROR)
|
||||
{
|
||||
USER_Trace( internal_dev->devinst, TRACE_LEVEL_ERROR, "Ethernet-IF Error: Not enough memory to create cifx virtual ethernet interface!");
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -289,6 +280,12 @@ void* cifxeth_create_device(NETX_ETH_DEV_CFG_T* config)
|
||||
{
|
||||
cifxeth_delete_device( internal_dev);
|
||||
}
|
||||
} else
|
||||
{
|
||||
if(g_ulTraceLevel & TRACE_LEVEL_ERROR)
|
||||
{
|
||||
USER_Trace( internal_dev->devinst, TRACE_LEVEL_ERROR, "Ethernet-IF Error: Not enough memory to create cifx virtual ethernet interface!");
|
||||
}
|
||||
}
|
||||
channel_no++;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user