linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "André Almeida" <andrealmeid@collabora.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Sebastian Reichel" <sebastian.reichel@collabora.com>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	"Sasha Levin" <sashal@kernel.org>,
	rafael@kernel.org, linux-acpi@vger.kernel.org
Subject: [PATCH AUTOSEL 4.9 20/33] ACPI: battery: Accept charges over the design capacity as full
Date: Mon,  8 Nov 2021 20:07:54 -0500	[thread overview]
Message-ID: <20211109010807.1191567-20-sashal@kernel.org> (raw)
In-Reply-To: <20211109010807.1191567-1-sashal@kernel.org>

From: André Almeida <andrealmeid@collabora.com>

[ Upstream commit 2835f327bd1240508db2c89fe94a056faa53c49a ]

Some buggy firmware and/or brand new batteries can support a charge that's
slightly over the reported design capacity. In such cases, the kernel will
report to userspace that the charging state of the battery is "Unknown",
when in reality the battery charge is "Full", at least from the design
capacity point of view. Make the fallback condition accepts capacities
over the designed capacity so userspace knows that is full.

Signed-off-by: André Almeida <andrealmeid@collabora.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/acpi/battery.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 93ecae55fe6a0..69c6f02f16b5b 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -187,7 +187,7 @@ static int acpi_battery_is_charged(struct acpi_battery *battery)
 		return 1;
 
 	/* fallback to using design values for broken batteries */
-	if (battery->design_capacity == battery->capacity_now)
+	if (battery->design_capacity <= battery->capacity_now)
 		return 1;
 
 	/* we don't do any sort of metric based on percentages */
-- 
2.33.0


  parent reply	other threads:[~2021-11-09  1:27 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-09  1:07 [PATCH AUTOSEL 4.9 01/33] Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 02/33] Bluetooth: fix use-after-free error in lock_sock_nested() Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 03/33] platform/x86: wmi: do not fail if disabling fails Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 04/33] MIPS: lantiq: dma: add small delay after reset Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 05/33] MIPS: lantiq: dma: reset correct number of channel Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 06/33] locking/lockdep: Avoid RCU-induced noinstr fail Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 07/33] smackfs: Fix use-after-free in netlbl_catmap_walk() Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 08/33] NET: IPV4: fix error "do not initialise globals to 0" Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 09/33] x86: Increase exception stack sizes Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 10/33] media: mt9p031: Fix corrupted frame after restarting stream Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 11/33] media: netup_unidvb: handle interrupt properly according to the firmware Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 12/33] media: uvcvideo: Set capability in s_param Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 13/33] media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe() Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 14/33] media: mceusb: return without resubmitting URB in case of -EPROTO error Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 15/33] ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 16/33] ACPICA: Avoid evaluating methods too early during system resume Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 17/33] media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 18/33] tracefs: Have tracefs directories not set OTH permission bits by default Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 19/33] ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create() Sasha Levin
2021-11-09  1:07 ` Sasha Levin [this message]
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 21/33] memstick: r592: Fix a UAF bug when removing the driver Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 22/33] lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 23/33] lib/xz: Validate the value before assigning it to an enum variable Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 24/33] tracing/cfi: Fix cmp_entries_* functions signature mismatch Sasha Levin
2021-11-09  1:07 ` [PATCH AUTOSEL 4.9 25/33] mwl8k: Fix use-after-free in mwl8k_fw_state_machine() Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 26/33] PM: hibernate: Get block device exclusively in swsusp_check() Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 27/33] iwlwifi: mvm: disable RX-diversity in powersave Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 28/33] smackfs: use __GFP_NOFAIL for smk_cipso_doi() Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 29/33] ARM: clang: Do not rely on lr register for stacktrace Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 30/33] ARM: 9136/1: ARMv7-M uses BE-8, not BE-32 Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 31/33] spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in bcm_qspi_probe() Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 32/33] parisc: fix warning in flush_tlb_all Sasha Levin
2021-11-09  1:08 ` [PATCH AUTOSEL 4.9 33/33] parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211109010807.1191567-20-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=andrealmeid@collabora.com \
    --cc=hdegoede@redhat.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rafael@kernel.org \
    --cc=sebastian.reichel@collabora.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).