linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Alan Cox <alan@linux.intel.com>,
	Florian Tobias Schandinat <FlorianSchandinat@gmx.de>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Jiri Kosina <jkosina@suse.cz>,
	Sedat Dilek <sedat.dilek@gmail.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Andrew Morton <akpm@linux-foundation.org>,
	Dave Airlie <airlied@redhat.com>
Subject: [ 117/150] fb: rework locking to fix lock ordering on takeover
Date: Tue, 26 Feb 2013 15:56:14 -0800	[thread overview]
Message-ID: <20130226235536.241270386@linuxfoundation.org> (raw)
In-Reply-To: <20130226235523.930663721@linuxfoundation.org>

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

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

From: Alan Cox <alan@linux.intel.com>

commit 50e244cc793d511b86adea24972f3a7264cae114 upstream.

Adjust the console layer to allow a take over call where the caller
already holds the locks.  Make the fb layer lock in order.

This is partly a band aid, the fb layer is terminally confused about the
locking rules it uses for its notifiers it seems.

[akpm@linux-foundation.org: remove stray non-ascii char, tidy comment]
[akpm@linux-foundation.org: export do_take_over_console()]
[airlied: cleanup another non-ascii char]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Jiri Kosina <jkosina@suse.cz>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/tty/vt/vt.c           |   93 +++++++++++++++++++++++++++++++-----------
 drivers/video/console/fbcon.c |   29 ++++++++++++-
 drivers/video/fbmem.c         |    5 --
 drivers/video/fbsysfs.c       |    3 +
 include/linux/console.h       |    1 
 5 files changed, 104 insertions(+), 27 deletions(-)

--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -2987,7 +2987,7 @@ int __init vty_init(const struct file_op
 
 static struct class *vtconsole_class;
 
-static int bind_con_driver(const struct consw *csw, int first, int last,
+static int do_bind_con_driver(const struct consw *csw, int first, int last,
 			   int deflt)
 {
 	struct module *owner = csw->owner;
@@ -2998,7 +2998,7 @@ static int bind_con_driver(const struct
 	if (!try_module_get(owner))
 		return -ENODEV;
 
-	console_lock();
+	WARN_CONSOLE_UNLOCKED();
 
 	/* check if driver is registered */
 	for (i = 0; i < MAX_NR_CON_DRIVER; i++) {
@@ -3083,11 +3083,22 @@ static int bind_con_driver(const struct
 
 	retval = 0;
 err:
-	console_unlock();
 	module_put(owner);
 	return retval;
 };
 
+
+static int bind_con_driver(const struct consw *csw, int first, int last,
+			   int deflt)
+{
+	int ret;
+
+	console_lock();
+	ret = do_bind_con_driver(csw, first, last, deflt);
+	console_unlock();
+	return ret;
+}
+
 #ifdef CONFIG_VT_HW_CONSOLE_BINDING
 static int con_is_graphics(const struct consw *csw, int first, int last)
 {
@@ -3199,9 +3210,9 @@ int unbind_con_driver(const struct consw
 	if (!con_is_bound(csw))
 		con_driver->flag &= ~CON_DRIVER_FLAG_INIT;
 
-	console_unlock();
 	/* ignore return value, binding should not fail */
-	bind_con_driver(defcsw, first, last, deflt);
+	do_bind_con_driver(defcsw, first, last, deflt);
+	console_unlock();
 err:
 	module_put(owner);
 	return retval;
@@ -3492,28 +3503,18 @@ int con_debug_leave(void)
 }
 EXPORT_SYMBOL_GPL(con_debug_leave);
 
-/**
- * register_con_driver - register console driver to console layer
- * @csw: console driver
- * @first: the first console to take over, minimum value is 0
- * @last: the last console to take over, maximum value is MAX_NR_CONSOLES -1
- *
- * DESCRIPTION: This function registers a console driver which can later
- * bind to a range of consoles specified by @first and @last. It will
- * also initialize the console driver by calling con_startup().
- */
-int register_con_driver(const struct consw *csw, int first, int last)
+static int do_register_con_driver(const struct consw *csw, int first, int last)
 {
 	struct module *owner = csw->owner;
 	struct con_driver *con_driver;
 	const char *desc;
 	int i, retval = 0;
 
+	WARN_CONSOLE_UNLOCKED();
+
 	if (!try_module_get(owner))
 		return -ENODEV;
 
-	console_lock();
-
 	for (i = 0; i < MAX_NR_CON_DRIVER; i++) {
 		con_driver = &registered_con_driver[i];
 
@@ -3566,10 +3567,29 @@ int register_con_driver(const struct con
 	}
 
 err:
-	console_unlock();
 	module_put(owner);
 	return retval;
 }
+
+/**
+ * register_con_driver - register console driver to console layer
+ * @csw: console driver
+ * @first: the first console to take over, minimum value is 0
+ * @last: the last console to take over, maximum value is MAX_NR_CONSOLES -1
+ *
+ * DESCRIPTION: This function registers a console driver which can later
+ * bind to a range of consoles specified by @first and @last. It will
+ * also initialize the console driver by calling con_startup().
+ */
+int register_con_driver(const struct consw *csw, int first, int last)
+{
+	int retval;
+
+	console_lock();
+	retval = do_register_con_driver(csw, first, last);
+	console_unlock();
+	return retval;
+}
 EXPORT_SYMBOL(register_con_driver);
 
 /**
@@ -3623,17 +3643,44 @@ EXPORT_SYMBOL(unregister_con_driver);
  *	when a driver wants to take over some existing consoles
  *	and become default driver for newly opened ones.
  *
- *      take_over_console is basically a register followed by unbind
+ *	take_over_console is basically a register followed by unbind
+ */
+int do_take_over_console(const struct consw *csw, int first, int last, int deflt)
+{
+	int err;
+
+	err = do_register_con_driver(csw, first, last);
+	/*
+	 * If we get an busy error we still want to bind the console driver
+	 * and return success, as we may have unbound the console driver
+	 * but not unregistered it.
+	 */
+	if (err == -EBUSY)
+		err = 0;
+	if (!err)
+		do_bind_con_driver(csw, first, last, deflt);
+
+	return err;
+}
+EXPORT_SYMBOL_GPL(do_take_over_console);
+
+/*
+ *	If we support more console drivers, this function is used
+ *	when a driver wants to take over some existing consoles
+ *	and become default driver for newly opened ones.
+ *
+ *	take_over_console is basically a register followed by unbind
  */
 int take_over_console(const struct consw *csw, int first, int last, int deflt)
 {
 	int err;
 
 	err = register_con_driver(csw, first, last);
-	/* if we get an busy error we still want to bind the console driver
+	/*
+	 * If we get an busy error we still want to bind the console driver
 	 * and return success, as we may have unbound the console driver
-	 * but not unregistered it.
-	*/
+	 * but not unregistered it.
+	 */
 	if (err == -EBUSY)
 		err = 0;
 	if (!err)
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -529,6 +529,33 @@ static int search_for_mapped_con(void)
 	return retval;
 }
 
+static int do_fbcon_takeover(int show_logo)
+{
+	int err, i;
+
+	if (!num_registered_fb)
+		return -ENODEV;
+
+	if (!show_logo)
+		logo_shown = FBCON_LOGO_DONTSHOW;
+
+	for (i = first_fb_vc; i <= last_fb_vc; i++)
+		con2fb_map[i] = info_idx;
+
+	err = do_take_over_console(&fb_con, first_fb_vc, last_fb_vc,
+				fbcon_is_default);
+
+	if (err) {
+		for (i = first_fb_vc; i <= last_fb_vc; i++)
+			con2fb_map[i] = -1;
+		info_idx = -1;
+	} else {
+		fbcon_has_console_bind = 1;
+	}
+
+	return err;
+}
+
 static int fbcon_takeover(int show_logo)
 {
 	int err, i;
@@ -3121,7 +3148,7 @@ static int fbcon_fb_registered(struct fb
 		}
 
 		if (info_idx != -1)
-			ret = fbcon_takeover(1);
+			ret = do_fbcon_takeover(1);
 	} else {
 		for (i = first_fb_vc; i <= last_fb_vc; i++) {
 			if (con2fb_map_boot[i] == idx)
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1650,7 +1650,9 @@ static int do_register_framebuffer(struc
 	event.info = fb_info;
 	if (!lock_fb_info(fb_info))
 		return -ENODEV;
+	console_lock();
 	fb_notifier_call_chain(FB_EVENT_FB_REGISTERED, &event);
+	console_unlock();
 	unlock_fb_info(fb_info);
 	return 0;
 }
@@ -1853,11 +1855,8 @@ int fb_new_modelist(struct fb_info *info
 	err = 1;
 
 	if (!list_empty(&info->modelist)) {
-		if (!lock_fb_info(info))
-			return -ENODEV;
 		event.info = info;
 		err = fb_notifier_call_chain(FB_EVENT_NEW_MODELIST, &event);
-		unlock_fb_info(info);
 	}
 
 	return err;
--- a/drivers/video/fbsysfs.c
+++ b/drivers/video/fbsysfs.c
@@ -177,6 +177,8 @@ static ssize_t store_modes(struct device
 	if (i * sizeof(struct fb_videomode) != count)
 		return -EINVAL;
 
+	if (!lock_fb_info(fb_info))
+		return -ENODEV;
 	console_lock();
 	list_splice(&fb_info->modelist, &old_list);
 	fb_videomode_to_modelist((const struct fb_videomode *)buf, i,
@@ -188,6 +190,7 @@ static ssize_t store_modes(struct device
 		fb_destroy_modelist(&old_list);
 
 	console_unlock();
+	unlock_fb_info(fb_info);
 
 	return 0;
 }
--- a/include/linux/console.h
+++ b/include/linux/console.h
@@ -78,6 +78,7 @@ int con_is_bound(const struct consw *csw
 int register_con_driver(const struct consw *csw, int first, int last);
 int unregister_con_driver(const struct consw *csw);
 int take_over_console(const struct consw *sw, int first, int last, int deflt);
+int do_take_over_console(const struct consw *sw, int first, int last, int deflt);
 void give_up_console(const struct consw *sw);
 #ifdef CONFIG_HW_CONSOLE
 int con_debug_enter(struct vc_data *vc);



  parent reply	other threads:[~2013-02-27  0:51 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-26 23:54 [ 000/150] 3.8.1-stable review Greg Kroah-Hartman
2013-02-26 23:54 ` [ 001/150] x86-32, mm: Rip out x86_32 NUMA remapping code Greg Kroah-Hartman
2013-02-26 23:54 ` [ 002/150] x86-32, mm: Remove reference to resume_map_numa_kva() Greg Kroah-Hartman
2013-02-26 23:54 ` [ 003/150] x86-32, mm: Remove reference to alloc_remap() Greg Kroah-Hartman
2013-02-26 23:54 ` [ 004/150] perf tools: Fix build with bison 2.3 and older Greg Kroah-Hartman
2013-02-26 23:54 ` [ 005/150] perf hists: Fix period symbol_conf.field_sep display Greg Kroah-Hartman
2013-02-26 23:54 ` [ 006/150] timeconst.pl: Eliminate Perl warning Greg Kroah-Hartman
2013-02-26 23:54 ` [ 007/150] genirq: Avoid deadlock in spurious handling Greg Kroah-Hartman
2013-02-26 23:54 ` [ 008/150] posix-cpu-timers: Fix nanosleep task_struct leak Greg Kroah-Hartman
2013-02-26 23:54 ` [ 009/150] hrtimer: Prevent hrtimer_enqueue_reprogram race Greg Kroah-Hartman
2013-02-26 23:54 ` [ 010/150] x86: Hyper-V: register clocksource only if its advertised Greg Kroah-Hartman
2013-02-26 23:54 ` [ 011/150] workqueue: un-GPL function delayed_work_timer_fn() Greg Kroah-Hartman
2013-02-26 23:54 ` [ 012/150] ALSA: ali5451: remove irq enabling in pointer callback Greg Kroah-Hartman
2013-02-26 23:54 ` [ 013/150] ALSA: rme32.c irq enabling after spin_lock_irq Greg Kroah-Hartman
2013-02-26 23:54 ` [ 014/150] ALSA: aloop: Fix Oops while PM resume Greg Kroah-Hartman
2013-02-26 23:54 ` [ 015/150] tty: Prevent deadlock in n_gsm driver Greg Kroah-Hartman
2013-02-26 23:54 ` [ 016/150] tty: set_termios/set_termiox should not return -EINTR Greg Kroah-Hartman
2013-02-26 23:54 ` [ 017/150] USB: serial: fix null-pointer dereferences on disconnect Greg Kroah-Hartman
2013-02-26 23:54 ` [ 018/150] serial: imx: Fix recursive locking bug Greg Kroah-Hartman
2013-02-26 23:54 ` [ 019/150] serial_core: Fix type definition for PORT_BRCM_TRUMANAGE Greg Kroah-Hartman
2013-02-28  0:05   ` Ben Hutchings
2013-02-28  0:39     ` Greg Kroah-Hartman
2013-03-03  2:51       ` Ben Hutchings
2013-03-03  3:38         ` Ben Hutchings
2013-03-04  2:41           ` Greg Kroah-Hartman
2013-03-04  3:35             ` Ben Hutchings
2013-02-26 23:54 ` [ 020/150] b43: Increase number of RX DMA slots Greg Kroah-Hartman
2013-02-26 23:54 ` [ 021/150] rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id Greg Kroah-Hartman
2013-02-26 23:54 ` [ 022/150] rtlwifi: rtl8192cu: Add new USB ID Greg Kroah-Hartman
2013-02-26 23:54 ` [ 023/150] rtlwifi: usb: allocate URB control message setup_packet and data buffer separately Greg Kroah-Hartman
2013-02-26 23:54 ` [ 024/150] tty vt: fix character insertion overflow Greg Kroah-Hartman
2013-02-26 23:54 ` [ 025/150] xen: Send spinlock IPI to all waiters Greg Kroah-Hartman
2013-02-26 23:54 ` [ 026/150] xen: close evtchn port if binding to irq fails Greg Kroah-Hartman
2013-02-26 23:54 ` [ 027/150] pps: Add pps_lookup_dev() function Greg Kroah-Hartman
2013-02-26 23:54 ` [ 028/150] pps: Use pps_lookup_dev to reduce ldisc coupling Greg Kroah-Hartman
2013-02-26 23:54 ` [ 029/150] pps: Fix a use-after free bug when unregistering a source Greg Kroah-Hartman
2013-02-26 23:54 ` [ 030/150] zram: Fix deadlock bug in partial read/write Greg Kroah-Hartman
2013-02-26 23:54 ` [ 031/150] Driver core: treat unregistered bus_types as having no devices Greg Kroah-Hartman
2013-02-26 23:54 ` [ 032/150] mmu_notifier_unregister NULL Pointer deref and multiple ->release() callouts Greg Kroah-Hartman
2013-02-26 23:54 ` [ 033/150] KVM: s390: Handle hosts not supporting s390-virtio Greg Kroah-Hartman
2013-02-26 23:54 ` [ 034/150] s390/kvm: Fix store status for ACRS/FPRS Greg Kroah-Hartman
2013-02-26 23:54 ` [ 035/150] futex: Revert "futex: Mark get_robust_list as deprecated" Greg Kroah-Hartman
2013-02-26 23:54 ` [ 036/150] inotify: remove broken mask checks causing unmount to be EINVAL Greg Kroah-Hartman
2013-02-26 23:54 ` [ 037/150] fs/block_dev.c: page cache wrongly left invalidated after revalidate_disk() Greg Kroah-Hartman
2013-02-26 23:54 ` [ 038/150] ocfs2: unlock super lock if lockres refresh failed Greg Kroah-Hartman
2013-02-26 23:54 ` [ 039/150] drivers/video/backlight/adp88?0_bl.c: fix resume Greg Kroah-Hartman
2013-02-26 23:54 ` [ 040/150] KEYS: Revert one application of "Fix unreachable code" patch Greg Kroah-Hartman
2013-02-26 23:54 ` [ 041/150] tmpfs: fix use-after-free of mempolicy object Greg Kroah-Hartman
2013-02-26 23:54 ` [ 042/150] mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to discard all pages Greg Kroah-Hartman
2013-02-26 23:55 ` [ 043/150] drivercore: Fix ordering between deferred_probe and exiting initcalls Greg Kroah-Hartman
2013-02-26 23:55 ` [ 044/150] umount oops when remove blocklayoutdriver first Greg Kroah-Hartman
2013-02-26 23:55 ` [ 045/150] NLM: Ensure that we resend all pending blocking locks after a reclaim Greg Kroah-Hartman
2013-02-26 23:55 ` [ 046/150] NFSv4.1: Fix an ABBA locking issue with session and state serialisation Greg Kroah-Hartman
2013-02-26 23:55 ` [ 047/150] NFSv4.1: Fix bulk recall and destroy of layouts Greg Kroah-Hartman
2013-02-26 23:55 ` [ 048/150] NFSv4.1: Dont decode skipped layoutgets Greg Kroah-Hartman
2013-02-26 23:55 ` [ 049/150] p54usb: corrected USB ID for T-Com Sinus 154 data II Greg Kroah-Hartman
2013-02-26 23:55 ` [ 050/150] ALSA: usb-audio: fix Roland A-PRO support Greg Kroah-Hartman
2013-02-26 23:55 ` [ 051/150] ALSA: usb/quirks, fix out-of-bounds access Greg Kroah-Hartman
2013-02-26 23:55 ` [ 052/150] ALSA: usb: Fix Processing Unit Descriptor parsers Greg Kroah-Hartman
2013-02-26 23:55 ` [ 053/150] ALSA: hda - Disable runtime PM for Intel 5 Series/3400 Greg Kroah-Hartman
2013-02-26 23:55 ` [ 054/150] ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open() Greg Kroah-Hartman
2013-02-26 23:55 ` [ 055/150] ALSA: hda - Fix default multichannel HDMI mapping regression Greg Kroah-Hartman
2013-02-26 23:55 ` [ 056/150] ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with ALC889 Greg Kroah-Hartman
2013-02-26 23:55 ` [ 057/150] ALSA: hda - Fix broken workaround for HDMI/SPDIF conflicts Greg Kroah-Hartman
2013-02-26 23:55 ` [ 058/150] ALSA: hda - hdmi: ELD shouldnt be valid after unplug Greg Kroah-Hartman
2013-02-26 23:55 ` [ 059/150] GFS2: Get a block reservation before resizing a file Greg Kroah-Hartman
2013-02-26 23:55 ` [ 060/150] sparc64: Fix gfp_flags setting in tsb_grow() Greg Kroah-Hartman
2013-02-26 23:55 ` [ 061/150] sparc64: Handle hugepage TSB being NULL Greg Kroah-Hartman
2013-02-26 23:55 ` [ 062/150] sparc64: Fix tsb_grow() in atomic context Greg Kroah-Hartman
2013-02-26 23:55 ` [ 063/150] sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler Greg Kroah-Hartman
2013-02-26 23:55 ` [ 064/150] drm/radeon/dce6: fix display powergating Greg Kroah-Hartman
2013-02-26 23:55 ` [ 065/150] drm/radeon: fix multi-head power profile stability on BTC+ asics Greg Kroah-Hartman
2013-02-26 23:55 ` [ 066/150] drm/radeon: remove overzealous warning in hdmi handling Greg Kroah-Hartman
2013-02-26 23:55 ` [ 067/150] drm/radeon: properly validate the atpx interface Greg Kroah-Hartman
2013-02-26 23:55 ` [ 068/150] drm/udl: make usage as a console safer Greg Kroah-Hartman
2013-02-26 23:55 ` [ 069/150] drm/udl: disable fb_defio by default Greg Kroah-Hartman
2013-02-26 23:55 ` [ 070/150] vgacon/vt: clear buffer attributes when we load a 512 character font (v2) Greg Kroah-Hartman
2013-02-26 23:55 ` [ 071/150] PCI: Fix PCI Express Capability accessors for PCI_EXP_FLAGS Greg Kroah-Hartman
2013-02-26 23:55 ` [ 072/150] drm: dont add inferred modes for monitors that dont support them Greg Kroah-Hartman
2013-02-26 23:55 ` [ 073/150] drm: shut up invalid edid messages Greg Kroah-Hartman
2013-02-26 23:55 ` [ 074/150] drm: Fill depth/bits_per_pixel for C8 format Greg Kroah-Hartman
2013-02-26 23:55 ` [ 075/150] drm: Use C8 instead of RGB332 when determining the format from depth/bpp Greg Kroah-Hartman
2013-02-26 23:55 ` [ 076/150] Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S" Greg Kroah-Hartman
2013-02-26 23:55 ` [ 077/150] drm/usb: bind driver to correct device Greg Kroah-Hartman
2013-02-26 23:55 ` [ 078/150] intel/iommu: force writebuffer-flush quirk on Gen 4 Chipsets Greg Kroah-Hartman
2013-02-26 23:55 ` [ 079/150] get rid of unprotected dereferencing of mnt->mnt_ns Greg Kroah-Hartman
2013-02-26 23:55 ` [ 080/150] drm/i915: Preserve the DDI link reversal configuration Greg Kroah-Hartman
2013-02-26 23:55 ` [ 081/150] drm/i915: Preserve the FDI line reversal override bit on CPT Greg Kroah-Hartman
2013-02-26 23:55 ` [ 082/150] drm/i915: Only run idle processing from i915_gem_retire_requests_worker Greg Kroah-Hartman
2013-02-26 23:55 ` [ 083/150] drm/i915: Fix CAGF for HSW Greg Kroah-Hartman
2013-02-26 23:55 ` [ 084/150] drm/i915: Fix RC6VIDS encode/decode Greg Kroah-Hartman
2013-02-26 23:55 ` [ 085/150] drm/i915: write backlight harder Greg Kroah-Hartman
2013-02-26 23:55 ` [ 086/150] drm/i915: disable shared panel fitter for pipe Greg Kroah-Hartman
2013-02-26 23:55 ` [ 087/150] drm/i915: Set i9xx sdvo clock limits according to specifications Greg Kroah-Hartman
2013-02-26 23:55 ` [ 088/150] drm/i915: add missing \n to UTS_RELEASE in the error_state Greg Kroah-Hartman
2013-02-26 23:55 ` [ 089/150] drm/i915: Use HAS_L3_GPU_CACHE in i915_gem_l3_remap Greg Kroah-Hartman
2013-02-26 23:55 ` [ 090/150] drm/i915: inverted brightness quirk for Acer Aspire 4736Z Greg Kroah-Hartman
2013-02-26 23:55 ` [ 091/150] drm/i915: Handle untiled planes when computing their offsets Greg Kroah-Hartman
2013-02-26 23:55 ` [ 092/150] staging: zsmalloc: Fix TLB coherency and build problem Greg Kroah-Hartman
2013-02-26 23:55 ` [ 093/150] staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors Greg Kroah-Hartman
2013-02-26 23:55 ` [ 094/150] staging: comedi: ni_labpc: set up command4 register *after* command3 Greg Kroah-Hartman
2013-02-26 23:55 ` [ 095/150] staging: comedi: ni_labpc: correct differential channel sequence for AI commands Greg Kroah-Hartman
2013-02-26 23:55 ` [ 096/150] staging: vt6656: revert : 64 bit- Correctly address void structure Greg Kroah-Hartman
2013-02-26 23:55 ` [ 097/150] staging: vt6656: Revert: 64bit fixes: dpc.c incorrect addressing of " Greg Kroah-Hartman
2013-02-26 23:55 ` [ 098/150] staging: vt6656: Fix URB submitted while active warning Greg Kroah-Hartman
2013-02-26 23:55 ` [ 099/150] ASoC: wm2200: correct IN2L and IN3L digital mute Greg Kroah-Hartman
2013-02-26 23:55 ` [ 100/150] ASoC: arizona: Fixed a bug in FLL fractional calculation Greg Kroah-Hartman
2013-02-26 23:55 ` [ 101/150] ARM: 7635/1: versatile: fix the PCI IRQ regression Greg Kroah-Hartman
2013-02-26 23:55 ` [ 102/150] ARM: PXA3xx: program the CSMSADRCFG register Greg Kroah-Hartman
2013-02-26 23:56 ` [ 103/150] ARM: at91/DT: remove atmel,use-dma-* from 9x5 and 9n12 USART nodes Greg Kroah-Hartman
2013-02-26 23:56 ` [ 104/150] ARM: samsung: fix assembly syntax for new gas Greg Kroah-Hartman
2013-02-26 23:56 ` [ 105/150] ARM: i.MX25: clk: parent per5_clk to AHB clock Greg Kroah-Hartman
2013-02-26 23:56 ` [ 106/150] ARM: integrator: ensure ap_syscon_base is initialised when !CONFIG_MMU Greg Kroah-Hartman
2013-02-26 23:56 ` [ 107/150] arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link Greg Kroah-Hartman
2013-02-26 23:56 ` [ 108/150] ARM: 7643/1: sched: correct update_sched_clock() Greg Kroah-Hartman
2013-02-26 23:56 ` [ 109/150] powerpc/kexec: Disable hard IRQ before kexec Greg Kroah-Hartman
2013-02-26 23:56 ` [ 110/150] uprobes/powerpc: Add dependency on single step emulation Greg Kroah-Hartman
2013-02-26 23:56 ` [ 111/150] powerpc/eeh: Fix crash when adding a device in a slot with DDW Greg Kroah-Hartman
2013-02-26 23:56 ` [ 112/150] [PARISC] Purge existing TLB entries in set_pte_at and ptep_set_wrprotect Greg Kroah-Hartman
2013-02-26 23:56 ` [ 113/150] pcmcia/vrc4171: Add missing spinlock init Greg Kroah-Hartman
2013-02-26 23:56 ` [ 114/150] drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp Greg Kroah-Hartman
2013-02-26 23:56 ` [ 115/150] drivers/video: fsl-diu-fb: fix bugs in interrupt handling Greg Kroah-Hartman
2013-02-26 23:56 ` [ 116/150] fbcon: dont lose the console font across generic->chip driver switch Greg Kroah-Hartman
2013-02-26 23:56 ` Greg Kroah-Hartman [this message]
2013-02-26 23:56 ` [ 118/150] fb: Yet another band-aid for fixing lockdep mess Greg Kroah-Hartman
2013-02-26 23:56 ` [ 119/150] mmc: sdhci-esdhc-imx: fix host version read Greg Kroah-Hartman
2013-02-26 23:56 ` [ 120/150] mmc: core: expose RPMB partition only for CMD23 capable hosts Greg Kroah-Hartman
2013-02-26 23:56 ` [ 121/150] HID: wiimote: fix nunchuck button parser Greg Kroah-Hartman
2013-02-26 23:56 ` [ 122/150] net: cdc_ncm: fix probing of devices with multiple control interface altsettings Greg Kroah-Hartman
2013-02-26 23:56 ` [ 123/150] xen-netback: correctly return errors from netbk_count_requests() Greg Kroah-Hartman
2013-02-26 23:56 ` [ 124/150] xen-netback: cancel the credit timer when taking the vif down Greg Kroah-Hartman
2013-02-26 23:56 ` [ 125/150] net: fix a compile error when SOCK_REFCNT_DEBUG is enabled Greg Kroah-Hartman
2013-02-26 23:56 ` [ 126/150] xfrm: release neighbor upon dst destruction Greg Kroah-Hartman
2013-02-26 23:56 ` [ 127/150] ppp: set qdisc_tx_busylock to avoid LOCKDEP splat Greg Kroah-Hartman
2013-02-26 23:56 ` [ 128/150] ipv6: fix race condition regarding dst->expires and dst->from Greg Kroah-Hartman
2013-02-26 23:56 ` [ 129/150] ipv4: fix a bug in ping_err() Greg Kroah-Hartman
2013-02-26 23:56 ` [ 130/150] ipv6: use a stronger hash for tcp Greg Kroah-Hartman
2013-02-26 23:56 ` [ 131/150] ipv4: fix error handling in icmp_protocol Greg Kroah-Hartman
2013-02-26 23:56 ` [ 132/150] tcp: fix SYN-data space mis-accounting Greg Kroah-Hartman
2013-02-26 23:56 ` [ 133/150] mlx4_en: fix allocation of device tx_cq Greg Kroah-Hartman
2013-02-26 23:56 ` [ 134/150] mlx4_en: fix allocation of CPU affinity reverse-map Greg Kroah-Hartman
2013-02-26 23:56 ` [ 135/150] sock_diag: Fix out-of-bounds access to sock_diag_handlers[] Greg Kroah-Hartman
2013-02-26 23:56 ` [ 136/150] vlan: adjust vlan_set_encap_proto() for its callers Greg Kroah-Hartman
2013-02-26 23:56 ` [ 137/150] mac80211: always unblock CSA queue stop when disconnecting Greg Kroah-Hartman
2013-02-26 23:56 ` [ 138/150] USB: ehci-omap: Dont free gpios that we didnt request Greg Kroah-Hartman
2013-02-26 23:56 ` [ 139/150] gpio: em: Use irq_domain_add_simple() to fix runtime error Greg Kroah-Hartman
2013-02-26 23:56 ` [ 140/150] dma: sh: Dont use ENODEV for failing slave lookup Greg Kroah-Hartman
2013-02-26 23:56 ` [ 141/150] dca: check against empty dca_domains list before unregister provider Greg Kroah-Hartman
2013-02-26 23:56 ` [ 142/150] USB: option: add and update Alcatel modems Greg Kroah-Hartman
2013-02-26 23:56 ` [ 143/150] USB: option: add Yota / Megafon M100-1 4g modem Greg Kroah-Hartman
2013-02-26 23:56 ` [ 144/150] USB: option: add Huawei "ACM" devices using protocol = vendor Greg Kroah-Hartman
2013-02-26 23:56 ` [ 145/150] USB: ehci-omap: Fix autoloading of module Greg Kroah-Hartman
2013-02-26 23:56 ` [ 146/150] USB: storage: properly handle the endian issues of idProduct Greg Kroah-Hartman
2013-02-26 23:56 ` [ 147/150] USB: usb-storage: unusual_devs update for Super TOP SATA bridge Greg Kroah-Hartman
2013-02-26 23:56 ` [ 148/150] usb: musb: core: fix failure path Greg Kroah-Hartman
2013-02-26 23:56 ` [ 149/150] usb: musb: fix dependency on transceiver driver Greg Kroah-Hartman
2013-02-26 23:56 ` [ 150/150] usb: musb: ux500: use clk_prepare_enable and clk_disable_unprepare Greg Kroah-Hartman
2013-02-27 16:50 ` [ 000/150] 3.8.1-stable review Shuah Khan
2013-02-28 14:51   ` Satoru Takeuchi
2013-02-28 16:24     ` Greg Kroah-Hartman
2013-02-28 22:26       ` Satoru Takeuchi
2013-02-27 23:09 ` Linus Walleij

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=20130226235536.241270386@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=FlorianSchandinat@gmx.de \
    --cc=airlied@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@linux.intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=jkosina@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sedat.dilek@gmail.com \
    --cc=sfr@canb.auug.org.au \
    --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).