ihk_ikc_recv: Record channel to packet for release

ihk_ikc_release_packet takes the channel and puts the packet into its
free-list.  This fix makes it easy and safe to identify the proper
channel.

Change-Id: I5584b1e8a3ed675c2f9d68f0b5ed331b909197f6
Fujitsu: POSTK_DEBUG_TEMP_FIX_89
This commit is contained in:
Masamichi Takagi
2018-10-19 18:07:26 +09:00
committed by Dominique Martinet
parent 10dc87dd3f
commit ae9a1f39df
7 changed files with 20 additions and 52 deletions

View File

@@ -241,10 +241,7 @@ static int syscall_packet_handler(struct ihk_ikc_channel_desc *c,
* mcexec_ret_syscall(), for the rest, free it here.
*/
if (msg != SCD_MSG_SYSCALL_ONESIDE) {
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)__packet,
(usrdata->ikc2linux[smp_processor_id()] ?
usrdata->ikc2linux[smp_processor_id()] :
usrdata->ikc2linux[0]));
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)__packet);
}
return 0;
}
@@ -253,7 +250,7 @@ static int dummy_packet_handler(struct ihk_ikc_channel_desc *c,
void *__packet, void *__os)
{
kprintf("%s: WARNING: packet received\n", __FUNCTION__);
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)__packet, c);
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)__packet);
return 0;
}