From e868049d619ada0f01164cf8ac7efdc5e4302f9f Mon Sep 17 00:00:00 2001 From: Chris Lund Date: Sat, 3 Jun 2006 13:58:19 -0700 Subject: [PATCH] --- yaml --- r: 28374 b: refs/heads/master c: bfd5df3c0cf65bdf10a3a00baff036cb096140f6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/serial/io_edgeport.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index cb8e0b6e38fe..317ee0323e15 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 14f76cc7ab75b1c9db036dcd6b247e0dcc8952be +refs/heads/master: bfd5df3c0cf65bdf10a3a00baff036cb096140f6 diff --git a/trunk/drivers/usb/serial/io_edgeport.c b/trunk/drivers/usb/serial/io_edgeport.c index c28f1f6902c3..ed976ab56684 100644 --- a/trunk/drivers/usb/serial/io_edgeport.c +++ b/trunk/drivers/usb/serial/io_edgeport.c @@ -2730,7 +2730,7 @@ static int edge_startup (struct usb_serial *serial) struct edgeport_serial *edge_serial; struct edgeport_port *edge_port; struct usb_device *dev; - int i; + int i, j; dev = serial->dev; @@ -2794,6 +2794,10 @@ static int edge_startup (struct usb_serial *serial) edge_port = kmalloc (sizeof(struct edgeport_port), GFP_KERNEL); if (edge_port == NULL) { dev_err(&serial->dev->dev, "%s - Out of memory\n", __FUNCTION__); + for (j = 0; j < i; ++j) { + kfree (usb_get_serial_port_data(serial->port[j])); + usb_set_serial_port_data(serial->port[j], NULL); + } usb_set_serial_data(serial, NULL); kfree(edge_serial); return -ENOMEM;