From: Paul Gortmaker <paul.gortmaker@windriver.com> To: stable@kernel.org, linux-kernel@vger.kernel.org Cc: stable-review@kernel.org, Maxim Levitsky <maximlevitsky@gmail.com>, David Brownell <david-b@pacbell.net>, Alan Stern <stern@rowland.harvard.edu>, <linux-mmc@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Linus Torvalds <torvalds@linux-foundation.org>, Paul Gortmaker <paul.gortmaker@windriver.com> Subject: [34-longterm 146/196] mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resume Date: Mon, 12 Mar 2012 20:20:59 -0400 [thread overview] Message-ID: <1331598109-31424-101-git-send-email-paul.gortmaker@windriver.com> (raw) In-Reply-To: <1331598109-31424-1-git-send-email-paul.gortmaker@windriver.com> From: Maxim Levitsky <maximlevitsky@gmail.com> ------------------- This is a commit scheduled for the next v2.6.34 longterm release. If you see a problem with using this for longterm, please comment. ------------------- commit 4c2ef25fe0b847d2ae818f74758ddb0be1c27d8e upstream. If you don't use CONFIG_MMC_UNSAFE_RESUME, as soon as you attempt to suspend, the card will be removed, therefore this patch doesn't change the behavior of this option. However the removal will be done by pm notifier, which runs while userspace is still not frozen and thus can freely use del_gendisk, without the risk of deadlock which would happen otherwise. Card detect workqueue is now disabled while userspace is frozen, Therefore if you do use CONFIG_MMC_UNSAFE_RESUME, and remove the card during suspend, the removal will be detected as soon as userspace is unfrozen, again at the moment it is safe to call del_gendisk. Tested with and without CONFIG_MMC_UNSAFE_RESUME with suspend and hibernate. [akpm@linux-foundation.org: clean up function prototype] [akpm@linux-foundation.org: fix CONFIG_PM-n linkage, small cleanups] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Cc: David Brownell <david-b@pacbell.net> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- drivers/mmc/core/core.c | 83 +++++++++++++++++++++++++++++++--------------- drivers/mmc/core/host.c | 4 +++ include/linux/mmc/host.h | 3 ++ 3 files changed, 64 insertions(+), 26 deletions(-) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 3168ebd..3e22f98 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1057,6 +1057,17 @@ void mmc_rescan(struct work_struct *work) container_of(work, struct mmc_host, detect.work); u32 ocr; int err; + unsigned long flags; + + spin_lock_irqsave(&host->lock, flags); + + if (host->rescan_disable) { + spin_unlock_irqrestore(&host->lock, flags); + return; + } + + spin_unlock_irqrestore(&host->lock, flags); + mmc_bus_get(host); @@ -1267,19 +1278,6 @@ int mmc_suspend_host(struct mmc_host *host, pm_message_t state) if (host->bus_ops && !host->bus_dead) { if (host->bus_ops->suspend) err = host->bus_ops->suspend(host); - if (err == -ENOSYS || !host->bus_ops->resume) { - /* - * We simply "remove" the card in this case. - * It will be redetected on resume. - */ - if (host->bus_ops->remove) - host->bus_ops->remove(host); - mmc_claim_host(host); - mmc_detach_bus(host); - mmc_release_host(host); - host->pm_flags = 0; - err = 0; - } } mmc_bus_put(host); @@ -1311,28 +1309,61 @@ int mmc_resume_host(struct mmc_host *host) printk(KERN_WARNING "%s: error %d during resume " "(card was removed?)\n", mmc_hostname(host), err); - if (host->bus_ops->remove) - host->bus_ops->remove(host); - mmc_claim_host(host); - mmc_detach_bus(host); - mmc_release_host(host); - /* no need to bother upper layers */ err = 0; } } mmc_bus_put(host); - /* - * We add a slight delay here so that resume can progress - * in parallel. - */ - mmc_detect_change(host, 1); - return err; } - EXPORT_SYMBOL(mmc_resume_host); +/* Do the card removal on suspend if card is assumed removeable + * Do that in pm notifier while userspace isn't yet frozen, so we will be able + to sync the card. +*/ +int mmc_pm_notify(struct notifier_block *notify_block, + unsigned long mode, void *unused) +{ + struct mmc_host *host = container_of( + notify_block, struct mmc_host, pm_notify); + unsigned long flags; + + + switch (mode) { + case PM_HIBERNATION_PREPARE: + case PM_SUSPEND_PREPARE: + + spin_lock_irqsave(&host->lock, flags); + host->rescan_disable = 1; + spin_unlock_irqrestore(&host->lock, flags); + cancel_delayed_work_sync(&host->detect); + + if (!host->bus_ops || host->bus_ops->suspend) + break; + + mmc_claim_host(host); + + if (host->bus_ops->remove) + host->bus_ops->remove(host); + + mmc_detach_bus(host); + mmc_release_host(host); + host->pm_flags = 0; + break; + + case PM_POST_SUSPEND: + case PM_POST_HIBERNATION: + + spin_lock_irqsave(&host->lock, flags); + host->rescan_disable = 0; + spin_unlock_irqrestore(&host->lock, flags); + mmc_detect_change(host, 0); + + } + + return 0; +} #endif static int __init mmc_init(void) diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index 4735390..0efe631 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c @@ -17,6 +17,7 @@ #include <linux/pagemap.h> #include <linux/leds.h> #include <linux/slab.h> +#include <linux/suspend.h> #include <linux/mmc/host.h> @@ -85,6 +86,7 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) init_waitqueue_head(&host->wq); INIT_DELAYED_WORK(&host->detect, mmc_rescan); INIT_DELAYED_WORK_DEFERRABLE(&host->disable, mmc_host_deeper_disable); + host->pm_notify.notifier_call = mmc_pm_notify; /* * By default, hosts do not support SGIO or large requests. @@ -133,6 +135,7 @@ int mmc_add_host(struct mmc_host *host) #endif mmc_start_host(host); + register_pm_notifier(&host->pm_notify); return 0; } @@ -149,6 +152,7 @@ EXPORT_SYMBOL(mmc_add_host); */ void mmc_remove_host(struct mmc_host *host) { + unregister_pm_notifier(&host->pm_notify); mmc_stop_host(host); #ifdef CONFIG_DEBUG_FS diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 43eaf5c..18d9eb3 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -121,6 +121,7 @@ struct mmc_host { unsigned int f_min; unsigned int f_max; u32 ocr_avail; + struct notifier_block pm_notify; #define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */ #define MMC_VDD_20_21 0x00000100 /* VDD voltage 2.0 ~ 2.1 */ @@ -180,6 +181,7 @@ struct mmc_host { /* Only used with MMC_CAP_DISABLE */ int enabled; /* host is enabled */ + int rescan_disable; /* disable card detection */ int nesting_cnt; /* "enable" nesting count */ int en_dis_recurs; /* detect recursion */ unsigned int disable_delay; /* disable delay in msecs */ @@ -254,6 +256,7 @@ int mmc_card_can_sleep(struct mmc_host *host); int mmc_host_enable(struct mmc_host *host); int mmc_host_disable(struct mmc_host *host); int mmc_host_lazy_disable(struct mmc_host *host); +int mmc_pm_notify(struct notifier_block *notify_block, unsigned long, void *); static inline void mmc_set_disable_delay(struct mmc_host *host, unsigned int disable_delay) -- 1.7.9.3
WARNING: multiple messages have this Message-ID (diff)
From: Paul Gortmaker <paul.gortmaker@windriver.com> To: stable@kernel.org, linux-kernel@vger.kernel.org Cc: stable-review@kernel.org, Maxim Levitsky <maximlevitsky@gmail.com>, David Brownell <david-b@pacbell.net>, Alan Stern <stern@rowland.harvard.edu>, linux-mmc@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>, Linus Torvalds <torvalds@linux-foundation.org>, Paul Gortmaker <paul.gortmaker@windriver.com> Subject: [34-longterm 146/196] mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resume Date: Mon, 12 Mar 2012 20:20:59 -0400 [thread overview] Message-ID: <1331598109-31424-101-git-send-email-paul.gortmaker@windriver.com> (raw) In-Reply-To: <1331598109-31424-1-git-send-email-paul.gortmaker@windriver.com> From: Maxim Levitsky <maximlevitsky@gmail.com> ------------------- This is a commit scheduled for the next v2.6.34 longterm release. If you see a problem with using this for longterm, please comment. ------------------- commit 4c2ef25fe0b847d2ae818f74758ddb0be1c27d8e upstream. If you don't use CONFIG_MMC_UNSAFE_RESUME, as soon as you attempt to suspend, the card will be removed, therefore this patch doesn't change the behavior of this option. However the removal will be done by pm notifier, which runs while userspace is still not frozen and thus can freely use del_gendisk, without the risk of deadlock which would happen otherwise. Card detect workqueue is now disabled while userspace is frozen, Therefore if you do use CONFIG_MMC_UNSAFE_RESUME, and remove the card during suspend, the removal will be detected as soon as userspace is unfrozen, again at the moment it is safe to call del_gendisk. Tested with and without CONFIG_MMC_UNSAFE_RESUME with suspend and hibernate. [akpm@linux-foundation.org: clean up function prototype] [akpm@linux-foundation.org: fix CONFIG_PM-n linkage, small cleanups] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Cc: David Brownell <david-b@pacbell.net> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- drivers/mmc/core/core.c | 83 +++++++++++++++++++++++++++++++--------------- drivers/mmc/core/host.c | 4 +++ include/linux/mmc/host.h | 3 ++ 3 files changed, 64 insertions(+), 26 deletions(-) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 3168ebd..3e22f98 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1057,6 +1057,17 @@ void mmc_rescan(struct work_struct *work) container_of(work, struct mmc_host, detect.work); u32 ocr; int err; + unsigned long flags; + + spin_lock_irqsave(&host->lock, flags); + + if (host->rescan_disable) { + spin_unlock_irqrestore(&host->lock, flags); + return; + } + + spin_unlock_irqrestore(&host->lock, flags); + mmc_bus_get(host); @@ -1267,19 +1278,6 @@ int mmc_suspend_host(struct mmc_host *host, pm_message_t state) if (host->bus_ops && !host->bus_dead) { if (host->bus_ops->suspend) err = host->bus_ops->suspend(host); - if (err == -ENOSYS || !host->bus_ops->resume) { - /* - * We simply "remove" the card in this case. - * It will be redetected on resume. - */ - if (host->bus_ops->remove) - host->bus_ops->remove(host); - mmc_claim_host(host); - mmc_detach_bus(host); - mmc_release_host(host); - host->pm_flags = 0; - err = 0; - } } mmc_bus_put(host); @@ -1311,28 +1309,61 @@ int mmc_resume_host(struct mmc_host *host) printk(KERN_WARNING "%s: error %d during resume " "(card was removed?)\n", mmc_hostname(host), err); - if (host->bus_ops->remove) - host->bus_ops->remove(host); - mmc_claim_host(host); - mmc_detach_bus(host); - mmc_release_host(host); - /* no need to bother upper layers */ err = 0; } } mmc_bus_put(host); - /* - * We add a slight delay here so that resume can progress - * in parallel. - */ - mmc_detect_change(host, 1); - return err; } - EXPORT_SYMBOL(mmc_resume_host); +/* Do the card removal on suspend if card is assumed removeable + * Do that in pm notifier while userspace isn't yet frozen, so we will be able + to sync the card. +*/ +int mmc_pm_notify(struct notifier_block *notify_block, + unsigned long mode, void *unused) +{ + struct mmc_host *host = container_of( + notify_block, struct mmc_host, pm_notify); + unsigned long flags; + + + switch (mode) { + case PM_HIBERNATION_PREPARE: + case PM_SUSPEND_PREPARE: + + spin_lock_irqsave(&host->lock, flags); + host->rescan_disable = 1; + spin_unlock_irqrestore(&host->lock, flags); + cancel_delayed_work_sync(&host->detect); + + if (!host->bus_ops || host->bus_ops->suspend) + break; + + mmc_claim_host(host); + + if (host->bus_ops->remove) + host->bus_ops->remove(host); + + mmc_detach_bus(host); + mmc_release_host(host); + host->pm_flags = 0; + break; + + case PM_POST_SUSPEND: + case PM_POST_HIBERNATION: + + spin_lock_irqsave(&host->lock, flags); + host->rescan_disable = 0; + spin_unlock_irqrestore(&host->lock, flags); + mmc_detect_change(host, 0); + + } + + return 0; +} #endif static int __init mmc_init(void) diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c index 4735390..0efe631 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c @@ -17,6 +17,7 @@ #include <linux/pagemap.h> #include <linux/leds.h> #include <linux/slab.h> +#include <linux/suspend.h> #include <linux/mmc/host.h> @@ -85,6 +86,7 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) init_waitqueue_head(&host->wq); INIT_DELAYED_WORK(&host->detect, mmc_rescan); INIT_DELAYED_WORK_DEFERRABLE(&host->disable, mmc_host_deeper_disable); + host->pm_notify.notifier_call = mmc_pm_notify; /* * By default, hosts do not support SGIO or large requests. @@ -133,6 +135,7 @@ int mmc_add_host(struct mmc_host *host) #endif mmc_start_host(host); + register_pm_notifier(&host->pm_notify); return 0; } @@ -149,6 +152,7 @@ EXPORT_SYMBOL(mmc_add_host); */ void mmc_remove_host(struct mmc_host *host) { + unregister_pm_notifier(&host->pm_notify); mmc_stop_host(host); #ifdef CONFIG_DEBUG_FS diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 43eaf5c..18d9eb3 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -121,6 +121,7 @@ struct mmc_host { unsigned int f_min; unsigned int f_max; u32 ocr_avail; + struct notifier_block pm_notify; #define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */ #define MMC_VDD_20_21 0x00000100 /* VDD voltage 2.0 ~ 2.1 */ @@ -180,6 +181,7 @@ struct mmc_host { /* Only used with MMC_CAP_DISABLE */ int enabled; /* host is enabled */ + int rescan_disable; /* disable card detection */ int nesting_cnt; /* "enable" nesting count */ int en_dis_recurs; /* detect recursion */ unsigned int disable_delay; /* disable delay in msecs */ @@ -254,6 +256,7 @@ int mmc_card_can_sleep(struct mmc_host *host); int mmc_host_enable(struct mmc_host *host); int mmc_host_disable(struct mmc_host *host); int mmc_host_lazy_disable(struct mmc_host *host); +int mmc_pm_notify(struct notifier_block *notify_block, unsigned long, void *); static inline void mmc_set_disable_delay(struct mmc_host *host, unsigned int disable_delay) -- 1.7.9.3
next prev parent reply other threads:[~2012-03-13 0:24 UTC|newest] Thread overview: 209+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-03-13 0:12 [34-longterm 000/196] v2.6.34.11 longterm review Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 001/196] xen: set max_pfn_mapped to the last pfn mapped Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 002/196] PCI hotplug: acpiphp: set current_state to D0 in register_slot Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 003/196] shmem: let shared anonymous be nonlinear again Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 004/196] aio: wake all waiters when destroying ctx Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 005/196] ALSA: hda - Fix SPDIF out regression on ALC889 Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 006/196] ALSA: Fix yet another race in disconnection Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 007/196] perf: Better fit max unprivileged mlock pages for tools needs Paul Gortmaker 2012-03-13 10:51 ` Stephane Eranian 2012-03-13 0:12 ` [34-longterm 008/196] myri10ge: fix rmmod crash Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 009/196] cciss: fix lost command issue Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 010/196] sound/oss/opl3: validate voice and channel indexes Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 011/196] mac80211: initialize sta->last_rx in sta_info_alloc Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 012/196] ses: show devices for enclosures with no page 7 Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 013/196] ses: Avoid kernel panic when lun 0 is not mapped Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 014/196] eCryptfs: Unlock page in write_begin error path Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 015/196] eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 016/196] staging: usbip: bugfixes related to kthread conversion Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 017/196] staging: usbip: bugfix add number of packets for isochronous frames Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 018/196] staging: usbip: bugfix for isochronous packets and optimization Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 019/196] staging: hv: Fix GARP not sent after Quick Migration Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 020/196] staging: hv: use sync_bitops when interacting with the hypervisor Paul Gortmaker 2012-03-13 7:00 ` Olaf Hering 2012-03-13 13:32 ` Paul Gortmaker 2012-03-13 13:47 ` Olaf Hering 2012-03-13 0:12 ` [34-longterm 021/196] irda: validate peer name and attribute lengths Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 022/196] irda: prevent heap corruption on invalid nickname Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 023/196] nilfs2: fix data loss in mmap page write for hole blocks Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 024/196] ASoC: Explicitly say registerless widgets have no register Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 025/196] ALSA: ens1371: fix Creative Ectiva support Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 026/196] ROSE: prevent heap corruption with bad facilities Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 027/196] Btrfs: Fix uninitialized root flags for subvolumes Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 028/196] x86, mtrr, pat: Fix one cpu getting out of sync during resume Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 029/196] ath9k: fix a chip wakeup related crash in ath9k_start Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 030/196] UBIFS: do not read flash unnecessarily Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 031/196] UBIFS: fix oops on error path in read_pnode Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 032/196] UBIFS: fix debugging failure in dbg_check_space_info Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 033/196] quota: Don't write quota info in dquot_commit() Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 034/196] mm: avoid wrapping vm_pgoff in mremap() Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 035/196] p54usb: IDs for two new devices Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 036/196] b43: allocate receive buffers big enough for max frame len + offset Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 037/196] Bluetooth: add support for Apple MacBook Pro 8,2 Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 038/196] Treat writes as new when holes span across page boundaries Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 039/196] char/tpm: Fix unitialized usage of data buffer Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 040/196] netfilter: ipt_CLUSTERIP: fix buffer overflow Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 041/196] mfd: ab3100: world-writable debugfs *_priv files Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 042/196] drivers/rtc/rtc-ds1511.c: world-writable sysfs nvram file Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 043/196] drivers/misc/ep93xx_pwm.c: world-writable sysfs files Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 044/196] sound/oss: remove offset from load_patch callbacks Paul Gortmaker 2012-03-13 0:12 ` [34-longterm 045/196] sound: oss: midi_synth: check get_user() return value Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 046/196] repair gdbstub to match the gdbserial protocol specification Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 047/196] gro: Reset dev pointer on reuse Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 048/196] gro: reset skb_iif " Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 049/196] x86, microcode, AMD: Extend ucode size verification Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 050/196] Squashfs: handle corruption of directory structure Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 051/196] atm/solos-pci: Don't include frame pseudo-header on transmit hex-dump Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 052/196] ext4: fix credits computing for indirect mapped files Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 053/196] nfsd: fix auth_domain reference leak on nlm operations Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 054/196] exec: copy-and-paste the fixes into compat_do_execve() paths Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 055/196] cifs: always do is_path_accessible check in cifs_mount Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 056/196] video: sn9c102: world-wirtable sysfs files Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 057/196] UBIFS: restrict world-writable debugfs files Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 058/196] NET: cdc-phonet, handle empty phonet header Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 059/196] x86: Fix a bogus unwind annotation in lib/semaphore_32.S Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 060/196] tioca: Fix assignment from incompatible pointer warnings Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 061/196] mca.c: Fix cast from integer to pointer warning Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 062/196] ramfs: fix memleak on no-mmu arch Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 063/196] MAINTAINERS: update STABLE BRANCH info Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 064/196] UBIFS: fix oops when R/O file-system is fsync'ed Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 065/196] x86, cpu: AMD errata checking framework Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 066/196] x86, cpu: Clean up AMD erratum 400 workaround Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 067/196] x86, AMD: Set ARAT feature on AMD processors Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 068/196] x86, amd: Disable GartTlbWlkErr when BIOS forgets it Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 069/196] USB: ftdi_sio: Added IDs for CTI USB Serial Devices Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 070/196] USB: ftdi_sio: add PID for OCT DK201 docking station Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 071/196] USB: ftdi_sio: add ids for Hameg HO720 and HO730 Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 072/196] USB: option: Add new ONDA vendor id and product id for ONDA MT825UP Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 073/196] USB: option: Added support for Samsung GT-B3730/GT-B3710 LTE USB modem Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 074/196] USB: EHCI: unlink unused QHs when the controller is stopped Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 075/196] USB: fix formatting of SuperSpeed endpoints in /proc/bus/usb/devices Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 076/196] USB: xhci - fix unsafe macro definitions Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 077/196] USB: xhci - fix math in xhci_get_endpoint_interval() Paul Gortmaker 2012-03-13 16:20 ` Sarah Sharp 2012-03-13 16:54 ` Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 078/196] x86, cpu: Fix regression in AMD errata checking code Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 079/196] net: ax25: fix information leak to userland harder Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 080/196] next_pidmap: fix overflow condition Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 081/196] proc: do proper range check on readdir offset Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 082/196] can: Add missing socket check in can/bcm release Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 083/196] can: add missing socket check in can/raw release Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 084/196] nfs4: Ensure that ACL pages sent over NFS were not allocated from the slab (v3) Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 085/196] ath: add missing regdomain pair 0x5c mapping Paul Gortmaker 2012-03-13 0:19 ` [34-longterm 086/196] block, blk-sysfs: Fix an err return path in blk_register_queue() Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 087/196] p54: Initialize extra_len in p54_tx_80211 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 088/196] intel-iommu: Unlink domain from iommu Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 089/196] intel-iommu: Fix get_domain_for_dev() error path Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 090/196] drm/radeon/kms: fix bad shift in atom iio table parser Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 091/196] NFS: nfs_wcc_update_inode() should set nfsi->attr_gencount Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 092/196] serial/imx: read cts state only after acking cts change irq Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 093/196] ASoC: Fix output PGA enabling in wm_hubs CODECs Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 094/196] kconfig: Avoid buffer underrun in choice input Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 095/196] UBIFS: fix master node recovery Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 096/196] Remove extra struct page member from the buffer info structure Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 097/196] dasd: correct device table Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 098/196] iwlagn: Support new 5000 microcode Paul Gortmaker 2012-03-13 16:24 ` Bjørn Mork 2012-03-13 16:56 ` Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 099/196] slub: fix panic with DISCONTIGMEM Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 100/196] set memory ranges in N_NORMAL_MEMORY when onlined Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 101/196] FLEXCOP-PCI: fix __xlate_proc_name-warning for flexcop-pci Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 102/196] m68k/mm: Set all online nodes in N_NORMAL_MEMORY Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 103/196] nfs: don't lose MS_SYNCHRONOUS on remount of noac mount Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 104/196] NFSv4.1: Ensure state manager thread dies on last umount Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 105/196] pmcraid: reject negative request size Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 106/196] put stricter guards on queue dead checks Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 107/196] mmc: sdhci-pci: Fix error case in sdhci_pci_probe_slot() Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 108/196] mmc: sdhci: Check mrq->cmd in sdhci_tasklet_finish Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 109/196] mmc: sdhci: Check mrq != NULL " Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 110/196] af_unix: Only allow recv on connected seqpacket sockets Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 111/196] ARM: 6891/1: prevent heap corruption in OABI semtimedop Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 112/196] i8k: Tell gcc that *regs gets clobbered Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 113/196] Fix gcc 4.5.1 miscompiling drivers/char/i8k.c (again) Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 114/196] Open with O_CREAT flag set fails to open existing files on non writable directories Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 115/196] Input: elantech - relax signature checks Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 116/196] Input: elantech - discard the first 2 positions on some firmwares Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 117/196] Staging: rtl8192su: check for skb == NULL Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 118/196] Staging: rtl8192su: Clean up in case of an error in module initialisation Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 119/196] Staging: rtl8192su: Fix procfs code for interfaces not named wlan0 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 120/196] Staging: rtl8192su: remove device ids Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 121/196] Staging: rtl8192su: add " Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 122/196] USB: teach "devices" file about Wireless and SuperSpeed USB Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 123/196] GFS2: Fix writing to non-page aligned gfs2_quota structures Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 124/196] GFS2: BUG in gfs2_adjust_quota Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 125/196] SUNRPC: fix NFS client over TCP hangs due to packet loss (Bug 16494) Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 126/196] nfs: fix compilation warning Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 127/196] Fix corrupted OSF partition table parsing Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 128/196] Increase OSF partition limit from 8 to 18 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 129/196] hwmon: (applesmc) Add support for MacBook Pro 5,3 and 5,4 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 130/196] hwmon: (applesmc) Add generic support for MacBook Pro 6 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 131/196] hwmon: (applesmc) Add generic support for MacBook Pro 7 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 132/196] hwmon: (applesmc) Add MacBookAir3,1(3,2) support Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 133/196] ALSA: emux: Add trivial compat ioctl handler Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 134/196] ALSA: powermac - Reverse HP detection on G4 DA Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 135/196] ALSA: powermac - Lineout " Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 136/196] ALSA: powermac - Fix obsoleted machine_is_compatible() Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 137/196] ALSA: hda - MacBookPro 5,3 line-in support Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 138/196] ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 139/196] ALSA: hda - MacBookAir3,1(3,2) alsa support Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 140/196] virtio_net: Add schedule check to napi_enable call Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 141/196] Bluetooth: Add support Bluetooth controller of MacbookPro 6,2 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 142/196] Bluetooth: Add support Bluetooth controller of MacbookPro 7,1 Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 143/196] Bluetooth: Add MacBookAir3,1(2) support Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 144/196] perf symbols: allow forcing use of cplus_demangle Paul Gortmaker 2012-03-13 0:20 ` [34-longterm 145/196] V4L/DVB: Add Elgato EyeTV Diversity to dibcom driver Paul Gortmaker 2012-03-13 0:20 ` Paul Gortmaker [this message] 2012-03-13 0:20 ` [34-longterm 146/196] mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resume Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 147/196] mmc: build fix: mmc_pm_notify is only available with CONFIG_PM=y Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 148/196] b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 149/196] dell-laptop: Add another Dell laptop family to the DMI whitelist Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 150/196] scsi_dh_emc: request flag cleanup Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 151/196] cifs: fix another memleak, in cifs_root_iget Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 152/196] e1000e: Reset 82577/82578 PHY before first PHY register read Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 153/196] e1000: fix Tx hangs by disabling 64-bit DMA Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 154/196] btrfs: Require CAP_SYS_ADMIN for filesystem rebalance Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 155/196] init, sched: Fix race between init and kthreadd Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 156/196] backlight: MacBookAir3,1(3,2) mbp-nvidia-bl support Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 157/196] bonding: Ensure that we unshare skbs prior to calling pskb_may_pull Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 158/196] HID: add MacBookAir 3,1 and 3,2 support Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 159/196] intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 160/196] ipv6: Silence privacy extensions initialization Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 161/196] mpt2sas: fix the incorrect scsi_dma_map error checking Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 162/196] powerpc/boot/dts: Install dts from the right directory Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 163/196] rt2500usb: fallback to SW encryption for TKIP+AES Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 164/196] tehuti: Firmware filename is tehuti/bdx.bin Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 165/196] wireless: b43: fix error path in SDIO Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 166/196] libata: set queue DMA alignment to sector size for ATAPI too Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 167/196] iwlwifi: fix skb usage after free Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 168/196] x86: pvclock: Move scale_delta into common header Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 169/196] fix oops in scsi_run_queue() Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 170/196] dccp: handle invalid feature options length Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 171/196] cifs: check for bytes_remaining going to zero in CIFS_SessSetup Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 172/196] Validate size of EFI GUID partition entries Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 173/196] CIFS: Fix memory over bound bug in cifs_parse_mount_options Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 174/196] ehea: fix wrongly reported speed and port Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 175/196] NET: slip, fix ldisc->open retval Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 176/196] ne-h8300: Fix regression caused during net_device_ops conversion Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 177/196] hydra: " Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 178/196] libertas: fix cmdpendingq locking Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 179/196] zorro8390: Fix regression caused during net_device_ops conversion Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 180/196] cifs: add fallback in is_path_accessible for old servers Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 181/196] x86, AMD: Fix ARAT feature setting again Paul Gortmaker 2012-03-13 13:55 ` Boris Ostrovsky 2012-03-13 18:42 ` Paul Gortmaker 2012-03-14 14:06 ` Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 182/196] clocksource: Install completely before selecting Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 183/196] tick: Clear broadcast active bit when switching to oneshot Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 184/196] x86, apic: Fix spurious error interrupts triggering on all non-boot APs Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 185/196] x86, mce, AMD: Fix leaving freed data in a list Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 186/196] megaraid_sas: Sanity check user supplied length before passing it to dma_alloc_coherent() Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 187/196] vmxnet3: Fix inconsistent LRO state after initialization Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 188/196] taskstats: don't allow duplicate entries in listener mode Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 189/196] inet_diag: fix inet_diag_bc_audit() Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 190/196] gro: Only reset frag0 when skb can be pulled Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 191/196] ipv6: udp: fix the wrong headroom check Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 192/196] rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 193/196] fs/partitions/efi.c: corrupted GUID partition tables can cause kernel oops Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 194/196] Bluetooth: Prevent buffer overflow in l2cap config request Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 195/196] befs: Validate length of long symbolic links Paul Gortmaker 2012-03-13 0:21 ` [34-longterm 196/196] net: sk_add_backlog() take rmem_alloc into account Paul Gortmaker
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=1331598109-31424-101-git-send-email-paul.gortmaker@windriver.com \ --to=paul.gortmaker@windriver.com \ --cc=akpm@linux-foundation.org \ --cc=david-b@pacbell.net \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=maximlevitsky@gmail.com \ --cc=stable-review@kernel.org \ --cc=stable@kernel.org \ --cc=stern@rowland.harvard.edu \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.