Skip to content

Conversation

@P33M
Copy link
Contributor

@P33M P33M commented Feb 15, 2018

Occasional crashes have been seen where the FIQ code dereferences
invalid/random pointers immediately after being set up, leading to
panic on boot.

The crash occurs as the FIQ code races against hcd_init_fiq() and
the hcd_init_fiq() code races against the outstanding memory stores
from dwc_otg_hcd_init(). Use explicit barriers after touching
driver state.

Ref.
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=197689&start=50#p1272920
https://www.raspberrypi.org/forums/viewtopic.php?f=53&p=1271589#p1263432

Occasional crashes have been seen where the FIQ code dereferences
invalid/random pointers immediately after being set up, leading to
panic on boot.

The crash occurs as the FIQ code races against hcd_init_fiq() and
the hcd_init_fiq() code races against the outstanding memory stores
from dwc_otg_hcd_init(). Use explicit barriers after touching
driver state.
@pelwell pelwell merged commit 1f9709b into raspberrypi:rpi-4.14.y Feb 15, 2018
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Feb 20, 2018
kernel: Add support for SuperAudioBoard sound card (#2386)
See: raspberrypi/linux#2386

kernel: Revert downstream wm8804 changes
See: raspberrypi/linux#2364

kernel: Generic Rotary Encoder overlay for multiple instances (#2388)
See: raspberrypi/linux#2388

kernel: dwc_otg: Fix a regression when dequeueing isochronous transfers
See: raspberrypi/linux#2380

kernel: dwc_otg: add smp_mb() to prevent driver state corruption on boot
See: raspberrypi/linux#2382

kernel: overlays: Allow multiple instances of gpio-ir[-tx]
kernel: overlay: Add missing pinctrl reference to gpio-ir

kernel: properly fix S24_LE mode with pcm512x codec
See: raspberrypi/linux#2365
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this pull request Feb 20, 2018
kernel: Add support for SuperAudioBoard sound card (#2386)
See: raspberrypi/linux#2386

kernel: Revert downstream wm8804 changes
See: raspberrypi/linux#2364

kernel: Generic Rotary Encoder overlay for multiple instances (#2388)
See: raspberrypi/linux#2388

kernel: dwc_otg: Fix a regression when dequeueing isochronous transfers
See: raspberrypi/linux#2380

kernel: dwc_otg: add smp_mb() to prevent driver state corruption on boot
See: raspberrypi/linux#2382

kernel: overlays: Allow multiple instances of gpio-ir[-tx]
kernel: overlay: Add missing pinctrl reference to gpio-ir

kernel: properly fix S24_LE mode with pcm512x codec
See: raspberrypi/linux#2365
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants