• Bug#1109344: /boot/vmlinuz-6.12.35+deb13-amd64: uevent field power_supp

    From Ian Jackson@21:1/5 to All on Tue Jul 15 15:40:01 2025
    XPost: linux.debian.kernel

    Package: src:linux
    Version: 6.12.35-1
    Severity: normal
    File: /boot/vmlinuz-6.12.35+deb13-amd64
    X-Debbugs-Cc: [email protected]
    User: [email protected]
    Usertags: amd64

    Control: affects chiark-utils-bin 8.0.0

    My battery monitor applet broke because:

    $ uname -av
    Linux zealot 6.12.35+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.35-1 (2025-07-03) x86_64 GNU/Linux
    $ egrep . /sys/class/power_supply/*/uevent
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_STATUS=Discharging
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW=-484000
    ...

    Full event output here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109342#15


    Whereas previously:

    $ uname -av
    Linux zealot 6.12.33+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.33-1 (2025-06-19) x86_64 GNU/Linux
    $ egrep . /sys/class/power_supply/*/uevent
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_STATUS=Discharging
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW=504000
    ...

    Full event output here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109342#10

    Note that the previous value was positive, and the new value is
    negative. In both cases the laptop was not charging.

    The negative value makes semantic sense, but I wonder if this change
    was deliberate. It seems like precisely the kind of bug-for-bug
    compatibility thing that Linux normally tries to retain.

    In the meantime I will adjust my code to take abs(), since STATUS can
    be used to find out the sense of current flow.

    Thanks for your attention.
    Ian.


    -- Package-specific info:
    ** Version:
    Linux version 6.12.35+deb13-amd64 ([email protected]) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.12.35-1 (2025-07-03)

    ** Command line:
    BOOT_IMAGE=/vmlinuz-6.12.35+deb13-amd64 root=/dev/mapper/vg--zealot3-lv--root ro quiet

    ** Not tainted

    ** Kernel log:
    Unable to read kernel log; any relevant messages should be attached

    ** Model information
    sys_vendor: Framework
    product_name: Laptop 13 (AMD Ryzen 7040Series)
    product_version: A7
    chassis_vendor: Framework
    chassis_version: A7
    bios_vendor: INSYDE Corp.
    bios_version: 03.09
    board_vendor: Framework
    board_name: FRANMDCP07
    board_version: A7

    ** Configuration for modprobe:
    blacklist microcode
    blacklist arkfb
    blacklist aty128fb
    blacklist atyfb
    blacklist radeonfb
    blacklist cirrusfb
    blacklist cyber2000fb
    blacklist kyrofb
    blacklist matroxfb_base
    blacklist mb862xxfb
    blacklist neofb
    blacklist pm2fb
    blacklist pm3fb
    blacklist s3fb
    blacklist savagefb
    blacklist sisfb
    blacklist tdfxfb
    blacklist tridentfb
    blacklist vt8623fb
    options snd_pcsp index=-2
    options cx88_alsa index=-2
    options snd_atiixp_modem index=-2
    options snd_intel8x0m index=-2
    options snd_via82xx_modem index=-2
    options md_mod start_ro=1

    ** Loaded modules:
    qrtr
    rfcomm
    cmac
    algif_hash
    algif_skcipher
    af_alg
    bnep
    tun
    binfmt_misc
    nf_tables
    nfnetlink
    msr
    parport_pc
    nls_ascii
    nls_cp437
    ppdev
    vfat
    fat
    lp
    parport
    snd_sof_amd_rembrandt
    snd_sof_amd_acp
    intel_rapl_msr
    amd_atl
    snd_sof_pci
    intel_rapl_common
    snd_sof_xtensa_dsp
    snd_sof
    snd_hda_codec_realtek
    snd_sof_utils
    mt7921e
    snd_hda_codec_generic
    snd_soc_core
    mt7921_common
    snd_hda_scodec_component
    mt792x_lib
    snd_compress
    snd_hda_codec_hdmi
    snd_pcm_dmaengine
    mt76_connac_lib
    snd_hda_intel
    snd_pci_ps
    snd_intel_dspcfg
    mt76
    edac_mce_amd
    snd_rpl_pci_acp6x
    snd_intel_sdw_acpi
    btusb
    snd_hda_codec
    snd_acp_pci
    btrtl
    snd_acp_legacy_common
    mac80211
    btintel
    snd_hda_core
    hid_sensor_als
    snd_pci_acp6x
    btbcm
    snd_hwdep
    hid_sensor_trigger
    kvm_amd
    snd_pci_acp5x
    btmtk
    snd_pcm
    hid_sensor_iio_common
    snd_rn_pci_acp3x
    libarc4
    kvm
    amd_pmf
    cfg80211
    industrialio_triggered_buffer
    snd_acp_config
    snd_timer
    irqbypass
    bluetooth
    kfifo_buf
    leds_cros_ec
    amdtee
    snd_soc_acpi
    snd
    rapl
    industrialio
    led_class_multicolor
    pcspkr
    cros_ec_hwmon
    amd_sfh
    joydev
    wmi_bmof
    snd_pci_acp3x
    rfkill
    ccp
    soundcore
    spd5118
    efi_pstore
    k10temp
    evdev
    tee
    ac
    platform_profile
    amd_pmc
    ext4
    mbcache
    jbd2
    btrfs
    blake2b_generic
    dm_snapshot
    dm_bufio
    dm_crypt
    dm_mod
    raid10
    raid456
    async_raid6_recov
    async_memcpy
    async_pq
    async_xor
    async_tx
    xor
    raid6_pq
    libcrc32c
    crc32c_generic
    raid1
    raid0
    md_mod
    usbhid
    amdgpu
    amdxcp
    drm_exec
    gpu_sched
    drm_buddy
    i2c_algo_bit
    crct10dif_pclmul
    drm_suballoc_helper
    crc32_pclmul
    crc32c_intel
    drm_display_helper
    ghash_clmulni_intel
    sha512_ssse3
    hid_multitouch
    hid_sensor_hub
    cec
    sha256_ssse3
    hid_generic
    rc_core
    sha1_ssse3
    cros_kbd_led_backlight
    cros_ec_sysfs
    cros_ec_debugfs
    cros_ec_chardev
    xhci_pci
    aesni_intel
    ucsi_acpi
    drm_ttm_helper
    i2c_hid_acpi
    cros_ec_dev
    sp5100_tco
    typec_ucsi
    ttm
    xhci_hcd
    gf128mul
    i2c_hid
    nvme
    watchdog
    typec
    cros_ec_lpcs
    drm_kms_helper
    crypto_simd
    hid
    usbcore
    nvme_core
    i2c_piix4
    roles
    cros_ec
    thunderbolt
    video
    cryptd
    serio_raw
    i2c_smbus
    crc16
    drm
    nvme_auth
    usb_common
    button
    battery
    wmi
    efivarfs

    ** Network interface configuration:
    *** /etc/network/interfaces:

    source /etc/network/interfaces.d/*

    auto lo
    iface lo inet loopback

    ** Network status:
    *** IP interfaces and addresses:
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo
    valid_lft forever preferred_lft forever
    2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 58:cd:c9:3a:7b:bb brd ff:ff:ff:ff:ff:ff
    altname wlx58cdc93a7bbb
    inet 10.9.5.118/16 brd 10.9.255.255 scope global dynamic noprefixroute wlp1s0
    valid_lft 1209313sec preferred_lft 1209313sec
    inet6 2a00:5881:3041:2700:6413:277d:8ddd:c454/64 scope global dynamic noprefixroute
    valid_lft 2591904sec preferred_lft 604704sec
    inet6 fe80::85a9:2fed:e65e:b12a/64 scope link noprefixroute
    valid_lft forever preferred_lft forever
    3: tun0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UNKNOWN group default qlen 500
    link/none
    inet 172.18.45.5 peer 172.18.45.9/32 scope global tun0
    valid_lft forever preferred_lft forever
    inet6 fe80::980:adbb:398e:64dc/64 scope link stable-privacy proto kernel_ll
    valid_lft forever preferred_lft forever
    4: tun1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UNKNOWN group default qlen 500
    link/none
    inet 172.18.45.5/32 scope global tun1
    valid_lft forever preferred_lft forever
    inet6 fe80::252:670c:b424:63bc/64 scope link stable-privacy proto kernel_ll
    valid_lft forever preferred_lft forever
    5: tun2: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UNKNOWN group default qlen 500
    link/none
    inet 172.18.45.5 peer 172.31.80.9/32 scope global tun2
    valid_lft forever preferred_lft forever
    inet6 fe80::3ff0:53b9:311e:c466/64 scope link stable-privacy proto kernel_ll
    valid_lft forever preferred_lft forever

    *** Device statistics:
    Inter-| Receive | Transmit
    face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
    lo: 6682538 11320 0 0 0 0 0 0 6682538 11320 0 0 0 0 0 0
    wlp1s0: 23724439 104860 0 1778 0 0 0 0 1535187 8415 0 13 0 0 0 0
    tun0: 85346 112 0 0 0 0 0 0 11814 94 0 0 0 0 0 0
    tun1: 0 0 0 0 0 0 0 0 480 10 0 0 0 0 0 0
    tun2: 6277081 8466 0 0 0 0 0 0 767034 7013 0 0 0 0 0 0

    *** Protocol statistics:
    Ip:
    Forwarding: 2
    70101 total packets received
    1 with invalid headers
    10 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    64757 incoming packets delivered
    25467 requests sent out
    68 dropped because of missing route
    4 fragments dropped after timeout
    87 reassemblies required
    41 packets reassembled ok
    4 packet reassemblies failed
    OutTransmits: 25467
    Icmp:
    33 ICMP messages received
    0 input ICMP message failed
    ICMP input histogram:
    destination unreachable: 4
    echo requests: 1
    echo replies: 28
    98 ICMP messages sent
    0 ICMP messages failed
    OutRateLimitHost: 181
    ICMP output histogram:
    destination unreachable: 68
    echo requests: 29
    echo replies: 1
    IcmpMsg:
    InType0: 28
    InType3: 4
    InType8: 1
    OutType0: 1
    OutType3: 68
    OutType8: 29
    Tcp:
    399 active connection openings
    198 passive connection openings
    2 failed connection attempts
    54 connection resets received
    7 connections established
    19556 segments received
    17944 segments sent out
    104 segments retransmitted
    2 bad segments received
    105 resets sent
    Udp:
    32768 packets received
    248 packets to unknown port received
    0 packet receive errors
    7957 packets sent
    0 receive buffer errors
    0 send buffer errors
    IgnoredMulti: 12569
    UdpLite:
    TcpExt:
    277 TCP sockets finished time wait in fast timer
    2 packets rejected in established connections because of timestamp
    228 delayed acks sent
    Quick ack mode was activated 24 times
    1632 packet headers predicted
    2766 acknowledgments not containing data payload received
    3174 predicted acknowledgments
    TCPSackRecovery: 1
    TCPDSACKUndo: 1
    1 congestion windows recovered without slow start after partial ack
    TCPLostRetransmit: 46
    1 fast retransmits
    6 retransmits in slow start
    TCPTimeouts: 67
    TCPLossProbes: 31
    TCPDSACKOldSent: 27
    TCPDSACKOfoSent: 8
    TCPDSACKRecv: 19
    TCPDSACKOfoRecv: 1
    39 connections reset due to unexpected data
    17 connections reset due to early user close
    TCPDSACKIgnoredNoUndo: 7
    TCPSackShiftFallback: 9
    IPReversePathFilter: 3
    TCPRcvCoalesce: 876
    TCPOFOQueue: 448
    TCPOFOMerge: 8
    TCPChallengeACK: 2
    TCPSYNChallenge: 2
    TCPAutoCorking: 5
    TCPSynRetrans: 22
    TCPOrigDataSent: 8162
    TCPHystartTrainDetect: 1
    TCPHystartTrainCwnd: 18
    TCPKeepAlive: 257
    TCPDelivered: 8460
    TCPAckCompressed: 186
    TcpTimeoutRehash: 67
    TCPDSACKRecvSegs: 20
    IpExt:
    InMcastPkts: 23328
    OutMcastPkts: 115
    InBcastPkts: 12615
    InOctets: 27656754
    OutOctets: 8511646
    InMcastOctets: 4917333
    OutMcastOctets: 17859
    InBcastOctets: 1838282
    InCsumErrors: 1
    InNoECTPkts: 70101
    MPTcpExt:


    ** PCI devices:
    00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Root Complex [1022:14e8]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

    00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Phoenix IOMMU [1022:14e9]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Interrupt: pin A routed to IRQ 29
    Capabilities: <access denied>

    00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 0

    00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 1

    00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix GPP Bridge [1022:14ee] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin ? routed to IRQ 38
    IOMMU group: 2
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    I/O behind bridge: [disabled] [32-bit]
    Memory behind bridge: 90b00000-90bfffff [size=1M] [32-bit]
    Prefetchable memory behind bridge: 8810900000-88109fffff [size=1M] [32-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix GPP Bridge [1022:14ee] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin ? routed to IRQ 39
    IOMMU group: 3
    Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
    I/O behind bridge: [disabled] [32-bit]
    Memory behind bridge: 90a00000-90afffff [size=1M] [32-bit]
    Prefetchable memory behind bridge: [disabled] [64-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 4

    00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin ? routed to IRQ 40
    IOMMU group: 4
    Bus: primary=00, secondary=03, subordinate=61, sec-latency=0
    I/O behind bridge: 6000-9fff [size=16K] [16-bit]
    Memory behind bridge: 78000000-8fffffff [size=384M] [32-bit]
    Prefetchable memory behind bridge: 7800000000-87ffffffff [size=64G] [32-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 5

    00:04.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef] (prog-if 00 [Normal decode])
    Subsystem: Advanced Micro Devices, Inc. [AMD] Device [1022:1453]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin ? routed to IRQ 41
    IOMMU group: 5
    Bus: primary=00, secondary=62, subordinate=c0, sec-latency=0
    I/O behind bridge: 2000-5fff [size=16K] [16-bit]
    Memory behind bridge: 60000000-77ffffff [size=384M] [32-bit]
    Prefetchable memory behind bridge: 6800000000-77ffffffff [size=64G] [32-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Host Bridge [1022:14ea]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 6

    00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] [1022:14eb] (prog-if 00 [Normal decode])
    Subsystem: Device [0006:f111]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 42
    IOMMU group: 7
    Bus: primary=00, secondary=c1, subordinate=c1, sec-latency=0
    I/O behind bridge: 1000-1fff [size=4K] [16-bit]
    Memory behind bridge: 90000000-905fffff [size=6M] [32-bit]
    Prefetchable memory behind bridge: 8800000000-88107fffff [size=264M] [32-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] [1022:14eb] (prog-if 00 [Normal decode])
    Subsystem: Device [0006:f111]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 43
    IOMMU group: 8
    Bus: primary=00, secondary=c2, subordinate=c2, sec-latency=0
    I/O behind bridge: [disabled] [32-bit]
    Memory behind bridge: 90900000-909fffff [size=1M] [32-bit]
    Prefetchable memory behind bridge: 8810800000-88108fffff [size=1M] [32-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Phoenix Internal GPP Bridge to Bus [C:A] [1022:14eb] (prog-if 00 [Normal decode])
    Subsystem: Device [0006:f111]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 44
    IOMMU group: 9
    Bus: primary=00, secondary=c3, subordinate=c3, sec-latency=0
    I/O behind bridge: [disabled] [32-bit]
    Memory behind bridge: 90600000-908fffff [size=3M] [32-bit]
    Prefetchable memory behind bridge: [disabled] [64-bit]
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: <access denied>
    Kernel driver in use: pcieport

    00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71)
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 10
    Kernel driver in use: piix4_smbus
    Kernel modules: i2c_piix4, sp5100_tco

    00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    IOMMU group: 10

    00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 0 [1022:14f0]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 1 [1022:14f1]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 2 [1022:14f2]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 3 [1022:14f3]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11
    Kernel driver in use: k10temp
    Kernel modules: k10temp

    00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 4 [1022:14f4]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 5 [1022:14f5]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 6 [1022:14f6]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Phoenix Data Fabric; Function 7 [1022:14f7]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 11

    01:00.0 Network controller [0280]: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter [14c3:0616]
    Subsystem: MEDIATEK Corp. Device [14c3:e616]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 117
    IOMMU group: 12
    Region 0: Memory at 8810900000 (64-bit, prefetchable) [size=1M]
    Region 2: Memory at 90b00000 (64-bit, non-prefetchable) [size=32K]
    Capabilities: <access denied>
    Kernel driver in use: mt7921e
    Kernel modules: mt7921e

    02:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD Black SN850X NVMe SSD [15b7:5030] (rev 01) (prog-if 02 [NVM Express])
    Subsystem: Sandisk Corp WD Black SN850X NVMe SSD [15b7:5030]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 62
    IOMMU group: 13
    Region 0: Memory at 90a00000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: nvme
    Kernel modules: nvme

    c1:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c4) (prog-if 00 [VGA controller])
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 102
    IOMMU group: 14
    Region 0: Memory at 8800000000 (64-bit, prefetchable) [size=256M]
    Region 2: Memory at 90000000 (64-bit, prefetchable) [size=2M]
    Region 4: I/O ports at 1000 [size=256]
    Region 5: Memory at 90500000 (32-bit, non-prefetchable) [size=512K]
    Capabilities: <access denied>
    Kernel driver in use: amdgpu
    Kernel modules: amdgpu

    c1:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin B routed to IRQ 116
    IOMMU group: 15
    Region 0: Memory at 905c8000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel

    c1:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Phoenix CCP/PSP 3.0 Device [1022:15c7]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin C routed to IRQ 109
    IOMMU group: 16
    Region 2: Memory at 90400000 (32-bit, non-prefetchable) [size=1M]
    Region 5: Memory at 905cc000 (32-bit, non-prefetchable) [size=8K]
    Capabilities: <access denied>
    Kernel driver in use: ccp
    Kernel modules: ccp

    c1:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b9] (prog-if 30 [XHCI])
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin D routed to IRQ 100
    IOMMU group: 17
    Region 0: Memory at 90200000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci_pci

    c1:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ba] (prog-if 30 [XHCI])
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 102
    IOMMU group: 18
    Region 0: Memory at 90300000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci_pci

    c1:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] Audio Coprocessor [1022:15e2] (rev 63)
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin B routed to IRQ 114
    IOMMU group: 19
    Region 0: Memory at 90580000 (32-bit, non-prefetchable) [size=256K]
    Region 2: Memory at 8810000000 (64-bit, prefetchable) [size=8M]
    Capabilities: <access denied>
    Kernel driver in use: snd_pci_ps
    Kernel modules: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps, snd_sof_amd_rembrandt

    c1:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin C routed to IRQ 63
    IOMMU group: 20
    Region 0: Memory at 905c0000 (32-bit, non-prefetchable) [size=32K]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel

    c2:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Function [1022:14ec]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 21
    Capabilities: <access denied>

    c2:00.1 Signal processing controller [1180]: Advanced Micro Devices, Inc. [AMD] AMD IPU Device [1022:1502]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Interrupt: pin A routed to IRQ 255
    IOMMU group: 22
    Region 0: Memory at 90900000 (32-bit, non-prefetchable) [disabled] [size=512K]
    Region 1: Memory at 909c0000 (32-bit, non-prefetchable) [disabled] [size=8K]
    Region 2: Memory at 8810800000 (64-bit, prefetchable) [disabled] [size=256K]
    Region 4: Memory at 90980000 (32-bit, non-prefetchable) [disabled] [size=256K]
    Capabilities: <access denied>

    c3:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Phoenix Dummy Function [1022:14ec]
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    IOMMU group: 23
    Capabilities: <access denied>

    c3:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c0] (prog-if 30 [XHCI])
    Subsystem: Framework Computer Inc. Device [f111:0006]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 104
    IOMMU group: 24
    Region 0: Memory at 90600000 (64-bit, non-prefetchable) [size=1M]

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Salvatore Bonaccorso@21:1/5 to Ian Jackson on Wed Jul 16 09:30:02 2025
    XPost: linux.debian.kernel

    Control: tags -1 + moreinfo

    Hi Ian,

    On Tue, Jul 15, 2025 at 02:36:57PM +0100, Ian Jackson wrote:
    Package: src:linux
    Version: 6.12.35-1
    Severity: normal
    File: /boot/vmlinuz-6.12.35+deb13-amd64
    X-Debbugs-Cc: [email protected]
    User: [email protected]
    Usertags: amd64

    Control: affects chiark-utils-bin 8.0.0

    My battery monitor applet broke because:

    $ uname -av
    Linux zealot 6.12.35+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.35-1 (2025-07-03) x86_64 GNU/Linux
    $ egrep . /sys/class/power_supply/*/uevent
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_STATUS=Discharging
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW=-484000
    ...

    Full event output here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109342#15


    Whereas previously:

    $ uname -av
    Linux zealot 6.12.33+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.33-1 (2025-06-19) x86_64 GNU/Linux
    $ egrep . /sys/class/power_supply/*/uevent
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_STATUS=Discharging
    ...
    /sys/class/power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW=504000
    ...

    Full event output here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109342#10

    Note that the previous value was positive, and the new value is
    negative. In both cases the laptop was not charging.

    The negative value makes semantic sense, but I wonder if this change
    was deliberate. It seems like precisely the kind of bug-for-bug compatibility thing that Linux normally tries to retain.

    In the meantime I will adjust my code to take abs(), since STATUS can
    be used to find out the sense of current flow.

    Thanks for your attention.

    I suspect this is a deliberate change maybe e8cd4a8d5b88 ("ACPI:
    battery: negate current when discharging"), can you try with that
    commit reverted?

    If that is sucessfull we would appreciate if you can take it to
    upstream involved people to ask if the side effect you are seeing is
    considered a regression bug or to be kept deliberately.

    Can you please do that?

    Regards,
    Salvatore

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ian Jackson@21:1/5 to Salvatore Bonaccorso on Wed Jul 16 17:20:02 2025
    XPost: linux.debian.kernel

    Salvatore Bonaccorso writes ("Re: Bug#1109344: /boot/vmlinuz-6.12.35+deb13-amd64: uevent field power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW now -ve"):
    Control: tags -1 + moreinfo
    ...
    I suspect this is a deliberate change maybe e8cd4a8d5b88 ("ACPI:
    battery: negate current when discharging"), can you try with that
    commit reverted?

    That sounds very likely.

    I'm at Debconf and building kernels and rebooting my machine is quite disruptive. When I'm back home I'll have a spare laptop I could try
    this out on; that would be over a week from now at the earliest.

    (Also please would you point me at the right instructions for trying
    such a thing? I can get the kernel source package and patch it but it
    wants to build a lot of flavours so the build is very slow, and
    nowadays I suspect I may have some kind of restricted boot problem?)

    If that is sucessfull we would appreciate if you can take it to
    upstream involved people to ask if the side effect you are seeing is considered a regression bug or to be kept deliberately.

    Can you please do that?

    My experience with Linux upstream hasn't always been great but I can
    give it a go. Am I just to post to lmkl, or what ?

    Ian.

    --
    Ian Jackson <[email protected]> These opinions are my own.

    Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk,
    that is a private address which bypasses my fierce spamfilter.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Salvatore Bonaccorso@21:1/5 to Ian Jackson on Thu Jul 17 14:40:01 2025
    XPost: linux.debian.kernel

    Hi Ian,

    On Wed, Jul 16, 2025 at 03:40:09PM +0100, Ian Jackson wrote:
    Salvatore Bonaccorso writes ("Re: Bug#1109344: /boot/vmlinuz-6.12.35+deb13-amd64: uevent field power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW now -ve"):
    Control: tags -1 + moreinfo
    ...
    I suspect this is a deliberate change maybe e8cd4a8d5b88 ("ACPI:
    battery: negate current when discharging"), can you try with that
    commit reverted?

    That sounds very likely.

    I'm at Debconf and building kernels and rebooting my machine is quite disruptive. When I'm back home I'll have a spare laptop I could try
    this out on; that would be over a week from now at the earliest.

    It is alright, enjoy Debconf :)

    (Also please would you point me at the right instructions for trying
    such a thing? I can get the kernel source package and patch it but it
    wants to build a lot of flavours so the build is very slow, and
    nowadays I suspect I may have some kind of restricted boot problem?)

    It has a quite simple approach for signle patch testing we have
    documented here: https://kernel-team.pages.debian.net/kernel-handbook/ch-common-tasks.html#id-1.6.6.4
    that is, with a single patch you want to test on top of all, which
    would be a revert patch of the mentioned commit, it should be fairly
    more easy with the above and only building what you need. In case you
    are still struggling with it let me know and might be able to provide
    you (unsigned!) builds for amd64.

    If that is sucessfull we would appreciate if you can take it to
    upstream involved people to ask if the side effect you are seeing is considered a regression bug or to be kept deliberately.

    Can you please do that?

    My experience with Linux upstream hasn't always been great but I can
    give it a go. Am I just to post to lmkl, or what ?

    Okay understoond. IMHO still better if we do not relay through us back questions and they can reach you directly. In case the revert commit
    helps, then the report can go to:

    Peter Marheine <[email protected]>
    Rafael J. Wysocki <[email protected]>

    Additionally the [email protected] list and
    [email protected] .

    and with help of the get_maintainers.pl script a CC to:

    Len Brown <[email protected]> (reviewer:ACPI)
    [email protected] (open list:ACPI)
    [email protected] (open list)

    Does this helps?

    Regards,
    Salvatore

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ian Jackson@21:1/5 to Salvatore Bonaccorso on Thu Jul 17 15:00:01 2025
    XPost: linux.debian.kernel

    Salvatore Bonaccorso writes ("Re: Bug#1109344: /boot/vmlinuz-6.12.35+deb13-amd64: uevent field power_supply/BAT1/uevent:POWER_SUPPLY_CURRENT_NOW now -ve"):
    Does this helps?

    Yes. Thank you. I think that is all the pointers I needed.
    I'll take a look at this when I'm back from my travels.

    Ian.

    --
    Ian Jackson <[email protected]> These opinions are my own.

    Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk,
    that is a private address which bypasses my fierce spamfilter.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bastian Blank@21:1/5 to Salvatore Bonaccorso on Thu Jul 17 21:50:01 2025
    XPost: linux.debian.kernel

    On Wed, Jul 16, 2025 at 09:23:06AM +0200, Salvatore Bonaccorso wrote:
    If that is sucessfull we would appreciate if you can take it to
    upstream involved people to ask if the side effect you are seeing is considered a regression bug or to be kept deliberately.

    The commit seems to answer that already:

    | […] the kernel ABI for POWER_SUPPLY_PROP_CURRENT_NOW
    | (Documentation/ABI/testing/sysfs-class-power) specifies that it should
    | be negative when a battery is discharging. When reporting CURRENT_NOW,
    | massage the value to match the documented ABI.

    Bastian

    --
    If some day we are defeated, well, war has its fortunes, good and bad.
    -- Commander Kor, "Errand of Mercy", stardate 3201.7

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bastian Blank@21:1/5 to Ian Jackson on Thu Jul 17 22:40:01 2025
    XPost: linux.debian.kernel

    Control: tags -1 wontfix
    Control: close -1

    On Tue, Jul 15, 2025 at 02:36:57PM +0100, Ian Jackson wrote:
    Note that the previous value was positive, and the new value is
    negative. In both cases the laptop was not charging.
    The negative value makes semantic sense, but I wonder if this change
    was deliberate. It seems like precisely the kind of bug-for-bug compatibility thing that Linux normally tries to retain.

    The documentation of Linux specifies the allowed values as:

    | Valid values: Represented in microamps. Negative values are used for
    | discharging batteries, positive values for charging batteries and for
    | USB IBUS current.

    Implementations for other power supplies, current macs for example,
    implement this correctly with negative values for discharging. So the
    kernel already returns positive or negative numbers depending on the
    exact hardware used.

    After careful consideration, I'm closing this as not a bug.

    Regards,
    Bastian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Salvatore Bonaccorso@21:1/5 to Bastian Blank on Fri Jul 18 15:30:01 2025
    XPost: linux.debian.kernel

    Hi Bastian, hi Ian,

    On Thu, Jul 17, 2025 at 10:35:39PM +0200, Bastian Blank wrote:
    Control: tags -1 wontfix
    Control: close -1

    On Tue, Jul 15, 2025 at 02:36:57PM +0100, Ian Jackson wrote:
    Note that the previous value was positive, and the new value is
    negative. In both cases the laptop was not charging.
    The negative value makes semantic sense, but I wonder if this change
    was deliberate. It seems like precisely the kind of bug-for-bug compatibility thing that Linux normally tries to retain.

    The documentation of Linux specifies the allowed values as:

    | Valid values: Represented in microamps. Negative values are used for
    | discharging batteries, positive values for charging batteries and for
    | USB IBUS current.

    Implementations for other power supplies, current macs for example,
    implement this correctly with negative values for discharging. So the
    kernel already returns positive or negative numbers depending on the
    exact hardware used.

    After careful consideration, I'm closing this as not a bug.

    While preparing the 6.12.39 import (for a future trixie upload) I
    noticed that there was a revert of that commit now in 6.12.39, with
    the following explanation:

    Revert commit 234f71555019 ("ACPI: battery: negate current when
    discharging") breaks not one but several userspace implementations
    of battery monitoring: Steam and MangoHud. Perhaps it breaks more,
    but those are the two that have been tested.

    So apparently more were affected :-/

    Regards,
    Salvatore

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)