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

Commit 313e1a0a authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'fixes-for-v4.0-rc3' of...

Merge tag 'fixes-for-v4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb

 into usb-linus

Felipe writes:

usb: fixes for v4.0-rc3

Revert interrupt endpoint support from g_zero as it regresses
musb.
A possible deadlock in isp1760 udc irq has been fixed.
A fix to dwc2 for disconnect IRQ handling.
We also have a new device ID for isp1760.

Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parents d0167ad2 2c247804
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -377,6 +377,9 @@ static void dwc2_handle_disconnect_intr(struct dwc2_hsotg *hsotg)
		dwc2_is_host_mode(hsotg) ? "Host" : "Device",
		dwc2_op_state_str(hsotg));

	if (hsotg->op_state == OTG_STATE_A_HOST)
		dwc2_hcd_disconnect(hsotg);

	/* Change to L3 (OFF) state */
	hsotg->lx_state = DWC2_L3;

+1 −2
Original line number Diff line number Diff line
@@ -289,8 +289,7 @@ static void disable_loopback(struct f_loopback *loop)
	struct usb_composite_dev	*cdev;

	cdev = loop->function.config->cdev;
	disable_endpoints(cdev, loop->in_ep, loop->out_ep, NULL, NULL, NULL,
			NULL);
	disable_endpoints(cdev, loop->in_ep, loop->out_ep, NULL, NULL);
	VDBG(cdev, "%s disabled\n", loop->function.name);
}

+20 −491

File changed.

Preview size limit exceeded, changes collapsed.

+1 −12
Original line number Diff line number Diff line
@@ -10,8 +10,6 @@
#define GZERO_QLEN		32
#define GZERO_ISOC_INTERVAL	4
#define GZERO_ISOC_MAXPACKET	1024
#define GZERO_INT_INTERVAL	1 /* Default interrupt interval = 1 ms */
#define GZERO_INT_MAXPACKET	1024

struct usb_zero_options {
	unsigned pattern;
@@ -19,10 +17,6 @@ struct usb_zero_options {
	unsigned isoc_maxpacket;
	unsigned isoc_mult;
	unsigned isoc_maxburst;
	unsigned int_interval; /* In ms */
	unsigned int_maxpacket;
	unsigned int_mult;
	unsigned int_maxburst;
	unsigned bulk_buflen;
	unsigned qlen;
};
@@ -34,10 +28,6 @@ struct f_ss_opts {
	unsigned isoc_maxpacket;
	unsigned isoc_mult;
	unsigned isoc_maxburst;
	unsigned int_interval; /* In ms */
	unsigned int_maxpacket;
	unsigned int_mult;
	unsigned int_maxburst;
	unsigned bulk_buflen;

	/*
@@ -72,7 +62,6 @@ int lb_modinit(void);
void free_ep_req(struct usb_ep *ep, struct usb_request *req);
void disable_endpoints(struct usb_composite_dev *cdev,
		struct usb_ep *in, struct usb_ep *out,
		struct usb_ep *iso_in, struct usb_ep *iso_out,
		struct usb_ep *int_in, struct usb_ep *int_out);
		struct usb_ep *iso_in, struct usb_ep *iso_out);

#endif /* __G_ZERO_H */
+0 −21
Original line number Diff line number Diff line
@@ -68,8 +68,6 @@ static struct usb_zero_options gzero_options = {
	.isoc_maxpacket = GZERO_ISOC_MAXPACKET,
	.bulk_buflen = GZERO_BULK_BUFLEN,
	.qlen = GZERO_QLEN,
	.int_interval = GZERO_INT_INTERVAL,
	.int_maxpacket = GZERO_INT_MAXPACKET,
};

/*-------------------------------------------------------------------------*/
@@ -268,21 +266,6 @@ module_param_named(isoc_maxburst, gzero_options.isoc_maxburst, uint,
		S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(isoc_maxburst, "0 - 15 (ss only)");

module_param_named(int_interval, gzero_options.int_interval, uint,
		S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(int_interval, "1 - 16");

module_param_named(int_maxpacket, gzero_options.int_maxpacket, uint,
		S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(int_maxpacket, "0 - 1023 (fs), 0 - 1024 (hs/ss)");

module_param_named(int_mult, gzero_options.int_mult, uint, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(int_mult, "0 - 2 (hs/ss only)");

module_param_named(int_maxburst, gzero_options.int_maxburst, uint,
		S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(int_maxburst, "0 - 15 (ss only)");

static struct usb_function *func_lb;
static struct usb_function_instance *func_inst_lb;

@@ -318,10 +301,6 @@ static int __init zero_bind(struct usb_composite_dev *cdev)
	ss_opts->isoc_maxpacket = gzero_options.isoc_maxpacket;
	ss_opts->isoc_mult = gzero_options.isoc_mult;
	ss_opts->isoc_maxburst = gzero_options.isoc_maxburst;
	ss_opts->int_interval = gzero_options.int_interval;
	ss_opts->int_maxpacket = gzero_options.int_maxpacket;
	ss_opts->int_mult = gzero_options.int_mult;
	ss_opts->int_maxburst = gzero_options.int_maxburst;
	ss_opts->bulk_buflen = gzero_options.bulk_buflen;

	func_ss = usb_get_function(func_inst_ss);
Loading