public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Clemens Ladisch <clemens@ladisch.de>, Takashi Iwai <tiwai@suse.de>
Subject: [ 048/136 ] ALSA: usb-audio: Fix missing autopm for MIDI input
Date: Fri, 17 May 2013 22:16:45 -0400	[thread overview]
Message-ID: <20130518021649.476363388@goodmis.org> (raw)
In-Reply-To: 20130518021557.139113314@goodmis.org

[-- Attachment #1: 0048-ALSA-usb-audio-Fix-missing-autopm-for-MIDI-input.patch --]
[-- Type: text/plain, Size: 6603 bytes --]

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

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

From: Takashi Iwai <tiwai@suse.de>

[ Upstream commit f5f165418cabf2218eb466c0e94693b8b1aee88b ]

The commit [88a8516a: ALSA: usbaudio: implement USB autosuspend] added
the support of autopm for USB MIDI output, but it didn't take the MIDI
input into account.

This patch adds the following for fixing the autopm:
- Manage the URB start at the first MIDI input stream open, instead of
  the time of instance creation
- Move autopm code to the common substream_open()
- Make snd_usbmidi_input_start/_stop() more robust and add the running
  state check

Reviewd-by: Clemens Ladisch <clemens@ladisch.de>
Tested-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 sound/usb/midi.c |   78 +++++++++++++++++++++++++++++++-----------------------
 1 file changed, 45 insertions(+), 33 deletions(-)

diff --git a/sound/usb/midi.c b/sound/usb/midi.c
index eeefbce..084d1ba 100644
--- a/sound/usb/midi.c
+++ b/sound/usb/midi.c
@@ -125,8 +125,10 @@ struct snd_usb_midi {
 		struct snd_usb_midi_in_endpoint *in;
 	} endpoints[MIDI_MAX_ENDPOINTS];
 	unsigned long input_triggered;
-	unsigned int opened;
+	bool autopm_reference;
+	unsigned int opened[2];
 	unsigned char disconnected;
+	unsigned char input_running;
 
 	struct snd_kcontrol *roland_load_ctl;
 };
@@ -148,7 +150,6 @@ struct snd_usb_midi_out_endpoint {
 		struct snd_usb_midi_out_endpoint* ep;
 		struct snd_rawmidi_substream *substream;
 		int active;
-		bool autopm_reference;
 		uint8_t cable;		/* cable number << 4 */
 		uint8_t state;
 #define STATE_UNKNOWN	0
@@ -1033,29 +1034,51 @@ static void update_roland_altsetting(struct snd_usb_midi* umidi)
 	snd_usbmidi_input_start(&umidi->list);
 }
 
-static void substream_open(struct snd_rawmidi_substream *substream, int open)
+static int substream_open(struct snd_rawmidi_substream *substream, int dir,
+			  int open)
 {
 	struct snd_usb_midi* umidi = substream->rmidi->private_data;
 	struct snd_kcontrol *ctl;
+	int err;
 
 	mutex_lock(&umidi->mutex);
 	if (open) {
-		if (umidi->opened++ == 0 && umidi->roland_load_ctl) {
-			ctl = umidi->roland_load_ctl;
-			ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
-			snd_ctl_notify(umidi->card,
+		if (!umidi->opened[0] && !umidi->opened[1]) {
+			err = usb_autopm_get_interface(umidi->iface);
+			umidi->autopm_reference = err >= 0;
+			if (err < 0 && err != -EACCES) {
+				mutex_unlock(&umidi->mutex);
+				up_read(&umidi->disc_rwsem);
+				return -EIO;
+			}
+			if (umidi->roland_load_ctl) {
+				ctl = umidi->roland_load_ctl;
+				ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+				snd_ctl_notify(umidi->card,
 				       SNDRV_CTL_EVENT_MASK_INFO, &ctl->id);
-			update_roland_altsetting(umidi);
+				update_roland_altsetting(umidi);
+			}
 		}
+		umidi->opened[dir]++;
+		if (umidi->opened[1])
+			snd_usbmidi_input_start(&umidi->list);
 	} else {
-		if (--umidi->opened == 0 && umidi->roland_load_ctl) {
-			ctl = umidi->roland_load_ctl;
-			ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
-			snd_ctl_notify(umidi->card,
+		umidi->opened[dir]--;
+		if (!umidi->opened[1])
+			snd_usbmidi_input_stop(&umidi->list);
+		if (!umidi->opened[0] && !umidi->opened[1]) {
+			if (umidi->roland_load_ctl) {
+				ctl = umidi->roland_load_ctl;
+				ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;
+				snd_ctl_notify(umidi->card,
 				       SNDRV_CTL_EVENT_MASK_INFO, &ctl->id);
+			}
+			if (umidi->autopm_reference)
+				usb_autopm_put_interface(umidi->iface);
 		}
 	}
 	mutex_unlock(&umidi->mutex);
+	return 0;
 }
 
 static int snd_usbmidi_output_open(struct snd_rawmidi_substream *substream)
@@ -1063,7 +1086,6 @@ static int snd_usbmidi_output_open(struct snd_rawmidi_substream *substream)
 	struct snd_usb_midi* umidi = substream->rmidi->private_data;
 	struct usbmidi_out_port* port = NULL;
 	int i, j;
-	int err;
 
 	for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i)
 		if (umidi->endpoints[i].out)
@@ -1076,25 +1098,14 @@ static int snd_usbmidi_output_open(struct snd_rawmidi_substream *substream)
 		snd_BUG();
 		return -ENXIO;
 	}
-	err = usb_autopm_get_interface(umidi->iface);
-	port->autopm_reference = err >= 0;
-	if (err < 0 && err != -EACCES)
-		return -EIO;
 	substream->runtime->private_data = port;
 	port->state = STATE_UNKNOWN;
-	substream_open(substream, 1);
-	return 0;
+	return substream_open(substream, 0, 1);
 }
 
 static int snd_usbmidi_output_close(struct snd_rawmidi_substream *substream)
 {
-	struct snd_usb_midi* umidi = substream->rmidi->private_data;
-	struct usbmidi_out_port *port = substream->runtime->private_data;
-
-	substream_open(substream, 0);
-	if (port->autopm_reference)
-		usb_autopm_put_interface(umidi->iface);
-	return 0;
+	return substream_open(substream, 0, 0);
 }
 
 static void snd_usbmidi_output_trigger(struct snd_rawmidi_substream *substream, int up)
@@ -1147,14 +1158,12 @@ static void snd_usbmidi_output_drain(struct snd_rawmidi_substream *substream)
 
 static int snd_usbmidi_input_open(struct snd_rawmidi_substream *substream)
 {
-	substream_open(substream, 1);
-	return 0;
+	return substream_open(substream, 1, 1);
 }
 
 static int snd_usbmidi_input_close(struct snd_rawmidi_substream *substream)
 {
-	substream_open(substream, 0);
-	return 0;
+	return substream_open(substream, 1, 0);
 }
 
 static void snd_usbmidi_input_trigger(struct snd_rawmidi_substream *substream, int up)
@@ -2060,12 +2069,15 @@ void snd_usbmidi_input_stop(struct list_head* p)
 	unsigned int i, j;
 
 	umidi = list_entry(p, struct snd_usb_midi, list);
+	if (!umidi->input_running)
+		return;
 	for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) {
 		struct snd_usb_midi_endpoint* ep = &umidi->endpoints[i];
 		if (ep->in)
 			for (j = 0; j < INPUT_URBS; ++j)
 				usb_kill_urb(ep->in->urbs[j]);
 	}
+	umidi->input_running = 0;
 }
 
 static void snd_usbmidi_input_start_ep(struct snd_usb_midi_in_endpoint* ep)
@@ -2090,8 +2102,11 @@ void snd_usbmidi_input_start(struct list_head* p)
 	int i;
 
 	umidi = list_entry(p, struct snd_usb_midi, list);
+	if (umidi->input_running || !umidi->opened[1])
+		return;
 	for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i)
 		snd_usbmidi_input_start_ep(umidi->endpoints[i].in);
+	umidi->input_running = 1;
 }
 
 /*
@@ -2229,9 +2244,6 @@ int snd_usbmidi_create(struct snd_card *card,
 	}
 
 	list_add_tail(&umidi->list, midi_list);
-
-	for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i)
-		snd_usbmidi_input_start_ep(umidi->endpoints[i].in);
 	return 0;
 }
 
-- 
1.7.10.4



  parent reply	other threads:[~2013-05-18  2:16 UTC|newest]

Thread overview: 150+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-18  2:15 [ 000/136 ] 3.6.11.4-stable review Steven Rostedt
2013-05-18  2:15 ` [ 001/136 ] USB: serial: option: Added support Olivetti Olicard 145 Steven Rostedt
2013-05-18  2:15 ` [ 002/136 ] USB: option: add a D-Link DWM-156 variant Steven Rostedt
2013-05-18  2:16 ` [ 003/136 ] ARM: omap3: cpuidle: enable time keeping Steven Rostedt
2013-05-18  2:16 ` [ 004/136 ] ARM: u300: fix ages old copy/paste bug Steven Rostedt
2013-05-18  2:16 ` [ 005/136 ] ARM: at91: Fix typo in restart code panic message Steven Rostedt
2013-05-18  2:16 ` [ 006/136 ] powerpc: Add isync to copy_and_flush Steven Rostedt
2013-05-18  2:16 ` [ 007/136 ] powerpc/spufs: Initialise inode->i_ino in spufs_new_inode() Steven Rostedt
2013-05-18  2:16 ` [ 008/136 ] iwlwifi: fix freeing uninitialized pointer Steven Rostedt
2013-05-18  2:16 ` [ 009/136 ] iwlwifi: dvm: dont send zeroed LQ cmd Steven Rostedt
2013-05-18  2:16 ` [ 010/136 ] mwifiex: Use pci_release_region() instead of a pci_release_regions() Steven Rostedt
2013-05-18  2:16 ` [ 011/136 ] mwifiex: Call pci_release_region after calling pci_disable_device Steven Rostedt
2013-05-18  2:16 ` [ 012/136 ] usb/misc/appledisplay: Add 24" LED Cinema display Steven Rostedt
2013-05-18  2:16 ` [ 013/136 ] USB: add ftdi_sio USB ID for GDM Boost V1.x Steven Rostedt
2013-05-18  2:16 ` [ 014/136 ] USB: ftdi_sio: correct ST Micro Connect Lite PIDs Steven Rostedt
2013-05-18  2:16 ` [ 015/136 ] USB: ftdi_sio: enable two UART ports on ST Microconnect Lite Steven Rostedt
2013-05-18  2:16 ` [ 016/136 ] usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl ep Steven Rostedt
2013-05-18  2:16 ` [ 017/136 ] usb: chipidea: udc: fix memory access of shared memory on armv5 machines Steven Rostedt
2013-05-18  2:16 ` [ 018/136 ] usb: chipidea: udc: fix memory leak in _ep_nuke Steven Rostedt
2013-05-18  2:16 ` [ 019/136 ] usb: remove redundant tdi_reset Steven Rostedt
2013-05-18  2:16 ` [ 020/136 ] usb-storage: CY7C68300A chips do not support Cypress ATACB Steven Rostedt
2013-05-18  2:16 ` [ 021/136 ] s390/memory hotplug: prevent offline of active memory increments Steven Rostedt
2013-05-18  2:16 ` [ 022/136 ] xen/time: Fix kasprintf splat when allocating timer%d IRQ line Steven Rostedt
2013-05-18  2:16 ` [ 023/136 ] xen/smp: Fix leakage of timer interrupt line for every CPU online/offline Steven Rostedt
2013-05-18  2:16 ` [ 024/136 ] xen/smp/spinlock: Fix leakage of the spinlock " Steven Rostedt
2013-05-18  2:16 ` [ 025/136 ] serial_core.c: add put_device() after device_find_child() Steven Rostedt
2013-05-18  2:16 ` [ 026/136 ] arm: set the page table freeing ceiling to TASK_SIZE Steven Rostedt
2013-05-18  2:16 ` [ 027/136 ] gianfar: do not advertise any alarm capability Steven Rostedt
2013-05-18  2:16 ` [ 028/136 ] tty: fix up atime/mtime mess, take three Steven Rostedt
2013-05-18  2:16 ` [ 029/136 ] tracing: Use stack of calling function for stack tracer Steven Rostedt
2013-05-18  2:16 ` [ 030/136 ] tracing: Fix stack tracer with fentry use Steven Rostedt
2013-05-18  2:16 ` [ 031/136 ] tracing: Remove most or all of stack tracer stack size from stack_max_size Steven Rostedt
2013-05-18  2:16 ` [ 032/136 ] tracing: Fix off-by-one on allocating stat->pages Steven Rostedt
2013-05-18  2:16 ` [ 033/136 ] tracing: Check return value of tracing_init_dentry() Steven Rostedt
2013-05-18  2:16 ` [ 034/136 ] tracing: Reset ftrace_graph_filter_enabled if count is zero Steven Rostedt
2013-05-18  2:16 ` [ 035/136 ] i2c: xiic: must always write 16-bit words to TX_FIFO Steven Rostedt
2013-05-18  2:16 ` [ 036/136 ] sysfs: fix use after free in case of concurrent read/write and readdir Steven Rostedt
2013-05-18  2:16 ` [ 037/136 ] Fix initialization of CMCI/CMCP interrupts Steven Rostedt
2013-05-18  2:16 ` [ 038/136 ] PCI / ACPI: Dont query OSC support with all possible controls Steven Rostedt
2013-05-18  2:16 ` [ 039/136 ] PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() Steven Rostedt
2013-05-18  2:16 ` [ 040/136 ] rt2x00: Fix transmit power troubles on some Ralink RT30xx cards Steven Rostedt
2013-05-18  2:16 ` [ 041/136 ] Wrong asm register contraints in the futex implementation Steven Rostedt
2013-05-18  2:16 ` [ 042/136 ] Wrong asm register contraints in the kvm implementation Steven Rostedt
2013-05-18  2:16 ` [ 043/136 ] fs/fscache/stats.c: fix memory leak Steven Rostedt
2013-05-18  2:16 ` [ 044/136 ] mm: allow arch code to control the user page table ceiling Steven Rostedt
2013-05-18  2:16 ` [ 045/136 ] TPM: Retry SaveState command in suspend path Steven Rostedt
2013-05-18  2:16 ` [ 046/136 ] ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT Steven Rostedt
2013-05-18  2:16 ` [ 047/136 ] ALSA: usb: Add quirk for 192KHz recording on E-Mu devices Steven Rostedt
2013-05-18  2:16 ` Steven Rostedt [this message]
2013-05-18  2:16 ` [ 049/136 ] ALSA: usb-audio: disable autopm for MIDI devices Steven Rostedt
2013-05-18  2:16 ` [ 050/136 ] ALSA: usb-audio: Fix autopm error during probing Steven Rostedt
2013-05-18  2:16 ` [ 051/136 ] ASoC: max98088: Fix logging of hardware revision Steven Rostedt
2013-05-18  2:16 ` [ 052/136 ] hrtimer: Fix ktime_add_ns() overflow on 32bit architectures Steven Rostedt
2013-05-18  2:16 ` [ 053/136 ] hrtimer: Add expiry time overflow check in hrtimer_interrupt Steven Rostedt
2013-05-18  2:16 ` [ 054/136 ] swap: redirty page if page write fails on swap file Steven Rostedt
2013-05-18  2:16 ` [ 055/136 ] mm: swap: mark swap pages writeback before queueing for direct IO Steven Rostedt
2013-05-18  2:16 ` [ 056/136 ] drivers/rtc/rtc-cmos.c: dont disable hpet emulation on suspend Steven Rostedt
2013-05-18  2:16 ` [ 057/136 ] acpi: make ata_ap_acpi_handle not block Steven Rostedt
2013-05-18  2:16 ` [ 058/136 ] cgroup: fix an off-by-one bug which may trigger BUG_ON() Steven Rostedt
2013-05-18  2:16 ` [ 059/136 ] clockevents: Set dummy handler on CPU_DEAD shutdown Steven Rostedt
2013-05-18  2:16 ` [ 060/136 ] inotify: invalid mask should return a error number but not set it Steven Rostedt
2013-05-18  2:16 ` [ 061/136 ] fs/dcache.c: add cond_resched() to shrink_dcache_parent() Steven Rostedt
2013-05-18  2:16 ` [ 062/136 ] exec: do not abuse ->cred_guard_mutex in threadgroup_lock() Steven Rostedt
2013-05-18  2:17 ` [ 063/136 ] LOCKD: Ensure that nlmclnt_block resets block->b_status after a server reboot Steven Rostedt
2013-05-18  2:17 ` [ 064/136 ] md: bad block list should default to disabled Steven Rostedt
2013-05-18  2:17 ` [ 065/136 ] MD: ignore discard request for hard disks of hybid raid1/raid10 array Steven Rostedt
2013-05-18  2:17 ` [ 066/136 ] NFSv4: Handle NFS4ERR_DELAY and NFS4ERR_GRACE in nfs4_open_delegation_recall Steven Rostedt
2013-05-18  2:17 ` [ 067/136 ] nfsd4: dont close read-write opens too soon Steven Rostedt
2013-05-18  2:17 ` [ 068/136 ] nfsd: dont run get_file if nfs4_preprocess_stateid_op return error Steven Rostedt
2013-05-18  2:17 ` [ 069/136 ] nfsd: Decode and send 64bit time values Steven Rostedt
2013-05-18  2:17 ` [ 070/136 ] wireless: regulatory: fix channel disabling race condition Steven Rostedt
2013-05-18  2:17 ` [ 071/136 ] ipc: sysv shared memory limited to 8TiB Steven Rostedt
2013-05-18  2:17 ` [ 072/136 ] ixgbe: fix EICR write in ixgbe_msix_other Steven Rostedt
2013-05-18  2:17 ` [ 073/136 ] ext4/jbd2: dont wait (forever) for stale tid caused by wraparound Steven Rostedt
2013-05-18  2:17 ` [ 074/136 ] jbd2: fix race between jbd2_journal_remove_checkpoint and ->j_commit_callback Steven Rostedt
2013-05-18  2:17 ` [ 075/136 ] ext4: fix journal callback list traversal Steven Rostedt
2013-05-18  2:17 ` [ 076/136 ] ext4: fix big-endian bug in metadata checksum calculations Steven Rostedt
2013-05-18  2:17 ` [ 077/136 ] ext4: fix online resizing for ext3-compat file systems Steven Rostedt
2013-05-18  2:17 ` [ 078/136 ] ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG Steven Rostedt
2013-05-18  2:17 ` [ 079/136 ] mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload Steven Rostedt
2013-05-18  2:17 ` [ 080/136 ] KVM: X86 emulator: fix source operand decoding for 8bit mov[zs]x instructions Steven Rostedt
2013-05-18  2:17 ` [ 081/136 ] x86: Eliminate irq_mis_count counted in arch_irq_stat Steven Rostedt
2013-05-18  2:17 ` [ 082/136 ] mmc: core: Fix bit width test failing on old eMMC cards Steven Rostedt
2013-05-18  2:17 ` [ 083/136 ] mmc: atmel-mci: pio hang on block errors Steven Rostedt
2013-05-18  2:17 ` [ 084/136 ] mfd: adp5520: Restore mode bits on resume Steven Rostedt
2013-05-18  2:17 ` [ 085/136 ] powerpc: Emulate non privileged DSCR read and write Steven Rostedt
2013-05-18  2:17 ` [ 086/136 ] powerpc: fix numa distance for form0 device tree Steven Rostedt
2013-05-18  2:17 ` [ 087/136 ] autofs - remove autofs dentry mount check Steven Rostedt
2013-05-18  2:17 ` [ 088/136 ] net/eth/ibmveth: Fixup retrieval of MAC address Steven Rostedt
2013-05-18  2:17 ` [ 089/136 ] perf/x86/intel: Add support for IvyBridge model 58 Uncore Steven Rostedt
2013-05-18  2:17 ` [ 090/136 ] perf/x86/intel: Fix unintended variable name reuse Steven Rostedt
2013-05-18  2:17 ` [ 091/136 ] perf/x86/intel/lbr: Fix LBR filter Steven Rostedt
2013-05-18  2:17 ` [ 092/136 ] perf/x86/intel/lbr: Demand proper privileges for PERF_SAMPLE_BRANCH_KERNEL Steven Rostedt
2013-05-18  2:17 ` [ 093/136 ] PCI/PM: Clear state_saved during suspend Steven Rostedt
2013-05-18  2:17 ` [ 094/136 ] e1000e: fix runtime power management transitions Steven Rostedt
2013-05-18  5:35   ` Konstantin Khlebnikov
2013-05-18  5:40     ` Jeff Kirsher
2013-05-20 19:35       ` Steven Rostedt
2013-05-20 20:24         ` Jeff Kirsher
2013-05-20 20:31           ` Steven Rostedt
2013-05-18  2:17 ` [ 095/136 ] xhci: Dont warn on empty ring for suspended devices Steven Rostedt
2013-05-18  2:17 ` [ 096/136 ] ipvs: ip_vs_sip_fill_param() BUG: bad check of return value Steven Rostedt
2013-05-18  2:17 ` [ 097/136 ] netfilter: ipset: list:set: fix reference counter update Steven Rostedt
2013-05-18  2:17 ` [ 098/136 ] netfilter: nf_ct_sip: dont drop packets with offsets pointing outside the packet Steven Rostedt
2013-05-18  2:17 ` [ 099/136 ] netfilter: ipset: "Directory not empty" error message Steven Rostedt
2013-05-18  2:17 ` [ 100/136 ] netfilter: nf_ct_helper: dont discard helper if it is actually the same Steven Rostedt
2013-05-18  2:17 ` [ 101/136 ] netfilter: ctnetlink: dont permit ct creation with random tuple Steven Rostedt
2013-05-18  2:17 ` [ 102/136 ] netfilter: xt_rpfilter: skip locally generated broadcast/multicast, too Steven Rostedt
2013-05-18  2:17 ` [ 103/136 ] ext4: add check for inodes_count overflow in new resize ioctl Steven Rostedt
2013-05-18  2:17 ` [ 104/136 ] r8169: fix 8168evl frame padding Steven Rostedt
2013-05-18 10:02   ` Francois Romieu
2013-05-20 19:40     ` Steven Rostedt
2013-05-20 19:45       ` David Miller
2013-05-20 19:51         ` Steven Rostedt
2013-05-30 20:11     ` Steven Rostedt
2013-05-30 21:00       ` Francois Romieu
2013-05-30 21:21         ` Steven Rostedt
2013-05-18  2:17 ` [ 105/136 ] drm/cirrus: deal with bo reserve fail in dirty update path Steven Rostedt
2013-05-18  2:17 ` [ 106/136 ] drm/mgag200: " Steven Rostedt
2013-05-18  2:17 ` [ 107/136 ] drm/gma500: fix backlight hotkeys behaviour on netbooks Steven Rostedt
2013-05-18  2:17 ` [ 108/136 ] drm/prime: keep a reference from the handle to exported dma-buf (v6) Steven Rostedt
2013-05-18  2:17 ` [ 109/136 ] drm/ast: deal with bo reserve fail in dirty update path Steven Rostedt
2013-05-18  2:17 ` [ 110/136 ] drm/i915: Fix detection of base of stolen memory Steven Rostedt
2013-05-18  2:17 ` [ 111/136 ] drm/i915: Add no-lvds quirk for Fujitsu Esprimo Q900 Steven Rostedt
2013-05-18  2:17 ` [ 112/136 ] drm/i915: Workaround incoherence between fences and LLC across multiple CPUs Steven Rostedt
2013-05-18  2:17 ` [ 113/136 ] drm/i915: Use MLC (l3$) for context objects Steven Rostedt
2013-05-18  2:17 ` [ 114/136 ] drm/i915: set CPT FDI RX polarity bits based on VBT Steven Rostedt
2013-05-18  2:17 ` [ 115/136 ] drm/i915: Fall back to bit banging mode for DVO transmitter detection Steven Rostedt
2013-05-18  2:17 ` [ 116/136 ] drm/radeon: dont use get_engine_clock() on APUs Steven Rostedt
2013-05-18  2:17 ` [ 117/136 ] drm/radeon: use frac fb div on RS780/RS880 Steven Rostedt
2013-05-18  2:17 ` [ 118/136 ] drm/radeon/dce6: add missing display reg for tiling setup Steven Rostedt
2013-05-18  2:17 ` [ 119/136 ] drm/radeon: update wait_for_vblank for r5xx-r7xx Steven Rostedt
2013-05-18  2:17 ` [ 120/136 ] drm/radeon: update wait_for_vblank for evergreen+ Steven Rostedt
2013-05-18  2:17 ` [ 121/136 ] drm/radeon: update wait_for_vblank for r1xx-r4xx Steven Rostedt
2013-05-18  2:17 ` [ 122/136 ] drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2) Steven Rostedt
2013-05-18  2:18 ` [ 123/136 ] drm/radeon: add some new SI PCI ids Steven Rostedt
2013-05-18  2:18 ` [ 124/136 ] drm/radeon/evergreen+: dont enable HPD interrupts on eDP/LVDS Steven Rostedt
2013-05-18  2:18 ` [ 125/136 ] drm/radeon: cleanup properly if mmio mapping fails Steven Rostedt
2013-05-18  2:18 ` [ 126/136 ] drm/radeon: fix hdmi mode enable on RS600/RS690/RS740 Steven Rostedt
2013-05-18  2:18 ` [ 127/136 ] drm/radeon: fix typo in si_select_se_sh() Steven Rostedt
2013-05-18  2:18 ` [ 128/136 ] drm/radeon: fix endian bugs in atom_allocate_fb_scratch() Steven Rostedt
2013-05-18  2:18 ` [ 129/136 ] drm/radeon: fix possible segfault when parsing pm tables Steven Rostedt
2013-05-18  2:18 ` [ 130/136 ] drm/radeon: add new richland pci ids Steven Rostedt
2013-05-18  2:18 ` [ 131/136 ] drm/radeon: fix handling of v6 power tables Steven Rostedt
2013-05-18  2:18 ` [ 132/136 ] tracing: Fix ftrace_dump() Steven Rostedt
2013-05-18  2:18 ` [ 133/136 ] Btrfs: compare relevant parts of delayed tree refs Steven Rostedt
2013-05-18  2:18 ` [ 134/136 ] kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees() Steven Rostedt
2013-05-18  2:18 ` [ 135/136 ] x86/mm: account for PGDIR_SIZE alignment Steven Rostedt
2013-05-18  2:18 ` [ 136/136 ] s390: move dummy io_remap_pfn_range() to asm/pgtable.h Steven Rostedt
2013-05-18  2:32 ` [ 000/136 ] 3.6.11.4-stable review Steven Rostedt

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=20130518021649.476363388@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=clemens@ladisch.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tiwai@suse.de \
    /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