All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: [PATCH 4.4 036/113] usb: define USB_SPEED_SUPER_PLUS speed for SuperSpeedPlus USB3.1 devices
Date: Mon,  5 Sep 2016 18:43:59 +0200	[thread overview]
Message-ID: <20160905164350.760668574@linuxfoundation.org> (raw)
In-Reply-To: <20160905164349.217621339@linuxfoundation.org>

4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Mathias Nyman <mathias.nyman@linux.intel.com>

commit 8a1b2725a60d3267135c15e80984b4406054f650 upstream.

Add a new USB_SPEED_SUPER_PLUS device speed, and make sure usb core can
handle the new speed.
In most cases the behaviour is the same as with USB_SPEED_SUPER SuperSpeed
devices. In a few places we add a "Plus" string to inform the user of the
new speed.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/common/common.c  |    1 +
 drivers/usb/core/config.c    |    3 ++-
 drivers/usb/core/devices.c   |   10 ++++++----
 drivers/usb/core/hcd-pci.c   |    2 +-
 drivers/usb/core/hcd.c       |    6 +++---
 drivers/usb/core/hub.c       |   26 +++++++++++++++-----------
 drivers/usb/core/urb.c       |    3 ++-
 drivers/usb/core/usb.h       |    2 +-
 include/uapi/linux/usb/ch9.h |    1 +
 9 files changed, 32 insertions(+), 22 deletions(-)

--- a/drivers/usb/common/common.c
+++ b/drivers/usb/common/common.c
@@ -50,6 +50,7 @@ static const char *const speed_names[] =
 	[USB_SPEED_HIGH] = "high-speed",
 	[USB_SPEED_WIRELESS] = "wireless",
 	[USB_SPEED_SUPER] = "super-speed",
+	[USB_SPEED_SUPER_PLUS] = "super-speed-plus",
 };
 
 const char *usb_speed_string(enum usb_device_speed speed)
--- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c
@@ -191,6 +191,7 @@ static int usb_parse_endpoint(struct dev
 	if (usb_endpoint_xfer_int(d)) {
 		i = 1;
 		switch (to_usb_device(ddev)->speed) {
+		case USB_SPEED_SUPER_PLUS:
 		case USB_SPEED_SUPER:
 		case USB_SPEED_HIGH:
 			/* Many device manufacturers are using full-speed
@@ -274,7 +275,7 @@ static int usb_parse_endpoint(struct dev
 	}
 
 	/* Parse a possible SuperSpeed endpoint companion descriptor */
-	if (to_usb_device(ddev)->speed == USB_SPEED_SUPER)
+	if (to_usb_device(ddev)->speed >= USB_SPEED_SUPER)
 		usb_parse_ss_endpoint_companion(ddev, cfgno,
 				inum, asnum, endpoint, buffer, size);
 
--- a/drivers/usb/core/devices.c
+++ b/drivers/usb/core/devices.c
@@ -221,7 +221,7 @@ static char *usb_dump_endpoint_descripto
 		break;
 	case USB_ENDPOINT_XFER_INT:
 		type = "Int.";
-		if (speed == USB_SPEED_HIGH || speed == USB_SPEED_SUPER)
+		if (speed == USB_SPEED_HIGH || speed >= USB_SPEED_SUPER)
 			interval = 1 << (desc->bInterval - 1);
 		else
 			interval = desc->bInterval;
@@ -230,7 +230,7 @@ static char *usb_dump_endpoint_descripto
 		return start;
 	}
 	interval *= (speed == USB_SPEED_HIGH ||
-		     speed == USB_SPEED_SUPER) ? 125 : 1000;
+		     speed >= USB_SPEED_SUPER) ? 125 : 1000;
 	if (interval % 1000)
 		unit = 'u';
 	else {
@@ -322,7 +322,7 @@ static char *usb_dump_config_descriptor(
 
 	if (start > end)
 		return start;
-	if (speed == USB_SPEED_SUPER)
+	if (speed >= USB_SPEED_SUPER)
 		mul = 8;
 	else
 		mul = 2;
@@ -534,6 +534,8 @@ static ssize_t usb_device_dump(char __us
 		speed = "480"; break;
 	case USB_SPEED_SUPER:
 		speed = "5000"; break;
+	case USB_SPEED_SUPER_PLUS:
+		speed = "10000"; break;
 	default:
 		speed = "??";
 	}
@@ -553,7 +555,7 @@ static ssize_t usb_device_dump(char __us
 
 		/* super/high speed reserves 80%, full/low reserves 90% */
 		if (usbdev->speed == USB_SPEED_HIGH ||
-		    usbdev->speed == USB_SPEED_SUPER)
+		    usbdev->speed >= USB_SPEED_SUPER)
 			max = 800;
 		else
 			max = FRAME_TIME_MAX_USECS_ALLOC;
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -206,7 +206,7 @@ int usb_hcd_pci_probe(struct pci_dev *de
 	 * The xHCI driver has its own irq management
 	 * make sure irq setup is not touched for xhci in generic hcd code
 	 */
-	if ((driver->flags & HCD_MASK) != HCD_USB3) {
+	if ((driver->flags & HCD_MASK) < HCD_USB3) {
 		if (!dev->irq) {
 			dev_err(&dev->dev,
 			"Found HC with no IRQ. Check BIOS/PCI %s setup!\n",
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1078,7 +1078,7 @@ static int register_root_hub(struct usb_
 		retval = usb_get_bos_descriptor(usb_dev);
 		if (!retval) {
 			usb_dev->lpm_capable = usb_device_supports_lpm(usb_dev);
-		} else if (usb_dev->speed == USB_SPEED_SUPER) {
+		} else if (usb_dev->speed >= USB_SPEED_SUPER) {
 			mutex_unlock(&usb_bus_list_lock);
 			dev_dbg(parent_dev, "can't read %s bos descriptor %d\n",
 					dev_name(&usb_dev->dev), retval);
@@ -2112,7 +2112,7 @@ int usb_alloc_streams(struct usb_interfa
 	hcd = bus_to_hcd(dev->bus);
 	if (!hcd->driver->alloc_streams || !hcd->driver->free_streams)
 		return -EINVAL;
-	if (dev->speed != USB_SPEED_SUPER)
+	if (dev->speed < USB_SPEED_SUPER)
 		return -EINVAL;
 	if (dev->state < USB_STATE_CONFIGURED)
 		return -ENODEV;
@@ -2160,7 +2160,7 @@ int usb_free_streams(struct usb_interfac
 
 	dev = interface_to_usbdev(interface);
 	hcd = bus_to_hcd(dev->bus);
-	if (dev->speed != USB_SPEED_SUPER)
+	if (dev->speed < USB_SPEED_SUPER)
 		return -EINVAL;
 
 	/* Double-free is not allowed */
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -298,7 +298,7 @@ static void usb_set_lpm_parameters(struc
 	unsigned int hub_u1_del;
 	unsigned int hub_u2_del;
 
-	if (!udev->lpm_capable || udev->speed != USB_SPEED_SUPER)
+	if (!udev->lpm_capable || udev->speed < USB_SPEED_SUPER)
 		return;
 
 	hub = usb_hub_to_struct_hub(udev->parent);
@@ -2645,7 +2645,7 @@ static unsigned hub_is_wusb(struct usb_h
  */
 static bool use_new_scheme(struct usb_device *udev, int retry)
 {
-	if (udev->speed == USB_SPEED_SUPER)
+	if (udev->speed >= USB_SPEED_SUPER)
 		return false;
 
 	return USE_NEW_SCHEME(retry);
@@ -3985,7 +3985,7 @@ int usb_disable_lpm(struct usb_device *u
 	struct usb_hcd *hcd;
 
 	if (!udev || !udev->parent ||
-			udev->speed != USB_SPEED_SUPER ||
+			udev->speed < USB_SPEED_SUPER ||
 			!udev->lpm_capable ||
 			udev->state < USB_STATE_DEFAULT)
 		return 0;
@@ -4042,7 +4042,7 @@ void usb_enable_lpm(struct usb_device *u
 	struct usb_hcd *hcd;
 
 	if (!udev || !udev->parent ||
-			udev->speed != USB_SPEED_SUPER ||
+			udev->speed < USB_SPEED_SUPER ||
 			!udev->lpm_capable ||
 			udev->state < USB_STATE_DEFAULT)
 		return;
@@ -4308,7 +4308,9 @@ hub_port_init(struct usb_hub *hub, struc
 
 	retval = -ENODEV;
 
-	if (oldspeed != USB_SPEED_UNKNOWN && oldspeed != udev->speed) {
+	/* Don't allow speed changes at reset, except usb 3.0 to faster */
+	if (oldspeed != USB_SPEED_UNKNOWN && oldspeed != udev->speed &&
+	    !(oldspeed == USB_SPEED_SUPER && udev->speed > oldspeed)) {
 		dev_dbg(&udev->dev, "device reset changed speed!\n");
 		goto fail;
 	}
@@ -4320,6 +4322,7 @@ hub_port_init(struct usb_hub *hub, struc
 	 * reported as 0xff in the device descriptor). WUSB1.0[4.8.1].
 	 */
 	switch (udev->speed) {
+	case USB_SPEED_SUPER_PLUS:
 	case USB_SPEED_SUPER:
 	case USB_SPEED_WIRELESS:	/* fixed at 512 */
 		udev->ep0.desc.wMaxPacketSize = cpu_to_le16(512);
@@ -4346,7 +4349,7 @@ hub_port_init(struct usb_hub *hub, struc
 	else
 		speed = usb_speed_string(udev->speed);
 
-	if (udev->speed != USB_SPEED_SUPER)
+	if (udev->speed < USB_SPEED_SUPER)
 		dev_info(&udev->dev,
 				"%s %s USB device number %d using %s\n",
 				(udev->config) ? "reset" : "new", speed,
@@ -4476,11 +4479,12 @@ hub_port_init(struct usb_hub *hub, struc
 							devnum, retval);
 				goto fail;
 			}
-			if (udev->speed == USB_SPEED_SUPER) {
+			if (udev->speed >= USB_SPEED_SUPER) {
 				devnum = udev->devnum;
 				dev_info(&udev->dev,
-						"%s SuperSpeed USB device number %d using %s\n",
+						"%s SuperSpeed%s USB device number %d using %s\n",
 						(udev->config) ? "reset" : "new",
+					 (udev->speed == USB_SPEED_SUPER_PLUS) ? "Plus" : "",
 						devnum, udev->bus->controller->driver->name);
 			}
 
@@ -4519,7 +4523,7 @@ hub_port_init(struct usb_hub *hub, struc
 	 * got from those devices show they aren't superspeed devices. Warm
 	 * reset the port attached by the devices can fix them.
 	 */
-	if ((udev->speed == USB_SPEED_SUPER) &&
+	if ((udev->speed >= USB_SPEED_SUPER) &&
 			(le16_to_cpu(udev->descriptor.bcdUSB) < 0x0300)) {
 		dev_err(&udev->dev, "got a wrong device descriptor, "
 				"warm reset device\n");
@@ -4530,7 +4534,7 @@ hub_port_init(struct usb_hub *hub, struc
 	}
 
 	if (udev->descriptor.bMaxPacketSize0 == 0xff ||
-			udev->speed == USB_SPEED_SUPER)
+			udev->speed >= USB_SPEED_SUPER)
 		i = 512;
 	else
 		i = udev->descriptor.bMaxPacketSize0;
@@ -4740,7 +4744,7 @@ static void hub_port_connect(struct usb_
 		udev->level = hdev->level + 1;
 		udev->wusb = hub_is_wusb(hub);
 
-		/* Only USB 3.0 devices are connected to SuperSpeed hubs. */
+		/* Devices connected to SuperSpeed hubs are USB 3.0 or later */
 		if (hub_is_superspeed(hub->hdev))
 			udev->speed = USB_SPEED_SUPER;
 		else
--- a/drivers/usb/core/urb.c
+++ b/drivers/usb/core/urb.c
@@ -401,7 +401,7 @@ int usb_submit_urb(struct urb *urb, gfp_
 		/* SuperSpeed isoc endpoints have up to 16 bursts of up to
 		 * 3 packets each
 		 */
-		if (dev->speed == USB_SPEED_SUPER) {
+		if (dev->speed >= USB_SPEED_SUPER) {
 			int     burst = 1 + ep->ss_ep_comp.bMaxBurst;
 			int     mult = USB_SS_MULT(ep->ss_ep_comp.bmAttributes);
 			max *= burst;
@@ -499,6 +499,7 @@ int usb_submit_urb(struct urb *urb, gfp_
 		}
 		/* too big? */
 		switch (dev->speed) {
+		case USB_SPEED_SUPER_PLUS:
 		case USB_SPEED_SUPER:	/* units are 125us */
 			/* Handle up to 2^(16-1) microframes */
 			if (urb->interval > (1 << 15))
--- a/drivers/usb/core/usb.h
+++ b/drivers/usb/core/usb.h
@@ -45,7 +45,7 @@ static inline unsigned usb_get_max_power
 		struct usb_host_config *c)
 {
 	/* SuperSpeed power is in 8 mA units; others are in 2 mA units */
-	unsigned mul = (udev->speed == USB_SPEED_SUPER ? 8 : 2);
+	unsigned mul = (udev->speed >= USB_SPEED_SUPER ? 8 : 2);
 
 	return c->desc.bMaxPower * mul;
 }
--- a/include/uapi/linux/usb/ch9.h
+++ b/include/uapi/linux/usb/ch9.h
@@ -954,6 +954,7 @@ enum usb_device_speed {
 	USB_SPEED_HIGH,				/* usb 2.0 */
 	USB_SPEED_WIRELESS,			/* wireless (usb 2.5) */
 	USB_SPEED_SUPER,			/* usb 3.0 */
+	USB_SPEED_SUPER_PLUS,			/* usb 3.1 */
 };
 
 

  parent reply	other threads:[~2016-09-05 16:50 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20160905164958uscas1p289eb6febd0bd03618ab344d7b8bdeac3@uscas1p2.samsung.com>
2016-09-05 16:43 ` [PATCH 4.4 000/113] 4.4.20-stable review Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 001/113] hugetlb: fix nr_pmds accounting with shared page tables Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 002/113] x86/mm: Disable preemption during CR3 read+write Greg Kroah-Hartman
2016-09-05 16:43     ` Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 003/113] uprobes/x86: Fix RIP-relative handling of EVEX-encoded instructions Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 004/113] tools/testing/nvdimm: fix SIGTERM vs hotplug crash Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 005/113] SUNRPC: Handle EADDRNOTAVAIL on connection failures Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 007/113] powerpc/eeh: eeh_pci_enable(): fix checking of post-request state Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 008/113] ALSA: usb-audio: Add a sample rate quirk for Creative Live! Cam Socialize HD (VF0610) Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 009/113] ALSA: usb-audio: Add quirk for ELP HD USB Camera Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 010/113] arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO Greg Kroah-Hartman
2016-09-05 16:43     ` Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 011/113] parisc: Fix order of EREFUSED define in errno.h Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 012/113] virtio: fix memory leak in virtqueue_add() Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 013/113] vfio/pci: Fix NULL pointer oops in error interrupt setup handling Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 014/113] perf intel-pt: Fix occasional decoding errors when tracing system-wide Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 015/113] libnvdimm, nd_blk: mask off reserved status bits Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 016/113] ALSA: hda - Manage power well properly for resume Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 017/113] NVMe: Dont unmap controller registers on reset Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 018/113] PCI: Support PCIe devices with short cfg_size Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 019/113] PCI: Add Netronome vendor and device IDs Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 020/113] PCI: Limit config space size for Netronome NFP6000 family Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 021/113] PCI: Add Netronome NFP4000 PF device ID Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 022/113] PCI: Limit config space size for Netronome NFP4000 Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 024/113] ACPI: CPPC: Return error if _CPC is invalid on a CPU Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 025/113] ACPI / CPPC: Prevent cpc_desc_ptr points to the invalid data Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 026/113] um: Dont discard .text.exit section Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 027/113] genirq/msi: Remove unused MSI_FLAG_IDENTITY_MAP Greg Kroah-Hartman
2016-09-05 16:43     ` Greg Kroah-Hartman
2016-09-05 16:43     ` Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 028/113] genirq/msi: Make sure PCI MSIs are activated early Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 029/113] crypto: caam - fix non-hmac hashes Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 032/113] usb: ehci: change order of register cleanup during shutdown Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 033/113] usb: misc: usbtest: add fix for driver hang Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 034/113] usb: dwc3: pci: add Intel Kabylake PCI ID Greg Kroah-Hartman
2016-09-05 16:43   ` [PATCH 4.4 035/113] usb: dwc3: gadget: increment request->actual once Greg Kroah-Hartman
2016-09-05 16:43   ` Greg Kroah-Hartman [this message]
2016-09-05 16:44   ` [PATCH 4.4 037/113] usb: hub: Fix unbalanced reference count/memory leak/deadlocks Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 038/113] USB: hub: fix up early-exit pathway in hub_activate Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 039/113] USB: hub: change the locking " Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 040/113] usb: renesas_usbhs: clear the BRDYSTS in usbhsg_ep_enable() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 041/113] usb: renesas_usbhs: Use dmac only if the pipe type is bulk Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 042/113] USB: validate wMaxPacketValue entries in endpoint descriptors Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 043/113] usb: gadget: fsl_qe_udc: off by one in setup_received_handle() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 044/113] usb/gadget: fix gadgetfs aio support Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 045/113] xhci: always handle "Command Ring Stopped" events Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 046/113] usb: xhci: Fix panic if disconnect Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 047/113] xhci: dont dereference a xhci member after removing xhci Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 048/113] USB: serial: fix memleak in driver-registration error path Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 049/113] USB: serial: option: add D-Link DWM-156/A3 Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 050/113] USB: serial: option: add support for Telit LE920A4 Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 051/113] USB: serial: ftdi_sio: add device ID for WICED USB UART dev board Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 053/113] xhci: Make sure xhci handles USB_SPEED_SUPER_PLUS devices Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 054/113] iommu/dma: Dont put uninitialised IOVA domains Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 055/113] iommu/arm-smmu: Fix CMDQ error handling Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 056/113] iommu/arm-smmu: Dont BUG() if we find aborting STEs with disable_bypass Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 058/113] EDAC: Increment correct counter in edac_inc_ue_error() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 059/113] s390/dasd: fix hanging device after clear subchannel Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 060/113] mac80211: fix purging multicast PS buffer queue Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 061/113] arm64: dts: rockchip: add reset saradc node for rk3368 SoCs Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 062/113] of: fix reference counting in of_graph_get_endpoint_by_regs Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 063/113] sched/cputime: Fix NO_HZ_FULL getrusage() monotonicity regression Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 064/113] sched/nohz: Fix affine unpinned timers mess Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 065/113] iio: fix sched WARNING "do not call blocking ops when !TASK_RUNNING" Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 070/113] drm/amd/amdgpu: sdma resume fail during S4 on CI Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 072/113] drm/i915: fix aliasing_ppgtt leak Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 073/113] ARC: build: Better way to detect ISA compatible toolchain Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 074/113] ARC: use correct offset in pt_regs for saving/restoring user mode r25 Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 075/113] ARC: Call trace_hardirqs_on() before enabling irqs Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 076/113] ARC: Elide redundant setup of DMA callbacks Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 077/113] aacraid: Check size values after double-fetch from user Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 078/113] mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 079/113] i2c: cros-ec-tunnel: Fix usage of cros_ec_cmd_xfer() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 080/113] cdc-acm: fix wrong pipe type on rx interrupt xfers Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 081/113] mpt3sas: Fix resume on WarpDrive flash cards Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 082/113] megaraid_sas: Fix probing cards without io port Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 083/113] usb: renesas_usbhs: gadget: fix return value check in usbhs_mod_gadget_probe() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 084/113] gpio: Fix OF build problem on UM Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 085/113] fs/seq_file: fix out-of-bounds read Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 086/113] btrfs: waiting on qgroup rescan should not always be interruptible Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 087/113] btrfs: properly track when rescan worker is running Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 088/113] Input: tegra-kbc - fix inverted reset logic Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 089/113] Input: i8042 - break load dependency between atkbd/psmouse and i8042 Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 090/113] Input: i8042 - set up shared ps2_cmd_mutex for AUX ports Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 091/113] crypto: nx - off by one bug in nx_of_update_msc() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 092/113] crypto: qat - fix aes-xts key sizes Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 093/113] dmaengine: usb-dmac: check CHCR.DE bit in usb_dmac_isr_channel() Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 095/113] usb: chipidea: udc: dont touch DP when controller is in host mode Greg Kroah-Hartman
2016-09-05 16:44   ` [PATCH 4.4 096/113] USB: fix typo in wMaxPacketSize validation Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 097/113] USB: serial: mos7720: fix non-atomic allocation in write path Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 098/113] USB: serial: mos7840: " Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 099/113] USB: serial: option: add WeTelecom WM-D200 Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 100/113] USB: serial: option: add WeTelecom 0x6802 and 0x6803 products Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 101/113] staging: comedi: daqboard2000: bug fix board type matching code Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 103/113] staging: comedi: ni_mio_common: fix AO inttrig backwards compatibility Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 105/113] ACPI / drivers: fix typo in ACPI_DECLARE_PROBE_ENTRY macro Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 106/113] ACPI / drivers: replace acpi_probe_lock spinlock with mutex Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 107/113] ACPI / sysfs: fix error code in get_status() Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 108/113] ACPI / SRAT: fix SRAT parsing order with both LAPIC and X2APIC present Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 109/113] ALSA: line6: Remove double line6_pcm_release() after failed acquire Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 110/113] ALSA: line6: Give up on the lock while URBs are released Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 111/113] ALSA: line6: Fix POD sysfs attributes segfault Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 112/113] hwmon: (iio_hwmon) fix memory leak in name attribute Greg Kroah-Hartman
2016-09-05 16:45   ` [PATCH 4.4 113/113] sysfs: correctly handle read offset on PREALLOC attrs Greg Kroah-Hartman
2016-09-06 17:03   ` [PATCH 4.4 000/113] 4.4.20-stable review Guenter Roeck
2016-09-06 18:03   ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160905164350.760668574@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.