linux-kernel.vger.kernel.org archive mirror
 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, Julius Werner <jwerner@chromium.org>,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: [PATCH 3.14 153/158] usb: xhci: Prefer endpoint context dequeue pointer over stopped_trb
Date: Sun,  4 May 2014 11:41:02 -0400	[thread overview]
Message-ID: <20140504154050.800856946@linuxfoundation.org> (raw)
In-Reply-To: <20140504154029.975081050@linuxfoundation.org>

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

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

From: Julius Werner <jwerner@chromium.org>

commit 1f81b6d22a5980955b01e08cf27fb745dc9b686f upstream.

We have observed a rare cycle state desync bug after Set TR Dequeue
Pointer commands on Intel LynxPoint xHCs (resulting in an endpoint that
doesn't fetch new TRBs and thus an unresponsive USB device). It always
triggers when a previous Set TR Dequeue Pointer command has set the
pointer to the final Link TRB of a segment, and then another URB gets
enqueued and cancelled again before it can be completed. Further
investigation showed that the xHC had returned the Link TRB in the TRB
Pointer field of the Transfer Event (CC == Stopped -- Length Invalid),
but when xhci_find_new_dequeue_state() later accesses the Endpoint
Context's TR Dequeue Pointer field it is set to the first TRB of the
next segment.

The driver expects those two values to be the same in this situation,
and uses the cycle state of the latter together with the address of the
former. This should be fine according to the XHCI specification, since
the endpoint ring should be stopped when returning the Transfer Event
and thus should not advance over the Link TRB before it gets restarted.
However, real-world XHCI implementations apparently don't really care
that much about these details, so the driver should follow a more
defensive approach to try to work around HC spec violations.

This patch removes the stopped_trb variable that had been used to store
the TRB Pointer from the last Transfer Event of a stopped TRB. Instead,
xhci_find_new_dequeue_state() now relies only on the Endpoint Context,
requiring a small amount of additional processing to find the virtual
address corresponding to the TR Dequeue Pointer. Some other parts of the
function were slightly rearranged to better fit into this model.

This patch should be backported to kernels as old as 2.6.31 that contain
the commit ae636747146ea97efa18e04576acd3416e2514f5 "USB: xhci: URB
cancellation support."

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

---
 drivers/usb/host/xhci-ring.c |   67 +++++++++++++++++++------------------------
 drivers/usb/host/xhci.c      |    1 
 drivers/usb/host/xhci.h      |    2 -
 3 files changed, 31 insertions(+), 39 deletions(-)

--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -550,6 +550,7 @@ void xhci_find_new_dequeue_state(struct
 	struct xhci_generic_trb *trb;
 	struct xhci_ep_ctx *ep_ctx;
 	dma_addr_t addr;
+	u64 hw_dequeue;
 
 	ep_ring = xhci_triad_to_transfer_ring(xhci, slot_id,
 			ep_index, stream_id);
@@ -559,56 +560,57 @@ void xhci_find_new_dequeue_state(struct
 				stream_id);
 		return;
 	}
-	state->new_cycle_state = 0;
-	xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
-			"Finding segment containing stopped TRB.");
-	state->new_deq_seg = find_trb_seg(cur_td->start_seg,
-			dev->eps[ep_index].stopped_trb,
-			&state->new_cycle_state);
-	if (!state->new_deq_seg) {
-		WARN_ON(1);
-		return;
-	}
 
 	/* Dig out the cycle state saved by the xHC during the stop ep cmd */
 	xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
 			"Finding endpoint context");
 	ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, ep_index);
-	state->new_cycle_state = 0x1 & le64_to_cpu(ep_ctx->deq);
+	hw_dequeue = le64_to_cpu(ep_ctx->deq);
+
+	/* Find virtual address and segment of hardware dequeue pointer */
+	state->new_deq_seg = ep_ring->deq_seg;
+	state->new_deq_ptr = ep_ring->dequeue;
+	while (xhci_trb_virt_to_dma(state->new_deq_seg, state->new_deq_ptr)
+			!= (dma_addr_t)(hw_dequeue & ~0xf)) {
+		next_trb(xhci, ep_ring, &state->new_deq_seg,
+					&state->new_deq_ptr);
+		if (state->new_deq_ptr == ep_ring->dequeue) {
+			WARN_ON(1);
+			return;
+		}
+	}
+	/*
+	 * Find cycle state for last_trb, starting at old cycle state of
+	 * hw_dequeue. If there is only one segment ring, find_trb_seg() will
+	 * return immediately and cannot toggle the cycle state if this search
+	 * wraps around, so add one more toggle manually in that case.
+	 */
+	state->new_cycle_state = hw_dequeue & 0x1;
+	if (ep_ring->first_seg == ep_ring->first_seg->next &&
+			cur_td->last_trb < state->new_deq_ptr)
+		state->new_cycle_state ^= 0x1;
 
 	state->new_deq_ptr = cur_td->last_trb;
 	xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
 			"Finding segment containing last TRB in TD.");
 	state->new_deq_seg = find_trb_seg(state->new_deq_seg,
-			state->new_deq_ptr,
-			&state->new_cycle_state);
+			state->new_deq_ptr, &state->new_cycle_state);
 	if (!state->new_deq_seg) {
 		WARN_ON(1);
 		return;
 	}
 
+	/* Increment to find next TRB after last_trb. Cycle if appropriate. */
 	trb = &state->new_deq_ptr->generic;
 	if (TRB_TYPE_LINK_LE32(trb->field[3]) &&
 	    (trb->field[3] & cpu_to_le32(LINK_TOGGLE)))
 		state->new_cycle_state ^= 0x1;
 	next_trb(xhci, ep_ring, &state->new_deq_seg, &state->new_deq_ptr);
 
-	/*
-	 * If there is only one segment in a ring, find_trb_seg()'s while loop
-	 * will not run, and it will return before it has a chance to see if it
-	 * needs to toggle the cycle bit.  It can't tell if the stalled transfer
-	 * ended just before the link TRB on a one-segment ring, or if the TD
-	 * wrapped around the top of the ring, because it doesn't have the TD in
-	 * question.  Look for the one-segment case where stalled TRB's address
-	 * is greater than the new dequeue pointer address.
-	 */
-	if (ep_ring->first_seg == ep_ring->first_seg->next &&
-			state->new_deq_ptr < dev->eps[ep_index].stopped_trb)
-		state->new_cycle_state ^= 0x1;
+	/* Don't update the ring cycle state for the producer (us). */
 	xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
 			"Cycle state = 0x%x", state->new_cycle_state);
 
-	/* Don't update the ring cycle state for the producer (us). */
 	xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
 			"New dequeue segment = %p (virtual)",
 			state->new_deq_seg);
@@ -791,7 +793,6 @@ static void xhci_handle_cmd_stop_ep(stru
 	if (list_empty(&ep->cancelled_td_list)) {
 		xhci_stop_watchdog_timer_in_irq(xhci, ep);
 		ep->stopped_td = NULL;
-		ep->stopped_trb = NULL;
 		ring_doorbell_for_active_rings(xhci, slot_id, ep_index);
 		return;
 	}
@@ -859,11 +860,9 @@ remove_finished_td:
 		ring_doorbell_for_active_rings(xhci, slot_id, ep_index);
 	}
 
-	/* Clear stopped_td and stopped_trb if endpoint is not halted */
-	if (!(ep->ep_state & EP_HALTED)) {
+	/* Clear stopped_td if endpoint is not halted */
+	if (!(ep->ep_state & EP_HALTED))
 		ep->stopped_td = NULL;
-		ep->stopped_trb = NULL;
-	}
 
 	/*
 	 * Drop the lock and complete the URBs in the cancelled TD list.
@@ -1908,14 +1907,12 @@ static void xhci_cleanup_halted_endpoint
 	struct xhci_virt_ep *ep = &xhci->devs[slot_id]->eps[ep_index];
 	ep->ep_state |= EP_HALTED;
 	ep->stopped_td = td;
-	ep->stopped_trb = event_trb;
 	ep->stopped_stream = stream_id;
 
 	xhci_queue_reset_ep(xhci, slot_id, ep_index);
 	xhci_cleanup_stalled_ring(xhci, td->urb->dev, ep_index);
 
 	ep->stopped_td = NULL;
-	ep->stopped_trb = NULL;
 	ep->stopped_stream = 0;
 
 	xhci_ring_cmd_db(xhci);
@@ -1997,7 +1994,6 @@ static int finish_td(struct xhci_hcd *xh
 		 * the ring dequeue pointer or take this TD off any lists yet.
 		 */
 		ep->stopped_td = td;
-		ep->stopped_trb = event_trb;
 		return 0;
 	} else {
 		if (trb_comp_code == COMP_STALL) {
@@ -2009,7 +2005,6 @@ static int finish_td(struct xhci_hcd *xh
 			 * USB class driver clear the stall later.
 			 */
 			ep->stopped_td = td;
-			ep->stopped_trb = event_trb;
 			ep->stopped_stream = ep_ring->stream_id;
 		} else if (xhci_requires_manual_halt_cleanup(xhci,
 					ep_ctx, trb_comp_code)) {
@@ -2626,7 +2621,7 @@ static int handle_tx_event(struct xhci_h
 				 * successful event after a short transfer.
 				 * Ignore it.
 				 */
-				if ((xhci->quirks & XHCI_SPURIOUS_SUCCESS) && 
+				if ((xhci->quirks & XHCI_SPURIOUS_SUCCESS) &&
 						ep_ring->last_td_was_short) {
 					ep_ring->last_td_was_short = false;
 					ret = 0;
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -2933,7 +2933,6 @@ void xhci_endpoint_reset(struct usb_hcd
 		xhci_ring_cmd_db(xhci);
 	}
 	virt_ep->stopped_td = NULL;
-	virt_ep->stopped_trb = NULL;
 	virt_ep->stopped_stream = 0;
 	spin_unlock_irqrestore(&xhci->lock, flags);
 
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -864,8 +864,6 @@ struct xhci_virt_ep {
 #define EP_GETTING_NO_STREAMS	(1 << 5)
 	/* ----  Related to URB cancellation ---- */
 	struct list_head	cancelled_td_list;
-	/* The TRB that was last reported in a stopped endpoint ring */
-	union xhci_trb		*stopped_trb;
 	struct xhci_td		*stopped_td;
 	unsigned int		stopped_stream;
 	/* Watchdog timer for stop endpoint command to cancel URBs */



  parent reply	other threads:[~2014-05-04 16:24 UTC|newest]

Thread overview: 165+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-04 15:38 [PATCH 3.14 000/158] 3.14.3-stable review Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 001/158] arm64: Do not synchronise I and D caches for special ptes Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 002/158] arm64: Make DMA coherent and strongly ordered mappings not executable Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 003/158] ASoC: pcm: Drop incorrect double/extra frees Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 004/158] ASoC: cs42l51: Fix SOC_DOUBLE_R_SX_TLV shift values for ADC, PCM, and Analog kcontrols Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 005/158] ASoC: cs42l52: Fix mask bits for SOC_VALUE_ENUM_SINGLE Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 006/158] ASoC: cs42l73: " Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 007/158] ARM: OMAP2+: INTC: Acknowledge stuck active interrupts Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 008/158] ARM: OMAP2+: hwmod: fix missing braces in _init() Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 009/158] CLK: TI: OMAP4/5/DRA7: Remove gpmc_fck from dummy clocks Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 010/158] ARM: OMAP4: Fix definition of IS_PM44XX_ERRATUM Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 011/158] ARM: OMAP3: hwmod data: Correct clock domains for USB modules Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 012/158] ARM: dts: am33xx: correcting dt node unit address for usb Greg Kroah-Hartman
2014-05-05  8:37   ` Johan Hovold
2014-05-05 20:47     ` Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 013/158] ARM: dts: omap4/5: Use l3_ick for the gpmc node Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 014/158] ARM: dts: Keep G3D regulator always on for exynos5250-arndale Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 015/158] ARM: 7954/1: mm: remove remaining domain support from ARMv6 Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 016/158] ARM: Fix default CPU selection for ARCH_MULTI_V5 Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 017/158] ARM: 8007/1: Remove extraneous kcmp syscall ignore Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 018/158] ARM: 8027/1: fix do_div() bug in big-endian systems Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 019/158] ARM: 8030/1: ARM : kdump : add arch_crash_save_vmcoreinfo Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 020/158] ARM: mvebu: ensure the mdio node has a clock reference on Armada 370/XP Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 021/158] ARM: pxa: hx4700.h: include "irqs.h" for PXA_NR_BUILTIN_GPIO Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 022/158] ALSA: hda/realtek - Restore default value for ALC283 Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 023/158] ALSA: hda - add headset mic detect quirks for three Dell laptops Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 024/158] ALSA: hda - Enable beep for ASUS 1015E Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 025/158] ALSA: ice1712: Fix boundary checks in PCM pointer ops Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 026/158] ALSA: hda - Fix silent speaker output due to mute LED fixup Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 027/158] ALSA: hda/realtek - Add support of ALC288 codec Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 028/158] ALSA: hda/realtek - Add headset Mic support for Dell machine Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 029/158] ACPICA: Restore code that repairs NULL package elements in return values Greg Kroah-Hartman
2014-05-04 15:38 ` [PATCH 3.14 030/158] spi: efm32: use $vendor,$device scheme for compatible string Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 031/158] spi: dw: Dont call kfree for memory allocated by devm_kzalloc Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 032/158] s390/cio: fix driver callback initialization for ccw consoles Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 033/158] KVM: s390: Optimize ucontrol path Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 034/158] s390/bitops,atomic: add missing memory barriers Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 035/158] s390: fix control register update Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 036/158] mei: fix memory leak of pending write cb objects Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 037/158] mei: me: do not load the driver if the FW doesnt support MEI interface Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 038/158] mei: ignore client writing state during cb completion Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 039/158] mfd: sec-core: Fix possible NULL pointer dereference when i2c_new_dummy error Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 040/158] mfd: 88pm860x: Fix possible NULL pointer dereference on " Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 041/158] mfd: 88pm860x: Fix I2C device resource leak on regmap init fail Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 042/158] mfd: 88pm800: Fix I2C device resource leak if probe fails Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 043/158] mfd: max77686: Fix possible NULL pointer dereference on i2c_new_dummy error Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 044/158] mfd: max77693: " Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 045/158] mfd: max8925: " Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 046/158] mfd: max8998: " Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 047/158] mfd: max8997: " Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 048/158] mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 049/158] mfd: kempld-core: Fix potential hang-up during boot Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 050/158] mfd: twl-core: Fix accessibility of some twl4030 audio registers Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 051/158] w1: fix w1_send_slave dropping a slave id Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 052/158] staging:serqt_usb2: Fix sparse warning restricted __le16 degrades to integer Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 053/158] staging: r8712u: Fix case where ethtype was never obtained and always be checked against 0 Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 054/158] staging: comedi: usbdux: bug fix for accessing ao_chanlist in private data Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 055/158] staging: r8188eu: Calling rtw_get_stainfo() with a NULL sta_addr will return NULL Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 056/158] x86, hash: Fix build failure with older binutils Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 057/158] x86, AVX-512: AVX-512 Feature Detection Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 058/158] x86, AVX-512: Enable AVX-512 States Context Switch Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 059/158] ftrace/x86: One more missing sync after fixup of function modification failure Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 060/158] x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 061/158] regulator: arizona-ldo1: Correct default regulator init_data Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 062/158] PCI: imx6: Wait for retraining Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 063/158] PCI: mvebu: Fix potential issue in range parsing Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 064/158] USB: fix crash during hotplug of PCI USB controller card Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 065/158] iio: querying buffer scan_mask should return 0/1 Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 066/158] iio: adc: at91_adc: Repair broken platform_data support Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 067/158] iio: cm32181: Fix read integration time function Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 068/158] iio: cm36651: Fix i2c client leak and possible NULL pointer dereference Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 069/158] NFSv4: Fix a use-after-free problem in open() Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 070/158] nfsd: revert v2 half of "nfsd: dont return high mode bits" Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 071/158] nfsd4: session needs room for following op to error out Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 072/158] nfsd4: buffer-length check for SUPPATTR_EXCLCREAT Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 073/158] nfsd4: fix test_stateid error reply encoding Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 074/158] nfsd4: leave reply buffer space for failed setattr Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 075/158] nfsd: notify_change needs elevated write count Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 076/158] nfsd: check passed sockets net matches NFSd superblocks one Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 077/158] nfsd4: fix memory leak in nfsd4_encode_fattr() Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 078/158] nfsd4: fix setclientid encode size Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 079/158] NFSD: Traverse unconfirmed client through hash-table Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 080/158] nfsd: set timeparms.to_maxval in setup_callback_client Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 081/158] IB/ipath: Fix potential buffer overrun in sending diag packet routine Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 082/158] IB/nes: Return an error on ib_copy_from_udata() failure instead of NULL Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 083/158] IB/mthca: Return an error on ib_copy_to_udata() failure Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 084/158] IB/ehca: Returns " Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 085/158] IB/qib: Fix debugfs ordering issue with multiple HCAs Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 086/158] IB/qib: add missing braces in do_qib_user_sdma_queue_create() Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 087/158] IB/core: Dont resolve passive side RoCE L2 address in CMA REQ handler Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 088/158] ib_srpt: Use correct ib_sg_dma primitives Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 089/158] SCSI: qla2xxx: fix error handling of qla2x00_mem_alloc() Greg Kroah-Hartman
2014-05-04 15:39 ` [PATCH 3.14 090/158] SCSI: arcmsr: upper 32 of dma address lost Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 091/158] iscsi-target: Fix ERL=2 ASYNC_EVENT connection pointer bug Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 092/158] target/rd: T10-Dif: RAM disk is allocating more space than required Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 093/158] Target/sbc: Initialize COMPARE_AND_WRITE write_sg scatterlist Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 094/158] target/iblock: Fix double bioset_integrity_free bug Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 095/158] target/tcm_fc: Fix use-after-free of ft_tpg Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 096/158] Drivers: hv: vmbus: Negotiate version 3.0 when running on ws2012r2 hosts Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 097/158] x86/efi: Correct EFI boot stub use of code32_start Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 098/158] efi: Pass correct file handle to efi_file_{read,close} Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 099/158] word-at-a-time: avoid undefined behaviour in zero_bytemask macro Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 100/158] arm64: __NR_compat_syscalls fix Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 101/158] DRM: armada: fix corruption while loading cursors Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 102/158] reiserfs: fix race in readdir Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 103/158] usb: gadget: tcm_usb_gadget: stop format strings Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 104/158] usb: gadget: atmel_usba: fix crashed during stopping when DEBUG is enabled Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 105/158] usb: gadget: zero: Fix SuperSpeed enumeration for alternate setting 1 Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 106/158] xhci: Prevent runtime pm from autosuspending during initialization Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 107/158] xhci: Switch Intel Lynx Point ports to EHCI on shutdown Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 108/158] xhci: extend quirk for Renesas cards Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 109/158] usb/xhci: fix compilation warning when !CONFIG_PCI && !CONFIG_PM Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 110/158] media: uvcvideo: Do not use usb_set_interface on bulk EP Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 111/158] media: videodev2.h: add parenthesis around macro arguments Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 112/158] video: atmel_lcdfb: ensure the hardware is initialized with the correct mode Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 113/158] media: v4l2-dv-timings: add module name, description, license Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 114/158] media: v4l2-compat-ioctl32: fix wrong VIDIOC_SUBDEV_G/S_EDID32 support Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 115/158] media: m88rs2000: prevent frontend crash on continuous transponder scans Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 116/158] media: em28xx-audio: fix user counting in snd_em28xx_capture_open() Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 117/158] media: m88rs2000: add caps FE_CAN_INVERSION_AUTO Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 118/158] media: em28xx: fix PCTV 290e LNA oops Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 119/158] media: saa7134: fix WARN_ON during resume Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 120/158] media: omap3isp: preview: Fix the crop margins Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 121/158] media: media: gspca: sn9c20x: add ID for Genius Look 1320 V2 Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 122/158] usb: dwc3: fix wrong bit mask in dwc3_event_devt Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 123/158] usb: dwc3: fix randconfig build errors Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 124/158] usb: musb: avoid NULL pointer dereference Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 125/158] usb: musb: fix PHY power on/off Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 126/158] hvc: ensure hvc_init is only ever called once in hvc_console.c Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 127/158] usb: phy: Add ulpi IDs for SMSC USB3320 and TI TUSB1210 Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 128/158] usb: phy: am335x-control: wait 1ms after power-up transitions Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 129/158] USB: unbind all interfaces before rebinding any Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 130/158] mtip32xx: Set queue bounce limit Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 131/158] mtip32xx: Unmap the DMA segments before completing the IO request Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 132/158] mtip32xx: mtip_async_complete() bug fixes Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 133/158] iser-target: Match FRMR descriptors to available session tags Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 134/158] [PATCH-v3.14.y 2/2] iser-target: Add missing se_cmd put for WRITE_PENDING in tx_comp_err Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 135/158] sh: fix format string bug in stack tracer Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 136/158] mm: page_alloc: spill to remote nodes before waking kswapd Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 137/158] mm: try_to_unmap_cluster() should lock_page() before mlocking Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 138/158] mm: hugetlb: fix softlockup when a large number of hugepages are freed Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 139/158] hung_task: check the value of "sysctl_hung_task_timeout_sec" Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 140/158] xattr: guard against simultaneous glibc header inclusion Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 141/158] ocfs2: dlm: fix lock migration crash Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 142/158] ocfs2: dlm: fix recovery hung Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 143/158] ocfs2: do not put bh when buffer_uptodate failed Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 144/158] ocfs2: fix panic on kfree(xattr->name) Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 145/158] clk: s2mps11: Fix possible NULL pointer dereference Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 146/158] smarter propagate_mnt() Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 147/158] block: Fix for_each_bvec() Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 148/158] ext4: FIBMAP ioctl causes BUG_ON due to handle EXT_MAX_BLOCKS Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 149/158] ext4: note the error in ext4_end_bio() Greg Kroah-Hartman
2014-05-04 15:40 ` [PATCH 3.14 150/158] ext4: fix jbd2 warning under heavy xattr load Greg Kroah-Hartman
2014-05-04 15:41 ` [PATCH 3.14 151/158] ext4: move ext4_update_i_disksize() into mpage_map_and_submit_extent() Greg Kroah-Hartman
2014-05-04 15:41 ` [PATCH 3.14 152/158] ext4: use i_size_read in ext4_unaligned_aio() Greg Kroah-Hartman
2014-05-04 15:41 ` Greg Kroah-Hartman [this message]
2014-05-04 15:41 ` [PATCH 3.14 154/158] ARM: tegra: remove UART5/UARTE from tegra124.dtsi Greg Kroah-Hartman
2014-05-04 15:41 ` [PATCH 3.14 155/158] clk: tegra: remove non-existent clocks Greg Kroah-Hartman
2014-05-04 15:41 ` [PATCH 3.14 156/158] dt: tegra: remove non-existent clock IDs Greg Kroah-Hartman
2014-05-04 15:41 ` [PATCH 3.14 157/158] USB: EHCI: tegra: set txfill_tuning Greg Kroah-Hartman
2014-05-04 15:41 ` [PATCH 3.14 158/158] USB: pl2303: add ids for Hewlett-Packard HP POS pole displays Greg Kroah-Hartman
2014-05-04 17:19 ` [PATCH 3.14 000/158] 3.14.3-stable review Guenter Roeck
2014-05-04 20:27   ` Greg Kroah-Hartman
2014-05-04 21:33     ` Guenter Roeck
2014-05-06 14:56 ` 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=20140504154050.800856946@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=jwerner@chromium.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).