Loading drivers/char/rocket.c +18 −9 Original line number Diff line number Diff line Loading @@ -1433,29 +1433,38 @@ static int rp_ioctl(struct tty_struct *tty, struct file *file, { struct r_port *info = (struct r_port *) tty->driver_data; void __user *argp = (void __user *)arg; int ret = 0; if (cmd != RCKP_GET_PORTS && rocket_paranoia_check(info, "rp_ioctl")) return -ENXIO; lock_kernel(); switch (cmd) { case RCKP_GET_STRUCT: if (copy_to_user(argp, info, sizeof (struct r_port))) return -EFAULT; return 0; ret = -EFAULT; break; case RCKP_GET_CONFIG: return get_config(info, argp); ret = get_config(info, argp); break; case RCKP_SET_CONFIG: return set_config(info, argp); ret = set_config(info, argp); break; case RCKP_GET_PORTS: return get_ports(info, argp); ret = get_ports(info, argp); break; case RCKP_RESET_RM2: return reset_rm2(info, argp); ret = reset_rm2(info, argp); break; case RCKP_GET_VERSION: return get_version(info, argp); ret = get_version(info, argp); break; default: return -ENOIOCTLCMD; ret = -ENOIOCTLCMD; } return 0; unlock_kernel(); return ret; } static void rp_send_xchar(struct tty_struct *tty, char ch) Loading Loading
drivers/char/rocket.c +18 −9 Original line number Diff line number Diff line Loading @@ -1433,29 +1433,38 @@ static int rp_ioctl(struct tty_struct *tty, struct file *file, { struct r_port *info = (struct r_port *) tty->driver_data; void __user *argp = (void __user *)arg; int ret = 0; if (cmd != RCKP_GET_PORTS && rocket_paranoia_check(info, "rp_ioctl")) return -ENXIO; lock_kernel(); switch (cmd) { case RCKP_GET_STRUCT: if (copy_to_user(argp, info, sizeof (struct r_port))) return -EFAULT; return 0; ret = -EFAULT; break; case RCKP_GET_CONFIG: return get_config(info, argp); ret = get_config(info, argp); break; case RCKP_SET_CONFIG: return set_config(info, argp); ret = set_config(info, argp); break; case RCKP_GET_PORTS: return get_ports(info, argp); ret = get_ports(info, argp); break; case RCKP_RESET_RM2: return reset_rm2(info, argp); ret = reset_rm2(info, argp); break; case RCKP_GET_VERSION: return get_version(info, argp); ret = get_version(info, argp); break; default: return -ENOIOCTLCMD; ret = -ENOIOCTLCMD; } return 0; unlock_kernel(); return ret; } static void rp_send_xchar(struct tty_struct *tty, char ch) Loading