• Mitch Williams's avatar
    i40e: lock service task correctly · 91089033
    Mitch Williams authored
    The service task lock was being set in the scheduling function, not the
    actual service task. This would potentially leave the bit set for a long
    time before the task actually ran. Furthermore, if the service task
    takes too long, it calls the schedule function to reschedule itself -
    which would fail to take the lock and do nothing.
    
    Instead, set and clear the lock bit in the service task itself. In the
    process, get rid of the i40e_service_event_complete() function, which is
    really just two lines of code that can be put right in the service task
    itself.
    
    Change-ID: I83155e682b686121e2897f4429eb7d3f7c669168
    Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    91089033
i40e_main.c 324 KB