[PATCH] fix rio_copy_to_card() for OLDPCI case
It replaced old rio_pcicopy(). That puppy did _not_ do readb() (unlike rio_memcpy_toio()) and current implementation is simply broken - readb(NULL) is never a valid thing to do. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
bfa6b7bb35
commit
ae5b28a5bb
|
@ -335,7 +335,7 @@ int RIODelay_ni(struct Port *PortP, int njiffies)
|
||||||
|
|
||||||
void rio_copy_to_card(void *from, void __iomem *to, int len)
|
void rio_copy_to_card(void *from, void __iomem *to, int len)
|
||||||
{
|
{
|
||||||
rio_memcpy_toio(NULL, to, from, len);
|
rio_copy_toio(to, from, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
int rio_minor(struct tty_struct *tty)
|
int rio_minor(struct tty_struct *tty)
|
||||||
|
|
|
@ -138,12 +138,23 @@ static inline void __iomem *rio_memcpy_toio(void __iomem *dummy, void __iomem *d
|
||||||
|
|
||||||
while (n--) {
|
while (n--) {
|
||||||
writeb(*src++, dst++);
|
writeb(*src++, dst++);
|
||||||
(void) readb(dummy); /* WTF? */
|
(void) readb(dummy);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void __iomem *rio_copy_toio(void __iomem *dest, void *source, int n)
|
||||||
|
{
|
||||||
|
char __iomem *dst = dest;
|
||||||
|
char *src = source;
|
||||||
|
|
||||||
|
while (n--)
|
||||||
|
writeb(*src++, dst++);
|
||||||
|
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline void *rio_memcpy_fromio(void *dest, void __iomem *source, int n)
|
static inline void *rio_memcpy_fromio(void *dest, void __iomem *source, int n)
|
||||||
{
|
{
|
||||||
|
@ -158,6 +169,7 @@ static inline void *rio_memcpy_fromio(void *dest, void __iomem *source, int n)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define rio_memcpy_toio(dummy,dest,source,n) memcpy_toio(dest, source, n)
|
#define rio_memcpy_toio(dummy,dest,source,n) memcpy_toio(dest, source, n)
|
||||||
|
#define rio_copy_toio memcpy_toio
|
||||||
#define rio_memcpy_fromio memcpy_fromio
|
#define rio_memcpy_fromio memcpy_fromio
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue