4.18.0 thinkpad_acpi : thresholds for BAT1 not writable

Bug #1812099 reported by linrunner
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Cosmic
Fix Released
Medium
Unassigned

Bug Description

[Problem description]
Kernel 4.17 introduced a new interface to set charge thresholds: The interface remained unchanged with 4.18. There's a bug preventing writing the charge thresholds for the secondary battery (BAT1).

[Impact]
ThinkPads with two batteries (ThinkPad "power bridge") e.g.
X240, T440(s), X250, T450(s), X260, T460(s), X270, T470(s) et al.

[Steps to reproduce]
echo 42 > /sys/class/power_supply/BAT1/charge_start_threshold
    bash: echo: write error: No such device

echo 42 > /sys/class/power_supply/BAT0/charge_start_threshold
-- primary battery works!

[Fix]
Problem was fixed in 4.19:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/platform/x86/thinkpad_acpi.c?h=v4.19.15&id=d22296d9c38fd29a96bb5079fb8d17cee278f40e

I propose to cherry-pick the patch for 4.18.

[Test Case]
See above, a patched 4.18 works for T450s.

[Regression Potential]
Low. This patch only applies to several ThinkPad machines, and after applying
this patch, charge_start/stop_threshold work for BAT0 and BAT.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Is commit 6640ee6289b9974334e36d8283fc07f37f3b235d also needed?

no longer affects: linux-hwe (Ubuntu)
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1812099

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
linrunner (linrunner) wrote :

> Is commit 6640ee6289b9974334e36d8283fc07f37f3b235d also needed?
No, this is not related.

I have noticed that the original patch does not fit for 4.18. An adapted version is attached.

apport data doesn't make sense here.

Revision history for this message
linrunner (linrunner) wrote :
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: patch
Revision history for this message
linrunner (linrunner) wrote :

> Is commit 6640ee6289b9974334e36d8283fc07f37f3b235d also needed?
ps. I guess all the 3 changes by Jouke Witteveen would be needed and that's beyond the scope of this bug:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/platform/x86/thinkpad_acpi.c

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
linrunner (linrunner) wrote :

Works flawless. Thank you very much.

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Stefan Bader (smb)
Changed in linux (Ubuntu Cosmic):
importance: Undecided → Medium
Changed in linux (Ubuntu Cosmic):
status: New → Fix Committed
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-cosmic' to 'verification-done-cosmic'. If the problem still exists, change the tag 'verification-needed-cosmic' to 'verification-failed-cosmic'.

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: verification-needed-cosmic
Revision history for this message
linrunner (linrunner) wrote :

Work well. Thank you.

tags: added: verification-done-cosmic
removed: verification-needed-cosmic
Revision history for this message
linrunner (linrunner) wrote :

tags:changed: verification-done-cosmic

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

This bug was fixed in the package linux - 4.18.0-17.18

---------------
linux (4.18.0-17.18) cosmic; urgency=medium

  * linux: 4.18.0-17.18 -proposed tracker (LP: #1819624)

  * Packaging resync (LP: #1786013)
    - [Packaging] resync getabis
    - [Packaging] update helper scripts

  * C++ demangling support missing from perf (LP: #1396654)
    - [Packaging] fix a mistype

  * arm-smmu-v3 arm-smmu-v3.3.auto: CMD_SYNC timeout (LP: #1818162)
    - iommu/arm-smmu-v3: Fix unexpected CMD_SYNC timeout

  * Crash in nvme_irq_check() when using threaded interrupts (LP: #1818747)
    - nvme-pci: fix out of bounds access in nvme_cqe_pending

  * CVE-2019-9003
    - ipmi: fix use-after-free of user->release_barrier.rda

  * CVE-2019-9162
    - netfilter: nf_nat_snmp_basic: add missing length checks in ASN.1 cbs

  * CVE-2019-9213
    - mm: enforce min addr even if capable() in expand_downwards()

  * CVE-2019-3460
    - Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt

  * tun/tap: unable to manage carrier state from userland (LP: #1806392)
    - tun: implement carrier change

  * CVE-2019-8980
    - exec: Fix mem leak in kernel_read_file

  * [Packaging] Allow overlay of config annotations (LP: #1752072)
    - [Packaging] config-check: Add an include directive

  * amdgpu with mst WARNING on blanking (LP: #1814308)
    - drm/amd/display: Fix MST dp_blank REG_WAIT timeout

  * CVE-2019-7308
    - bpf: move {prev_,}insn_idx into verifier env
    - bpf: move tmp variable into ax register in interpreter
    - bpf: enable access to ax register also from verifier rewrite
    - bpf: restrict map value pointer arithmetic for unprivileged
    - bpf: restrict stack pointer arithmetic for unprivileged
    - bpf: restrict unknown scalars of mixed signed bounds for unprivileged
    - bpf: fix check_map_access smin_value test when pointer contains offset
    - bpf: prevent out of bounds speculation on pointer arithmetic
    - bpf: fix sanitation of alu op with pointer / scalar type from different
      paths
    - bpf: add various test cases to test_verifier
    - bpf: add various test cases to selftests

  * CVE-2017-5753
    - bpf: fix inner map masking to prevent oob under speculation

  * Use memblock quirk instead of delayed allocation for GICv3 LPI tables
    (LP: #1816425)
    - efi/arm: Revert "Defer persistent reservations until after paging_init()"
    - arm64, mm, efi: Account for GICv3 LPI tables in static memblock reserve
      table

  * efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted (LP: #1814982)
    - efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted

  * Update ENA driver to version 2.0.3K (LP: #1816806)
    - net: ena: update driver version from 2.0.2 to 2.0.3
    - net: ena: fix race between link up and device initalization
    - net: ena: fix crash during failed resume from hibernation

  * Silent "Unknown key" message when pressing keyboard backlight hotkey
    (LP: #1817063)
    - platform/x86: dell-wmi: Ignore new keyboard backlight change event

  * CVE-2018-19824
    - ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c

  * CVE-2019-3459
    - Bluetooth: Verify that l2cap_get...

Read more...

Changed in linux (Ubuntu Cosmic):
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.