mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-29 13:00:35 +00:00
drm/udl: Fix unaligned memory access in udl_render_hline
On SPARC, the udl driver filled my kernel log with these messages: [186668.910612] Kernel unaligned access at TPC[76609c] udl_render_hline+0x13c/0x3a0 Use put_unaligned_be16 to avoid them. On x86 this results in the same code, but on SPARC the compiler emits two single-byte stores. Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net> Acked-by: David Airlie <airlied@linux.ie> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: http://patchwork.freedesktop.org/patch/msgid/20170407200229.20642-1-j.neuschaefer@gmx.net
This commit is contained in:
parent
a71c9a1c77
commit
0c45b36f8a
@ -14,6 +14,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/fb.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
#include <drm/drmP.h>
|
||||
#include "udl_drv.h"
|
||||
@ -163,7 +164,7 @@ static void udl_compress_hline16(
|
||||
const u8 *const start = pixel;
|
||||
const uint16_t repeating_pixel_val16 = pixel_val16;
|
||||
|
||||
*(uint16_t *)cmd = cpu_to_be16(pixel_val16);
|
||||
put_unaligned_be16(pixel_val16, cmd);
|
||||
|
||||
cmd += 2;
|
||||
pixel += bpp;
|
||||
|
Loading…
Reference in New Issue
Block a user