mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +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
					
				
					 1 changed files with 2 additions and 1 deletions
				
			
		|  | @ -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…
	
	Add table
		
		Reference in a new issue
	
	 Jonathan Neuschäfer
						Jonathan Neuschäfer