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