[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKrE-KcsbOHG=MdVNckLOUK+T_nEcq_Eim97j_48SS7Y00tRVA@mail.gmail.com>
Date: Wed, 19 Mar 2014 11:32:44 +0530
From: Girish KS <girishks2000@...il.com>
To: Jassi Brar <jaswinder.singh@...aro.org>
Cc: Jassi Brar <jassisinghbrar@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Anna, Suman" <s-anna@...com>, Tony Lindgren <tony@...mide.com>,
"Omar Ramirez Luna (omar.ramirez@...itl.com)"
<omar.ramirez@...itl.com>, Loic Pallardy <loic.pallardy@...com>,
LeyFoon Tan <lftan.linux@...il.com>,
Craig McGeachie <slapdau@...oo.com.au>,
Courtney Cavin <courtney.cavin@...ymobile.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Rob Herring <robherring2@...il.com>,
Arnd Bergmann <arnd@...db.de>,
Josh Cartwright <joshc@...eaurora.org>,
Linus Walleij <linus.walleij@...aro.org>,
Kumar Gala <galak@...eaurora.org>,
"ks.giri@...sung.com" <ks.giri@...sung.com>
Subject: Re: [PATCHv4 2/5] mailbox: Introduce framework for mailbox
On Wed, Mar 19, 2014 at 10:50 AM, Jassi Brar <jaswinder.singh@...aro.org> wrote:
> On 19 March 2014 09:30, Girish KS <girishks2000@...il.com> wrote:
>> On Wed, Mar 19, 2014 at 12:15 AM, Jassi Brar <jassisinghbrar@...il.com> wrote:
>
>>> +int mbox_send_message(struct mbox_chan *chan, void *mssg)
>>> +{
>>> + int t;
>>> +
>>> + if (!chan || !chan->cl)
>>> + return -EINVAL;
>>> +
>>> + t = _add_to_rbuf(chan, mssg);
>>> + if (t < 0) {
>>> + pr_err("Try increasing MBOX_TX_QUEUE_LEN\n");
>>> + return t;
>>> + }
>>> +
>>> + _msg_submit(chan);
>>> +
>>> + if (chan->txdone_method == TXDONE_BY_POLL)
>>> + poll_txdone((unsigned long)chan->con);
>>
>> I came across a panic in the complete function. When i traced bact the
>> call sequence it was
>> When a client sets chan->cl->tx_block = true, and polling is enabled
>> for controller.
>> 1.Client sends the message with mbox_send_message. This function as
>> seen above will call __msg_submit (this calls the controller specific
>> send function).
>> 2. Since the tx method is polling the above condition is satisfied and
>> calls the poll_txdone function.
>> 3. In this poll function, the tx_tick function is invoked.
>> 4. In this tick function since the client has enabled the tx_block it
>> calls the notify function complete(&chan->tx_complete);
>> 5. Here there is a panic. because the complete is called before
>> initialization. init_completion needs to be called but not called.
>>
> Are you sure you have applied the patch "[PATCHv4 4/5] mailbox: Fix TX
> completion init" ?
I was missing it. I was using your old patch set
>
> Thanks
> Jassi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists