Commit c608f6b5 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB fixes from Greg KH:
 "Here are some small USB fixes that resolve some reported problems.
  These include:

   - gadget driver fixes

   - dwc3 driver fix

   - typec driver fix

   - MAINTAINERS file update.

  All of these have been in linux-next with no reported problems"

* tag 'usb-6.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usb: typec: ucsi: Don't attempt to resume the ports before they exist
  usb: gadget: udc: do not clear gadget driver.bus
  usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints
  usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
  usb: dwc3: qcom: enable vbus override when in OTG dr-mode
  MAINTAINERS: Add myself as UVC Gadget Maintainer
parents dc0ce181 f82060da
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -21730,6 +21730,7 @@ F: include/uapi/linux/uvcvideo.h
USB WEBCAM GADGET
USB WEBCAM GADGET
M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
M:	Daniel Scally <dan.scally@ideasonboard.com>
L:	linux-usb@vger.kernel.org
L:	linux-usb@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/usb/gadget/function/*uvc*
F:	drivers/usb/gadget/function/*uvc*
+1 −1
Original line number Original line Diff line number Diff line
@@ -901,7 +901,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev)
	qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
	qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);


	/* enable vbus override for device mode */
	/* enable vbus override for device mode */
	if (qcom->mode == USB_DR_MODE_PERIPHERAL)
	if (qcom->mode != USB_DR_MODE_HOST)
		dwc3_qcom_vbus_override_enable(qcom, true);
		dwc3_qcom_vbus_override_enable(qcom, true);


	/* register extcon to override sw_vbus on Vbus change later */
	/* register extcon to override sw_vbus on Vbus change later */
+0 −1
Original line number Original line Diff line number Diff line
@@ -1014,7 +1014,6 @@ static int fotg210_udc_start(struct usb_gadget *g,
	int ret;
	int ret;


	/* hook up the driver */
	/* hook up the driver */
	driver->driver.bus = NULL;
	fotg210->driver = driver;
	fotg210->driver = driver;


	if (!IS_ERR_OR_NULL(fotg210->phy)) {
	if (!IS_ERR_OR_NULL(fotg210->phy)) {
+3 −1
Original line number Original line Diff line number Diff line
@@ -279,8 +279,10 @@ static int __ffs_ep0_queue_wait(struct ffs_data *ffs, char *data, size_t len)
	struct usb_request *req = ffs->ep0req;
	struct usb_request *req = ffs->ep0req;
	int ret;
	int ret;


	if (!req)
	if (!req) {
		spin_unlock_irq(&ffs->ev.waitq.lock);
		return -EINVAL;
		return -EINVAL;
	}


	req->zero     = len < le16_to_cpu(ffs->ev.setup.wLength);
	req->zero     = len < le16_to_cpu(ffs->ev.setup.wLength);


+1 −0
Original line number Original line Diff line number Diff line
@@ -1142,6 +1142,7 @@ afunc_bind(struct usb_configuration *cfg, struct usb_function *fn)
		}
		}
		std_as_out_if0_desc.bInterfaceNumber = ret;
		std_as_out_if0_desc.bInterfaceNumber = ret;
		std_as_out_if1_desc.bInterfaceNumber = ret;
		std_as_out_if1_desc.bInterfaceNumber = ret;
		std_as_out_if1_desc.bNumEndpoints = 1;
		uac2->as_out_intf = ret;
		uac2->as_out_intf = ret;
		uac2->as_out_alt = 0;
		uac2->as_out_alt = 0;


Loading