mcctrl_ikc_send_wait: fix interrupt with do_frees == NULL

do_frees is allowed to be NULL only if free_addrs_count is 0, but that
is increased to account for the wakeup_desc itself before this failure

Change-Id: Iab33712c76ae452df7044558a12745a89adb47ac
This commit is contained in:
Dominique Martinet
2018-07-24 18:27:00 +09:00
committed by Dominique Martinet
parent f6d8138e05
commit c2e1b8d694

View File

@ -154,7 +154,7 @@ int mcctrl_ikc_send_wait(ihk_os_t os, int cpu, struct ikc_scd_packet *pisp,
spin_lock_irqsave(&usrdata->wakeup_descs_lock, flags);
list_add(&desc->chain, &usrdata->wakeup_descs_list);
spin_unlock_irqrestore(&usrdata->wakeup_descs_lock, flags);
if (free_addrs_count)
if (do_frees)
*do_frees = 0;
return ret < 0 ? ret : -ETIME;
}