AMD's systems generate an additional KEY_SWITCHVIDEOMODE event

Bug #1110219 reported by Alex Hung
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Alex Hung
Precise
Invalid
Medium
Unassigned
Quantal
Fix Released
Medium
Unassigned
linux-lts-quantal (Ubuntu)
Invalid
Undecided
Unassigned
Precise
Fix Released
Undecided
Unassigned
Quantal
Invalid
Undecided
Unassigned

Bug Description

System: ASUS 1015U
BIOS Version: 1015U.202
Ubuntu Version: 12.04 LTS

Steps:
1. Log on to desktop
2. Connect external monitor via HDMI or D-sub
3. Press brightness down/up hotkeys (fn+f5/f6)
4. Observe brightness changes on LCD

Expected results: Brightness changes up/down without other actions

Actual results: brightness changes and display device is also toggled.

CVE References

Alex Hung (alexhung)
Changed in linux (Ubuntu):
assignee: nobody → Alex Hung (alexhung)
Revision history for this message
Alex Hung (alexhung) wrote :

run "acpi_listen " with fn+f5 shows:
video LCDD 00000087 00000000
video VGA 00000081 00000000
video VGA 00000081 00000000

run "acpi_listen " with fn+f6 shows:
video LCDD 00000086 00000000
video VGA 00000081 00000000
video VGA 00000081 00000000

The additional 0x81 events are generated by BIOS ASL.

Revision history for this message
Alex Hung (alexhung) wrote :

run "sudo showkey" with fn+f5 shows:
keycode 224 pressed
keycode 224 released
keycode 227 pressed
keycode 227 released

run "sudo showkey" with fn+f5 shows:
keycode 225 pressed
keycode 225 released
keycode 227 pressed
keycode 227 released

Changed in linux (Ubuntu):
status: New → In Progress
Revision history for this message
Alex Hung (alexhung) wrote :

This is a common bug for many AMD platforms.

The root cause is AMD uses Notify(VGA, 0x81) as default event for BIOS ASL to notify AMD's driver. Although changing the event number from 0x81 to others (i.e. 0xD0~0xD9) is possible, it is not always the case when systems are shipped.

Revision history for this message
Alex Hung (alexhung) wrote :

Two patches in kernel 3.7 fix this bug:
drm/radeon: block the keypress on ATIF events (92fdf89aa95de32dba1cb44fe7f5c54824b4b2c4)
ACPI video: allow events handlers to veto the keypress (8a37c65df9dcbd1c891df2b4a94157999b654841)

Revision history for this message
Alex Hung (alexhung) wrote :

I applied a number of patches (commit # as below) on 12.04's lts-backport-quantal kernel, and it can fix the problem.

92fdf89aa95de32dba1cb44fe7f5c54824b4b2c4
8a37c65df9dcbd1c891df2b4a94157999b654841
c49170742d6928b16fb3839b47a94cc41630dbe0
fda4b25c55a59ba12378e4b9e4553f6ea57d802d
ce3cf821a31f9824eda788cbd3e710d8047e82df
fd64ca8a9d9d7e92fc81fe0b23dcf324246fd356
86504672f7d79986a8ef618fb120044220e3d1eb
f3728734ba78310525bf4a361c7787c7c6fa5d40
910308802c528f8afe864b694d5456fedd0bb18f
af7912e57316caa1b705f06b03592cec0737cb36
efd4e418f2bb8a8b21f96fd44e775eaf6dd55905
9e05b2f49eb9484e857e9b6c70dea3bbbe564290

Changed in linux (Ubuntu):
importance: Undecided → Medium
Changed in linux (Ubuntu Precise):
importance: Undecided → Medium
Changed in linux (Ubuntu Quantal):
importance: Undecided → Medium
tags: added: kernel-bug-fixed-upstream precise quantal
Revision history for this message
Anthony Wong (anthonywong) wrote :

Alex, do the patches in #5 fix both radeon and fglrx use cases, or only radeon?

Revision history for this message
Alex Hung (alexhung) wrote :

Currently it only fixes radeon use case.

Revision history for this message
David Chen (david.chen) wrote :
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Quantal):
status: New → Fix Committed
Changed in linux (Ubuntu Precise):
status: New → Invalid
Changed in linux-lts-quantal (Ubuntu Quantal):
status: New → Invalid
Changed in linux-lts-quantal (Ubuntu Precise):
status: New → In Progress
Changed in linux-lts-quantal (Ubuntu):
status: New → Invalid
Revision history for this message
Alex Hung (alexhung) wrote :

@David,

Yes the same patches discussed in the url you posted.

Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed' to 'verification-done'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-quantal
Alex Hung (alexhung)
tags: added: verification-done
removed: verification-needed-quantal
tags: added: verification-done-quantal
removed: verification-done
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.3 KiB)

This bug was fixed in the package linux-lts-quantal - 3.5.0-27.46~precise1

---------------
linux-lts-quantal (3.5.0-27.46~precise1) precise-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #1160183

  [ Steve Conklin ]

  * Start New Release

  [ Upstream Kernel Changes ]

  * crypto: user - fix info leaks in report API
    - LP: #1156790, #1156795, #1156799
    - CVE-2013-2546
  * brcmsmac: fix mismatch in number of custom regulatory rules
    - LP: #1156769

  [ Xiangliang Yu ]

  * SAUCE: PCI: define macro for marvell vendor ID
    - LP: #1159863
  * SAUCE: PCI: fix system hang issue of Marvell SATA host controller
    - LP: #1159863

linux (3.5.0-27.45) quantal-proposed; urgency=low

  [Steve Conklin]

  * no change

linux (3.5.0-27.44) quantal-proposed; urgency=low

  [Steve Conklin]

  * no change

linux (3.5.0-27.43) quantal-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #1157270

  [ Adam Lee ]

  * SAUCE: Bluetooth: Add support for 04ca:2007
    - LP: #1153448

  [ Andy Whitcroft ]

  * [Config] re-disable CONFIG_SOUND_OSS_PRECLAIM
    - LP: #1105230

  [ Brad Figg ]

  * Start new release

  [ Kamal Mostafa ]

  * SAUCE: alx: use github.com/qca/alx repo
    - LP: #1154238

  [ Luis Henriques ]

  * [Config] CONFIG_NFS_V4_1=y
    - LP: #1111416

  [ Qualcomm Atheros, Inc ]

  * SAUCE: alx: Update to heads/master
    - LP: #1154238

  [ Upstream Kernel Changes ]

  * Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S"
    - LP: #1144961
  * genirq: Avoid deadlock in spurious handling
    - LP: #1144961
  * KVM: s390: Handle hosts not supporting s390-virtio.
    - LP: #1144961
  * v4l: Reset subdev v4l2_dev field to NULL if registration fails
    - LP: #1144961
  * powerpc/eeh: Fix crash when adding a device in a slot with DDW
    - LP: #1144961
  * pcmcia/vrc4171: Add missing spinlock init
    - LP: #1144961
  * USB: DWC3: Generate interrupt on each TRB as default option
    - LP: #1144961
  * usb: dwc3: gadget: fix skip LINK_TRB on ISOC
    - LP: #1144961
  * usb: dwc3: gadget: req->queued must be forced to false in cleanup
    - LP: #1144961
  * Purge existing TLB entries in set_pte_at and ptep_set_wrprotect
    - LP: #1144961
  * ARM: PXA3xx: program the CSMSADRCFG register
    - LP: #1144961
  * ab8500-chargalg: Only root should have write permission on sysfs file
    - LP: #1144961
  * USB: option: add and update Alcatel modems
    - LP: #1144961
  * uprobes/powerpc: Add dependency on single step emulation
    - LP: #1144961
  * drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp
    - LP: #1144961
  * s390/kvm: Fix store status for ACRS/FPRS
    - LP: #1144961
  * staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors
    - LP: #1144961
  * ALSA: usb-audio: fix Roland A-PRO support
    - LP: #1144961
  * x86-32, mm: Rip out x86_32 NUMA remapping code
    - LP: #1144961
  * x86-32, mm: Remove reference to resume_map_numa_kva()
    - LP: #1144961
  * x86-32, mm: Remove reference to alloc_remap()
    - LP: #1144961
  * ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open()
    - LP: #1144961
  * ab8500_btemp: Demote initcall...

Changed in linux-lts-quantal (Ubuntu Precise):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.2 KiB)

This bug was fixed in the package linux - 3.5.0-27.46

---------------
linux (3.5.0-27.46) quantal-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #1159991

  [ Steve Conklin ]

  * Start New Release

  [ Upstream Kernel Changes ]

  * crypto: user - fix info leaks in report API
    - LP: #1156790, #1156795, #1156799
    - CVE-2013-2546
  * brcmsmac: fix mismatch in number of custom regulatory rules
    - LP: #1156769

  [ Xiangliang Yu ]

  * SAUCE: PCI: define macro for marvell vendor ID
    - LP: #1159863
  * SAUCE: PCI: fix system hang issue of Marvell SATA host controller
    - LP: #1159863

linux (3.5.0-27.45) quantal-proposed; urgency=low

  [Steve Conklin]

  * no change

linux (3.5.0-27.44) quantal-proposed; urgency=low

  [Steve Conklin]

  * no change

linux (3.5.0-27.43) quantal-proposed; urgency=low

  [Steve Conklin]

  * Release Tracking Bug
    - LP: #1156821

  [ Adam Lee ]

  * SAUCE: Bluetooth: Add support for 04ca:2007
    - LP: #1153448

  [ Andy Whitcroft ]

  * [Config] re-disable CONFIG_SOUND_OSS_PRECLAIM
    - LP: #1105230

  [ Brad Figg ]

  * Start new release

  [ Kamal Mostafa ]

  * SAUCE: alx: use github.com/qca/alx repo
    - LP: #1154238

  [ Luis Henriques ]

  * [Config] CONFIG_NFS_V4_1=y
    - LP: #1111416

  [ Qualcomm Atheros, Inc ]

  * SAUCE: alx: Update to heads/master
    - LP: #1154238

  [ Upstream Kernel Changes ]

  * Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S"
    - LP: #1144961
  * genirq: Avoid deadlock in spurious handling
    - LP: #1144961
  * KVM: s390: Handle hosts not supporting s390-virtio.
    - LP: #1144961
  * v4l: Reset subdev v4l2_dev field to NULL if registration fails
    - LP: #1144961
  * powerpc/eeh: Fix crash when adding a device in a slot with DDW
    - LP: #1144961
  * pcmcia/vrc4171: Add missing spinlock init
    - LP: #1144961
  * USB: DWC3: Generate interrupt on each TRB as default option
    - LP: #1144961
  * usb: dwc3: gadget: fix skip LINK_TRB on ISOC
    - LP: #1144961
  * usb: dwc3: gadget: req->queued must be forced to false in cleanup
    - LP: #1144961
  * Purge existing TLB entries in set_pte_at and ptep_set_wrprotect
    - LP: #1144961
  * ARM: PXA3xx: program the CSMSADRCFG register
    - LP: #1144961
  * ab8500-chargalg: Only root should have write permission on sysfs file
    - LP: #1144961
  * USB: option: add and update Alcatel modems
    - LP: #1144961
  * uprobes/powerpc: Add dependency on single step emulation
    - LP: #1144961
  * drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp
    - LP: #1144961
  * s390/kvm: Fix store status for ACRS/FPRS
    - LP: #1144961
  * staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors
    - LP: #1144961
  * ALSA: usb-audio: fix Roland A-PRO support
    - LP: #1144961
  * x86-32, mm: Rip out x86_32 NUMA remapping code
    - LP: #1144961
  * x86-32, mm: Remove reference to resume_map_numa_kva()
    - LP: #1144961
  * x86-32, mm: Remove reference to alloc_remap()
    - LP: #1144961
  * ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open()
    - LP: #1144961
  * ab8500_btemp: Demote initcall sequence
    - LP: #1144961
  * Driver co...

Changed in linux (Ubuntu Quantal):
status: Fix Committed → Fix Released
Alex Hung (alexhung)
Changed in linux (Ubuntu):
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.