lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 279/601] serial: core: return early on unsupported ioctls
    Date
    From: Johan Hovold <johan@kernel.org>

    [ Upstream commit 79c5966cec7b148199386ef9933c31b999379065 ]

    Drivers can return -ENOIOCTLCMD when an ioctl is not recognised to tell
    the upper layers to continue looking for a handler.

    This is not the case for the RS485 and ISO7816 ioctls whose handlers
    should return -ENOTTY directly in case a serial driver does not
    implement the corresponding methods.

    Fixes: a5f276f10ff7 ("serial_core: Handle TIOC[GS]RS485 ioctls.")
    Fixes: ad8c0eaa0a41 ("tty/serial_core: add ISO7816 infrastructure")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20210407095208.31838-9-johan@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/tty/serial/serial_core.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
    index 828f9ad1be49..c6cbaccc19b0 100644
    --- a/drivers/tty/serial/serial_core.c
    +++ b/drivers/tty/serial/serial_core.c
    @@ -1306,7 +1306,7 @@ static int uart_set_rs485_config(struct uart_port *port,
    unsigned long flags;

    if (!port->rs485_config)
    - return -ENOIOCTLCMD;
    + return -ENOTTY;

    if (copy_from_user(&rs485, rs485_user, sizeof(*rs485_user)))
    return -EFAULT;
    @@ -1330,7 +1330,7 @@ static int uart_get_iso7816_config(struct uart_port *port,
    struct serial_iso7816 aux;

    if (!port->iso7816_config)
    - return -ENOIOCTLCMD;
    + return -ENOTTY;

    spin_lock_irqsave(&port->lock, flags);
    aux = port->iso7816;
    @@ -1350,7 +1350,7 @@ static int uart_set_iso7816_config(struct uart_port *port,
    unsigned long flags;

    if (!port->iso7816_config)
    - return -ENOIOCTLCMD;
    + return -ENOTTY;

    if (copy_from_user(&iso7816, iso7816_user, sizeof(*iso7816_user)))
    return -EFAULT;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-05-12 19:31    [W:3.965 / U:0.188 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site