lkml.org 
[lkml]   [2015]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 1/1] x86/early_printk: Use __iomem address space for IO
Andy,

On Fri, 9 Oct 2015, Andy Shevchenko wrote:
> #ifdef CONFIG_PCI
> static void mem32_serial_out(unsigned long addr, int offset, int value)
> {
> - u32 *vaddr = (u32 *)addr;
> + void __iomem *vaddr = (void __iomem *)addr;
> /* shift implied by pointer type */
> writel(value, vaddr + offset);

This is broken. Assume vaddr = 0x1000 and offset = 1

==> u32 *vaddr = 0x1000;
==> vaddr + offset = 0x1004

with your change

==> void __iomem *vaddr = 0x1000;

==> vaddr + offset = 0x1001

This comment is there for a reason:
> /* shift implied by pointer type */

Thanks,

tglx


\
 
 \ /
  Last update: 2015-10-11 21:41    [W:0.097 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site