From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Bin Liu <b-liu@ti.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Felipe Balbi <balbi@ti.com>
Subject: [PATCH 3.12 035/118] usb: musb: musb_cppi41: handle pre-mature TX complete interrupt
Date: Wed, 18 Dec 2013 13:11:12 -0800 [thread overview]
Message-ID: <20131218211220.467193713@linuxfoundation.org> (raw)
In-Reply-To: <20131218211219.461663463@linuxfoundation.org>
3.12-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
commit a655f481d83d6d37bec0a2ddfdd24c30ff8f541f upstream.
The TX-complete interrupt of the CPPI41 on AM335x fires too early.
Adding a loop and counting how long it takes until the
MUSB_TXCSR_TXPKTRDY bit is cleared I see
FS:
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=64, mode=0, dma_addr=0xadc54002, len=1514 is_tx=1
|cppi41_dma_callback() 74 loops
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=64, mode=0, dma_addr=0xadcd8802, len=1514 is_tx=1
|cppi41_dma_callback() 66 loops
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=64, mode=0, dma_addr=0xadcd8002, len=1514 is_tx=1
|cppi41_dma_callback() 136 loops
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=64, mode=0, dma_addr=0xadf55802, len=1514 is_tx=1
|cppi41_dma_callback() 136 loops
avg: 110 - 150us
HS:
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=512, mode=0, dma_addr=0xaca6f002, len=1514 is_tx=1
|cppi41_dma_callback() 0 loops
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=512, mode=0, dma_addr=0xadd6f802, len=1514 is_tx=1
|cppi41_dma_callback() 2 loops
|musb-hdrc musb-hdrc.0.auto: configure ep1/80 packet_sz=512, mode=0, dma_addr=0xadd6f002, len=1514 is_tx=1
|cppi41_dma_callback() 13 loops
avg: 2us
for the same test case. One loop means a udelay(1). The delay seems to
depend on the packet size. On HS the bit is always cleared for small
packet sizes while on FS it is never the case, it mostly around 110us.
This testing has been performed with g_ether (musb as device) and using BULK
transfers.
INTR transfers are way more fun: during init the gadget sends a INT
packet to the host and cppi41 says "transfer done" shortly after. The
MUSB_TXCSR_TXPKTRDY bit is set even seconds later. The reason is that the host
did not try to receive it, it does so after the interface (on host side) has
been configured. Until this happens, that packet remains in musb's FIFO.
To fix this, two things are done:
- No DMA transfers for INT based endpoints. These transfer are usually
very small and rare so it is likely better to skip the DMA engine and
stuff the four bytes directly into the FIFO
- on HS we poll up to 25us and hope that bit goes away. If not we setup
a hrtimer to poll for it. The 140us delay is a rule of thumb. In FS
the command
| ping 10.10.10.10 -c1 -s65130
creates about 44 1514bytes transfers. About 19 of them need a second
timer to complete.
Reported-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/musb/musb_cppi41.c | 113 +++++++++++++++++++++++++++++++++++++++--
1 file changed, 108 insertions(+), 5 deletions(-)
--- a/drivers/usb/musb/musb_cppi41.c
+++ b/drivers/usb/musb/musb_cppi41.c
@@ -38,6 +38,7 @@ struct cppi41_dma_channel {
u32 prog_len;
u32 transferred;
u32 packet_sz;
+ struct list_head tx_check;
};
#define MUSB_DMA_NUM_CHANNELS 15
@@ -47,6 +48,8 @@ struct cppi41_dma_controller {
struct cppi41_dma_channel rx_channel[MUSB_DMA_NUM_CHANNELS];
struct cppi41_dma_channel tx_channel[MUSB_DMA_NUM_CHANNELS];
struct musb *musb;
+ struct hrtimer early_tx;
+ struct list_head early_tx_list;
u32 rx_mode;
u32 tx_mode;
u32 auto_req;
@@ -96,11 +99,23 @@ static void update_rx_toggle(struct cppi
cppi41_channel->usb_toggle = toggle;
}
+static bool musb_is_tx_fifo_empty(struct musb_hw_ep *hw_ep)
+{
+ u8 epnum = hw_ep->epnum;
+ struct musb *musb = hw_ep->musb;
+ void __iomem *epio = musb->endpoints[epnum].regs;
+ u16 csr;
+
+ csr = musb_readw(epio, MUSB_TXCSR);
+ if (csr & MUSB_TXCSR_TXPKTRDY)
+ return false;
+ return true;
+}
+
static void cppi41_dma_callback(void *private_data);
-static void cppi41_trans_done(struct dma_channel *channel)
+static void cppi41_trans_done(struct cppi41_dma_channel *cppi41_channel)
{
- struct cppi41_dma_channel *cppi41_channel = channel->private_data;
struct musb_hw_ep *hw_ep = cppi41_channel->hw_ep;
struct musb *musb = hw_ep->musb;
@@ -138,7 +153,7 @@ static void cppi41_trans_done(struct dma
return;
dma_desc->callback = cppi41_dma_callback;
- dma_desc->callback_param = channel;
+ dma_desc->callback_param = &cppi41_channel->channel;
cppi41_channel->cookie = dma_desc->tx_submit(dma_desc);
dma_async_issue_pending(dc);
@@ -150,6 +165,41 @@ static void cppi41_trans_done(struct dma
}
}
+static enum hrtimer_restart cppi41_recheck_tx_req(struct hrtimer *timer)
+{
+ struct cppi41_dma_controller *controller;
+ struct cppi41_dma_channel *cppi41_channel, *n;
+ struct musb *musb;
+ unsigned long flags;
+ enum hrtimer_restart ret = HRTIMER_NORESTART;
+
+ controller = container_of(timer, struct cppi41_dma_controller,
+ early_tx);
+ musb = controller->musb;
+
+ spin_lock_irqsave(&musb->lock, flags);
+ list_for_each_entry_safe(cppi41_channel, n, &controller->early_tx_list,
+ tx_check) {
+ bool empty;
+ struct musb_hw_ep *hw_ep = cppi41_channel->hw_ep;
+
+ empty = musb_is_tx_fifo_empty(hw_ep);
+ if (empty) {
+ list_del_init(&cppi41_channel->tx_check);
+ cppi41_trans_done(cppi41_channel);
+ }
+ }
+
+ if (!list_empty(&controller->early_tx_list)) {
+ ret = HRTIMER_RESTART;
+ hrtimer_forward_now(&controller->early_tx,
+ ktime_set(0, 150 * NSEC_PER_USEC));
+ }
+
+ spin_unlock_irqrestore(&musb->lock, flags);
+ return ret;
+}
+
static void cppi41_dma_callback(void *private_data)
{
struct dma_channel *channel = private_data;
@@ -159,6 +209,7 @@ static void cppi41_dma_callback(void *pr
unsigned long flags;
struct dma_tx_state txstate;
u32 transferred;
+ bool empty;
spin_lock_irqsave(&musb->lock, flags);
@@ -177,8 +228,52 @@ static void cppi41_dma_callback(void *pr
transferred < cppi41_channel->packet_sz)
cppi41_channel->prog_len = 0;
- cppi41_trans_done(channel);
-
+ empty = musb_is_tx_fifo_empty(hw_ep);
+ if (empty) {
+ cppi41_trans_done(cppi41_channel);
+ } else {
+ struct cppi41_dma_controller *controller;
+ /*
+ * On AM335x it has been observed that the TX interrupt fires
+ * too early that means the TXFIFO is not yet empty but the DMA
+ * engine says that it is done with the transfer. We don't
+ * receive a FIFO empty interrupt so the only thing we can do is
+ * to poll for the bit. On HS it usually takes 2us, on FS around
+ * 110us - 150us depending on the transfer size.
+ * We spin on HS (no longer than than 25us and setup a timer on
+ * FS to check for the bit and complete the transfer.
+ */
+ controller = cppi41_channel->controller;
+
+ if (musb->g.speed == USB_SPEED_HIGH) {
+ unsigned wait = 25;
+
+ do {
+ empty = musb_is_tx_fifo_empty(hw_ep);
+ if (empty)
+ break;
+ wait--;
+ if (!wait)
+ break;
+ udelay(1);
+ } while (1);
+
+ empty = musb_is_tx_fifo_empty(hw_ep);
+ if (empty) {
+ cppi41_trans_done(cppi41_channel);
+ goto out;
+ }
+ }
+ list_add_tail(&cppi41_channel->tx_check,
+ &controller->early_tx_list);
+ if (!hrtimer_active(&controller->early_tx)) {
+ hrtimer_start_range_ns(&controller->early_tx,
+ ktime_set(0, 140 * NSEC_PER_USEC),
+ 40 * NSEC_PER_USEC,
+ HRTIMER_MODE_REL);
+ }
+ }
+out:
spin_unlock_irqrestore(&musb->lock, flags);
}
@@ -377,6 +472,8 @@ static int cppi41_is_compatible(struct d
WARN_ON(1);
return 1;
}
+ if (cppi41_channel->hw_ep->ep_in.type != USB_ENDPOINT_XFER_BULK)
+ return 0;
if (cppi41_channel->is_tx)
return 1;
/* AM335x Advisory 1.0.13. No workaround for device RX mode */
@@ -401,6 +498,7 @@ static int cppi41_dma_channel_abort(stru
if (cppi41_channel->channel.status == MUSB_DMA_STATUS_FREE)
return 0;
+ list_del_init(&cppi41_channel->tx_check);
if (is_tx) {
csr = musb_readw(epio, MUSB_TXCSR);
csr &= ~MUSB_TXCSR_DMAENAB;
@@ -507,6 +605,7 @@ static int cppi41_dma_controller_start(s
cppi41_channel->controller = controller;
cppi41_channel->port_num = port;
cppi41_channel->is_tx = is_tx;
+ INIT_LIST_HEAD(&cppi41_channel->tx_check);
musb_dma = &cppi41_channel->channel;
musb_dma->private_data = cppi41_channel;
@@ -531,6 +630,7 @@ void dma_controller_destroy(struct dma_c
struct cppi41_dma_controller *controller = container_of(c,
struct cppi41_dma_controller, controller);
+ hrtimer_cancel(&controller->early_tx);
cppi41_dma_controller_stop(controller);
kfree(controller);
}
@@ -550,6 +650,9 @@ struct dma_controller *dma_controller_cr
if (!controller)
goto kzalloc_fail;
+ hrtimer_init(&controller->early_tx, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+ controller->early_tx.function = cppi41_recheck_tx_req;
+ INIT_LIST_HEAD(&controller->early_tx_list);
controller->musb = musb;
controller->controller.channel_alloc = cppi41_dma_channel_allocate;
next prev parent reply other threads:[~2013-12-18 21:11 UTC|newest]
Thread overview: 173+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-18 21:10 [PATCH 3.12 000/118] 3.12.6-stable review Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 001/118] arm64: mm: Fix PMD_SECT_PROT_NONE definition Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 002/118] udl: fix issue with imported prime buffers Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 003/118] ALSA: compress: Fix 64bit ABI incompatibility Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 004/118] ALSA: memalloc.h - fix wrong truncation of dma_addr_t Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 005/118] ALSA: hda - Add static DAC/pin mapping for AD1986A codec Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 006/118] ALSA: hda - Mute all aamix inputs as default Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 007/118] ALSA: hda - hdmi: Fix IEC958 ctl indexes for some simple HDMI devices Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 008/118] ARM: pxa: tosa: fix keys mapping Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 009/118] ARM: highbank: handle soft poweroff and reset key events Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 010/118] ARM: sun6i: dt: Fix interrupt trigger types Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 011/118] ARM: pxa: prevent PXA270 occasional reboot freezes Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 012/118] ARM: OMAP3: hwmod data: Dont prevent RESET of USB Host module Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 013/118] ARM: 7912/1: check stack pointer in get_wchan Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 014/118] ARM: 7913/1: fix framepointer check in unwind_frame Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 015/118] ARM: 7917/1: cacheflush: correctly limit range of memory region being flushed Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 016/118] KVM: Improve create VCPU parameter (CVE-2013-4587) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 017/118] KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 018/118] KVM: x86: Convert vapic synchronization to _cached functions (CVE-2013-6368) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 019/118] KVM: x86: fix guest-initiated crash with x2apic (CVE-2013-6376) Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 020/118] hwmon: Prevent some divide by zeros in FAN_TO_REG() Greg Kroah-Hartman
2013-12-18 21:10 ` [PATCH 3.12 022/118] hwmon: (w83l786ng) Fix fan speed control mode setting and reporting Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 023/118] hwmon: (w83l768ng) Fix fan speed control range Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 024/118] xfs: growfs overruns AGFL buffer on V4 filesystems Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 025/118] xfs: underflow bug in xfs_attrlist_by_handle() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 026/118] iwlwifi: pcie: fix interrupt coalescing for 7260 / 3160 Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 027/118] PCI: Disable Bus Master only on kexec reboot Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 028/118] futex: fix handling of read-only-mapped hugepages Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 029/118] nfsd: when reusing an existing repcache entry, unhash it first Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 030/118] usb: hub: Use correct reset for wedged USB3 devices that are NOTATTACHED Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 031/118] usb: dwc3: fix implementation of endpoint wedge Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 032/118] usb: gadget: composite: reset delayed_status on reset_config Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst Greg Kroah-Hartman
2013-12-31 20:40 ` walt
2013-12-31 22:06 ` Mark Lord
2014-01-02 19:15 ` Sarah Sharp
2014-01-02 21:01 ` Mark Lord
2014-01-02 21:19 ` James Bottomley
2014-01-02 21:33 ` Sarah Sharp
2014-01-03 15:40 ` walt
2014-01-03 19:54 ` Sarah Sharp
2014-01-03 21:21 ` walt
2014-01-03 23:29 ` Sarah Sharp
2014-01-07 0:31 ` Sarah Sharp
2014-01-07 13:29 ` walt
2014-01-07 13:51 ` David Laight
2014-01-07 13:58 ` David Laight
2014-01-07 19:15 ` walt
2014-01-07 20:00 ` walt
2014-01-07 23:31 ` Sarah Sharp
2014-01-07 21:27 ` Sarah Sharp
2014-01-07 21:21 ` Sarah Sharp
2014-01-08 0:47 ` Sarah Sharp
2014-01-08 16:09 ` David Laight
[not found] ` <52CCA94D.5090700@gmail.com>
2014-01-09 23:50 ` Sarah Sharp
2014-01-10 14:40 ` walt
2014-01-10 14:58 ` David Laight
2014-01-10 15:12 ` Alan Stern
2014-01-13 23:39 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst [NEW HARDWARE] walt
2014-01-14 9:43 ` David Laight
2014-01-14 17:20 ` Sarah Sharp
2014-01-14 21:27 ` walt
2014-01-16 20:46 ` Sarah Sharp
2014-01-17 14:34 ` David Laight
2014-01-18 18:34 ` walt
2014-01-18 20:23 ` walt
2014-01-20 10:40 ` David Laight
2014-01-20 11:21 ` David Laight
2014-01-20 18:14 ` Sarah Sharp
2014-01-21 9:51 ` David Laight
2014-01-21 22:07 ` walt
2014-01-22 9:17 ` David Laight
2014-01-08 16:39 ` [PATCH 3.12 033/118] usb: xhci: Link TRB must not occur within a USB payload burst Alan Stern
2014-01-08 16:51 ` David Laight
2014-01-08 17:14 ` Alan Stern
2014-01-08 17:24 ` David Laight
2014-01-09 1:22 ` walt
2014-01-09 10:05 ` David Laight
2014-01-09 15:10 ` walt
2014-01-04 14:03 ` Mark Lord
2014-01-06 10:35 ` David Laight
2013-12-18 21:11 ` [PATCH 3.12 034/118] usb: musb: musb_cppi41: factor most of cppi41_dma_callback() into cppi41_trans_done() Greg Kroah-Hartman
2013-12-18 21:11 ` Greg Kroah-Hartman [this message]
2013-12-18 21:11 ` [PATCH 3.12 036/118] USB: serial: option: blacklist interface 1 for Huawei E173s-6 Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 037/118] USB: option: support new huawei devices Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 038/118] Input: usbtouchscreen - separate report and transmit buffer size handling Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 039/118] media: af9035: fix broken I2C and USB I/O Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 040/118] powerpc: Fix PTE page address mismatch in pgtable ctor/dtor Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 041/118] drivers/rtc/rtc-at91rm9200.c: correct alarm over day/month wrap Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 042/118] mm: memcg: do not declare OOM from __GFP_NOFAIL allocations Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 043/118] mm: memcg: do not allow task about to OOM kill to bypass the limit Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 044/118] mm: memcg: fix race condition between memcg teardown and swapin Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 045/118] regulator: pfuze100: Fix address of FABID Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 046/118] Partially revert "mtd: nand: pxa3xx: Introduce marvell,armada370-nand compatible string" Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 047/118] iommu/arm-smmu: use mutex instead of spinlock for locking page tables Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 049/118] ath9k: Fix QuickDrop usage Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 050/118] ath9k: Fix XLNA bias strength Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 051/118] ath9k: fix duration calculation for non-aggregated packets Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 052/118] cfg80211: disable 5/10 MHz support for all drivers Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 053/118] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_output() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 054/118] selinux: handle TCP SYN-ACK packets correctly in selinux_ip_postroute() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 055/118] Revert "mac80211: allow disable power save in mesh" Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 056/118] mac80211: fix scheduled scan rtnl deadlock Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 057/118] mac80211: dont attempt to reorder multicast frames Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 058/118] iwlwifi: mvm: check sta_id/drain values in debugfs Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 059/118] mwifiex: fix memory leak issue for ibss join Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 060/118] net: allwinner: emac: Add missing free_irq Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 061/118] igb: Fix for issue where values could be too high for udelay function Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 062/118] drm/i915: use the correct force_wake function at the PC8 code Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 063/118] drm/radeon: fix typo in fetching mpll params Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 064/118] drm/radeon: program DCE2 audio dto just like DCE3 Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 065/118] drm/radeon: fixup bad vram size on SI Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 066/118] drm/radeon/atom: fix bus probes when hw_i2c is set (v2) Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 067/118] x86, efi: Dont use (U)EFI time services on 32 bit Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 068/118] x86/UV: Fix NULL pointer dereference in uv_flush_tlb_others() if the nobau boot option is used Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 069/118] x86, build: Pass in additional -mno-mmx, -mno-sse options Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 070/118] x86, build, icc: Remove uninitialized_var() from compiler-intel.h Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 071/118] media: saa7164: fix return value check in saa7164_initdev() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 072/118] media: tef6862/radio-tea5764: actually assign clamp result Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 074/118] media: af9033: fix broken I2C Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 075/118] media: wm8775: fix broken audio routing Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 076/118] media: af9035: add [0413:6a05] Leadtek WinFast DTV Dongle Dual Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 077/118] media: af9035: unlock on error in af9035_i2c_master_xfer() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 078/118] Btrfs: fix access_ok() check in btrfs_ioctl_send() Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 079/118] btrfs: call mnt_drop_write after interrupted subvol deletion Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 080/118] dm bufio: initialize read-only module parameters Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 081/118] dm snapshot: avoid snapshot space leak on crash Greg Kroah-Hartman
2013-12-18 21:11 ` [PATCH 3.12 082/118] dm stats: initialize read-only module parameter Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 083/118] dm array: fix a reference counting bug in shadow_ablock Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 084/118] dm delay: fix a possible deadlock due to shared workqueue Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 085/118] dm space map metadata: return on failure in sm_metadata_new_block Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 086/118] dm space map: disallow decrementing a reference count below zero Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 087/118] dm table: fail dm_table_create on dm_round_up overflow Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 088/118] dm thin: switch to read only mode if a mapping insert fails Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 089/118] dm thin: switch to read-only mode if metadata space is exhausted Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 090/118] dm thin: always fallback the pool mode if commit fails Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 091/118] dm thin: re-establish read-only state when switching to fail mode Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 092/118] dm thin: allow pool in read-only mode to transition to read-write mode Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 093/118] vfs: split out vfs_getattr_nosec Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 094/118] exportfs: fix 32-bit nfsd handling of 64-bit inode numbers Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 095/118] HID: kye: Add report fixup for Genius Manticore Keyboard Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 096/118] HID: kye: Fix missing break in kye_report_fixup() Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 098/118] [media] cxd2820r_core: fix sparse warnings Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 099/118] sched: Avoid throttle_cfs_rq() racing with period_timer stopping Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 100/118] staging: comedi: drivers: use comedi_dio_update_state() for simple cases Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 101/118] staging: comedi: ssv_dnp: use comedi_dio_update_state() Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 102/118] sc1200_wdt: Fix oops Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 103/118] NFSv4 wait on recovery for async session errors Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 104/118] Input: elantech - add support for newer (August 2013) devices Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 105/118] Revert "net: update consumers of MSG_MORE to recognize MSG_SENDPAGE_NOTLAST" Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 106/118] Btrfs: do a full search everytime in btrfs_search_old_slot Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 107/118] Btrfs: reset intwrite on transaction abort Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 108/118] Btrfs: fix memory leak of chunks extent map Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 109/118] Btrfs: fix hole check in log_one_extent Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 110/118] Btrfs: fix incorrect inode acl reset Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 111/118] Btrfs: stop using vfs_read in send Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 112/118] Btrfs: take ordered root lock when removing ordered operations inode Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 113/118] Btrfs: do not run snapshot-aware defragment on error Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 114/118] Btrfs: fix a crash when running balance and defrag concurrently Greg Kroah-Hartman
2013-12-18 21:12 ` [PATCH 3.12 115/118] Btrfs: fix lockdep error in async commit Greg Kroah-Hartman
2013-12-18 23:48 ` [PATCH 3.12 000/118] 3.12.6-stable review Guenter Roeck
2013-12-19 2:56 ` Greg Kroah-Hartman
2013-12-19 3:00 ` Greg Kroah-Hartman
2013-12-19 3:20 ` Greg Kroah-Hartman
2013-12-19 2:07 ` Guenter Roeck
2013-12-19 3:27 ` Greg Kroah-Hartman
2013-12-19 6:17 ` Guenter Roeck
2013-12-19 6:34 ` Greg Kroah-Hartman
2013-12-19 15:58 ` Ryo Munakata
2013-12-19 16:10 ` Greg Kroah-Hartman
2013-12-19 20:48 ` Shuah Khan
2013-12-19 21:25 ` Greg Kroah-Hartman
2013-12-19 22:34 ` Satoru Takeuchi
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=20131218211220.467193713@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=b-liu@ti.com \
--cc=balbi@ti.com \
--cc=bigeasy@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--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).