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

Commit 6c0dcf86 authored by Johan Hovold's avatar Johan Hovold Committed by android-build-merger
Browse files

USB: iowarrior: fix NULL-deref at probe

am: 653418ad

Change-Id: I1345deaf740389416299a5d772b8c313baa4ef6d
parents 912a046e 653418ad
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -781,12 +781,6 @@ static int iowarrior_probe(struct usb_interface *interface,
	iface_desc = interface->cur_altsetting;
	dev->product_id = le16_to_cpu(udev->descriptor.idProduct);

	if (iface_desc->desc.bNumEndpoints < 1) {
		dev_err(&interface->dev, "Invalid number of endpoints\n");
		retval = -EINVAL;
		goto error;
	}

	/* set up the endpoint information */
	for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
		endpoint = &iface_desc->endpoint[i].desc;
@@ -797,6 +791,13 @@ static int iowarrior_probe(struct usb_interface *interface,
			/* this one will match for the IOWarrior56 only */
			dev->int_out_endpoint = endpoint;
	}

	if (!dev->int_in_endpoint) {
		dev_err(&interface->dev, "no interrupt-in endpoint found\n");
		retval = -ENODEV;
		goto error;
	}

	/* we have to check the report_size often, so remember it in the endianness suitable for our machine */
	dev->report_size = usb_endpoint_maxp(dev->int_in_endpoint);
	if ((dev->interface->cur_altsetting->desc.bInterfaceNumber == 0) &&