Commit 0c8946d9 authored by David Miller's avatar David Miller Committed by Linus Torvalds

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: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7459b6ff
...@@ -241,7 +241,7 @@ typedef unsigned int __bitwise__ upf_t; ...@@ -241,7 +241,7 @@ typedef unsigned int __bitwise__ upf_t;
struct uart_port { struct uart_port {
spinlock_t lock; /* port lock */ 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 char __iomem *membase; /* read/write[bwl] */
unsigned int irq; /* irq number */ unsigned int irq; /* irq number */
unsigned int uartclk; /* base uart clock */ unsigned int uartclk; /* base uart clock */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment