X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Finput%2Fserio%2Fserport.c;h=538ccf18079707340aef1271cc69b31bf3b7386b;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=5582ee8227d5ce43bc1a7ea0ad1d5748892a16b4;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/input/serio/serport.c b/drivers/input/serio/serport.c index 5582ee822..538ccf180 100644 --- a/drivers/input/serio/serport.c +++ b/drivers/input/serio/serport.c @@ -42,7 +42,7 @@ struct serport { static int serport_serio_write(struct serio *serio, unsigned char data) { struct serport *serport = serio->port_data; - return -(serport->tty->driver->write(serport->tty, 0, &data, 1) != 1); + return -(serport->tty->driver->write(serport->tty, &data, 1) != 1); } static void serport_serio_close(struct serio *serio) @@ -64,6 +64,9 @@ static int serport_ldisc_open(struct tty_struct *tty) struct serio *serio; char name[64]; + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + serport = kmalloc(sizeof(struct serport), GFP_KERNEL); serio = kmalloc(sizeof(struct serio), GFP_KERNEL); if (unlikely(!serport || !serio)) {