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 = ®istered_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);
next prev 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).