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:
committed by
Dominique Martinet
parent
10dc87dd3f
commit
ae9a1f39df
@ -514,10 +514,7 @@ retry_alloc:
|
||||
out:
|
||||
/* Release packet sent from McKernel */
|
||||
if (free_packet) {
|
||||
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)free_packet,
|
||||
(usrdata->ikc2linux[smp_processor_id()] ?
|
||||
usrdata->ikc2linux[smp_processor_id()] :
|
||||
usrdata->ikc2linux[0]));
|
||||
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)free_packet);
|
||||
}
|
||||
ihk_device_unmap_virtual(ihk_os_to_dev(usrdata->os), resp, sizeof(*resp));
|
||||
ihk_device_unmap_memory(ihk_os_to_dev(usrdata->os), phys, sizeof(*resp));
|
||||
@ -744,10 +741,7 @@ retry_alloc:
|
||||
out:
|
||||
/* Release remote page-fault response packet */
|
||||
if (free_packet) {
|
||||
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)free_packet,
|
||||
(usrdata->ikc2linux[smp_processor_id()] ?
|
||||
usrdata->ikc2linux[smp_processor_id()] :
|
||||
usrdata->ikc2linux[0]));
|
||||
ihk_ikc_release_packet((struct ihk_ikc_free_packet *)free_packet);
|
||||
}
|
||||
|
||||
ihk_device_unmap_virtual(ihk_os_to_dev(usrdata->os), resp, sizeof(*resp));
|
||||
@ -2297,7 +2291,6 @@ int __do_in_kernel_syscall(ihk_os_t os, struct ikc_scd_packet *packet)
|
||||
struct syscall_request *sc = &packet->req;
|
||||
int error;
|
||||
long ret = -1;
|
||||
struct mcctrl_usrdata *usrdata = ihk_host_os_get_usrdata(os);
|
||||
|
||||
dprintk("%s: system call: %lx\n", __FUNCTION__, sc->args[0]);
|
||||
switch (sc->number) {
|
||||
@ -2396,10 +2389,7 @@ sched_setparam_out:
|
||||
}
|
||||
|
||||
__return_syscall(os, packet, ret, 0);
|
||||
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);
|
||||
|
||||
error = 0;
|
||||
out:
|
||||
|
||||
Reference in New Issue
Block a user