• J
    TTY: con3215, centralize allocation · fe2fc9ca
    Jiri Slaby 提交于
    There are two copies of allocations of device information. One of them
    is totally broken. See:
    raw->cdev = cdev;
    raw->inbuf = (char *) raw + sizeof(struct raw3215_info);
    memset(raw, 0, sizeof(struct raw3215_info));
    
    It suggests that this path was never executed. The code uses both
    raw->cdev and raw->inbuf all over. And it is NULL due to the memset
    here, so it would panic immediately. I believe nobody used that driver
    without being a system console.
    
    Either way, let us fix it by moving the allocations (and
    initializations) to a single place. This will save us some double
    initializations later too.
    
    And while at it, initialize the timer properly -- once, at the
    allocation.
    Signed-off-by: NJiri Slaby <jslaby@suse.cz>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Acked-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
    Cc: linux390@de.ibm.com
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    fe2fc9ca
con3215.c 29.3 KB