| From | Alan Cox <> | Subject | [PATCH 22/80] serial: Make uart_port's ioport "unsigned long". | Date | Mon, 13 Oct 2008 10:35:23 +0100 |
| |
From: David Miller <davem@davemloft.net>
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 <davem@davemloft.net> Signed-off-by: Alan Cox <alan@redhat.com> ---
include/linux/serial_core.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 3b2f6c0..e27f216 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 */
|