Patchwork [SRU,Karmic] fix volume hotkeys for Dell Studio 1557

login
register
mail settings
Submitter Jerone Young
Date Feb. 1, 2010, 6:47 a.m.
Message ID <1265006845.2665.604.camel@laptop>
Download mbox | patch
Permalink /patch/44166/
State Accepted
Delegated to: Stefan Bader
Headers show

Comments

Jerone Young - Feb. 1, 2010, 6:47 a.m.
Impact:
	On the Dell Studio 1557 if you press any of the volume keys they will
not give a release and press infinitely.
https://bugs.launchpad.net/bugs/465250


Fix:
	Patch attached adds quirk to fix hotkeys for 2.6.31. 

	Though for 2.6.32 & upstream this fix is expected to go into udev.
Though Lucid has not pulled in a recent version supporting this
functionality.


Testcase:
	Pressing volume keys will not infinitely generate key presses.


Fix volume hotkeys for Dell Studio 1157 generating infinite key presses.

Signed-off-by: Jerone Young <jerone.young@canonical.com>
Stefan Bader - Feb. 9, 2010, 6:31 p.m.
Jerone Young wrote:
> Impact:
> 	On the Dell Studio 1557 if you press any of the volume keys they will
> not give a release and press infinitely.
> https://bugs.launchpad.net/bugs/465250
> 
> 
> Fix:
> 	Patch attached adds quirk to fix hotkeys for 2.6.31. 
> 
> 	Though for 2.6.32 & upstream this fix is expected to go into udev.
> Though Lucid has not pulled in a recent version supporting this
> functionality.
> 
> 
> Testcase:
> 	Pressing volume keys will not infinitely generate key presses.

Looks acceptable for SRU. I will have to modify the commit message, though.

> 
> Fix volume hotkeys for Dell Studio 1157 generating infinite key presses.
> 
> Signed-off-by: Jerone Young <jerone.young@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> 
> diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
> index 950673f..af1744d 100644
> --- a/drivers/input/keyboard/atkbd.c
> +++ b/drivers/input/keyboard/atkbd.c
> @@ -857,6 +857,14 @@ static unsigned int atkbd_dell_laptop_forced_release_keys[] = {
>  };
>  
>  /*
> + * Dell Studio 1557 does not generate release keys for
> + * mute, volume up, & volume down
> + */
> +static unsigned int atkdb_dell_studio_1157_force_relase_keys[] = {
> +	0xa0, 0xae, 0xb0, -1U
> +};
> +
> +/*
>   * Perform fixup for HP system that doesn't generate release
>   * for its video switch
>   */
> @@ -1542,6 +1550,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
>  		.driver_data = atkbd_dell_laptop_forced_release_keys,
>  	},
>  	{
> +		.ident = "Dell Stuido 1557",
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"),
> +		},
> +		.callback = atkbd_setup_forced_release,
> +		.driver_data = atkdb_dell_studio_1157_force_relase_keys,
> +	},
> +	{
>  		.ident = "HP 2133",
>  		.matches = {
>  			DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
> 
> 
>
Stefan Bader - Feb. 9, 2010, 8:19 p.m.
Applied to Karmic

Patch

diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 950673f..af1744d 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -857,6 +857,14 @@  static unsigned int atkbd_dell_laptop_forced_release_keys[] = {
 };
 
 /*
+ * Dell Studio 1557 does not generate release keys for
+ * mute, volume up, & volume down
+ */
+static unsigned int atkdb_dell_studio_1157_force_relase_keys[] = {
+	0xa0, 0xae, 0xb0, -1U
+};
+
+/*
  * Perform fixup for HP system that doesn't generate release
  * for its video switch
  */
@@ -1542,6 +1550,15 @@  static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
 		.driver_data = atkbd_dell_laptop_forced_release_keys,
 	},
 	{
+		.ident = "Dell Stuido 1557",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"),
+		},
+		.callback = atkbd_setup_forced_release,
+		.driver_data = atkdb_dell_studio_1157_force_relase_keys,
+	},
+	{
 		.ident = "HP 2133",
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),