Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3fff3b43 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

USB: serial: remove overly defensive port tests



The only way a port pointer may be NULL is if probe() failed, and in
that case neither disconnect(), resume(), or reset_resume() will be
called.

Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c14829fa
Loading
Loading
Loading
Loading
+14 −24
Original line number Diff line number Diff line
@@ -1060,6 +1060,7 @@ static void usb_serial_disconnect(struct usb_interface *interface)
	struct usb_serial *serial = usb_get_intfdata(interface);
	struct device *dev = &interface->dev;
	struct usb_serial_port *port;
	struct tty_struct *tty;

	usb_serial_console_disconnect(serial);

@@ -1070,8 +1071,7 @@ static void usb_serial_disconnect(struct usb_interface *interface)

	for (i = 0; i < serial->num_ports; ++i) {
		port = serial->port[i];
		if (port) {
			struct tty_struct *tty = tty_port_tty_get(&port->port);
		tty = tty_port_tty_get(&port->port);
		if (tty) {
			tty_vhangup(tty);
			tty_kref_put(tty);
@@ -1082,7 +1082,6 @@ static void usb_serial_disconnect(struct usb_interface *interface)
		if (device_is_registered(&port->dev))
			device_del(&port->dev);
	}
	}
	if (serial->type->disconnect)
		serial->type->disconnect(serial);

@@ -1094,7 +1093,6 @@ static void usb_serial_disconnect(struct usb_interface *interface)
int usb_serial_suspend(struct usb_interface *intf, pm_message_t message)
{
	struct usb_serial *serial = usb_get_intfdata(intf);
	struct usb_serial_port *port;
	int i, r = 0;

	serial->suspending = 1;
@@ -1112,12 +1110,8 @@ int usb_serial_suspend(struct usb_interface *intf, pm_message_t message)
		}
	}

	for (i = 0; i < serial->num_ports; ++i) {
		port = serial->port[i];
		if (port)
			usb_serial_port_poison_urbs(port);
	}

	for (i = 0; i < serial->num_ports; ++i)
		usb_serial_port_poison_urbs(serial->port[i]);
err_out:
	return r;
}
@@ -1125,14 +1119,10 @@ EXPORT_SYMBOL(usb_serial_suspend);

static void usb_serial_unpoison_port_urbs(struct usb_serial *serial)
{
	struct usb_serial_port *port;
	int i;

	for (i = 0; i < serial->num_ports; ++i) {
		port = serial->port[i];
		if (port)
			usb_serial_port_unpoison_urbs(port);
	}
	for (i = 0; i < serial->num_ports; ++i)
		usb_serial_port_unpoison_urbs(serial->port[i]);
}

int usb_serial_resume(struct usb_interface *intf)