[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160308170111.GE31742@dvhart-mobl5.amr.corp.intel.com>
Date: Tue, 8 Mar 2016 18:01:11 +0100
From: Darren Hart <dvhart@...radead.org>
To: "Maciej S. Szmigiero" <mail@...iej.szmigiero.name>
Cc: platform-driver-x86@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>,
Kirill Tkhai <tkhai@...dex.ru>
Subject: Re: [PATCH 1/2] hp-wmi: fix unregister order in
hp_wmi_rfkill_setup() once again
On Tue, Mar 08, 2016 at 04:58:40PM +0100, Maciej S. Szmigiero wrote:
> Hi Darren,
>
> Thanks for review, see also my comments below.
>
> On 08.03.2016 13:39, Darren Hart wrote:
> > On Sun, Mar 06, 2016 at 11:38:36PM +0100, Maciej S. Szmigiero wrote:
> >> --- a/drivers/platform/x86/hp-wmi.c
> >> +++ b/drivers/platform/x86/hp-wmi.c
> >> @@ -746,7 +746,7 @@ static int __init hp_wmi_rfkill_setup(struct platform_device *device)
> >> (void *) HPWMI_BLUETOOTH);
> >> if (!bluetooth_rfkill) {
> >> err = -ENOMEM;
> >> - goto register_wifi_error;
> >> + goto register_bluetooth_error;
> >
> > In this and all cases below, the goto label should match the situation, jumping
> > to register_bluetooth_error would be incorrect as we experienced a wifi error.
>
> Here we experienced an BT error - BT rkill allocation failed,
> so jump is to "register_bluetooth_error".
>
> The second jump to "register_bluetooth_error" is in another case of BT error:
> when its rfkill registration failed.
>
> It is the same label since if BT rfkill allocation had failed
> rfkill_destroy(bluetooth_rfkill) call in cleanup does nothing but we still
> need to possibly unregister WiFi rfkill that might have been registered in
> a previews block (and then fall through to next label to destroy WiFi rfkill).
>
> It would be possible to have separate jump labels skipping unnecessary
> rfkill_destroy() calls on allocation failure, but this would mean
> that we would have 7 labels in such small block of cleanup code.
My apologies, I read through this too quickly. The patch is correct as is.
I have wrapped the commit message at 75 characters and queued to the testing
branch.
The one thing that's missing in the commit message is a description of how this
was failing. It can, however, be inferred.
Thanks for the patient reply, I deserved a slap for my initial response.
--
Darren Hart
Intel Open Source Technology Center
Powered by blists - more mailing lists