From: David Miller Date: Mon, 13 Oct 2008 09:35:23 +0000 (+0100) Subject: serial: Make uart_port's ioport "unsigned long". X-Git-Tag: v2.6.28-rc1~670 X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;h=0c8946d97ae7d2d6691f8290a10faa63453b63f8;p=net-next-2.6.git serial: Make uart_port's ioport "unsigned long". Otherwise the top 32-bits of the resource value get chopped off on 64-bit systems, and the resulting I/O accesses go to random places. Thanks to testing and debugging by Josip Rodin, which helped track this down. Signed-off-by: David S. Miller Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds --- diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 3b2f6c04855..e27f216361f 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -241,7 +241,7 @@ typedef unsigned int __bitwise__ upf_t; struct uart_port { spinlock_t lock; /* port lock */ - unsigned int iobase; /* in/out[bwl] */ + unsigned long iobase; /* in/out[bwl] */ unsigned char __iomem *membase; /* read/write[bwl] */ unsigned int irq; /* irq number */ unsigned int uartclk; /* base uart clock */