commit a0c49b6b6729723f32208acb59946d29c72539c6 Merge: d55140c a85fe3f Author: Linus Torvalds Date: Wed Aug 10 12:36:45 2011 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Really fix build without CONFIG_PCI powerpc: Fix build without CONFIG_PCI powerpc/4xx: Fix build of PCI code on 405 powerpc/pseries: Simplify vpa deregistration functions powerpc/pseries: Cleanup VPA registration and deregistration errors powerpc/pseries: Fix kexec on recent firmware versions MAINTAINERS: change maintainership of mpc5xxx powerpc: Make KVM_GUEST default to n powerpc/kvm: Fix build errors with older toolchains powerpc: Lack of ibm,io-events not that important! powerpc: Move kdump default base address to half RMO size on 64bit powerpc/perf: Disable pagefaults during callchain stack read ppc: Remove duplicate definition of PV_POWER7 powerpc: pseries: Fix kexec on machines with more than 4TB of RAM powerpc: Jump label misalignment causes oops at boot powerpc: Clean up some panic messages in prom_init powerpc: Fix device tree claim code powerpc: Return the_cpu_ spec from identify_cpu powerpc: mtspr/mtmsr should take an unsigned long commit d55140ce3a7b36241171bd78c75a5ee85de20439 Merge: af9d220 7643554 Author: Linus Torvalds Date: Wed Aug 10 11:08:06 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6: Ecryptfs: Add mount option to check uid of device being mounted = expect uid eCryptfs: Fix payload_len unitialized variable warning eCryptfs: fix compile error eCryptfs: Return error when lower file pointer is NULL commit af9d220bac41dc3201893e1601cc7c44f7da4498 Author: Borislav Petkov Date: Wed Aug 10 14:43:30 2011 +0200 EDAC: Correct Kconfig dependencies Both AMD and Intel i7 EDAC drivers use MCE features and are thus dependent of this functionality present in the kernel. Express this in Kconfig so that randconfig builds don't break. Reported-by: Randy Dunlap Signed-off-by: Borislav Petkov Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit a85fe3fce84335f83be17a7659bfbb3a71dc2fc4 Author: Benjamin Herrenschmidt Date: Thu Aug 11 01:15:44 2011 +1000 powerpc: Really fix build without CONFIG_PCI Brown paper bag day, previous commit wouldn't work very well with modules enabled. Move the exports into the ifdef. Signed-off-by: Benjamin Herrenschmidt commit 764355487ea220fdc2faf128d577d7f679b91f97 Author: John Johansen Date: Fri Jul 22 08:14:15 2011 -0700 Ecryptfs: Add mount option to check uid of device being mounted = expect uid Close a TOCTOU race for mounts done via ecryptfs-mount-private. The mount source (device) can be raced when the ownership test is done in userspace. Provide Ecryptfs a means to force the uid check at mount time. Signed-off-by: John Johansen Cc: Signed-off-by: Tyler Hicks commit f2c0d0266cc5eb36a4aa44944b4096ec121490aa Author: Jonathan Nieder Date: Mon Aug 8 06:22:43 2011 +0200 cap_syslog: don't use WARN_ONCE for CAP_SYS_ADMIN deprecation warning syslog-ng versions before 3.3.0beta1 (2011-05-12) assume that CAP_SYS_ADMIN is sufficient to access syslog, so ever since CAP_SYSLOG was introduced (2010-11-25) they have triggered a warning. Commit ee24aebffb75 ("cap_syslog: accept CAP_SYS_ADMIN for now") improved matters a little by making syslog-ng work again, just keeping the WARN_ONCE(). But still, this is a warning that writes a stack trace we don't care about to syslog, sets a taint flag, and alarms sysadmins when nothing worse has happened than use of an old userspace with a recent kernel. Convert the WARN_ONCE to a printk_once to avoid that while continuing to give userspace developers a hint that this is an unwanted backward-compatibility feature and won't be around forever. Reported-by: Ralf Hildebrandt Reported-by: Niels Reported-by: Paweł Sikora Signed-off-by: Jonathan Nieder Liked-by: Gergely Nagy Acked-by: Serge Hallyn Acked-by: James Morris Signed-off-by: Linus Torvalds commit 9f50fad65b87a8776ae989ca059ad6c17925dfc3 Author: Michal Hocko Date: Tue Aug 9 11:56:26 2011 +0200 Revert "memcg: get rid of percpu_charge_mutex lock" This reverts commit 8521fc50d433507a7cdc96bec280f9e5888a54cc. The patch incorrectly assumes that using atomic FLUSHING_CACHED_CHARGE bit operations is sufficient but that is not true. Johannes Weiner has reported a crash during parallel memory cgroup removal: BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 IP: [] css_is_ancestor+0x20/0x70 Oops: 0000 [#1] PREEMPT SMP Pid: 19677, comm: rmdir Tainted: G W 3.0.0-mm1-00188-gf38d32b #35 ECS MCP61M-M3/MCP61M-M3 RIP: 0010:[] css_is_ancestor+0x20/0x70 RSP: 0018:ffff880077b09c88 EFLAGS: 00010202 Process rmdir (pid: 19677, threadinfo ffff880077b08000, task ffff8800781bb310) Call Trace: [] mem_cgroup_same_or_subtree+0x33/0x40 [] drain_all_stock+0x11f/0x170 [] mem_cgroup_force_empty+0x231/0x6d0 [] mem_cgroup_pre_destroy+0x14/0x20 [] cgroup_rmdir+0xb9/0x500 [] vfs_rmdir+0x86/0xe0 [] do_rmdir+0xfb/0x110 [] sys_rmdir+0x16/0x20 [] system_call_fastpath+0x16/0x1b We are crashing because we try to dereference cached memcg when we are checking whether we should wait for draining on the cache. The cache is already cleaned up, though. There is also a theoretical chance that the cached memcg gets freed between we test for the FLUSHING_CACHED_CHARGE and dereference it in mem_cgroup_same_or_subtree: CPU0 CPU1 CPU2 mem=stock->cached stock->cached=NULL clear_bit test_and_set_bit test_bit() ... mem_cgroup_destroy use after free The percpu_charge_mutex protected from this race because sync draining is exclusive. It is safer to revert now and come up with a more parallel implementation later. Signed-off-by: Michal Hocko Reported-by: Johannes Weiner Acked-by: Johannes Weiner Acked-by: KAMEZAWA Hiroyuki Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 47e180d6523081605c970f806572beab8a205537 Merge: e6a99d3 8110718 Author: Linus Torvalds Date: Tue Aug 9 12:51:25 2011 -0700 Merge branch 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: Fix partial count comparison confusion commit 99b373ff2d1246f64b97a3d449a2fd6018d504e6 Author: Tyler Hicks Date: Fri Aug 5 04:15:19 2011 -0500 eCryptfs: Fix payload_len unitialized variable warning fs/ecryptfs/keystore.c: In function ‘ecryptfs_generate_key_packet_set’: fs/ecryptfs/keystore.c:1991:28: warning: ‘payload_len’ may be used uninitialized in this function [-Wuninitialized] fs/ecryptfs/keystore.c:1976:9: note: ‘payload_len’ was declared here Signed-off-by: Tyler Hicks commit 4b6fee17b1758391281ddf5b00328035573f8be1 Author: Roberto Sassu Date: Mon Aug 1 13:33:38 2011 +0200 eCryptfs: fix compile error This patch fixes the compile error reported at the address: https://bugzilla.kernel.org/show_bug.cgi?id=40292 The problem arises when compiling eCryptfs as built-in and the 'encrypted' key type as a module. The patch prevents this combination from being set in the kernel configuration, by fixing the eCryptfs dependencies. Signed-off-by: Roberto Sassu Reported-by: David Hill Signed-off-by: Tyler Hicks commit f61500e000eedc0c7a0201200a7f00ba5529c002 Author: Tyler Hicks Date: Thu Aug 4 22:58:51 2011 -0500 eCryptfs: Return error when lower file pointer is NULL When an eCryptfs inode's lower file has been closed, and the pointer has been set to NULL, return an error when trying to do a lower read or write rather than calling BUG(). https://bugzilla.kernel.org/show_bug.cgi?id=37292 Signed-off-by: Tyler Hicks Cc: commit 81107188f123e3c2217ac2f2feb2a1147904c62f Author: Christoph Lameter Date: Tue Aug 9 13:01:32 2011 -0500 slub: Fix partial count comparison confusion deactivate_slab() has the comparison if more than the minimum number of partial pages are in the partial list wrong. An effect of this may be that empty pages are not freed from deactivate_slab(). The result could be an OOM due to growth of the partial slabs per node. Frees mostly occur from __slab_free which is okay so this would only affect use cases where a lot of switching around of per cpu slabs occur. Switching per cpu slabs occurs with high frequency if debugging options are enabled. Reported-and-tested-by: Xiaotian Feng Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit e6a99d312687a42c077a9b8cb5e757f186edb1b9 Merge: 6bb615b ef62fb3 Author: Linus Torvalds Date: Tue Aug 9 08:42:16 2011 -0700 Merge branch 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: fix check_bytes() for slub debugging slub: Fix full list corruption if debugging is on commit 6bb615bc396512992f77495180cda29f0f9791b5 Merge: ab04fc5 60b1ae0 Author: Linus Torvalds Date: Tue Aug 9 08:41:36 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: pss - don't use the deprecated function check_region ALSA: timer - Add NULL-check for invalid slave timer ALSA: timer - Fix Oops at closing slave timer ASoC: Acknowledge WM8996 interrupts before acting on them ASoC: Rename WM8915 to WM8996 ALSA: Fix dependency of CONFIG_SND_TEA575X ALSA: asihpi - use kzalloc() ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3 ALSA: snd-usb: Fix uninitialized variable usage ALSA: hda - Fix a complile warning in patch_via.c ALSA: hdspm - Fix uninitialized compile warnings ALSA: usb-audio - add quirk for Keith McMillen StringPort ALSA: snd-usb: operate on given mixer interface only ALSA: snd-usb: avoid dividing by zero on invalid input ALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength > 6 sound: oss/pas2: Remove CLOCK_TICK_RATE dependency from PAS16 driver ALSA: hda - Use auto-parser for ASUS UX50, Eee PC P901, S101 and P1005 ALSA: hda - Fix digital-mic mono recording on ASUS Eee PC ASoC: sgtl5000: fix cache handling ASoC: Disable wm_hubs periodic DC servo update commit ab04fc5890381e7dc907e809d27bf0f683de6e82 Author: Alan Cox Date: Tue Aug 9 14:30:37 2011 +0100 gma500: Fix clashes with DRM updates The private object support has migrated from gma500 into the DRM core, remove our now clashing copy. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ef62fb32b7b21731e41aea3c1e08bcdb407c9eb9 Author: Akinobu Mita Date: Sun Aug 7 18:30:38 2011 +0900 slub: fix check_bytes() for slub debugging The check_bytes() function is used by slub debugging. It returns a pointer to the first unmatching byte for a character in the given memory area. If the character for matching byte is greater than 0x80, check_bytes() doesn't work. Becuase 64-bit pattern is generated as below. value64 = value | value << 8 | value << 16 | value << 24; value64 = value64 | value64 << 32; The integer promotions are performed and sign-extended as the type of value is u8. The upper 32 bits of value64 is 0xffffffff in the first line, and the second line has no effect. This fixes the 64-bit pattern generation. Signed-off-by: Akinobu Mita Cc: Christoph Lameter Cc: Matt Mackall Reviewed-by: Marcin Slusarz Acked-by: Eric Dumazet Signed-off-by: Pekka Enberg commit 6fbabb20faed9c08f8b96de4182bd721cbd1cfcf Author: Christoph Lameter Date: Mon Aug 8 11:16:56 2011 -0500 slub: Fix full list corruption if debugging is on When a slab is freed by __slab_free() and the slab can only contain a single object ever then it was full (and therefore not on the partial lists but on the full list in the debug case) before we reached slab_empty. This caused the following full list corruption when SLUB debugging was enabled: [ 5913.233035] ------------[ cut here ]------------ [ 5913.233097] WARNING: at lib/list_debug.c:53 __list_del_entry+0x8d/0x98() [ 5913.233101] Hardware name: Adamo 13 [ 5913.233105] list_del corruption. prev->next should be ffffea000434fd20, but was ffffea0004199520 [ 5913.233108] Modules linked in: nfs fscache fuse ebtable_nat ebtables ppdev parport_pc lp parport ipt_MASQUERADE iptable_nat nf_nat nfsd lockd nfs_acl auth_rpcgss xt_CHECKSUM sunrpc iptable_mangle bridge stp llc cpufreq_ondemand acpi_cpufreq freq_table mperf ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables rfcomm bnep arc4 iwlagn snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel btusb mac80211 snd_hda_codec bluetooth snd_hwdep snd_seq snd_seq_device snd_pcm usb_debug dell_wmi sparse_keymap cdc_ether usbnet cdc_acm uvcvideo cdc_wdm mii cfg80211 snd_timer dell_laptop videodev dcdbas snd microcode v4l2_compat_ioctl32 soundcore joydev tg3 pcspkr snd_page_alloc iTCO_wdt i2c_i801 rfkill iTCO_vendor_support wmi virtio_net kvm_intel kvm ipv6 xts gf128mul dm_crypt i915 drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: scsi_wait_scan] [ 5913.233213] Pid: 0, comm: swapper Not tainted 3.0.0+ #127 [ 5913.233213] Call Trace: [ 5913.233213] [] warn_slowpath_common+0x83/0x9b [ 5913.233213] [] warn_slowpath_fmt+0x46/0x48 [ 5913.233213] [] __list_del_entry+0x8d/0x98 [ 5913.233213] [] list_del+0xe/0x2d [ 5913.233213] [] __slab_free+0x1db/0x235 [ 5913.233213] [] ? bvec_free_bs+0x35/0x37 [ 5913.233213] [] ? bvec_free_bs+0x35/0x37 [ 5913.233213] [] ? bvec_free_bs+0x35/0x37 [ 5913.233213] [] kmem_cache_free+0x88/0x102 [ 5913.233213] [] bvec_free_bs+0x35/0x37 [ 5913.233213] [] bio_free+0x34/0x64 [ 5913.233213] [] dm_bio_destructor+0x12/0x14 [ 5913.233213] [] bio_put+0x2b/0x2d [ 5913.233213] [] clone_endio+0x9e/0xb4 [ 5913.233213] [] bio_endio+0x2d/0x2f [ 5913.233213] [] crypt_dec_pending+0x5c/0x8b [dm_crypt] [ 5913.233213] [] crypt_endio+0x78/0x81 [dm_crypt] [ Full discussion here: https://lkml.org/lkml/2011/8/4/375 ] Make sure that we remove such a slab also from the full lists. Reported-and-tested-by: Dave Jones Reported-and-tested-by: Xiaotian Feng Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 87302700402b2708c49f89970c295465cc8e5523 Merge: 5c723ba 4d81897 Author: Linus Torvalds Date: Mon Aug 8 12:14:51 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: TOMOYO: Fix incomplete read of /sys/kernel/security/tomoyo/profile commit 5c723ba5b7886909b2e430f2eae454c33f7fe5c6 Author: Peter Zijlstra Date: Wed Jul 27 12:17:11 2011 +0200 mm: Fix fixup_user_fault() for MMU=n In commit 2efaca927f5c ("mm/futex: fix futex writes on archs with SW tracking of dirty & young") we forgot about MMU=n. This patch fixes that. Signed-off-by: Peter Zijlstra Acked-by: Benjamin Herrenschmidt Acked-by: David Howells Link: http://lkml.kernel.org/r/1311761831.24752.413.camel@twins Signed-off-by: Linus Torvalds commit 2f84dd70916ccadd25e94d28363182a978f569b6 Author: Linus Torvalds Date: Mon Aug 8 11:55:20 2011 -0700 autofs4: fix debug printk warning uncovered by cleanup The previous comit made the autofs4 debug printouts check types against the printout format, and uncovered this bug: fs/autofs4/waitq.c:106:2: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 4 has type ‘autofs_wqt_t’ which is due to the insane type for wait_queue_token. That thing should be some fixed well-defined size (preferably just 'unsigned int' or 'u32') but for unexplained reasons it is randomly either 'unsigned long' or 'unsigned int' depending on the architecture. For now, cast it to 'unsigned long' for printing, the way we do elsewhere. Somebody else can try to explain the typedef mess. (There's a reason we don't support excessive use of typedefs in the kernel: it's usually just a good way of confusing yourself). Signed-off-by: Linus Torvalds commit c3ad996246dc5fd6e3df473c5fc1ba6d53e1d402 Author: Linus Torvalds Date: Mon Aug 8 11:35:17 2011 -0700 autofs4: clean up uaotfs use of debug/info/warning printouts Use 'pr_debug()' for DPRINTK, which will do the proper type checking on the arguments (without generating code) even when DEBUG isn't #defined. Also, use the standard __VA_ARGS__ for the macros, and stop the pointless abuse of 'do { xyz } while (0)' when the macro is already a perfectly well-formed single statement. Reported-by: David Howells Suggested-by: Joe Perches Cc: Ian Kent Signed-off-by: Linus Torvalds commit 638a8439096c582bdb523fcea9d875d3e1fed38a Author: Linus Torvalds Date: Mon Aug 8 11:33:23 2011 -0700 cred: use 'const' in get_current_{user,groups} Avoid annoying warnings from these functions ("discards qualifiers") because they assign 'current_cred()' to a non-const pointer. Signed-off-by: Linus Torvalds commit 27e4e4362756a78b15e83ef104c8bbe257f40f90 Author: David Howells Date: Mon Aug 8 15:54:53 2011 +0100 CRED: Restore const to current_cred() Commit 3295514841c2 ("fix rcu annotations noise in cred.h") accidentally dropped the const of current->cred inside current_cred() by the insertion of a cast to deal with an RCU annotation loss warning from sparce. Use an appropriate RCU wrapper instead so as not to lose the const. Signed-off-by: David Howells Reviewed-by: Paul E. McKenney cc: Al Viro Signed-off-by: Linus Torvalds commit 60b1ae0cd469825e4db0837f5f19c3a8084300c3 Merge: 0a2d31b 8c28564 Author: Takashi Iwai Date: Mon Aug 8 14:30:44 2011 +0200 Merge branch 'fix/asoc' into for-linus commit 0a2d31b62dba9b5b92a38c67c9cc42630513662a Merge: 8039290 df944f6 Author: Takashi Iwai Date: Mon Aug 8 14:30:29 2011 +0200 Merge branch 'fix/kconfig' into for-linus commit 8039290a91c5dc4414093c086987a5d7738fe2fd Author: Wang Shaoyan Date: Mon Aug 8 19:10:26 2011 +0800 sound: pss - don't use the deprecated function check_region sound/oss/pss.c: In function 'configure_nonsound_components': sound/oss/pss.c:676: warning: 'check_region' is deprecated (declared at include/linux/ioport.h:201) Signed-off-by: Wang Shaoyan Signed-off-by: Takashi Iwai commit 94094c8aaeded11f8b99734b9ebdaada20b5f24a Author: Takashi Iwai Date: Mon Aug 8 12:28:22 2011 +0200 ALSA: timer - Add NULL-check for invalid slave timer Just to be sure. Signed-off-by: Takashi Iwai commit 0584ffa548b6e59aceb027112f23a55f0133400e Author: Takashi Iwai Date: Mon Aug 8 12:24:46 2011 +0200 ALSA: timer - Fix Oops at closing slave timer A slave-timer instance has no timer reference, and this results in NULL-dereference at stopping the timer, typically called at closing the device. Reference: https://bugzilla.kernel.org/show_bug.cgi?id=40682 Cc: Signed-off-by: Takashi Iwai commit 8c285645ab3b05942124020b5f0b89d3b539823a Merge: 151798f 8449709 Author: Takashi Iwai Date: Mon Aug 8 10:45:31 2011 +0200 Merge branch 'wm8996-rename' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc commit 844970916c8e50f630ea1a6ac82f09c42b12660a Author: Mark Brown Date: Wed Jul 20 13:49:58 2011 +0100 ASoC: Acknowledge WM8996 interrupts before acting on them This closes the small race between a status being read in response to an interrupt and clearing the interrupt, meaning that if the status changes between those periods we might not get a reassertion of the interrupt. Signed-off-by: Mark Brown commit a9ba615134ad32254fae84f16e1751854755135c Author: Mark Brown Date: Fri Jun 24 12:10:44 2011 +0100 ASoC: Rename WM8915 to WM8996 For marketing reasons the part will be called WM8996. In order to avoid user confusion rename the driver to reflect this. Signed-off-by: Mark Brown Acked-by: Kukjin Kim Acked-by: Liam Girdwood commit 4d81897139ffb738ee14b6f84f63f93ecda1136b Author: Tetsuo Handa Date: Sat Aug 6 23:38:30 2011 +0900 TOMOYO: Fix incomplete read of /sys/kernel/security/tomoyo/profile Commit bd03a3e4 "TOMOYO: Add policy namespace support." forgot to set EOF flag and forgot to print namespace at PREFERENCE line. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit df944f66784e6d4f2f50739263a4947885d8b6ae Author: Takashi Iwai Date: Sun Aug 7 17:34:07 2011 +0200 ALSA: Fix dependency of CONFIG_SND_TEA575X CONFIG_SND_TEA575X is enabled by RADIO_SF16FMR2, but the latter one is no PCI device. Since tea575x-tuner itself is independent from the board bus type, the config should be moved out of SND_PCI dependency. Reported-by: Randy Dunlap Acked-by: Randy Dunlap Signed-off-by: Takashi Iwai commit 67ada8367c323ce13d0268c87cf09bf8af956e92 Author: Thomas Meyer Date: Sat Aug 6 13:26:20 2011 +0200 ALSA: asihpi - use kzalloc() Use kzalloc rather than kmalloc followed by memset with 0 This considers some simple cases that are common and easy to validate Note in particular that there are no ...s in the rule, so all of the matched code has to be contiguous The semantic patch that makes this output is available in scripts/coccinelle/api/alloc/kzalloc-simple.cocci. More information about semantic patching is available at http://coccinelle.lip6.fr/ Signed-off-by: Thomas Meyer Signed-off-by: Takashi Iwai commit f4389489b5cbe60b3441869c68bb4afe760969c4 Author: Daniel Mack Date: Sat Aug 6 09:13:08 2011 +0200 ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3 Signed-off-by: Daniel Mack Reported-by: Renato Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit dac8f847c48adeeece5aba57600d08d2499d39b2 Author: Daniel Mack Date: Sat Aug 6 00:23:18 2011 +0200 ALSA: snd-usb: Fix uninitialized variable usage Purely cosmetic, but fixes the following build warning. CC [M] sound/usb/quirks.o sound/usb/quirks.c: In function ‘snd_usb_apply_boot_quirk’: sound/usb/quirks.c:429:6: warning: ‘err’ may be used uninitialized in this function [-Wuninitialized] Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 81c0a78b644f0e265a01d5a5f5ab397b791bad08 Author: Wang Shaoyan Date: Fri Aug 5 18:51:29 2011 +0800 ALSA: hda - Fix a complile warning in patch_via.c sound/pci/hda/patch_via.c:2087: warning: 'dac' may be used uninitialized in this function Signed-off-by: Wang Shaoyan Signed-off-by: Takashi Iwai commit 3d56c8e6b039f2bc1d7c62d3b19e696c3129c8c0 Author: Takashi Iwai Date: Fri Aug 5 12:30:12 2011 +0200 ALSA: hdspm - Fix uninitialized compile warnings Put the exception checks for io_type switch() for possible mistakes in future. Also this shuts up annoying compile warnings. Signed-off-by: Takashi Iwai commit 02651d1a9725f29e95296c37cf9a4f16e9c01bff Author: Miller Puckette Date: Thu Aug 4 12:25:56 2011 -0700 ALSA: usb-audio - add quirk for Keith McMillen StringPort Signed-off-by: Miller Puckette Signed-off-by: Takashi Iwai commit 81210c2062cf98bf625bcd487334c89b0fce5a82 Author: Benjamin Herrenschmidt Date: Fri Aug 5 16:01:20 2011 +1000 powerpc: Fix build without CONFIG_PCI Commit fea80311a939a746533a6d7e7c3183729d6a3faf "iomap: make IOPORT/PCI mapping functions conditional" Broke powerpc build without CONFIG_PCI as we would still define pci_iomap(), which overlaps with the new empty inline in the headers. Make our implementation conditional on CONFIG_PCI Signed-off-by: Benjamin Herrenschmidt commit 883a805d617baca1c01172dc1d35e37829ffed0c Author: Benjamin Herrenschmidt Date: Fri Aug 5 15:59:40 2011 +1000 powerpc/4xx: Fix build of PCI code on 405 Commit 112d1fe9f7715db423ffeec5ac1beccff6093dc4 "powerpc/4xx: Add check_link to struct ppc4xx_pciex_hwops" inadvertently broke 405 builds due to some functions being over protected by an ifdef CONFIG_44x. Move them back out. Signed-off-by: Benjamin Herrenschmidt commit 598c8231ab54cfcc8ea6f52882cefee98b129bd1 Author: Anton Blanchard Date: Mon Jul 25 01:46:34 2011 +0000 powerpc/pseries: Simplify vpa deregistration functions The VPA, SLB shadow and DTL degistration functions do not need an address, so simplify things and remove it. Also cleanup pseries_kexec_cpu_down a bit by storing the cpu IDs in local variables. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 711ef84e80ec6f937ad59c7a00490421a5c92867 Author: Anton Blanchard Date: Mon Jul 25 01:46:33 2011 +0000 powerpc/pseries: Cleanup VPA registration and deregistration errors Make the VPA, SLB shadow and DTL registration and deregistration functions print consistent messages on error. I needed the firmware error code while chasing a kexec bug but we weren't printing it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit b1301797f30370c430244979671978fc232f4533 Author: Anton Blanchard Date: Mon Jul 25 01:46:32 2011 +0000 powerpc/pseries: Fix kexec on recent firmware versions Recent versions of firmware will fail to unmap the virtual processor area if we have a dispatch trace log registered. This causes kexec to fail. If a trace log is registered this patch unregisters it before the SLB shadow and virtual processor areas, fixing the problem. The address argument is ignored by firmware on unregister so we may as well remove it. Signed-off-by: Anton Blanchard Cc: Signed-off-by: Benjamin Herrenschmidt commit a149507bdb78d69e0020dbb505f3c55b205b69b3 Author: Anatolij Gustschin Date: Wed Jul 20 19:04:25 2011 +0000 MAINTAINERS: change maintainership of mpc5xxx Grant intends to hand over maintainership of mpc5xxx to me. Change MPC5XXX entry in MAINTAINERS accordingly. Signed-off-by: Anatolij Gustschin Signed-off-by: Benjamin Herrenschmidt commit 643ba4e3077f8d1c6b1cd5cc9ea3406198a833ff Author: Anton Blanchard Date: Thu Aug 4 17:23:58 2011 +0000 powerpc: Make KVM_GUEST default to n KVM_GUEST adds a 1 MB array to the kernel (kvm_tmp) which grew my kernel enough to cause it to fail to boot. Dynamically allocating or reducing the size of this array is a good idea, but in the meantime I think it makes sense to make KVM_GUEST default to n in order to minimise surprises. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 2c740c5841ba69aed216fdf7180f06e693165a7b Author: Nishanth Aravamudan Date: Wed Aug 3 08:55:54 2011 +0000 powerpc/kvm: Fix build errors with older toolchains On a box with gcc 4.3.2, I see errors like: arch/powerpc/kvm/book3s_hv_rmhandlers.S:1254: Error: Unrecognized opcode: stxvd2x arch/powerpc/kvm/book3s_hv_rmhandlers.S:1316: Error: Unrecognized opcode: lxvd2x Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit 53876e387d962f7f37747150f33f2aa920a7b20c Author: Anton Blanchard Date: Sun Jul 31 19:30:04 2011 +0000 powerpc: Lack of ibm,io-events not that important! The ibm,io-events code is a bit verbose with its error messages. Reverse the reporting so we only print when we successfully enable I/O event interrupts. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 8aa6d359298ad284a202dc43f103e2f8100a6e82 Author: Anton Blanchard Date: Sun Jul 31 19:27:35 2011 +0000 powerpc: Move kdump default base address to half RMO size on 64bit We are seeing boot failures on some very large boxes even with commit b5416ca9f824 (powerpc: Move kdump default base address to 64MB on 64bit). This patch halves the RMO so both kernels get about the same amount of RMO memory. On large machines this region will be at least 256MB, so each kernel will get 128MB. We cap it at 256MB (small SLB size) since some early allocations need to be in the bolted SLB region. We could relax this on machines with 1TB SLBs in a future patch. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit b59a1bfcc2406ea75346977ad016cfe909a762ac Author: David Ahern Date: Sat Jul 30 10:53:20 2011 +0000 powerpc/perf: Disable pagefaults during callchain stack read Panic observed on an older kernel when collecting call chains for the context-switch software event: []rb_erase+0x1b4/0x3e8 []__dequeue_entity+0x50/0xe8 []set_next_entity+0x178/0x1bc []pick_next_task_fair+0xb0/0x118 []schedule+0x500/0x614 []rwsem_down_failed_common+0xf0/0x264 []rwsem_down_read_failed+0x34/0x54 []down_read+0x3c/0x54 []do_page_fault+0x114/0x5e8 []handle_page_fault+0xc/0x80 []perf_callchain+0x224/0x31c []perf_prepare_sample+0x240/0x2fc []__perf_event_overflow+0x280/0x398 []perf_swevent_overflow+0x9c/0x10c []perf_swevent_ctx_event+0x1d0/0x230 []do_perf_sw_event+0x84/0xe4 []perf_sw_event_context_switch+0x150/0x1b4 []perf_event_task_sched_out+0x44/0x2d4 []schedule+0x2c0/0x614 []__cond_resched+0x34/0x90 []_cond_resched+0x4c/0x68 []move_page_tables+0xb0/0x418 []setup_arg_pages+0x184/0x2a0 []load_elf_binary+0x394/0x1208 []search_binary_handler+0xe0/0x2c4 []do_execve+0x1bc/0x268 []sys_execve+0x84/0xc8 []ret_from_syscall+0x0/0x3c A page fault occurred walking the callchain while creating a perf sample for the context-switch event. To handle the page fault the mmap_sem is needed, but it is currently held by setup_arg_pages. (setup_arg_pages calls shift_arg_pages with the mmap_sem held. shift_arg_pages then calls move_page_tables which has a cond_resched at the top of its for loop - hitting that cond_resched is what caused the context switch.) This is an extension of Anton's proposed patch: https://lkml.org/lkml/2011/7/24/151 adding case for 32-bit ppc. Tested on the system that first generated the panic and then again with latest kernel using a PPC VM. I am not able to test the 64-bit path - I do not have H/W for it and 64-bit PPC VMs (qemu on Intel) is horribly slow. Signed-off-by: David Ahern Signed-off-by: Benjamin Herrenschmidt commit 501d238633a3f9869f4e777b3b281ca7660b7156 Author: Peter Zijlstra Date: Wed Jul 27 07:27:21 2011 +0000 ppc: Remove duplicate definition of PV_POWER7 One definition of PV_POWER7 seems enough to me. Signed-off-by: Peter Zijlstra Signed-off-by: Benjamin Herrenschmidt commit bed9a31527af8ff3dfbad62a1a42815cef4baab7 Author: Anton Blanchard Date: Tue Jul 26 18:15:03 2011 +0000 powerpc: pseries: Fix kexec on machines with more than 4TB of RAM On a box with 8TB of RAM the MMU hashtable is 64GB in size. That means we have 4G PTEs. pSeries_lpar_hptab_clear was using a signed int to store the index which will overflow at 2G. Signed-off-by: Anton Blanchard Cc: Acked-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit c113a3aee2b68e311f2bc55f70fe56b64c3a476b Author: Anton Blanchard Date: Tue Jul 26 14:35:46 2011 +0000 powerpc: Jump label misalignment causes oops at boot I hit an oops at boot on the first instruction of timer_cpu_notify: NIP [c000000000722f88] .timer_cpu_notify+0x0/0x388 The code should look like: c000000000722f78: eb e9 00 30 ld r31,48(r9) c000000000722f7c: 2f bf 00 00 cmpdi cr7,r31,0 c000000000722f80: 40 9e ff 44 bne+ cr7,c000000000722ec4 c000000000722f84: 4b ff ff 74 b c000000000722ef8 c000000000722f88 <.timer_cpu_notify>: c000000000722f88: 7c 08 02 a6 mflr r0 c000000000722f8c: 2f a4 00 07 cmpdi cr7,r4,7 c000000000722f90: fb c1 ff f0 std r30,-16(r1) c000000000722f94: fb 61 ff d8 std r27,-40(r1) But the oops output shows: eb61ffd8 eb81ffe0 eba1ffe8 ebc1fff0 7c0803a6 ebe1fff8 4e800020 00000000 ebe90030 c0000000 00ad0a28 00000000 2fa40007 fbc1fff0 fb61ffd8 So we scribbled over our instructions with c000000000ad0a28, which is an address inside the jump_table ELF section. It turns out the jump_table section is only aligned to 8 bytes but we are aligning our entries within the section to 16 bytes. This means our entries are offset from the table: c000000000acd4a8 <__start___jump_table>: ... c000000000ad0a10: c0 00 00 00 lfs f0,0(0) c000000000ad0a14: 00 70 cd 5c .long 0x70cd5c c000000000ad0a18: c0 00 00 00 lfs f0,0(0) c000000000ad0a1c: 00 70 cd 90 .long 0x70cd90 c000000000ad0a20: c0 00 00 00 lfs f0,0(0) c000000000ad0a24: 00 ac a4 20 .long 0xaca420 And the jump table sort code gets very confused and writes into the wrong spot. Remove the alignment, and also remove the padding since we it saves some space and we shouldn't need it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit fbafd728151ccc8665584bde78deb03dbb9ef055 Author: Anton Blanchard Date: Mon Jul 25 20:47:51 2011 +0000 powerpc: Clean up some panic messages in prom_init Add a newline to the panic messages in make_room. Also fix a comment that suggested our chunk size is 4Mb. It's 1MB. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 966728dd88b4026ec58fee169ccceaeaf56ef120 Author: Anton Blanchard Date: Mon Jul 25 20:47:07 2011 +0000 powerpc: Fix device tree claim code I have a box that fails in OF during boot with: DEFAULT CATCH!, exception-handler=fff00400 at %SRR0: 49424d2c4c6f6768 %SRR1: 800000004000b002 ie "IBM,Logh". OF got corrupted with a device tree string. Looking at make_room and alloc_up, we claim the first chunk (1 MB) but we never claim any more. mem_end is always set to alloc_top which is the top of our available address space, guaranteeing we will never call alloc_up and claim more memory. Also alloc_up wasn't setting alloc_bottom to the bottom of the available address space. This doesn't help the box to boot, but we at least fail with an obvious error. We could relocate the device tree in a future patch. Signed-off-by: Anton Blanchard Cc: Signed-off-by: Benjamin Herrenschmidt commit 26ee97672eaee9725bd7d66c3964579c4af7037d Author: Scott Wood Date: Mon Jul 25 11:04:36 2011 +0000 powerpc: Return the_cpu_ spec from identify_cpu Commit af9eef3c7b1ed004c378c89b87642f4937337d50 caused cpu_setup to see the_cpu_spec, rather than the source struct. However, on 32-bit, the return value of identify_cpu was being used for feature fixups, and identify_cpu was returning the source struct. So if cpu_setup patches the feature bits, the update won't affect the fixups. Signed-off-by: Scott Wood Signed-off-by: Benjamin Herrenschmidt commit 326ed6a9bcf8d451a6d714d10c8b0f40941a3ed3 Author: Scott Wood Date: Mon Jul 25 11:02:11 2011 +0000 powerpc: mtspr/mtmsr should take an unsigned long Add a cast in case the caller passes in a different type, as it would if mtspr/mtmsr were functions. Previously, if a 64-bit type was passed in on 32-bit, GCC would bind the constraint to a pair of registers, and would substitute the first register in the pair in the asm code. This corresponds to the upper half of the 64-bit register, which is generally not the desired behavior. Signed-off-by: Scott Wood Signed-off-by: Benjamin Herrenschmidt commit 1faa5d07a93fc5b0a4a5254fc940a79e20b55540 Author: Daniel Mack Date: Thu Aug 4 15:56:28 2011 +0200 ALSA: snd-usb: operate on given mixer interface only When creating the mixers for an USB audio device, the current code looks at the host interface stored in mixer->chip->ctrl_if. Change this and rather keep a local pointer to the interface that was given when snd_usb_create_mixer() was called. Signed-off-by: Daniel Mack Reported-by: Nicolai Krakowiak Reported-by: Lean-Yves LENHOF Acked-by: Clemens Ladisch Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit 60c961a9e1ed879a4d151df6076bf1203f595f73 Author: Nicolai Krakowiak Date: Thu Aug 4 15:56:27 2011 +0200 ALSA: snd-usb: avoid dividing by zero on invalid input Signed-off-by: Nicolai Krakowiak Acked-by: Daniel Mack Acked-by: Clemens Ladisch Cc: stable@kernel.org Signed-off-by: Takashi Iwai commit 824818b148db42173446707df4cbd61cd7133272 Author: Clemens Ladisch Date: Thu Aug 4 16:17:42 2011 +0200 ALSA: snd-usb: Accept UAC2 FORMAT_TYPE descriptors with bLength > 6 The Focusrite Scarlett 18i6 USB has them that way, which is probably a bug. Anyway, the driver should simply ignore this fact. Signed-off-by: Daniel Mack Reported-by: Nicolai Krakowiak Cc: stable@kernel.org Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 2921623f71c0a7f8ab979a8903cccd7a374436e7 Author: Deepak Saxena Date: Wed Aug 3 17:04:01 2011 -0700 sound: oss/pas2: Remove CLOCK_TICK_RATE dependency from PAS16 driver Update the PAS16 driver to use PIT_TICK_RATE instead of the more generic CLOCK_TICK_RATE as the two are equivalent on X86 and we want to depecrate the later. Signed-off-by: Deepak Saxena Signed-off-by: Takashi Iwai commit c3540b81ee707bc8a7a83e850adf5feb3b84c04d Author: Takashi Iwai Date: Thu Aug 4 15:19:26 2011 +0200 ALSA: hda - Use auto-parser for ASUS UX50, Eee PC P901, S101 and P1005 It works fine with auto-parser and now the digital mic workaround was implemented in auto-parser fixup, let's drop the static model quirks for these models. Signed-off-by: Takashi Iwai commit adabb3ec8b0bcbd2ca81973d33c3da726b939c7c Author: Takashi Iwai Date: Wed Aug 3 07:48:37 2011 +0200 ALSA: hda - Fix digital-mic mono recording on ASUS Eee PC The digital-mic unit on ASUS Eee PC gives PDM signals instead of the normal stereo PCM, thus you can't record a mono stream from the stereo stream as is; the summed stereo signal results in almost zero level, and you'll hear only soft noise. As a workaround, use ALC269-specific COEF to manipulate the dmic route for mono, like used for ALC271x. This is implemented as a fix-up, thus it works only with model=auto or without REALTEK_QUIRKS Kconfig. Reported-and-tested-by: Pavel Roskin Signed-off-by: Takashi Iwai commit 151798f872d6b386d82cd1707ad703e981fef8f2 Author: Wolfram Sang Date: Tue Aug 2 19:42:19 2011 +0200 ASoC: sgtl5000: fix cache handling Cache handling in this driver is broken. The chip has 16-bit registers, yet the register numbers also increase by 2 per register, i.e. there are only even-numbered registers. The cache in this driver, though, simply increments register numbers, so it does need some mapping as seen in sgtl5000_restore_regs(), note the '>> 1': snd_soc_write(codec, SGTL5000_CHIP_LINREG_CTRL, cache[SGTL5000_CHIP_LINREG_CTRL >> 1]); That, of course, won't work with snd_soc_update_bits(). (Thus, we won't even notice the missing register 0x1c in the default regs which shifted all follwing registers to wrong values.) Noticed on the MX28EVK where enabling the regulators simply locked up the chip. Refactor the routines and use a properly sized default_regs array which matches the register layout of the underlying chip, i.e. create a truly flat cache. This also saves some code which should make up for the bigger array a little. When soc-core will somewhen have another cache type which handles a step size, this conversion will also ease the transition. Signed-off-by: Wolfram Sang Tested-by: Dong Aisheng Tested-by: Shawn Guo Acked-by: Liam Girdwood Signed-off-by: Mark Brown Cc: stable@kernel.org commit f9925d4400927fcf3e25cd371442e47d40b37536 Author: Mark Brown Date: Thu Jul 28 12:44:44 2011 +0100 ASoC: Disable wm_hubs periodic DC servo update This does not function correctly in all circumstances so disable the periodic updates unconditionally for stable; a future patch will reenable where appropriate. Signed-off-by: Mark Brown Acked-by: Liam Girdwood