lkml.org 
[lkml]   [2008]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] Fix serial_match_port() for dynamic major tty-device numbers
    As reported by Vipul Gandhi, the current serial_match_port() doesn't work 
    for tty-devices using dynamic major number allocation. Fix it.

    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
    Tested-by: Vipul Gandhi <vcgandhi1@aol.com>

    ---

    diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
    index 0f5a179..593ae85 100644
    --- a/drivers/serial/serial_core.c
    +++ b/drivers/serial/serial_core.c
    @@ -1949,7 +1949,9 @@ struct uart_match {
    static int serial_match_port(struct device *dev, void *data)
    {
    struct uart_match *match = data;
    - dev_t devt = MKDEV(match->driver->major, match->driver->minor) + match->port->line;
    + struct tty_driver *tty_drv = match->driver->tty_driver;
    + dev_t devt = MKDEV(tty_drv->major, tty_drv->minor_start) +
    + match->port->line;

    return dev->devt == devt; /* Actually, only one tty per port */
    }

    \
     
     \ /
      Last update: 2008-06-22 00:47    [W:0.020 / U:0.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site