diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index 48c13c9497249f2898687c9f4bcae0ec54156b8a..170d6f3e42218214bf869e15163d253aa4c98a82 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]);