Commit 1fb4444
Paul Selles
Fixed misaligned MMIO data member for ARM64 support
The switchtec drivers uses packed structs for MMIO addressing to the PCIe
switch BARs. Within the packed struct ntb_info_regs the u64 member ep_map
was found to be misaligned. The misalignment was discovered on an ARM64
processor through a kernel panic traced to a Load Register operation when
addressing the misaligned member. The misaligned member is currently only
being used by the ntb_hw_switchtec driver.
Dividing the misaligned u64 member into two u32 members resolves the
misalignment. Minor bitwise operations in ntb_hw_switchtec driver were
added to recover u64 value. Adding this fix will allow the ntb_hw_switchtec
driver to support the ARM64 architecture.
Signed-off-by: Paul Selles <[email protected]>1 parent dbd4558 commit 1fb4444
2 files changed
+5
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
304 | | - | |
| 304 | + | |
| 305 | + | |
305 | 306 | | |
306 | 307 | | |
307 | 308 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
904 | 904 | | |
905 | 905 | | |
906 | 906 | | |
907 | | - | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
908 | 910 | | |
909 | 911 | | |
910 | 912 | | |
| |||
0 commit comments