lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 8 Nov 2016 09:08:47 -0200
From:   Henrique de Moraes Holschuh <hmh@....eng.br>
To:     Lyude <lyude@...hat.com>
Cc:     ibm-acpi-devel@...ts.sourceforge.net,
        Daniel Martin <consume.noise@...il.com>,
        Darren Hart <dvhart@...radead.org>,
        platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] thinkpad_acpi: Don't repeat ourselves in
 hotkey_init_tablet_mode()

On Mon, 07 Nov 2016, Lyude wrote:
> There's no need to have multiple copies of the logic we use for checking
> whether or not we're in tablet mode, so just use
> hotkey_get_tablet_mode() when checking the initial state in
> hotkey_init_tablet_mode().

...

> @@ -3130,13 +3130,16 @@ hotkey_init_tablet_mode(void)
>  	/* For X41t, X60t, X61t Tablets... */
>  	if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) {
>  		tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_MHKG;
> -		in_tablet_mode = !!(res & TP_HOTKEY_TABLET_MASK);
>  		type = "MHKG";
>  	}
>  
>  	if (!tp_features.hotkey_tablet)
>  		return 0;
>  
> +	res = hotkey_get_tablet_mode(&in_tablet_mode);
> +	if (res)
> +		return res;
> +

Won't this way of doing things cause the ACPI methods to be called
twice in a row?

The hotkey_init_tablet_mode() code does mode detection, and thus
hotkey_get_tablet_mode() must be kept in sync with it *anyway* (and not
the opposite), so it doesn't look like a very relevant maintenance
burden...

-- 
  Henrique Holschuh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ