TencentOS-kernel/drivers
Hans de Goede f6bcb91b45 power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
[ Upstream commit a0f1ccd96c7049377d892a4299b6d5e47ec9179d ]

Commit 9c80662a74cd ("power: supply: axp288_charger: Add special handling
for HP Pavilion x2 10") added special handling for HP Pavilion x2 10
models which use the weird combination of a Type-C connector and the
non Type-C aware AXP288 PMIC.

This special handling was activated by a DMI match a the product-name
of "HP Pavilion x2 Detachable". Recently I've learned that there are
also older "HP Pavilion x2 Detachable" models with an AXP288 PMIC +
a micro-usb connector where we should not activate the special handling
for the Type-C connectors.

Extend the matching to also match on the DMI board-name and match on the
2 boards (one Bay Trail based one Cherry Trail based) of which we are
certain that they use the AXP288 + Type-C connector combination.

Note the DSDT code from these older (AXP288 + micro-USB) models contains
some AML code (which never runs under Linux) which reads the micro-USB
connector id-pin and if it is pulled to ground, which would normally mean
the port is in host mode!, then it sets the input-current-limit to 3A,
it seems HP is using the micro-USB port as a charging only connector
and identifies their own 3A capable charger though this hack which is a
major violation of the USB specs. Note HP also hardcodes a 2A limit
when the id-pin is not pulled to ground, which is also in violation
of the specs.

I've no intention to add support for HP's hack to support 3A charging
on these older models. By making the DMI matches for the Type-C equipped
models workaround more tighter, these older models will be treated just
like any other AXP288 + micro-USB equipped device and the input-current
limit will follow the BC 1.2 spec (using the defacto standard values
there where the BC 1.2 spec defines a range).

Fixes: 9c80662a74cd ("power: supply: axp288_charger: Add special handling for HP Pavilion x2 10")
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1896924
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-16 16:42:55 +08:00
..
accessibility
acpi ACPI: button: Add DMI quirk for Medion Akoya E2228T 2021-03-16 16:41:10 +08:00
amba
android binder: Remove bogus warning on failed same-process transaction 2021-03-16 16:38:35 +08:00
ata ata: sata_nv: Fix retrieving of active qcs 2021-03-16 16:39:39 +08:00
atm atm: nicstar: Unmap DMA on send error 2021-03-16 16:41:03 +08:00
auxdisplay
base PM: runtime: Resume the device earlier in __device_release_driver() 2021-03-16 16:40:31 +08:00
bcma
block nbd: fix a block_device refcount leak in nbd_release 2021-03-16 16:40:49 +08:00
bluetooth Bluetooth: hci_h5: fix memory leak in h5_close 2021-03-16 16:42:42 +08:00
bus mips: cdmm: fix use-after-free in mips_cdmm_bus_discover 2021-03-16 16:42:54 +08:00
cdrom
char virtio: virtio_console: fix DMA memory allocation for rproc serial 2021-03-16 16:40:54 +08:00
clk clk: meson: Kconfig: fix dependency for G12A 2021-03-16 16:42:51 +08:00
clocksource clocksource/drivers/timer-gx6605s: Fixup counter reload 2021-03-16 16:37:44 +08:00
connector
counter
cpufreq acpi-cpufreq: Honor _PSD table setting on new AMD CPUs 2021-03-16 16:39:58 +08:00
cpuidle cpuidle: Fixup IRQ state 2021-03-16 16:35:25 +08:00
crypto crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe 2021-03-16 16:42:49 +08:00
dax dax: Fix alloc_dax_region() compile warning 2021-03-16 16:36:36 +08:00
dca
devfreq PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out 2021-03-16 16:36:35 +08:00
dio
dma dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() 2021-03-16 16:42:52 +08:00
dma-buf dmabuf: fix NULL pointer dereference in dma_buf_release() 2021-03-16 16:37:40 +08:00
edac EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId 2021-03-16 16:42:49 +08:00
eisa
extcon extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips 2021-03-16 16:39:55 +08:00
firewire
firmware efi: EFI_EARLYCON should depend on EFI 2021-03-16 16:41:46 +08:00
fpga fpga: dfl: fix bug in port reset handshake 2021-03-16 16:32:23 +08:00
fsi
gnss gnss: sirf: fix error return code in sirf_probe() 2021-03-16 16:29:47 +08:00
gpio gpio: eic-sprd: break loop when getting NULL device resource 2021-03-16 16:42:27 +08:00
gpu drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() 2021-03-16 16:42:47 +08:00
greybus
hid HID: i2c-hid: add Vero K147 to descriptor override 2021-03-16 16:42:34 +08:00
hsi HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() 2021-03-16 16:42:54 +08:00
hv Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected 2021-03-16 16:41:31 +08:00
hwmon hwmon: (pwm-fan) Fix RPM calculation 2021-03-16 16:41:11 +08:00
hwspinlock
hwtracing coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() 2021-03-16 16:42:33 +08:00
i2c Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" 2021-03-16 16:42:37 +08:00
i3c i3c: master: Fix error return in cdns_i3c_master_probe() 2021-03-16 16:38:56 +08:00
ide
idle
iio iio: adc: mediatek: fix unset field 2021-03-16 16:41:28 +08:00
infiniband RDMA/cxgb4: Validate the number of CQEs 2021-03-16 16:42:51 +08:00
input Input: omap4-keypad - fix runtime PM error handling 2021-03-16 16:42:50 +08:00
interconnect interconnect: qcom: qcs404: Remove GPU and display RPM IDs 2021-03-16 16:42:11 +08:00
iommu iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs 2021-03-16 16:42:06 +08:00
ipack ipack: tpci200: fix error return code in tpci200_register() 2021-03-16 16:28:19 +08:00
irqchip irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend 2021-03-16 16:42:11 +08:00
isdn
leds leds: bcm6328, bcm6358: use devres LED registering function 2021-03-16 16:39:56 +08:00
lightnvm lightnvm: fix out-of-bounds write to array devices->info[] 2021-03-16 16:39:10 +08:00
macintosh macintosh/via-macii: Access autopoll_devs when inside lock 2021-03-16 16:33:39 +08:00
mailbox mailbox: avoid timer start from callback 2021-03-16 16:38:59 +08:00
mcb
md md: fix a warning caused by a race between concurrent md_ioctl()s 2021-03-16 16:42:35 +08:00
media media: max2175: fix max2175_set_csm_mode() error code 2021-03-16 16:42:54 +08:00
memory memory: emif: Remove bogus debugfs error handling 2021-03-16 16:39:52 +08:00
memstick memstick: fix a double-free bug in memstick_check 2021-03-16 16:42:51 +08:00
message scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() 2021-03-16 16:39:58 +08:00
mfd mfd: sprd: Add wakeup capability for PMIC IRQ 2021-03-16 16:40:48 +08:00
misc habanalabs: put devices before driver removal 2021-03-16 16:42:29 +08:00
mmc mmc: pxamci: Fix error return code in pxamci_probe 2021-03-16 16:42:51 +08:00
mtd mtd: spi-nor: Don't copy self-pointing struct around 2021-03-16 16:40:22 +08:00
mux
net cw1200: fix missing destroy_workqueue() on error in cw1200_init_common 2021-03-16 16:42:52 +08:00
nfc nfc: s3fwrn5: use signed integer for parsing GPIO numbers 2021-03-16 16:41:44 +08:00
ntb NTB: hw: amd: fix an issue about leak system resources 2021-03-16 16:39:10 +08:00
nubus
nvdimm libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr 2021-03-16 16:34:18 +08:00
nvme nvme: free sq/cq dbbuf pointers when dbbuf set fails 2021-03-16 16:41:39 +08:00
nvmem nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() 2021-03-16 16:38:43 +08:00
of of/address: Fix of_node memory leak in of_dma_is_coherent 2021-03-16 16:40:51 +08:00
opp opp: Reduce the size of critical section in _opp_table_kref_release() 2021-03-16 16:40:41 +08:00
oprofile
parisc parisc: mask out enable and reserved bits from sba imask 2021-03-16 16:33:54 +08:00
parport
pci PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 2021-03-16 16:40:33 +08:00
pcmcia
perf drivers/perf: thunderx2_pmu: Fix memory resource error handling 2021-03-16 16:38:23 +08:00
phy phy: tegra: xusb: Fix dangling pointer on probe failure 2021-03-16 16:41:41 +08:00
pinctrl pinctrl: aspeed: Fix GPIO requests on pass-through banks 2021-03-16 16:42:26 +08:00
platform platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration 2021-03-16 16:42:53 +08:00
pnp
power power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching 2021-03-16 16:42:55 +08:00
powercap powercap: restrict energy meter to root access 2021-03-16 16:40:32 +08:00
pps
ps3
ptp
pwm pwm: img: Fix null pointer access in probe 2021-03-16 16:39:01 +08:00
rapidio rapidio: fix the missed put_device() for rio_mport_add_riodev 2021-03-16 16:38:59 +08:00
ras
regulator regulator: workaround self-referent regulators 2021-03-16 16:41:29 +08:00
remoteproc remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load 2021-03-16 16:34:10 +08:00
reset
rpmsg rpmsg: glink: Use complete_all for open states 2021-03-16 16:39:50 +08:00
rtc rtc: pcf2127: fix pcf2127_nvmem_read/write() returns 2021-03-16 16:42:37 +08:00
s390 s390/qeth: fix tear down of async TX buffers 2021-03-16 16:41:43 +08:00
sbus
scsi scsi: core: Fix VPD LUN ID designator priorities 2021-03-16 16:42:47 +08:00
sfi
sh
siox
slimbus slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI 2021-03-16 16:42:54 +08:00
soc drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe 2021-03-16 16:42:50 +08:00
soundwire soundwire: bus: disable pm_runtime in sdw_slave_delete 2021-03-16 16:36:55 +08:00
spi spi: fix resource leak for drivers without .remove callback 2021-03-16 16:42:50 +08:00
spmi
ssb
staging staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c 2021-03-16 16:42:45 +08:00
target scsi: target: iscsi: Fix cmd abort fabric stop race 2021-03-16 16:41:40 +08:00
tc
tee optee: add writeback to valid memory type 2021-03-16 16:41:45 +08:00
thermal thermal: rcar_thermal: Handle probe error gracefully 2021-03-16 16:37:03 +08:00
thunderbolt thunderbolt: Fix use-after-free in remove_unplugged_switch() 2021-03-16 16:42:03 +08:00
tty serial_core: Check for port state when tty is in error state 2021-03-16 16:42:34 +08:00
uio uio: Fix use-after-free in uio_unregister_device() 2021-03-16 16:40:53 +08:00
usb usb/max3421: fix return error code in max3421_probe() 2021-03-16 16:42:48 +08:00
vfio vfio/pci: Bypass IGD init in case of -ENODEV 2021-03-16 16:40:46 +08:00
vhost vhost scsi: fix cmd completion race 2021-03-16 16:41:39 +08:00
video video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() 2021-03-16 16:42:47 +08:00
virt drivers/virt/fsl_hypervisor: Fix error handling path 2021-03-16 16:38:36 +08:00
virtio virtio_ring: Avoid loop when vq is broken in virtqueue_poll 2021-03-16 16:34:34 +08:00
visorbus
vlynq
vme
w1 w1: mxc_w1: Fix timeout resolution problem leading to bus error 2021-03-16 16:39:58 +08:00
watchdog drivers: watchdog: rdc321x_wdt: Fix race condition bugs 2021-03-16 16:39:51 +08:00
xen xen/events: block rogue events for some time 2021-03-16 16:39:38 +08:00
zorro
Kconfig
Makefile