• Netanel Belgazal's avatar
    net: ena: fix rare uncompleted admin command false alarm · a77c1aaf
    Netanel Belgazal authored
    The current flow to detect admin completion is:
    while (command_not_completed) {
    	if (timeout)
    		error
    
    	check_for_completion()
    		sleep()
       }
    So in case the sleep took more than the timeout
    (in case the thread/workqueue was not scheduled due to higher priority
    task or prolonged VMexit), the driver can detect a stall even if
    the completion is present.
    
    The fix changes the order of this function to first check for
    completion and only after that check if the timeout expired.
    
    Fixes: 1738cd3e ("Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: default avatarNetanel Belgazal <netanel@amazon.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a77c1aaf
ena_com.c 72.4 KB