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

Commit c4fc2342 authored by Carl-Daniel Hailfinger's avatar Carl-Daniel Hailfinger Committed by Greg Kroah-Hartman
Browse files

USB: Add "authorized_default" parameter to the usbcore module



The "authorized_default" module parameter of usbcore controls the default
for the authorized_default variable of each USB host controller.
-1 is authorized for all devices except wireless (default, old behaviour)
0 is unauthorized for all devices
1 is authorized for all devices

Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 68068174
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2538,6 +2538,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
	unknown_nmi_panic
			[X86] Cause panic on unknown NMI.

	usbcore.authorized_default=
			[USB] Default USB device authorization:
			(default -1 = authorized except for wireless USB,
			0 = not authorized, 1 = authorized)

	usbcore.autosuspend=
			[USB] The autosuspend time delay (in seconds) used
			for newly-detected USB devices (default 2).  This
+16 −1
Original line number Diff line number Diff line
@@ -337,6 +337,17 @@ static const u8 ss_rh_config_descriptor[] = {
	0x02, 0x00   /* __le16 ss_wBytesPerInterval; 15 bits for max 15 ports */
};

/* authorized_default behaviour:
 * -1 is authorized for all devices except wireless (old behaviour)
 * 0 is unauthorized for all devices
 * 1 is authorized for all devices
 */
static int authorized_default = -1;
module_param(authorized_default, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(authorized_default,
		"Default USB device authorization: 0 is not authorized, 1 is "
		"authorized, -1 is authorized except for wireless USB (default, "
		"old behaviour");
/*-------------------------------------------------------------------------*/

/**
@@ -2371,7 +2382,11 @@ int usb_add_hcd(struct usb_hcd *hcd,

	dev_info(hcd->self.controller, "%s\n", hcd->product_desc);

	/* Keep old behaviour if authorized_default is not in [0, 1]. */
	if (authorized_default < 0 || authorized_default > 1)
		hcd->authorized_default = hcd->wireless? 0 : 1;
	else
		hcd->authorized_default = authorized_default;
	set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);

	/* HC is in reset state, but accessible.  Now do the one-time init,