From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [PATCH] hfpmodem: Fix crash with more than two calls
Date: Mon, 30 Jun 2014 13:46:03 -0500 [thread overview]
Message-ID: <53B1B06B.4060506@gmail.com> (raw)
In-Reply-To: <1403855767-10561-1-git-send-email-sergio.checa@oss.bmw-carit.de>
[-- Attachment #1: Type: text/plain, Size: 1636 bytes --]
Hi Sergio,
On 06/27/2014 02:56 AM, Sergio Checa Blanco wrote:
> From: Sergio Checa Blanco <sergio.checa@bmw-carit.de>
>
> A periodic CLCC polling is started when there is an ongoing multiparty
> call and a new call appears in the system. A simple way to reproduce
> the crashing scenario is:
>
> 1. Place a call.
> 2. Place a second call.
> 3. Create a multiparty call with both calls.
> 4. Place a third call (incoming or outgoing does not matter).
> 5. Disconnect HFP from the modem.
>
> Within the function ciev_callheld_notify, the AT+CLCC command is also
> invoked, thus a new cyclic CLCC polling is started, and it overwrites
> the timer resource identifier stored in voicecall_data.clcc_source.
> This means that there are several timers doing the CLCC polling, but
> only one of those is under control, i.e. it can be removed through its
> source identifier, hence a timer source leak.
>
> This has a fatal consequence when the HFP modem is disconnected. The
> function hfp_voicecall_remove stops the timer that is under control
> before freeing the voicecall_data struct. However there are other timers
> that are still active and will execute its handler poll_clcc afterwards.
> Inside poll_clcc the driver_data is accessed, which is already NULL.
>
> A solution for this is to avoid starting a CLCC polling if there is
> already one active, i.e. clcc_source is not 0. By doing this the
> uncontrolled timers will not cycle forever.
> ---
> drivers/hfpmodem/voicecall.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Patch has been applied, thanks.
Regards,
-Denis
prev parent reply other threads:[~2014-06-30 18:46 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-27 7:56 [PATCH] hfpmodem: Fix crash with more than two calls Sergio Checa Blanco
2014-06-30 18:46 ` Denis Kenzior [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53B1B06B.4060506@gmail.com \
--to=denkenz@gmail.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.