Commit 44812003 authored by Johan Hovold's avatar Johan Hovold
Browse files

USB: serial: ark3116: fix endpoint-check return value



Return -ENODEV rather than -EINVAL on probe errors due to a missing
endpoint.

Also clean up the endpoint sanity check somewhat and use the interface
device for logging a more compact error in case an expected endpoint is
missing.

Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
parent ea534e0b
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -125,17 +125,11 @@ static inline int calc_divisor(int bps)
static int ark3116_attach(struct usb_serial *serial)
{
	/* make sure we have our end-points */
	if ((serial->num_bulk_in == 0) ||
	    (serial->num_bulk_out == 0) ||
	    (serial->num_interrupt_in == 0)) {
		dev_err(&serial->dev->dev,
			"%s - missing endpoint - "
			"bulk in: %d, bulk out: %d, int in %d\n",
			KBUILD_MODNAME,
			serial->num_bulk_in,
			serial->num_bulk_out,
			serial->num_interrupt_in);
		return -EINVAL;
	if (serial->num_bulk_in == 0 ||
			serial->num_bulk_out == 0 ||
			serial->num_interrupt_in == 0) {
		dev_err(&serial->interface->dev, "missing endpoint\n");
		return -ENODEV;
	}

	return 0;