diff options
Diffstat (limited to 'drivers/net/usb/hso.c')
| -rw-r--r-- | drivers/net/usb/hso.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index a57251ba5991..f97813a4e8d1 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c @@ -2719,14 +2719,14 @@ struct hso_device *hso_create_mux_serial_device(struct usb_interface *interface,  	serial = kzalloc(sizeof(*serial), GFP_KERNEL);  	if (!serial) -		goto exit; +		goto err_free_dev;  	hso_dev->port_data.dev_serial = serial;  	serial->parent = hso_dev;  	if (hso_serial_common_create  	    (serial, 1, CTRL_URB_RX_SIZE, CTRL_URB_TX_SIZE)) -		goto exit; +		goto err_free_serial;  	serial->tx_data_length--;  	serial->write_data = hso_mux_serial_write_data; @@ -2742,11 +2742,9 @@ struct hso_device *hso_create_mux_serial_device(struct usb_interface *interface,  	/* done, return it */  	return hso_dev; -exit: -	if (serial) { -		tty_unregister_device(tty_drv, serial->minor); -		kfree(serial); -	} +err_free_serial: +	kfree(serial); +err_free_dev:  	kfree(hso_dev);  	return NULL;  | 
