diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index 48c13c949724..170d6f3e4221 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -4145,8 +4145,10 @@ static int dgap_tty_register_ports(struct board_t *brd) brd->printer_ports = kcalloc(brd->nasync, sizeof(*brd->printer_ports), GFP_KERNEL); - if (!brd->printer_ports) + if (!brd->printer_ports) { + kfree(brd->serial_ports); return -ENOMEM; + } for (i = 0; i < brd->nasync; i++) { tty_port_init(&brd->serial_ports[i]);