msm: ipc: Advertise service information only from alive subsystems

As part of processing HELLO message, IPC Router does not check the status
of a subsystem before trying to advertise the services hosted in that
subsystem. During the subsystem restart scenario, sometimes two or more
subsystems get reset together. When one of the subsystems come up, IPC
Router ends up accessing the data structures of the other subsystems that
are still in shutdown stage. This causes the IPC Router to trigger invalid
pointer dereference.

Check the status of the subsystem before trying to advertise the services
hosted in that subsystem.

CRs-Fixed: 447217
Change-Id: I50bc2bc21fcfd31ba23f6ebba5728f13268a76e5
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
1 file changed