From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
Elric Fu <elricfu1@gmail.com>,
Sarah Sharp <sarah.a.sharp@linux.intel.com>,
Miroslav Sabljic <miroslav.sabljic@avl.com>
Subject: [ 024/147] xHCI: add aborting command ring function
Date: Sun, 14 Oct 2012 15:35:57 +0100 [thread overview]
Message-ID: <20121014143537.047362248@decadent.org.uk> (raw)
In-Reply-To: <20121014143533.742627615@decadent.org.uk>
3.2-stable review patch. If anyone has any objections, please let me know.
------------------
From: Elric Fu <elricfu1@gmail.com>
commit b92cc66c047ff7cf587b318fe377061a353c120f upstream.
Software have to abort command ring and cancel command
when a command is failed or hang. Otherwise, the command
ring will hang up and can't handle the others. An example
of a command that may hang is the Address Device Command,
because waiting for a SET_ADDRESS request to be acknowledged
by a USB device is outside of the xHC's ability to control.
To cancel a command, software will initialize a command
descriptor for the cancel command, and add it into a
cancel_cmd_list of xhci.
Sarah: Fixed missing newline on "Have the command ring been stopped?"
debugging statement.
This patch should be backported to kernels as old as 3.0, that contain
the commit 7ed603ecf8b68ab81f4c83097d3063d43ec73bb8 "xhci: Add an
assertion to check for virt_dev=0 bug." That commit papers over a NULL
pointer dereference, and this patch fixes the underlying issue that
caused the NULL pointer dereference.
Signed-off-by: Elric Fu <elricfu1@gmail.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Tested-by: Miroslav Sabljic <miroslav.sabljic@avl.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
drivers/usb/host/xhci-mem.c | 7 +++
drivers/usb/host/xhci-ring.c | 108 ++++++++++++++++++++++++++++++++++++++++++
drivers/usb/host/xhci.c | 2 +-
drivers/usb/host/xhci.h | 12 +++++
4 files changed, 128 insertions(+), 1 deletion(-)
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -1680,6 +1680,7 @@ void xhci_mem_cleanup(struct xhci_hcd *x
{
struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller);
struct dev_info *dev_info, *next;
+ struct xhci_cd *cur_cd, *next_cd;
unsigned long flags;
int size;
int i, j, num_ports;
@@ -1701,6 +1702,11 @@ void xhci_mem_cleanup(struct xhci_hcd *x
xhci_ring_free(xhci, xhci->cmd_ring);
xhci->cmd_ring = NULL;
xhci_dbg(xhci, "Freed command ring\n");
+ list_for_each_entry_safe(cur_cd, next_cd,
+ &xhci->cancel_cmd_list, cancel_cmd_list) {
+ list_del(&cur_cd->cancel_cmd_list);
+ kfree(cur_cd);
+ }
for (i = 1; i < MAX_HC_SLOTS; ++i)
xhci_free_virt_device(xhci, i);
@@ -2246,6 +2252,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
xhci->cmd_ring = xhci_ring_alloc(xhci, 1, true, false, flags);
if (!xhci->cmd_ring)
goto fail;
+ INIT_LIST_HEAD(&xhci->cancel_cmd_list);
xhci_dbg(xhci, "Allocated command ring at %p\n", xhci->cmd_ring);
xhci_dbg(xhci, "First segment DMA is 0x%llx\n",
(unsigned long long)xhci->cmd_ring->first_seg->dma);
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -318,6 +318,114 @@ void xhci_ring_cmd_db(struct xhci_hcd *x
xhci_readl(xhci, &xhci->dba->doorbell[0]);
}
+static int xhci_abort_cmd_ring(struct xhci_hcd *xhci)
+{
+ u64 temp_64;
+ int ret;
+
+ xhci_dbg(xhci, "Abort command ring\n");
+
+ if (!(xhci->cmd_ring_state & CMD_RING_STATE_RUNNING)) {
+ xhci_dbg(xhci, "The command ring isn't running, "
+ "Have the command ring been stopped?\n");
+ return 0;
+ }
+
+ temp_64 = xhci_read_64(xhci, &xhci->op_regs->cmd_ring);
+ if (!(temp_64 & CMD_RING_RUNNING)) {
+ xhci_dbg(xhci, "Command ring had been stopped\n");
+ return 0;
+ }
+ xhci->cmd_ring_state = CMD_RING_STATE_ABORTED;
+ xhci_write_64(xhci, temp_64 | CMD_RING_ABORT,
+ &xhci->op_regs->cmd_ring);
+
+ /* Section 4.6.1.2 of xHCI 1.0 spec says software should
+ * time the completion od all xHCI commands, including
+ * the Command Abort operation. If software doesn't see
+ * CRR negated in a timely manner (e.g. longer than 5
+ * seconds), then it should assume that the there are
+ * larger problems with the xHC and assert HCRST.
+ */
+ ret = handshake(xhci, &xhci->op_regs->cmd_ring,
+ CMD_RING_RUNNING, 0, 5 * 1000 * 1000);
+ if (ret < 0) {
+ xhci_err(xhci, "Stopped the command ring failed, "
+ "maybe the host is dead\n");
+ xhci->xhc_state |= XHCI_STATE_DYING;
+ xhci_quiesce(xhci);
+ xhci_halt(xhci);
+ return -ESHUTDOWN;
+ }
+
+ return 0;
+}
+
+static int xhci_queue_cd(struct xhci_hcd *xhci,
+ struct xhci_command *command,
+ union xhci_trb *cmd_trb)
+{
+ struct xhci_cd *cd;
+ cd = kzalloc(sizeof(struct xhci_cd), GFP_ATOMIC);
+ if (!cd)
+ return -ENOMEM;
+ INIT_LIST_HEAD(&cd->cancel_cmd_list);
+
+ cd->command = command;
+ cd->cmd_trb = cmd_trb;
+ list_add_tail(&cd->cancel_cmd_list, &xhci->cancel_cmd_list);
+
+ return 0;
+}
+
+/*
+ * Cancel the command which has issue.
+ *
+ * Some commands may hang due to waiting for acknowledgement from
+ * usb device. It is outside of the xHC's ability to control and
+ * will cause the command ring is blocked. When it occurs software
+ * should intervene to recover the command ring.
+ * See Section 4.6.1.1 and 4.6.1.2
+ */
+int xhci_cancel_cmd(struct xhci_hcd *xhci, struct xhci_command *command,
+ union xhci_trb *cmd_trb)
+{
+ int retval = 0;
+ unsigned long flags;
+
+ spin_lock_irqsave(&xhci->lock, flags);
+
+ if (xhci->xhc_state & XHCI_STATE_DYING) {
+ xhci_warn(xhci, "Abort the command ring,"
+ " but the xHCI is dead.\n");
+ retval = -ESHUTDOWN;
+ goto fail;
+ }
+
+ /* queue the cmd desriptor to cancel_cmd_list */
+ retval = xhci_queue_cd(xhci, command, cmd_trb);
+ if (retval) {
+ xhci_warn(xhci, "Queuing command descriptor failed.\n");
+ goto fail;
+ }
+
+ /* abort command ring */
+ retval = xhci_abort_cmd_ring(xhci);
+ if (retval) {
+ xhci_err(xhci, "Abort command ring failed\n");
+ if (unlikely(retval == -ESHUTDOWN)) {
+ spin_unlock_irqrestore(&xhci->lock, flags);
+ usb_hc_died(xhci_to_hcd(xhci)->primary_hcd);
+ xhci_dbg(xhci, "xHCI host controller is dead.\n");
+ return retval;
+ }
+ }
+
+fail:
+ spin_unlock_irqrestore(&xhci->lock, flags);
+ return retval;
+}
+
void xhci_ring_ep_doorbell(struct xhci_hcd *xhci,
unsigned int slot_id,
unsigned int ep_index,
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -52,7 +52,7 @@ MODULE_PARM_DESC(link_quirk, "Don't clea
* handshake done). There are two failure modes: "usec" have passed (major
* hardware flakeout), or the register reads as all-ones (hardware removed).
*/
-static int handshake(struct xhci_hcd *xhci, void __iomem *ptr,
+int handshake(struct xhci_hcd *xhci, void __iomem *ptr,
u32 mask, u32 done, int usec)
{
u32 result;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1255,6 +1255,13 @@ struct xhci_td {
union xhci_trb *last_trb;
};
+/* command descriptor */
+struct xhci_cd {
+ struct list_head cancel_cmd_list;
+ struct xhci_command *command;
+ union xhci_trb *cmd_trb;
+};
+
struct xhci_dequeue_state {
struct xhci_segment *new_deq_seg;
union xhci_trb *new_deq_ptr;
@@ -1406,6 +1413,7 @@ struct xhci_hcd {
#define CMD_RING_STATE_RUNNING (1 << 0)
#define CMD_RING_STATE_ABORTED (1 << 1)
#define CMD_RING_STATE_STOPPED (1 << 2)
+ struct list_head cancel_cmd_list;
unsigned int cmd_ring_reserved_trbs;
struct xhci_ring *event_ring;
struct xhci_erst erst;
@@ -1670,6 +1678,8 @@ static inline void xhci_unregister_pci(v
/* xHCI host controller glue */
typedef void (*xhci_get_quirks_t)(struct device *, struct xhci_hcd *);
+int handshake(struct xhci_hcd *xhci, void __iomem *ptr,
+ u32 mask, u32 done, int usec);
void xhci_quiesce(struct xhci_hcd *xhci);
int xhci_halt(struct xhci_hcd *xhci);
int xhci_reset(struct xhci_hcd *xhci);
@@ -1760,6 +1770,8 @@ void xhci_queue_config_ep_quirk(struct x
unsigned int slot_id, unsigned int ep_index,
struct xhci_dequeue_state *deq_state);
void xhci_stop_endpoint_command_watchdog(unsigned long arg);
+int xhci_cancel_cmd(struct xhci_hcd *xhci, struct xhci_command *command,
+ union xhci_trb *cmd_trb);
void xhci_ring_ep_doorbell(struct xhci_hcd *xhci, unsigned int slot_id,
unsigned int ep_index, unsigned int stream_id);
next prev parent reply other threads:[~2012-10-14 14:44 UTC|newest]
Thread overview: 155+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-14 14:35 [ 000/147] 3.2.32-stable review Ben Hutchings
2012-10-14 14:35 ` [ 001/147] isci: fix isci_pci_probe() generates warning on efi failure path Ben Hutchings
2012-10-14 14:35 ` [ 002/147] mtd: nand: Use the mirror BBT descriptor when reading its version Ben Hutchings
2012-10-14 14:35 ` [ 003/147] drm/i915: prevent possible pin leak on error path Ben Hutchings
2012-10-14 14:35 ` [ 004/147] workqueue: add missing smp_wmb() in process_one_work() Ben Hutchings
2012-10-14 14:35 ` [ 005/147] TTY: ttyprintk, dont touch behind tty->write_buf Ben Hutchings
2012-10-14 14:35 ` [ 006/147] Remove BUG_ON from n_tty_read() Ben Hutchings
2012-10-14 14:35 ` [ 007/147] n_gsm.c: Implement 3GPP27.010 DLC start-up procedure in MUX Ben Hutchings
2012-10-14 14:35 ` [ 008/147] n_gsm: uplink SKBs accumulate on list Ben Hutchings
2012-10-14 14:35 ` [ 009/147] n_gsm : Flow control handling in Mux driver Ben Hutchings
2012-10-14 14:35 ` [ 010/147] char: n_gsm: remove message filtering for contipated DLCI Ben Hutchings
2012-10-14 14:35 ` [ 011/147] n_gsm: added interlocking for gsm_data_lock for certain code paths Ben Hutchings
2012-10-14 14:35 ` [ 012/147] n_gsm: avoid accessing freed memory during CMD_FCOFF condition Ben Hutchings
2012-10-14 14:35 ` [ 013/147] n_gsm: replace kfree_skb w/ appropriate dev_* versions Ben Hutchings
2012-10-14 14:35 ` [ 014/147] n_gsm: memory leak in uplink error path Ben Hutchings
2012-10-14 14:35 ` [ 015/147] UBI: fix autoresize handling in R/O mode Ben Hutchings
2012-10-14 14:35 ` [ 016/147] UBI: erase free PEB with bitflip in EC header Ben Hutchings
2012-10-14 14:35 ` [ 017/147] firmware: Add missing attributes to EFI variable attribute print out from sysfs Ben Hutchings
2012-10-14 14:35 ` [ 018/147] tools/hv: Fix exit() error code Ben Hutchings
2012-10-14 14:35 ` [ 019/147] slab: fix the DEADLOCK issue on l3 alien lock Ben Hutchings
2012-10-14 14:35 ` [ 020/147] [media] gspca_pac7302: Add usb-id for 145f:013c Ben Hutchings
2012-10-14 14:35 ` [ 021/147] [media] gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy Microphone SL-6825-SBK Ben Hutchings
2012-10-14 14:35 ` [ 022/147] xhci: Warn when hosts dont halt Ben Hutchings
2012-10-14 14:35 ` [ 023/147] xHCI: add cmd_ring_state Ben Hutchings
2012-10-14 14:35 ` Ben Hutchings [this message]
2012-10-14 14:35 ` [ 025/147] xHCI: cancel command after command timeout Ben Hutchings
2012-10-14 14:35 ` [ 026/147] [SCSI] hpsa: Use LUN reset instead of target reset Ben Hutchings
2012-10-14 14:36 ` [ 027/147] [media] rc: ite-cir: Initialise ite_dev::rdev earlier Ben Hutchings
2012-10-14 14:36 ` [ 028/147] staging: speakup_soft: Fix reading of init string Ben Hutchings
2012-10-14 14:36 ` [ 029/147] target: fix return code in target_core_init_configfs error path Ben Hutchings
2012-10-14 14:36 ` [ 030/147] powerpc/eeh: Lock module while handling EEH event Ben Hutchings
2012-10-14 14:36 ` [ 031/147] intel-iommu: Default to non-coherent for domains unattached to iommus Ben Hutchings
2012-10-14 14:36 ` [ 032/147] workqueue: fix possible stall on try_to_grab_pending() of a delayed work item Ben Hutchings
2012-10-14 14:36 ` [ 033/147] PCI: Check P2P bridge for invalid secondary/subordinate range Ben Hutchings
2012-10-14 14:36 ` [ 034/147] Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn Ben Hutchings
2012-10-14 14:36 ` [ 035/147] staging: comedi: dont dereference user memory for INSN_INTTRIG Ben Hutchings
2012-10-14 14:36 ` [ 036/147] SUNRPC: Ensure that the TCP socket is closed when in CLOSE_WAIT Ben Hutchings
2012-10-14 14:36 ` [ 037/147] ext4: fix potential deadlock in ext4_nonda_switch() Ben Hutchings
2012-10-14 14:36 ` [ 038/147] block: fix request_queue->flags initialization Ben Hutchings
2012-10-16 22:59 ` Herton Ronaldo Krzesinski
2012-10-17 0:58 ` Ben Hutchings
2012-10-14 14:36 ` [ 039/147] staging: comedi: fix memory leak for saved channel list Ben Hutchings
2012-10-14 14:36 ` [ 040/147] USB: option: blacklist QMI interface on ZTE MF683 Ben Hutchings
2012-10-14 14:36 ` [ 041/147] USB: qcaux: add Pantech vendor class match Ben Hutchings
2012-10-14 14:36 ` [ 042/147] can: mscan-mpc5xxx: fix return value check in mpc512x_can_get_clock() Ben Hutchings
2012-10-14 14:36 ` [ 043/147] iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT PDU Ben Hutchings
2012-10-14 14:36 ` [ 044/147] rcu: Fix day-one dyntick-idle stall-warning bug Ben Hutchings
2012-10-14 14:36 ` [ 045/147] [SCSI] zfcp: Make trace record tags unique Ben Hutchings
2012-10-14 14:36 ` [ 046/147] [SCSI] zfcp: Bounds checking for deferred error trace Ben Hutchings
2012-10-14 14:36 ` [ 047/147] [SCSI] zfcp: Do not wakeup while suspended Ben Hutchings
2012-10-14 14:36 ` [ 048/147] [SCSI] zfcp: remove invalid reference to list iterator variable Ben Hutchings
2012-10-14 14:36 ` [ 049/147] [SCSI] zfcp: restore refcount check on port_remove Ben Hutchings
2012-10-14 14:36 ` [ 050/147] [SCSI] zfcp: only access zfcp_scsi_dev for valid scsi_device Ben Hutchings
2012-10-14 14:36 ` [ 051/147] [SCSI] ibmvscsi: Fix host config length field overflow Ben Hutchings
2012-10-14 14:36 ` [ 052/147] [SCSI] scsi_remove_target: fix softlockup regression on hot remove Ben Hutchings
2012-10-14 14:36 ` [ 053/147] [SCSI] scsi_dh_alua: Enable STPG for unavailable ports Ben Hutchings
2012-10-14 14:36 ` [ 054/147] Increase XHCI suspend timeout to 16ms Ben Hutchings
2012-10-14 14:36 ` [ 055/147] usb: host: xhci: Fix Null pointer dereferencing with 71c731a for non-x86 systems Ben Hutchings
2012-10-14 14:36 ` [ 056/147] USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support Ben Hutchings
2012-10-14 14:36 ` [ 057/147] ACPI: run _OSC after ACPI_FULL_INITIALIZATION Ben Hutchings
2012-10-14 14:36 ` [ 058/147] ath9k: Disable ASPM only for AR9285 Ben Hutchings
2012-10-14 14:36 ` [ 059/147] xhci: Intel Panther Point BEI quirk Ben Hutchings
2012-10-14 14:36 ` [ 060/147] drm/i915: add some barriers when changing DIPs Ben Hutchings
2012-10-14 14:36 ` [ 061/147] drm/i915: make sure we write all the DIP data bytes Ben Hutchings
2012-10-14 14:36 ` [ 062/147] ext4: move_extent code cleanup Ben Hutchings
2012-10-14 14:36 ` [ 063/147] ext4: online defrag is not supported for journaled files Ben Hutchings
2012-10-14 14:36 ` [ 064/147] staging: comedi: s626: dont dereference insn->data Ben Hutchings
2012-10-14 14:36 ` [ 065/147] serial: set correct baud_base for EXSYS EX-41092 Dual 16950 Ben Hutchings
2012-10-14 14:36 ` [ 066/147] serial: pl011: handle corruption at high clock speeds Ben Hutchings
2012-10-14 14:36 ` [ 067/147] ext4: always set i_op in ext4_mknod() Ben Hutchings
2012-10-14 14:36 ` [ 068/147] ext4: fix fdatasync() for files with only i_size changes Ben Hutchings
2012-10-14 14:36 ` [ 069/147] coredump: prevent double-free on an error path in core dumper Ben Hutchings
2012-10-14 14:36 ` [ 070/147] drm/i915: use adjusted_mode instead of mode for checking the 6bpc force flag Ben Hutchings
2012-10-14 14:36 ` [ 071/147] drm/radeon: only adjust default clocks on NI GPUs Ben Hutchings
2012-10-14 14:36 ` [ 072/147] drm/radeon: Add MSI quirk for gateway RS690 Ben Hutchings
2012-10-14 14:36 ` [ 073/147] drm/radeon: force MSIs on RS690 asics Ben Hutchings
2012-10-14 14:36 ` [ 074/147] kbuild: Do not package /boot and /lib in make tar-pkg Ben Hutchings
2012-10-17 16:22 ` Herton Ronaldo Krzesinski
2012-10-17 16:25 ` Ben Hutchings
2012-10-14 14:36 ` [ 075/147] staging: comedi: jr3_pci: fix iomem dereference Ben Hutchings
2012-10-14 14:36 ` [ 076/147] Input: synaptics - adjust threshold for treating position values as negative Ben Hutchings
2012-10-14 14:36 ` [ 077/147] mtd: autcpu12-nvram: Fix compile breakage Ben Hutchings
2012-10-14 14:36 ` [ 078/147] mtd: mtdpart: break it as soon as we parse out the partitions Ben Hutchings
2012-10-14 14:36 ` [ 079/147] mtd: omap2: fix omap_nand_remove segfault Ben Hutchings
2012-10-14 14:36 ` [ 080/147] mtd: omap2: fix module loading Ben Hutchings
2012-10-14 14:36 ` [ 081/147] JFFS2: dont fail on bitflips in OOB Ben Hutchings
2012-10-14 14:36 ` [ 082/147] mtd: nandsim: bugfix: fail if overridesize is too big Ben Hutchings
2012-10-14 14:36 ` [ 083/147] IPoIB: Fix use-after-free of multicast object Ben Hutchings
2012-10-14 14:36 ` [ 084/147] IB/srp: Fix use-after-free in srp_reset_req() Ben Hutchings
2012-10-14 14:36 ` [ 085/147] IB/srp: Avoid having aborted requests hang Ben Hutchings
2012-10-14 14:36 ` [ 086/147] localmodconfig: Fix localyesconfig to set to y not m Ben Hutchings
2012-10-14 14:37 ` [ 087/147] lockd: use rpc clients cl_nodename for id encoding Ben Hutchings
2012-10-14 14:37 ` [ 088/147] pnfsblock: fix partial page buffer wirte Ben Hutchings
2012-10-14 14:37 ` [ 089/147] drm/i915: Flush the pending flips on the CRTC before modification Ben Hutchings
2012-10-14 14:37 ` [ 090/147] target/file: Re-enable optional fd_buffered_io=1 operation Ben Hutchings
2012-10-14 14:37 ` [ 091/147] iscsi-target: Add explicit set of cache_dynamic_acls=1 for TPG demo-mode Ben Hutchings
2012-10-14 14:37 ` [ 092/147] iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp Ben Hutchings
2012-10-14 14:37 ` [ 093/147] scripts/Kbuild.include: Fix portability problem of "echo -e" Ben Hutchings
2012-10-14 14:37 ` [ 094/147] kbuild: Fix gcc -x syntax Ben Hutchings
2012-10-14 14:37 ` [ 095/147] mmc: omap_hsmmc: Pass on the suspend failure to the PM core Ben Hutchings
2012-10-14 14:37 ` [ 096/147] mmc: sh-mmcif: avoid oops on spurious interrupts Ben Hutchings
2012-10-14 14:37 ` [ 097/147] iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout values Ben Hutchings
2012-10-14 14:37 ` [ 098/147] lguest: fix occasional crash in example launcher Ben Hutchings
2012-10-14 14:37 ` [ 099/147] drm/i915: call drm_handle_vblank before finish_page_flip Ben Hutchings
2012-10-14 14:37 ` [ 100/147] drm/i915: Fix GT_MODE default value Ben Hutchings
2012-10-14 14:37 ` [ 101/147] mn10300: only add -mmem-funcs to KBUILD_CFLAGS if gcc supports it Ben Hutchings
2012-10-14 14:37 ` [ 102/147] drivers/dma/dmaengine.c: lower the priority of failed to get dma channel message Ben Hutchings
2012-10-14 14:37 ` [ 103/147] kbuild: make: fix if_changed when command contains backslashes Ben Hutchings
2012-10-14 14:37 ` [ 104/147] drivers/scsi/atp870u.c: fix bad use of udelay Ben Hutchings
2012-10-14 14:37 ` [ 105/147] kernel/sys.c: call disable_nonboot_cpus() in kernel_restart() Ben Hutchings
2012-10-14 14:37 ` [ 106/147] lib/gcd.c: prevent possible div by 0 Ben Hutchings
2012-10-14 14:37 ` [ 107/147] rapidio/rionet: fix multicast packet transmit logic Ben Hutchings
2012-10-14 14:37 ` [ 108/147] ALSA: hda - Fix internal mic for Lenovo Ideapad U300s Ben Hutchings
2012-10-18 18:50 ` Herton Ronaldo Krzesinski
2012-10-27 22:58 ` Ben Hutchings
2012-10-14 14:37 ` [ 109/147] ALSA: HDA: Add inverted internal mic quirk for Lenovo S205 Ben Hutchings
2012-10-14 14:37 ` [ 110/147] ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310 Ben Hutchings
2012-10-14 14:37 ` [ 111/147] ALSA: aloop - add locking to timer access Ben Hutchings
2012-10-14 14:37 ` [ 112/147] mmc: sdhci-s3c: fix the wrong number of max bus clocks Ben Hutchings
2012-10-14 14:37 ` [ 113/147] ARM: OMAP: counter: add locking to read_persistent_clock Ben Hutchings
2012-10-14 14:37 ` [ 114/147] mm: fix invalidate_complete_page2() lock ordering Ben Hutchings
2012-10-14 14:37 ` [ 115/147] mm: thp: fix pmd_present for split_huge_page and PROT_NONE with THP Ben Hutchings
2012-10-14 14:37 ` [ 116/147] mm: hugetlb: fix pgoff computation when unmapping page from vma Ben Hutchings
2012-10-14 14:37 ` [ 117/147] hugetlb: do not use vma_hugecache_offset() for vma_prio_tree_foreach Ben Hutchings
2012-10-14 14:37 ` [ 118/147] firewire: cdev: fix user memory corruption (i386 userland on amd64 kernel) Ben Hutchings
2012-10-14 14:37 ` [ 119/147] autofs4 - fix reset pending flag on mount fail Ben Hutchings
2012-10-14 14:37 ` [ 120/147] udf: fix retun value on error path in udf_load_logicalvol Ben Hutchings
2012-10-14 14:37 ` [ 121/147] eCryptfs: Unlink lower inode when ecryptfs_create() fails Ben Hutchings
2012-10-14 14:37 ` [ 122/147] eCryptfs: Initialize empty lower files when opening them Ben Hutchings
2012-10-14 14:37 ` [ 123/147] eCryptfs: Revert to a writethrough cache model Ben Hutchings
2012-10-14 14:37 ` [ 124/147] eCryptfs: Write out all dirty pages just before releasing the lower file Ben Hutchings
2012-10-14 14:37 ` [ 125/147] eCryptfs: Call lower ->flush() from ecryptfs_flush() Ben Hutchings
2012-10-14 14:37 ` [ 126/147] drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) Ben Hutchings
2012-10-14 14:37 ` [ 127/147] efi: initialize efi.runtime_version to make query_variable_info/update_capsule workable Ben Hutchings
2012-10-14 14:37 ` [ 128/147] mempolicy: remove mempolicy sharing Ben Hutchings
2012-10-14 14:37 ` [ 129/147] mempolicy: fix a race in shared_policy_replace() Ben Hutchings
2012-10-14 14:37 ` [ 130/147] mempolicy: fix refcount leak in mpol_set_shared_policy() Ben Hutchings
2012-10-14 14:37 ` [ 131/147] mempolicy: fix a memory corruption by refcount imbalance in alloc_pages_vma() Ben Hutchings
2012-10-14 14:37 ` [ 132/147] r8169: Config1 is read-only on 8168c and later Ben Hutchings
2012-10-14 14:37 ` [ 133/147] r8169: 8168c and later require bit 0x20 to be set in Config2 for PME signaling Ben Hutchings
2012-10-14 14:37 ` [ 134/147] [SCSI] hpsa: dial down lockup detection during firmware flash Ben Hutchings
2012-10-14 14:37 ` [ 135/147] [PATCH] sched: Fix migration thread runtime bogosity Ben Hutchings
2012-10-14 14:37 ` [ 136/147] netfilter: nf_ct_ipv4: packets with wrong ihl are invalid Ben Hutchings
2012-10-14 14:37 ` [ 137/147] netfilter: nf_nat_sip: fix incorrect handling of EBUSY for RTCP expectation Ben Hutchings
2012-10-14 14:37 ` [ 138/147] netfilter: nf_nat_sip: fix via header translation with multiple parameters Ben Hutchings
2012-10-14 14:37 ` [ 139/147] netfilter: nf_ct_expect: fix possible access to uninitialized timer Ben Hutchings
2012-10-14 14:37 ` [ 140/147] ipvs: fix oops on NAT reply in br_nf context Ben Hutchings
2012-10-14 14:37 ` [ 141/147] netfilter: limit, hashlimit: avoid duplicated inline Ben Hutchings
2012-10-14 14:37 ` [ 142/147] netfilter: xt_limit: have r->cost != 0 case work Ben Hutchings
2012-10-14 14:37 ` [ 143/147] e1000: fix lockdep splat in shutdown handler Ben Hutchings
2012-10-14 14:37 ` [ 144/147] xHCI: handle command after aborting the command ring Ben Hutchings
2012-10-14 14:37 ` [ 145/147] drm/i915: fix swizzle detection for gen3 Ben Hutchings
2012-10-14 14:37 ` [ 146/147] drm/i915: Mark untiled BLT commands as fenced on gen2/3 Ben Hutchings
2012-10-14 14:38 ` [ 147/147] drm/i915: clear fencing tracking state when retiring requests Ben Hutchings
2012-10-14 17:14 ` [ 000/147] 3.2.32-stable review Ben Hutchings
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=20121014143537.047362248@decadent.org.uk \
--to=ben@decadent.org.uk \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=elricfu1@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miroslav.sabljic@avl.com \
--cc=sarah.a.sharp@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