android_kernel_motorola_sm6375/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Guenter Roeck 6082250cca i2c: smbus: Send alert notifications to all devices if source not found
[ Upstream commit f6c29f710c1ff2590109f83be3e212b86c01e0f3 ]

If a SMBus alert is received and the originating device is not found,
the reason may be that the address reported on the SMBus alert address
is corrupted, for example because multiple devices asserted alert and
do not correctly implement SMBus arbitration.

If this happens, call alert handlers on all devices connected to the
given I2C bus, in the hope that this cleans up the situation.

This change reliably fixed the problem on a system with multiple devices
on a single bus. Example log where the device on address 0x18 (ADM1021)
and on address 0x4c (ADT7461A) both had the alert line asserted:

smbus_alert 3-000c: SMBALERT# from dev 0x0c, flag 0
smbus_alert 3-000c: no driver alert()!
smbus_alert 3-000c: SMBALERT# from dev 0x0c, flag 0
smbus_alert 3-000c: no driver alert()!
lm90 3-0018: temp1 out of range, please check!
lm90 3-0018: Disabling ALERT#
lm90 3-0029: Everything OK
lm90 3-002a: Everything OK
lm90 3-004c: temp1 out of range, please check!
lm90 3-004c: temp2 out of range, please check!
lm90 3-004c: Disabling ALERT#

Fixes: b5527a7766 ("i2c: Add SMBus alert support")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
[wsa: fixed a typo in the commit message]
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:33:50 +02:00
..
accessibility
acpi ACPI: SBS: manage alarm sysfs attribute through psy core 2024-08-19 05:33:47 +02:00
amba
android binder: fix hang of unregistered readers 2024-08-19 05:33:37 +02:00
ata ata: libata-core: Fix double free on error 2024-07-05 09:08:31 +02:00
atm atm: idt77252: fix a memleak in open_card_ubr0 2024-02-23 08:25:06 +01:00
auxdisplay
base devres: Fix memory leakage caused by driver API devm_free_percpu() 2024-08-19 05:33:43 +02:00
bcma
block rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings 2024-08-19 05:33:40 +02:00
bluetooth Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x13d3:0x3591 2024-08-19 05:33:40 +02:00
bus bus: tegra-aconnect: Update dependency to ARCH_TEGRA 2024-03-26 18:22:15 -04:00
cdrom
char hwrng: amd - Convert PCIBIOS_* return codes to errnos 2024-08-19 05:33:37 +02:00
clk clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use 2024-08-19 05:33:37 +02:00
clocksource clocksource/drivers/sh_cmt: Address race condition for clock events 2024-08-19 05:33:46 +02:00
connector
counter
cpufreq cpufreq: exit() callback is optional 2024-06-16 13:28:34 +02:00
cpuidle
crypto crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak 2024-06-16 13:28:51 +02:00
dax
dca
devfreq
dio
dma dmaengine: ioatdma: Fix missing kmem_cache_destroy() 2024-07-05 09:08:23 +02:00
dma-buf dma-buf/sw-sync: don't enable IRQ from sync_print_obj() 2024-06-16 13:28:47 +02:00
edac EDAC, i10nm: make skx_common.o a separate module 2024-08-19 05:33:25 +02:00
eisa
extcon extcon: max8997: select IRQ_DOMAIN instead of depending on it 2024-06-16 13:28:43 +02:00
firewire firewire: nosy: ensure user_length is taken into account when fetching packet contents 2024-05-17 11:43:54 +02:00
firmware firmware: turris-mox-rwtm: Initialize completion before mailbox 2024-08-19 05:33:28 +02:00
fpga
fsi
gnss
gpio gpio: davinci: Validate the obtained number of IRQs 2024-07-05 09:08:28 +02:00
gpu drm/amdgpu: Fix the null pointer dereference to ras_manager 2024-08-19 05:33:47 +02:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-07-05 09:08:20 +02:00
hid HID: wacom: Modify pen IDs 2024-08-19 05:33:45 +02:00
hsi
hv hv_utils: drain the timesync packets on onchannelcallback 2024-07-05 09:08:20 +02:00
hwmon hwmon: (max6697) Fix swapped temp{1,8} critical alarms 2024-08-19 05:33:26 +02:00
hwspinlock
hwtracing intel_th: pci: Add Lunar Lake support 2024-07-05 09:08:19 +02:00
i2c i2c: smbus: Send alert notifications to all devices if source not found 2024-08-19 05:33:50 +02:00
i3c i3c: master: cdns: Update maximum prescaler value for i2c clock 2024-02-23 08:25:02 +01:00
ide
idle
iio iio: chemical: bme680: Fix sensor data read operation 2024-07-05 09:08:29 +02:00
infiniband RDMA/iwcm: Fix a use-after-free related to destroying CM IDs 2024-08-19 05:33:39 +02:00
input Input: elan_i2c - do not leave interrupt disabled on suspend failure 2024-08-19 05:33:33 +02:00
interconnect interconnect: Treat xlate() returning NULL node as an error 2024-01-08 11:29:45 +01:00
iommu iommu/amd: Fix sysfs leak in iommu init 2024-07-05 09:08:16 +02:00
ipack
irqchip irqchip/mbigen: Fix mbigen node address layout 2024-08-19 05:33:45 +02:00
isdn mISDN: Fix a use after free in hfcmulti_tx() 2024-08-19 05:33:42 +02:00
leds leds: ss4200: Convert PCIBIOS_* return codes to errnos 2024-08-19 05:33:37 +02:00
lightnvm
macintosh macintosh/therm_windtunnel: fix module unload. 2024-08-19 05:33:34 +02:00
mailbox
mcb mcb: fix error handling for different scenarios when parsing 2023-11-28 16:50:19 +00:00
md md/raid5: avoid BUG_ON() while continue reshape after reassembling 2024-08-19 05:33:46 +02:00
media media: uvcvideo: Fix the bandwdith quirk on USB 3.x 2024-08-19 05:33:48 +02:00
memory
memstick
message
mfd mfd: omap-usb-tll: Use struct_size to allocate tll 2024-08-19 05:33:32 +02:00
misc mei: demote client disconnect warning on suspend to debug 2024-07-27 10:38:29 +02:00
mmc mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro() 2024-07-05 09:08:29 +02:00
mtd ubi: eba: properly rollback inside self_check_eba 2024-08-19 05:33:38 +02:00
mux
net net: fec: Stop PPS on driver remove 2024-08-19 05:33:46 +02:00
nfc NFC: trf7970a: disable all regulators on removal 2024-05-02 16:18:33 +02:00
ntb ntb: Fix calculation ntb_transport_tx_free_entry() 2023-09-23 10:59:55 +02:00
nubus
nvdimm nd_btt: Make BTT lanes preemptible 2023-11-20 10:30:12 +01:00
nvme nvme-pci: add missing condition check for existence of mapped data 2024-08-19 05:33:42 +02:00
nvmem nvmem: meson-efuse: Fix return value of nvmem callbacks 2024-07-18 11:40:55 +02:00
of of: gpio unittest kfree() wrong object 2024-02-23 08:25:15 +01:00
opp
oprofile
parisc parisc: iosapic.c: Fix sparse warnings 2023-10-10 21:46:39 +02:00
parport dev/parport: fix the array out-of-bounds risk 2024-08-19 05:33:43 +02:00
pci PCI: rockchip: Use GPIOD_OUT_LOW flag while requesting ep_gpio 2024-08-19 05:33:43 +02:00
pcmcia pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() 2023-11-20 10:30:14 +01:00
perf perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:00:03 +02:00
phy phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP 2024-02-23 08:25:06 +01:00
pinctrl pinctrl: freescale: mxs: Fix refcount of child 2024-08-19 05:33:34 +02:00
platform platform: mips: cpu_hwmon: Disable driver on unsupported hardware 2024-08-19 05:33:39 +02:00
pnp PNP: ACPI: fix fortify warning 2024-02-23 08:24:54 +01:00
power power: rt9455: hide unused rt9455_boost_voltage_values 2024-05-17 11:43:48 +02:00
powercap
pps
ps3
ptp ptp: Fix error message on failed pin verification 2024-07-05 09:08:11 +02:00
pwm pwm: stm32: Always do lazy disabling 2024-08-19 05:33:26 +02:00
rapidio
ras
regulator regulator: core: Fix modpost error "regulator_get_regmap" undefined 2024-07-05 09:08:23 +02:00
remoteproc remoteproc: imx_rproc: Skip over memory region when node value is NULL 2024-08-19 05:33:44 +02:00
reset reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning 2024-01-25 14:34:20 -08:00
rpmsg rpmsg: virtio: Free driver_override when rpmsg_remove() 2024-02-23 08:24:48 +01:00
rtc rtc: isl1208: Fix return value of nvmem callbacks 2024-08-19 05:33:39 +02:00
s390 s390/sclp: Prevent release of buffer in I/O 2024-08-19 05:33:48 +02:00
sbus
scsi scsi: qla2xxx: validate nvme_local_port correctly 2024-08-19 05:33:38 +02:00
sfi
sh
siox
slimbus slimbus: core: Remove usage of the deprecated ida_simple_xx() API 2024-04-13 12:51:26 +02:00
soc soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message 2024-07-05 09:08:28 +02:00
soundwire soundwire: cadence: fix invalid PDI offset 2024-06-16 13:28:41 +02:00
spi spi: imx: Don't expect DMA for i.MX{25,35,50,51,53} cspi devices 2024-07-27 10:38:32 +02:00
spmi
ssb
staging wifi: wilc1000: fix ies_len type in connect path 2024-07-18 11:40:50 +02:00
target scsi: target: Fix SELinux error when systemd-modules loads the target module 2024-05-17 11:43:51 +02:00
tc
tee
thermal thermal: core: prevent potential string overflow 2023-11-20 10:30:09 +01:00
thunderbolt
tty tty: mcf: MCF54418 has 10 UARTS 2024-07-05 09:08:30 +02:00
uio uio: Fix use-after-free in uio_open 2024-01-25 14:34:21 -08:00
usb USB: move snd_usb_pipe_sanity_check into the USB core 2024-08-19 05:33:30 +02:00
vfio vfio/platform: Create persistent IRQ handlers 2024-04-13 12:51:34 +02:00
vhost vhost: Add smp_rmb() in vhost_vq_avail_empty() 2024-05-02 16:18:29 +02:00
video fbdev: savage: Handle err return when savagefb_check_var failed 2024-06-16 13:28:50 +02:00
virt
virtio virtio: delete vq in vp_find_vqs_msix() when request_irq() fails 2024-06-16 13:28:46 +02:00
visorbus
vlynq
vme
w1
watchdog watchdog: stm32_iwdg: initialize default timeout 2024-03-26 18:22:24 -04:00
xen xen/events: close evtchn after mapping cleanup 2024-04-13 12:51:29 +02:00
zorro
Kconfig
Makefile