linux/drivers
Louis-Alexis Eyraud 6884fc89d3 net: ethernet: mtk-star-emac: rearm interrupts in rx_poll only when advised
[ Upstream commit e54b4db35e ]

In mtk_star_rx_poll function, on event processing completion, the
mtk_star_emac driver calls napi_complete_done but ignores its return
code and enable RX DMA interrupts inconditionally. This return code
gives the info if a device should avoid rearming its interrupts or not,
so fix this behaviour by taking it into account.

Fixes: 8c7bd5a454 ("net: ethernet: mtk-star-emac: new driver")
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://patch.msgid.link/20250424-mtk_star_emac-fix-spinlock-recursion-issue-v2-2-f3fde2e529d8@collabora.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-09 09:39:38 +02:00
..
accessibility speakup: Fix sizeof() vs ARRAY_SIZE() bug 2024-06-16 13:39:11 +02:00
acpi ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls 2025-05-02 07:44:36 +02:00
amba amba: bus: fix refcount leak 2023-09-19 12:22:47 +02:00
android binder: fix UAF caused by offsets overwrite 2024-09-12 11:07:51 +02:00
ata ahci: add PCI ID for Marvell 88SE9215 SATA Controller 2025-05-02 07:43:55 +02:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-09-04 13:23:18 +02:00
auxdisplay auxdisplay: hd44780: Fix an API misuse in hd44780.c 2025-05-02 07:44:26 +02:00
base drivers: base: devres: Allow to release group on device release 2025-05-02 07:43:57 +02:00
bcma Driver core update for 5.15-rc1 2021-09-01 08:44:42 -07:00
block loop: aio inherit the ioprio of original request 2025-05-02 07:44:38 +02:00
bluetooth Bluetooth: btrtl: Prevent potential NULL dereference 2025-05-02 07:44:09 +02:00
bus bus: mhi: host: Fix race between unprepare and queue_buf 2025-05-02 07:44:02 +02:00
cdrom scsi: sr: cdrom: Move cdrom_read_cdda_bpc() into the sr driver 2021-07-30 22:13:09 -04:00
char virtio_console: fix missing byte order handling for cols and rows 2025-05-02 07:44:30 +02:00
clk clk: check for disabled clock-provider in of_clk_get_hw_from_clkspec() 2025-05-02 07:44:34 +02:00
clocksource clocksource/drivers/stm32-lptimer: Use wakeup capable instead of init wakeup 2025-05-02 07:44:02 +02:00
comedi comedi: jr3_pci: Fix synchronous deletion of timer 2025-05-02 07:44:39 +02:00
connector net/connector: Add const qualifier to cb_id 2020-12-16 11:06:49 -08:00
counter counter: microchip-tcb-capture: Fix undefined counter channel state on probe 2025-04-10 14:31:56 +02:00
cpufreq cpufreq: cppc: Fix invalid return value in .get() callback 2025-05-02 07:44:29 +02:00
cpuidle cpuidle: Avoid potential overflow in integer multiplication 2024-04-13 13:01:43 +02:00
crypto crypto: atmel-sha204a - Set hwrng quality to lowest possible 2025-05-02 07:44:39 +02:00
cxl cxl/mem: Fix shutdown order 2023-11-20 11:08:27 +01:00
dax dax/kmem: Pass valid argument to memory_group_register_static 2023-07-23 13:47:17 +02:00
dca dca: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:25:20 +02:00
devfreq PM / devfreq: Synchronize devfreq_monitor_[start/stop] 2024-02-23 08:54:38 +01:00
dio drivers: dio: fix possible memory leak in dio_init() 2022-12-31 13:14:27 +01:00
dma dmaengine: dmatest: Fix dmatest waiting less when interrupted 2025-05-02 07:44:35 +02:00
dma-buf udmabuf: fix a buf size overflow issue during udmabuf creation 2025-05-02 07:44:36 +02:00
edac EDAC/altera: Set DDR and SDMMC interrupt mask before registration 2025-05-09 09:39:36 +02:00
eisa EISA: use DEVICE_ATTR_RO() helper macro 2021-06-04 15:28:34 +02:00
extcon extcon: max8997: select IRQ_DOMAIN instead of depending on it 2024-06-16 13:39:39 +02:00
firewire firewire: nosy: ensure user_length is taken into account when fetching packet contents 2024-05-17 11:51:01 +02:00
firmware firmware: imx-scu: fix OF node leak in .probe() 2025-04-10 14:31:53 +02:00
fpga fpga: region: add owner module and take its refcount 2024-06-16 13:39:38 +02:00
fsi fsi: aspeed: Reset master errors after CFAM reset 2023-09-19 12:22:46 +02:00
gnss treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
gpio gpio: tegra186: fix resource handling in ACPI probe path 2025-05-02 07:44:27 +02:00
gpu drm/nouveau: Fix WARN_ON in nouveau_fence_context_kill() 2025-05-09 09:39:35 +02:00
greybus greybus: Fix use-after-free bug in gb_interface_release due to race condition. 2024-07-05 09:14:23 +02:00
hid HID: pidff: Fix null pointer dereference in pidff_find_fields 2025-05-02 07:43:54 +02:00
hsi HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition 2025-05-02 07:44:06 +02:00
hv Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio() 2025-04-10 14:31:49 +02:00
hwmon hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9} 2025-04-10 14:32:04 +02:00
hwspinlock hwspinlock: Introduce hwspin_lock_bust() 2024-09-12 11:07:41 +02:00
hwtracing coresight: catu: Fix number of pages while using 64k pages 2025-04-10 14:32:01 +02:00
i2c i2c: imx-lpi2c: Fix clock count when probe defers 2025-05-09 09:39:36 +02:00
i3c i3c: Add NULL pointer check in i3c_master_queue_ibi() 2025-05-02 07:44:03 +02:00
idle intel_idle: Handle older CPUs, which stop the TSC in deeper C states, correctly 2025-03-13 12:51:00 +01:00
iio iio: adc: ad7768-1: Fix conversion result sign 2025-05-02 07:44:26 +02:00
infiniband qibfs: fix _another_ leak 2025-05-02 07:44:35 +02:00
input Input: xpad - add support for wooting two he (arm) 2025-02-01 18:24:02 +01:00
interconnect interconnect: qcom: sm8250: Enable sync_state 2024-10-17 15:11:06 +02:00
iommu iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57) 2025-05-09 09:39:37 +02:00
ipack ipack: ipoctal: fix module reference leak 2021-09-27 17:38:49 +02:00
irqchip irqchip/sunxi-nmi: Add missing SKIP_WAKE flag 2025-02-01 18:24:00 +01:00
isdn mISDN: Fix a use after free in hfcmulti_tx() 2024-08-19 05:45:25 +02:00
leds leds: lp8860: Write full EEPROM, not only half of it 2025-03-13 12:50:23 +01:00
macintosh macintosh/therm_windtunnel: fix module unload. 2024-08-19 05:45:06 +02:00
mailbox mailbox: arm_mhuv2: clean up loop in get_irq_chan_comb() 2024-12-14 19:51:04 +01:00
mcb mcb: fix a double free bug in chameleon_parse_gdd() 2025-05-02 07:44:31 +02:00
md dm: always update the array size in realloc_argv on success 2025-05-09 09:39:37 +02:00
media media: streamzap: fix race between device disconnection and urb callback 2025-05-02 07:44:25 +02:00
memory memory: tegra20-emc: Correct memory device mask 2025-03-13 12:50:34 +01:00
memstick memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove 2025-04-10 14:31:56 +02:00
message scsi: fusion: Remove unused variable 'rc' 2024-12-14 19:51:02 +01:00
mfd mfd: ene-kb3930: Fix a potential NULL pointer dereference 2025-05-02 07:44:03 +02:00
misc mei: me: add panther lake H DID 2025-05-02 07:44:31 +02:00
mmc mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe 2025-05-09 09:39:36 +02:00
most most: fix control-message timeouts 2021-11-18 19:16:08 +01:00
mtd mtd: rawnand: Add status chack in r852_ready() 2025-05-02 07:44:04 +02:00
mux mux: gpio: Simplify code by using dev_err_probe() 2021-04-02 16:28:53 +02:00
net net: ethernet: mtk-star-emac: rearm interrupts in rx_poll only when advised 2025-05-09 09:39:38 +02:00
nfc nfc: pn533: Add poll mod list filling check 2024-09-04 13:23:40 +02:00
ntb ntb: reduce stack usage in idt_scan_mws 2025-05-02 07:44:36 +02:00
nubus nubus: Partially revert proc_create_single_data() conversion 2023-07-05 18:25:05 +01:00
nvdimm nvdimm: rectify the illogical code within nd_dax_probe() 2024-12-14 19:51:41 +01:00
nvme nvme: fixup scan failure for non-ANA multipath controllers 2025-05-02 07:44:40 +02:00
nvmem nvmem: core: improve range check for nvmem_cell_write() 2025-03-13 12:50:32 +01:00
of of/irq: Fix device node refcount leakages in of_irq_init() 2025-05-02 07:44:06 +02:00
opp OPP: debugfs: Fix warning around icc_get_name() 2024-03-26 18:21:23 -04:00
parisc parisc: iosapic.c: Fix sparse warnings 2023-10-06 13:18:15 +02:00
parport parport_pc: add support for ASIX AX99100 2025-03-13 12:50:46 +01:00
pci PCI: Release resource invalidated by coalescing 2025-05-02 07:44:40 +02:00
pcmcia pcmcia: Use resource_size function on resource object 2024-09-12 11:07:46 +02:00
perf perf: arm_pmu: Don't disable counter in armpmu_add() 2025-05-02 07:43:53 +02:00
phy phy: tegra: xusb: Fix return value of tegra_xusb_find_port_node function 2025-05-02 07:44:19 +02:00
pinctrl pinctrl: qcom: Clear latched interrupt status when changing IRQ type 2025-05-02 07:44:06 +02:00
platform asus-laptop: Fix an uninitialized variable 2025-05-02 07:44:12 +02:00
pnp PNP: ACPI: fix fortify warning 2024-02-23 08:54:38 +01:00
power power: supply: max77693: Fix wrong conversion of charge input threshold value 2025-04-10 14:32:00 +02:00
powercap powercap: call put_device() on an error path in powercap_register_control_type() 2025-04-10 14:31:50 +02:00
pps pps: Fix a use-after-free 2025-03-13 12:50:47 +01:00
ps3 powerpc/ps3: Warn on PS3 device errors 2021-06-10 21:44:58 +10:00
ptp pps: Fix a use-after-free 2025-03-13 12:50:47 +01:00
pwm pwm: fsl-ftm: Handle clk_get_rate() returning 0 2025-05-02 07:43:58 +02:00
rapidio rapidio: fix an API misues when rio_add_net() fails 2025-03-13 12:51:03 +01:00
ras RAS/CEC: Correct ce_add_elem()'s returned values 2021-04-07 11:52:26 +02:00
regulator regulator: check that dummy regulator has been probed before using it 2025-04-10 14:31:54 +02:00
remoteproc remoteproc: qcom_q6v5_mss: Handle platforms with one power domain 2025-04-10 14:32:00 +02:00
reset reset: k210: fix OF node leak in probe() error path 2024-10-17 15:10:49 +02:00
rpmsg rpmsg: glink: Propagate TX failures in intentless mode as well 2024-12-14 19:51:19 +01:00
rtc rtc: pcf85063: fix potential OOB write in PCF85063 NVMEM read 2025-03-13 12:50:11 +01:00
s390 s390/tty: Fix a potential memory leak bug 2025-05-02 07:44:34 +02:00
sbus module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
scsi scsi: pm80xx: Set phy_attached to zero when device is gone 2025-05-02 07:44:38 +02:00
sh sh: clk: Fix clk_enable() to return 0 on NULL clk 2025-01-09 13:28:34 +01:00
siox siox: fix possible memory leak in siox_device_add() 2022-11-26 09:24:36 +01:00
slimbus slimbus: messaging: Free transaction ID in delayed interrupt scenario 2025-03-13 12:51:10 +01:00
soc soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe() 2025-05-02 07:44:26 +02:00
soundwire soundwire: slave: fix an OF node reference leak in soundwire slave device 2025-04-10 14:32:01 +02:00
spi spi: cadence-qspi: Fix probe on AM62A LP SK 2025-05-02 07:44:00 +02:00
spmi spmi: hisi-spmi-controller: Do not override device identifier 2024-07-05 09:14:20 +02:00
ssb ssb: Fix division by zero issue in ssb_calc_clock_rate 2024-09-04 13:23:20 +02:00
staging staging: media: imx: fix OF node leak in imx_media_add_of_subdevs() 2025-03-13 12:50:09 +01:00
target scsi: target: core: Fix null-ptr-deref in target_alloc_device() 2024-11-01 01:52:34 +01:00
tc The main MIPS changes for 5.6: 2020-01-31 11:28:31 -08:00
tee tee: optee: Fix supplicant wait loop 2025-03-13 12:50:53 +01:00
thermal thermal/drivers/rockchip: Add missing rk3328 mapping entry 2025-05-02 07:44:05 +02:00
thunderbolt thunderbolt: Add support for Intel Panther Lake-M/P 2025-01-09 13:28:43 +01:00
tty serial: sifive: lock port in startup()/shutdown() callbacks 2025-05-02 07:44:31 +02:00
uio Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic 2024-09-12 11:07:51 +02:00
usb usb: gadget: aspeed: Add NULL pointer check in ast_vhub_init_dev() 2025-05-02 07:44:35 +02:00
vdpa vdpa/mlx5: Fix oversized null mkey longer than 32bit 2025-05-02 07:44:02 +02:00
vfio vfio/pci: Enable iowrite64 and ioread64 for vfio pci 2025-03-13 12:50:36 +01:00
vhost vhost/scsi: null-ptr-dereference in vhost_scsi_get_req() 2024-10-17 15:11:47 +02:00
video backlight: led_bl: Hold led_access lock when calling led_sysfs_disable() 2025-05-02 07:44:27 +02:00
virt drivers: virt: acrn: hsm: Use kzalloc to avoid info leak in pmcmd_ioctl 2025-03-13 12:51:11 +01:00
virtio vdpa: Add eventfd for the vdpa callback 2024-10-17 15:11:06 +02:00
visorbus visorbus: fix error return code in visorchipset_init() 2021-06-04 15:27:26 +02:00
vlynq bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
vme vme: Fix error not catched in fake_init() 2022-12-31 13:14:30 +01:00
w1 w1: fix loop in w1_fini() 2023-07-23 13:47:20 +02:00
watchdog watchdog: it87_wdt: add PWRGD enable quirk for Qotom QCML04 2025-01-09 13:28:39 +01:00
xen xen: Change xen-acpi-processor dom0 dependency 2025-05-02 07:44:36 +02:00
zorro zorro: Drop useless (and hardly used) .driver member in struct zorro_dev 2021-08-05 14:37:04 +02:00
Kconfig firmware: include drivers/firmware/Kconfig unconditionally 2021-10-07 16:51:26 +02:00
Makefile virtio: always enter drivers/virtio/ 2021-12-22 09:32:39 +01:00