Commit b54cdba
ARM: 9424/1: vfp: Use vfp_state_hold() in vfp_sync_hwstate().
vfp_sync_hwstate() uses preempt_disable() followed by local_bh_disable()
to ensure that it won't get interrupted while checking the VFP state.
This harms PREEMPT_RT because softirq handling can get preempted and
local_bh_disable() synchronizes the related section with a sleeping lock
which does not work with disabled preemption.
Use the vfp_state_hold() to synchronize the access.
Reviewed-by: Ard Biesheuvel <[email protected]>
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Russell King (Oracle) <[email protected]>1 parent f26bdbe commit b54cdba
1 file changed
+3
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
540 | 540 | | |
541 | 541 | | |
542 | 542 | | |
543 | | - | |
544 | | - | |
545 | | - | |
| 543 | + | |
546 | 544 | | |
547 | | - | |
| 545 | + | |
548 | 546 | | |
549 | 547 | | |
550 | 548 | | |
| |||
555 | 553 | | |
556 | 554 | | |
557 | 555 | | |
558 | | - | |
559 | | - | |
| 556 | + | |
560 | 557 | | |
561 | 558 | | |
562 | 559 | | |
| |||
0 commit comments