Commit c29692cb authored by Karthikeyan Ramasubramanian's avatar Karthikeyan Ramasubramanian
Browse files

msm: ipc: Add support to load and unload the subsystems



When all the user-space modules communicating with a subsystem get
killed, the kernel releases the resources consumed by the modules. One
of the resources is SMD channel. Hence the APPS processor closes its end
of the SMD channel. The concerned drivers like SMD_PKT, SMD_TTY
trigger unloading the subsystem with which the module has been
communicating. When the user-space modules come up again, the concerned
subsystem gets reloaded. As part of boot-up, the subsystems reset their
end of the SMD channels.

IPC Router, being a kernel driver, is unaware of this unloading and
reloading of the subsystem. Hence the APPs side state of the SMD
channel, used by IPC Router, is left undisturbed but the remote side is
reset. This leaves the concerned SMD channel in stale state. The
subsystem while handling the stale SMD channel crashes. Hence the IPC
Router will cast a vote to PIL to ensure that the remote subsystem is
loaded as long as it is using the SMD channel.

CRs-Fixed: 359773
Change-Id: I09d5aadf7fd44e8398b45208949a6dcf8c4e6593
Signed-off-by: default avatarKarthikeyan Ramasubramanian <kramasub@codeaurora.org>
parent c0399fc8
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment