diff mbox

thinkpad-acpi: avoid keymap pitfall

Message ID 1298397161-3944-2-git-send-email-manoj.iyer@canonical.com
State New
Headers show

Commit Message

Manoj Iyer Feb. 22, 2011, 5:52 p.m. UTC
From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>

Change the code so that it will use the correct size for keymap entries.
Do it in a way that makes it harder to screw it up in the future.

Reported-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
(cherry picked from commit fc6e756894b703952fd277a1f98a5d93e7ba847a)

Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com>

BugLink: http://launchpad.net/bugs/722747
---
 drivers/platform/x86/thinkpad_acpi.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Comments

Tim Gardner Feb. 22, 2011, 6:11 p.m. UTC | #1
On 02/22/2011 10:52 AM, Manoj Iyer wrote:
> From: Henrique de Moraes Holschuh<hmh@hmh.eng.br>
>
> Change the code so that it will use the correct size for keymap entries.
> Do it in a way that makes it harder to screw it up in the future.
>
> Reported-by: Jaime Velasco Juan<jsagarribay@gmail.com>
> Signed-off-by: Henrique de Moraes Holschuh<hmh@hmh.eng.br>
> Signed-off-by: Matthew Garrett<mjg@redhat.com>
> (cherry picked from commit fc6e756894b703952fd277a1f98a5d93e7ba847a)
>
> Signed-off-by: Manoj Iyer<manoj.iyer@canonical.com>
>
> BugLink: http://launchpad.net/bugs/722747
> ---
>   drivers/platform/x86/thinkpad_acpi.c |    5 +++--
>   1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index a48c80a..babc4d4 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -3093,7 +3093,8 @@ static const struct tpacpi_quirk tpacpi_hotkey_qtable[] __initconst = {
>   	TPACPI_Q_IBM('1', 'D', TPACPI_HK_Q_INIMASK), /* X22, X23, X24 */
>   };
>
> -typedef u16 tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
> +typedef u16 tpacpi_keymap_entry_t;
> +typedef tpacpi_keymap_entry_t tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
>
>   static int __init hotkey_init(struct ibm_init_struct *iibm)
>   {
> @@ -3230,7 +3231,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
>   	};
>
>   #define TPACPI_HOTKEY_MAP_SIZE		sizeof(tpacpi_keymap_t)
> -#define TPACPI_HOTKEY_MAP_TYPESIZE	sizeof(tpacpi_keymap_t[0])
> +#define TPACPI_HOTKEY_MAP_TYPESIZE	sizeof(tpacpi_keymap_entry_t)
>
>   	int res, i;
>   	int status;

I see this commit as far down as 2.6.36.y, but not 2.6.35.y.

Acked-by: Tim Gardner <tim.gardner@canonical.com>
Brad Figg Feb. 22, 2011, 6:24 p.m. UTC | #2
On 02/22/2011 09:52 AM, Manoj Iyer wrote:
> From: Henrique de Moraes Holschuh<hmh@hmh.eng.br>
>
> Change the code so that it will use the correct size for keymap entries.
> Do it in a way that makes it harder to screw it up in the future.
>
> Reported-by: Jaime Velasco Juan<jsagarribay@gmail.com>
> Signed-off-by: Henrique de Moraes Holschuh<hmh@hmh.eng.br>
> Signed-off-by: Matthew Garrett<mjg@redhat.com>
> (cherry picked from commit fc6e756894b703952fd277a1f98a5d93e7ba847a)
>
> Signed-off-by: Manoj Iyer<manoj.iyer@canonical.com>
>
> BugLink: http://launchpad.net/bugs/722747
> ---
>   drivers/platform/x86/thinkpad_acpi.c |    5 +++--
>   1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index a48c80a..babc4d4 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -3093,7 +3093,8 @@ static const struct tpacpi_quirk tpacpi_hotkey_qtable[] __initconst = {
>   	TPACPI_Q_IBM('1', 'D', TPACPI_HK_Q_INIMASK), /* X22, X23, X24 */
>   };
>
> -typedef u16 tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
> +typedef u16 tpacpi_keymap_entry_t;
> +typedef tpacpi_keymap_entry_t tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
>
>   static int __init hotkey_init(struct ibm_init_struct *iibm)
>   {
> @@ -3230,7 +3231,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
>   	};
>
>   #define TPACPI_HOTKEY_MAP_SIZE		sizeof(tpacpi_keymap_t)
> -#define TPACPI_HOTKEY_MAP_TYPESIZE	sizeof(tpacpi_keymap_t[0])
> +#define TPACPI_HOTKEY_MAP_TYPESIZE	sizeof(tpacpi_keymap_entry_t)
>
>   	int res, i;
>   	int status;

Acked-by: Brad Figg <brad.figg@canonical.com>
Manoj Iyer Feb. 22, 2011, 6:31 p.m. UTC | #3
I have already proposed this for stable 2.6.35+

-----------------------------------------------------
Manoj Iyer
Ubuntu/Canonical
Hardware Enablement Team
------------------------------------------------------



On Tue, Feb 22, 2011 at 12:11 PM, Tim Gardner <tim.gardner@canonical.com> wrote:
> On 02/22/2011 10:52 AM, Manoj Iyer wrote:
>>
>> From: Henrique de Moraes Holschuh<hmh@hmh.eng.br>
>>
>> Change the code so that it will use the correct size for keymap entries.
>> Do it in a way that makes it harder to screw it up in the future.
>>
>> Reported-by: Jaime Velasco Juan<jsagarribay@gmail.com>
>> Signed-off-by: Henrique de Moraes Holschuh<hmh@hmh.eng.br>
>> Signed-off-by: Matthew Garrett<mjg@redhat.com>
>> (cherry picked from commit fc6e756894b703952fd277a1f98a5d93e7ba847a)
>>
>> Signed-off-by: Manoj Iyer<manoj.iyer@canonical.com>
>>
>> BugLink: http://launchpad.net/bugs/722747
>> ---
>>  drivers/platform/x86/thinkpad_acpi.c |    5 +++--
>>  1 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/platform/x86/thinkpad_acpi.c
>> b/drivers/platform/x86/thinkpad_acpi.c
>> index a48c80a..babc4d4 100644
>> --- a/drivers/platform/x86/thinkpad_acpi.c
>> +++ b/drivers/platform/x86/thinkpad_acpi.c
>> @@ -3093,7 +3093,8 @@ static const struct tpacpi_quirk
>> tpacpi_hotkey_qtable[] __initconst = {
>>        TPACPI_Q_IBM('1', 'D', TPACPI_HK_Q_INIMASK), /* X22, X23, X24 */
>>  };
>>
>> -typedef u16 tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
>> +typedef u16 tpacpi_keymap_entry_t;
>> +typedef tpacpi_keymap_entry_t tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
>>
>>  static int __init hotkey_init(struct ibm_init_struct *iibm)
>>  {
>> @@ -3230,7 +3231,7 @@ static int __init hotkey_init(struct ibm_init_struct
>> *iibm)
>>        };
>>
>>  #define TPACPI_HOTKEY_MAP_SIZE                sizeof(tpacpi_keymap_t)
>> -#define TPACPI_HOTKEY_MAP_TYPESIZE     sizeof(tpacpi_keymap_t[0])
>> +#define TPACPI_HOTKEY_MAP_TYPESIZE     sizeof(tpacpi_keymap_entry_t)
>>
>>        int res, i;
>>        int status;
>
> I see this commit as far down as 2.6.36.y, but not 2.6.35.y.
>
> Acked-by: Tim Gardner <tim.gardner@canonical.com>
>
> --
> Tim Gardner tim.gardner@canonical.com
>
diff mbox

Patch

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index a48c80a..babc4d4 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -3093,7 +3093,8 @@  static const struct tpacpi_quirk tpacpi_hotkey_qtable[] __initconst = {
 	TPACPI_Q_IBM('1', 'D', TPACPI_HK_Q_INIMASK), /* X22, X23, X24 */
 };
 
-typedef u16 tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
+typedef u16 tpacpi_keymap_entry_t;
+typedef tpacpi_keymap_entry_t tpacpi_keymap_t[TPACPI_HOTKEY_MAP_LEN];
 
 static int __init hotkey_init(struct ibm_init_struct *iibm)
 {
@@ -3230,7 +3231,7 @@  static int __init hotkey_init(struct ibm_init_struct *iibm)
 	};
 
 #define TPACPI_HOTKEY_MAP_SIZE		sizeof(tpacpi_keymap_t)
-#define TPACPI_HOTKEY_MAP_TYPESIZE	sizeof(tpacpi_keymap_t[0])
+#define TPACPI_HOTKEY_MAP_TYPESIZE	sizeof(tpacpi_keymap_entry_t)
 
 	int res, i;
 	int status;