dell-uart-backlight fails to communicate with the scalar IC somtimes.

Bug #2035299 reported by AceLan Kao
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
New
Undecided
Unassigned
linux (Ubuntu)
Status tracked in Mantic
Jammy
Invalid
Undecided
Unassigned
Mantic
In Progress
Undecided
AceLan Kao
linux-oem-6.5 (Ubuntu)
Status tracked in Mantic
Jammy
Fix Released
Undecided
AceLan Kao
Mantic
Invalid
Undecided
Unassigned

Bug Description

[Impact]
Boots up the system and sometimes we can see below messages and that leads to backlight driver doesn't get loaded.

[ 86.424880] dell_uart_backlight:dell_uart_get_display_mode:tx: 6a 10 85
[ 86.603936] [7439] dell_uart_backlight:dell_uart_get_display_mode:rx: NULL
[ 87.596047] dell_uart_backlight:dell_uart_get_display_mode:tx: 6a 10 85
[ 87.775209] [7439] dell_uart_backlight:dell_uart_get_display_mode:rx: NULL

[Fix]
After applying the patch below, it seems that the read() command may fail to receive a response, even when increasing the retry times. It never gets a response when it fails.

fbf84fb368923 ("UBUNTU: SAUCE: platform/x86: dell-uart-backlight: replace chars_in_buffer() with flush_chars()")

To fix this, try adding a small delay after the write() function as a workaround.

[Test case]
1. Add dell_uart_backlight.dyndbg="+pt" to the kernel cmdline
2. Boots up the system and check dmesg
3. Make sure there is no dell_uart_backlight rx NULL message in dmesg
4. Try to unload/reload dell_uart_backlight couple times and check dmesg again

[Where problems could occur]
sleep for 1ms is pretty short that it's not possible to lead to messages loss.

AceLan Kao (acelankao)
Changed in linux (Ubuntu Jammy):
status: New → Invalid
Changed in linux-oem-6.5 (Ubuntu Mantic):
status: New → Invalid
Changed in linux (Ubuntu Mantic):
assignee: nobody → AceLan Kao (acelankao)
Changed in linux-oem-6.5 (Ubuntu Jammy):
assignee: nobody → AceLan Kao (acelankao)
Changed in linux (Ubuntu Mantic):
status: New → In Progress
Changed in linux-oem-6.5 (Ubuntu Jammy):
status: New → In Progress
AceLan Kao (acelankao)
tags: added: oem-priority originate-from-2033577 somerville
AceLan Kao (acelankao)
description: updated
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.5/6.5.0-1004.4 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-jammy-linux-oem-6.5' to 'verification-done-jammy-linux-oem-6.5'. If the problem still exists, change the tag 'verification-needed-jammy-linux-oem-6.5' to 'verification-failed-jammy-linux-oem-6.5'.

If verification is not done by 5 working days 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: kernel-spammed-jammy-linux-oem-6.5-v2 verification-needed-jammy-linux-oem-6.5
Timo Aaltonen (tjaalton)
Changed in linux-oem-6.5 (Ubuntu Jammy):
status: In Progress → Fix Committed
AceLan Kao (acelankao)
tags: added: verification-done-jammy-linux-oem-6.5
removed: verification-needed-jammy-linux-oem-6.5
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (62.8 KiB)

This bug was fixed in the package linux-oem-6.5 - 6.5.0-1004.4

---------------
linux-oem-6.5 (6.5.0-1004.4) jammy; urgency=medium

  * jammy/linux-oem-6.5: 6.5.0-1004.4 -proposed tracker (LP: #2036238)

  * Infiniate systemd loop when power off the machine with multiple MD RAIDs
    (LP: #2036184)
    - SAUCE: md: do not _put wrong device in md_seq_next

  * dell-uart-backlight fails to communicate with the scalar IC somtimes.
    (LP: #2035299)
    - SAUCE: platform/x86: dell-uart-backlight: add small delay after write
      command

  [ Ubuntu: 6.5.0-6.6 ]

  * mantic/linux: 6.5.0-6.6 -proposed tracker (LP: #2035595)
  * Mantic update: v6.5.3 upstream stable release (LP: #2035588)
    - drm/amd/display: ensure async flips are only accepted for fast updates
    - cpufreq: intel_pstate: set stale CPU frequency to minimum
    - tpm: Enable hwrng only for Pluton on AMD CPUs
    - Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN
    - Revert "fuse: in fuse_flush only wait if someone wants the return code"
    - Revert "f2fs: clean up w/ sbi->log_sectors_per_block"
    - Revert "PCI: tegra194: Enable support for 256 Byte payload"
    - Revert "net: macsec: preserve ingress frame ordering"
    - reiserfs: Check the return value from __getblk()
    - splice: always fsnotify_access(in), fsnotify_modify(out) on success
    - splice: fsnotify_access(fd)/fsnotify_modify(fd) in vmsplice
    - splice: fsnotify_access(in), fsnotify_modify(out) on success in tee
    - eventfd: prevent underflow for eventfd semaphores
    - fs: Fix error checking for d_hash_and_lookup()
    - iomap: Remove large folio handling in iomap_invalidate_folio()
    - tmpfs: verify {g,u}id mount options correctly
    - selftests/harness: Actually report SKIP for signal tests
    - vfs, security: Fix automount superblock LSM init problem, preventing NFS sb
      sharing
    - ARM: ptrace: Restore syscall restart tracing
    - ARM: ptrace: Restore syscall skipping for tracers
    - btrfs: zoned: skip splitting and logical rewriting on pre-alloc write
    - erofs: release ztailpacking pclusters properly
    - locking/arch: Avoid variable shadowing in local_try_cmpxchg()
    - refscale: Fix uninitalized use of wait_queue_head_t
    - clocksource: Handle negative skews in "skew is too large" messages
    - powercap: arm_scmi: Remove recursion while parsing zones
    - OPP: Fix potential null ptr dereference in dev_pm_opp_get_required_pstate()
    - OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
    - selftests/resctrl: Add resctrl.h into build deps
    - selftests/resctrl: Don't leak buffer in fill_cache()
    - selftests/resctrl: Unmount resctrl FS if child fails to run benchmark
    - selftests/resctrl: Close perf value read fd on errors
    - sched/fair: remove util_est boosting
    - arm64/ptrace: Clean up error handling path in sve_set_common()
    - sched/psi: Select KERNFS as needed
    - cpuidle: teo: Update idle duration estimate when choosing shallower state
    - x86/decompressor: Don't rely on upper 32 bits of GPRs being preserved
    - arm64/fpsimd: Only provide the length to cpufeature for xCR registers
    - sched/rt: Fix sysctl_sched_rr_timeslice in...

Changed in linux-oem-6.5 (Ubuntu Jammy):
status: Fix Committed → Fix Released
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.