projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
tty
/
mxser.c
diff --git
a/drivers/tty/mxser.c
b/drivers/tty/mxser.c
index 71d6eb2c93b1c6335ba123cc9ac3c17a2af0d805..4c4a236745692ab1ee2e674f5d7dbf0334002dae 100644
(file)
--- a/
drivers/tty/mxser.c
+++ b/
drivers/tty/mxser.c
@@
-1618,8
+1618,12
@@
static int mxser_ioctl_special(unsigned int cmd, void __user *argp)
if (ip->type == PORT_16550A)
me->fifo[p] = 1;
if (ip->type == PORT_16550A)
me->fifo[p] = 1;
- opmode = inb(ip->opmode_ioaddr)>>((p % 4) * 2);
- opmode &= OP_MODE_MASK;
+ if (ip->board->chip_flag == MOXA_MUST_MU860_HWID) {
+ opmode = inb(ip->opmode_ioaddr)>>((p % 4) * 2);
+ opmode &= OP_MODE_MASK;
+ } else {
+ opmode = RS232_MODE;
+ }
me->iftype[p] = opmode;
mutex_unlock(&port->mutex);
}
me->iftype[p] = opmode;
mutex_unlock(&port->mutex);
}
@@
-1676,6
+1680,9
@@
static int mxser_ioctl(struct tty_struct *tty,
int shiftbit;
unsigned char val, mask;
int shiftbit;
unsigned char val, mask;
+ if (info->board->chip_flag != MOXA_MUST_MU860_HWID)
+ return -EFAULT;
+
p = tty->index % 4;
if (cmd == MOXA_SET_OP_MODE) {
if (get_user(opmode, (int __user *) argp))
p = tty->index % 4;
if (cmd == MOXA_SET_OP_MODE) {
if (get_user(opmode, (int __user *) argp))