mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: torvalds@linux-foundation.org, akpm@linux-foundation.org,
	alan@lxorguk.ukuu.org.uk, Andiry Xu <andiry.xu@amd.com>,
	Sarah Sharp <sarah.a.sharp@linux.intel.com>
Subject: [019/262] xHCI: AMD isoc link TRB chain bit quirk
Date: Wed, 09 Nov 2011 13:25:41 -0800	[thread overview]
Message-ID: <20111109212702.224547806@clark.kroah.org> (raw)
In-Reply-To: <20111109212847.GA20838@kroah.com>

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

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

From: Andiry Xu <andiry.xu@amd.com>

commit 7e393a834b41001174a8fb3ae3bc23a749467760 upstream.

Setting the chain (CH) bit in the link TRB of isochronous transfer rings
is required by AMD 0.96 xHCI host controller to successfully transverse
multi-TRB TD that span through different memory segments.

When a Missed Service Error event occurs, if the chain bit is not set in
the link TRB and the host skips TDs which just across a link TRB, the
host may falsely recognize the link TRB as a normal TRB. You can see
this may cause big trouble - the host does not jump to the right address
which is pointed by the link TRB, but continue fetching the memory which
is after the link TRB address, which may not even belong to the host,
and the result cannot be predicted.

This causes some big problems. Without the former patch I sent: "xHCI:
prevent infinite loop when processing MSE event", the system may hang.
With that patch applied, system does not hang, but the host still access
wrong memory address and isoc transfer will fail. With this patch,
isochronous transfer works as expected.

This patch should be applied to kernels as old as 2.6.36, which was when
the first isochronous support was added for the xHCI host controller.

Signed-off-by: Andiry Xu <andiry.xu@amd.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/usb/host/xhci-mem.c  |   32 ++++++++++++++-----------
 drivers/usb/host/xhci-pci.c  |    3 ++
 drivers/usb/host/xhci-ring.c |   53 +++++++++++++++++++++++--------------------
 drivers/usb/host/xhci.h      |    1 
 4 files changed, 51 insertions(+), 38 deletions(-)

--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -81,7 +81,7 @@ static void xhci_segment_free(struct xhc
  * related flags, such as End TRB, Toggle Cycle, and no snoop.
  */
 static void xhci_link_segments(struct xhci_hcd *xhci, struct xhci_segment *prev,
-		struct xhci_segment *next, bool link_trbs)
+		struct xhci_segment *next, bool link_trbs, bool isoc)
 {
 	u32 val;
 
@@ -97,7 +97,9 @@ static void xhci_link_segments(struct xh
 		val &= ~TRB_TYPE_BITMASK;
 		val |= TRB_TYPE(TRB_LINK);
 		/* Always set the chain bit with 0.95 hardware */
-		if (xhci_link_trb_quirk(xhci))
+		/* Set chain bit for isoc rings on AMD 0.96 host */
+		if (xhci_link_trb_quirk(xhci) ||
+				(isoc && (xhci->quirks & XHCI_AMD_0x96_HOST)))
 			val |= TRB_CHAIN;
 		prev->trbs[TRBS_PER_SEGMENT-1].link.control = cpu_to_le32(val);
 	}
@@ -154,7 +156,7 @@ static void xhci_initialize_ring_info(st
  * See section 4.9.1 and figures 15 and 16.
  */
 static struct xhci_ring *xhci_ring_alloc(struct xhci_hcd *xhci,
-		unsigned int num_segs, bool link_trbs, gfp_t flags)
+		unsigned int num_segs, bool link_trbs, bool isoc, gfp_t flags)
 {
 	struct xhci_ring	*ring;
 	struct xhci_segment	*prev;
@@ -180,12 +182,12 @@ static struct xhci_ring *xhci_ring_alloc
 		next = xhci_segment_alloc(xhci, flags);
 		if (!next)
 			goto fail;
-		xhci_link_segments(xhci, prev, next, link_trbs);
+		xhci_link_segments(xhci, prev, next, link_trbs, isoc);
 
 		prev = next;
 		num_segs--;
 	}
-	xhci_link_segments(xhci, prev, ring->first_seg, link_trbs);
+	xhci_link_segments(xhci, prev, ring->first_seg, link_trbs, isoc);
 
 	if (link_trbs) {
 		/* See section 4.9.2.1 and 6.4.4.1 */
@@ -231,14 +233,14 @@ void xhci_free_or_cache_endpoint_ring(st
  * pointers to the beginning of the ring.
  */
 static void xhci_reinit_cached_ring(struct xhci_hcd *xhci,
-		struct xhci_ring *ring)
+		struct xhci_ring *ring, bool isoc)
 {
 	struct xhci_segment	*seg = ring->first_seg;
 	do {
 		memset(seg->trbs, 0,
 				sizeof(union xhci_trb)*TRBS_PER_SEGMENT);
 		/* All endpoint rings have link TRBs */
-		xhci_link_segments(xhci, seg, seg->next, 1);
+		xhci_link_segments(xhci, seg, seg->next, 1, isoc);
 		seg = seg->next;
 	} while (seg != ring->first_seg);
 	xhci_initialize_ring_info(ring);
@@ -542,7 +544,7 @@ struct xhci_stream_info *xhci_alloc_stre
 	 */
 	for (cur_stream = 1; cur_stream < num_streams; cur_stream++) {
 		stream_info->stream_rings[cur_stream] =
-			xhci_ring_alloc(xhci, 1, true, mem_flags);
+			xhci_ring_alloc(xhci, 1, true, false, mem_flags);
 		cur_ring = stream_info->stream_rings[cur_stream];
 		if (!cur_ring)
 			goto cleanup_rings;
@@ -767,7 +769,7 @@ int xhci_alloc_virt_device(struct xhci_h
 	}
 
 	/* Allocate endpoint 0 ring */
-	dev->eps[0].ring = xhci_ring_alloc(xhci, 1, true, flags);
+	dev->eps[0].ring = xhci_ring_alloc(xhci, 1, true, false, flags);
 	if (!dev->eps[0].ring)
 		goto fail;
 
@@ -1177,10 +1179,10 @@ int xhci_endpoint_init(struct xhci_hcd *
 	 */
 	if (usb_endpoint_xfer_isoc(&ep->desc))
 		virt_dev->eps[ep_index].new_ring =
-			xhci_ring_alloc(xhci, 8, true, mem_flags);
+			xhci_ring_alloc(xhci, 8, true, true, mem_flags);
 	else
 		virt_dev->eps[ep_index].new_ring =
-			xhci_ring_alloc(xhci, 1, true, mem_flags);
+			xhci_ring_alloc(xhci, 1, true, false, mem_flags);
 	if (!virt_dev->eps[ep_index].new_ring) {
 		/* Attempt to use the ring cache */
 		if (virt_dev->num_rings_cached == 0)
@@ -1189,7 +1191,8 @@ int xhci_endpoint_init(struct xhci_hcd *
 			virt_dev->ring_cache[virt_dev->num_rings_cached];
 		virt_dev->ring_cache[virt_dev->num_rings_cached] = NULL;
 		virt_dev->num_rings_cached--;
-		xhci_reinit_cached_ring(xhci, virt_dev->eps[ep_index].new_ring);
+		xhci_reinit_cached_ring(xhci, virt_dev->eps[ep_index].new_ring,
+			usb_endpoint_xfer_isoc(&ep->desc) ? true : false);
 	}
 	virt_dev->eps[ep_index].skip = false;
 	ep_ring = virt_dev->eps[ep_index].new_ring;
@@ -2003,7 +2006,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
 		goto fail;
 
 	/* Set up the command ring to have one segments for now. */
-	xhci->cmd_ring = xhci_ring_alloc(xhci, 1, true, flags);
+	xhci->cmd_ring = xhci_ring_alloc(xhci, 1, true, false, flags);
 	if (!xhci->cmd_ring)
 		goto fail;
 	xhci_dbg(xhci, "Allocated command ring at %p\n", xhci->cmd_ring);
@@ -2034,7 +2037,8 @@ int xhci_mem_init(struct xhci_hcd *xhci,
 	 * the event ring segment table (ERST).  Section 4.9.3.
 	 */
 	xhci_dbg(xhci, "// Allocating event ring\n");
-	xhci->event_ring = xhci_ring_alloc(xhci, ERST_NUM_SEGS, false, flags);
+	xhci->event_ring = xhci_ring_alloc(xhci, ERST_NUM_SEGS, false, false,
+						flags);
 	if (!xhci->event_ring)
 		goto fail;
 	if (xhci_check_trb_in_td_math(xhci, flags) < 0)
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -128,6 +128,9 @@ static int xhci_pci_setup(struct usb_hcd
 	if (pdev->vendor == PCI_VENDOR_ID_NEC)
 		xhci->quirks |= XHCI_NEC_HOST;
 
+	if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96)
+		xhci->quirks |= XHCI_AMD_0x96_HOST;
+
 	/* AMD PLL quirk */
 	if (pdev->vendor == PCI_VENDOR_ID_AMD && usb_amd_find_chipset_info())
 		xhci->quirks |= XHCI_AMD_PLL_FIX;
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -187,7 +187,7 @@ static void inc_deq(struct xhci_hcd *xhc
  *			prepare_transfer()?
  */
 static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
-		bool consumer, bool more_trbs_coming)
+		bool consumer, bool more_trbs_coming, bool isoc)
 {
 	u32 chain;
 	union xhci_trb *next;
@@ -214,11 +214,13 @@ static void inc_enq(struct xhci_hcd *xhc
 				if (!chain && !more_trbs_coming)
 					break;
 
-				/* If we're not dealing with 0.95 hardware,
+				/* If we're not dealing with 0.95 hardware or
+				 * isoc rings on AMD 0.96 host,
 				 * carry over the chain bit of the previous TRB
 				 * (which may mean the chain bit is cleared).
 				 */
-				if (!xhci_link_trb_quirk(xhci)) {
+				if (!(isoc && (xhci->quirks & XHCI_AMD_0x96_HOST))
+						&& !xhci_link_trb_quirk(xhci)) {
 					next->link.control &=
 						cpu_to_le32(~TRB_CHAIN);
 					next->link.control |=
@@ -2398,7 +2400,7 @@ irqreturn_t xhci_msi_irq(int irq, struct
  *			prepare_transfer()?
  */
 static void queue_trb(struct xhci_hcd *xhci, struct xhci_ring *ring,
-		bool consumer, bool more_trbs_coming,
+		bool consumer, bool more_trbs_coming, bool isoc,
 		u32 field1, u32 field2, u32 field3, u32 field4)
 {
 	struct xhci_generic_trb *trb;
@@ -2408,7 +2410,7 @@ static void queue_trb(struct xhci_hcd *x
 	trb->field[1] = cpu_to_le32(field2);
 	trb->field[2] = cpu_to_le32(field3);
 	trb->field[3] = cpu_to_le32(field4);
-	inc_enq(xhci, ring, consumer, more_trbs_coming);
+	inc_enq(xhci, ring, consumer, more_trbs_coming, isoc);
 }
 
 /*
@@ -2416,7 +2418,7 @@ static void queue_trb(struct xhci_hcd *x
  * FIXME allocate segments if the ring is full.
  */
 static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring,
-		u32 ep_state, unsigned int num_trbs, gfp_t mem_flags)
+		u32 ep_state, unsigned int num_trbs, bool isoc, gfp_t mem_flags)
 {
 	/* Make sure the endpoint has been added to xHC schedule */
 	switch (ep_state) {
@@ -2458,10 +2460,11 @@ static int prepare_ring(struct xhci_hcd
 		next = ring->enqueue;
 
 		while (last_trb(xhci, ring, ring->enq_seg, next)) {
-			/* If we're not dealing with 0.95 hardware,
-			 * clear the chain bit.
+			/* If we're not dealing with 0.95 hardware or isoc rings
+			 * on AMD 0.96 host, clear the chain bit.
 			 */
-			if (!xhci_link_trb_quirk(xhci))
+			if (!xhci_link_trb_quirk(xhci) && !(isoc &&
+					(xhci->quirks & XHCI_AMD_0x96_HOST)))
 				next->link.control &= cpu_to_le32(~TRB_CHAIN);
 			else
 				next->link.control |= cpu_to_le32(TRB_CHAIN);
@@ -2494,6 +2497,7 @@ static int prepare_transfer(struct xhci_
 		unsigned int num_trbs,
 		struct urb *urb,
 		unsigned int td_index,
+		bool isoc,
 		gfp_t mem_flags)
 {
 	int ret;
@@ -2511,7 +2515,7 @@ static int prepare_transfer(struct xhci_
 
 	ret = prepare_ring(xhci, ep_ring,
 			   le32_to_cpu(ep_ctx->ep_info) & EP_STATE_MASK,
-			   num_trbs, mem_flags);
+			   num_trbs, isoc, mem_flags);
 	if (ret)
 		return ret;
 
@@ -2734,7 +2738,7 @@ static int queue_bulk_sg_tx(struct xhci_
 
 	trb_buff_len = prepare_transfer(xhci, xhci->devs[slot_id],
 			ep_index, urb->stream_id,
-			num_trbs, urb, 0, mem_flags);
+			num_trbs, urb, 0, false, mem_flags);
 	if (trb_buff_len < 0)
 		return trb_buff_len;
 
@@ -2829,7 +2833,7 @@ static int queue_bulk_sg_tx(struct xhci_
 			more_trbs_coming = true;
 		else
 			more_trbs_coming = false;
-		queue_trb(xhci, ep_ring, false, more_trbs_coming,
+		queue_trb(xhci, ep_ring, false, more_trbs_coming, false,
 				lower_32_bits(addr),
 				upper_32_bits(addr),
 				length_field,
@@ -2920,7 +2924,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
 
 	ret = prepare_transfer(xhci, xhci->devs[slot_id],
 			ep_index, urb->stream_id,
-			num_trbs, urb, 0, mem_flags);
+			num_trbs, urb, 0, false, mem_flags);
 	if (ret < 0)
 		return ret;
 
@@ -2992,7 +2996,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
 			more_trbs_coming = true;
 		else
 			more_trbs_coming = false;
-		queue_trb(xhci, ep_ring, false, more_trbs_coming,
+		queue_trb(xhci, ep_ring, false, more_trbs_coming, false,
 				lower_32_bits(addr),
 				upper_32_bits(addr),
 				length_field,
@@ -3052,7 +3056,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
 		num_trbs++;
 	ret = prepare_transfer(xhci, xhci->devs[slot_id],
 			ep_index, urb->stream_id,
-			num_trbs, urb, 0, mem_flags);
+			num_trbs, urb, 0, false, mem_flags);
 	if (ret < 0)
 		return ret;
 
@@ -3085,7 +3089,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
 		}
 	}
 
-	queue_trb(xhci, ep_ring, false, true,
+	queue_trb(xhci, ep_ring, false, true, false,
 		  setup->bRequestType | setup->bRequest << 8 | le16_to_cpu(setup->wValue) << 16,
 		  le16_to_cpu(setup->wIndex) | le16_to_cpu(setup->wLength) << 16,
 		  TRB_LEN(8) | TRB_INTR_TARGET(0),
@@ -3105,7 +3109,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
 	if (urb->transfer_buffer_length > 0) {
 		if (setup->bRequestType & USB_DIR_IN)
 			field |= TRB_DIR_IN;
-		queue_trb(xhci, ep_ring, false, true,
+		queue_trb(xhci, ep_ring, false, true, false,
 				lower_32_bits(urb->transfer_dma),
 				upper_32_bits(urb->transfer_dma),
 				length_field,
@@ -3121,7 +3125,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
 		field = 0;
 	else
 		field = TRB_DIR_IN;
-	queue_trb(xhci, ep_ring, false, false,
+	queue_trb(xhci, ep_ring, false, false, false,
 			0,
 			0,
 			TRB_INTR_TARGET(0),
@@ -3270,7 +3274,8 @@ static int xhci_queue_isoc_tx(struct xhc
 		trbs_per_td = count_isoc_trbs_needed(xhci, urb, i);
 
 		ret = prepare_transfer(xhci, xhci->devs[slot_id], ep_index,
-				urb->stream_id, trbs_per_td, urb, i, mem_flags);
+				urb->stream_id, trbs_per_td, urb, i, true,
+				mem_flags);
 		if (ret < 0) {
 			if (i == 0)
 				return ret;
@@ -3340,7 +3345,7 @@ static int xhci_queue_isoc_tx(struct xhc
 				remainder |
 				TRB_INTR_TARGET(0);
 
-			queue_trb(xhci, ep_ring, false, more_trbs_coming,
+			queue_trb(xhci, ep_ring, false, more_trbs_coming, true,
 				lower_32_bits(addr),
 				upper_32_bits(addr),
 				length_field,
@@ -3422,7 +3427,7 @@ int xhci_queue_isoc_tx_prepare(struct xh
 	 * Do not insert any td of the urb to the ring if the check failed.
 	 */
 	ret = prepare_ring(xhci, ep_ring, le32_to_cpu(ep_ctx->ep_info) & EP_STATE_MASK,
-			   num_trbs, mem_flags);
+			   num_trbs, true, mem_flags);
 	if (ret)
 		return ret;
 
@@ -3481,7 +3486,7 @@ static int queue_command(struct xhci_hcd
 		reserved_trbs++;
 
 	ret = prepare_ring(xhci, xhci->cmd_ring, EP_STATE_RUNNING,
-			reserved_trbs, GFP_ATOMIC);
+			reserved_trbs, false, GFP_ATOMIC);
 	if (ret < 0) {
 		xhci_err(xhci, "ERR: No room for command on command ring\n");
 		if (command_must_succeed)
@@ -3489,8 +3494,8 @@ static int queue_command(struct xhci_hcd
 					"unfailable commands failed.\n");
 		return ret;
 	}
-	queue_trb(xhci, xhci->cmd_ring, false, false, field1, field2, field3,
-			field4 | xhci->cmd_ring->cycle_state);
+	queue_trb(xhci, xhci->cmd_ring, false, false, false, field1, field2,
+			field3,	field4 | xhci->cmd_ring->cycle_state);
 	return 0;
 }
 
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1311,6 +1311,7 @@ struct xhci_hcd {
 #define XHCI_EP_LIMIT_QUIRK	(1 << 5)
 #define XHCI_BROKEN_MSI		(1 << 6)
 #define XHCI_RESET_ON_RESUME	(1 << 7)
+#define XHCI_AMD_0x96_HOST	(1 << 9)
 	unsigned int		num_active_eps;
 	unsigned int		limit_active_eps;
 	/* There are two roothubs to keep track of bus suspend info for */



  parent reply	other threads:[~2011-11-10  3:20 UTC|newest]

Thread overview: 271+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-09 21:28 [000/262] 3.0.9-stable review Greg KH
2011-11-09 21:25 ` [001/262] CIFS: Fix incorrect max RFC1002 write size value Greg KH
2011-11-09 21:25 ` [002/262] CIFS: Fix DFS handling in cifs_get_file_info Greg KH
2011-11-09 21:25 ` [003/262] cris: fix a build error in drivers/tty/serial/crisv10.c Greg KH
2011-11-09 21:25 ` [004/262] TTY: drop driver reference in tty_open fail path Greg KH
2011-11-09 21:25 ` [005/262] TTY: make tty_add_file non-failing Greg KH
2011-11-09 21:25 ` [006/262] TTY: pty, release tty in all ptmx_open fail paths Greg KH
2011-11-09 21:25 ` [007/262] USB: for usb_autopm_get_interface_async -EINPROGRESS is not an error Greg KH
2011-11-09 21:25 ` [008/262] staging: serqt_usb2: remove ssu100 from supported devices Greg KH
2011-11-09 21:25 ` [009/262] staging: quatech_usb2: Potential lost wakeup scenario in TIOCMIWAIT Greg KH
2011-11-09 21:25 ` [010/262] Staging: hv: Add support for >2 TB LUN in storage driver Greg KH
2011-11-09 21:25 ` [011/262] USB: qcserial: Add support for Sierra Wireless MC8355/Gobi 3000 Greg KH
2011-11-09 21:25 ` [012/262] USB: qcserial: add device ID for "HP un2430 Mobile Broadband Module" Greg KH
2011-11-09 21:25 ` [013/262] serial: pxa: work around for errata #20 Greg KH
2011-11-09 21:25 ` [014/262] serial-core: power up uart port early before we do set_termios when resuming Greg KH
2011-11-09 21:25 ` [015/262] EHCI : introduce a common ehci_setup Greg KH
2011-11-09 21:25 ` [016/262] USB: fix ehci alignment error Greg KH
2011-11-09 21:25 ` [017/262] EHCI: workaround for MosChip controller bug Greg KH
2011-11-09 21:25 ` [018/262] xhci-mem.c: Check for ring->first_seg != NULL Greg KH
2011-11-09 21:25 ` Greg KH [this message]
2011-11-09 21:25 ` [020/262] drm/i915: Wrap DP EDID fetch functions to enable eDP panel power Greg KH
2011-11-09 21:25 ` [021/262] drm/i915/panel: Always record the backlight level again (but cleverly) Greg KH
2011-11-09 21:25 ` [022/262] drm/radeon/kms: bail early in dvi_detect for digital only connectors Greg KH
2011-11-09 21:25 ` [023/262] drm/radeon/kms: handle !force case in connector detect more gracefully Greg KH
2011-11-09 21:25 ` [024/262] drm/radeon/kms: Fix I2C mask definitions Greg KH
2011-11-09 21:25 ` [025/262] mmc: core: Fix hangs related to insert/remove of cards Greg KH
2011-11-09 21:25 ` [026/262] mmc: core: ext_csd.raw_* used in comparison but never set Greg KH
2011-11-09 21:25 ` [027/262] PCI quirk: mmc: Always check for lower base frequency quirk for Ricoh 1180:e823 Greg KH
2011-11-09 21:25 ` [028/262] [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer Greg KH
2011-11-09 21:25 ` [029/262] [SCSI] ipr: Always initiate hard reset in kdump kernel Greg KH
2011-11-09 21:25 ` [030/262] [SCSI] libsas: set sas_address and device type of rphy Greg KH
2011-11-09 21:25 ` [031/262] [SCSI] isci: fix support for large smp requests Greg KH
2011-11-09 21:25 ` [032/262] [SCSI] isci: fix missed unlock in apc_agent_timeout() Greg KH
2011-11-09 21:25 ` [033/262] ALSA: hda - Remove bad code for IDT 92HD83 family patch Greg KH
2011-11-09 21:25 ` [034/262] ALSA: HDA: Add new revision for ALC662 Greg KH
2011-11-09 21:25 ` [035/262] target: Fix REPORT TARGET PORT GROUPS handling with small allocation length Greg KH
2011-11-09 21:25 ` [036/262] x86: uv2: Workaround for UV2 Hub bug (system global address format) Greg KH
2011-11-09 21:25 ` [037/262] x86: Fix compilation bug in kprobes twobyte_is_boostable Greg KH
2011-11-09 21:26 ` [038/262] epoll: fix spurious lockdep warnings Greg KH
2011-11-09 21:26 ` [039/262] leds: save the delay values after a successful call to blink_set() Greg KH
2011-11-09 21:26 ` [040/262] leds: turn the blink_timer off before starting to blink Greg KH
2011-11-09 21:26 ` [041/262] usbmon vs. tcpdump: fix dropped packet count Greg KH
2011-11-09 21:26 ` [042/262] USB: storage: Use normalized sense when emulating autosense Greg KH
2011-11-09 21:26 ` [043/262] USB: Fix runtime wakeup on OHCI Greg KH
2011-11-09 21:26 ` [044/262] USB: g_printer: fix bug in unregistration Greg KH
2011-11-09 21:26 ` [045/262] usb/core/devio.c: Check for printer class specific request Greg KH
2011-11-09 21:26 ` [046/262] USB: pid_ns: ensure pid is not freed during kill_pid_info_as_uid Greg KH
2011-11-09 21:26 ` [047/262] usb: cdc-acm: Owen SI-30 support Greg KH
2011-11-09 21:26 ` [048/262] USB: add RESET_RESUME for webcams shown to be quirky Greg KH
2011-11-09 21:26 ` [049/262] USB: add quirk for Logitech C300 web cam Greg KH
2011-11-09 21:26 ` [050/262] USB: pl2303: add id for SMART device Greg KH
2011-11-09 21:26 ` [051/262] USB: ftdi_sio: add PID for Sony Ericsson Urban Greg KH
2011-11-09 21:26 ` [052/262] USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board Greg KH
2011-11-09 21:26 ` [053/262] USB: option: convert interface blacklisting to bitfields Greg KH
2011-11-09 21:26 ` [054/262] USB: option: convert Huawei K3765, K4505, K4605 reservered interface to blacklist Greg KH
2011-11-09 21:26 ` [055/262] USB: option: add ZTE product 0x0037 to sendsetup blacklist Greg KH
2011-11-09 21:26 ` [056/262] USB: option: add various ZTE device network interfaces to the blacklist Greg KH
2011-11-09 21:26 ` [057/262] MAINTANERS: update Qualcomm Atheros addresses Greg KH
2011-11-09 21:26 ` [058/262] ath9k_hw: Fix descriptor status of TxOpExceeded Greg KH
2011-11-09 21:26 ` [059/262] ath9k_hw: Fix magnitude/phase coeff correction Greg KH
2011-11-09 21:26 ` [060/262] ath9k_htc: add AVM FRITZ!WLAN 11N v2 support Greg KH
2011-11-09 21:26 ` [061/262] ath9k_hw: Fix number of GPIO pins for AR9287/9300 Greg KH
2011-11-09 21:26 ` [062/262] ath9k: disable unnecessary PHY error reporting Greg KH
2011-11-09 21:26 ` [063/262] HID: ACRUX - fix enabling force feedback support Greg KH
2011-11-09 21:26 ` [064/262] QE/FHCI: fixed the CONTROL bug Greg KH
2011-11-09 21:26 ` [065/262] Update email address for stable patch submission Greg KH
2011-11-09 21:26 ` [066/262] xen-pcifront: Update warning comment to use e820_host option Greg KH
2011-11-09 21:26 ` [067/262] xen-swiotlb: Fix wrong panic Greg KH
2011-11-09 21:26 ` [068/262] kobj_uevent: Ignore if some listeners cannot handle message Greg KH
2011-11-09 21:26 ` [069/262] caif: Fix BUG() with network namespaces Greg KH
2011-11-09 21:26 ` [070/262] platform: samsung_laptop: add dmi information for Samsung R700 laptops Greg KH
2011-11-09 21:26 ` [071/262] Platform: samsung_laptop: add support for X520 machines Greg KH
2011-11-09 21:26 ` [072/262] Platform: samsung_laptop: samsung backlight for R528/R728 Greg KH
2011-11-09 21:26 ` [073/262] platform: samsung_laptop: fix samsung brightness min/max calculations Greg KH
2011-11-09 21:26 ` [074/262] Platform: Fix error path in samsung-laptop init Greg KH
2011-11-09 21:26 ` [075/262] kmod: prevent kmod_loop_msg overflow in __request_module() Greg KH
2011-11-09 21:26 ` [076/262] Revert "NFS: Ensure that writeback_single_inode() calls write_inode() when syncing" Greg KH
2011-11-09 21:26 ` [077/262] nfs: dont redirty inode when ncommit == 0 in nfs_commit_unstable_pages Greg KH
2011-11-09 21:26 ` [078/262] ata_piix: make DVD Drive recognisable on systems with Intel Sandybridge chipsets(v2) Greg KH
2011-11-09 21:26 ` [079/262] rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces Greg KH
2011-11-09 21:26 ` [080/262] dp83640: free packet queues on remove Greg KH
2011-11-09 21:26 ` [081/262] mac80211: fix offchannel TX cookie matching Greg KH
2011-11-09 21:26 ` [082/262] net: hold sock reference while processing tx timestamps Greg KH
2011-11-09 21:26 ` [083/262] wl12xx: fix forced passive scans Greg KH
2011-11-09 21:26 ` [084/262] time: Change jiffies_to_clock_t() argument type to unsigned long Greg KH
2011-11-09 21:26 ` [085/262] apic, i386/bigsmp: Fix false warnings regarding logical APIC ID mismatches Greg KH
2011-11-09 21:26 ` [086/262] md/raid5: fix bug that could result in reads from a failed device Greg KH
2011-11-09 21:26 ` [087/262] perf probe: Fix to show correct error string Greg KH
2011-11-09 21:26 ` [088/262] tracing: Fix returning of duplicate data after EOF in trace_pipe_raw Greg KH
2011-11-09 21:26 ` [089/262] genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier Greg KH
2011-11-09 21:26 ` [090/262] nfs: dont try to migrate pages with active requests Greg KH
2011-11-09 21:26 ` [091/262] nfsd4: Remove check for a 32-bit cookie in nfsd4_readdir() Greg KH
2011-11-09 21:26 ` [092/262] nfsd4: stop using nfserr_resource for transitory errors Greg KH
2011-11-09 21:26 ` [093/262] nfsd4: fix seqid_mutating_error Greg KH
2011-11-09 21:26 ` [094/262] nfsd4: permit read opens of executable-only files Greg KH
2011-11-09 21:26 ` [095/262] nfsd4: fix open downgrade, again Greg KH
2011-11-09 21:26 ` [096/262] nfsd4: ignore WANT bits in open downgrade Greg KH
2011-11-09 21:26 ` [097/262] hppfs: missing include Greg KH
2011-11-09 21:27 ` [098/262] vfs: add "device" tag to /proc/self/mountstats Greg KH
2011-11-09 21:27 ` [099/262] io-mapping: ensure io_mapping_map_atomic _is_ atomic Greg KH
2011-11-09 21:27 ` [100/262] ASoC: wm8940: Properly set codec->dapm.bias_level Greg KH
2011-11-09 21:27 ` [101/262] ASoC: wm8741: Fix setting interface format for DSP modes Greg KH
2011-11-09 21:27 ` [102/262] ASoC: ak4642: fixup cache register table Greg KH
2011-11-09 21:27 ` [103/262] ASoC: ak4535: " Greg KH
2011-11-09 21:27 ` [104/262] ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture Greg KH
2011-11-09 21:27 ` [105/262] ASoC: Remove direct register cache accesses from WM8962 driver Greg KH
2011-11-09 21:27 ` [106/262] ASoC: Fix a bug in WM8962 DSP_A and DSP_B settings Greg KH
2011-11-09 21:27 ` [107/262] KVM: s390: check cpu_id prior to using it Greg KH
2011-11-09 21:27 ` [108/262] [S390] user per registers vs. ptrace single stepping Greg KH
2011-11-09 21:27 ` [109/262] [S390] memory leak with RCU_TABLE_FREE Greg KH
2011-11-09 21:27 ` [110/262] [S390] ccwgroup: move attributes to attribute group Greg KH
2011-11-09 21:27 ` [111/262] WMI: properly cleanup devices to avoid crashes Greg KH
2011-11-09 21:27 ` [112/262] iommu/amd: Fix wrong shift direction Greg KH
2011-11-09 21:27 ` [113/262] carminefb: Fix module parameters permissions Greg KH
2011-11-09 21:27 ` [114/262] fb: avoid possible deadlock caused by fb_set_suspend Greg KH
2011-11-09 21:27 ` [115/262] fb: sh-mobile: Fix deadlock risk between lock_fb_info() and console_lock() Greg KH
2011-11-09 21:27 ` [116/262] viafb: use display information in info not in var for panning Greg KH
2011-11-09 21:27 ` [117/262] viafb: improve pitch handling Greg KH
2011-11-09 21:27 ` [118/262] [media] uvcvideo: Set alternate setting 0 on resume if the bus has been reset Greg KH
2011-11-09 21:27 ` [119/262] [media] DiBcom: protect the I2C bufer access Greg KH
2011-11-09 21:27 ` [120/262] [media] dib0700: protect the dib0700 buffer access Greg KH
2011-11-09 21:27 ` [121/262] [media] tuner_xc2028: Allow selection of the frequency adjustment code for XC3028 Greg KH
2011-11-09 21:27 ` [122/262] /proc/self/numa_maps: restore "huge" tag for hugetlb vmas Greg KH
2011-11-09 21:27 ` [123/262] plat-mxc: iomux-v3.h: implicitly enable pull-up/down when thats desired Greg KH
2011-11-09 21:27 ` [124/262] ARM: mach-ux500: unlock I&D l2x0 caches before init Greg KH
2011-11-09 21:27 ` [125/262] mm: avoid null pointer access in vm_struct via /proc/vmallocinfo Greg KH
2011-11-09 21:27 ` [126/262] ALSA: hda - Fix ADC input-amp handling for Cx20549 codec Greg KH
2011-11-09 21:27 ` [127/262] um: fix ubd cow size Greg KH
2011-11-09 21:27 ` [128/262] readlinkat: ensure we return ENOENT for the empty pathname for normal lookups Greg KH
2011-11-09 21:27 ` [129/262] VFS: Fix automount for negative autofs dentries Greg KH
2011-11-09 21:27 ` [130/262] vfs: automount should ignore LOOKUP_FOLLOW Greg KH
2011-11-09 21:27 ` [131/262] VFS: Fix the remaining automounter semantics regressions Greg KH
2011-11-09 21:27 ` [132/262] vfs pathname lookup: Add LOOKUP_AUTOMOUNT flag Greg KH
2011-11-10  8:30   ` Ian Kent
2011-11-10 15:15     ` Greg KH
2011-11-11  3:11       ` Ian Kent
2011-11-09 21:27 ` [133/262] ptrace: dont clear GROUP_STOP_SIGMASK on double-stop Greg KH
2011-11-09 21:27 ` [134/262] jsm: remove buggy write queue Greg KH
2011-11-09 21:27 ` [135/262] bonding: use local function pointer of bond->recv_probe in bond_handle_frame Greg KH
2011-11-09 21:27 ` [136/262] bridge: fix hang on removal of bridge via netlink Greg KH
2011-11-09 21:27 ` [137/262] can bcm: fix tx_setup off-by-one errors Greg KH
2011-11-09 21:27 ` [138/262] ipv4: fix ipsec forward performance regression Greg KH
2011-11-09 21:27 ` [139/262] l2tp: fix a potential skb leak in l2tp_xmit_skb() Greg KH
2011-11-09 21:27 ` [140/262] macvlan/macvtap: Fix unicast between macvtap interfaces in bridge mode Greg KH
2011-11-09 21:27 ` [141/262] netconsole: enable netconsole can make net_device refcnt incorrent Greg KH
2011-11-09 21:27 ` [142/262] tcp: properly handle md5sig_pool references Greg KH
2011-11-09 21:27 ` [143/262] tcp: properly update lost_cnt_hint during shifting Greg KH
2011-11-09 21:27 ` [144/262] tg3: negate USE_PHYLIB flag check Greg KH
2011-11-09 21:27 ` [145/262] ipv6: nullify ipv6_ac_list and ipv6_fl_list when creating new socket Greg KH
2011-11-09 21:27 ` [146/262] make PACKET_STATISTICS getsockopt report consistently between ring and non-ring Greg KH
2011-11-09 21:27 ` [147/262] net: xen-netback: correctly restart Tx after a VM restore/migrate Greg KH
2011-11-09 21:27 ` [148/262] mm: thp: tail page refcounting fix Greg KH
2011-11-09 21:27 ` [149/262] binfmt_elf: fix PIE execution with randomization disabled Greg KH
2011-11-09 21:27 ` [150/262] vfs: show O_CLOEXE bit properly in /proc/<pid>/fdinfo/<fd> files Greg KH
2011-11-09 21:27 ` [151/262] iwlagn: do not use interruptible waits Greg KH
2011-11-09 21:27 ` [152/262] drivers/net/rionet.c: fix ethernet address macros for LE platforms Greg KH
2011-11-09 21:27 ` [153/262] hwspinlock/core: use a mutex to protect the radix tree Greg KH
2011-11-09 21:27 ` [154/262] drivers/power/ds2780_battery.c: create central point for calling w1 interface Greg KH
2011-11-09 21:27 ` [155/262] drivers/power/ds2780_battery.c: add a nolock function to " Greg KH
2011-11-09 21:27 ` [156/262] drivers/power/ds2780_battery.c: fix deadlock upon insertion and removal Greg KH
2011-11-09 21:27 ` [157/262] ext2,ext3,ext4: dont inherit APPEND_FL or IMMUTABLE_FL for new inodes Greg KH
2011-11-09 21:28 ` [158/262] ext4: ext4_rename should dirty dir_bh with the correct directory Greg KH
2011-11-09 21:28 ` [159/262] ext4: ext4_mkdir should dirty dir_block with newly created directory inode Greg KH
2011-11-09 21:28 ` [160/262] ext4: call ext4_handle_dirty_metadata with correct inode in ext4_dx_add_entry Greg KH
2011-11-09 21:28 ` [161/262] ext4: fix race in xattr block allocation path Greg KH
2011-11-09 21:28 ` [162/262] enic: Bug Fix: Fix hardware transmit queue indexing in enic_poll_controller Greg KH
2011-11-09 21:28 ` [163/262] rtl8150: rtl8150_disconnect(...) does not need tasklet_disable(...) Greg KH
2011-11-09 21:28 ` [164/262] USB: EHCI: Fix test mode sequence Greg KH
2011-11-09 21:28 ` [165/262] usb/isp1760: Added missing call to usb_hcd_check_unlink_urb() during unlink Greg KH
2011-11-09 21:28 ` [166/262] USB: Serial: Add device ID for Sierra Wireless MC8305 Greg KH
2011-11-09 21:28 ` [167/262] USB: Serial: Add PID(0xF7C0) to FTDI SIO driver for a zeitcontrol-device Greg KH
2011-11-09 21:28 ` [168/262] usbnet/cdc_ncm: Dont use stack variables for DMA Greg KH
2011-11-09 21:28 ` [169/262] USB: Avoid NULL pointer deref in usb_hcd_alloc_bandwidth Greg KH
2011-11-09 21:28 ` [170/262] ipheth: iPhone 4 Verizon CDMA USB Product ID add Greg KH
2011-11-09 21:28 ` [171/262] USB: xHCI: prevent infinite loop when processing MSE event Greg KH
2011-11-09 21:28 ` [172/262] ASIX: Simplify condition in rx_fixup() Greg KH
2011-11-09 21:28 ` [173/262] ASIX: Use only 11 bits of header for data size Greg KH
2011-11-09 21:28 ` [174/262] Bluetooth: Add MacBookAir4,1 support Greg KH
2011-11-09 21:28 ` [175/262] Bluetooth: Add Toshiba laptops AR30XX device ID Greg KH
2011-11-09 21:28 ` [176/262] Bluetooth: Add Atheros AR3012 one PID/VID supported Greg KH
2011-11-09 21:28 ` [177/262] Bluetooth: add support for 2011 mac mini Greg KH
2011-11-09 21:28 ` [178/262] btusb: add device entry for Broadcom SoftSailing Greg KH
2011-11-09 21:28 ` [179/262] usb_storage: Dont freeze in usb-stor-scan Greg KH
2011-11-09 21:28 ` [180/262] xhci: If no endpoints changed, dont issue BW command Greg KH
2011-11-09 21:28 ` [181/262] xHCI: test and clear RWC bit Greg KH
2011-11-09 21:28 ` [182/262] xHCI: Clear PLC for USB2 root hub ports Greg KH
2011-11-09 21:28 ` [183/262] can bcm: fix incomplete tx_setup fix Greg KH
2011-11-09 21:28 ` [184/262] powerpc: remove superfluous PageTail checks on the pte gup_fast Greg KH
2011-11-09 21:28 ` [185/262] powerpc: get_hugepte() dont put_page() the wrong page Greg KH
2011-11-09 21:28 ` [186/262] powerpc: gup_hugepte() avoid freeing the head page too many times Greg KH
2011-11-09 21:28 ` [187/262] powerpc: gup_hugepte() support THP based tail recounting Greg KH
2011-11-09 21:28 ` [188/262] powerpc: gup_huge_pmd() return 0 if pte changes Greg KH
2011-11-09 21:28 ` [189/262] s390: gup_huge_pmd() support THP tail recounting Greg KH
2011-11-09 21:28 ` [190/262] s390: gup_huge_pmd() return 0 if pte changes Greg KH
2011-11-09 21:28 ` [191/262] thp: share get_huge_page_tail() Greg KH
2011-11-09 21:28 ` [192/262] bridge: leave carrier on for empty bridge Greg KH
2011-11-09 21:28 ` [193/262] net: Unlock sock before calling sk_free() Greg KH
2011-11-09 21:28 ` [194/262] ALSA: ua101: fix crash when unplugging Greg KH
2011-11-09 21:28 ` [195/262] ALSA: hda - Disable power-widget control for IDT 92HD83/93 as default Greg KH
2011-11-09 21:28 ` [196/262] ALSA: hda - Add support for 92HD65 / 92HD66 family of codecs Greg KH
2011-11-09 21:28 ` [197/262] ALSA: hda/realtek - Skip invalid digital out pins Greg KH
2011-11-09 21:28 ` [198/262] drm/radeon: avoid bouncing connector status btw disconnected & unknown Greg KH
2011-11-09 21:28 ` [199/262] drm/radeon/kms: split MSI check into a separate function Greg KH
2011-11-09 21:28 ` [200/262] drm/radeon/kms: Add MSI quirk for HP RS690 Greg KH
2011-11-09 21:28 ` [201/262] drm/radeon: set hpd polarity at init time so hotplug detect works Greg KH
2011-11-09 21:28 ` [202/262] drm/radeon/kms: properly set panel mode for eDP Greg KH
2011-11-09 21:28 ` [203/262] drm/radeon/kms: Add MSI quirk for Dell RS690 Greg KH
2011-11-09 21:28 ` [204/262] drm/radeon/kms: add MSI module parameter Greg KH
2011-11-09 21:28 ` [205/262] drm/radeon/kms: set HPD polarity in hpd_init() Greg KH
2011-11-09 21:28 ` [206/262] kbuild: Fix help text not displayed in choice option Greg KH
2011-11-09 21:28 ` [207/262] PM / Runtime: Automatically retry failed autosuspends Greg KH
2011-11-09 21:28 ` [208/262] USB: Update last_busy time after autosuspend fails Greg KH
2011-11-09 21:28 ` [209/262] cciss: add small delay when using PCI Power Management to reset for kump Greg KH
2011-11-09 21:28 ` [210/262] hwmon: (coretemp) Fix for non-SMP builds Greg KH
2011-11-09 21:28 ` [211/262] hwmon: (w83627ehf) Properly report PECI and AMD-SI sensor types Greg KH
2011-11-09 21:28 ` [212/262] hwmon: (w83627ehf) Fix broken driver init Greg KH
2011-11-09 21:28 ` [213/262] tcm_loop: Add explict read buffer memset for SCF_SCSI_CONTROL_SG_IO_CDB Greg KH
2011-11-09 21:28 ` [214/262] [SCSI] st: fix race in st_scsi_execute_end Greg KH
2011-11-09 21:28 ` [215/262] [SCSI] scsi_dh: check queuedata pointer before proceeding further Greg KH
2011-11-09 21:28 ` [216/262] [SCSI] Make scsi_free_queue() kill pending SCSI commands Greg KH
2011-11-09 21:28 ` [217/262] [SCSI] Fix block queue and elevator memory leak in scsi_alloc_sdev Greg KH
2011-11-09 21:29 ` [218/262] [SCSI] mpt2sas: Fix for system hang when discovery in progress Greg KH
2011-11-09 21:29 ` [219/262] ASoC: wm8711: Fix wrong mask for setting input audio data bit length select Greg KH
2011-11-09 21:29 ` [220/262] ASoC: Leave input audio data bit length settings untouched in wm8711_set_dai_fmt Greg KH
2011-11-09 21:29 ` [221/262] ASoC: WM8904: Set `invert bit for Capture Switch Greg KH
2011-11-09 21:29 ` [222/262] ASoC: Ensure WM8962 PLL registers are reset Greg KH
2011-11-09 21:29 ` [223/262] ASoC: Ensure the WM8962 oscillator and PLLs start up disabled Greg KH
2011-11-09 21:29 ` [224/262] NFS/sunrpc: dont use a credential with extra groups Greg KH
2011-11-09 21:29 ` [225/262] block: make gendisk hold a reference to its queue Greg KH
2011-11-09 21:29 ` [226/262] xen/blkback: Report VBD_WSECT (wr_sect) properly Greg KH
2011-11-09 21:29 ` [227/262] VFS: fix statfs() automounter semantics regression Greg KH
2011-11-09 21:29 ` [228/262] hpsa: add small delay when using PCI Power Management to reset for kump Greg KH
2011-11-09 21:29 ` [229/262] VFS: we need to set LOOKUP_JUMPED on mountpoint crossing Greg KH
2011-11-09 21:29 ` [230/262] powerpc/numa: Remove double of_node_put in hot_add_node_scn_to_nid Greg KH
2011-11-09 21:29 ` [231/262] powerpc: Fix oops when echoing bad values to /sys/devices/system/memory/probe Greg KH
2011-11-09 21:29 ` [232/262] powerpc/pseries: Avoid spurious error during hotplug CPU add Greg KH
2011-11-09 21:29 ` [233/262] powerpc/eeh: Fix /proc/ppc64/eeh creation Greg KH
2011-11-09 21:29 ` [234/262] powerpc: Fix deadlock in icswx code Greg KH
2011-11-09 21:29 ` [235/262] ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast() Greg KH
2011-11-09 21:29 ` [236/262] netlink: validate NLA_MSECS length Greg KH
2011-11-09 21:29 ` [237/262] ath9k_hw: Update AR9485 initvals to fix system hang issue Greg KH
2011-11-09 21:29 ` [238/262] mac80211: fix remain_off_channel regression Greg KH
2011-11-09 21:29 ` [239/262] mac80211: config hw when going back on-channel Greg KH
2011-11-09 21:29 ` [240/262] mac80211: disable powersave for broken APs Greg KH
2011-11-09 21:29 ` [241/262] mtd: mtdchar: add missing initializer on raw write Greg KH
2011-11-09 21:29 ` [242/262] mtd: provide an alias for the redboot module name Greg KH
2011-11-09 21:29 ` [243/262] mtd: pxa3xx_nand: fix nand detection issue Greg KH
2011-11-09 21:29 ` [244/262] mtd: pxa3xx_nand: Fix blank page ECC mismatch Greg KH
2011-11-09 21:29 ` [245/262] ext4: remove i_mutex lock in ext4_evict_inode to fix lockdep complaining Greg KH
2011-11-09 21:29 ` [246/262] net: Align AF-specific flowi structs to long Greg KH
2011-11-09 21:29 ` [247/262] net: Handle different key sizes between address families in flow cache Greg KH
2011-11-09 21:29 ` [248/262] PM / Suspend: Off by one in pm_suspend() Greg KH
2011-11-09 21:29 ` [249/262] crypto: cryptd - Use subsys_initcall to prevent races with aesni Greg KH
2011-11-09 21:29 ` [250/262] dp83640: use proper function to free transmit time stamping packets Greg KH
2011-11-09 21:29 ` [251/262] ath9k_hw: Fix regression of register offset for AR9003 chips Greg KH
2011-11-09 21:29 ` [252/262] mtd: nand_base: always initialise oob_poi before writing OOB data Greg KH
2011-11-09 21:29 ` [253/262] HID: add support for new revision of Apple aluminum keyboard Greg KH
2011-11-09 21:29 ` [254/262] HID: add support for HuiJia USB Gamepad connector Greg KH
2011-11-09 21:29 ` [255/262] HID: add support for MacBookAir4,2 keyboard Greg KH
2011-11-09 21:29 ` [256/262] HID: hid-multitouch: Add LG Display Multitouch device Greg KH
2011-11-09 21:29 ` [257/262] HID: add MacBookAir4,2 to hid_have_special_driver[] Greg KH
2011-11-09 21:29 ` [258/262] HID: Add support MacbookAir 4,1 keyboard Greg KH
2011-11-09 21:29 ` [259/262] HID: Add device IDs for Macbook Pro 8 keyboards Greg KH
2011-11-09 21:29 ` [260/262] HID: hid-apple: add device ID of another wireless aluminium Greg KH
2011-11-09 21:29 ` [261/262] HID: consolidate MacbookAir 4,1 mappings Greg KH
2011-11-09 21:29 ` [262/262] hid/apple: modern macbook airs use the standard apple function key translations Greg KH
2011-11-10  0:54 ` [000/262] 3.0.9-stable review Kirill A. Shutemov
2011-11-10  3:15   ` Greg KH
2011-11-10  6:35     ` Kirill A. Shutemov
2011-11-10 16:22       ` Greg KH
2011-11-10  8:51     ` Alan Cox

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=20111109212702.224547806@clark.kroah.org \
    --to=gregkh@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andiry.xu@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sarah.a.sharp@linux.intel.com \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.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

all inboxes | Powered by JetHome®