Commit 7e824f28 authored by Michael Grzeschik's avatar Michael Grzeschik Committed by Greg Kroah-Hartman
Browse files

usb: gadget: f_acm: add support for USB_CDC_REQ_SEND_BREAK



Currently the usb side setting of the USB_CDC_REQ_SEND_BREAK control
is not supported. This patch adds the support.

Signed-off-by: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20220406192914.3302636-1-m.grzeschik@pengutronix.de


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6a7c7df9
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -333,6 +333,8 @@ static void acm_complete_set_line_coding(struct usb_ep *ep,
	}
}

static int acm_send_break(struct gserial *port, int duration);

static int acm_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
{
	struct f_acm		*acm = func_to_acm(f);
@@ -391,6 +393,14 @@ static int acm_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl)
		acm->port_handshake_bits = w_value;
		break;

	case ((USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE) << 8)
			| USB_CDC_REQ_SEND_BREAK:
		if (w_index != acm->ctrl_id)
			goto invalid;

		acm_send_break(&acm->port, w_value);
		break;

	default:
invalid:
		dev_vdbg(&cdev->gadget->dev,