[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPj87rNjXim0xRoGFYqdEhzH7f-Gd7+=SmfBE9LmqW+DPdn15w@mail.gmail.com>
Date: Mon, 15 Feb 2016 16:36:02 +0000
From: Daniel Stone <daniel@...ishbar.org>
To: Archit Taneja <architt@...eaurora.org>
Cc: Russell King - ARM Linux <linux@....linux.org.uk>,
linux-arm-msm@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jon Medhurst <tixy@...aro.org>
Subject: Re: [RFC] component: Fix: Unassign components' masters if bringing up
master fails
Hi Archit,
On 11 February 2016 at 09:35, Archit Taneja <architt@...eaurora.org> wrote:
> component_master_add_with_match can fail if the master's bind op doesn't
> go through successfully. In such a scenario, all the components in the
> master's match array have their 'master' pointer set to the given master.
> These pointers need to be set to NULL again. If they aren't, successive
> calls to component_master_add_with_match will fail because the driver
> thinks these components already have a master.
>
> This issue can be seen when a driver defers probe because of missing
> resources. It is seen after the introduction of commit:
>
> "component: track components via array rather than list"
>
> Add 'master_remove_components' which sets the all the components's masters
> in the match array to NULL. This function is also re-used in
> component_master_del and replaces code that did the same thing.
Jon already fixed this (in a slightly more limited way perhaps?) in 57480484f9.
Cheers,
Daniel
Powered by blists - more mailing lists