Re: error path in usb serial if tty_port_block_til_ready fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Donnerstag, 25. Juni 2009 00:51:40 schrieb Alan Cox:

> A failing open calls the close method anyway (braindead tty layer
> prehistory). That causes a set of other bugs instead which Luca just
> posted fixes for 8(

Does this mean the rest of the cleanup done in serial_open() is actually
wrong and needs to be done in close? This would mean we'd have to record
any progress made in opening to tell where an error happend and we bailed
out. Do we have defined semantics for the subdrivers? This would indicate
that we should have to filter some calls to close to _not_ call down if the
failed call to open did not get as far as calling into the subdriver.

	Regards
		Oliver

bailout_interface_put:
	usb_autopm_put_interface(serial->interface);
bailout_module_put:
	mutex_unlock(&serial->disc_mutex);
	module_put(serial->type->driver.owner);
bailout_mutex_unlock:
	port->port.count = 0;
	tty->driver_data = NULL;
	tty_port_tty_set(&port->port, NULL);
	mutex_unlock(&port->mutex);
bailout_port_put:
	put_device(&port->dev);
bailout_serial_put:
	usb_serial_put(serial);
	return retval;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux