commit 74fca6a42863ffacaf7ba6f1936a9f228950f657 Author: Linus Torvalds Date: Wed Sep 9 15:13:59 2009 -0700 Linux 2.6.31 commit 7135a71b19be1faf48b7148d77844d03bc0717d6 Author: Ed Cashin Date: Wed Sep 9 14:10:18 2009 +0200 aoe: allocate unused request_queue for sysfs Andy Whitcroft reported an oops in aoe triggered by use of an incorrectly initialised request_queue object: [ 2645.959090] kobject '' (ffff880059ca22c0): tried to add an uninitialized object, something is seriously wrong. [ 2645.959104] Pid: 6, comm: events/0 Not tainted 2.6.31-5-generic #24-Ubuntu [ 2645.959107] Call Trace: [ 2645.959139] [] kobject_add+0x5f/0x70 [ 2645.959151] [] blk_register_queue+0x8b/0xf0 [ 2645.959155] [] add_disk+0x8f/0x160 [ 2645.959161] [] aoeblk_gdalloc+0x164/0x1c0 [aoe] The request queue of an aoe device is not used but can be allocated in code that does not sleep. Bruno bisected this regression down to cd43e26f071524647e660706b784ebcbefbd2e44 block: Expose stacked device queues in sysfs "This seems to generate /sys/block/$device/queue and its contents for everyone who is using queues, not just for those queues that have a non-NULL queue->request_fn." Addresses http://bugs.launchpad.net/bugs/410198 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13942 Note that embedding a queue inside another object has always been an illegal construct, since the queues are reference counted and must persist until the last reference is dropped. So aoe was always buggy in this respect (Jens). Signed-off-by: Ed Cashin Cc: Andy Whitcroft Cc: "Rafael J. Wysocki" Cc: Bruno Premont Cc: Martin K. Petersen Cc: Andrew Morton Signed-off-by: Jens Axboe commit e6890f6f3dc2d9024a08b1a149d9bd5208eea350 Author: Linus Torvalds Date: Tue Sep 8 17:09:24 2009 -0700 i915: disable interrupts before tearing down GEM state Reinette Chatre reports a frozen system (with blinking keyboard LEDs) when switching from graphics mode to the text console, or when suspending (which does the same thing). With netconsole, the oops turned out to be BUG: unable to handle kernel NULL pointer dereference at 0000000000000084 IP: [] i915_driver_irq_handler+0x26b/0xd20 [i915] and it's due to the i915_gem.c code doing drm_irq_uninstall() after having done i915_gem_idle(). And the i915_gem_idle() path will do i915_gem_idle() -> i915_gem_cleanup_ringbuffer() -> i915_gem_cleanup_hws() -> dev_priv->hw_status_page = NULL; but if an i915 interrupt comes in after this stage, it may want to access that hw_status_page, and gets the above NULL pointer dereference. And since the NULL pointer dereference happens from within an interrupt, and with the screen still in graphics mode, the common end result is simply a silently hung machine. Fix it by simply uninstalling the irq handler before idling rather than after. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13819 Reported-and-tested-by: Reinette Chatre Acked-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 7c8460db30dfd085ef3837c8fb02ecf2e718b983 Author: Zhenyu Wang Date: Tue Sep 8 14:52:25 2009 +0800 drm/i915: fix mask bits setting eDP is exclusive connector too, and add missing crtc_mask setting for TV. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=14139 Signed-off-by: Zhenyu Wang Reported-and-tested-by: Carlos R. Mafra Signed-off-by: Linus Torvalds commit 3ff323f89075624b6891e7c428edb8e8a35be13c Merge: 755ae76 a54775c Author: Linus Torvalds Date: Mon Sep 7 11:42:25 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register. commit 755ae761c5519929a97567d61a379b87352c337c Merge: 4886b5b acd0c93 Author: Linus Torvalds Date: Mon Sep 7 11:41:15 2009 -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: IMA: update ima_counts_put commit 4886b5b485ec78fe4a16fedaccfab39bdf55410f Merge: cbeb286 d9d8e04 Author: Linus Torvalds Date: Mon Sep 7 11:40:24 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: gianfar: Fix build. commit cbeb2864b162f4298111196c8ce8ce492577cdee Merge: f69fb9c c9a2bfd Author: Linus Torvalds Date: Mon Sep 7 11:40:15 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: pcmcia: add CNF-CDROM-ID for ide commit f69fb9c39868463f6b0b8306824341bd5610250b Merge: e07cccf 07fb611 Author: Linus Torvalds Date: Mon Sep 7 11:38:30 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: agp/intel: support for new chip variant of IGDNG mobile drm/i915: Unref old_obj on get_fence_reg() error path drm/i915: increase default latency constant (v2 w/comment) commit a54775c8758a754186bc6adbfc518b1e9f8f1e4e Author: Dave Airlie Date: Mon Sep 7 15:26:19 2009 +1000 drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register. This adds some rv350+ register for LTE/GTE discard, and enables the rv515 two sided stencil register. It also disables the DEPTHXY_OFFSET register which can be used to workaround the CS checker. Moves rs690 to proper place in rs600 and uses correct table on rs600. Signed-off-by: Dave Airlie commit acd0c935178649f72c44ec49ca83bee35ce1f79e Author: Mimi Zohar Date: Fri Sep 4 13:08:46 2009 -0400 IMA: update ima_counts_put - As ima_counts_put() may be called after the inode has been freed, verify that the inode is not NULL, before dereferencing it. - Maintain the IMA file counters in may_open() properly, decrementing any counter increments on subsequent errors. Reported-by: Ciprian Docan Reported-by: J.R. Okajima Signed-off-by: Mimi Zohar Acked-by: Eric Paris commit d9d8e0418ffd3d189345c435861e254c17ae06e5 Author: David S. Miller Date: Sun Sep 6 01:41:02 2009 -0700 gianfar: Fix build. Reported by Michael Guntsche -------------------- Commit 38bddf04bcfe661fbdab94888c3b72c32f6873b3 gianfar: gfar_remove needs to call unregister_netdev() breaks the build of the gianfar driver because "dev" is undefined in this function. To quickly test rc9 I changed this to priv->ndev but I do not know if this is the correct one. -------------------- Signed-off-by: David S. Miller commit e07cccf4046978df10f2e13fe2b99b2f9b3a65db Author: Linus Torvalds Date: Sat Sep 5 16:38:12 2009 -0700 Linux 2.6.31-rc9 commit f815c335d21f9965f8dbe142fd168aaba1baf98e Merge: 74a0118 baed6b8 Author: Linus Torvalds Date: Sat Sep 5 14:59:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: sbp2: fix freeing of unallocated memory firewire: ohci: fix Ricoh R5C832, video reception firewire: ohci: fix Agere FW643 and multiple cameras firewire: core: fix crash in iso resource management commit 74a01180db4bbfd61304ae0ba1f60af55ffc803d Author: Roderick Colenbrander Date: Thu Sep 3 09:57:23 2009 -0600 powerpc: Fix i8259 interrupt driver kernel crash on ML510 This patch fixes a null pointer exception caused by removal of 'ack()' for level interrupts in the Xilinx interrupt driver. A recent change to the xilinx interrupt controller removed the ack hook for level irqs. Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 5136a6c0fd5b26bbf39ad761cf7a4fc563ad83a3 Merge: e505a8d bc8cec0 Author: Linus Torvalds Date: Sat Sep 5 14:57:04 2009 -0700 Merge git://git.infradead.org/~dwmw2/mtd-2.6.31 * git://git.infradead.org/~dwmw2/mtd-2.6.31: JFFS2: add missing verify buffer allocation/deallocation mtd: nftl: fix offset alignments mtd: nftl: write support is broken mtd: m25p80: fix null pointer dereference bug commit e505a8d5f96a84f3043ce0c4eaee8f045996896c Merge: b71b7dc c295fc0 Author: Linus Torvalds Date: Sat Sep 5 14:56:13 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: Allow changing max_sectors_kb above the default 512 commit b71b7dc09abaeb4417c37b96a898096286b65e3c Merge: 59430c2 9265345 Author: Linus Torvalds Date: Sat Sep 5 14:55:30 2009 -0700 Merge branch 'fix/oxygen' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/oxygen' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: oxygen: handle cards with missing EEPROM sound: oxygen: fix MCLK rate for 192 kHz playback commit 59430c2f437767094298f30dd02ca038da0df755 Merge: e9ee3a5 16ebb5e Author: Linus Torvalds Date: Sat Sep 5 14:52:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: tc: Fix unitialized kernel memory leak pkt_sched: Revert tasklet_hrtimer changes. net: sk_free() should be allowed right after sk_alloc() gianfar: gfar_remove needs to call unregister_netdev() ipw2200: firmware DMA loading rework commit e9ee3a54a164c249a0a576c403eba367a6d97be5 Merge: 3bb314f 0c7d400 Author: Linus Torvalds Date: Sat Sep 5 14:51:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: skcipher - Fix skcipher_dequeue_givcrypt NULL test commit 3bb314f01c189f0c48c0946424955c6d8ddce3d8 Merge: 535e0c1 ce6c399 Author: Linus Torvalds Date: Sat Sep 5 14:51:24 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Re-enable cpufreq suspend and resume code commit 535e0c1726bec699a8f0f5b86fe7d399546b2555 Merge: 0edfa2b 5afe18d Author: Linus Torvalds Date: Sat Sep 5 14:50:53 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix csum_ipv6_magic() [IA64] Fix warning in dma-mapping.c commit 0edfa2b1b5a5e1475e76dd3c792447687d966de4 Merge: 5a09adf 3725867 Author: Linus Torvalds Date: Sat Sep 5 14:25:14 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: actually enable the swapext compat handler commit 5a09adf13067609d8ab9fcae11dc99fd0084e35c Merge: 931f703 b1f1b8c Author: Linus Torvalds Date: Sat Sep 5 14:24:33 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key commit 931f70350e9c298887c78e852d179ef7efcce304 Merge: e305fc5 04a13c7 Author: Linus Torvalds Date: Sat Sep 5 14:22:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: don't assume existence of cpu0 commit e305fc5ecd6420fadec5a8108852081fa2b89a17 Merge: 154f807 d76b159 Author: Linus Torvalds Date: Sat Sep 5 13:57:53 2009 -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 kmem_cache_destroy() with SLAB_DESTROY_BY_RCU commit 154f807e55977de75b1c12197c13ae14c28397b3 Merge: 9b6a3df ae0b744 Author: Linus Torvalds Date: Sat Sep 5 13:51:07 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm snapshot: fix on disk chunk size validation dm exception store: split set_chunk_size dm snapshot: fix header corruption race on invalidation dm snapshot: refactor zero_disk_area to use chunk_io dm log: userspace add luid to distinguish between concurrent log instances dm raid1: do not allow log_failure variable to unset after being set dm log: remove incorrect field from userspace table output dm log: fix userspace status output dm stripe: expose correct io hints dm table: add more context to terse warning messages dm table: fix queue_limit checking device iterator dm snapshot: implement iterate devices dm multipath: fix oops when request based io fails when no paths commit 9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d Merge: d3acd16 6faf17f Author: Linus Torvalds Date: Sat Sep 5 13:50:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI SR-IOV: correct broken resource alignment calculations commit d3acd16cda3a1cbaff7c579c0e054f0ece613d14 Merge: 93697a3 bd4352c Author: Linus Torvalds Date: Sat Sep 5 13:49:06 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix bootup with mcount in some configs. sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds. commit 93697a3cabd3605c434a9b915c0272ad800b3f97 Merge: 6399534 a3df6f7 Author: Linus Torvalds Date: Sat Sep 5 13:48:37 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter/powerpc: Fix cache event codes for POWER7 perf_counter: Fix /0 bug in swcounters perf_counters: Increase paranoia level commit 63995344721be45b3fb3b76488b1b0a8c95def26 Merge: 9de6886 2bcaa6a Author: Linus Torvalds Date: Sat Sep 5 13:41:29 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: atkbd - add Compaq Presario R4000-series repeat quirk Input: i8042 - add Acer Aspire 5536 to the nomux list commit 9de6886ec6e37f45807266a702bb7621498395ad Author: Nicolas Pitre Date: Sat Sep 5 00:25:37 2009 -0400 ext2: fix unbalanced kmap()/kunmap() In ext2_rename(), dir_page is acquired through ext2_dotdot(). It is then released through ext2_set_link() but only if old_dir != new_dir. Failing that, the pkmap reference count is never decremented and the page remains pinned forever. Repeat that a couple times with highmem pages and all pkmap slots get exhausted, and every further kmap() calls end up stalling on the pkmap_map_wait queue at which point the whole system comes to a halt. Signed-off-by: Nicolas Pitre Acked-by: Theodore Ts'o Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit ac7ac9f2b9bfd9b68a1571d27e4c8bebb4788914 Merge: ac89a91 8379e7c Author: Linus Torvalds Date: Sat Sep 5 13:38:37 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2: ocfs2_write_begin_nolock() should handle len=0 ocfs2: invalidate dentry if its dentry_lock isn't initialized. commit ac89a9174decf343de049a06fad75681f71890eb Author: Linus Torvalds Date: Sat Sep 5 13:27:10 2009 -0700 pty: don't limit the writes to 'pty_space()' inside 'pty_write()' The whole write-room thing is something that is up to the _caller_ to worry about, not the pty layer itself. The total buffer space will still be limited by the buffering routines themselves, so there is no advantage or need in having pty_write() artificially limit the size somehow. And what happened was that the caller (the n_tty line discipline, in this case) may have verified that there is room for 2 bytes to be written (for NL -> CRNL expansion), and it used to then do those writes as two single-byte writes. And if the first byte written (CR) then caused a new tty buffer to be allocated, pty_space() may have returned zero when trying to write the second byte (LF), and then incorrectly failed the write - leading to a lost newline character. This should finally fix http://bugzilla.kernel.org/show_bug.cgi?id=14015 Reported-by: Mikael Pettersson Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 37f81fa1f63ad38e16125526bb2769ae0ea8d332 Author: Linus Torvalds Date: Sat Sep 5 12:46:07 2009 -0700 n_tty: do O_ONLCR translation as a single write When translating CR to CRNL in the n_tty line discipline, we did it as two tty_put_char() calls. Which works, but is stupid, and has caused problems before too with bad interactions with the write_room() logic. The generic USB serial driver had that problem, for example. Now the pty layer had similar issues after being moved to the generic tty buffering code (in commit d945cb9cce20ac7143c2de8d88b187f62db99bdc: "pty: Rework the pty layer to use the normal buffering logic"). So stop doing the silly separate two writes, and do it as a single write instead. That's what the n_tty layer already does for the space expansion of tabs (XTABS), and it means that we'll now always have just a single write for the CRNL to match the single 'tty_write_room()' test, which hopefully means that the next time somebody screws up buffering, it won't cause weeks of debugging. Signed-off-by: Linus Torvalds commit a2a8474c3fff88d8dd52d05cb450563fb26fd26c Author: Oleg Nesterov Date: Sat Sep 5 11:17:13 2009 -0700 exec: do not sleep in TASK_TRACED under ->cred_guard_mutex Tom Horsley reports that his debugger hangs when it tries to read /proc/pid_of_tracee/maps, this happens since "mm_for_maps: take ->cred_guard_mutex to fix the race with exec" 04b836cbf19e885f8366bccb2e4b0474346c02d commit in 2.6.31. But the root of the problem lies in the fact that do_execve() path calls tracehook_report_exec() which can stop if the tracer sets PT_TRACE_EXEC. The tracee must not sleep in TASK_TRACED holding this mutex. Even if we remove ->cred_guard_mutex from mm_for_maps() and proc_pid_attr_write(), another task doing PTRACE_ATTACH should not hang until it is killed or the tracee resumes. With this patch do_execve() does not use ->cred_guard_mutex directly and we do not hold it throughout, instead: - introduce prepare_bprm_creds() helper, it locks the mutex and calls prepare_exec_creds() to initialize bprm->cred. - install_exec_creds() drops the mutex after commit_creds(), and thus before tracehook_report_exec()->ptrace_stop(). or, if exec fails, free_bprm() drops this mutex when bprm->cred != NULL which indicates install_exec_creds() was not called. Reported-by: Tom Horsley Signed-off-by: Oleg Nesterov Acked-by: David Howells Cc: Roland McGrath Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd5d241ea955006122d76af88af87de73fec25b4 Author: Mel Gorman Date: Sat Sep 5 11:17:11 2009 -0700 page-allocator: always change pageblock ownership when anti-fragmentation is disabled On low-memory systems, anti-fragmentation gets disabled as fragmentation cannot be avoided on a sufficiently large boundary to be worthwhile. Once disabled, there is a period of time when all the pageblocks are marked MOVABLE and the expectation is that they get marked UNMOVABLE at each call to __rmqueue_fallback(). However, when MAX_ORDER is large the pageblocks do not change ownership because the normal criteria are not met. This has the effect of prematurely breaking up too many large contiguous blocks. This is most serious on NOMMU systems which depend on high-order allocations to boot. This patch causes pageblocks to change ownership on every fallback when anti-fragmentation is disabled. This prevents the large blocks being prematurely broken up. This is a fix to commit 49255c619fbd482d704289b5eb2795f8e3b7ff2e [page allocator: move check for disabled anti-fragmentation out of fastpath] and the problem affects 2.6.31-rc8. Signed-off-by: Mel Gorman Tested-by: Paul Mundt Cc: David Howells Cc: Pekka Enberg Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a190887b58c32d19c2eee007c5eb8faa970a69ba Author: David Howells Date: Sat Sep 5 11:17:07 2009 -0700 nommu: fix error handling in do_mmap_pgoff() Fix the error handling in do_mmap_pgoff(). If do_mmap_shared_file() or do_mmap_private() fail, we jump to the error_put_region label at which point we cann __put_nommu_region() on the region - but we haven't yet added the region to the tree, and so __put_nommu_region() may BUG because the region tree is empty or it may corrupt the region tree. To get around this, we can afford to add the region to the region tree before calling do_mmap_shared_file() or do_mmap_private() as we keep nommu_region_sem write-locked, so no-one can race with us by seeing a transient region. Signed-off-by: David Howells Acked-by: Pekka Enberg Acked-by: Paul Mundt Cc: Mel Gorman Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e49627b9bc29a14b393c480e8c979e3bc922ef7 Author: Oleg Nesterov Date: Sat Sep 5 11:17:06 2009 -0700 workqueues: introduce __cancel_delayed_work() cancel_delayed_work() has to use del_timer_sync() to guarantee the timer function is not running after return. But most users doesn't actually need this, and del_timer_sync() has problems: it is not useable from interrupt, and it depends on every lock which could be taken from irq. Introduce __cancel_delayed_work() which calls del_timer() instead. The immediate reason for this patch is http://bugzilla.kernel.org/show_bug.cgi?id=13757 but hopefully this helper makes sense anyway. As for 13757 bug, actually we need requeue_delayed_work(), but its semantics are not yet clear. Merge this patch early to resolves cross-tree interdependencies between input and infiniband. Signed-off-by: Oleg Nesterov Cc: Dmitry Torokhov Cc: Roland Dreier Cc: Stefan Richter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baed6b82d9f160184c1c14cdb4accb08f3eb6b87 Author: Stefan Richter Date: Thu Sep 3 23:07:35 2009 +0200 firewire: sbp2: fix freeing of unallocated memory If a target writes invalid status (typically status of a command that already timed out), firewire-sbp2 attempts to put away an ORB that doesn't exist. https://bugzilla.redhat.com/show_bug.cgi?id=519772 Signed-off-by: Stefan Richter commit 4fe0badd5882c64dc2dcd8893f9b85db63339736 Author: Stefan Richter Date: Fri Aug 28 13:26:03 2009 +0200 firewire: ohci: fix Ricoh R5C832, video reception In dual-buffer DMA mode, no video frames are ever received from R5C832 by libdc1394. Fallback to packet-per-buffer DMA works reliably. http://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus=13476 Reported-by: Jonathan Cameron Signed-off-by: Stefan Richter commit fc383796a8cc5df0a0c8633a16dd2e9528a16a63 Author: Stefan Richter Date: Fri Aug 28 13:25:15 2009 +0200 firewire: ohci: fix Agere FW643 and multiple cameras An Agere FW643 OHCI 1.1 card works fine for video reception from one camera but fails early if receiving from two cameras. After a short while, no IR IRQ events occur and the context control register does not react anymore. This happens regardless whether both IR DMA contexts are dual-buffer or one is dual-buffer and the other packet-per-buffer. This can be worked around by disabling dual buffer DMA mode entirely. http://sourceforge.net/mailarchive/message.php?msg_name=4A7C0594.2020208%40gmail.com (Reported by Samuel Audet.) In another report (by Jonathan Cameron), an FW643 works OK with two cameras in dual buffer mode. Whether this is due to different chip revisions or different usage patterns (different video formats) is not yet clear. However, as far as the current capabilities of firewire-core's isochronous I/O interface are concerned, simply switching off dual-buffer on non-working and working FW643s alike is not a problem in practice. We only need to revisit this issue if we are going to enhance the interface, e.g. so that applications can explicitly choose modes. Reported-by: Samuel Audet Reported-by: Jonathan Cameron Signed-off-by: Stefan Richter commit 1821bc19d54009b6f5e6462dd79074d728080839 Author: Stefan Richter Date: Sat Sep 5 13:23:49 2009 +0200 firewire: core: fix crash in iso resource management This fixes a regression due to post 2.6.30 commit "firewire: core: do not DMA-map stack addresses" 6fdc03709433ccc2005f0f593ae9d9dd04f7b485. As David Moore noted, a previously correct sizeof() expression became wrong since the commit changed its argument from an array to a pointer. This resulted in an oops in ohci_cancel_packet in the shared workqueue thread's context when an isochronous resource was to be freed. Reported-by: Jonathan Cameron Signed-off-by: Stefan Richter commit 8379e7c46cc48f51197dd663fc6676f47f2a1e71 Author: Sunil Mushran Date: Fri Sep 4 11:12:01 2009 -0700 ocfs2: ocfs2_write_begin_nolock() should handle len=0 Bug introduced by mainline commit e7432675f8ca868a4af365759a8d4c3779a3d922 The bug causes ocfs2_write_begin_nolock() to oops when len=0. Signed-off-by: Sunil Mushran Cc: stable@kernel.org Signed-off-by: Joel Becker commit ae0b7448e91353ea5f821601a055aca6b58042cd Author: Mikulas Patocka Date: Fri Sep 4 20:40:43 2009 +0100 dm snapshot: fix on disk chunk size validation Fix some problems seen in the chunk size processing when activating a pre-existing snapshot. For a new snapshot, the chunk size can either be supplied by the creator or a default value can be used. For an existing snapshot, the chunk size in the snapshot header on disk should always be used. If someone attempts to load an existing snapshot and has the 'default chunk size' option set, the kernel uses its default value even when it is incorrect for the snapshot being loaded. This patch ensures the correct on-disk value is always used. Secondly, when the code does use the chunk size stored on the disk it is prudent to revalidate it, so the code can exit cleanly if it got corrupted as happened in https://bugzilla.redhat.com/show_bug.cgi?id=461506 . Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 2defcc3fb4661e7351cb2ac48d843efc4c64db13 Author: Mikulas Patocka Date: Fri Sep 4 20:40:41 2009 +0100 dm exception store: split set_chunk_size Break the function set_chunk_size to two functions in preparation for the fix in the following patch. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 61578dcd3fafe6babd72e8db32110cc0b630a432 Author: Mikulas Patocka Date: Fri Sep 4 20:40:39 2009 +0100 dm snapshot: fix header corruption race on invalidation If a persistent snapshot fills up, a race can corrupt the on-disk header which causes a crash on any future attempt to activate the snapshot (typically while booting). This patch fixes the race. When the snapshot overflows, __invalidate_snapshot is called, which calls snapshot store method drop_snapshot. It goes to persistent_drop_snapshot that calls write_header. write_header constructs the new header in the "area" location. Concurrently, an existing kcopyd job may finish, call copy_callback and commit_exception method, that goes to persistent_commit_exception. persistent_commit_exception doesn't do locking, relying on the fact that callbacks are single-threaded, but it can race with snapshot invalidation and overwrite the header that is just being written while the snapshot is being invalidated. The result of this race is a corrupted header being written that can lead to a crash on further reactivation (if chunk_size is zero in the corrupted header). The fix is to use separate memory areas for each. See the bug: https://bugzilla.redhat.com/show_bug.cgi?id=461506 Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 02d2fd31defce6ff77146ad0fef4f19006055d86 Author: Mikulas Patocka Date: Fri Sep 4 20:40:37 2009 +0100 dm snapshot: refactor zero_disk_area to use chunk_io Refactor chunk_io to prepare for the fix in the following patch. Pass an area pointer to chunk_io and simplify zero_disk_area to use chunk_io. No functional change. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 7ec23d50949d5062b5b749638dd9380ed75e58e5 Author: Jonathan Brassow Date: Fri Sep 4 20:40:34 2009 +0100 dm log: userspace add luid to distinguish between concurrent log instances Device-mapper userspace logs (like the clustered log) are identified by a universally unique identifier (UUID). This identifier is used to associate requests from the kernel to a specific log in userspace. The UUID must be unique everywhere, since multiple machines may use this identifier when communicating about a particular log, as is the case for cluster logs. Sometimes, device-mapper/LVM may re-use a UUID. This is the case during pvmoves, when moving from one segment of an LV to another, or when resizing a mirror, etc. In these cases, a new log is created with the same UUID and loaded in the "inactive" slot. When a device-mapper "resume" is issued, the "live" table is deactivated and the new "inactive" table becomes "live". (The "inactive" table can also be removed via a device-mapper 'clear' command.) The above two issues were colliding. More than one log was being created with the same UUID, and there was no way to distinguish between them. So, sometimes the wrong log would be swapped out during the exchange. The solution is to create a locally unique identifier, 'luid', to go along with the UUID. This new identifier is used to determine exactly which log is being referenced by the kernel when the log exchange is made. The identifier is not universally safe, but it does not need to be, since create/destroy/suspend/resume operations are bound to a specific machine; and these are the operations that make up the exchange. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit d2b698644c97cb033261536a4f2010924a00eac9 Author: Jonathan Brassow Date: Fri Sep 4 20:40:32 2009 +0100 dm raid1: do not allow log_failure variable to unset after being set This patch fixes a bug which was triggering a case where the primary leg could not be changed on failure even when the mirror was in-sync. The case involves the failure of the primary device along with the transient failure of the log device. The problem is that bios can be put on the 'failures' list (due to log failure) before 'fail_mirror' is called due to the primary device failure. Normally, this is fine, but if the log device failure is transient, a subsequent iteration of the work thread, 'do_mirror', will reset 'log_failure'. The 'do_failures' function then resets the 'in_sync' variable when processing bios on the failures list. The 'in_sync' variable is what is used to determine if the primary device can be switched in the event of a failure. Since this has been reset, the primary device is incorrectly assumed to be not switchable. The case has been seen in the cluster mirror context, where one machine realizes the log device is dead before the other machines. As the responsibilities of the server migrate from one node to another (because the mirror is being reconfigured due to the failure), the new server may think for a moment that the log device is fine - thus resetting the 'log_failure' variable. In any case, it is inappropiate for us to reset the 'log_failure' variable. The above bug simply illustrates that it can actually hurt us. Cc: stable@kernel.org Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea Author: Jonathan Brassow Date: Fri Sep 4 20:40:30 2009 +0100 dm log: remove incorrect field from userspace table output The output of 'dmsetup table' includes an internal field that should not be there. This patch removes it. To make the fix simpler, we first reorder a constructor argument The 'device size' argument is generated internally. Currently it is placed as the last space-separated word of the constructor string. However, we need to use a version of the string without this word, so we move it to the beginning instead so it is trivial to skip past it. We keep a copy of the arguments passed to userspace for creating a log, just in case we need to resend them. These are the same arguments that are desired in the STATUSTYPE_TABLE request, except for one. When creating the userspace log, the userspace daemon must know the size of the mirror, so that is added to the arguments given in the constructor table. We were printing this extra argument out as well, which is a mistake. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 4142a969175302bc843d1505133488bfdbfa4732 Author: Jonathan Brassow Date: Fri Sep 4 20:40:28 2009 +0100 dm log: fix userspace status output Fix 'dmsetup table' output. There is a missing ' ' at the end of the string causing two words to run together. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 40bea431274c247425e7f5970d796ff7b37a2b22 Author: Mike Snitzer Date: Fri Sep 4 20:40:25 2009 +0100 dm stripe: expose correct io hints Set sensible I/O hints for striped DM devices in the topology infrastructure added for 2.6.31 for userspace tools to obtain via sysfs. Add .io_hints to 'struct target_type' to allow the I/O hints portion (io_min and io_opt) of the 'struct queue_limits' to be set by each target and implement this for dm-stripe. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit a963a956225eb0f8c4d3537f428153c30adf54b8 Author: Mike Snitzer Date: Fri Sep 4 20:40:24 2009 +0100 dm table: add more context to terse warning messages A couple of recent warning messages make it difficult for the reader to determine exactly what is wrong. This patch adds more information to those messages. The messages were added by these commits: 5dea271b6d87bd1d79a59c1d5baac2596a841c37 ("dm table: pass correct dev area size to device_area_is_valid") ea9df47cc92573b159ef3b4fda516c32cba9c4fd ("dm table: fix blk_stack_limits arg to use bytes not sectors") The patch also corrects references to logical_block_size in printk format strings from %hu to %u. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit f6a1ed10864b7540fa758bbccf3433fe17070329 Author: Mikulas Patocka Date: Fri Sep 4 20:40:22 2009 +0100 dm table: fix queue_limit checking device iterator The logic to check for valid device areas is inverted relative to proper use with iterate_devices. The iterate_devices method calls its callback for every underlying device in the target. If any callback returns non-zero, iterate_devices exits immediately. But the callback device_area_is_valid() returns 0 on error and 1 on success. The overall effect without is that an error is issued only if every device is invalid. This patch renames device_area_is_valid to device_area_is_invalid and inverts the logic so that one invalid device is sufficient to raise an error. Signed-off-by: Mikulas Patocka Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit 8811f46c1f9386fc7017150de9d52359e5b1826e Author: Mike Snitzer Date: Fri Sep 4 20:40:19 2009 +0100 dm snapshot: implement iterate devices Implement the .iterate_devices for the origin and snapshot targets. dm-snapshot's lack of .iterate_devices resulted in the inability to properly establish queue_limits for both targets. With 4K sector drives: an unfortunate side-effect of not establishing proper limits in either targets' DM device was that IO to the devices would fail even though both had been created without error. Commit af4874e03ed82f050d5872d8c39ce64bf16b5c38 ("dm target:s introduce iterate devices fn") in 2.6.31-rc1 should have implemented .iterate_devices for dm-snap.c's origin and snapshot targets. Signed-off-by: Mike Snitzer Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit a77e28c7e1dc1a6a035c7627d4a88ecf3ea09aea Author: Kiyoshi Ueda Date: Fri Sep 4 20:40:16 2009 +0100 dm multipath: fix oops when request based io fails when no paths The patch posted at http://marc.info/?l=dm-devel&m=124539787228784&w=2 which was merged into cec47e3d4a861e1d942b3a580d0bbef2700d2bb2 ("dm: prepare for request based option") introduced a regression in request-based dm. If map_request() calls dm_kill_unmapped_request() to complete a cloned bio without dispatching it, clone->bio is still set when dm_end_request() is called and the BUG_ON(clone->bio) is incorrect. The patch fixes this bug by freeing bio in dm_end_request() if the clone has bio. I've redone my tests to cover all I/O paths and confirmed there's no other regression. Here is the oops I hit in request-based dm when I do I/O to a multipath device which doesn't have any active path nor queue_if_no_path setting: ------------[ cut here ]------------ kernel BUG at /root/2.6.31-rc4.rqdm/drivers/md/dm.c:828! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map CPU 1 Modules linked in: autofs4 sunrpc cpufreq_ondemand acpi_cpufreq dm_mirror dm_region_hash dm_log dm_service_time dm_multipath scsi_dh dm_mod video output sbs sbshc battery ac sg sr_mod e1000e button cdrom serio_raw rtc_cmos rtc_core rtc_lib piix lpfc scsi_transport_fc ata_piix libata megaraid_sas sd_mod scsi_mod crc_t10dif ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode] Pid: 7, comm: ksoftirqd/1 Not tainted 2.6.31-rc4.rqdm #1 Express5800/120Lj [N8100-1417] RIP: 0010:[] [] dm_softirq_done+0xbd/0x100 [dm_mod] RSP: 0018:ffff8800280a1f08 EFLAGS: 00010282 RAX: ffffffffa02544e0 RBX: ffff8802aa1111d0 RCX: ffff8802aa1111e0 RDX: ffff8802ab913e70 RSI: 0000000000000000 RDI: ffff8802ab913e70 RBP: ffff8800280a1f28 R08: ffffc90005457040 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: 00000000fffffffb R13: ffff8802ab913e88 R14: ffff8802ab9c1438 R15: 0000000000000100 FS: 0000000000000000(0000) GS:ffff88002809e000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000003d54a98640 CR3: 000000029f0a1000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process ksoftirqd/1 (pid: 7, threadinfo ffff8802ae50e000, task ffff8802ae4f8040) Stack: ffff8800280a1f38 0000000000000020 ffffffff814f30a0 0000000000000004 <0> ffff8800280a1f58 ffffffff8116b245 ffff8800280a1f38 ffff8800280a1f38 <0> ffff8800280a1f58 0000000000000001 ffff8800280a1fa8 ffffffff810477bc Call Trace: [] blk_done_softirq+0x75/0x90 [] __do_softirq+0xcc/0x210 [] ? ksoftirqd+0x0/0x110 [] call_softirq+0x1c/0x50 [] do_softirq+0x65/0xa0 [] ? ksoftirqd+0x0/0x110 [] ksoftirqd+0x70/0x110 [] kthread+0x99/0xb0 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0xb0 [] ? child_rip+0x0/0x20 Code: 44 89 e6 48 89 df e8 23 fb f2 e0 be 01 00 00 00 4c 89 f7 e8 f6 fd ff ff 5b 41 5c 41 5d 41 5e c9 c3 4c 89 ef e8 85 fe ff ff eb ed <0f> 0b eb fe 41 8b 85 dc 00 00 00 48 83 bb 10 01 00 00 00 89 83 RIP [] dm_softirq_done+0xbd/0x100 [dm_mod] RSP ---[ end trace 16af0a1d8542da55 ]--- Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit bd4352cadfacb9084c97c853b025fac010266c26 Author: David S. Miller Date: Fri Sep 4 03:38:54 2009 -0700 sparc64: Fix bootup with mcount in some configs. Functions invoked early when booting up a cpu can't use tracing because mcount requires a valid 'current_thread_info()' and TLB mappings to be setup. The code path of sun4v_register_mondo_queues --> register_one_mondo is one such case. sun4v_register_mondo_queues already has the necessary 'notrace' annotation, but register_one_mondo does not. Normally register_one_mondo is inlined so the bug doesn't trigger, but with some config/compiler combinations, it won't be so we must properly mark it notrace. While we're here, add 'notrace' annoations to prom_printf and prom_halt so that early error handling won't have the same problem. Reported-by: Alexander Beregalov Reported-by: Leif Sawyer Signed-off-by: David S. Miller commit 2bcaa6a4238094c5695d5b1943078388d82d3004 Author: Dave Andrews Date: Thu Sep 3 17:21:27 2009 -0700 Input: atkbd - add Compaq Presario R4000-series repeat quirk Compaq Presario R4000-series laptops are not sending a "volume up button release" and "volume down button release" signal in the PS/2 protocol for atkbd. The URL below has some of confirmed reports: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/385477 Signed-off-by: Dave Andrews Signed-off-by: Dmitry Torokhov commit d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a Author: Eric Dumazet Date: Thu Sep 3 22:38:59 2009 +0300 slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU kmem_cache_destroy() should call rcu_barrier() *after* kmem_cache_close() and *before* sysfs_slab_remove() or risk rcu_free_slab() being called after kmem_cache is deleted (kfreed). rmmod nf_conntrack can crash the machine because it has to kmem_cache_destroy() a SLAB_DESTROY_BY_RCU enabled cache. Cc: Reported-by: Zdenek Kabelac Signed-off-by: Eric Dumazet Acked-by: Paul E. McKenney Signed-off-by: Pekka Enberg commit bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51 Author: Massimo Cirillo Date: Thu Aug 27 10:44:09 2009 +0200 JFFS2: add missing verify buffer allocation/deallocation The function jffs2_nor_wbuf_flash_setup() doesn't allocate the verify buffer if CONFIG_JFFS2_FS_WBUF_VERIFY is defined, so causing a kernel panic when that macro is enabled and the verify function is called. Similarly the jffs2_nor_wbuf_flash_cleanup() must free the buffer if CONFIG_JFFS2_FS_WBUF_VERIFY is enabled. The following patch fixes the problem. The following patch applies to 2.6.30 kernel. Signed-off-by: Massimo Cirillo Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse Cc: stable@kernel.org commit 16f05c2b68520f94e365f9d347a7076f4ff00ad5 Author: Dimitri Gorokhovik Date: Thu Sep 3 14:04:22 2009 +0100 mtd: nftl: fix offset alignments Arithmetic conversion in the mask computation makes the upper word of the second argument passed down to mtd->read_oob(), be always 0 (assuming 'offs' being a 64-bit signed long long type, and 'mtd->writesize' being a 32-bit unsigned int type). This patch applies over the other one adding masking in nftl_write, "nftl: write support is broken". Signed-off-by: Dimitri Gorokhovik Cc: Tim Gardner Cc: Scott James Remnant Signed-off-by: David Woodhouse commit 4149ed1aa944ab864024982a2e568d17eccff504 Author: Dimitri Gorokhovik Date: Thu Sep 3 14:59:13 2009 +0100 mtd: nftl: write support is broken Write support is broken in NFTL. Fix it. Signed-off-by: Cc: Tim Gardner Cc: Scott James Remnant Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit edcb3b14863e1a6aa1923eeaa81125a00cf51a80 Author: Anton Vorontsov Date: Thu Aug 6 15:18:37 2009 -0700 mtd: m25p80: fix null pointer dereference bug This patch fixes the following oops, observed with MTD_PARTITIONS=n: m25p80 spi32766.0: m25p80 (1024 Kbytes) Unable to handle kernel paging request for data at address 0x00000008 Faulting instruction address: 0xc03a54b0 Oops: Kernel access of bad area, sig: 11 [#1] Modules linked in: NIP: c03a54b0 LR: c03a5494 CTR: c01e98b8 REGS: ef82bb60 TRAP: 0300 Not tainted (2.6.31-rc4-00167-g4733fd3) MSR: 00029000 CR: 24022022 XER: 20000000 DEAR: 00000008, ESR: 00000000 TASK = ef82c000[1] 'swapper' THREAD: ef82a000 GPR00: 00000000 ef82bc10 ef82c000 0000002e 00001eb8 ffffffff c01e9824 00000036 GPR08: c054ed40 c0542a08 00001eb8 00004000 22022022 1001a1a0 3ff8fd00 00000000 GPR16: 00000000 00000001 00000000 00000000 ef82bddc c0530000 efbef500 ef8356d0 GPR24: 00000000 ef8356d0 00000000 efbf7a00 c0530ec4 ffffffed efbf5300 c0541f98 NIP [c03a54b0] m25p_probe+0x22c/0x354 LR [c03a5494] m25p_probe+0x210/0x354 Call Trace: [ef82bc10] [c03a5494] m25p_probe+0x210/0x354 (unreliable) [ef82bca0] [c024e37c] spi_drv_probe+0x2c/0x3c [ef82bcb0] [c01f1afc] driver_probe_device+0xa4/0x178 [ef82bcd0] [c01f06e8] bus_for_each_drv+0x6c/0xa8 [ef82bd00] [c01f1a34] device_attach+0x84/0xa8 ... Signed-off-by: Anton Vorontsov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit e6617c6ec28a17cf2f90262b835ec05b9b861400 Author: David S. Miller Date: Thu Sep 3 02:35:20 2009 -0700 sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds. This is a compromise and a temporary workaround for bootup NMI watchdog triggers some people see with qla2xxx devices present. This happens when, for example: CPU 0 is in the driver init and looping submitting mailbox commands to load the firmware, then waiting for completion. CPU 1 is receiving the device interrupts. CPU 1 is where the NMI watchdog triggers. CPU 0 is submitting mailbox commands fast enough that by the time CPU 1 returns from the device interrupt handler, a new one is pending. This sequence runs for more than 5 seconds. The problematic case is CPU 1's timer interrupt running when the barrage of device interrupts begin. Then we have: timer interrupt return for softirq checking pending, thus enable interrupts qla2xxx interrupt return qla2xxx interrupt return ... 5+ seconds pass final qla2xxx interrupt for fw load return run timer softirq return At some point in the multi-second qla2xxx interrupt storm we trigger the NMI watchdog on CPU 1 from the NMI interrupt handler. The timer softirq, once we get back to running it, is smart enough to run the timer work enough times to make up for the missed timer interrupts. However, the NMI watchdogs (both x86 and sparc) use the timer interrupt count to notice the cpu is wedged. But in the above scenerio we'll receive only one such timer interrupt even if we last all the way back to running the timer softirq. The default watchdog trigger point is only 5 seconds, which is pretty low (the softwatchdog triggers at 60 seconds). So increase it to 30 seconds for now. Signed-off-by: David S. Miller commit a3df6f7d3090e611bcc774cd2cba45ae016d37e1 Author: Paul Mackerras Date: Thu Sep 3 11:52:02 2009 +1000 perf_counter/powerpc: Fix cache event codes for POWER7 I had the codes for L1 D-cache load accesses and misses swapped around, and the wrong codes for LL-cache accesses and misses. This corrects them. Reported-by: Corey Ashford Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: LKML-Reference: <19103.8514.709300.585484@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b Author: Eric Dumazet Date: Wed Sep 2 02:40:09 2009 +0000 tc: Fix unitialized kernel memory leak Three bytes of uninitialized kernel memory are currently leaked to user Signed-off-by: Eric Dumazet Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit 92653453c3015c083b9fe0ad48261c6b2267d482 Author: Clemens Ladisch Date: Wed Sep 2 18:25:39 2009 +0200 sound: oxygen: handle cards with missing EEPROM The card model detection code introduced in 2.6.30 that tries to work around partially broken EEPROM contents by reading the EEPROM directly does not handle cards where the EEPROM has been omitted. In this case, we have to use the default ID to allow the driver to load. Signed-off-by: Clemens Ladisch Reported-and-tested-by: Ozan Çağlayan Cc: Signed-off-by: Takashi Iwai commit 07fb6111e7af5fac6b6076e2658d0e32b67f713b Author: Zhenyu Wang Date: Thu Aug 13 18:57:29 2009 +0800 agp/intel: support for new chip variant of IGDNG mobile New variant of IGDNG mobile chip has new host bridge id. [anholt: Note that this new PCI ID doesn't impact the DRM, which doesn't care about the PCI ID of the bridge] Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 58c2fb647a3cf70a90d7b33a3f2a8396a20a0bc4 Author: Chris Wilson Date: Tue Sep 1 12:02:39 2009 +0100 drm/i915: Unref old_obj on get_fence_reg() error path Remember to release the local reference if we fail to wait on the rendering. (Also whilst in the vicinity add some whitespace so that the phasing of the operations is clearer.) Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit bcc24fb42585dc9f490cf7789a917358414bdab5 Author: Jesse Barnes Date: Mon Aug 31 10:24:31 2009 -0700 drm/i915: increase default latency constant (v2 w/comment) Some i915/i945 platforms have a fairly high memory latency in certain situations, so increase our constant a bit to avoid FIFO underruns. The effect should be positive on other platforms as well; we'll have a bit more insurance against a busy memory subsystem due to the extra FIFO entries. Fixes fdo bug #23368. Needed for 2.6.31. Tested-by: Sven Arvidsson Tested-by: Chris Wilson Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 5afe18d2f58812f3924edbd215464e5e3e8545e7 Author: Jiri Bohac Date: Wed Sep 2 11:00:46 2009 +0200 [IA64] fix csum_ipv6_magic() The 32-bit parameters (len and csum) of csum_ipv6_magic() are passed in 64-bit registers in2 and in4. The high order 32 bits of the registers were never cleared, and garbage was sometimes calculated into the checksum. Fix this by clearing the high order 32 bits of these registers. Signed-off-by: Jiri Bohac Signed-off-by: Tony Luck commit f2486f26692433ba27cc10991a085b503b0422a3 Author: Luck, Tony Date: Mon Aug 31 16:54:03 2009 -0700 [IA64] Fix warning in dma-mapping.c arch/ia64/kernel/dma-mapping.c:14: warning: control reaches end of non-void function arch/ia64/kernel/dma-mapping.c:14: warning: no return statement in function returning non-void This warning was introduced by commit: 390bd132b2831a2ad0268e84bffbfc0680debfe5 Add dma_debug_init() for ia64 Signed-off-by: Tony Luck commit 2fbd3da3877ad8d923b055e5996f80b4d4a6daf4 Author: David S. Miller Date: Tue Sep 1 17:59:25 2009 -0700 pkt_sched: Revert tasklet_hrtimer changes. These are full of unresolved problems, mainly that conversions don't work 1-1 from hrtimers to tasklet_hrtimers because unlike hrtimers tasklets can't be killed from softirq context. And when a qdisc gets reset, that's exactly what we need to do here. We'll work this out in the net-next-2.6 tree and if warranted we'll backport that work to -stable. This reverts the following 3 changesets: a2cb6a4dd470d7a64255a10b843b0d188416b78f ("pkt_sched: Fix bogon in tasklet_hrtimer changes.") 38acce2d7983632100a9ff3fd20295f6e34074a8 ("pkt_sched: Convert CBQ to tasklet_hrtimer.") ee5f9757ea17759e1ce5503bdae2b07e48e32af9 ("pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer") Signed-off-by: David S. Miller commit d66ee0587c3927aea5178a822976c7c853d815fe Author: Jarek Poplawski Date: Sun Aug 30 23:15:36 2009 +0000 net: sk_free() should be allowed right after sk_alloc() After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) sk_free() frees socks conditionally and depends on sk_wmem_alloc being set e.g. in sock_init_data(). But in some cases sk_free() is called earlier, usually after other alloc errors. Fix is to move sk_wmem_alloc initialization from sock_init_data() to sk_alloc() itself. Signed-off-by: Jarek Poplawski Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3725867dccfb83e4b0cff64e916a04258f300591 Author: Christoph Hellwig Date: Tue Sep 1 14:03:08 2009 -0400 xfs: actually enable the swapext compat handler Fix a small typo in the compat ioctl handler that cause the swapext compat handler to never be called. Signed-off-by: Christoph Hellwig Reviewed-by: Torsten Kaiser Tested-by: Torsten Kaiser Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit c295fc05789653ef24f296299df7c5f92fe74dce Author: Nikanth Karthikesan Date: Tue Sep 1 22:40:15 2009 +0200 block: Allow changing max_sectors_kb above the default 512 The patch "block: Use accessor functions for queue limits" (ae03bf639a5027d27270123f5f6e3ee6a412781d) changed queue_max_sectors_store() to use blk_queue_max_sectors() instead of directly assigning the value. But blk_queue_max_sectors() differs a bit 1. It sets both max_sectors_kb, and max_hw_sectors_kb 2. Never allows one to change max_sectors_kb above BLK_DEF_MAX_SECTORS. If one specifies a value greater then max_hw_sectors is set to that value but max_sectors is set to BLK_DEF_MAX_SECTORS I am not sure whether blk_queue_max_sectors() should be changed, as it seems to be that way for a long time. And there may be callers dependent on that behaviour. This patch simply reverts to the older way of directly assigning the value to max_sectors as it was before. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit ce6c3997c2fce74d12e6d8887a1d8cdf024fa850 Author: Dominik Brodowski Date: Fri Aug 7 22:58:51 2009 +0200 [CPUFREQ] Re-enable cpufreq suspend and resume code Commit 4bc5d3413503 is broken and causes regressions: (1) cpufreq_driver->resume() and ->suspend() were only called on __powerpc__, but you could set them on all architectures. In fact, ->resume() was defined and used before the PPC-related commit 42d4dc3f4e1e complained about in 4bc5d3413503. (2) Therfore, the resume functions in acpi_cpufreq and speedstep-smi would never be called. (3) This means speedstep-smi would be unusuable after suspend or resume. The _real_ problem was calling cpufreq_driver->get() with interrupts off, but it re-enabling interrupts on some platforms. Why is ->get() necessary? Some systems like to change the CPU frequency behind our back, especially during BIOS-intensive operations like suspend or resume. If such systems also use a CPU frequency-dependant timing loop, delays might be off by large factors. Therefore, we need to ascertain as soon as possible that the CPU frequency is indeed at the speed we think it is. You can do this two ways: either setting it anew, or trying to get it. The latter is what was done, the former also has the same IRQ issue. So, let's try something different: defer the checking to after interrupts are re-enabled, by calling cpufreq_update_policy() (via schedule_work()). Timings may be off until this later stage, so let's watch out for resume regressions caused by the deferred handling of frequency changes behind the kernel's back. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 04a13c7c632e1fe04a5f6e6c83565d2559e37598 Author: Tejun Heo Date: Tue Sep 1 21:12:28 2009 +0900 percpu: don't assume existence of cpu0 percpu incorrectly assumed that cpu0 was always there which led to the following warning and eventual oops on sparc machines w/o cpu0. WARNING: at mm/percpu.c:651 pcpu_map+0xdc/0x100() Modules linked in: Call Trace: [000000000045eb70] warn_slowpath_common+0x50/0xa0 [000000000045ebdc] warn_slowpath_null+0x1c/0x40 [00000000004d493c] pcpu_map+0xdc/0x100 [00000000004d59a4] pcpu_alloc+0x3e4/0x4e0 [00000000004d5af8] __alloc_percpu+0x18/0x40 [00000000005b112c] __percpu_counter_init+0x4c/0xc0 ... Unable to handle kernel NULL pointer dereference ... I7: Disabling lock debugging due to kernel taint Caller[000000000053c1b0]: sysfs_new_dirent+0x30/0x120 Caller[000000000053c7a4]: create_dir+0x24/0xc0 Caller[000000000053c870]: sysfs_create_dir+0x30/0x80 Caller[00000000005990e8]: kobject_add_internal+0xc8/0x200 ... Kernel panic - not syncing: Attempted to kill the idle task! This patch fixes the problem by backporting parts from devel branch to make percpu core not depend on the existence of cpu0. Signed-off-by: Tejun Heo Reported-by: Meelis Roos Cc: David Miller commit b91ab72b830e1494c2c7f8de05ccb2ab2c9cfb26 Author: Clemens Ladisch Date: Tue Sep 1 08:23:58 2009 +0200 sound: oxygen: fix MCLK rate for 192 kHz playback Do not forget to program the MCLK ratio for the I2S output. Otherwise, the master clock frequency can be too high for the DACs at sample frequencies above 96 kHz. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 37d0892c5a94e208cf863e3b7bac014edee4346d Author: Ian Kent Date: Tue Sep 1 11:26:22 2009 +0800 autofs4 - fix missed case when changing to use struct path In the recent change by Al Viro that changes verious subsystems to use "struct path" one case was missed in the autofs4 module which causes mounts to no longer expire. Signed-off-by: Ian Kent Signed-off-by: Linus Torvalds commit cda9856f1ca62484433b9f734cd0fd553a5e4850 Merge: af39989 a3f730a Author: Linus Torvalds Date: Mon Aug 31 17:36:10 2009 -1000 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A ALSA: hda - Add missing mux check for VT1708 commit af3998909772f766f27ba432f281d60098354269 Merge: 1a37f18 d95c5b0 Author: Linus Torvalds Date: Mon Aug 31 17:31:02 2009 -1000 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (12564a): MAINTAINERS: Update gspca sn9c20x name style V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors. V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true V4L/DVB (12457): zr364: wrong indexes V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces V4L/DVB (12450): Siano: Fixed SDIO compilation bugs V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices commit 1a37f184fa7824982a5f434c06981ec46a66cef7 Author: Benjamin Herrenschmidt Date: Mon Aug 31 13:48:16 2009 +1000 lmb: Also remove __init from lmb_end_of_RAM() declaration in lmb.h My previous patch (commit 4f8ee2c9cc: "lmb: Remove __init from lmb_end_of_DRAM()") removed __init in lmb.c but missed the fact that it was also marked as such in the .h Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 60c3be387bb6cd39707d3ec0ebc324a0c96181f8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 30 14:56:30 2009 +0200 ata_piix: parallel scanning on PATA needs an extra locking Commit log for commit 517d3cc15b36392e518abab6bacbb72089658313 ("[libata] ata_piix: Enable parallel scan") says: This patch turns on parallel scanning for the ata_piix driver. This driver is used on most netbooks (no AHCI for cheap storage it seems). The scan is the dominating time factor in the kernel boot for these devices; with this flag it gets cut in half for the device I used for testing (eeepc). Alan took a look at the driver source and concluded that it ought to be safe to do for this driver. Alan has also checked with the hardware team. and it is all true but once we put all things together additional constraints for PATA controllers show up (some hardware registers have per-host not per-port atomicity) and we risk misprogramming the controller. I used the following test to check whether the issue is real: @@ -736,8 +736,20 @@ static void piix_set_piomode(struct ata_ (timings[pio][1] << 8); } pci_write_config_word(dev, master_port, master_data); - if (is_slave) + if (is_slave) { + if (ap->port_no == 0) { + u8 tmp = slave_data; + + while (slave_data == tmp) { + pci_read_config_byte(dev, slave_port, &tmp); + msleep(50); + } + + dev_printk(KERN_ERR, &dev->dev, "PATA parallel scan " + "race detected\n"); + } pci_write_config_byte(dev, slave_port, slave_data); + } /* Ensure the UDMA bit is off - it will be turned back on if UDMA is selected */ and it indeed triggered the error message. Lets fix all such races by adding an extra locking to ->set_piomode and ->set_dmamode methods for PATA controllers. [ Alan: would be better to take the host lock in libata-core for these cases so that we fix all the adapters in one swoop. "Looks fine as a temproary quickfix tho" ] Cc: Arjan van de Ven Acked-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds commit b5af754405e8cb8b14b3f5958581ebf63c3601e9 Merge: adda766 db54501 Author: Linus Torvalds Date: Mon Aug 31 17:22:10 2009 -1000 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Improve CRTDDC mapping by using VBT info drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU. drm/i915: Set crtc/clone mask in different output devices drm/i915: Always use SDVO_B detect bit for SDVO output detection. drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder() drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx drm/i915: Set the multiplier for SDVO on G33 platform commit a3f730af7e33cea10ea66f05b2565fde1f9512df Author: Takashi Iwai Date: Mon Aug 31 08:15:26 2009 +0200 ALSA: hda - Fix MacBookPro 3,1/4,1 quirk with ALC889A This patch fixes the wrong headphone output routing for MacBookPro 3,1/4,1 quirk with ALC889A codec, which caused the silent headphone output. Also, this gives the individual Headphone and Speaker volume controls. Reference: kernel bug#14078 http://bugzilla.kernel.org/show_bug.cgi?id=14078 Signed-off-by: Takashi Iwai Cc: commit 0f67a611629f84dd0afacd23d422b4b9c2558285 Author: Takashi Iwai Date: Mon Aug 31 08:12:29 2009 +0200 ALSA: hda - Add missing mux check for VT1708 In patch_vt1708(), the check of MUX nids is missing and this results in the -EINVAL error in accessing Input Source mixer element. Simpliy adding the call of get_mux_nids() fixes the problem. Reference: Novell bnc#534904 https://bugzilla.novell.com/show_bug.cgi?id=534904 Signed-off-by: Takashi Iwai commit d95c5b0b905aa9b70521eeb83ad4aea85f5e5fd0 Author: Joe Perches Date: Sun Aug 16 20:03:51 2009 -0300 V4L/DVB (12564a): MAINTAINERS: Update gspca sn9c20x name style To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit b6b85048c059e3f085095e48e12ed3f7a92c88d4 Author: Randy Dunlap Date: Wed Aug 26 03:34:16 2009 -0300 V4L/DVB (12502): gspca - sn9c20x: Fix gscpa sn9c20x build errors. Reported-by: Toralf Forster Signed-off-by: Randy Dunlap Signed-off-by: Jean-Francois Moine Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit f4c5e80faba8ae420d7dc5d9237cc1e0262d7386 Author: Shine Liu Date: Thu Aug 20 23:49:26 2009 -0300 V4L/DVB (12495): em28xx: Don't call em28xx_ir_init when disable_ir is true We should call em28xx_ir_init(dev) only when disable_ir is true. Signed-off-by: Shine Liu Reviewed-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 7b808924d65a4d1a0332d0043e02e9eb5dafe32b Author: Roel Kluin Date: Tue Aug 11 08:10:25 2009 -0300 V4L/DVB (12457): zr364: wrong indexes The order of indexes is reversed Signed-off-by: Roel Kluin Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 31e0ad693fb4e1d1be19dbe1c4f5a1ab9978e810 Author: Udi Atar Date: Thu Aug 13 16:30:25 2009 -0300 V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces Update KConfig file to enbale selection of SDIO and USB interfaces, and add dependancy on relevant modules. [mchehab@redhat.com: fix merge conflicts, remove default: m, add missing endmenu] Signed-off-by: Udi Atar Signed-off-by: Mauro Carvalho Chehab commit ef2d12ce12117bb97fa35bbcf677c28e14667efa Author: Udi Atar Date: Sun Jun 28 04:22:55 2009 -0300 V4L/DVB (12450): Siano: Fixed SDIO compilation bugs Fixed SDIO compilation bugs Also fixed a memory overrun issue in buffer management. Signed-off-by: Udi Atar Signed-off-by: Mauro Carvalho Chehab commit f2e26ae7c8c077d001c77b330130f98e42ccad70 Author: Mauro Carvalho Chehab Date: Wed Aug 12 20:21:44 2009 -0300 V4L/DVB (12449): adds webcam for Micron device MT9M111 0x143A to em28xx [mchehab@redhat.com: fix merge conflict and a few CodingStyle issues] Signed-off-by: Steve Gotthardt Signed-off-by: Mauro Carvalho Chehab commit 3746b6178070958279010d112703bca9cdc15e0a Author: Michael Krufky Date: Sun Jul 12 23:30:14 2009 -0300 V4L/DVB (12446): sms1xxx: restore GPIO functionality for all Hauppauge devices Previous changesets broke Hauppauge devices and their GPIO configurations. This changeset restores the LED & LNA functionality. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 38bddf04bcfe661fbdab94888c3b72c32f6873b3 Author: Toru UCHIYAMA Date: Sun Aug 30 22:04:07 2009 -0700 gianfar: gfar_remove needs to call unregister_netdev() This patch solves the problem that the Oops(BUG_ON) occurs by rmmod. # rmmod gianfar_driver ------------[ cut here ]------------ Kernel BUG at c01fec48 [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] MPC837x MDS Modules linked in: gianfar_driver(-) usb_storage scsi_wait_scan NIP: c01fec48 LR: c01febf4 CTR: c01feba8 REGS: dec5bd60 TRAP: 0700 Tainted: G W (2.6.31-rc2) MSR: 00029032 CR: 22000424 XER: 20000000 TASK = dec4cac0[1135] 'rmmod' THREAD: dec5a000 GPR00: 00000002 dec5be10 dec4cac0 dfba1820 c035d444 c035d478 ffffffff 00000000 GPR08: 0000002b 00000001 dfba193c 00000001 22000424 10019b34 1ffcb000 00000000 GPR16: 10012008 00000000 bf82ebe0 100017ec bf82ebec bf82ebe8 bf82ebd0 00000880 GPR24: 00000000 bf82ebf0 c03532f0 c03532e4 c036b594 dfba183c dfba1800 dfba1820 NIP [c01fec48] free_netdev+0xa0/0xb8 LR [c01febf4] free_netdev+0x4c/0xb8 Call Trace: [dec5be10] [c01febf4] free_netdev+0x4c/0xb8 (unreliable) [dec5be30] [e105f290] gfar_remove+0x50/0x68 [gianfar_driver] [dec5be40] [c01ec534] of_platform_device_remove+0x30/0x44 [dec5be50] [c0181760] __device_release_driver+0x68/0xc8 [dec5be60] [c0181868] driver_detach+0xa8/0xac [dec5be80] [c0180814] bus_remove_driver+0x9c/0xd8 [dec5bea0] [c0181efc] driver_unregister+0x60/0x98 [dec5beb0] [c01ec650] of_unregister_driver+0x14/0x24 [dec5bec0] [e10631bc] gfar_exit+0x18/0x4bc [gianfar_driver] [dec5bed0] [c0047584] sys_delete_module+0x16c/0x228 [dec5bf40] [c00116bc] ret_from_syscall+0x0/0x38 --- Exception: c01 at 0xff3669c LR = 0x10000f34 Instruction dump: 409e0024 a07e00c0 7c63f050 4be74429 80010024 bba10014 38210020 7c0803a6 4e800020 68000003 3160ffff 7d2b0110 <0f090000> 38000004 387e01f0 901e01d4 ---[ end trace 8c595bcd37230a0f ]--- localhost kernel: ------------[ cut here ]------------ Signed-off-by: Toru UCHIYAMA uchiyama.toru@jp.fujitsu.com Signed-off-by: David S. Miller commit b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac Author: Ryusuke Konishi Date: Sun Aug 30 04:21:41 2009 +0900 nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key This will fix the following preempt count underflow reported from users with the title "[NILFS users] segctord problem" (Message-ID: <949415.6494.qm@web58808.mail.re1.yahoo.com> and Message-ID: ): WARNING: at kernel/sched.c:4890 sub_preempt_count+0x95/0xa0() Hardware name: HP Compaq 6530b (KR980UT#ABC) Modules linked in: bridge stp llc bnep rfcomm l2cap xfs exportfs nilfs2 cowloop loop vboxnetadp vboxnetflt vboxdrv btusb bluetooth uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 arc4 snd_hda_codec_analog ecb iwlagn iwlcore rfkill lib80211 mac80211 snd_hda_intel snd_hda_codec ehci_hcd uhci_hcd usbcore snd_hwdep snd_pcm tg3 cfg80211 psmouse snd_timer joydev libphy ohci1394 snd_page_alloc hp_accel lis3lv02d ieee1394 led_class i915 drm i2c_algo_bit video backlight output i2c_core dm_crypt dm_mod Pid: 4197, comm: segctord Not tainted 2.6.30-gentoo-r4-64 #7 Call Trace: [] ? sub_preempt_count+0x95/0xa0 [] warn_slowpath_common+0x78/0xd0 [] warn_slowpath_null+0xf/0x20 [] sub_preempt_count+0x95/0xa0 [] nilfs_btnode_prepare_change_key+0x11b/0x190 [nilfs2] [] nilfs_btree_assign_p+0x19d/0x1e0 [nilfs2] [] nilfs_btree_assign+0xbd/0x130 [nilfs2] [] nilfs_bmap_assign+0x47/0x70 [nilfs2] [] nilfs_segctor_do_construct+0x956/0x20f0 [nilfs2] [] ? _spin_unlock_irqrestore+0x12/0x40 [] ? __up_write+0xe0/0x150 [] ? up_write+0x9/0x10 [] ? nilfs_bmap_test_and_clear_dirty+0x43/0x60 [nilfs2] [] ? nilfs_mdt_fetch_dirty+0x27/0x60 [nilfs2] [] nilfs_segctor_construct+0x8c/0xd0 [nilfs2] [] nilfs_segctor_thread+0x15c/0x3a0 [nilfs2] [] ? nilfs_construction_timeout+0x0/0x10 [nilfs2] [] ? add_timer+0x13/0x20 [] ? __wake_up_common+0x5a/0x90 [] ? autoremove_wake_function+0x0/0x40 [] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2] [] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2] [] kthread+0x56/0x90 [] child_rip+0xa/0x20 [] ? kthread+0x0/0x90 [] ? child_rip+0x0/0x20 This problem was caused due to a missing radix_tree_preload() call in the retry path of nilfs_btnode_prepare_change_key() function. Reported-by: Eric A Reported-by: Jerome Poulin Signed-off-by: Ryusuke Konishi Tested-by: Jerome Poulin Cc: stable@kernel.org commit 6faf17f6f1ffc586d16efc2f9fa2083a7785ee74 Author: Chris Wright Date: Fri Aug 28 13:00:06 2009 -0700 PCI SR-IOV: correct broken resource alignment calculations An SR-IOV capable device includes an SR-IOV PCIe capability which describes the Virtual Function (VF) BAR requirements. A typical SR-IOV device can support multiple VFs whose BARs must be in a contiguous region, effectively an array of VF BARs. The BAR reports the size requirement for a single VF. We calculate the full range needed by simply multiplying the VF BAR size with the number of possible VFs and create a resource spanning the full range. This all seems sane enough except it artificially inflates the alignment requirement for the VF BAR. The VF BAR need only be aligned to the size of a single BAR not the contiguous range of VF BARs. This can cause us to fail to allocate resources for the BAR despite the fact that we actually have enough space. This patch adds a thin PCI specific layer over the generic resource_alignment() function which is aware of the special nature of VF BARs and does sorting and allocation based on the smaller alignment requirement. I recognize that while resource_alignment is generic, it's basically a PCI helper. An alternative to this patch is to add PCI VF BAR specific information to struct resource. I opted for the extra layer rather than adding such PCI specific information to struct resource. This does have the slight downside that we don't cache the BAR size and re-read for each alignment query (happens a small handful of times during boot for each VF BAR). Signed-off-by: Chris Wright Cc: Ivan Kokshaysky Cc: Linus Torvalds Cc: Matthew Wilcox Cc: Yu Zhao Cc: stable@kernel.org Signed-off-by: Jesse Barnes commit db54501900ad3665dd669f5708ecd04fc5aed495 Author: David Müller (ELSOFT AG) Date: Sat Aug 29 08:54:45 2009 +0200 drm/i915: Improve CRTDDC mapping by using VBT info Use VBT information to determine which DDC bus to use for CRTDCC. Fall back to GPIOA if VBT info is not available. Signed-off-by: David Müller Reviewed-by: Jesse Barnes Signed-off-by: Eric Anholt Tested on: 855 (David), and 945GM, 965GM, GM45, and G45 (anholt) commit a09ba7faf75fa4b21980d81de8e5f3d5c0785ccf Author: Eric Anholt Date: Sat Aug 29 12:49:51 2009 -0700 drm/i915: Fix CPU-spinning hangs related to fence usage by using an LRU. The lack of a proper LRU was partially worked around by taking the fence from the object containing the oldest seqno. But if there are multiple objects inactive, then they don't have seqnos and the first fence reg among them would be chosen. If you were trying to copy data between two mappings, this could result in each page fault stealing the fence from the other argument, and your application hanging. https://bugs.freedesktop.org/show_bug.cgi?id=23566 https://bugs.freedesktop.org/show_bug.cgi?id=23220 https://bugs.freedesktop.org/show_bug.cgi?id=23253 https://bugs.freedesktop.org/show_bug.cgi?id=23366 Cc: Stable Team Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes Reviewed-by: Chris Wilson commit eced1dfcfcf6b0a35e925d73916a9d8e36ab5457 Author: Peter Zijlstra Date: Fri Aug 28 17:10:47 2009 +0200 perf_counter: Fix /0 bug in swcounters We have a race in the swcounter stuff where we can start counting a counter that has never been enabled, this leads to a /0 situation. The below avoids the /0 but doesn't close the race, this would need a new counter state. The race is due to perf_swcounter_is_counting() which cannot discern between disabled due to scheduled out, and disabled for any other reason. Such a crash has been seen by Ingo: [ 967.092372] divide error: 0000 [#1] SMP [ 967.096499] last sysfs file: /sys/devices/system/cpu/cpu15/cache/index2/shared_cpu_map [ 967.104846] CPU 5 [ 967.106965] Modules linked in: [ 967.110169] Pid: 3351, comm: hackbench Not tainted 2.6.31-rc8-tip-01158-gd940a54-dirty #1568 X8DTN [ 967.119456] RIP: 0010:[] [] perf_swcounter_ctx_event+0x127/0x1af [ 967.129137] RSP: 0018:ffff8801a95abd70 EFLAGS: 00010046 [ 967.134699] RAX: 0000000000000002 RBX: ffff8801bd645c00 RCX: 0000000000000002 [ 967.142162] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8801bd645d40 [ 967.149584] RBP: ffff8801a95abdb0 R08: 0000000000000001 R09: ffff8801a95abe00 [ 967.157042] R10: 0000000000000037 R11: ffff8801aa1245f8 R12: ffff8801a95abe00 [ 967.164481] R13: ffff8801a95abe00 R14: ffff8801aa1c0e78 R15: 0000000000000001 [ 967.171953] FS: 0000000000000000(0000) GS:ffffc90000a00000(0063) knlGS:00000000f7f486c0 [ 967.180406] CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b [ 967.186374] CR2: 000000004822c0ac CR3: 00000001b19a2000 CR4: 00000000000006e0 [ 967.193770] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 967.201224] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 967.208692] Process hackbench (pid: 3351, threadinfo ffff8801a95aa000, task ffff8801a96b0000) [ 967.217607] Stack: [ 967.219711] 0000000000000000 0000000000000037 0000000200000001 ffffc90000a1107c [ 967.227296] <0> ffff8801a95abe00 0000000000000001 0000000000000001 0000000000000037 [ 967.235333] <0> ffff8801a95abdf0 ffffffff810c0c20 0000000200a14f30 ffff8801a95abe40 [ 967.243532] Call Trace: [ 967.246103] [] do_perf_swcounter_event+0xde/0xec [ 967.252635] [] perf_tpcounter_event+0x79/0x7b [ 967.258957] [] ftrace_profile_sched_switch+0xc0/0xcb [ 967.265791] [] schedule+0x429/0x4c4 [ 967.271156] [] int_careful+0xd/0x14 Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1251472247.17617.74.camel@laptop> Signed-off-by: Ingo Molnar commit 0c7d400fafaeab6014504a6a6249f01bac7f7db4 Author: Herbert Xu Date: Sat Aug 29 20:44:04 2009 +1000 crypto: skcipher - Fix skcipher_dequeue_givcrypt NULL test As struct skcipher_givcrypt_request includes struct crypto_request at a non-zero offset, testing for NULL after converting the pointer returned by crypto_dequeue_request does not work. This can result in IPsec crashes when the queue is depleted. This patch fixes it by doing the pointer conversion only when the return value is non-NULL. In particular, we create a new function __crypto_dequeue_request that does the pointer conversion. Reported-by: Brad Bosch Signed-off-by: Herbert Xu commit ab1f5e49f84e7072a0aade47cfeecef70be46c0f Merge: 3161e45 11ebd1b Author: David S. Miller Date: Fri Aug 28 23:04:57 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit adda766193ea1cf3137484a9521972d080d0b7af Merge: 8442edc e29b3ee Author: Linus Torvalds Date: Fri Aug 28 19:41:05 2009 -1000 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: don't free non-existent backlight in acpi video module toshiba_acpi: return on a fail path ACPICA: Windows compatibility fix: same buffer/string store commit 8442edc18843491978f7820f87dbdf293461290e Merge: 825e1e2 750a887 Author: Linus Torvalds Date: Fri Aug 28 19:39:44 2009 -1000 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: update the group mask on mark addition inotify: fix length reporting and size checking inotify: do not send a block of zeros when no pathname is available commit 825e1e23914b9c3dbc49ee8c5a1d1cb421c1270a Author: Grant Grundler Date: Fri Aug 28 15:00:36 2009 -0400 parisc: fix warning in traps.c On Tue, Aug 18, 2009 at 01:45:17PM -0400, John David Anglin wrote: > CC arch/parisc/kernel/traps.o > arch/parisc/kernel/traps.c: In function 'handle_interruption': > arch/parisc/kernel/traps.c:535:18: warning: operation on 'regs->iasq[0]' > may be undefined Yes - Line 535 should use both [0] and [1]. Reported-by: John David Anglin Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin Signed-off-by: Linus Torvalds commit 2574cc9f4ffc6c681c9177111357efe5b76f0e36 Author: Trond Myklebust Date: Fri Aug 28 11:12:12 2009 -0400 SUNRPC: Fix rpc_task_force_reencode This patch fixes the bug that was reported in http://bugzilla.kernel.org/show_bug.cgi?id=14053 If we're in the case where we need to force a reencode and then resend of the RPC request, due to xprt_transmit failing with a networking error, then we _must_ retransmit the entire request. Signed-off-by: Trond Myklebust Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit ea6bff368548d79529421a9dc0710fc5330eb504 Author: Ingo Molnar Date: Fri Aug 28 10:44:56 2009 +0200 modules: Fix build error in the !CONFIG_KALLSYMS case > James Bottomley (1): > module: workaround duplicate section names -tip testing found that this patch breaks the build on x86 if CONFIG_KALLSYMS is disabled: kernel/module.c: In function ‘load_module’: kernel/module.c:2367: error: ‘struct module’ has no member named ‘sect_attrs’ distcc[8269] ERROR: compile kernel/module.c on ph/32 failed make[1]: *** [kernel/module.o] Error 1 make: *** [kernel] Error 2 make: *** Waiting for unfinished jobs.... Commit 1b364bf misses the fact that section attributes are only built and dealt with if kallsyms is enabled. The patch below fixes this. ( note, technically speaking this should depend on CONFIG_SYSFS as well but this patch is correct too and keeps the #ifdef less intrusive - in the KALLSYMS && !SYSFS case the code is a NOP. ) Signed-off-by: Ingo Molnar [ Replaced patch with a slightly cleaner variation by James Bottomley ] Signed-off-by: Linus Torvalds commit 4ed86af67e04cb5eb93faba589d102726207865a Merge: 326ba50 295594e Author: Linus Torvalds Date: Fri Aug 28 19:32:32 2009 -1000 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix vSMP boot crash x86, xen: Initialize cx to suppress warning x86, xen: Suppress WP test on Xen commit e29b3ee3b005897fbdcfdd4b3190776e38739d70 Author: Keith Packard Date: Thu Aug 6 15:57:54 2009 -0700 ACPI: don't free non-existent backlight in acpi video module acpi_video_put_one_device was attempting to remove sysfs entries and unregister a backlight device without first checking that said backlight device structure had been created. Signed-off-by: Keith Packard Acked-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 82e7784f57a81faf673b09bc468e736d582fe754 Author: Jiri Slaby Date: Thu Aug 6 15:57:51 2009 -0700 toshiba_acpi: return on a fail path Return from bt_rfkill_poll() when hci_get_radio_state() fails. value is invalid in that case and should not be assigned to the rfkill state. This also fixes a double unlock bug. Signed-off-by: Jiri Slaby Cc: John W. Linville Cc: Johannes Berg Cc: Henrique de Moraes Holschuh Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit b0de22bdffa2e9a8e280d769c59f866605268484 Author: Lin Ming Date: Wed Aug 26 09:01:34 2009 +0800 ACPICA: Windows compatibility fix: same buffer/string store Fix a compatibility issue when the same buffer or string is stored to itself. This has been seen in the field. Previously, ACPICA would zero out the buffer/string. Now, the operation is treated as a NOP. http://bugzilla.acpica.org/show_bug.cgi?id=803 Reported-by: Rezwanul Kabir Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 11ebd1bf07fafde8d16562966c96b05b0d4ced9e Author: Zhu Yi Date: Fri Aug 28 11:42:31 2009 +0800 ipw2200: firmware DMA loading rework Bartlomiej Zolnierkiewicz reported an atomic order-6 allocation failure for ipw2200 firmware loading in kernel 2.6.30. High order allocation is likely to fail and should always be avoided. The patch fixes this problem by replacing the original order-6 pci_alloc_consistent() with an array of order-1 pages from a pci pool. This utilized the ipw2200 DMA command blocks (up to 64 slots). The maximum firmware size support remains the same (64*8K). This patch fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14016 Cc: Andrew Morton Cc: Mel Gorman Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 750a8870fe4016ef3091fc97e084d58c613c2cc7 Author: Eric Paris Date: Fri Aug 28 12:50:47 2009 -0400 inotify: update the group mask on mark addition Seperating the addition and update of marks in inotify resulted in a regression in that inotify never gets events. The inotify group mask is always 0. This mask should be updated any time a new mark is added. Signed-off-by: Eric Paris commit 83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e Author: Eric Paris Date: Fri Aug 28 11:57:55 2009 -0400 inotify: fix length reporting and size checking 0db501bd0610ee0c0 introduced a regresion in that it now sends a nul terminator but the length accounting when checking for space or reporting to userspace did not take this into account. This corrects all of the rounding logic. Signed-off-by: Eric Paris commit b962e7312ae87006aed6f68ceee94bdf8db08338 Author: Brian Rogers Date: Fri Aug 28 10:00:05 2009 -0400 inotify: do not send a block of zeros when no pathname is available When an event has no pathname, there's no need to pad it with a null byte and therefore generate an inotify_event sized block of zeros. This fixes a regression introduced by commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd where my system wouldn't finish booting because some process was being confused by this. Signed-off-by: Brian Rogers Signed-off-by: Eric Paris commit 6bb56347f5162d1a7cb1dc461023360781ecd4c0 Author: Ingo Molnar Date: Fri Aug 28 13:44:53 2009 +0200 perf_counters: Increase paranoia level Per-cpu counters are an ASLR information leak as they show the execution other tasks do. Increase the paranoia level to 1, which disallows per-cpu counters. (they still allow counting/profiling of own tasks - and admin can profile everything.) Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit a1b08e75dff3dc18a88444803753e667bb1d126e Author: Tao Ma Date: Thu Aug 27 14:46:56 2009 +0800 ocfs2: invalidate dentry if its dentry_lock isn't initialized. In commit a5a0a630922a2f6a774b6dac19f70cb5abd86bb0, when ocfs2_attch_dentry_lock fails, we call an extra iput and reset dentry->d_fsdata to NULL. This resolve a bug, but it isn't completed and the dentry is still there. When we want to use it again, ocfs2_dentry_revalidate doesn't catch it and return true. That make future ocfs2_dentry_lock panic out. One bug is http://oss.oracle.com/bugzilla/show_bug.cgi?id=1162. The resolution is to add a check for dentry->d_fsdata in revalidate process and return false if dentry->d_fsdata is NULL, so that a new ocfs2_lookup will be called again. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 326ba5010a5429a5a528b268b36a5900d4ab0eba Author: Linus Torvalds Date: Thu Aug 27 17:59:04 2009 -0700 Linux 2.6.31-rc8 commit 1b364bf438cf337a3818aee77d68c0713f3e1fc4 Author: James Bottomley Date: Wed Aug 26 22:04:12 2009 +0930 module: workaround duplicate section names The root cause is a duplicate section name (.text); is this legal? [ Amerigo Wang: "AFAIK, yes." ] However, there's a problem with commit 6d76013381ed28979cd122eb4b249a88b5e384fa in that if you fail to allocate a mod->sect_attrs (in this case it's null because of the duplication), it still gets used without checking in add_notes_attrs() This should fix it [ This patch leaves other problems, particularly the sections directory, but recent parisc toolchains seem to produce these modules and this prevents a crash and is a minimal change -- RR ] Signed-off-by: James Bottomley Signed-off-by: Rusty Russell Tested-by: Helge Deller Signed-off-by: Linus Torvalds commit 7d1d16e416e61aeef8655d542f8e4a4fc6e808e4 Author: Rusty Russell Date: Wed Aug 26 22:02:54 2009 +0930 module: fix BUG_ON() for powerpc (and other function descriptor archs) The rarely-used symbol_put_addr() needs to use dereference_function_descriptor on powerpc. Reported-by: Paul Mackerras Signed-off-by: Rusty Russell commit 0a80fb10239b04c45e5e80aad8d4b2ca5ac407b2 Author: Jeremy Fitzhardinge Date: Thu Aug 27 12:22:43 2009 -0700 xenfb: connect to backend before registering fb As soon as the framebuffer is registered, our methods may be called by the kernel. This leads to a crash as xenfb_refresh() gets called before we have the irq. Connect to the backend before registering our framebuffer with the kernel. [ Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=14059 ] Signed-off-by: Michal Schmidt Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit 9c504cadc443a3d002fa581ec5109c0ef02d7b14 Merge: 4f8ee2c 0db501b Author: Linus Torvalds Date: Thu Aug 27 12:26:02 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: Ensure we alwasy write the terminating NULL. inotify: fix locking around inotify watching in the idr inotify: do not BUG on idr entries at inotify destruction inotify: seperate new watch creation updating existing watches commit 4f8ee2c9cc0e885d2bb50ef26db66150ab25213e Author: Benjamin Herrenschmidt Date: Thu Aug 27 17:20:30 2009 +1000 lmb: Remove __init from lmb_end_of_DRAM() We call lmb_end_of_DRAM() to test whether a DMA mask is ok on a machine without IOMMU, but this function is marked as __init. I don't think there's a clean way to get the top of RAM max_pfn doesn't appear to include highmem or I missed (or we have a bug :-) so for now, let's just avoid having a broken 2.6.31 by making this function non-__init and we can revisit later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit cf481442f2e086316ed8a1b3046f00ad23632ac4 Merge: 788d908 7815f4b Author: Linus Torvalds Date: Thu Aug 27 12:24:08 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: update documentation pointers 9p: remove unnecessary v9fses->options which duplicates the mount string net/9p: insulate the client against an invalid error code sent by a 9p server 9p: Add missing cast for the error return value in v9fs_get_inode 9p: Remove redundant inode uid/gid assignment 9p: Fix possible regressions when ->get_sb fails. 9p: Fix v9fs show_options 9p: Fix possible memleak in v9fs_inode_from fid. 9p: minor comment fixes 9p: Fix possible inode leak in v9fs_get_inode. 9p: Check for error in return value of v9fs_fid_add commit 788d908f2879a17e5f80924f3da2e23f1034482d Author: Julien TINNES Date: Thu Aug 27 15:26:58 2009 +0200 ipv4: make ip_append_data() handle NULL routing table Add a check in ip_append_data() for NULL *rtp to prevent future bugs in callers from being exploitable. Signed-off-by: Julien Tinnes Signed-off-by: Tavis Ormandy Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 9886e836a6a5dbd273dc55b17e713f0a188d137f Author: David Howells Date: Thu Aug 27 13:09:06 2009 +0100 AFS: Stop readlink() on AFS crashing due to NULL 'file' ptr kAFS crashes when asked to read a symbolic link because page_getlink() passes a NULL file pointer to read_mapping_page(), but afs_readpage() expects a file pointer from which to extract a key. Modify afs_readpage() to request the appropriate key from the calling process's keyrings if a file struct is not supplied with one attached. Signed-off-by: David Howells Acked-by: Anton Blanchard Signed-off-by: Linus Torvalds commit 0db501bd0610ee0c0aca84d927f90bcccd09e2bd Author: Eric W. Biederman Date: Thu Aug 27 03:20:04 2009 -0700 inotify: Ensure we alwasy write the terminating NULL. Before the rewrite copy_event_to_user always wrote a terqminating '\0' byte to user space after the filename. Since the rewrite that terminating byte was skipped if your filename is exactly a multiple of event_size. Ouch! So add one byte to name_size before we round up and use clear_user to set userspace to zero like /dev/zero does instead of copying the strange nul_inotify_event. I can't quite convince myself len_to_zero will never exceed 16 and even if it doesn't clear_user should be more efficient and a more accurate reflection of what the code is trying to do. Signed-off-by: Eric W. Biederman Signed-off-by: Eric Paris commit dead537dd8a1c9495322c1d6f7c780697f474af0 Author: Eric Paris Date: Mon Aug 24 16:03:35 2009 -0400 inotify: fix locking around inotify watching in the idr The are races around the idr storage of inotify watches. It's possible that a watch could be found from sys_inotify_rm_watch() in the idr, but it could be removed from the idr before that code does it's removal. Move the locking and the refcnt'ing so that these have to happen atomically. Signed-off-by: Eric Paris commit cf4374267fbe966e8e4e7db68f5dc7b267439780 Author: Eric Paris Date: Mon Aug 24 16:03:35 2009 -0400 inotify: do not BUG on idr entries at inotify destruction If an inotify watch is left in the idr when an fsnotify group is destroyed this will lead to a BUG. This is not a dangerous situation and really indicates a programming bug and leak of memory. This patch changes it to use a WARN and a printk rather than killing people's boxes. Signed-off-by: Eric Paris commit 52cef7555adf5ca09b3b7283097466759120d901 Author: Eric Paris Date: Mon Aug 24 16:03:35 2009 -0400 inotify: seperate new watch creation updating existing watches There is nothing known wrong with the inotify watch addition/modification but this patch seperates the two code paths to make them each easy to verify as correct. Signed-off-by: Eric Paris commit 1e23502cc57cef33455ac7cb9111e3c6d991a894 Merge: e99b1f2 3161e45 Author: Linus Torvalds Date: Wed Aug 26 20:54:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: virtio: net refill on out-of-memory smc91x: fix compilation on SMP commit e99b1f22f91cc5e2d06699b3d8958a0ff6cb24d9 Merge: 5311034 b080f18 Author: Linus Torvalds Date: Wed Aug 26 20:39:31 2009 -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/ps3: Update ps3_defconfig powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration commit b080f187adb79bbcbe28814b07cbc1ead34c469a Author: Geoff Levand Date: Tue Aug 25 07:53:35 2009 +0000 powerpc/ps3: Update ps3_defconfig Update ps3_defconfig. o Refresh for 2.6.31. o Remove MTD support. o Add more HID drivers. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 7b6a09f3d6aedeaac923824af2a5df30300b56e9 Author: Geert Uytterhoeven Date: Sun Aug 23 22:54:32 2009 +0000 powerpc/ps3: Add missing check for PS3 to rtc-ps3 platform device registration On non-PS3, we get: | kernel BUG at drivers/rtc/rtc-ps3.c:36! because the rtc-ps3 platform device is registered unconditionally in a kernel with builtin support for PS3. Reported-by: Sachin Sant Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 5311034ddda7aad48934520d3536b9d0e4502672 Merge: 533995e 53a7197 Author: Linus Torvalds Date: Wed Aug 26 20:17:07 2009 -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: IMA: iint put in ima_counts_get and put commit 533995ed85730a1f5f385b9ecb2d2b4b731d27b4 Merge: cc674c8 9848484 Author: Linus Torvalds Date: Wed Aug 26 20:16:38 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open m68k: Fix redefinition of pgprot_noncached arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg m68k: cnt reaches -1, not 0 m68k: count can reach 51, not 50 commit cc674c81f01a6151ca00c617e5efa0812ee5fdbe Author: Thadeu Lima de Souza Cascardo Date: Wed Aug 26 14:29:32 2009 -0700 leds: after setting inverted attribute, we must update the LED If we change the inverted attribute to another value, the LED will not be inverted until we change the GPIO state. Signed-off-by: Thadeu Lima de Souza Cascardo Cc: Samuel R. C. Vale Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48cccd26f36511ddb6aeca07485ecf2829683907 Author: Thadeu Lima de Souza Cascardo Date: Wed Aug 26 14:29:31 2009 -0700 leds: fix multiple requests and releases of IRQ for GPIO LED Trigger When setting the same GPIO number, multiple IRQ shared requests will be done without freing the previous request. It will also try to free a failed request or an already freed IRQ if 0 was written to the gpio file. All these oops and leaks were fixed with the following solution: keep the previous allocated GPIO (if any) still allocated in case the new request fails. The alternative solution would desallocate the previous allocated GPIO and set gpio as 0. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Samuel R. C. Vale Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf57de4e6abc389cc3f3bd94ec15cce74cf6f4b Author: Frans Pop Date: Wed Aug 26 14:29:30 2009 -0700 acpi processor: remove superfluous warning message This failure is very common on many platforms. Handling it in the ACPI processor driver is enough, and we don't need a warning message unless CONFIG_ACPI_DEBUG is set. Based on a patch from Zhang Rui. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389 Signed-off-by: Frans Pop Acked-by: Zhang Rui Cc: Len Brown Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a908002c7b1b666616103e9df2419b38d7c6f1f Author: Frans Pop Date: Wed Aug 26 14:29:29 2009 -0700 ACPI processor: force throttling state when BIOS returns incorrect value If the BIOS reports an invalid throttling state (which seems to be fairly common after system boot), a reset is done to state T0. Because of a check in acpi_processor_get_throttling_ptc(), the reset never actually gets executed, which results in the error reoccurring on every access of for example /proc/acpi/processor/CPU0/throttling. Add a 'force' option to acpi_processor_set_throttling() to ensure the reset really takes effect. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13389 This patch, together with the next one, fixes a regression introduced in 2.6.30, listed on the regression list. They have been available for 2.5 months now in bugzilla, but have not been picked up, despite various reminders and without any reason given. Google shows that numerous people are hitting this issue. The issue is in itself relatively minor, but the bug in the code is clear. The patches have been in all my kernels and today testing has shown that throttling works correctly with the patches applied when the system overheats (http://bugzilla.kernel.org/show_bug.cgi?id=13918#c14). Signed-off-by: Frans Pop Acked-by: Zhang Rui Cc: Len Brown Cc: "Rafael J. Wysocki" Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d83e2415445e5b157bef404d38674e9e8de169 Author: Costantino Leandro Date: Wed Aug 26 14:29:28 2009 -0700 wmi: fix kernel panic when stack protection enabled. Summary: Kernel panic arise when stack protection is enabled, since strncat will add a null terminating byte '\0'; So in functions like this one (wmi_query_block): char wc[4]="WC"; .... strncat(method, block->object_id, 2); ... the length of wc should be n+1 (wc[5]) or stack protection fault will arise. This is not noticeable when stack protection is disabled,but , isn't good either. Config used: [CONFIG_CC_STACKPROTECTOR_ALL=y, CONFIG_CC_STACKPROTECTOR=y] Panic Trace ------------ .... stack-protector: kernel stack corrupted in : fa7b182c 2.6.30-rc8-obelisco-generic call_trace: [] ? panic+0x45/0xd9 [] ? __stack_chk_fail+0x1c/0x40 [] ? wmi_query_block+0x15a/0x162 [wmi] [] ? wmi_query_block+0x15a/0x162 [wmi] [] ? acer_wmi_init+0x00/0x61a [acer_wmi] [] ? acer_wmi_init+0x135/0x61a [acer_wmi] [] ? do_one_initcall+0x50+0x126 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13514 Signed-off-by: Costantino Leandro Signed-off-by: Carlos Corbacho Cc: Len Brown Cc: Bjorn Helgaas Cc: "Rafael J. Wysocki" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce8442b55135c679809311997d1446f3bbc05de2 Author: Yinghai Lu Date: Wed Aug 26 14:29:26 2009 -0700 acpi: don't call acpi_processor_init if acpi is disabled Jens reported early_ioremap messages with old ASUS board... > [ 1.507461] pci 0000:00:09.0: Firmware left e100 interrupts enabled; disabling > [ 1.532778] early_ioremap(3fffd080, 0000005c) [0] => Pid: 1, comm: swapper Not tainted 2.6.31-rc4 #36 > [ 1.561007] Call Trace: > [ 1.568638] [] ? printk+0x18/0x1d > [ 1.581734] [] __early_ioremap+0x74/0x1e9 > [ 1.596898] [] early_ioremap+0x1a/0x1c > [ 1.611270] [] __acpi_map_table+0x18/0x1a > [ 1.626451] [] acpi_os_map_memory+0x1d/0x25 > [ 1.642129] [] acpi_tb_verify_table+0x20/0x49 > [ 1.658321] [] acpi_get_table_with_size+0x53/0xa1 > [ 1.675553] [] acpi_get_table+0x10/0x15 > [ 1.690192] [] acpi_processor_init+0x23/0xab > [ 1.706126] [] do_one_initcall+0x33/0x180 > [ 1.721279] [] ? acpi_processor_init+0x0/0xab > [ 1.737479] [] ? register_irq_proc+0xaa/0xc0 > [ 1.753411] [] ? init_irq_proc+0x67/0x80 > [ 1.768316] [] kernel_init+0x120/0x176 > [ 1.782678] [] ? kernel_init+0x0/0x176 > [ 1.797062] [] kernel_thread_helper+0x7/0x10 > [ 1.812984] 00000080 + ffe00000 that is rather later. acpi_gbl_permanent_mmap should be set in acpi_early_init() if acpi is not disabled and we have > [ 0.000000] ASUS P2B-DS detected: force use of acpi=ht just don't load acpi_processor_init... Reported-and-tested-by: Jens Rosenboom Signed-off-by: Yinghai Lu Acked-by: Ingo Molnar Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d288162f2afc42b37aab656f4622c076babbca3 Author: Michael Brunner Date: Wed Aug 26 14:29:25 2009 -0700 thermal_sys: check get_temp return value The return value of the get_temp function is not checked when doing a thermal zone update. This may lead to a critical shutdown if get_temp fails and the content of the temp variable is incorrectly set higher than the critical trip point. This has been observed on a system with incorrect ACPI implementation where the corresponding methods were not serialized and therefore sometimes triggered ACPI errors (AE_ALREADY_EXISTS). The following critical shutdowns indicated a temperature of 2097 C, which was obviously wrong. The patch adds a return value check that jumps over all trip point evaluations printing a warning if get_temp fails. The trip points are evaluated again on the next polling interval with successful get_temp execution. Signed-off-by: Michael Brunner Acked-by: Zhang Rui Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ab6c08336535f8c8e42cf45d7adeda882eff06e Author: Oleg Nesterov Date: Wed Aug 26 14:29:24 2009 -0700 clone(): fix race between copy_process() and de_thread() Spotted by Hiroshi Shimamoto who also provided the test-case below. copy_process() uses signal->count as a reference counter, but it is not. This test case #include #include #include #include #include #include void *null_thread(void *p) { for (;;) sleep(1); return NULL; } void *exec_thread(void *p) { execl("/bin/true", "/bin/true", NULL); return null_thread(p); } int main(int argc, char **argv) { for (;;) { pid_t pid; int ret, status; pid = fork(); if (pid < 0) break; if (!pid) { pthread_t tid; pthread_create(&tid, NULL, exec_thread, NULL); for (;;) pthread_create(&tid, NULL, null_thread, NULL); } do { ret = waitpid(pid, &status, 0); } while (ret == -1 && errno == EINTR); } return 0; } quickly creates an unkillable task. If copy_process(CLONE_THREAD) races with de_thread() copy_signal()->atomic(signal->count) breaks the signal->notify_count logic, and the execing thread can hang forever in kernel space. Change copy_process() to increment count/live only when we know for sure we can't fail. In this case the forked thread will take care of its reference to signal correctly. If copy_process() fails, check CLONE_THREAD flag. If it it set - do nothing, the counters were not changed and current belongs to the same thread group. If it is not set, ->signal must be released in any case (and ->count must be == 1), the forked child is the only thread in the thread group. We need more cleanups here, in particular signal->count should not be used by de_thread/__exit_signal at all. This patch only fixes the bug. Reported-by: Hiroshi Shimamoto Tested-by: Hiroshi Shimamoto Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: KAMEZAWA Hiroyuki Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ef83af528899aa339e42d8024b37e2f434fba4 Author: Minchan Kim Date: Wed Aug 26 14:29:23 2009 -0700 mm: fix for infinite churning of mlocked pages An mlocked page might lose the isolatation race. This causes the page to clear PG_mlocked while it remains in a VM_LOCKED vma. This means it can be put onto the [in]active list. We can rescue it by using try_to_unmap() in shrink_page_list(). But now, As Wu Fengguang pointed out, vmscan has a bug. If the page has PG_referenced, it can't reach try_to_unmap() in shrink_page_list() but is put into the active list. If the page is referenced repeatedly, it can remain on the [in]active list without being moving to the unevictable list. This patch fixes it. Reported-by: Wu Fengguang Signed-off-by: Minchan Kim Reviewed-by: KOSAKI Motohiro < Cc: Lee Schermerhorn Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62e408c05228f40e69bb38a48db8961cac6cd23 Author: David Rientjes Date: Wed Aug 26 14:29:22 2009 -0700 flex_array: convert element_nr formals to unsigned It's problematic to allow signed element_nr's or total's to be passed as part of the flex array API. flex_array_alloc() allows total_nr_elements to be set to a negative quantity, which is obviously erroneous. flex_array_get() and flex_array_put() allows negative array indices in dereferencing an array part, which could address memory mapped before struct flex_array. The fix is to convert all existing element_nr formals to be qualified as unsigned. Existing checks to compare it to total_nr_elements or the max array size based on element_size need not be changed. Signed-off-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e7ee27095aee87b5db1b0061e2ceea5878a1bbd Author: David Rientjes Date: Wed Aug 26 14:29:21 2009 -0700 flex_array: declare parts member to have incomplete type The `parts' member of struct flex_array should evaluate to an incomplete type so that sizeof() cannot be used and C99 does not require the zero-length specification. Signed-off-by: David Rientjes Acked-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 105b6e8a74cac11cdf70903877593c7f202075cc Author: David Rientjes Date: Wed Aug 26 14:29:20 2009 -0700 flex_array: fix flex_array_free_parts comment flex_array_free_parts() does not take `src' or `element_nr' formals, so remove their respective comments. Signed-off-by: David Rientjes Acked-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a30b595d2ca6d39e784a1bed5f2b35f3d7a03af7 Author: David Rientjes Date: Wed Aug 26 14:29:20 2009 -0700 flex_array: fix get function for elements in base starting at non-zero If all array elements fit into the base structure and data is copied using flex_array_put() starting at a non-zero index, flex_array_get() will fail to return the data. This fixes the bug by only checking for NULL parts when all elements do not fit in the base structure when flex_array_get() is used. Otherwise, fa_element_to_part_nr() will always be 0 since there are no parts structures needed and such element may never have been put. Thus, it will remain NULL due to the kzalloc() of the base. Additionally, flex_array_put() now only checks for a NULL part when all elements do not fit in the base structure. This is otherwise unnecessary since the base structure is guaranteed to exist (or we would have already hit a NULL pointer). Signed-off-by: David Rientjes Acked-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054b2b13ccba4876a1ce98a7ede7dab7d6893d01 Author: Joonwoo Park Date: Wed Aug 26 14:29:18 2009 -0700 pps: fix incorrect verdict check Fix incorrect verdict check and returns error if device_create failed, otherwise driver triggers kernel oops. Signed-off-by: Joonwoo Park Cc: Rodolfo Giometti Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53a7197aff20e341487fca8575275056fe1c63e5 Author: Eric Paris Date: Wed Aug 26 14:56:48 2009 -0400 IMA: iint put in ima_counts_get and put ima_counts_get() calls ima_iint_find_insert_get() which takes a reference to the iint in question, but does not put that reference at the end of the function. This can lead to a nasty memory leak. Easy enough to reproduce: #include #include int main (void) { int i; void *ptr; for (i=0; i < 100000; i++) { ptr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (ptr == MAP_FAILED) return 2; munmap(ptr, 4096); } return 0; } Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9848484fad9ddeb18f18f02f9ecdcd330ac9a216 Author: Geert Uytterhoeven Date: Fri Aug 21 22:03:54 2009 +0200 m68k,m68knommu: Wire up rt_tgsigqueueinfo and perf_counter_open Signed-off-by: Geert Uytterhoeven Acked-by: Greg Ungerer commit 9fd926b4ab1e38ac5e3eb3ba0afb56726d90aa88 Author: Alexey Dobriyan Date: Thu Jul 9 17:08:38 2009 +0400 m68k: Fix redefinition of pgprot_noncached arch/m68k/include/asm/pgtable_mm.h:148:1: warning: "pgprot_noncached" redefined In file included from arch/m68k/include/asm/pgtable_mm.h:138, from arch/m68k/include/asm/pgtable.h:4, from include/linux/mm.h:40, from include/linux/pagemap.h:7, from include/linux/blkdev.h:12, from arch/m68k/emu/nfblock.c:17: include/asm-generic/pgtable.h:133:1: warning: this is the location of the previous definition pgprot_noncached() should be defined _before_ including asm-generic/pgtable.h Signed-off-by: Alexey Dobriyan Signed-off-by: Geert Uytterhoeven commit dc71c7d5dbd8cd8bb6e3b548ddc0454b64ded5f8 Author: Andrew Morton Date: Wed Jun 17 13:13:58 2009 -0700 arch/m68k/include/asm/motorola_pgalloc.h: fix kunmap arg arch/m68k/include/asm/motorola_pgalloc.h: In function 'pte_alloc_one': arch/m68k/include/asm/motorola_pgalloc.h:44: warning: passing argument 1 of 'kunmap' from incompatible pointer type Also, remove unneeded test for kmap() failure. Signed-off-by: Andrew Morton Signed-off-by: Geert Uytterhoeven commit dd9b3e84f2095ed19582f4df5d20e1e40c01ca3c Author: Roel Kluin Date: Wed Jun 17 13:13:57 2009 -0700 m68k: cnt reaches -1, not 0 With the postfix decrement cnt reaches -1 rather than 0. Signed-off-by: Roel Kluin Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Geert Uytterhoeven commit dac9ff79a8122b30176e23359bb879b3144d7f1f Author: Roel Kluin Date: Wed Jun 17 13:13:56 2009 -0700 m68k: count can reach 51, not 50 With while (count++ < 50) { ... } count can reach 51, not 50, so we shouldn't give an error message on a count of 50. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Roel Kluin Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Geert Uytterhoeven commit 3161e453e496eb5643faad30fff5a5ab183da0fe Author: Rusty Russell Date: Wed Aug 26 12:22:32 2009 -0700 virtio: net refill on out-of-memory If we run out of memory, use keventd to fill the buffer. There's a report of this happening: "Page allocation failures in guest", Message-ID: <20090713115158.0a4892b0@mjolnir.ossman.eu> Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 0b4f2928f14c4a9770b0866923fc81beb7f4aa57 Author: Alexey Dobriyan Date: Wed Aug 26 12:03:35 2009 -0700 smc91x: fix compilation on SMP Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ced909ff048c9950e211783417f3c01361f3be28 Author: Dmitry Torokhov Date: Tue Aug 25 19:24:10 2009 -0700 Input: i8042 - add Acer Aspire 5536 to the nomux list When KBC is in active multiplexing mode, disabling and re-enabling the touchpad with the special key leaves the touchpad dead. Since the laptop does not have any external PS/2 ports disabling MUX mode should be safe. Reported-by: Eugeniy Meshcheryakov Signed-off-by: Dmitry Torokhov commit 295594e9cf6ae2efd73371777aa8feba0f87f42f Author: Yinghai Lu Date: Tue Aug 25 13:44:44 2009 -0700 x86: Fix vSMP boot crash 2.6.31-rc7 does not boot on vSMP systems: [ 8.501108] CPU31: Thermal monitoring enabled (TM1) [ 8.501127] CPU 31 MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8 [ 8.650254] CPU31: Intel(R) Xeon(R) CPU E5540 @ 2.53GHz stepping 04 [ 8.710324] Brought up 32 CPUs [ 8.713916] Total of 32 processors activated (162314.96 BogoMIPS). [ 8.721489] ERROR: parent span is not a superset of domain->span [ 8.727686] ERROR: domain->groups does not contain CPU0 [ 8.733091] ERROR: groups don't span domain->span [ 8.737975] ERROR: domain->cpu_power not set [ 8.742416] Ravikiran Thirumalai bisected it to: | commit 2759c3287de27266e06f1f4e82cbd2d65f6a044c | x86: don't call read_apic_id if !cpu_has_apic The problem is that on vSMP systems the CPUID derived initial-APICIDs are overlapping - so we need to fall back on hard_smp_processor_id() which reads the local APIC. Both come from the hardware (influenced by firmware though) so it's a tough call which one to trust. Doing the quirk expresses the vSMP property properly and also does not affect other systems, so we go for this solution instead of a revert. Reported-and-Tested-by: Ravikiran Thirumalai Signed-off-by: Yinghai Lu Cc: Linus Torvalds Cc: Cyrill Gorcunov Cc: Shai Fultheim Cc: Suresh Siddha LKML-Reference: <4A944D3C.5030100@kernel.org> Signed-off-by: Ingo Molnar commit f415c413f458837bd0c27086b79aca889f9435e4 Merge: 4dc627d 4484b9c Author: Linus Torvalds Date: Tue Aug 25 21:24:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: irda/sa1100_ir: fix broken netdev_ops conversion irda/au1k_ir: fix broken netdev_ops conversion pkt_sched: Fix bogon in tasklet_hrtimer changes. commit 4dc627d55edad85e26ae81f17634bd4590993ba0 Merge: 9c93768 d8ed1d4 Author: Linus Torvalds Date: Tue Aug 25 21:24:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Validate linear D-TLB misses. sparc64: Update defconfig. sparc32: Update defconfig. sparc32: Kill trap table freeing code. sparc: sys32.S incorrect compat-layer splice() system call sparc: Use page_fault_out_of_memory() for VM_FAULT_OOM. sparc64: Sign extend length arg to truncate syscalls when compat. sparc: Fix cleanup crash in bbc_envctrl_cleanup() commit 7adb4df410966dfe43e4815256e3215110648fb8 Author: H. Peter Anvin Date: Tue Aug 25 21:06:03 2009 -0700 x86, xen: Initialize cx to suppress warning Initialize cx before calling xen_cpuid(), in order to suppress the "may be used uninitialized in this function" warning. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge commit d560bc61575efae43595cbcb56d0ba3b9450139c Author: Jeremy Fitzhardinge Date: Tue Aug 25 12:53:02 2009 -0700 x86, xen: Suppress WP test on Xen Xen always runs on CPUs which properly support WP enforcement in privileged mode, so there's no need to test for it. This also works around a crash reported by Arnd Hannemann, though I think its just a band-aid for that case. Reported-by: Arnd Hannemann Signed-off-by: Jeremy Fitzhardinge Acked-by: Pekka Enberg Signed-off-by: H. Peter Anvin commit 4484b9c8b4976acee181d377f8ba571109d1a2be Author: Alexander Beregalov Date: Tue Aug 25 20:39:37 2009 -0700 irda/sa1100_ir: fix broken netdev_ops conversion This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect net_device_ops). Do the same for sa1100_ir. Untested. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 730a9cfc2dcead5538c0c96a046000d97140b0c0 Author: Alexander Beregalov Date: Tue Aug 25 20:39:18 2009 -0700 irda/au1k_ir: fix broken netdev_ops conversion This patch is based on commit d2f3ad4 (pxaficp-ir: remove incorrect net_device_ops). Do the same for au1k_ir. Untested. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d8ed1d43e17898761c7221014a15a4c7501d2ff3 Author: David S. Miller Date: Tue Aug 25 16:47:46 2009 -0700 sparc64: Validate linear D-TLB misses. When page alloc debugging is not enabled, we essentially accept any virtual address for linear kernel TLB misses. But with kgdb, kernel address probing, and other facilities we can try to access arbitrary crap. So, make sure the address we miss on will translate to physical memory that actually exists. In order to make this work we have to embed the valid address bitmap into the kernel image. And in order to make that less expensive we make an adjustment, in that the max physical memory address is decreased to "1 << 41", even on the chips that support a 42-bit physical address space. We can do this because bit 41 indicates "I/O space" and thus covers non-memory ranges. The result of this is that: 1) kpte_linear_bitmap shrinks from 2K to 1K in size 2) we need 64K more for the valid address bitmap We can't let the valid address bitmap be dynamically allocated once we start using it to validate TLB misses, otherwise we have crazy issues to deal with wrt. recursive TLB misses and such. If we're in a TLB miss it could be the deepest trap level that's legal inside of the cpu. So if we TLB miss referencing the bitmap, the cpu will be out of trap levels and enter RED state. To guard against out-of-range accesses to the bitmap, we have to check to make sure no bits in the physical address above bit 40 are set. We could export and use last_valid_pfn for this check, but that's just an unnecessary extra memory reference. On the plus side of all this, since we load all of these translations into the special 4MB mapping TSB, and we check the TSB first for TLB misses, there should be absolutely no real cost for these new checks in the TLB miss path. Reported-by: heyongli@gmail.com Signed-off-by: David S. Miller commit 9c9376886622b45c32f64c4444f5628dde77dfe6 Merge: 87bcfa33 4464fca Author: Linus Torvalds Date: Tue Aug 25 11:24:37 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix typo in read() output generation perf tools: Check perf.data owner commit 87bcfa33669449e517fda718ed3c2e1899e6541b Merge: 44afa9a ec9c96e Author: Linus Torvalds Date: Tue Aug 25 11:24:24 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: dma-debug: Fix check_unmap null pointer dereference commit 44afa9a4b8c5773f47e6494da12ca086c9ffea34 Merge: 7d63e63 f833bab Author: Linus Torvalds Date: Tue Aug 25 11:24:04 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevent: Prevent dead lock on clockevents_lock timers: Drop write permission on /proc/timer_list commit 7d63e6359a2e86cd6335337de99354ab07680c55 Merge: 9f459fa 4a683bf Author: Linus Torvalds Date: Tue Aug 25 11:23:43 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix too large stack usage in do_one_initcall() tracing: handle broken names in ftrace filter ftrace: Unify effect of writing to trace_options and option/* commit 9f459fadbb38abe68aa342f533ca17d8d90d6f2e Merge: e9cab24 c62e432 Author: Linus Torvalds Date: Tue Aug 25 11:23:25 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix build with older binutils and consolidate linker script x86: Fix an incorrect argument of reserve_bootmem() x86: add vmlinux.lds to targets in arch/x86/boot/compressed/Makefile xen: rearrange things to fix stackprotector x86: make sure load_percpu_segment has no stackprotector i386: Fix section mismatches for init code with !HOTPLUG_CPU x86, pat: Allow ISA memory range uncacheable mapping requests commit e9cab24cf3e5610898fb26bfd664615d0fd6a8d6 Merge: a206e94 3c4cec6 Author: Linus Torvalds Date: Tue Aug 25 09:47:36 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: ext3: Improve error message that changing journaling mode on remount is not possible ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED commit a206e9417f19cf42156249953b72223a0076dc6b Merge: 7cafe60 b1ddaf6 Author: Linus Torvalds Date: Tue Aug 25 09:47:06 2009 -0700 Merge branch 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: pcm_lib: fix unsorted list constraint handling sound: vx222: fix input level control range check ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready() commit 7cafe60550469ad80e990d9223c4b5d501635015 Merge: 5c58cef c5e7f5a Author: Linus Torvalds Date: Tue Aug 25 09:30:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] ar7_wdt: fix path to ar7-specific headers commit 5c58ceff103d8a654f24769bb1baaf84a841b0cc Author: Linus Torvalds Date: Tue Aug 25 09:12:43 2009 -0700 tty: make sure to flush any pending work when halting the ldisc When I rewrote tty ldisc code to use proper reference counts (commits 65b770468e98 and cbe9352fa08f) in order to avoid a race with hangup, the test-program that Eric Biederman used to trigger the original problem seems to have exposed another long-standing bug: the hangup code did the 'tty_ldisc_halt()' to stop any buffer flushing activity, but unlike the other call sites it never actually flushed any pending work. As a result, if you get just the right timing, the pending work may be just about to execute (ie the timer has already triggered and thus cancel_delayed_work() was a no-op), when we then re-initialize the ldisc from under it. That, in turn, results in various random problems, usually seen as a NULL pointer dereference in run_timer_softirq() or a BUG() in worker_thread (but it can be almost anything). Fix it by adding the required 'flush_scheduled_work()' after doing the tty_ldisc_halt() (this also requires us to move the ldisc halt to before taking the ldisc mutex in order to avoid a deadlock with the workqueue executing do_tty_hangup, which requires the mutex). The locking should be cleaned up one day (the requirement to do this outside the ldisc_mutex is very annoying, and weakens the lock), but that's a larger and separate undertaking. Reported-by: Eric W. Biederman Tested-by: Xiaotian Feng Tested-by: Yanmin Zhang Tested-by: Dave Young Cc: Frederic Weisbecker Cc: Greg Kroah-Hartman Cc: Alan Cox Signed-off-by: Linus Torvalds commit c62e43202e7cf50ca24bce58b255df7bf5de69d0 Author: Jan Beulich Date: Tue Aug 25 14:50:53 2009 +0100 x86: Fix build with older binutils and consolidate linker script binutils prior to 2.17 can't deal with the currently possible situation of a new segment following the per-CPU segment, but that new segment being empty - objcopy misplaces the .bss (and perhaps also the .brk) sections outside of any segment. However, the current ordering of sections really just appears to be the effect of cumulative unrelated changes; re-ordering things allows to easily guarantee that the segment following the per-CPU one is non-empty, and at once eliminates the need for the bogus data.init2 segment. Once touching this code, also use the various data section helper macros from include/asm-generic/vmlinux.lds.h. -v2: fix !SMP builds. Signed-off-by: Jan Beulich Cc: LKML-Reference: <4A94085D02000078000119A5@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit b1ddaf681e362ed453182ddee1699d7487069a16 Author: Clemens Ladisch Date: Tue Aug 25 08:15:41 2009 +0200 sound: pcm_lib: fix unsorted list constraint handling snd_interval_list() expected a sorted list but did not document this, so there are drivers that give it an unsorted list. To fix this, change the algorithm to work with any list. This fixes the "Slave PCM not usable" error with USB devices that have multiple alternate settings with sample rates in decreasing order, such as the Philips Askey VC010 WebCam. http://bugzilla.kernel.org/show_bug.cgi?id=14028 Reported-and-tested-by: Andrzej Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit a2cb6a4dd470d7a64255a10b843b0d188416b78f Author: David S. Miller Date: Mon Aug 24 19:37:05 2009 -0700 pkt_sched: Fix bogon in tasklet_hrtimer changes. Reported by Stephen Rothwell, luckily it's harmless: net/sched/sch_api.c: In function 'qdisc_watchdog': net/sched/sch_api.c:460: warning: initialization from incompatible pointer type net/sched/sch_cbq.c: In function 'cbq_undelay': net/sched/sch_cbq.c:595: warning: initialization from incompatible pointer type Signed-off-by: David S. Miller commit f8aed700c6ec46ddade6570004ce25332283b306 Author: Ma Ling Date: Mon Aug 24 13:50:24 2009 +0800 drm/i915: Set crtc/clone mask in different output devices Based on Bspec each encoder has different sharing pipe property, i.e. Integrated or SDVO TV both will occupy one pipe exclusively, and sdvo-non-tv and crt are allowed to share one. The patch moves sharing judgment into differnet output functions, and sets the right clone bit. This fixes both HDMI outputs choosing the same pipe. https://bugs.freedesktop.org/show_bug.cgi?id=22247 Signed-off-by: Ma Ling Reviewed-by : Jesse Barnes Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 27185ae1b795a4ba5e25b95fb5584e950545d774 Author: Ma Ling Date: Mon Aug 24 13:50:23 2009 +0800 drm/i915: Always use SDVO_B detect bit for SDVO output detection. After the following commit is shipped, the SDVO C detection will depend on the SDVO_C/DP detion bit. commit 13520b051e8888dd3af9bda639d83e7df76613d1 Author: Kristian Høgsberg Date: Fri Mar 13 15:42:14 2009 -0400 drm/i915: Read the right SDVO register when detecting SVDO/HDMI. According to the spec we should continue to detect the SDVO_B/C based on the SDVO_B detection bit. The new detection bit on G4X platform is for the HDMI_C detection rather than SDVO_C detection. https://bugs.freedesktop.org/show_bug.cgi?id=20639 Signed-off-by: Ma Ling Acked-by: Zhao Yakui Signed-off-by: Eric Anholt commit 19e1f888c681d9f71ae0a814902d334eac1911dd Author: Roel Kluin Date: Sun Aug 9 13:50:53 2009 +0200 drm/i915: Fix typo that broke SVID1 in intel_sdvo_multifunc_encoder() Bit SDVO_OUTPUT_SVID0 was tested twice Signed-off-by: Roel Kluin Signed-off-by: Eric Anholt commit bc5e5718acd7f7d000d913e619562767863610bf Author: Bruno Prémont Date: Sat Aug 8 13:01:17 2009 +0200 drm/i915: Check if BIOS enabled dual-channel LVDS on 8xx, not only on 9xx Commit 0c2e39525b3b53a97a0202c5f35058147e53977e is not sufficient to get fd.o bug #20115 fixed. In addition intel_find_best_PLL() must not only rely on BIOS settings for i9xx chips but also for i8xx, so drop the IS_I9XX() check. Signed-off-by: Bruno Prémont Signed-off-by: Eric Anholt commit 942642a412454c3365f0abc8399c8ef2944f4eac Author: Sean Young Date: Thu Aug 6 17:35:50 2009 +0800 drm/i915: Set the multiplier for SDVO on G33 platform http://bugs.freedesktop.org/show_bug.cgi?id=21417 Signed-off-by: Sean Young Reviewed-by: Zhao Yakui Acked-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 7111dc73923e9737b38a3ef5b5f236109000ff28 Author: Trond Myklebust Date: Mon Aug 24 19:21:29 2009 -0400 NFSv4: Fix an infinite looping problem with the nfs4_state_manager Commit 76db6d9500caeaa774a3e32a997eba30bbdc176b (nfs41: add session setup to the state manager) introduces an infinite loop possibility in the NFSv4 state manager. By first checking nfs4_has_session() before clearing the NFS4CLNT_SESSION_SETUP flag, it allows for a situation where someone sets that flag, but it never gets cleared, and so the state manager loops. In fact commit c3fad1b1aaf850bf692642642ace7cd0d64af0a3 (nfs41: add session reset to state manager) causes this to happen every time we get a network partition error. Signed-off-by: Trond Myklebust Tested-by: Daniel J Blueman Signed-off-by: Linus Torvalds commit 2584e7986f235572d4b03bbe52fd1e85c1679b8e Merge: 7c0a57d c795b33 Author: Linus Torvalds Date: Mon Aug 24 14:41:28 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2/dlm: Wait on lockres instead of erroring cancel requests ocfs2: Add missing lock name ocfs2: Don't oops in ocfs2_kill_sb on a failed mount ocfs2: release the buffer head in ocfs2_do_truncate. ocfs2: Handle quota file corruption more gracefully commit 7c0a57d5c47bcfc492b3139e77400f888a935c44 Merge: 353d5c3 94da210 Author: Linus Torvalds Date: Mon Aug 24 12:53:45 2009 -0700 Merge branch 'fixes' of git://git.marvell.com/orion * 'fixes' of git://git.marvell.com/orion: [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop [ARM] Kirkwood: enable eSATA on QNAP TS-219P [ARM] Kirkwood: __init requires linux/init.h commit 353d5c30c666580347515da609dd74a2b8e9b828 Author: Hugh Dickins Date: Mon Aug 24 16:30:28 2009 +0100 mm: fix hugetlb bug due to user_shm_unlock call 2.6.30's commit 8a0bdec194c21c8fdef840989d0d7b742bb5d4bc removed user_shm_lock() calls in hugetlb_file_setup() but left the user_shm_unlock call in shm_destroy(). In detail: Assume that can_do_hugetlb_shm() returns true and hence user_shm_lock() is not called in hugetlb_file_setup(). However, user_shm_unlock() is called in any case in shm_destroy() and in the following atomic_dec_and_lock(&up->__count) in free_uid() is executed and if up->__count gets zero, also cleanup_user_struct() is scheduled. Note that sched_destroy_user() is empty if CONFIG_USER_SCHED is not set. However, the ref counter up->__count gets unexpectedly non-positive and the corresponding structs are freed even though there are live references to them, resulting in a kernel oops after a lots of shmget(SHM_HUGETLB)/shmctl(IPC_RMID) cycles and CONFIG_USER_SCHED set. Hugh changed Stefan's suggested patch: can_do_hugetlb_shm() at the time of shm_destroy() may give a different answer from at the time of hugetlb_file_setup(). And fixed newseg()'s no_id error path, which has missed user_shm_unlock() ever since it came in 2.6.9. Reported-by: Stefan Huber Signed-off-by: Hugh Dickins Tested-by: Stefan Huber Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 0257a0c0c1997aac28420e784b3ef8f3ce17f093 Merge: e40c905 9f844e5 Author: Linus Torvalds Date: Mon Aug 24 12:48:41 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: Fix radeon_gem_busy_ioctl harder. commit e40c9056db75e093e6d99d2c14510cb131eb482a Merge: 22e93ed 92c548c Author: Linus Torvalds Date: Mon Aug 24 12:26:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: favr32: improve touchscreen response avr32/lib: fix unaligned memcpy where len < 4 avr32/lib: fix unaligned memcpy() commit 22e93eddd9c63c61e5a38b82eea08f6095189e7f Merge: 1cac6ec 9b2fb2d Author: Linus Torvalds Date: Mon Aug 24 12:25:27 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: ucb1400_ts - enable interrupt unconditionally Input: ucb1400_ts - enable ADC Filter Input: wacom - don't use on-stack memory for report buffers Input: iforce - support new revision of ACT LABS Force RS Input: joydev - decouple axis and button map ioctls from input constants commit 1cac6ec9b7f9c48a26309380656f399a0587b860 Merge: ce0cfd4 8ff499e Author: Linus Torvalds Date: Mon Aug 24 12:25:03 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: smc91x: let smc91x work well under netpoll pxaficp-ir: remove incorrect net_device_ops NET: llc, zero sockaddr_llc struct drivers/net: fixed drivers that support netpoll use ndo_start_xmit() netpoll: warning for ndo_start_xmit returns with interrupts enabled net: Fix Micrel KSZ8842 Kconfig description netfilter: xt_quota: fix wrong return value (error case) ipv6: Fix commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4) E100: fix interaction with swiotlb on X86. pkt_sched: Convert CBQ to tasklet_hrtimer. pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B ibm_newemac: emac_close() needs to call netif_carrier_off() net: fix ks8851 build errors net: Rename MAC platform driver for w90p910 platform yellowfin: Fix buffer underrun after dev_alloc_skb() failure orinoco: correct key bounds check in orinoco_hw_get_tkip_iv mac80211: fix todo lock commit ce0cfd4ca817dbfd5f8267e7a6a235ed2041bf4a Merge: 637952c 16bfa38 Author: Linus Torvalds Date: Mon Aug 24 12:24:01 2009 -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: ima: hashing large files bug fix kernel_read: redefine offset type commit a6a06f7b577f89d0b916c5ccaff67ca5ed444a78 Author: Amerigo Wang Date: Fri Aug 21 04:34:45 2009 -0400 x86: Fix an incorrect argument of reserve_bootmem() This line looks suspicious, because if this is true, then the 'flags' parameter of function reserve_bootmem_generic() will be unused when !CONFIG_NUMA. I don't think this is what we want. Signed-off-by: WANG Cong Cc: Yinghai Lu Cc: akpm@linux-foundation.org LKML-Reference: <20090821083709.5098.52505.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 94da210af4978b94cb70318bd1b282a73c50b175 Author: Simon Kagstrom Date: Thu Aug 20 09:19:53 2009 +0200 [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop GCC 4.3.3 and 4.4.1 happily moves the dword load instruction out of the loop in orion_nand_read_buf. This patch makes the instruction volatile to avoid the issue. I've discussed this at gcc-help, refer to the thread at http://gcc.gnu.org/ml/gcc-help/2009-08/msg00187.html The early clobber is added to avoid the destination registers and the source register overlapping. Signed-off-by: Simon Kagstrom Signed-off-by: Nicolas Pitre commit c55bf102b675c94edef006ce487d909669221d90 Author: John Holland Date: Wed Aug 19 13:24:03 2009 -1000 [ARM] Kirkwood: enable eSATA on QNAP TS-219P Initialize PCI/PCIe on the QNAP TS-119, TS-219 and TS-219P hardware allowing the use of the discrete eSATA controller connected to the PCIe bus in the TS-219P. Signed-off-by: John Holland Tested-by: Thomas Reitmayr Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 3e475f579e56caf57cadc0cc995c152f9da641a9 Author: Martin Michlmayr Date: Mon Aug 17 23:34:10 2009 -1000 [ARM] Kirkwood: __init requires linux/init.h Include linux/init.h for __init to fix this error: CC [M] drivers/net/wireless/wl12xx/boot.o In file included from arch/arm/mach-kirkwood/include/mach/gpio.h:13, from arch/arm/include/asm/gpio.h:5, from include/linux/gpio.h:7, from drivers/net/wireless/wl12xx/boot.c:24: arch/arm/plat-orion/include/plat/gpio.h:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘orion_gpio_init’ make[6]: *** [drivers/net/wireless/wl12xx/boot.o] Error 1 make[5]: *** [drivers/net/wireless/wl12xx] Error 2 Signed-off-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 3c4cec65274481ec6332b0a91f19b4c8c5394801 Author: Jan Kara Date: Mon Aug 24 16:38:43 2009 +0200 ext3: Improve error message that changing journaling mode on remount is not possible This patch makes the error message about changing journaling mode on remount more descriptive. Some people are going to hit this error now due to commit bbae8bcc49bc4d002221dab52c79a50a82e7cd1f if they configure a kernel to default to data=writeback mode. The problem happens if they have data=ordered set for the root filesystem in /etc/fstab but not in the kernel command line (and they don't use initrd). Their filesystem then gets mounted as data=writeback by kernel but then their boot fails because init scripts won't be able to remount the filesystem rw. Better error message will hopefully make it easier for them to find the error in their setup and bother us less with error reports :). Signed-off-by: Jan Kara commit 6d41807614151829ae17a3a58bff8572af5e407e Author: Theodore Ts'o Date: Mon Aug 10 16:03:43 2009 -0400 ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED The old description for this configuration option was perhaps not completely balanced in terms of describing the tradeoffs of using a default of data=writeback vs. data=ordered. Despite the fact that old description very strongly recomended disabling this feature, all of the major distributions have elected to preserve the existing 'legacy' default, which is a strong hint that it perhaps wasn't telling the whole story. This revised description has been vetted by a number of ext3 developers as being better at informing the user about the tradeoffs of enabling or disabling this configuration feature. Cc: linux-ext4@vger.kernel.org Signed-off-by: "Theodore Ts'o" Signed-off-by: Jan Kara commit edd1365e90eb32625041d09de427d7b03461bc5c Author: Clemens Ladisch Date: Mon Aug 24 09:11:58 2009 +0200 sound: vx222: fix input level control range check Fix a logic error in the range check of the input level control that would prevent setting any volume less than the maximum. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 8ff499e43c537648399fca8ba39d24c0768b3fab Author: Dongdong Deng Date: Sun Aug 23 22:59:04 2009 -0700 smc91x: let smc91x work well under netpoll The NETPOLL requires that interrupts remain disabled in its callbacks. Using *_irq_save()/irq_restore() to replace *_irq_disable()/irq_enable() functions in NETPOLL's callbacks of smc91x, so that it doesn't enable interrupts when already disabled, and kgdboe/netconsole would work properly over smc91x. Signed-off-by: Dongdong Deng Acked-by: Nicolas Pitre Signed-off-by: David S. Miller commit d2f3ad4cedc00c8ee848e7abe9b2bbc93b9a8c2d Author: Marek Vasut Date: Sun Aug 23 22:57:30 2009 -0700 pxaficp-ir: remove incorrect net_device_ops This patch fixes broken pxaficp-ir. The problem was in incorrect net_device_ops being specified which prevented the driver from operating. The symptoms were: - failing ifconfig for IrLAN, resulting in SIOCSIFFLAGS: Cannot assign requested address - irattach working for IrCOMM, but the port stayed disabled Moreover this patch corrects missing sysfs device link. Signed-off-by: Marek Vasut Signed-off-by: David S. Miller commit 28e9fc592cb8c7a43e4d3147b38be6032a0e81bc Author: Jiri Slaby Date: Sun Aug 23 22:55:51 2009 -0700 NET: llc, zero sockaddr_llc struct sllc_arphrd member of sockaddr_llc might not be changed. Zero sllc before copying to the above layer's structure. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit 16bfa38b1936212428cb38fbfbbb8f6c62b8d81f Author: Mimi Zohar Date: Fri Aug 21 14:32:49 2009 -0400 ima: hashing large files bug fix Hashing files larger than INT_MAX causes process to loop. Dependent on redefining kernel_read() offset type to loff_t. (http://bugzilla.kernel.org/show_bug.cgi?id=13909) Cc: stable@kernel.org Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6777d773a463ac045d333b989d4e44660f8d92ad Author: Mimi Zohar Date: Fri Aug 21 14:32:48 2009 -0400 kernel_read: redefine offset type vfs_read() offset is defined as loff_t, but kernel_read() offset is only defined as unsigned long. Redefine kernel_read() offset as loff_t. Cc: stable@kernel.org Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 4871953c0ef2cafeb37bbe186d9d13dcb24fc2c5 Author: Dongdong Deng Date: Sun Aug 23 19:49:07 2009 -0700 drivers/net: fixed drivers that support netpoll use ndo_start_xmit() The NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). The use of "A functions set" in the NETPOLL API callbacks causes the interrupts to get enabled and can lead to kernel instability. The solution is to use "B functions set" to prevent the irqs from getting enabled while in netpoll_send_skb(). A functions set: local_irq_disable()/local_irq_enable() spin_lock_irq()/spin_unlock_irq() spin_trylock_irq()/spin_unlock_irq() B functions set: local_irq_save()/local_irq_restore() spin_lock_irqsave()/spin_unlock_irqrestore() spin_trylock_irqsave()/spin_unlock_irqrestore() Signed-off-by: Dongdong Deng Acked-by: Matt Mackall Signed-off-by: David S. Miller commit 79b1bee888d43b14cf0c08fb8e5aa6cb161e48f8 Author: Dongdong Deng Date: Fri Aug 21 03:33:36 2009 +0000 netpoll: warning for ndo_start_xmit returns with interrupts enabled WARN_ONCE for ndo_start_xmit() enable interrupts in netpoll_send_skb(), because the NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). Signed-off-by: Dongdong Deng Acked-by: Matt Mackall Signed-off-by: David S. Miller commit c189308bd8b6a29b11c3ec29a42a3f0aabad6bc8 Author: Andreas Mohr Date: Fri Aug 21 00:46:06 2009 +0000 net: Fix Micrel KSZ8842 Kconfig description Signed-off-by: Andreas Mohr Acked-by: Richard Röjfors Signed-off-by: David S. Miller commit 2149f66f49ab07515666127bf5140c5c94677af8 Author: Patrick McHardy Date: Thu Aug 20 02:47:34 2009 +0000 netfilter: xt_quota: fix wrong return value (error case) Success was indicated on a memory allocation failure, thereby causing a crash due to a later NULL deref. (Affects v2.6.30-rc1 up to here.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ca6982b858e1d08010c1d29d8e8255b2ac2ad70a Author: Bruno Prémont Date: Sun Aug 23 19:06:28 2009 -0700 ipv6: Fix commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4) Commit 63d9950b08184e6531adceb65f64b429909cc101 (ipv6: Make v4-mapped bindings consistent with IPv4) changes behavior of inet6_bind() for v4-mapped addresses so it should behave the same way as inet_bind(). During this change setting of err to -EADDRNOTAVAIL got lost: af_inet.c:469 inet_bind() err = -EADDRNOTAVAIL; if (!sysctl_ip_nonlocal_bind && !(inet->freebind || inet->transparent) && addr->sin_addr.s_addr != htonl(INADDR_ANY) && chk_addr_ret != RTN_LOCAL && chk_addr_ret != RTN_MULTICAST && chk_addr_ret != RTN_BROADCAST) goto out; af_inet6.c:463 inet6_bind() if (addr_type == IPV6_ADDR_MAPPED) { int chk_addr_ret; /* Binding to v4-mapped address on a v6-only socket * makes no sense */ if (np->ipv6only) { err = -EINVAL; goto out; } /* Reproduce AF_INET checks to make the bindings consitant */ v4addr = addr->sin6_addr.s6_addr32[3]; chk_addr_ret = inet_addr_type(net, v4addr); if (!sysctl_ip_nonlocal_bind && !(inet->freebind || inet->transparent) && v4addr != htonl(INADDR_ANY) && chk_addr_ret != RTN_LOCAL && chk_addr_ret != RTN_MULTICAST && chk_addr_ret != RTN_BROADCAST) goto out; } else { Signed-off-by Bruno Prémont Signed-off-by: David S. Miller commit 6ff9c2e7fa8ca63a575792534b63c5092099c286 Author: Krzysztof Hałasa Date: Sun Aug 23 19:02:13 2009 -0700 E100: fix interaction with swiotlb on X86. E100 places it's RX packet descriptors inside skb->data and uses them with bidirectional streaming DMA mapping. Data in descriptors is accessed simultaneously by the chip (writing status and size when a packet is received) and CPU (reading to check if the packet was received). This isn't a valid usage of PCI DMA API, which requires use of the coherent (consistent) memory for such purpose. Unfortunately e100 chips working in "simplified" RX mode have to store received data directly after the descriptor. Fixing the driver to conform to the API would require using unsupported "flexible" RX mode or receiving data into a coherent memory and using CPU to copy it to network buffers. This patch, while not yet making the driver conform to the PCI DMA API, allows it to work correctly on X86 with swiotlb (while not breaking other architectures). Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 38acce2d7983632100a9ff3fd20295f6e34074a8 Author: David S. Miller Date: Fri Aug 21 16:51:38 2009 -0700 pkt_sched: Convert CBQ to tasklet_hrtimer. This code expects to run in softirq context, and bare hrtimers run in hw IRQ context. Signed-off-by: David S. Miller Acked-by: Thomas Gleixner commit 70bdbd3d1ae9c4ca3e84a43df34262face26575d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:27:25 2009 +0200 ALSA: ali5451: fix timeout handling in snd_ali_{codecs,timer}_ready() Modify loops in such way that the register value is checked also after the timeout condition, just in case the heavy interrupt load etc. caused the thread to sleep for the time period exceeding the timeout value. While at it remove an extra ALI_STIMER read from snd_ali_stimer_ready(). Reported-by: Jack Byer Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Takashi Iwai commit 637952ca689013339b977558061fa4ca8e07e1c1 Author: Hendrik Brueckner Date: Sun Aug 23 18:09:06 2009 +0200 [S390] set preferred console based on conmode setup_arch() unconditionally sets the preferred console to ttyS. This breaks the use of 3270 devices as the console. Provide a new function to set the default preferred console for s390. The preferred console depends on the conmode parameter that is used to switch between 3270 and 3215 terminal/console mode. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit cf05b824dbb871159e1b4c4f2733b9c9d2f756cf Author: Julia Lawall Date: Sun Aug 23 18:09:05 2009 +0200 [S390] drivers/s390: put NULL test before dereference If the NULL test on block is needed, it should be before the dereference of the base field. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ expression E1,E2; identifier fld; statement S1,S2; @@ E1 = E2->fld; ( if (E1 == NULL) S1 else S2 | *if (E2 == NULL) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky commit 06739a8ad321b1e5140b318c648b0cc4bf8c6daa Author: Sebastian Ott Date: Sun Aug 23 18:09:04 2009 +0200 [S390] cio: fix double free after failed device initialization If io_subchannel_initialize_dev fails it will release the only reference to the ccw device therefore the caller should not kfree this device since this is done in the release function. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 9f844e5118d1627025c8ea7cfc0ea69038ea63fd Author: Michel Dänzer Date: Sat Aug 22 17:38:23 2009 +0200 drm/radeon/kms: Fix radeon_gem_busy_ioctl harder. It was mixing up TTM placement values and flags. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit ee5f9757ea17759e1ce5503bdae2b07e48e32af9 Author: David S. Miller Date: Fri Aug 21 16:33:34 2009 -0700 pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer None of this stuff should execute in hw IRQ context, therefore use a tasklet_hrtimer so that it runs in softirq context. Signed-off-by: David S. Miller Acked-by: Thomas Gleixner commit 3edf2fb9d80a46d6c32ba12547a42419845b4b76 Merge: e3054ea c82f63e Author: Linus Torvalds Date: Sat Aug 22 12:14:01 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: check saved state before restore commit e3054ea7f79db2c694a4f74febead2d4f8de5a98 Merge: 422bef8 388ce4b Author: Linus Torvalds Date: Sat Aug 22 08:30:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] mpt2sas: fix config request and diag reset deadlock [SCSI] mpt2sas: Bump driver version 01.100.04.00 [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode [SCSI] mpt2sas: fix infinite loop inside config request [SCSI] mpt2sas: Excessive log info causes sas iounit page time out [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages [SCSI] mpt2sas: Expander fix oops saying "Already part of another port" [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash commit 422bef879e84104fee6dc68ded0e371dbeb5f88e Author: Linus Torvalds Date: Fri Aug 21 18:00:46 2009 -0700 Linux 2.6.31-rc7 commit 8e9d78edea3ce5c0036f85b93091483f2f15443a Author: Linus Torvalds Date: Fri Aug 21 17:40:08 2009 -0700 Re-introduce page mapping check in mark_buffer_dirty() In commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 ("Fix race in create_empty_buffers() vs __set_page_dirty_buffers()"), I removed a test for a NULL page mapping unintentionally when some of the code inside __set_page_dirty() was moved to the callers. That removal generally didn't matter, since a filesystem would serialize truncation (which clears the page mapping) against writing (which marks the buffer dirty), so locking at a higher level (either per-page or an inode at a time) should mean that the buffer page would be stable. And indeed, nothing bad seemed to happen. Except it turns out that apparently reiserfs does something odd when under load and writing out the journal, and we have a number of bugzilla entries that look similar: http://bugzilla.kernel.org/show_bug.cgi?id=13556 http://bugzilla.kernel.org/show_bug.cgi?id=13756 http://bugzilla.kernel.org/show_bug.cgi?id=13876 and it looks like reiserfs depended on that check (the common theme seems to be "data=journal", and a journal writeback during a truncate). I suspect reiserfs should have some additional locking, but in the meantime this should get us back to the pre-2.6.29 behavior. Pattern-pointed-out-by: Roland Kletzing Cc: stable@kernel.org (2.6.29 and 2.6.30) Cc: Jeff Mahoney Cc: Nick Piggin Cc: Al Viro Signed-off-by: Linus Torvalds commit 649bf17829d087f83754e2a8161e094a167ce3d3 Merge: d3b325f 1a9937b Author: David S. Miller Date: Fri Aug 21 13:13:04 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 4dfd79e7b42bff334128907e28c3b41f1ef1cec8 Merge: b57f921 f779b3e Author: Linus Torvalds Date: Fri Aug 21 10:45:09 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon: add GET_PARAM/INFO support for Z pipes drm/radeon/kms: add r100/r200 OQ support. drm: Fix sysfs device confusion. drm/radeon/kms: implement the bo busy ioctl properly. commit b57f92157e6517f0b3bd22e3a8ce7227e230c4f5 Merge: b04e637 03e860b Author: Linus Torvalds Date: Fri Aug 21 09:56:55 2009 -0700 Merge branch 'btrfs' of git://git.kernel.dk/linux-2.6-block * 'btrfs' of git://git.kernel.dk/linux-2.6-block: btrfs: fix inode rbtree corruption commit b04e6373d694e977c95ae0ae000e2c1e2cf92d73 Author: Linus Torvalds Date: Fri Aug 21 09:48:10 2009 -0700 x86: don't call '->send_IPI_mask()' with an empty mask As noted in 83d349f35e1ae72268c5104dbf9ab2ae635425d4 ("x86: don't send an IPI to the empty set of CPU's"), some APIC's will be very unhappy with an empty destination mask. That commit added a WARN_ON() for that case, and avoided the resulting problem, but didn't fix the underlying reason for why those empty mask cases happened. This fixes that, by checking the result of 'cpumask_andnot()' of the current CPU actually has any other CPU's left in the set of CPU's to be sent a TLB flush, and not calling down to the IPI code if the mask is empty. The reason this started happening at all is that we started passing just the CPU mask pointers around in commit 4595f9620 ("x86: change flush_tlb_others to take a const struct cpumask"), and when we did that, the cpumask was no longer thread-local. Before that commit, flush_tlb_mm() used to create it's own copy of 'mm->cpu_vm_mask' and pass that copy down to the low-level flush routines after having tested that it was not empty. But after changing it to just pass down the CPU mask pointer, the lower level TLB flush routines would now get a pointer to that 'mm->cpu_vm_mask', and that could still change - and become empty - after the test due to other CPU's having flushed their own TLB's. See http://bugzilla.kernel.org/show_bug.cgi?id=13933 for details. Tested-by: Thomas Björnell Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 1a9937b7f07ab6e35515e32a7625f0ba50ab7670 Author: Herton Ronaldo Krzesinski Date: Thu Aug 20 21:16:17 2009 -0300 rtl8187: always set MSR_LINK_ENEDCA flag with RTL8187B RTL8187B always needs MSR_LINK_ENEDCA flag to be set even when it is in no link mode, otherwise it'll not be able to associate when this flag is not set after the change "mac80211: fix managed mode BSSID handling". By accident, setting BSSID of AP before association makes 8187B to successfuly associate even when ENEDCA flag isn't set, which was the case before the mac80211 change. But now the BSSID of AP we are trying to associate is only available after association is successful, and any attempt to associate without the needed flag doesn't work. Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Larry Finger Acked-by: Hin-Tak Leung Signed-off-by: John W. Linville commit f4b0373b26567cafd421d91101852ed7a34e9e94 Author: Linus Torvalds Date: Fri Aug 21 09:26:15 2009 -0700 Make bitmask 'and' operators return a result code When 'and'ing two bitmasks (where 'andnot' is a variation on it), some cases want to know whether the result is the empty set or not. In particular, the TLB IPI sending code wants to do cpumask operations and determine if there are any CPU's left in the final set. So this just makes the bitmask (and cpumask) functions return a boolean for whether the result has any bits set. Cc: stable@kernel.org (2.6.30, needed by TLB shootdown fix) Signed-off-by: Linus Torvalds commit 83d349f35e1ae72268c5104dbf9ab2ae635425d4 Author: Linus Torvalds Date: Fri Aug 21 09:23:57 2009 -0700 x86: don't send an IPI to the empty set of CPU's The default_send_IPI_mask_logical() function uses the "flat" APIC mode to send an IPI to a set of CPU's at once, but if that set happens to be empty, some older local APIC's will apparently be rather unhappy. So just warn if a caller gives us an empty mask, and ignore it. This fixes a regression in 2.6.30.x, due to commit 4595f9620 ("x86: change flush_tlb_others to take a const struct cpumask"), documented here: http://bugzilla.kernel.org/show_bug.cgi?id=13933 which causes a silent lock-up. It only seems to happen on PPro, P2, P3 and Athlon XP cores. Most developers sadly (or not so sadly, if you're a developer..) have more modern CPU's. Also, on x86-64 we don't use the flat APIC mode, so it would never trigger there even if the APIC didn't like sending an empty IPI mask. Reported-by: Pavel Vilim Reported-and-tested-by: Thomas Björnell Reported-and-tested-by: Martin Rogge Cc: Mike Travis Cc: Ingo Molnar Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 4464fcaa9cbfc9c551956b48af203e2f775ca892 Author: Peter Zijlstra Date: Fri Aug 21 17:19:36 2009 +0200 perf_counter: Fix typo in read() output generation When you iterate a list, using the iterator is useful. Before: ID: 5 ID: 5 ID: 5 ID: 5 EVNT: 0x40088b scale: nan ID: 5 CNT: 1006252 ID: 6 CNT: 1011090 ID: 7 CNT: 1011196 ID: 8 CNT: 1011095 EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 2003065 ID: 6 CNT: 2011671 ID: 7 CNT: 2012620 ID: 8 CNT: 2013479 EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 3002390 ID: 6 CNT: 3015996 ID: 7 CNT: 3018019 ID: 8 CNT: 3020006 EVNT: 0x40088b scale: 1.000000 ID: 5 CNT: 4002406 ID: 6 CNT: 4021120 ID: 7 CNT: 4024241 ID: 8 CNT: 4027059 After: ID: 1 ID: 2 ID: 3 ID: 4 EVNT: 0x400889 scale: nan ID: 1 CNT: 1005270 ID: 2 CNT: 1009833 ID: 3 CNT: 1010065 ID: 4 CNT: 1010088 EVNT: 0x400898 scale: nan ID: 1 CNT: 2001531 ID: 2 CNT: 2022309 ID: 3 CNT: 2022470 ID: 4 CNT: 2022627 EVNT: 0x400888 scale: 0.489467 ID: 1 CNT: 3001261 ID: 2 CNT: 3027088 ID: 3 CNT: 3027941 ID: 4 CNT: 3028762 Reported-by: stephane eranian Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey J Ashford Cc: perfmon2-devel LKML-Reference: <1250867976.7538.73.camel@twins> Signed-off-by: Ingo Molnar commit 4a683bf94b8a10e2bb0da07aec3ac0a55e5de61f Author: Ingo Molnar Date: Fri Aug 21 12:53:36 2009 +0200 tracing: Fix too large stack usage in do_one_initcall() One of my testboxes triggered this nasty stack overflow crash during SCSI probing: [ 5.874004] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 5.875004] device: 'sda': device_add [ 5.878004] BUG: unable to handle kernel NULL pointer dereference at 00000a0c [ 5.878004] IP: [] print_context_stack+0x81/0x110 [ 5.878004] *pde = 00000000 [ 5.878004] Thread overran stack, or stack corrupted [ 5.878004] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 5.878004] last sysfs file: [ 5.878004] [ 5.878004] Pid: 1, comm: swapper Not tainted (2.6.31-rc6-tip-01272-g9919e28-dirty #5685) [ 5.878004] EIP: 0060:[] EFLAGS: 00010083 CPU: 0 [ 5.878004] EIP is at print_context_stack+0x81/0x110 [ 5.878004] EAX: cf8a3000 EBX: cf8a3fe4 ECX: 00000049 EDX: 00000000 [ 5.878004] ESI: b1cfce84 EDI: 00000000 EBP: cf8a3018 ESP: cf8a2ff4 [ 5.878004] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 5.878004] Process swapper (pid: 1, ti=cf8a2000 task=cf8a8000 task.ti=cf8a3000) [ 5.878004] Stack: [ 5.878004] b1004867 fffff000 cf8a3ffc [ 5.878004] Call Trace: [ 5.878004] [] ? kernel_thread_helper+0x7/0x10 [ 5.878004] BUG: unable to handle kernel NULL pointer dereference at 00000a0c [ 5.878004] IP: [] print_context_stack+0x81/0x110 [ 5.878004] *pde = 00000000 [ 5.878004] Thread overran stack, or stack corrupted [ 5.878004] Oops: 0000 [#2] PREEMPT SMP DEBUG_PAGEALLOC The oops did not reveal any more details about the real stack that we have and the system got into an infinite loop of recursive pagefaults. So i booted with CONFIG_STACK_TRACER=y and the 'stacktrace' boot parameter. The box did not crash (timings/conditions probably changed a tiny bit to trigger the catastrophic crash), but the /debug/tracing/stack_trace file was rather revealing: Depth Size Location (72 entries) ----- ---- -------- 0) 3704 52 __change_page_attr+0xb8/0x290 1) 3652 24 __change_page_attr_set_clr+0x43/0x90 2) 3628 60 kernel_map_pages+0x108/0x120 3) 3568 40 prep_new_page+0x7d/0x130 4) 3528 84 get_page_from_freelist+0x106/0x420 5) 3444 116 __alloc_pages_nodemask+0xd7/0x550 6) 3328 36 allocate_slab+0xb1/0x100 7) 3292 36 new_slab+0x1c/0x160 8) 3256 36 __slab_alloc+0x133/0x2b0 9) 3220 4 kmem_cache_alloc+0x1bb/0x1d0 10) 3216 108 create_object+0x28/0x250 11) 3108 40 kmemleak_alloc+0x81/0xc0 12) 3068 24 kmem_cache_alloc+0x162/0x1d0 13) 3044 52 scsi_pool_alloc_command+0x29/0x70 14) 2992 20 scsi_host_alloc_command+0x22/0x70 15) 2972 24 __scsi_get_command+0x1b/0x90 16) 2948 28 scsi_get_command+0x35/0x90 17) 2920 24 scsi_setup_blk_pc_cmnd+0xd4/0x100 18) 2896 128 sd_prep_fn+0x332/0xa70 19) 2768 36 blk_peek_request+0xe7/0x1d0 20) 2732 56 scsi_request_fn+0x54/0x520 21) 2676 12 __generic_unplug_device+0x2b/0x40 22) 2664 24 blk_execute_rq_nowait+0x59/0x80 23) 2640 172 blk_execute_rq+0x6b/0xb0 24) 2468 32 scsi_execute+0xe0/0x140 25) 2436 64 scsi_execute_req+0x152/0x160 26) 2372 60 scsi_vpd_inquiry+0x6c/0x90 27) 2312 44 scsi_get_vpd_page+0x112/0x160 28) 2268 52 sd_revalidate_disk+0x1df/0x320 29) 2216 92 rescan_partitions+0x98/0x330 30) 2124 52 __blkdev_get+0x309/0x350 31) 2072 8 blkdev_get+0xf/0x20 32) 2064 44 register_disk+0xff/0x120 33) 2020 36 add_disk+0x6e/0xb0 34) 1984 44 sd_probe_async+0xfb/0x1d0 35) 1940 44 __async_schedule+0xf4/0x1b0 36) 1896 8 async_schedule+0x12/0x20 37) 1888 60 sd_probe+0x305/0x360 38) 1828 44 really_probe+0x63/0x170 39) 1784 36 driver_probe_device+0x5d/0x60 40) 1748 16 __device_attach+0x49/0x50 41) 1732 32 bus_for_each_drv+0x5b/0x80 42) 1700 24 device_attach+0x6b/0x70 43) 1676 16 bus_attach_device+0x47/0x60 44) 1660 76 device_add+0x33d/0x400 45) 1584 52 scsi_sysfs_add_sdev+0x6a/0x2c0 46) 1532 108 scsi_add_lun+0x44b/0x460 47) 1424 116 scsi_probe_and_add_lun+0x182/0x4e0 48) 1308 36 __scsi_add_device+0xd9/0xe0 49) 1272 44 ata_scsi_scan_host+0x10b/0x190 50) 1228 24 async_port_probe+0x96/0xd0 51) 1204 44 __async_schedule+0xf4/0x1b0 52) 1160 8 async_schedule+0x12/0x20 53) 1152 48 ata_host_register+0x171/0x1d0 54) 1104 60 ata_pci_sff_activate_host+0xf3/0x230 55) 1044 44 ata_pci_sff_init_one+0xea/0x100 56) 1000 48 amd_init_one+0xb2/0x190 57) 952 8 local_pci_probe+0x13/0x20 58) 944 32 pci_device_probe+0x68/0x90 59) 912 44 really_probe+0x63/0x170 60) 868 36 driver_probe_device+0x5d/0x60 61) 832 20 __driver_attach+0x89/0xa0 62) 812 32 bus_for_each_dev+0x5b/0x80 63) 780 12 driver_attach+0x1e/0x20 64) 768 72 bus_add_driver+0x14b/0x2d0 65) 696 36 driver_register+0x6e/0x150 66) 660 20 __pci_register_driver+0x53/0xc0 67) 640 8 amd_init+0x14/0x16 68) 632 572 do_one_initcall+0x2b/0x1d0 69) 60 12 do_basic_setup+0x56/0x6a 70) 48 20 kernel_init+0x84/0xce 71) 28 28 kernel_thread_helper+0x7/0x10 There's a lot of fat functions on that stack trace, but the largest of all is do_one_initcall(). This is due to the boot trace entry variables being on the stack. Fixing this is relatively easy, initcalls are fundamentally serialized, so we can move the local variables to file scope. Note that this large stack footprint was present for a couple of months already - what pushed my system over the edge was the addition of kmemleak to the call-chain: 6) 3328 36 allocate_slab+0xb1/0x100 7) 3292 36 new_slab+0x1c/0x160 8) 3256 36 __slab_alloc+0x133/0x2b0 9) 3220 4 kmem_cache_alloc+0x1bb/0x1d0 10) 3216 108 create_object+0x28/0x250 11) 3108 40 kmemleak_alloc+0x81/0xc0 12) 3068 24 kmem_cache_alloc+0x162/0x1d0 13) 3044 52 scsi_pool_alloc_command+0x29/0x70 This pushes the total to ~3800 bytes, only a tiny bit more was needed to corrupt the on-kernel-stack thread_info. The fix reduces the stack footprint from 572 bytes to 28 bytes. Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Catalin Marinas Cc: Jens Axboe Cc: Linus Torvalds Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit f779b3e513478218cbaaaa0a506d7801cab6fd14 Author: Alex Deucher Date: Wed Aug 19 19:11:39 2009 -0400 drm/radeon: add GET_PARAM/INFO support for Z pipes Needed for occlusion queries on rv530 chips. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 03e860bd9f6a3cca747b0795bed26279a8b420a0 Author: From: Nick Piggin Date: Fri Aug 21 10:09:44 2009 +0200 btrfs: fix inode rbtree corruption Node may not be inserted over existing node. This causes inode tree corruption and I was seeing crashes in inode_tree_del which I can not reproduce after this patch. The other way to fix this would be to tie inode lifetime in the rbtree with inode while not in freeing state. I had a look at this but it is not so trivial at this point. At least this patch gets things working again. Signed-off-by: Nick Piggin Cc: Chris Mason Acked-by: Yan Zheng Signed-off-by: Jens Axboe commit ec9c96ef3cc0124cb94375b17faaa8cff5dfdf97 Author: Kyle McMartin Date: Wed Aug 19 21:17:08 2009 -0400 dma-debug: Fix check_unmap null pointer dereference While it's debatable whether or not a NULL device argument to the DMA API functions is valid... since it certainly isn't valid on devices with an IOMMU... dma-debug really shouldn't be dereferencing null pointers either. Guard against that in err_printk and the driver_filter functions. A Fedora rawhide user was seeing this in one of the dvb drivers resulting in an oops on boot. [ A patch has been sent for testing to the driver, but I feel the dma debugging support should be fixed as well. (There's still a pile of legacy garbage in the kernel passing null pointers to dma_{alloc,free}_*. :( ] Signed-off-by: Kyle McMartin Cc: mchehab@infradead.org Cc: Joerg Roedel LKML-Reference: <20090820011708.GP25206@bombadil.infradead.org> Signed-off-by: Ingo Molnar commit 9b2fb2da4edfb163842800abbeb4c14bc1759469 Author: Pavel Revak Date: Thu Aug 20 22:30:54 2009 -0700 Input: ucb1400_ts - enable interrupt unconditionally Sometimes, when using the touchscreen, it stops working till next restart and the following message is printed: ucb1400: unexpected IE_STATUS = 0x0 The following patch retriggers the touchscreen interrupt unconditionally. This prevents hanging of the touchscreen in case of bogus interrupt occurence. Signed-off-by: Pavel Revak Acked-by: Marek Vasut Signed-off-by: Dmitry Torokhov commit 1700f5fde88f9a251037bc86bde538ee32c59905 Author: Marek Vasut Date: Thu Aug 20 22:05:53 2009 -0700 Input: ucb1400_ts - enable ADC Filter This patch enables ADC filtering on UCB1400 codec by default. The benefit from this change is mostly on some Colibri boards where the ADCSYNC pin of the UCB1400 codec isn't connected causing the touchscreen to jitter very badly. This change has no visible effect on boards where the ADCSYNC pin is connected. Signed-off-by: Marek Vasut Tested-by: Palo Revak Signed-off-by: Dmitry Torokhov commit 3b7307c2d66dd575ef24b88898b4bc4bddb254f4 Author: Dmitry Torokhov Date: Thu Aug 20 21:41:04 2009 -0700 Input: wacom - don't use on-stack memory for report buffers Tested-by: Martin Capitanio Signed-off-by: Dmitry Torokhov commit c795b33ba171e41563ab7e25105c0cd4edd81cd7 Author: Goldwyn Rodrigues Date: Thu Aug 20 13:43:19 2009 -0500 ocfs2/dlm: Wait on lockres instead of erroring cancel requests In case a downconvert is queued, and a flock receives a signal, BUG_ON(lockres->l_action != OCFS2_AST_INVALID) is triggered because a lock cancel triggers a dlmunlock while an AST is scheduled. To avoid this, allow a LKM_CANCEL to pass through, and let it wait on __dlm_wait_on_lockres(). Signed-off-by: Goldwyn Rodrigues Acked-off-by: Mark Fasheh Signed-off-by: Joel Becker commit 17782d99502851dc7e48114ee9c5a6d6741cba18 Author: Dave Airlie Date: Fri Aug 21 10:07:54 2009 +1000 drm/radeon/kms: add r100/r200 OQ support. This adds the relocation necessary for OQ support on the r100/r200 chipsets. Signed-off-by: Dave Airlie commit 08e4d534743f4e9af3602aebbc1cca9372762028 Author: Thomas Hellstrom Date: Thu Aug 20 19:02:31 2009 +1000 drm: Fix sysfs device confusion. The drm sysfs class suspend / resume methods could not distinguish between different device types wich could lead to illegal type casts. Use struct device_type and make sure the class suspend / resume callbacks are aware of those. There is no per device-type suspend / resume. Only new-style PM. Signed-off-by: Thomas Hellstrom Reviewed-by: Jesse Barnes Signed-off-by: Dave Airlie commit e3b2415e281a97ade36d88404094a90cfea838c0 Author: Dave Airlie Date: Fri Aug 21 09:47:45 2009 +1000 drm/radeon/kms: implement the bo busy ioctl properly. The previous patch assumes the ioctl already existed, when it actually didn't. It also didn't return the correct error code. Signed-off-by: Dave Airlie commit a8b88d3d49623ac701b5dc996cbd61219c793c7c Author: Jan Kara Date: Thu Aug 20 18:26:52 2009 +0200 ocfs2: Add missing lock name There is missing name for NFSSync cluster lock. This makes lockdep unhappy because we end up passing NULL to lockdep when initializing lock key. Fix it. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit fc0ce23506d943b9eaa731a051769d0e0605eb03 Author: Jan Beulich Date: Thu Aug 20 16:14:15 2009 +0100 x86: add vmlinux.lds to targets in arch/x86/boot/compressed/Makefile The absence of vmlinux.lds here keeps .vmlinux.lds.cmd from being included, which in turn leads to it and all its dependents always getting rebuilt independent of whether they are already up-to-date. Signed-off-by: Jan Beulich LKML-Reference: <4A8D84670200007800010D31@vpn.id2.novell.com> Signed-off-by: H. Peter Anvin commit 429966b8f644dda2afddb4f834a944e9b46a7645 Merge: a1d1251 c37faaf Author: Linus Torvalds Date: Thu Aug 20 14:55:24 2009 -0700 Merge branch 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-fixes-rc6' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-stu300: I2C STU300 stability updates i2c-omap: Enable workaround for Errata 1.153 based on i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts i2c-omap: Fix I2C status ACK commit c37faafa7d46622b749437f7d294201a63af4beb Author: Linus Walleij Date: Thu Aug 13 22:14:23 2009 +0200 i2c-stu300: I2C STU300 stability updates - blk clk is enabled when an irq arrives. The clk should be enabled, but just to make sure. - All error bits are handled no matter state machine state - All irq's will run complete() except for irq's that wasn't an event. - No more looking into status registers just in case an interrupt has happend and the irq handle wasn't executed. - irq_disable/enable are now separete functions. - clk settings calculation changed to round upwards instead of downwards. - Number of address send attempts before giving up is increased to 12 from 10 since it most times take 8 tries before getting through. Signed-off-by: Linus Walleij Signed-off-by: Ben Dooks commit 61149787d65b4a2f9c638d363dc65e13cb063e29 Author: Moiz Sonasath Date: Thu Aug 20 11:21:16 2009 -0500 i2c-omap: Enable workaround for Errata 1.153 based on Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later version of I2C IP block. The errata impacts OMAP 2420|2430|3430, enable the workaround for these based on I2C IP block revision number instead of OMAP CPU type Signed-off-by: Moiz Sonasath Signed-off-by: Vikram Pandita Signed-off-by: Ben Dooks commit dd11976aea15bde53ce40b076dd5fa462c74f41a Author: Moiz Sonasath Date: Thu Aug 20 11:21:15 2009 -0500 i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts ACK any pending read/write interrupts before exiting the ISR either after completing the operation [ARDY interrupt] or in case of an error [NACK|AL interrupt] Signed-off-by: Moiz Sonasath Signed-off-by: Vikram Pandita Signed-off-by: Ben Dooks commit dcc4ec26942d3bae2c5a82ab8346ab53b540a171 Author: Nishanth Menon Date: Thu Aug 20 11:21:14 2009 -0500 i2c-omap: Fix I2C status ACK I2C status ack for [RX]RDR and [RX]RDY could cause race conditions of clearing the event twice and a violation of the programing sequence as defined in TRM This patch fixes the same. Signed-off-by: Nishanth Menon Signed-off-by: Moiz Sonasath Signed-off-by: Ben Dooks commit a1d12511157c8d22a5a6779f8a9d73a1adcfc3b0 Merge: 6c30c53 3abf2f3 Author: Linus Torvalds Date: Thu Aug 20 10:19:39 2009 -0700 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec ALSA: hda: add model for Intel DG45ID/DG45FC boards ALSA: hda: enable speaker output for Compaq 6530s/6531s commit c82f63e411f1b58427c103bd95af2863b1c96dd1 Author: Alek Du Date: Sat Aug 8 08:46:19 2009 +0800 PCI: check saved state before restore Without the check, the config space may be filled with zeros. Though the driver should try to avoid call restoring before saving, but the pci layer also should check this. Also removes the existing check in pci_restore_standard_config, since it's superfluous with the new check in restore_state. Acked-by: Rafael J. Wysocki Signed-off-by: Alek Du Signed-off-by: Jesse Barnes commit cbcb340cb6a6f9f32724c90493f509dd41105e20 Merge: 78b89ec ce2eef3 Author: Ingo Molnar Date: Thu Aug 20 12:05:24 2009 +0200 Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen into x86/urgent commit d3b325f9c25be6d504bc73afce7f92d0e25001d7 Author: Petri Gynther Date: Thu Aug 20 02:21:27 2009 -0700 ibm_newemac: emac_close() needs to call netif_carrier_off() When ibm_newemac netdev instance is shutdown with "ifconfig down", the netdev interface does not go properly down. netif_carrier_ok() keeps returning TRUE even after "ifconfig down". The problem can be seen when ibm_newemac instances are slaves of a bonding interface. The bonding interface code uses netif_carrier_ok() to determine the link status of its slaves. When ibm_newemac slave is shutdown with "ifconfig down", the bonding interface won't detect any link status change because netif_carrier_ok() keeps returning TRUE. Signed-off-by: Petri Gynther Signed-off-by: David S. Miller commit 68947b8f9a36f7f7f54ca95e0c6e169bb603e803 Author: Jiri Kosina Date: Wed Aug 19 22:07:44 2009 -0700 Input: iforce - support new revision of ACT LABS Force RS Reported-by: cemede@gmail.com Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit ce2eef33d35cd7b932492b5a81fb0febd2b323cd Author: Jeremy Fitzhardinge Date: Mon Aug 17 12:26:53 2009 -0700 xen: rearrange things to fix stackprotector Make sure the stack-protector segment registers are properly set up before calling any functions which may have stack-protection compiled into them. [ Impact: prevent Xen early-boot crash when stack-protector is enabled ] Signed-off-by: Jeremy Fitzhardinge commit 5416c2663517ebd0be0664c4d4ce3df0b116c059 Author: Jeremy Fitzhardinge Date: Mon Aug 17 12:25:41 2009 -0700 x86: make sure load_percpu_segment has no stackprotector load_percpu_segment() is used to set up the per-cpu segment registers, which are also used for -fstack-protector. Make sure that the load_percpu_segment() function doesn't have stackprotector enabled. [ Impact: allow percpu setup before calling stack-protected functions ] Signed-off-by: Jeremy Fitzhardinge commit cbb35f8a2858f7e0fff5df598cb286c4bcae5976 Author: Randy Dunlap Date: Wed Aug 19 12:13:31 2009 -0700 net: fix ks8851 build errors Fix build errors due to missing Kconfig select of CRC32: ks8851.c:(.text+0x7d2ee): undefined reference to `crc32_le' ks8851.c:(.text+0x7d2f5): undefined reference to `bitrev32' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 3abf2f3639959e4f53f209f93cd4d93fe9356de1 Author: Takashi Iwai Date: Wed Aug 19 20:05:02 2009 +0200 ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec There are many variants of Toshiba laptops with ALC268 codec, and it seems that a few of them don't work with model=toshiba preset since they have the secondary ALC268 codec just for HDMI output. This is a regression due to the previous clean-up work to merge all Toshiba quirk entries into a single check. This patch adds the identification of such laptops to apply the standard BIOS-probing method. Unfortunately, Toshiba laptops have all the same PCI SSID, so we need to check the codec SSID to identify each device. Tested-by: Alexey Dobriyan Signed-off-by: Takashi Iwai commit 6c30c53fd5ae6a99a23ad78e90c428d2c8ffb07f Merge: 0dc9aa8 a924586 Author: Linus Torvalds Date: Wed Aug 19 10:40:24 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix oopses with doubly mounted snapshots nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint() commit 0dc9aa845c20ed1f46c85f229591b811dffc4b3b Author: Anton Blanchard Date: Wed Aug 19 16:10:16 2009 +0100 AFS: Documentation updates Fix some issues with the AFS documentation, found when testing AFS on ppc64: - Update AFS features: reading/writing, local caching - Typo in kafs sysfs debug file - Use modprobe instead of insmod in example - Update IPs for grand.central.org Signed-off-by: Anton Blanchard Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit cad2c8fd9b3afceced08838c87c520e6da417a65 Merge: 4aa2d56 5ef5f72 Author: Linus Torvalds Date: Wed Aug 19 10:38:36 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/kms: teardown crtc correctly when fb is destroyed. drm/kms/radeon: cleanup combios TV table like DDX. drm/radeon/kms: memset the allocated framebuffer before using it. drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it. drm/radeon/kms: implement bo busy check + current domain drm/radeon/kms: cut down indirects in register accesses. drm/radeon/kms: Fix up vertical blank interrupt support. drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR drm/edid: fixup detailed timings like the X server. drm/radeon/kms: Add specific rs690 authorized register table commit 4aa2d56b2149e70a0b944b4f21e4aed33d9ab94e Merge: d46c7d9 1fef789 Author: Linus Torvalds Date: Wed Aug 19 09:44:51 2009 -0700 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Update Microblaze defconfigs microblaze: Use klimit instead of _end for memory init microblaze: Enable ppoll syscall microblaze: Sane handling of missing timer/intc in device tree microblaze: use the generic ack_bad_irq implementation commit d46c7d9ab8289f23a5e161060b84fd7e63de7921 Merge: c124891 b395cd8 Author: Linus Torvalds Date: Wed Aug 19 09:43:19 2009 -0700 Merge branch 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf tools: Make 'make html' work perf annotate: Fix segmentation fault perf_counter: Fix the PARISC build perf_counter: Check task on counter read IPI perf: Rename perf-examples.txt to examples.txt perf record: Fix typo in pid_synthesize_comm_event commit f833bab87fca5c3ce13778421b1365845843b976 Author: Suresh Siddha Date: Mon Aug 17 14:34:59 2009 -0700 clockevent: Prevent dead lock on clockevents_lock Currently clockevents_notify() is called with interrupts enabled at some places and interrupts disabled at some other places. This results in a deadlock in this scenario. cpu A holds clockevents_lock in clockevents_notify() with irqs enabled cpu B waits for clockevents_lock in clockevents_notify() with irqs disabled cpu C doing set_mtrr() which will try to rendezvous of all the cpus. This will result in C and A come to the rendezvous point and waiting for B. B is stuck forever waiting for the spinlock and thus not reaching the rendezvous point. Fix the clockevents code so that clockevents_lock is taken with interrupts disabled and thus avoid the above deadlock. Also call lapic_timer_propagate_broadcast() on the destination cpu so that we avoid calling smp_call_function() in the clockevents notifier chain. This issue left us wondering if we need to change the MTRR rendezvous logic to use stop machine logic (instead of smp_call_function) or add a check in spinlock debug code to see if there are other spinlocks which gets taken under both interrupts enabled/disabled conditions. Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Cc: "Pallipadi Venkatesh" Cc: "Brown Len" LKML-Reference: <1250544899.2709.210.camel@sbs-t61.sc.intel.com> Signed-off-by: Thomas Gleixner commit fa6963b2481beff8b11f76006fbb63fdbbf2d2d7 Author: Peter Zijlstra Date: Wed Aug 19 11:18:26 2009 +0200 perf tools: Check perf.data owner Add an owner check to opening perf.data files and a switch to silence it. Because perf-report/perf-annotate are binary parsers reading another users' perf.data file could be a security risk if the file were explicitly engineered to trigger bugs in the parser (we hope of course there are non such bugs, but you never know). Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090819092023.896648538@chello.nl> Signed-off-by: Ingo Molnar commit ae709440edb2d36f51f5ea51cfab931f45c03e02 Author: Wu Fengguang Date: Wed Aug 19 17:05:11 2009 +0800 ALSA: hda: add model for Intel DG45ID/DG45FC boards The BIOS pin configs are in fact correct and shall not be overwritten. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 150fe14c1a1f08cb430d8382bf5554c2a168b79b Author: Wu Fengguang Date: Wed Aug 19 16:58:59 2009 +0800 ALSA: hda: enable speaker output for Compaq 6530s/6531s HP Compaq 6530s and 6531s internal speaker is silence or becomes silence within 1 minute after fresh boot. It is found that pin 0x1c must be set to PIN_OUT mode to make the speaker work. This is weird - line-in pin 0x1c and speaker pin 0x16 seem to be unrelated. The codec differences before/after patch are: @@ Node 0x17 [Pin Complex] wcaps 0x40020b: Pin Default 0x41a6e130: [N/A] Mic at Ext Rear Conn = Digital, Color = White DefAssociation = 0x3, Sequence = 0x0 Misc = NO_PRESENCE - Pin-ctls: 0x24: IN + Pin-ctls: 0x40: OUT @@ Node 0x1c [Pin Complex] wcaps 0x40018d: Pin Default 0x41813021: [N/A] Line In at Ext Rear Conn = 1/8, Color = Blue DefAssociation = 0x2, Sequence = 0x1 - Pin-ctls: 0x24: IN VREF_80 + Pin-ctls: 0x40: OUT VREF_HIZ Unsolicited: tag=00, enabled=0 Connection: 1 0x24 Tests show that it won't impact (external) Mic recording. Reported-by: "Lin, Ming M" Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 1ca3976d8ca8b0b44145994b1433f759a642615b Author: David S. Miller Date: Tue Aug 18 23:56:21 2009 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit 2193aa276e2579d9c781c5269521d43f47da9959 Author: David S. Miller Date: Tue Aug 18 23:46:12 2009 -0700 sparc32: Update defconfig. Signed-off-by: David S. Miller commit a9919646d12a13bea7eb74b996686f900dffb120 Author: David S. Miller Date: Tue Aug 18 23:44:08 2009 -0700 sparc32: Kill trap table freeing code. Normally, srmmu uses different trap table register values to allow determination of the cpu we're on. All of the trap tables have identical content, they just sit at different offsets from the first trap table, and the offset shifted down and masked out determines the cpu we are on. The code tries to free them up when they aren't actually used (don't have all 4 cpus, we're on sun4d, etc.) but that causes problems. For one thing it triggers false positives in the DMA debugging code. And fixing that up while preserving this relative offset thing isn't trivial. So just kill the freeing code, it costs us at most 3 pages, big deal... Signed-off-by: David S. Miller commit 456d8991a795ff5e44dbc1c2a7f8d5b4ed675866 Author: Wan ZongShun Date: Tue Aug 18 23:34:58 2009 -0700 net: Rename MAC platform driver for w90p910 platform Due to I modified the corresponding platform device name, so I make the patch to rename MAC platform driver for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 5ef5f72febfea420ce58f670bad83830a5e5e3de Author: Dave Airlie Date: Mon Aug 17 13:11:23 2009 +1000 drm/kms: teardown crtc correctly when fb is destroyed. If userspace destroys a framebuffer that is in use on a crtc, don't just null it out, tear down the crtc properly so the hw gets turned off. Signed-off-by: Dave Airlie commit 6a719e05330ef19acd9392dbbfb95a774776dee5 Author: Dave Airlie Date: Mon Aug 17 10:19:51 2009 +1000 drm/kms/radeon: cleanup combios TV table like DDX. The fallback case wasn't getting executed properly if there was no TV table, which my T42 M7 hasn't got. Signed-off-by: Dave Airlie commit bf8e828b00a5b6a0fea16f452be578c060d57d64 Author: Dave Airlie Date: Mon Aug 17 10:20:47 2009 +1000 drm/radeon/kms: memset the allocated framebuffer before using it. This gets rid of some ugliness, we shuold probably find a way for the GPU to zero this. Signed-off-by: Dave Airlie commit 80e6914db18e702549a15dea36fa7ace17f25c50 Author: Dave Airlie Date: Mon Aug 17 10:22:37 2009 +1000 drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it. LVDS always requests RMX_FULL, we need to fix it so that doesn't happen before we can enable LVDS on crtc 1. Signed-off-by: Dave Airlie commit e7a5965a81a29a13cd4994fa23a6a7a1488bcdb6 Author: Roel Kluin Date: Tue Aug 18 20:21:40 2009 -0700 yellowfin: Fix buffer underrun after dev_alloc_skb() failure yellowfin_init_ring() needs to clean up if dev_alloc_skb() fails and should pass an error status up to the caller. This also prevents an buffer underrun if failure occurred in the first iteration. yellowfin_open() which calls yellowfin_init_ring() should free its requested irq upon failure. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit e2c6cbd9ace61039d3de39e717195e38f1492aee Author: Mathieu Desnoyers Date: Tue Aug 18 20:16:55 2009 -0700 sparc: sys32.S incorrect compat-layer splice() system call I think arch/sparc/kernel/sys32.S has an incorrect splice definition: SIGN2(sys32_splice, sys_splice, %o0, %o1) The splice() prototype looks like : long splice(int fd_in, loff_t *off_in, int fd_out, loff_t *off_out, size_t len, unsigned int flags); So I think we should have : SIGN2(sys32_splice, sys_splice, %o0, %o2) Signed-off-by: Mathieu Desnoyers Signed-off-by: David S. Miller commit c124891f50f11e33acdfa276864ea089bab726b6 Merge: 77f312a 024e6cb Author: Linus Torvalds Date: Tue Aug 18 19:41:47 2009 -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: security: Fix prompt for LSM_MMAP_MIN_ADDR security: Make LSM_MMAP_MIN_ADDR default match its help text. commit 77f312a96dd1e01c49ccd872265e70a8346b53cc Merge: dc8ed71 142d44b Author: Linus Torvalds Date: Tue Aug 18 19:41:05 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: use the right flag for get_vm_area() percpu, sparc64: fix sparse possible cpu map handling init: set nr_cpu_ids before setup_per_cpu_areas() commit eda1e328556565e211b7450250e40d6de751563a Author: Jiri Olsa Date: Tue Aug 11 17:29:04 2009 +0200 tracing: handle broken names in ftrace filter If one filter item (for set_ftrace_filter and set_ftrace_notrace) is being setup by more than 1 consecutive writes (FTRACE_ITER_CONT flag), it won't be handled corretly. I used following program to test/verify: [snip] #include #include #include #include #include int main(int argc, char **argv) { int fd, i; char *file = argv[1]; if (-1 == (fd = open(file, O_WRONLY))) { perror("open failed"); return -1; } for(i = 0; i < (argc - 2); i++) { int len = strlen(argv[2+i]); int cnt, off = 0; while(len) { cnt = write(fd, argv[2+i] + off, len); len -= cnt; off += cnt; } } close(fd); return 0; } [snip] before change: sh-4.0# echo > ./set_ftrace_filter sh-4.0# /test ./set_ftrace_filter "sys" "_open " sh-4.0# cat ./set_ftrace_filter #### all functions enabled #### sh-4.0# after change: sh-4.0# echo > ./set_ftrace_notrace sh-4.0# test ./set_ftrace_notrace "sys" "_open " sh-4.0# cat ./set_ftrace_notrace sys_open sh-4.0# Signed-off-by: Jiri Olsa LKML-Reference: <20090811152904.GA26065@jolsa.lab.eng.brq.redhat.com> Signed-off-by: Steven Rostedt commit dc8ed71eeb8adce08d3070f4130e12ee540baa59 Merge: 7f9cfb3 e412cd2 Author: Linus Torvalds Date: Tue Aug 18 16:55:43 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: Don't initialize MCEs on unknown CPUs x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c x86, mce: therm_throt: Don't log redundant normality x86: Fix UV BAU destination subnode id commit 7f9cfb31030737a7fc9a1cbca3fd01bec184c849 Author: Bo Liu Date: Tue Aug 18 14:11:19 2009 -0700 mm: build_zonelists(): move clear node_load[] to __build_all_zonelists() If node_load[] is cleared everytime build_zonelists() is called,node_load[] will have no help to find the next node that should appear in the given node's fallback list. Because of the bug, zonelist's node_order is not calculated as expected. This bug affects on big machine, which has asynmetric node distance. [synmetric NUMA's node distance] 0 1 2 0 10 12 12 1 12 10 12 2 12 12 10 [asynmetric NUMA's node distance] 0 1 2 0 10 12 20 1 12 10 14 2 20 14 10 This (my bug) is very old but no one has reported this for a long time. Maybe because the number of asynmetric NUMA is very small and they use cpuset for customizing node memory allocation fallback. [akpm@linux-foundation.org: fix CONFIG_NUMA=n build] Signed-off-by: Bo Liu Reviewed-by: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 503f7944fac68f4fdf71f8ebd06907f51eb64515 Author: Joe Perches Date: Tue Aug 18 14:11:18 2009 -0700 REPORTING-BUGS: add get_maintainer.pl blurb Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28d7a6ae92c099d81cbea08c20be0d2cf7ccd7ca Author: Graff Yang Date: Tue Aug 18 14:11:17 2009 -0700 nommu: check fd read permission in validate_mmap_request() According to the POSIX (1003.1-2008), the file descriptor shall have been opened with read permission, regardless of the protection options specified to mmap(). The ltp test cases mmap06/07 need this. Signed-off-by: Graff Yang Acked-by: Paul Mundt Signed-off-by: David Howells Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 191529756633052680dd9d23ad63744ca5aa02a1 Author: Ben Dooks Date: Tue Aug 18 14:11:17 2009 -0700 spi_s3c24xx: fix transfer setup code Since the changes to the bitbang driver, there is the possibility we will be called with either the speed_hz or bpw values zero. We take these to mean that the default values (8 bits per word, or maximum bus speed). Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8978784544e8b4e8fbacb558df8580957d4f8a5 Author: Ben Dooks Date: Tue Aug 18 14:11:16 2009 -0700 spi_s3c24xx: fix clock rate calculation Currently the clock rate calculation may round as pleased, which means that it is possible that we will round down and end up with a faster clock rate than intended. Change the calculation to use DIV_ROUND_UP() to ensure that we end up with a clock rate either the same as or lower than the user requested one. Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2503a9408e44eb0531adc3436c513ea70f91c42 Author: Andrew Morton Date: Tue Aug 18 14:11:12 2009 -0700 mmc: add the new linux-mmc mailing list to MAINTAINERS There are a number of individual MMC drivers listed in MAINTAINERS. I didn't modify those records. Perhaps I should have. Cc: Cc: Manuel Lauss Cc: Nicolas Pitre Cc: Pierre Ossman Cc: Pavel Pisa Cc: Jarkko Lavinen Cc: Ben Dooks Cc: Sascha Sommer Cc: Ian Molton Cc: Joseph Chan Cc: Harald Welte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0753ba01e126020bf0f8150934903b48935b697d Author: KOSAKI Motohiro Date: Tue Aug 18 14:11:10 2009 -0700 mm: revert "oom: move oom_adj value" The commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to the mm_struct. It was a very good first step for sanitize OOM. However Paul Menage reported the commit makes regression to his job scheduler. Current OOM logic can kill OOM_DISABLED process. Why? His program has the code of similar to the following. ... set_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */ ... if (vfork() == 0) { set_oom_adj(0); /* Invoked child can be killed */ execve("foo-bar-cmd"); } .... vfork() parent and child are shared the same mm_struct. then above set_oom_adj(0) doesn't only change oom_adj for vfork() child, it's also change oom_adj for vfork() parent. Then, vfork() parent (job scheduler) lost OOM immune and it was killed. Actually, fork-setting-exec idiom is very frequently used in userland program. We must not break this assumption. Then, this patch revert commit 2ff05b2b and related commit. Reverted commit list --------------------- - commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct) - commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE) - commit 8123681022 (oom: only oom kill exiting tasks with attached memory) - commit 933b787b57 (mm: copy over oom_adj value at fork time) Signed-off-by: KOSAKI Motohiro Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Rik van Riel Cc: Linus Torvalds Cc: Oleg Nesterov Cc: Nick Piggin Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0 Author: Jeff Layton Date: Tue Aug 18 14:11:08 2009 -0700 vfs: make get_sb_pseudo set s_maxbytes to value that can be cast to signed get_sb_pseudo sets s_maxbytes to ~0ULL which becomes negative when cast to a signed value. Fix it to use MAX_LFS_FILESIZE which casts properly to a positive signed value. Signed-off-by: Jeff Layton Reviewed-by: Johannes Weiner Acked-by: Steve French Reviewed-by: Christoph Hellwig Cc: Al Viro Cc: Robert Love Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b6f0b6c131321e1bc34c47b7f671b0360315402 Author: Joe Perches Date: Tue Aug 18 14:11:06 2009 -0700 MAINTAINERS: OSD LIBRARY and FILESYSTEM pattern fix Signed-off-by: Joe Perches Acked-by: Benny Halevy Cc: Boaz Harrosh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08fdef99342955a62884fb5c49ab43431a1cafbf Merge: c1a8f1f 518ff04 Author: David S. Miller Date: Tue Aug 18 16:29:16 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 024e6cb408307de41cbfcb1e5a170d9af60ab2a9 Author: Andreas Schwab Date: Tue Aug 18 22:14:29 2009 +0200 security: Fix prompt for LSM_MMAP_MIN_ADDR Fix prompt for LSM_MMAP_MIN_ADDR. (Verbs are cool!) Signed-off-by: Andreas Schwab Acked-by: Eric Paris Signed-off-by: James Morris commit a58578e47f004017cf47803ad372490806630e58 Author: Dave Jones Date: Tue Aug 18 13:47:37 2009 -0400 security: Make LSM_MMAP_MIN_ADDR default match its help text. Commit 788084aba2ab7348257597496befcbccabdc98a3 added the LSM_MMAP_MIN_ADDR option, whose help text states "For most ia64, ppc64 and x86 users with lots of address space a value of 65536 is reasonable and should cause no problems." Which implies that it's default setting was typoed. Signed-off-by: Dave Jones Acked-by: Eric Paris Signed-off-by: James Morris commit dcd94dbdaff452b95d4ba11fdbf853b5bda8e6e7 Merge: 8486a0f 69ab849 Author: Linus Torvalds Date: Tue Aug 18 13:57:38 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Wake up irq thread after action has been installed commit 8486a0f95c844b27ecc855cfec89b7e34f831cad Merge: b9d030a c1a8f1f Author: Linus Torvalds Date: Tue Aug 18 13:55:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits) net: restore gnet_stats_basic to previous definition NETROM: Fix use of static buffer e1000e: fix use of pci_enable_pcie_error_reporting e1000e: WoL does not work on 82577/82578 with manageability enabled cnic: Fix locking in init/exit calls. cnic: Fix locking in start/stop calls. bnx2: Use mutex on slow path cnic calls. cnic: Refine registration with bnx2. cnic: Fix symbol_put_addr() panic on ia64. gre: Fix MTU calculation for bound GRE tunnels pegasus: Add new device ID. drivers/net: fixed drivers that support netpoll use ndo_start_xmit() via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL rt2x00: fix memory corruption in rf cache, add a sanity check ixgbe: Fix receive on real device when VLANs are configured ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion netxen: free napi resources during detach netxen: remove netxen workqueue ixgbe: fix issues setting rx-usecs with legacy interrupts can: fix oops caused by wrong rtnl newlink usage ... commit b9d030a123b6b7fbf262c995455197ea5184b497 Merge: 435a71d 237674e Author: Linus Torvalds Date: Tue Aug 18 13:54:26 2009 -0700 Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: sh7724 ddr self-refresh changes sh: use in-soc KEYSC on se7724 sh: CMT suspend/resume sh: skip disabled LCDC channels commit 435a71d9ef68b03343949c814986e01dae849763 Merge: df4ecf1 80ffb3c Author: Linus Torvalds Date: Tue Aug 18 13:54:08 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: Fix new incorrect error return from do_md_stop. commit a924586036833086b262a371b09d1266c23bb4d1 Author: Ryusuke Konishi Date: Wed Aug 19 00:29:43 2009 +0900 nilfs2: fix oopses with doubly mounted snapshots will fix kernel oopses like the following: # mount -t nilfs2 -r -o cp=20 /dev/sdb1 /test1 # mount -t nilfs2 -r -o cp=20 /dev/sdb1 /test2 # umount /test1 # umount /test2 BUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1069 in_atomic(): 0, irqs_disabled(): 1, pid: 3886, name: umount.nilfs2 1 lock held by umount.nilfs2/3886: #0: (&type->s_umount_key#31){+.+...}, at: [] deactivate_super+0x52/0x6c irq event stamp: 1219 hardirqs last enabled at (1219): [] __mutex_unlock_slowpath+0xf8/0x119 hardirqs last disabled at (1218): [] __mutex_unlock_slowpath+0x59/0x119 softirqs last enabled at (1214): [] __do_softirq+0x1a5/0x1ad softirqs last disabled at (1205): [] do_softirq+0x36/0x5a Pid: 3886, comm: umount.nilfs2 Not tainted 2.6.31-rc6 #55 Call Trace: [] __might_sleep+0x107/0x10e [] do_page_fault+0x246/0x397 [] ? do_page_fault+0x0/0x397 [] error_code+0x6b/0x70 [] ? do_page_fault+0x0/0x397 [] ? __lock_acquire+0x91/0x12fd [] ? __lock_acquire+0x12ee/0x12fd [] ? __lock_acquire+0x12ee/0x12fd [] lock_acquire+0xba/0xdd [] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2] [] down_write+0x2a/0x46 [] ? nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2] [] nilfs_detach_segment_constructor+0x2f/0x2fa [nilfs2] [] ? mark_held_locks+0x43/0x5b [] ? trace_hardirqs_on_caller+0x10b/0x133 [] ? trace_hardirqs_on+0xb/0xd [] nilfs_put_super+0x2f/0xca [nilfs2] [] generic_shutdown_super+0x49/0xb8 [] kill_block_super+0x1d/0x31 [] ? vfs_quota_off+0x0/0x12 [] deactivate_super+0x57/0x6c [] mntput_no_expire+0x8c/0xb4 [] sys_umount+0x27f/0x2a4 [] sys_oldumount+0xd/0xf [] sysenter_do_call+0x12/0x38 ... This turns out to be a bug brought by an -rc1 patch ("nilfs2: simplify remaining sget() use"). In the patch, a new "put resource" function, nilfs_put_sbinfo() was introduced to delay freeing nilfs_sb_info struct. But the nilfs_put_sbinfo() mistakenly used atomic_dec_and_test() function to check the reference count, and it caused the nilfs_sb_info was freed when user mounted a snapshot twice. This bug also suggests there was unseen memory leak in usual mount /umount operations for nilfs. Signed-off-by: Ryusuke Konishi commit b395cd8a74b4a8d943dd4b5585e676f62f7350b3 Author: Kyle McMartin Date: Tue Aug 18 12:41:25 2009 -0400 perf tools: Make 'make html' work pushd tools/perf/Documentation make html popd is failing for me... ASCIIDOC perf-annotate.html ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11.css ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11-manpage.css ERROR: unsafe: include file: /etc/asciidoc/./stylesheets/xhtml11-quirks.css make: *** [perf-annotate.html] Error 1 Apparently asciidoc "unsafe" is the default mode of operation in practice. https://bugzilla.redhat.com/show_bug.cgi?id=506953 Works tidily now. Signed-off-by: Kyle McMartin Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20090818164125.GM25206@bombadil.infradead.org> Signed-off-by: Ingo Molnar commit 78b89ecd731798f2fec8cc26ca90739253cec33c Author: Jan Beulich Date: Tue Aug 18 16:41:33 2009 +0100 i386: Fix section mismatches for init code with !HOTPLUG_CPU Commit 0e83815be719d3391bf5ea24b7fe696c07dbd417 changed the section the initial_code variable gets allocated in, in an attempt to address a section conflict warning. This, however created a new section conflict when building without HOTPLUG_CPU. The apparently only (reasonable) way to address this is to always use __REFDATA. Once at it, also fix a second section mismatch when not using HOTPLUG_CPU. Signed-off-by: Jan Beulich Cc: Robert Richter LKML-Reference: <4A8AE7CD020000780001054B@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 69ab849439b506cd8dd2879527fdb64d95dd5211 Author: Thomas Gleixner Date: Mon Aug 17 14:07:16 2009 +0200 genirq: Wake up irq thread after action has been installed The wake_up_process() of the new irq thread in __setup_irq() is too early as the irqaction is not yet fully initialized especially action->irq is not yet set. The interrupt thread might dereference the wrong irq descriptor. Move the wakeup after the action is installed and action->irq has been set. Reported-by: Michael Buesch Signed-off-by: Thomas Gleixner Tested-by: Michael Buesch commit 15f3fa4e7f608c5ce19187b3b4a953222fdfa751 Author: Ingo Molnar Date: Tue Aug 18 13:52:28 2009 +0200 perf annotate: Fix segmentation fault Linus reported this perf annotate segfault: [torvalds@nehalem git]$ perf annotate unmap_vmas Segmentation fault #0 map__clone (self=) at builtin-annotate.c:236 #1 thread__fork (self=) at builtin-annotate.c:372 The bug here was that builtin-annotate.c was a copy of builtin-report.c and a threading related fix to builtin-report.c didnt get propagated to builtin-annotate.c ... Reported-by: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit f738eb1b63edf664da1b4ac76895d988749b2f07 Author: Ingo Molnar Date: Tue Aug 18 11:32:24 2009 +0200 perf_counter: Fix the PARISC build PARISC does not build: /home/mingo/tip/kernel/perf_counter.c: In function 'perf_counter_index': /home/mingo/tip/kernel/perf_counter.c:2016: error: 'PERF_COUNTER_INDEX_OFFSET' undeclared (first use in this function) /home/mingo/tip/kernel/perf_counter.c:2016: error: (Each undeclared identifier is reported only once /home/mingo/tip/kernel/perf_counter.c:2016: error: for each function it appears in.) As PERF_COUNTER_INDEX_OFFSET is not defined. Now, we could define it in the architecture - but lets also provide a core default of 0 (which happens to be what all but one architecture uses at the moment). Architectures that need a different index offset should set this value in their asm/perf_counter.h files. Cc: Kyle McMartin Cc: Helge Deller Cc: linux-parisc@vger.kernel.org Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1fef7891755d99039592aa8d1ed02e981f38de15 Author: Michal Simek Date: Tue Aug 18 11:05:11 2009 +0200 microblaze: Update Microblaze defconfigs Signed-off-by: Michal Simek commit 8f37b6c9852ff79cc8472c44ea6f6485dfd58bd2 Author: Michal Simek Date: Tue Aug 11 12:36:12 2009 +0200 microblaze: Use klimit instead of _end for memory init For noMMU system when you use larger rootfs image there is problem with using _end label because we increase klimit but in memory initialization we use still _end which is wrong. Larger mtd rootfs was rewritten by init_bootmem_node. MMU kernel use static initialization where klimit is setup to _end. There is no any other hanling with klimit. Signed-off-by: Michal Simek commit 2856ed35ead295a7cc8788d9ba860e746dfc92bb Author: Michal Simek Date: Thu Aug 6 16:00:52 2009 +0200 microblaze: Enable ppoll syscall Signed-off-by: Michal Simek commit 892ee92b81b6e7fa5f6147c96e11c6c1b9802fc6 Author: John Williams Date: Wed Jul 29 22:08:40 2009 +1000 microblaze: Sane handling of missing timer/intc in device tree This code path doesn't test any returned pointers for NULL, leading to a bad kernel page fault if there's no timer/intc found. Slightly better is to BUG(), but even better still would be a printk beforehand. Signed-off-by: John Williams Signed-off-by: Michal Simek commit 6b99ecec25c8fd501e74306f5d23dd0365065e2a Author: Christoph Hellwig Date: Thu Aug 6 23:00:38 2009 +0200 microblaze: use the generic ack_bad_irq implementation Signed-off-by: Christoph Hellwig Signed-off-by: Michal Simek commit 1154ecbd2f8298ef75609f5f8ed5aca96be599fb Author: Zhang Qiang Date: Tue Aug 18 14:58:24 2009 +0800 nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint() 'ns_cno' of structure 'the_nilfs' must be protected from segment writer, in other words, the caller of nilfs_get_checkpoint should hold read lock for nilfs->ns_segctor_sem. This patch adds the lock/unlock operations in nilfs_attach_checkpoint() when calling nilfs_cpfile_get_checkpoint(). Signed-off-by: Zhang Qiang Signed-off-by: Ryusuke Konishi commit c1a8f1f1c8e01eab5862c8db39b49ace814e6c66 Author: Eric Dumazet Date: Sun Aug 16 09:36:49 2009 +0000 net: restore gnet_stats_basic to previous definition In 5e140dfc1fe87eae27846f193086724806b33c7d "net: reorder struct Qdisc for better SMP performance" the definition of struct gnet_stats_basic changed incompatibly, as copies of this struct are shipped to userland via netlink. Restoring old behavior is not welcome, for performance reason. Fix is to use a private structure for kernel, and teach gnet_stats_copy_basic() to convert from kernel to user land, using legacy structure (struct gnet_stats_basic) Based on a report and initial patch from Michael Spang. Reported-by: Michael Spang Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c6ba973b8fa97422aab4204f7d79f1d413cde925 Author: Ralf Baechle Date: Mon Aug 17 18:05:32 2009 -0700 NETROM: Fix use of static buffer The static variable used by nr_call_to_digi might result in corruption if multiple threads are trying to usee a node or neighbour via ioctl. Fixed by having the caller pass a structure in. This is safe because nr_add_node rsp. nr_add_neigh will allocate a permanent structure, if needed. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 80ffb3cceaefa405f2ecd46d66500ed8d53efe74 Author: NeilBrown Date: Tue Aug 18 10:35:26 2009 +1000 Fix new incorrect error return from do_md_stop. Recent commit c8c00a6915a2e3d10416e8bdd3138429beb96210 changed the exit paths in do_md_stop and was not quite careful enough. There is one path were 'err' now needs to be cleared but it isn't. So setting an array to readonly (with mdadm --readonly) will work, but will incorrectly report and error: ENXIO. Signed-off-by: NeilBrown commit f2d84b65b9778e8a35dd904f7d3993f0a60c9756 Author: Zhaolei Date: Fri Aug 7 18:55:48 2009 +0800 ftrace: Unify effect of writing to trace_options and option/* "echo noglobal-clock > trace_options" can be used to change trace clock but "echo 0 > options/global-clock" can't. The flag toggling will be silently accepted without actually changing the clock callback. We can fix it by using set_tracer_flags() in trace_options_core_write(). Changelog: v1->v2: Simplified switch() after Li Zefan 's suggestion Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Li Zefan Signed-off-by: Frederic Weisbecker commit 7815f4be4026b6c5027058102ae67a4b9feffa5f Author: Eric Van Hensbergen Date: Mon Aug 17 16:49:44 2009 -0500 9p: update documentation pointers Signed-off-by: Eric Van Hensbergen commit 4b53e4b500779230aedd5355940aeaaed0b5353b Author: Abhishek Kulkarni Date: Mon Aug 17 16:42:28 2009 -0500 9p: remove unnecessary v9fses->options which duplicates the mount string The mount options string is saved in sb->s_options. This patch removes the redundant duplicating of the mount options. Also, since we are not displaying anything special in show options, we replace v9fs_show_options with generic_show_options for now. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 0aad37ef3deed118d3816e1d1a600eb2ec9dcb87 Author: Abhishek Kulkarni Date: Mon Aug 17 16:38:45 2009 -0500 net/9p: insulate the client against an invalid error code sent by a 9p server A looney tunes server sending an invalid error code (which is !IS_ERR_VALUE) can result in a client oops. So fix it by adding a check and converting unknown or invalid error codes to -ESERVERFAULT. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 48559b4c30708ebdc849483da9fb83ee08c6c908 Author: Abhishek Kulkarni Date: Mon Aug 17 16:32:18 2009 -0500 9p: Add missing cast for the error return value in v9fs_get_inode Cast the error return value (ENOMEM) in v9fs_get_inode() to its correct type using ERR_PTR. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 5fd131893793567c361ae64cbeb28a2a753bbe35 Author: Jan Kara Date: Thu Jul 30 17:01:53 2009 +0200 ocfs2: Don't oops in ocfs2_kill_sb on a failed mount If we fail to mount the filesystem, we have to be careful not to dereference uninitialized structures in ocfs2_kill_sb. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 4d3297ca5bf37ff5956f76fb352e009880aad62d Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:51 2009 -0600 9p: Remove redundant inode uid/gid assignment Remove a redundant update of inode's i_uid and i_gid after v9fs_get_inode() since the latter already sets up a new inode and sets the proper uid and gid values. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 1b5ab3e86712b6be38ebbe0d821387c1d8f91d7c Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:52 2009 -0600 9p: Fix possible regressions when ->get_sb fails. ->get_sb can fail causing some badness. this patch fixes * clear sb->fs_s_info in kill_sb. * deactivate_locked_super() calls kill_sb (v9fs_kill_super) which closes the destroys the client, clunks all its fids and closes the v9fs session. Attempting to do it twice will cause an oops. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 4f4038328da5eb9cc237b51d3fe68138fd3fea14 Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:53 2009 -0600 9p: Fix v9fs show_options Add the delimiter ',' before the options when they are passed and check if no option parameters are passed to prevent displaying NULL in /proc/mounts. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 02bc35672b2fdf251e264adca5407792f63191e4 Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:54 2009 -0600 9p: Fix possible memleak in v9fs_inode_from fid. Add missing p9stat_free in v9fs_inode_from_fid to avoid any possible leaks. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 0e15597ebfe00e28857185f46aba00f400480ffe Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:55 2009 -0600 9p: minor comment fixes Fix the comments -- mostly the improper and/or missing descriptions of function parameters. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 2bb541157fe2602af7b9952096d0524f6f9c1e73 Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:56 2009 -0600 9p: Fix possible inode leak in v9fs_get_inode. Add a missing iput when cleaning up if v9fs_get_inode fails after returning a valid inode. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 50fb6d2bd7062708892ae7147f30c3ee905b7a3d Author: Abhishek Kulkarni Date: Sun Jul 19 13:41:57 2009 -0600 9p: Check for error in return value of v9fs_fid_add Check if v9fs_fid_add was successful or not based on its return value. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 1adcaafe7414c5731f758b158aa0525057225deb Author: Suresh Siddha Date: Mon Aug 17 13:23:50 2009 -0700 x86, pat: Allow ISA memory range uncacheable mapping requests Max Vozeler reported: > Bug 13877 - bogl-term broken with CONFIG_X86_PAT=y, works with =n > > strace of bogl-term: > 814 mmap2(NULL, 65536, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) > = -1 EAGAIN (Resource temporarily unavailable) > 814 write(2, "bogl: mmaping /dev/fb0: Resource temporarily unavailable\n", > 57) = 57 PAT code maps the ISA memory range as WB in the PAT attribute, so that fixed range MTRR registers define the actual memory type (UC/WC/WT etc). But the upper level is_new_memtype_allowed() API checks are failing, as the request here is for UC and the return tracked type is WB (Tracked type is WB as MTRR type for this legacy range potentially will be different for each 4k page). Fix is_new_memtype_allowed() by always succeeding the ISA address range checks, as the null PAT (WB) and def MTRR fixed range register settings satisfy the memory type needs of the applications that map the ISA address range. Reported-and-Tested-by: Max Vozeler Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin commit df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb Merge: c58afec 87c62a6 Author: Linus Torvalds Date: Mon Aug 17 13:39:52 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Fix HPAGE_SIZE redefinition commit c58afec8b2576b121eced7b94eb94eaf4626bacc Merge: 52dec22 bc990f5 Author: Linus Torvalds Date: Mon Aug 17 13:39:30 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: fix locking in xfs_iget_cache_hit commit 52dec22e739eec8f3a0154f768a599f5489048bd Merge: 08e53fc 1d99597 Author: Linus Torvalds Date: Mon Aug 17 13:38:58 2009 -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: security: define round_hint_to_min in !CONFIG_SECURITY Security/SELinux: seperate lsm specific mmap_min_addr SELinux: call cap_file_mmap in selinux_file_mmap Capabilities: move cap_file_mmap to commoncap.c commit 08e53fcb0db34baca3db84a457b6d67faabee4c6 Author: Eric Paris Date: Sun Aug 16 21:51:55 2009 -0400 inotify: start watch descriptor count at 1 The inotify_add_watch man page specifies that inotify_add_watch() will return a non-negative integer. However, historically the inotify watches started at 1, not at 0. Turns out that the inotifywait program provided by the inotify-tools package doesn't properly handle a 0 watch descriptor. In 7e790dd5 we changed from starting at 1 to starting at 0. This patch starts at 1, just like in previous kernels, but also just like in previous kernels it's possible for it to wrap back to 0. This preserves the kernel functionality exactly like it was before the patch (neither method broke the spec) Signed-off-by: Eric Paris Signed-off-by: Linus Torvalds commit cd94c8bbef8d4b796a7ed4c551355a334604fd36 Author: Eric Paris Date: Sun Aug 16 21:51:49 2009 -0400 inotify: tail drop inotify q_overflow events In f44aebcc the tail drop logic of events with no file backing (q_overflow and in_ignored) was reversed so IN_IGNORED events would never be tail dropped. This now means that Q_OVERFLOW events are NOT tail dropped. The fix is to not tail drop IN_IGNORED, but to tail drop Q_OVERFLOW. Signed-off-by: Eric Paris Signed-off-by: Linus Torvalds commit eef3a116be11d35396efb2a8cc7345fd3221e294 Author: Eric Paris Date: Sun Aug 16 21:51:44 2009 -0400 notify: unused event private race inotify decides if private data it passed to get added to an event was used by checking list_empty(). But it's possible that the event may have been dequeued and the private event removed so it would look empty. The fix is to use the return code from fsnotify_add_notify_event rather than looking at the list. Signed-off-by: Eric Paris Signed-off-by: Linus Torvalds commit 0f66f96d21b4bbff49baaa337546e687d7c58e87 Merge: 894ef82 a2bb9f4 Author: Linus Torvalds Date: Mon Aug 17 13:36:39 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (37 commits) ARM: 5673/1: U300 fix initsection compile warning ARM: Fix broken highmem support mx31moboard: invert sdhc ro signal sense ARM: S3C24XX: Fix clkout mpx error ARM: S3C64XX: serial: Fix a typo in Kconfig IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes OMAP3: RX51: Updated rx51_defconfig OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up OMAP3: RX51: Define TWL4030 USB transceiver in board file OMAP3: Overo: Fix smsc911x platform device resource value OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size OMAP2/3: DMA errata correction OMAP: Fix testing of cpu defines for mach-omap1 OMAP3: Overo: add missing pen-down GPIO definition OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask OMAP3: PM: Fix wrong sequence in suspend. OMAP: PM: CPUfreq: obey min/max settings of policy OMAP2/3/4: UART: allow in-order port traversal OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports OMAP3: Fixed crash bug with serial + suspend ... commit 60e2ec48665b8495360ca4a6004c5cd52beb2bc1 Author: Tao Ma Date: Wed Aug 12 14:42:47 2009 +0800 ocfs2: release the buffer head in ocfs2_do_truncate. In ocfs2_do_truncate, we forget to release last_eb_bh which will cause memleak. So call brelse in the end. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit ada508274b8698a33cb0e5bd037db0f9dc781795 Author: Jan Kara Date: Mon Aug 3 18:24:21 2009 +0200 ocfs2: Handle quota file corruption more gracefully ocfs2_read_virt_blocks() does BUG when we try to read a block from a file beyond its end. Since this can happen due to filesystem corruption, it is not really an appropriate answer. Make ocfs2_read_quota_block() check the condition and handle it by calling ocfs2_error() and returning EIO. [ Modified to print ip_blkno in the error - Joel ] Reported-by: Tristan Ye Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 518ff04fd84290a7ad9042e8a46d78d29cb443d3 Author: John W. Linville Date: Mon Aug 17 12:09:26 2009 -0400 orinoco: correct key bounds check in orinoco_hw_get_tkip_iv If key is 4 that is an array out of bounds. Reported-by: Dan Carpenter Signed-off-by: John W. Linville commit 523d2f6982136d332c9b7dd00e9e16da1091f060 Author: Johannes Berg Date: Wed Jul 1 21:26:43 2009 +0200 mac80211: fix todo lock The key todo lock can be taken from different locks that require it to be _bh to avoid lock inversion due to (soft)irqs. This should fix the two problems reported by Bob and Gabor: http://mid.gmane.org/20090619113049.GB18956@hash.localnet http://mid.gmane.org/4A3FA376.8020307@openwrt.org Signed-off-by: Johannes Berg Cc: Bob Copeland Cc: Gabor Juhos Signed-off-by: John W. Linville commit 87c62a66edd645a9b1ff1f9b00ab20c5a93d8845 Author: Atsushi Nemoto Date: Tue Jul 14 22:37:09 2009 +0900 MIPS: Fix HPAGE_SIZE redefinition This patch fixes warnings like this: CC fs/proc/meminfo.o In file included from /work/linux/include/linux/mmzone.h:20, from /work/linux/include/linux/gfp.h:4, from /work/linux/include/linux/mm.h:8, from /work/linux/fs/proc/meminfo.c:5: /work/linux/arch/mips/include/asm/page.h:36:1: warning: "HPAGE_SIZE" redefined In file included from /work/linux/fs/proc/meminfo.c:2: /work/linux/include/linux/hugetlb.h:107:1: warning: this is the location of the previous definition Signed-off-by: Atsushi Nemoto Acked-by: David Daney Signed-off-by: Ralf Baechle commit e412cd257e0d51e0ecbb89f50953835b5a0681b2 Author: Ingo Molnar Date: Mon Aug 17 10:19:00 2009 +0200 x86, mce: Don't initialize MCEs on unknown CPUs An older test-box started hanging at the following point during bootup: [ 0.022996] Mount-cache hash table entries: 512 [ 0.024996] Initializing cgroup subsys debug [ 0.025996] Initializing cgroup subsys cpuacct [ 0.026995] Initializing cgroup subsys devices [ 0.027995] Initializing cgroup subsys freezer [ 0.028995] mce: CPU supports 5 MCE banks I've bisected it down to commit 4efc0670 ("x86, mce: use 64bit machine check code on 32bit"), which utilizes the MCE code on 32-bit systems too. The problem is caused by this detail in my config: # CONFIG_CPU_SUP_INTEL is not set This disables the quirks in mce_cpu_quirks() but still enables MCE support - which then hangs due to the missing quirk workaround needed on this CPU: if (c->x86 == 6 && c->x86_model < 0x1A && banks > 0) mce_banks[0].init = 0; The safe solution is to not initialize MCEs if we dont know on what CPU we are running (or if that CPU's support code got disabled in the config). Also be a bit more defensive on 32-bit systems: dont do a boot-time dump of pending MCEs not just on the specific system that we found a problem with (Pentium-M), but earlier ones as well. Now this problem is probably not common and disabling CPU support is rare - but still being more defensive in something we turned on for a wide range of CPUs is prudent. Cc: Hidetoshi Seto LKML-Reference: Message-ID: <4A88E3E4.40506@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit de809347aeef0a68c04576c464414d0e4dce59fc Author: Amerigo Wang Date: Mon Aug 17 05:43:01 2009 -0400 timers: Drop write permission on /proc/timer_list /proc/timer_list and /proc/slabinfo are not supposed to be written, so there should be no write permissions on it. Signed-off-by: WANG Cong Cc: Pekka Enberg Cc: Vegard Nossum Cc: Eduard - Gabriel Munteanu Cc: linux-mm@kvack.org Cc: Christoph Lameter Cc: David Rientjes Cc: Amerigo Wang Cc: Matt Mackall Cc: Arjan van de Ven LKML-Reference: <20090817094525.6355.88682.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit e1ac3614ff606ae03677f47459113f98a19af63c Author: Paul Mackerras Date: Fri Aug 14 15:39:10 2009 +1000 perf_counter: Check task on counter read IPI In general, code in perf_counter.c that is called through an IPI checks, for per-task counters, that the counter's task is still the current task. This is to handle the race condition where the cpu switches from the task we want to another task in the interval between sending the IPI and the IPI arriving and being handled on the target CPU. For some reason, __perf_counter_read is missing this check, yet there is no reason why the race condition can't occur. This adds a check that the current task is the one we want. If it isn't, we just return. In that case the counter->count value should be up to date, since it will have been updated when the counter was scheduled out, which must have happened since the IPI was sent. I don't have an example of an actual failure due to this race, but it seems obvious that it could occur and we need to guard against it. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <19076.63614.277861.368125@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 2932cffc89e9a1476b28a59896fa4f81e0d4f131 Author: Carlos R. Mafra Date: Mon Aug 17 00:36:21 2009 +0200 perf: Rename perf-examples.txt to examples.txt Rename it to examples.txt to avoid the perf-*.txt pattern in the Makefile, otherwise 'make doc' fails because perf-examples.txt is not formatted to be a man page: ERROR: perf-examples.txt: line 1: manpage document title is mandatory Signed-off-by: Carlos R. Mafra Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: Signed-off-by: Ingo Molnar commit c7f6fa44115d401e89db730f357629d39f8e4ba6 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:52:54 2009 +0200 x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs On my legacy Pentium M laptop (Acer Extensa 2900) I get bogus MCE on a cold boot with CONFIG_X86_NEW_MCE enabled, i.e. (after decoding it with mcelog): MCE 0 HARDWARE ERROR. This is *NOT* a software problem! Please contact your hardware vendor CPU 0 BANK 1 MCG status: MCi status: Error overflow Uncorrected error Error enabled Processor context corrupt MCA: Data CACHE Level-1 UNKNOWN Error STATUS f200000000000195 MCGSTATUS 0 [ The other STATUS values observed: f2000000000001b5 (... UNKNOWN error) and f200000000000115 (... READ Error). To verify that this is not a CONFIG_X86_NEW_MCE bug I also modified the CONFIG_X86_OLD_MCE code (which doesn't log any MCEs) to dump content of STATUS MSR before it is cleared during initialization. ] Since the bogus MCE results in a kernel taint (which in turn disables lockdep support) don't log boot MCEs on Pentium M (model == 13) CPUs by default ("mce=bootlog" boot parameter can be be used to get the old behavior). Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit bc990f5cb424cdca9dda866785d088e2c2110ecc Author: Christoph Hellwig Date: Sun Aug 16 20:36:34 2009 -0400 xfs: fix locking in xfs_iget_cache_hit The locking in xfs_iget_cache_hit currently has numerous problems: - we clear the reclaim tag without i_flags_lock which protects modifications to it - we call inode_init_always which can sleep with pag_ici_lock held (this is oss.sgi.com BZ #819) - we acquire and drop i_flags_lock a lot and thus provide no consistency between the various flags we set/clear under it This patch fixes all that with a major revamp of the locking in the function. The new version acquires i_flags_lock early and only drops it once we need to call into inode_init_always or before calling xfs_ilock. This patch fixes a bug seen in the wild where we race modifying the reclaim tag. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit 1d9959734a1949ea4f2427bd2d8b21ede6b2441c Author: Eric Paris Date: Fri Aug 7 14:53:57 2009 -0400 security: define round_hint_to_min in !CONFIG_SECURITY Fix the header files to define round_hint_to_min() and to define mmap_min_addr_handler() in the !CONFIG_SECURITY case. Built and tested with !CONFIG_SECURITY Signed-off-by: Eric Paris Signed-off-by: James Morris commit 788084aba2ab7348257597496befcbccabdc98a3 Author: Eric Paris Date: Fri Jul 31 12:54:11 2009 -0400 Security/SELinux: seperate lsm specific mmap_min_addr Currently SELinux enforcement of controls on the ability to map low memory is determined by the mmap_min_addr tunable. This patch causes SELinux to ignore the tunable and instead use a seperate Kconfig option specific to how much space the LSM should protect. The tunable will now only control the need for CAP_SYS_RAWIO and SELinux permissions will always protect the amount of low memory designated by CONFIG_LSM_MMAP_MIN_ADDR. This allows users who need to disable the mmap_min_addr controls (usual reason being they run WINE as a non-root user) to do so and still have SELinux controls preventing confined domains (like a web server) from being able to map some area of low memory. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 8cf948e744e0218af604c32edecde10006dc8e9e Author: Eric Paris Date: Fri Jul 31 12:54:05 2009 -0400 SELinux: call cap_file_mmap in selinux_file_mmap Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook. This means there is no DAC check on the ability to mmap low addresses in the memory space. This function adds the DAC check for CAP_SYS_RAWIO while maintaining the selinux check on mmap_zero. This means that processes which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will NOT need the SELinux sys_rawio capability. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9c0d90103c7e0eb6e638e5b649e9f6d8d9c1b4b3 Author: Eric Paris Date: Fri Jul 31 12:53:58 2009 -0400 Capabilities: move cap_file_mmap to commoncap.c Currently we duplicate the mmap_min_addr test in cap_file_mmap and in security_file_mmap if !CONFIG_SECURITY. This patch moves cap_file_mmap into commoncap.c and then calls that function directly from security_file_mmap ifndef CONFIG_SECURITY like all of the other capability checks are done. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit cefb87efc9aa0288849149484870d5ab989fbd59 Author: Dave Airlie Date: Sun Aug 16 21:05:45 2009 +1000 drm/radeon/kms: implement bo busy check + current domain This implements the busy ioctl along with a current domain check. returns 0 or -EBUSY puts the current domain no matter what the answer. Signed-off-by: Dave Airlie commit 52459ab91363343af8ae252766e9da762344a2e7 Author: Leonardo Potenza Date: Sun Aug 16 18:55:48 2009 +0200 x86: Annotate section mismatch warnings in kernel/apic/x2apic_uv_x.c The function uv_acpi_madt_oem_check() has been marked __init, the struct apic_x2apic_uv_x has been marked __refdata. The aim is to address the following section mismatch messages: WARNING: arch/x86/kernel/apic/built-in.o(.data+0x1368): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary() The variable apic_x2apic_uv_x references the function __cpuinit uv_wakeup_secondary() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: arch/x86/kernel/built-in.o(.data+0x68e8): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary() The variable apic_x2apic_uv_x references the function __cpuinit uv_wakeup_secondary() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: arch/x86/built-in.o(.text+0x7b36f): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_ioremap() The function uv_acpi_madt_oem_check() references the function __init early_ioremap(). This is often because uv_acpi_madt_oem_check lacks a __init annotation or the annotation of early_ioremap is wrong. WARNING: arch/x86/built-in.o(.text+0x7b38d): Section mismatch in reference from the function uv_acpi_madt_oem_check() to the function .init.text:early_iounmap() The function uv_acpi_madt_oem_check() references the function __init early_iounmap(). This is often because uv_acpi_madt_oem_check lacks a __init annotation or the annotation of early_iounmap is wrong. WARNING: arch/x86/built-in.o(.data+0x8668): Section mismatch in reference from the variable apic_x2apic_uv_x to the function .cpuinit.text:uv_wakeup_secondary() The variable apic_x2apic_uv_x references the function __cpuinit uv_wakeup_secondary() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Leonardo Potenza LKML-Reference: <200908161855.48302.lpotenza@inwind.it> Signed-off-by: Ingo Molnar commit 894ef820b10d77e2d6d717342fc408bdd9825139 Author: Randy Dunlap Date: Sun Aug 16 07:33:30 2009 -0700 dm-log-userspace: fix printk format warning drivers/md/dm-log-userspace-transfer.c:110: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'size_t' Previously posted and acked, but apparently lost. http://lkml.indiana.edu/hypermail/linux/kernel/0906.2/02074.html Signed-off-by: Randy Dunlap Cc: dm-devel@redhat.com Signed-off-by: Linus Torvalds commit 4e5c25d405e18a2f279ca2bfc855508ec3a0186b Author: Hugh Dickins Date: Sun Aug 16 15:54:37 2009 +0100 x86, mce: therm_throt: Don't log redundant normality 0d01f31439c1e4d602bf9fdc924ab66f407f5e38 "x86, mce: therm_throt - change when we print messages" removed redundant announcements of "Temperature/speed normal". They're not worth logging and remove their accompanying "Machine check events logged" messages as well from the console. Signed-off-by: Hugh Dickins Cc: Hidetoshi Seto Cc: Andi Kleen Cc: Dmitry Torokhov LKML-Reference: Signed-off-by: Ingo Molnar commit 68eac4602b9104cdaa6c18b3edd914cececa6a1e Author: Xiaotian Feng Date: Fri Aug 14 14:35:52 2009 +0000 e1000e: fix use of pci_enable_pcie_error_reporting commit 111b9dc5 ("e1000e: add aer support") introduces pcie aer support for e1000e, but it is not reasonable to disable it in e1000_remove but enable it in e1000_resume. This patch enables aer support in e1000_probe. Signed-off-by: Xiaotian Feng Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 82776a4bcd7aa5fbcd2e6339b3ce88b727dd40ab Author: Bruce Allan Date: Fri Aug 14 14:35:33 2009 +0000 e1000e: WoL does not work on 82577/82578 with manageability enabled With manageability (Intel AMT) enabled via BIOS, PHY wakeup does not get configured on newer parts which use PHY wakeup vs. MAC wakeup which causes WoL to not work. The driver should configure PHY wakeup whether or not manageability is enabled. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7fc1ece40704b150477e548a7a98d285cc418790 Author: Michael Chan Date: Fri Aug 14 15:49:47 2009 +0000 cnic: Fix locking in init/exit calls. The slow path ulp_init and ulp_exit calls to the bnx2i driver are sleepable calls and therefore should not be protected using rcu_read_lock. Fix it by using mutex and refcount during these calls. cnic_unregister_driver() will now wait for the refcount to go to zero before completing the call. Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 681dbd710779e8b8d5bae926f6b11f30df70638b Author: Michael Chan Date: Fri Aug 14 15:49:46 2009 +0000 cnic: Fix locking in start/stop calls. The slow path ulp_start and ulp_stop calls to the bnx2i driver are sleepable calls and therefore should not be protected using rcu_read_lock. Fix it by using mutex and setting a bit during these calls. cnic_unregister_device() will now wait for the bit to clear before completing the call. Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit c5a889508203446c1abc1d670599b3a816841813 Author: Michael Chan Date: Fri Aug 14 15:49:45 2009 +0000 bnx2: Use mutex on slow path cnic calls. The slow path calls to the cnic driver are sleepable calls so we cannot use rcu_read_lock(). Use mutex for these slow path calls instead. Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit a3059b12adae868c42629ecf058a94195ef1e958 Author: Michael Chan Date: Fri Aug 14 15:49:44 2009 +0000 cnic: Refine registration with bnx2. Register and unregister with bnx2 during NETDEV_UP and NETDEV_DOWN events. This simplifies the sequence of events and allows locking fixes in the next patch. Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 64c6460875957502541a4ba30835ac625a0bee79 Author: Michael Chan Date: Fri Aug 14 15:49:43 2009 +0000 cnic: Fix symbol_put_addr() panic on ia64. When the cnic driver tries to grab a symbol from bnx2 when bnx2 is running init code, symbol_get() will succeed but symbol_put_addr() will hit BUG() a moment later. module_text_address() fails because bnx2 is still in init code. This is fixed by using symbol_put() instead which does the exact opposite of symbol_get(). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c Author: Guillaume Knispel Date: Sat Aug 15 19:30:24 2009 +0200 poll/select: initialize triggered field of struct poll_wqueues The triggered field of struct poll_wqueues introduced in commit 5f820f648c92a5ecc771a96b3c29aa6e90013bba ("poll: allow f_op->poll to sleep"). It was first set to 1 in pollwake() (now __pollwake() ), tested and later set to 0 in poll_schedule_timeout(), but not initialized before. As a result when the process needs to sleep, triggered was likely to be non-zero even if pollwake() is not called before the first poll_schedule_timeout(), meaning schedule_hrtimeout_range() would not be called and an extra loop calling all ->poll() would be done. This patch initialize triggered to 0 in poll_initwait() so the ->poll() are not called twice before the process goes to sleep when it needs to. Signed-off-by: Guillaume Knispel Acked-by: Thomas Gleixner Acked-by: Tejun Heo Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit de1b28989edff519d0548ebaa3f94fd3d1524cf2 Author: Dave Airlie Date: Wed Aug 12 18:43:14 2009 +1000 drm/radeon/kms: cut down indirects in register accesses. We really don't want to be doing all these indirects, updating the GPU gart table is something we do often so the less overhead the better. Signed-off-by: Dave Airlie commit 7ed220d738cf16adff6bc3b31ad25b8848a2fa9c Author: Michel Dänzer Date: Thu Aug 13 11:10:51 2009 +0200 drm/radeon/kms: Fix up vertical blank interrupt support. Fixes 3D apps timing out in the WAIT_VBLANK ioctl. AVIVO bits compile-tested only. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 3f8befec95d5c1bbc6e247e1a5dafa82519530f9 Author: Dave Airlie Date: Sat Aug 15 20:54:13 2009 +1000 drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR These are needed for Occulsion Query support. Signed-off-by: Dave Airlie commit a2bb9f4d6a5a589b481595207ac3588cc08d1b60 Author: Linus Walleij Date: Thu Aug 13 21:57:22 2009 +0100 ARM: 5673/1: U300 fix initsection compile warning The u300_init_check_chip() function was not properly tagged with the __init macro and provided a initsection mismatch on compilation. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit c5e7f5a38a7ebf3697281bc7cb494e676f287ac0 Author: Florian Fainelli Date: Wed Jun 3 13:05:48 2009 +0200 [WATCHDOG] ar7_wdt: fix path to ar7-specific headers AR7 is currently being resubmitted for mainline inclusion and we changed the path to the ar7-specific headers from ar7 to mach-ar7 to reflect the other MIPS-based boards header hierarchy. This patch will avoid any future compilation failure due to missing headers. Signed-off-by: Florian Fainelli Signed-off-by: Wim Van Sebroeck commit 824df399a31fe92d88eb8caf86768cc8c7c72a06 Merge: 8b61207 48ec45e Author: Russell King Date: Sat Aug 15 12:43:13 2009 +0100 Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux commit 8b6120789598d55f6aa2b4e9ac7e70a205d857da Merge: dde5828 563abb4 Author: Russell King Date: Sat Aug 15 12:42:46 2009 +0100 Merge branch 'for-rmk-rc' of git://git.pengutronix.de/git/imx/linux-2.6 commit dde5828f56cb2c1aa70365c476e6830482127258 Author: Russell King Date: Sat Aug 15 12:36:00 2009 +0100 ARM: Fix broken highmem support Currently, highmem is selectable, and you can request an increased vmalloc area. However, none of this has any effect on the memory layout since a patch in the highmem series was accidentally dropped. Moreover, even if you did want highmem, all memory would still be registered as lowmem, possibly resulting in overflow of the available virtual mapping space. The highmem boundary is determined by the highest allowed beginning of the vmalloc area, which depends on its configurable minimum size (see commit 60296c71f6c5063e3c1f1d2619ca0b60940162e7 for details on this). We should create mappings and initialize bootmem only for low memory, while the zone allocator must still be told about highmem. Currently, memory nodes which are completely located in high memory are not supported. This is not a huge limitation since systems relying on highmem support are unlikely to have discontiguous memory with large holes. [ A similar patch was meant to be merged before commit 5f0fbf9ecaf3 and be available in Linux v2.6.30, however some git rebase screw-up of mine dropped the first commit of the series, and that goofage escaped testing somehow as well. -- Nico ] Signed-off-by: Russell King Reviewed-by: Nicolas Pitre commit 39e6dd73502f64e2ae3236b304e160ae30de9384 Author: Arnaldo Carvalho de Melo Date: Fri Aug 14 15:26:32 2009 -0300 perf record: Fix typo in pid_synthesize_comm_event We were using 'fd' locally, but there was a global 'fd' too, so when converting from open to fopen the test made against fd should be made against 'fp', but since we have that global it didnt get discovered ... Reported-by: Ulrich Drepper Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20090814182632.GF3490@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 3ef12c3c97603bad405d30c989718cc9405e2759 Author: Cliff Wickman Date: Fri Aug 14 13:56:37 2009 -0500 x86: Fix UV BAU destination subnode id The SGI UV Broadcast Assist Unit is used to send TLB shootdown messages to remote nodes of the system. The header of the message must contain the subnode id of the block in the receiving hub that handles such messages. It should always be 0x10, the id of the "LB" block. It had previously been documented as a "must be zero" field. Signed-off-by: Cliff Wickman Acked-by: Jack Steiner LKML-Reference: Signed-off-by: Ingo Molnar commit 237674e050ae8ea40a432412df6c15d60b7ae8a6 Author: Magnus Damm Date: Sat Aug 15 02:53:42 2009 +0000 sh: sh7724 ddr self-refresh changes This patch updates the SuperH Mobile sleep assembly code with support for DBSC memory controller found in the sh7724 processor. Without this fix the memory hooked up to the sh7724 processor will never enter self-refresh mode before suspending to ram. The effect of this is that the memory contents most likeley will be lost upon resume which may or may not be what you want. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9747e78b304b44d6fb73e2c8071406d55aa8bb75 Author: Magnus Damm Date: Sat Aug 15 02:53:34 2009 +0000 sh: use in-soc KEYSC on se7724 This patch updates the Solution Engine 7724 board code to use in-SoC KEYSC resources for the keyboard platform device. Using the in-SoC key scan controller fixes a crash-during-resume issue. Without this patch the KEYSC hardware block located in the board specific FPGA is used together with an external IRQ which is routed through the FPGA and handled by some board specific demux code. This board specific FPGA interrupt code does not implement desc->set_wake() so the enable_irq_wake() call in the sh_keysc driver will fail at suspend-to-ram time and the disable_irq_wake() will bomb out when resuming. Changing the platform data to use the in-SoC KEYSC hardware makes the se7724 board support code less special which is a good thing. Also, the board specific KEYSC pin setup code selects in-SoC pin functions already which makes the current FPGA platform device data look like a typo. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f6431732f128a241b149c0aa85dfec852455ebf9 Author: Magnus Damm Date: Sat Aug 15 02:53:25 2009 +0000 sh: CMT suspend/resume This patch updates the SuperH CMT driver with suspend and resume callbacks for the suspend-to-ram case. This patch stops the CMT channel at suspend time to avoid unwanted wake up events. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 21bc1f024d0d4ea43fc0f2a43504e759261c7b18 Author: Magnus Damm Date: Sat Aug 15 02:53:16 2009 +0000 sh: skip disabled LCDC channels This patch updates the SuperH Mobile LCDC driver to skip over disabled channels. Without this patch suspend-to-ram operation will crash if deferred io is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ebb177d2afb8532a8a316489aed545ed0c170802 Author: Dave Airlie Date: Sat Aug 15 12:25:08 2009 +1000 drm/edid: fixup detailed timings like the X server. this syncs the versioning check with the code the X server uses. Reported-by: Anssi Hannula Signed-off-by: Dave Airlie commit 616b8434688aa08bd6f019cc60c8dfe121e9e5ae Author: Jerome Glisse Date: Thu Aug 6 17:47:24 2009 +0200 drm/radeon/kms: Add specific rs690 authorized register table rs690 is r3xx 3D engine with AVIVO modesetting so we need to allow AVIVO register for vline synchronization. This add a specific table to rs690 to handle that. Thanks to Marc (marvin24) for debugging this and kudos to Andre (taiu1) for spotting the origin of the bugs. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 8cdb045632e5ee22854538619ac6f150eb0a4894 Author: Tom Goff Date: Fri Aug 14 16:33:56 2009 -0700 gre: Fix MTU calculation for bound GRE tunnels The GRE header length should be subtracted when the tunnel MTU is calculated. This just corrects for the associativity change introduced by commit 42aa916265d740d66ac1f17290366e9494c884c2 ("gre: Move MTU setting out of ipgre_tunnel_bind_dev"). Signed-off-by: Tom Goff Signed-off-by: David S. Miller commit 7c1d15d736687057f4dc6e51fbf44b6f6e4320cb Author: Petko Manolov Date: Fri Aug 14 06:40:48 2009 +0000 pegasus: Add new device ID. Add new definition to 'pegasus.h' for support Japanese IO DATA "ETX-US2" USB Ethernet Adapter. PEGASUS_DEV( $B!H(BIO DATA USB ETX-US2$B!I(B, VENDOR_IODATA, 0x092a, DEFAULT_GPIO_RESET | PEGASUS_II ) Signed-off-by: David S. Miller commit 22580f894ac190c46beebb5c3172e450a2318f79 Author: Dongdong Deng Date: Thu Aug 13 19:12:31 2009 +0000 drivers/net: fixed drivers that support netpoll use ndo_start_xmit() The NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). The use of spin_lock_irq() and spin_unlock_irq() in the NETPOLL API callbacks causes the interrupts to get enabled and can lead to kernel instability. The solution is to use spin_lock_irqsave() and spin_unlock_restore() to prevent the irqs from getting enabled while in netpoll_send_skb(). Call trace: netpoll_send_skb() { -> local_irq_save(flags) ---> dev->ndo_start_xmit(skb, dev) ---> spin_lock_irq() ---> spin_unlock_irq() *******here would enable the interrupt. ... -> local_irq_restore(flags) } Signed-off-by: Dongdong Deng Signed-off-by: Jason Wessel Acked-by: Bruce Ashfield Acked-by: Matt Mackall Signed-off-by: David S. Miller commit 0527a1a8440a20b3d0fd1d0c9e75a6f38a9d5315 Author: roel kluin Date: Fri Aug 14 02:09:56 2009 +0000 via-velocity: Fix test of mii_status bit VELOCITY_DUPLEX_FULL Test whether VELOCITY_DUPLEX_FULL bit is set in mii_status. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit c9a2bfd1f08973115c2fc3da9372e0e81ac42a19 Author: Wolfram Sang Date: Fri Aug 14 13:09:32 2009 -0700 pcmcia: add CNF-CDROM-ID for ide Fixes this report: http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/ Reported-by: John McGrath Signed-off-by: Wolfram Sang Signed-off-by: David S. Miller commit 88512935a24305fea7aecc9ba4d675869e97fc2a Merge: 8a62bab 6b26dea Author: David S. Miller Date: Fri Aug 14 12:27:19 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 5d12dc1fd6b0ba31d3166e42ed01996df6dad34e Merge: 3011c7f d7e623d Author: Linus Torvalds Date: Fri Aug 14 09:34:25 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Fix permissions on "recover" file commit 3011c7f0d421ed85c75683addf3b31eaa1ab6cec Merge: 64f1607 08b3964 Author: Linus Torvalds Date: Fri Aug 14 08:25:19 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (38 commits) V4L/DVB (12441): siano: read buffer overflow V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly V4L/DVB (12438): Read buffer overflow V4L/DVB (12437): dvb: siano uses/depends on INPUT V4L/DVB (12436): stk-webcam: read buffer overflow V4L/DVB (12432): em28xx: fix regression in Empire DualTV digital tuning V4L/DVB (12429): v4l2-ioctl: fix G_STD and G_PARM default handlers V4L/DVB (12428): hdpvr: add missing initialization of current_norm V4L/DVB (12424): soc-camera: fix recursive locking in .buf_queue() V4L/DVB (12422): media/zr364xx: fix build errors V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup() V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams V4L/DVB (12403): em28xx: properly reports some em2710 chips V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down V4L/DVB (12400): em28xx: Allow changing fps on webcams V4L/DVB (12399): mt9v011: Add support for controlling frame rates ... commit 388ce4beb7135722c584b0af18f215e3ec657adf Author: Kashyap, Desai Date: Fri Aug 14 15:01:35 2009 +0530 [SCSI] mpt2sas: fix config request and diag reset deadlock Moving the setting and clearing of the mutex's to _config_request. There was a mutex deadlock when diag reset is called from inside _config_request, so diag reset was moved to outside the mutexs. Signed-off-by: James Bottomley commit 6b26dead3ce97d016b57724b01974d5ca5c84bd5 Author: Pavel Roskin Date: Tue Aug 4 17:48:16 2009 -0400 rt2x00: fix memory corruption in rf cache, add a sanity check Change rt2x00_rf_read() and rt2x00_rf_write() to subtract 1 from the rf register number. This is needed because the rf registers are enumerated starting with one. The size of the rf register cache is just enough to hold all registers, so writing to the highest register was corrupting memory. Add a check to make sure that the rf register number is valid. Signed-off-by: Pavel Roskin Cc: stable@kernel.org Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit d7e623da1a757fbd8c117fa29190ca8bef14dab3 Author: Steven Whitehouse Date: Tue Aug 11 11:20:11 2009 +0100 GFS2: Fix permissions on "recover" file Although this file is only ever written and not read by userspace, it seems that the utils are opening this file O_RDWR, so we need to allow that. Also fixes the whitespace which seemed to be broken. Signed-off-by: Steven Whitehouse Cc: David Teigland commit 563abb4be1a79e7b64784d43beb9d0cacb1bad6f Author: Valentin Longchamp Date: Tue Aug 11 17:29:21 2009 +0200 mx31moboard: invert sdhc ro signal sense Small confusion with our hardware engineer, the WP signal (RO) is active low on our boards, the signal has to inverted. This is a pretty straightforward patch, it could even go to -rc, but if not, then push it for 2.6.32. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 142d44b0dd6741a64a7bdbe029110e7c1dcf1d23 Author: Amerigo Wang Date: Thu Aug 13 02:00:13 2009 -0400 percpu: use the right flag for get_vm_area() get_vm_area() only accepts VM_* flags, not GFP_*. And according to the doc of get_vm_area(), here should be VM_ALLOC. Signed-off-by: WANG Cong Acked-by: Tejun Heo Cc: Ingo Molnar commit 74d46d6b2d23d44d72c37df4c6a5d2e782f7b088 Author: Tejun Heo Date: Tue Jul 21 17:11:50 2009 +0900 percpu, sparc64: fix sparse possible cpu map handling percpu code has been assuming num_possible_cpus() == nr_cpu_ids which is incorrect if cpu_possible_map contains holes. This causes percpu code to access beyond allocated memories and vmalloc areas. On a sparc64 machine with cpus 0 and 2 (u60), this triggers the following warning or fails boot. WARNING: at /devel/tj/os/work/mm/vmalloc.c:106 vmap_page_range_noflush+0x1f0/0x240() Modules linked in: Call Trace: [00000000004b17d0] vmap_page_range_noflush+0x1f0/0x240 [00000000004b1840] map_vm_area+0x20/0x60 [00000000004b1950] __vmalloc_area_node+0xd0/0x160 [0000000000593434] deflate_init+0x14/0xe0 [0000000000583b94] __crypto_alloc_tfm+0xd4/0x1e0 [00000000005844f0] crypto_alloc_base+0x50/0xa0 [000000000058b898] alg_test_comp+0x18/0x80 [000000000058dad4] alg_test+0x54/0x180 [000000000058af00] cryptomgr_test+0x40/0x60 [0000000000473098] kthread+0x58/0x80 [000000000042b590] kernel_thread+0x30/0x60 [0000000000472fd0] kthreadd+0xf0/0x160 ---[ end trace 429b268a213317ba ]--- This patch fixes generic percpu functions and sparc64 setup_per_cpu_areas() so that they handle sparse cpu_possible_map properly. Please note that on x86, cpu_possible_map() doesn't contain holes and thus num_possible_cpus() == nr_cpu_ids and this patch doesn't cause any behavior difference. Signed-off-by: Tejun Heo Acked-by: David S. Miller Cc: Ingo Molnar commit d6647bdf98a0de19963de8d5d9698d469ed72097 Author: Tejun Heo Date: Tue Jul 21 17:11:50 2009 +0900 init: set nr_cpu_ids before setup_per_cpu_areas() nr_cpu_ids is dependent only on cpu_possible_map and setup_per_cpu_areas() already depends on cpu_possible_map and will use nr_cpu_ids. Initialize nr_cpu_ids before setting up percpu areas. Signed-off-by: Tejun Heo commit 8a62babfb87aa5911e87e0ce38381bdfdc4a2b83 Author: Lucy Liu Date: Thu Aug 13 14:09:38 2009 +0000 ixgbe: Fix receive on real device when VLANs are configured Traffic received with a priority tag (VID = 0) and non-zero priority value was incorrectly handled by the VLAN packet code path due to a check on zero for the whole VLAN tag instead of just the VID. This patch masked out the priority field when checking the vlan tag for received VLAN packets. Signed-off-by: Lucy Liu Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 17e78b0655da20f2fc2bbde3b8252dac07c82914 Author: Yi Zou Date: Thu Aug 13 14:09:58 2009 +0000 ixgbe: Do not return 0 in ixgbe_fcoe_ddp() upon FCP_RSP in DDP completion We return the ddp->len in ixgbe_fcoe_ddp() to indicate the length of data that have been DDPed. However, it is possible that the length is 0, e.g., for SCSI READ, the FCP_RSP may come back w/ SCSI status 0x28 as Task Set Full with no FCP data for DDP. In ixgbe_fcoe_ddp(), we return 0 to indicate not passing DDPed packets to upper layer. Therefore in the case of ddp->len being 0 upon FCP_RSP, we do not want to return the 0 ddp->len as we want FCP_RSP to be always delivered to the upper layer. This patch fixes this bug by setting rc only if ddp->len is non-zero. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 48ec45e725aa385d72bced73b267dfaf13351876 Author: Davide Rizzo Date: Thu Aug 13 11:53:53 2009 +0200 ARM: S3C24XX: Fix clkout mpx error Bug correction: CLK Outputs cannot have XTAL as parent Signed-off-by: Davide Rizzo [ben-linux@fluff.org: updated patch subject] Signed-off-by: Ben Dooks commit a219dc4d4463809b1be473038e7d9f3437ca452d Author: Ramax Lo Date: Wed Aug 12 23:55:56 2009 +0800 ARM: S3C64XX: serial: Fix a typo in Kconfig The typo causes drivers/serial/s3c6400.c not being built for s3c6400 platform. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 08b39642b1e375afd014c50f6013ec4a292ca3b2 Author: Roel Kluin Date: Mon Aug 10 22:59:33 2009 -0300 V4L/DVB (12441): siano: read buffer overflow With mode DEVICE_MODE_RAW_TUNER a read occurs past the end of smscore_fw_lkup[]. Subsequently an attempt is made to load the firmware from the resulting filename. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 084e24acc906c162c92de7df807190856ae60928 Author: Matthias Schwarzott Date: Mon Aug 10 22:51:01 2009 -0300 V4L/DVB (12440): Use kzalloc for frontend states to have struct dvb_frontend properly This patch changes most frontend drivers to allocate their state structure via kzalloc and not kmalloc. This is done to properly initialize the embedded "struct dvb_frontend frontend" field, that they all have. The visible effect of this struct being uninitalized is, that the member "id" that is used to set the name of kernel thread is totally random. Some board drivers (for example cx88-dvb) set this "id" via videobuf_dvb_alloc_frontend but most do not. So I at least get random id values for saa7134, flexcop and ttpci based cards. It looks like this in dmesg: DVB: registering adapter 1 frontend -10551321 (ST STV0299 DVB-S) The related kernel thread then also gets a strange name like "kdvb-ad-1-fe--1". Cc: Michael Krufky Cc: Steven Toth Cc: Timothy Lee Cc: Igor M. Liplianin Signed-off-by: Matthias Schwarzott Acked-by: Andreas Oberritter Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bb2b4542b6415044894cd7c147ff54840dd8ed3f Author: Roel Kluin Date: Mon Aug 10 22:07:54 2009 -0300 V4L/DVB (12438): Read buffer overflow parport[n] is checked before n < MAX_CAMS Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 27059b35397fc7cf2cbf5b4b99d912bbc06aff4d Author: Randy Dunlap Date: Mon Aug 10 21:59:16 2009 -0300 V4L/DVB (12437): dvb: siano uses/depends on INPUT siano uses input_*() functions so it should depend on INPUT to prevent build errors: ERROR: "input_event" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_register_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_free_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_unregister_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! ERROR: "input_allocate_device" [drivers/media/dvb/siano/sms1xxx.ko] undefined! Cc: Michael Krufky Cc: Uri Shkolnik Signed-off-by: Randy Dunlap Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 77f2c2db1146154fb054e9ce955928a66d8c959f Author: Roel Kluin Date: Mon Aug 10 22:17:25 2009 -0300 V4L/DVB (12436): stk-webcam: read buffer overflow It tested the value of stk_sizes[i].m before checking whether i was in range. Cc: Hans Verkuil Cc: Trent Piepho Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 01a5fd6ff3fbae9a599d3334a8cca0f00865e360 Author: Devin Heitmueller Date: Fri Aug 7 09:25:06 2009 -0300 V4L/DVB (12432): em28xx: fix regression in Empire DualTV digital tuning Restore support for digital tuning caused by regression during introduction of disable_i2c_gate parameter to zl10353 driver. Thanks to user "Xwang" for reporting the problem and testing the fix Cc: Xwang Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 9bedc7f7fe803c17d26b5fcf5786b50a7cf40def Author: Hans Verkuil Date: Fri Aug 7 07:28:16 2009 -0300 V4L/DVB (12429): v4l2-ioctl: fix G_STD and G_PARM default handlers The v4l core supplies default handlers for G_STD and G_PARM. However, both default handlers are buggy. This patch fixes the following: 1) If no g_std is supplied and current_norm == 0, then this driver does not support TV video standards (e.g. a radio or webcam driver). Return -EINVAL. This ensures that there is no bogus VIDIOC_G_STD support for such drivers. 2) The default VIDIOC_G_PARM handler used current_norm instead of first checking if the driver supported g_std and calling that to get the norm. It also didn't check if current_norm was 0, since in that case the driver does not support TV standards (or no standard was set at all) and the default handler should return -EINVAL. Note that I am very unhappy with these default handlers: I think they basically behave like some very strange and unexpected side-effect. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 99362e1ece9f9651af1b849a01d91b9df1e0db2c Author: Hans Verkuil Date: Fri Aug 7 07:10:52 2009 -0300 V4L/DVB (12428): hdpvr: add missing initialization of current_norm Drivers should either set current_norm or supply a g_std callback. The hdpvr driver does neither. Since it initializes to a 60 Hz format I've initialized the current_norm to NTSC | PAL_M | PAL_60 which is the 60 Hz subset of tvnorms. Cc: Janne Grunau Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2dd54a54c19d0e5b50f4e1c591653772ead9d4a1 Author: Guennadi Liakhovetski Date: Wed Aug 5 20:06:31 2009 -0300 V4L/DVB (12424): soc-camera: fix recursive locking in .buf_queue() The .buf_queue() V4L2 driver method is called under spinlock_irqsave(q->irqlock,...), don't take the lock again inside the function. Reported-by: Antonio Ospite Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7d2e2e35fb50f381c9398e481aac1e1729765ae3 Author: Randy Dunlap Date: Wed Aug 5 12:58:47 2009 -0300 V4L/DVB (12422): media/zr364xx: fix build errors Fix build errors in zr364xx by adding selects: zr364xx.c:(.text+0x195ed7): undefined reference to `videobuf_streamon' zr364xx.c:(.text+0x196030): undefined reference to `videobuf_dqbuf' zr364xx.c:(.text+0x1960c4): undefined reference to `videobuf_qbuf' zr364xx.c:(.text+0x196123): undefined reference to `videobuf_querybuf' zr364xx.c:(.text+0x196182): undefined reference to `videobuf_reqbufs' zr364xx.c:(.text+0x196224): undefined reference to `videobuf_queue_is_busy' zr364xx.c:(.text+0x196390): undefined reference to `videobuf_vmalloc_free' zr364xx.c:(.text+0x196571): undefined reference to `videobuf_iolock' zr364xx.c:(.text+0x196678): undefined reference to `videobuf_mmap_mapper' zr364xx.c:(.text+0x196760): undefined reference to `videobuf_poll_stream' zr364xx.c:(.text+0x19689a): undefined reference to `videobuf_read_one' zr364xx.c:(.text+0x1969ec): undefined reference to `videobuf_mmap_free' zr364xx.c:(.text+0x197862): undefined reference to `videobuf_queue_vmalloc_init' zr364xx.c:(.text+0x197a28): undefined reference to `videobuf_streamoff' zr364xx.c:(.text+0x198203): undefined reference to `videobuf_to_vmalloc' zr364xx.c:(.text+0x198603): undefined reference to `videobuf_streamoff' drivers/built-in.o: In function `free_buffer': zr364xx.c:(.text+0x19930c): undefined reference to `videobuf_vmalloc_free' drivers/built-in.o: In function `zr364xx_open': zr364xx.c:(.text+0x19a7de): undefined reference to `videobuf_queue_vmalloc_init' drivers/built-in.o: In function `read_pipe_completion': zr364xx.c:(.text+0x19b17f): undefined reference to `videobuf_to_vmalloc' Signed-off-by: Randy Dunlap Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d7612c86d099939503c2f849a523dbca753d1935 Author: Mauro Carvalho Chehab Date: Fri Aug 7 18:43:00 2009 -0300 V4L/DVB (12405): em28xx-cards: move register 0x13 setting to the proper place Register 0x13 seems to be a sort of image control, maybe gamma, white level or black level. Lower values produce better images, while higher values increases the contrast and shifts colors to green. 0xff produces a black image. This register is not Silvercrest-specific, so its code should be moved to a better place. If this register is left alone, a random value can be found at the register, producing weird results. While here, let's remove register 0x0d, as it had no noticed effect at the image. Signed-off-by: Mauro Carvalho Chehab commit 3d3215c4e4cfca74e5805a8506d50a6752172e81 Author: Mauro Carvalho Chehab Date: Mon Aug 10 10:29:27 2009 -0300 V4L/DVB (12411): em28xx: Fix artifacts with Silvercrest webcam Silvercrest mt9v011 sensor produces a 640x480 image. However, previously, the code were getting only half of the lines and merging two consecutive frames to "produce" a 640x480 image. With the addition of progressive mode, now em28xx is working with a full image. However, when the number of lines is bigger than 240, the beginning of some odd lines are filled with blank. After lots of testing, and physically checking the device for a Xtal, it was noticed experimentally that mt9v011 is using em28xx XCLK as its clock. Due to that, changing XCLK value changes the maximum speed of the stream. At the tests, it were possible to produce up to 32 fps, using a 30 MHz XCLK. However, at that rate, the artifacts happen even at 320x240. Lower values of XCLK produces artifacts only at 640x480. At some values of xclk (for example XCLKK = 6 MHz, 640x480), it is possible to see an invalid sucession of artifacts with this pattern: .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (where the dots represent the blanked pixels) So, it seems that a waveform in the format of a ramp is interferring at the image. The cause of this interference is currently unknown. Some possibilities are: - electrical interference (maybe this device is broken?); - some issue at mt9v011 programming; - some bug at em28xx chip. So, for now, let's be conservative and use a value of XCLK that we know for sure that it won't cause artifacts. As I'm waiting for more of such devices with different em28xx chipset revisions, I'll have the opportunity to double check the issue with other pieces of hardware. Later patches can vary XCLK depending on the vertical resolutions, if a proper fix is not discovered. Signed-off-by: Mauro Carvalho Chehab commit fcd20e3c369caf7a3fec300c9c183b25a06e21b2 Author: Mauro Carvalho Chehab Date: Mon Aug 10 02:57:57 2009 -0300 V4L/DVB (12410): em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup() em28xx_pre_card_setup() is meant to contain board-specific initialization. Also, as autodetection sometimes occur only after having i2c bus enabled, this function may need to be called later. Moving those setups to happen outside the function avoids calling it twice without need and without duplicating output lines at dmesg. Signed-off-by: Mauro Carvalho Chehab commit 970cff36c0850e8193ac1162e42c7c11001b872d Author: Mauro Carvalho Chehab Date: Sat Aug 8 03:28:41 2009 -0300 V4L/DVB (12407): em28xx: Adjust Silvercrest xtal frequency We don't know the xtal frequency of Silvercrest, but we need to have some value in order to allow controlling the frame rate frequency. The value is probably still wrong, since the manufacturer announces this device as being capable of 30fps, but the maximum we can get is 13.5 fps. Signed-off-by: Mauro Carvalho Chehab commit c2a6b54a9cf08d4ffeb75d70603c4a5d03ac97ad Author: Mauro Carvalho Chehab Date: Sat Aug 8 03:14:55 2009 -0300 V4L/DVB (12406): em28xx: fix: don't do image interlacing on webcams Due to historical reasons, em28xx driver gets two consecutive frames and fold them into an unique framing, doing interlacing. While this works fine for TV images, this produces two bad effects with webcams: 1) webcam images are progressive. Merging two consecutive images produce interlacing artifacts on the image; 2) since the driver needs to get two frames, it reduces the maximum frame rate by two. Signed-off-by: Mauro Carvalho Chehab commit d594317bdc716ccd8c8cf711e3827f9b6e0b766b Author: Mauro Carvalho Chehab Date: Fri Aug 7 12:13:31 2009 -0300 V4L/DVB (12403): em28xx: properly reports some em2710 chips As reported by hermann pitton , some devices has a different chip id for em2710 (likely the older ones): em28xx: New device @ 480 Mbps (eb1a:2710, interface 0, class 0) em28xx #0: Identified as EM2710/EM2750/EM2751 webcam grabber (card=22) em28xx #0: em28xx chip ID = 17 Signed-off-by: Mauro Carvalho Chehab commit 9b4e845c6cbca2bcbfdb87e4d005260604226f45 Author: Mauro Carvalho Chehab Date: Fri Aug 7 12:08:02 2009 -0300 V4L/DVB (12402): em28xx: fix: some em2710 chips use a different vendor ID Thanks to hermann pitton for pointing this new variation. Tested-by: hermann pitton Signed-off-by: Mauro Carvalho Chehab commit 2526ea6e46e41322eb98ac0e9c616273402bd661 Author: Mauro Carvalho Chehab Date: Fri Aug 7 01:09:54 2009 -0300 V4L/DVB (12401): m9v011: add vflip/hflip controls to control mirror/upside down Signed-off-by: Mauro Carvalho Chehab commit d96ecda63f41350dc93c17ccb72ea24511f207a9 Author: Mauro Carvalho Chehab Date: Thu Aug 6 21:53:59 2009 -0300 V4L/DVB (12400): em28xx: Allow changing fps on webcams em28xx doesn't have temporal scaling. However, on webcams, sensors are capable of changing the output rate. So, VIDIOC_[G|S]_PARM ioctls should be passed to the sensor for it to properly set frame rate. Signed-off-by: Mauro Carvalho Chehab commit 83053f7fe3eb0b6b1634d24ede87f1daa01ae60c Author: Mauro Carvalho Chehab Date: Thu Aug 6 21:03:35 2009 -0300 V4L/DVB (12399): mt9v011: Add support for controlling frame rates Implement g_parm/s_parm ioctls. Those are used to check the current frame rate (in fps) and to set it to a value. In practice, there are only 15 possible different speeds, due to chip limits. Signed-off-by: Mauro Carvalho Chehab commit 93b999239c418cf5c668fd966ac2c5c27b8180dd Author: Devin Heitmueller Date: Mon Aug 3 22:52:59 2009 -0300 V4L/DVB (12394): cx88: Disable xc3028 power management for Geniatech x8000 A user discovered that the Geniatech x8000 encountered a regression when the xc3028 power management was introduced. The xc3028 never recovers after setting the powerdown register, which is probably because the xc3028 reset GPIO is not properly configured. Since I do not have access to the hardware and thus cannot determine the correct GPIO configuration, just disable xc3028 power management on this board, which fixes the regression. Thanks to user "ritec" for reporting the issue and testing the fix. Cc: rictec Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 11db906983fc6e996fcd10073843bd6f1b9a96c3 Author: Devin Heitmueller Date: Mon Aug 3 22:40:16 2009 -0300 V4L/DVB (12393): cx88: fix regression in tuning for Geniatech X8000 MT The introduction of the zl10353 i2c gate control broke support for the Geniatech board (which is not behind an i2 gate). Add the needed parameter. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0e316ecfc851c8dd955d9fa6e0d3a46e451a46f4 Author: Michael Krufky Date: Mon Aug 3 16:51:33 2009 -0300 V4L/DVB (12391): saa7134: Use correct product name for Hauppauge WinTV-HVR1120 DVB-T/Hybrid Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b5f05064b556da5183adc383e5f8d50af0392849 Author: Michael Krufky Date: Mon Aug 3 16:51:33 2009 -0300 V4L/DVB (12390): saa7134: Use correct product name for Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 79a6382551507ce196c3b4296e32b5386cdfbf15 Author: Michael Krufky Date: Sun Aug 2 12:37:34 2009 -0300 V4L/DVB (12386): sms1xxx: fix build warning: unused variable 'board' Remove the following build warning: sms-cards.c: In function 'sms_board_event': sms-cards.c:120: warning: unused variable 'board' Thanks to Hans Verkuil for pointing this out. The problem code has been #if 0'd for now, this will likely be used again in the future, once the event interface is complete. Cc: Hans Verkuil Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bd0232c13419b7ce51e02942082ff6af231e0f84 Author: Laurent Pinchart Date: Sat Aug 1 18:14:24 2009 -0300 V4L/DVB (12380): uvcvideo: Avoid flooding the kernel log with "unknown event type" messages The iSight sends non-UVC status events through the interrupt endpoint. Those invalid events are reported to the kernel log, resulting in a log flood. Only log the events when the UVC_TRACE_STATUS flag is set. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d79cd8393ae85ebaf53a8fc93491eea96522d68e Author: Laurent Pinchart Date: Sun Jul 19 19:16:05 2009 -0300 V4L/DVB (12328): uvcvideo: Don't apply the FIX_BANDWIDTH quirk to all ViMicro devices Commit 50144aeeb702ea105697ae5249f059ea3990b838 broke the Samsung NC10 netbook webcam. Instead of applying the FIX_BANDWIDTH quirk to all ViMicro devices, list the devices explicitly. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d1ae4e1d05cc982b6b480c1a3d69b8bb231e3493 Author: Michael Krufky Date: Sun Jul 12 18:25:45 2009 -0300 V4L/DVB (12374): sms1xxx: fix broken Hauppauge devices The current GPIO configuration breaks all Hauppauge devices. The code being removed affects Hauppauge devices only, and is the cause of the breakage. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 261982f17051d10a1054a77ec8ae13517e0acee2 Author: Brian Johnson Date: Sun Jul 19 15:58:56 2009 -0300 V4L/DVB (12373a): Add gspca sn9c20x subdriver entry to MAINTAINERS file MAINTAINERS | 8 ++++++++ Signed-off-by: Brian Johnson Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ba1bc64272f0af668690ba2bf859b13172db7230 Author: Nils Kassube Date: Tue Jul 28 11:54:52 2009 -0300 V4L/DVB (12371): af9015: Fix for crash in dvb-usb-af9015 Moving BOOT fixes problem. Signed-off-by: Nils Kassube Acked-by: Antti Palosaari Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6655be0f4f377d7e249219c6031c4be3533604a2 Author: Michael Krufky Date: Mon Jul 20 12:20:58 2009 -0300 V4L/DVB (12362): cx23885-417: fix manipulation of tvnorms Currently, the VIDIOC_S_STD ioctl just returns -EINVAL regardless of the norm passed. This patch sets cx23885_mpeg_template.tvnorms and cx23885_mpeg_template.current_norm so that the VIDIOC_S_STD will work. Thanks to Joseph Yasi for pointing this out, even though this particular fix was already pushed into a development repository, merge priority of this changeset has been escalated as a result of Joseph posting this identical patch. Signed-off-by: Michael Krufky Signed-off-by: Joseph A. Yasi Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 337ab6d34f0be7cfbfb5ac8cb651276fc58aa20d Author: Sohail Syyed Date: Sun Jul 26 11:06:20 2009 -0300 V4L/DVB (12349): cx88: HVR1300 ensure switching from Encoder to DVB-T and back is reliable Current tip is broken and does not switch back to DVB-T correctly Signed-off-by: Sohail Syyed Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0a6e44d1beb30813f62ad376a31694e637858328 Author: Mauro Carvalho Chehab Date: Wed Jul 29 01:39:12 2009 -0300 V4L/DVB (12344): em28xx: fix support for Plextor ConvertX PX-TV100U This device uses msp34xx and uses 2.048 MHz frequency for I2S communication. Thanks to Angelo Cano for pointing the issues with this device and proposing an approach for fixing the issue. Tested-by: Angelo Cano Signed-off-by: Mauro Carvalho Chehab commit 458f9aa391efd34867f8cabac2e2f1af00cbc562 Author: Jan Nikitenko Date: Thu Jun 18 08:11:57 2009 -0300 V4L/DVB (12341): zl10353 and qt1010: fix stack corruption bug Fixes stack corruption bug present in dump_regs function of zl10353 and qt1010 drivers: the buffer buf was one byte smaller than required - there are 4 chars for address prefix, 16 * 3 chars for dump of 16 eeprom bytes per line and 1 byte for zero ending the string required, i.e. 53 bytes, but only 52 were provided. The one byte missing in stack based buffer buf can cause stack corruption possibly leading to kernel oops, as discovered originally with af9015 driver (af9015: fix stack corruption bug). Signed-off-by: Jan Nikitenko Signed-off-by: Mauro Carvalho Chehab commit 296544e15a7126373851abd40acc526b79b91432 Author: Mauro Carvalho Chehab Date: Mon Jul 27 08:24:29 2009 -0300 V4L/DVB (12340): mtv9v011: Add a missing chip version to the driver Some mt9v011 webcams report 0x8332 chip version, instead of 0x8243. From the revision history at the mt9v011 datasheet, it seems that the chip version has changed from the first release of the chip. Thanks-to hermann pitton for pointing this to me, on his tests with a Silvercrest webcam. Signed-off-by: Mauro Carvalho Chehab commit 225aeb1c5863bc92c6bb1f921e9a6cf4d15dbb2a Author: Andy Walls Date: Thu Jul 23 21:51:29 2009 -0300 V4L/DVB (12338): cx18: Read buffer overflow This mistakenly tested against sizeof(freqs) instead of the array size. Due to the mask the only illegal value possible was 3. Reported-by: Roel Kluin Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ed18d0c87ee0ab6e0985d83c19cd135b1bd54998 Author: Roel Kluin Date: Thu Jul 23 21:46:57 2009 -0300 V4L/DVB (12337): ivtv: Read buffer overflow This mistakenly tests against sizeof(freqs) instead of the array size. Due to the mask the only illegal value possible was 3. Signed-off-by: Roel Kluin Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5b766182a110311fbf618f736bc8a8f2f7ce3f4c Author: Antonio Ospite Date: Wed Jul 22 17:20:50 2009 -0300 V4L/DVB (12330): pxa_camera: Fix Oops in pxa_camera_probe mclk_get_divisor uses pcdev->soc_host.dev, make sure it is initialized. Signed-off-by: Antonio Ospite Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 232e7d68d50c9ac3a55d716e5ae215ecd1e043b9 Author: Dhananjay Phadke Date: Thu Aug 13 07:03:01 2009 +0000 netxen: free napi resources during detach o Defer napi resouce allocation to device attach. o Free napi resources and delete napi during detach. This ensures right behavior across firmware reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit e424fa9d6a0add1a9b812b07e3607daaa5b9e53d Author: Amit Kumar Salecha Date: Thu Aug 13 07:03:00 2009 +0000 netxen: remove netxen workqueue o Remove private workqueue in the driver, move all scheduled tasks to keventd workqueues. This makes ports (interfaces) of same / different NIC boards independent, in terms of their link watchdog and reset tasks. o Move quick checks for link status and temperature in timer callback, schedule watchdog task only if link status changed or temperature reached critical threshold. This also fixes deadlock when thermal panic occurs, watchdog work was flushing workqueue that it was sitting on. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 237057ad3fe5644fa471be474a160de2fc2e5870 Author: Don Skidmore Date: Tue Aug 11 13:18:14 2009 +0000 ixgbe: fix issues setting rx-usecs with legacy interrupts Currently setting rx-usecs when the interface is in legacy interrupt mode it is not immediate. We were only setting EITR for each MSIx vector and since this count would be zero for legacy mode it wasn't set until after a reset. This patch corrects that by checking what mode we are in and then setting EITR accordingly. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 993e6f2fd487e2acddd711f79cf48f3420731382 Author: Oliver Hartkopp Date: Tue Aug 11 02:41:24 2009 +0000 can: fix oops caused by wrong rtnl newlink usage For 'real' hardware CAN devices the netlink interface is used to set CAN specific communication parameters. Real CAN hardware can not be created with the ip tool ... The invocation of 'ip link add type can' lead to an oops as the standard rtnl newlink function was called: http://bugzilla.kernel.org/show_bug.cgi?id=13954 This patch adds a private newlink function for the CAN device driver interface that unconditionally returns -EOPNOTSUPP. Signed-off-by: Oliver Hartkopp Reported-by: Dmitry Eremin-Solenikov CC: Patrick McHardy CC: Wolfgang Grandegger Signed-off-by: David S. Miller commit 64f1607ffbbc772685733ea63e6f7f4183df1b16 Author: Linus Torvalds Date: Thu Aug 13 15:43:34 2009 -0700 Linux 2.6.31-rc6 commit f9b14c9183b250cf128c7d2341e6b9bdbbcd8f35 Author: Kashyap, Desai Date: Fri Aug 7 19:39:59 2009 +0530 [SCSI] mpt2sas: Bump driver version 01.100.04.00 Bump version to 01.100.04.00 Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit fcfe6392d18283df3c561b5ef59c330d485ff8ca Author: Kashyap, Desai Date: Fri Aug 7 19:38:48 2009 +0530 [SCSI] mpt2sas: fix oops because drv data points to NULL on resume from hibernate Fix another ocurring when the system resumes. This oops was due to driver setting the pci drvdata to NULL on the prior hibernation. Becuase it was set to NULL, upon resmume we assume the pci drvdata is non-zero, and we oops. To fix the ooops, we don't set pci drvdata to NULL at hibernation time. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit e4750c989f732555fca86dd73d488c79972362db Author: Kashyap, Desai Date: Fri Aug 7 19:37:59 2009 +0530 [SCSI] mpt2sas: fix crash due to Watchdog is active while OS in standby mode Fix oops ocurring at hibernation time. This oops was due to the firmware fault watchdog timer still running after we freed resources. To fix the issue we need to terminate the watchdog timer at hibernation time. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 6bd4e1e4d6023f4da069fd68729c502cc4e6dfd0 Author: Kashyap, Desai Date: Fri Aug 7 19:37:14 2009 +0530 [SCSI] mpt2sas: fix infinite loop inside config request This restriction is introduced just to avoid loop of config_request. Retry must be limited so we have restricted config request to maximum 2 times. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit be9e8cd75ce8d94ae4aab721fdcc337fa78a9090 Author: Kashyap, Desai Date: Fri Aug 7 19:36:43 2009 +0530 [SCSI] mpt2sas: Excessive log info causes sas iounit page time out Inhibit 0x3117 loginfos - during cable pull, there are too many printks going to the syslog, this is have impact on how fast the interrupt routine can handle keeping up with command completions; this was the root cause to the config pages timeouts. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 62727a7ba43c0abf2673e3877079c136a9721792 Author: Kashyap, Desai Date: Fri Aug 7 19:35:18 2009 +0530 [SCSI] mpt2sas: Raid 10 Value is showing as Raid 1E in /va/log/messages When a volume is activated, the driver will recieve a pair of ir config change events to remove the foreign volume, then add the native. In the process of the removal event, the hidden raid componet is removed from the parent.When the disks is added back, the adding of the port fails becuase there is no instance of the device in its parent. To fix this issue, the driver needs to call mpt2sas_transport_update_links() prior to calling _scsih_add_device. In addition, we added sanity checks on volume add and removal to ignore events for foreign volumes. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 20f5895d55d9281830bfb7819c5c5b70b05297a6 Author: Kashyap, Desai Date: Fri Aug 7 19:34:26 2009 +0530 [SCSI] mpt2sas: Expander fix oops saying "Already part of another port" Kernel panic is seen because driver did not tear down the port which should be dnoe using mpt2sas_transport_port_remove(). without this fix When expander is added back we would oops inside sas_port_add_phy. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 15052c9e85bf0cdadcb69eb89623bf12bad8b4f8 Author: Kashyap, Desai Date: Fri Aug 7 19:33:17 2009 +0530 [SCSI] mpt2sas: Introduced check for enclosure_handle to avoid crash Kernel panic is seen because of enclosure_handle received from FW is zero. Check is introduced before calling mpt2sas_config_get_enclosure_pg0. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 2d860ad76f4ee4d2eba0fe3797c8d7cdce432cc0 Author: Linus Torvalds Date: Thu Aug 13 13:05:10 2009 -0700 genirq: prevent wakeup of freed irq thread free_irq() can remove an irqaction while the corresponding interrupt is in progress, but free_irq() sets action->thread to NULL unconditionally, which might lead to a NULL pointer dereference in handle_IRQ_event() when the hard interrupt context tries to wake up the handler thread. Prevent this by moving the thread stop after synchronize_irq(). No need to set action->thread to NULL either as action is going to be freed anyway. This fixes a boot crash reported against preempt-rt which uses the mainline irq threads code to implement full irq threading. [ tglx: removed local irqthread variable ] Signed-off-by: Linus Torvalds Signed-off-by: Thomas Gleixner commit 3493e84de60590d3012139187f631f2dfbf0887f Merge: 919aa96 94d5d1b Author: Linus Torvalds Date: Thu Aug 13 12:24:33 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Report the cloning task as parent on perf_counter_fork() perf_counter: Fix an ipi-deadlock perf: Rework/fix the whole read vs group stuff perf_counter: Fix swcounter context invariance perf report: Don't show unresolved DSOs and symbols when -S/-d is used perf tools: Add a general option to enable raw sample records perf tools: Add a per tracepoint counter attribute to get raw sample perf_counter: Provide hw_perf_counter_setup_online() APIs perf list: Fix large list output by using the pager perf_counter, x86: Fix/improve apic fallback perf record: Add missing -C option support for specifying profile cpu perf tools: Fix dso__new handle() to handle deleted DSOs perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available perf report: Show the tid too in -D perf record: Fix .tid and .pid fill-in when synthesizing events perf_counter, x86: Fix generic cache events on P6-mobile CPUs perf_counter, x86: Fix lapic printk message commit 919aa96a9cfc5071f037bf58718e05335562a6ac Merge: 1c2ffff 392741e Author: Linus Torvalds Date: Thu Aug 13 12:09:16 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Fix handling of bad requeue syscall pairing futex: Fix compat_futex to be same as futex for REQUEUE_PI locking, sched: Give waitqueue spinlocks their own lockdep classes futex: Update futex_q lock_ptr on requeue proxy lock commit 1c2ffff407140adf75bb72ae375688480793a228 Merge: bc7af9b e805513 Author: Linus Torvalds Date: Thu Aug 13 12:08:44 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix oops in identify_cpu() on CPUs without CPUID x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag x86, mce: therm_throt - change when we print messages x86: Add reboot quirk for every 5 series MacBook/Pro commit 416fbdff2137e8d8cc8f23f517bee3a26b11526f Author: Luis R. Rodriguez Date: Tue Aug 11 13:10:33 2009 -0700 mac80211: fix panic when splicing unprepared TIDs We splice skbs from the pending queue for a TID onto the local pending queue when tearing down a block ack request. This is not necessary unless we actually have received a request to start a block ack request (rate control, for example). If we never received that request we should not be splicing the tid pending queue as it would be null, causing a panic. Not sure yet how exactly we allowed through a call when the tid state does not have at least HT_ADDBA_REQUESTED_MSK set, that will require some further review as it is not quite obvious. For more information see the bug report: http://bugzilla.kernel.org/show_bug.cgi?id=13922 This fixes this oops: BUG: unable to handle kernel NULL pointer dereference at 00000030 IP: [] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] *pdpt = 0000000002d1e001 *pde = 0000000000000000 Thread overran stack, or stack corrupted Oops: 0000 [#1] SMP last sysfs file: /sys/module/aes_generic/initstate Modules linked in: Pid: 0, comm: swapper Not tainted (2.6.31-rc5-wl #2) Dell DV051 EIP: 0060:[] EFLAGS: 00010292 CPU: 0 EIP is at ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] EAX: 00000030 EBX: 0000004c ECX: 00000003 EDX: 00000000 ESI: c1c98000 EDI: f745a1c0 EBP: c076be58 ESP: c076be38 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 0, ti=c076a000 task=c0709160 task.ti=c076a000) Stack: Call Trace: [] ? ieee80211_stop_tx_ba_cb+0xab/0x150 [mac80211] [] ? ieee80211_tasklet_handler+0xce/0x110 [mac80211] [] ? net_rx_action+0xef/0x1d0 [] ? tasklet_action+0x58/0xc0 [] ? __do_softirq+0xc2/0x190 [] ? handle_IRQ_event+0x58/0x140 [] ? ack_apic_level+0x7e/0x270 [] ? do_softirq+0x3d/0x40 [] ? irq_exit+0x65/0x90 [] ? do_IRQ+0x4f/0xc0 [] ? irq_exit+0x7d/0x90 [] ? smp_apic_timer_interrupt+0x57/0x90 [] ? common_interrupt+0x29/0x30 [] ? mwait_idle+0xbe/0x100 [] ? cpu_idle+0x52/0x90 [] ? rest_init+0x55/0x60 [] ? start_kernel+0x315/0x37d [] ? unknown_bootoption+0x0/0x1f9 [] ? i386_start_kernel+0x79/0x81 Code: EIP: [] ieee80211_agg_splice_packets+0x40/0xc0 [mac80211] SS:ESP 0068:c076be38 CR2: 0000000000000030 Cc: stable@kernel.org Testedy-by: Jack Lau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bc7af9ba154f648598bf92b391e446e31b09330a Merge: d58d2d1 b409d7a Author: Linus Torvalds Date: Thu Aug 13 11:17:40 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (22 commits) ocfs2: Fix possible deadlock when extending quota file ocfs2: keep index within status_map[] ocfs2: Initialize the cluster we're writing to in a non-sparse extend ocfs2: Remove redundant BUG_ON in __dlm_queue_ast() ocfs2/quota: Release lock for error in ocfs2_quota_write. ocfs2: Define credit counts for quota operations ocfs2: Remove syncjiff field from quota info ocfs2: Fix initialization of blockcheck stats ocfs2: Zero out padding of on disk dquot structure ocfs2: Initialize blocks allocated to local quota file ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq() ocfs2: Make global quota files blocksize aligned ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records. ocfs2: Fix deadlock on umount ocfs2: Add extra credits and access the modified bh in update_edge_lengths. ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation ocfs2: Fix error return in ocfs2_write_cluster() ocfs2: Fix compilation warning for fs/ocfs2/xattr.c ocfs2: Initialize count in aio_write before generic_write_checks ocfs2: log the actual return value of ocfs2_file_aio_write() ... commit d58d2d1adec90e7bc0c56e09b3ac0e9a5a471e68 Merge: 7334219 4d484a4 Author: Linus Torvalds Date: Thu Aug 13 10:59:29 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: allow upper limit for resync/reshape to be set when array is read-only md/raid5: Properly remove excess drives after shrinking a raid5/6 md/raid5: make sure a reshape restarts at the correct address. md/raid5: allow new reshape modes to be restarted in the middle. md: never advance 'events' counter by more than 1. Remove deadlock potential in md_open commit 7334219c44826ae0ebe6f07555c6b97f978ce266 Merge: e694958 dbefd60 Author: Linus Torvalds Date: Thu Aug 13 10:57:53 2009 -0700 Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: fix i2c init order on ap325rxa V2 sh: fix i2c init order on Migo-R V2 sh: convert processor device setup functions to arch_initcall() commit e694958388c50148389b0e9b9e9e8945cf0f1b98 Author: Linus Torvalds Date: Thu Aug 13 08:28:36 2009 -0700 Make sock_sendpage() use kernel_sendpage() kernel_sendpage() does the proper default case handling for when the socket doesn't have a native sendpage implementation. Now, arguably this might be something that we could instead solve by just specifying that all protocols should do it themselves at the protocol level, but we really only care about the common protocols. Does anybody really care about sendpage on something like Appletalk? Not likely. Acked-by: David S. Miller Acked-by: Julien TINNES Acked-by: Tavis Ormandy Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 94d5d1b2d891f1fd5205f978246b7864d998b25c Author: Peter Zijlstra Date: Thu Aug 13 16:14:42 2009 +0200 perf_counter: Report the cloning task as parent on perf_counter_fork() A bug in (9f498cc: perf_counter: Full task tracing) makes profiling multi-threaded apps it go belly up. [ output as: (PID:TID):(PPID:PTID) ] # ./perf report -D | grep FORK 0x4b0 [0x18]: PERF_EVENT_FORK: (3237:3237):(3236:3236) 0xa10 [0x18]: PERF_EVENT_FORK: (3237:3238):(3236:3236) 0xa70 [0x18]: PERF_EVENT_FORK: (3237:3239):(3236:3236) 0xad0 [0x18]: PERF_EVENT_FORK: (3237:3240):(3236:3236) 0xb18 [0x18]: PERF_EVENT_FORK: (3237:3241):(3236:3236) Shows us that the test (27d028d perf report: Update for the new FORK/EXIT events) in builtin-report.c: /* * A thread clone will have the same PID for both * parent and child. */ if (thread == parent) return 0; Will clearly fail. The problem is that perf_counter_fork() reports the actual parent, instead of the cloning thread. Fixing that (with the below patch), yields: # ./perf report -D | grep FORK 0x4c8 [0x18]: PERF_EVENT_FORK: (1590:1590):(1589:1589) 0xbd8 [0x18]: PERF_EVENT_FORK: (1590:1591):(1590:1590) 0xc80 [0x18]: PERF_EVENT_FORK: (1590:1592):(1590:1590) 0x3338 [0x18]: PERF_EVENT_FORK: (1590:1593):(1590:1590) 0x66b0 [0x18]: PERF_EVENT_FORK: (1590:1594):(1590:1590) Which both makes more sense and doesn't confuse perf report anymore. Reported-by: Pekka Enberg Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: Anton Blanchard Cc: Arjan van de Ven LKML-Reference: <1250172882.5241.62.camel@twins> Signed-off-by: Ingo Molnar commit 970892a9031a5dc7217bd394fb9d89fa75a4a7bc Author: Peter Zijlstra Date: Thu Aug 13 11:47:54 2009 +0200 perf_counter: Fix an ipi-deadlock perf_pending_counter() is called from IRQ context and will call perf_counter_disable(), however perf_counter_disable() uses smp_call_function_single() which doesn't fancy being used with IRQs disabled due to IPI deadlocks. Fix this by making it use the local __perf_counter_disable() call and teaching the counter_sched_out() code about pending disables as well. This should cover the case where a counter migrates before the pending queue gets processed. Signed-off-by: Peter Zijlstra Cc: Corey J Ashford Cc: Paul Mackerras Cc: stephane eranian LKML-Reference: <20090813103655.244097721@chello.nl> Signed-off-by: Ingo Molnar commit 3dab77fb1bf89664bb1c9544607159dcab6f7d57 Author: Peter Zijlstra Date: Thu Aug 13 11:47:53 2009 +0200 perf: Rework/fix the whole read vs group stuff Replace PERF_SAMPLE_GROUP with PERF_SAMPLE_READ and introduce PERF_FORMAT_GROUP to deal with group reads in a more generic way. This allows you to get group reads out of read() as well. Signed-off-by: Peter Zijlstra Cc: Corey J Ashford Cc: Paul Mackerras Cc: stephane eranian LKML-Reference: <20090813103655.117411814@chello.nl> Signed-off-by: Ingo Molnar commit bcfc2602e8541ac13b1def38e2591dca072cff7a Author: Peter Zijlstra Date: Thu Aug 13 09:51:55 2009 +0200 perf_counter: Fix swcounter context invariance perf_swcounter_is_counting() uses a lock, which means we cannot use swcounters from NMI or when holding that particular lock, this is unintended. The below removes the lock, this opens up race window, but not worse than the swcounters already experience due to RCU traversal of the context in perf_swcounter_ctx_event(). This also fixes the hard lockups while opening a lockdep tracepoint counter. Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Paul Mackerras Cc: stephane eranian Cc: Corey J Ashford LKML-Reference: <1250149915.10001.66.camel@twins> Signed-off-by: Ingo Molnar commit 8fd101f20bdf771949a8f3a5a779877d09b2fb56 Author: Arnaldo Carvalho de Melo Date: Wed Aug 12 18:19:57 2009 -0300 perf report: Don't show unresolved DSOs and symbols when -S/-d is used We're interested in just those symbols/DSOs, so filter out the unresolved ones. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20090812211957.GE3495@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 3b3119fc549c93df60316d28bdd77c2de3986588 Merge: 96a4d1e dee2b90 Author: Russell King Date: Thu Aug 13 09:55:38 2009 +0100 Merge branch 'ixp4xx-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 commit daac07b2e6b77f1bd44104aa2f0593e5505f27d4 Author: Frederic Weisbecker Date: Thu Aug 13 10:27:19 2009 +0200 perf tools: Add a general option to enable raw sample records While we can enable the perf sample records per tracepoint counter, we may also want to enable this option for every tracepoint counters to open, so that we don't need to add a :record flag for all of them. Add the -R, --raw-samples options for this purpose. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250152039-7284-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3a9f131fb00b8ac5950a11ad1599e45edfb5ae44 Author: Frederic Weisbecker Date: Thu Aug 13 10:27:18 2009 +0200 perf tools: Add a per tracepoint counter attribute to get raw sample Add a new flag field while opening a tracepoint perf counter: -e tracepoint_subsystem:tracepoint_name:flags This is intended to be generic although for now it only supports the r[e[c[o[r[d]]]]] flag: ./perf record -e workqueue:workqueue_insertion:record ./perf record -e workqueue:workqueue_insertion:r will have the same effect: enabling the raw samples record for the given tracepoint counter. In the future, we may want to support further flags, separated by commas. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250152039-7284-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 28402971d869e26271b25301011f667d3a5640c3 Author: Ingo Molnar Date: Thu Aug 13 10:13:22 2009 +0200 perf_counter: Provide hw_perf_counter_setup_online() APIs Provide weak aliases for hw_perf_counter_setup_online(). This is used by the BTS patches (for v2.6.32), but it interacts with fixes so propagate this upstream. (it has no effect as of yet) Also export perf_counter_output() to architecture code. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 8f7a0dc51674ad0dd06155291b0aed60d655943c Author: Arnaldo Carvalho de Melo Date: Wed Aug 12 14:44:59 2009 -0300 perf list: Fix large list output by using the pager When /sys/kernel/debug is mounted the list can be imense, so use the pager like the other tools. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: <20090812174459.GB3495@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 839d1624b9dcf31fdc02e47359043bb7bd71d6ca Author: Francois Romieu Date: Wed Aug 12 22:18:14 2009 -0700 8139cp: balance dma_map_single vs dma_unmap_single pair The driver always: 1. allocate cp->rx_buf_sz + NET_IP_ALIGN 2. map cp->rx_buf_sz Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit dbefd606a3b3634799b625f4900336e61c89e868 Author: Magnus Damm Date: Fri Aug 7 03:52:18 2009 +0000 sh: fix i2c init order on ap325rxa V2 Convert the AP325RXA board code to register devices at arch_initcall() time instead of device_initcall(). This fix unbreaks pcf8563 RTC driver support. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ba3a17019181af5d6ab898760620c4e9916396c2 Author: Magnus Damm Date: Thu Aug 13 11:39:02 2009 +0900 sh: fix i2c init order on Migo-R V2 Convert the Migo-R board code to register devices at arch_initcall() time instead of __initcall(). This fix unbreaks migor_ts touch screen driver support. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ba9a633787eed1e90d587282642580ad3d44f7fd Author: Magnus Damm Date: Wed Jul 22 15:14:29 2009 +0000 sh: convert processor device setup functions to arch_initcall() Convert the processor platform device setup functions from __initcall() and sometimes device_initcall() to arch_initcall(). This makes sure that the platform devices are registered a bit earlier so the devices are available when drivers register using initcall levels earlier than device_initcall(). A good example is platform devices needed by i2c-sh_mobile.c which registers a bit earlier using subsys_initcall(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4d484a4a7a5126410eed5f8dd329a33f6eeed068 Author: NeilBrown Date: Thu Aug 13 10:41:50 2009 +1000 md: allow upper limit for resync/reshape to be set when array is read-only Normally we only allow the upper limit for a reshape to be decreased when the array not performing a sync/recovery/reshape, otherwise there could be races. But if an array is part-way through a reshape when it is assembled the reshape is started immediately leaving no window to set an upper bound. If the array is started read-only, the reshape will be suspended until the array becomes writable, so that provides a window during which it is perfectly safe to reduce the upper limit of a reshape. So: allow the upper limit (sync_max) to be reduced even if the reshape thread is running, as long as the array is still read-only. Signed-off-by: NeilBrown commit 1a67dde0abba36421a1257d01ba9de2f6d1c160a Author: NeilBrown Date: Thu Aug 13 10:41:49 2009 +1000 md/raid5: Properly remove excess drives after shrinking a raid5/6 We were removing the drives, from the array, but not removing symlinks from /sys/.... and not marking the device as having been removed. Signed-off-by: NeilBrown commit 9799218ae36910af50f002a5db1802d576fffb43 Author: David S. Miller Date: Wed Aug 12 17:37:52 2009 -0700 Revert "libertas: Read buffer overflow" This reverts commit 57921c312e8cef72ba35a4cfe870b376da0b1b87. On request from John Linville: It has been shown to create a new problem. There is work towards a solution to that one, but it isn't a simple clean-up. Signed-off-by: David S. Miller commit a639755cf885e437b2fe4168d35157fa90d530ab Author: NeilBrown Date: Thu Aug 13 10:13:00 2009 +1000 md/raid5: make sure a reshape restarts at the correct address. This "if" don't allow for the possibility that the number of devices doesn't change, and so sector_nr isn't set correctly in that case. So change '>' to '>='. Signed-off-by: NeilBrown commit 67ac6011db5d2b0c853d573ff474b25c85dfb644 Author: NeilBrown Date: Thu Aug 13 10:06:24 2009 +1000 md/raid5: allow new reshape modes to be restarted in the middle. md/raid5 doesn't allow a reshape to restart if it involves writing over the same part of disk that it would be reading from. This happens at the beginning of a reshape that increases the number of devices, at the end of a reshape that decreases the number of devices, and continuously for a reshape that does not change the number of devices. The current code is correct for the "increase number of devices" case as the critical section at the start is handled by userspace performing a backup. It does not work for reducing the number of devices, or the no-change case. For 'reducing', we need to invert the test. For no-change we cannot really be sure things will be safe, so simply require the array to be read-only, which is how the user-space code which carefully starts such arrays works. Signed-off-by: NeilBrown commit 51d5668cb2e3fd1827a55184e48606fff054c5be Author: NeilBrown Date: Thu Aug 13 09:54:02 2009 +1000 md: never advance 'events' counter by more than 1. When assembling arrays, md allows two devices to have different event counts as long as the difference is only '1'. This is to cope with a system failure between updating the metadata on two difference devices. However there are currently times when we update the event count by 2. This was done to keep the event count even when the array is clean and odd when it is dirty, which allows us to avoid writing common update to spare devices and so allow those spares to go to sleep. This is bad for the above reason. So change it to never increase by two. This means that the alignment between 'odd/even' and 'clean/dirty' might take a little longer to attain, but that is only a small cost. The spares will get a few more updates but that will still be spared (;-) most updates and can still go to sleep. Prior to this patch there was a small chance that after a crash an array would fail to assemble due to the overly large event count mismatch. Signed-off-by: NeilBrown commit a3620f7545344f932873bf98fbdf416b49409c8e Merge: 78efd1d 39cbb60 Author: Linus Torvalds Date: Wed Aug 12 09:55:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Remove double removal of blktrace directory commit 39cbb602b543e477df71dca84b5b2e36f8bd29fc Author: Alan D. Brunelle Date: Fri Aug 7 12:01:08 2009 -0400 Remove double removal of blktrace directory commit fd51d251e4cdb21f68e9dbc4336514d64a105a79 Author: Stefan Raspl Date: Tue May 19 09:59:08 2009 +0200 blktrace: remove debugfs entries on bad path added in an explicit invocation of debugfs_remove for bt->dir, in blk_remove_buf_file_callback we are also getting the directory removed. On occasion I am seeing memory corruption that I have bisected down to this commit. [The testing involves a (long) series of I/O benchmarks with blktrace invoked around the actual runs.] I believe that this committed patch is correct, but the problem actually lies in the code in blk_remove_buf_file_callback. With this patch I am able to consistently get complete runs whereas previously I could not get a single run to complete. The first part of the patch simply moves the debugfs_remove below the relay_close: the relay_close call will remove files under bt->dir, and so we should not remove the directory until all the files we created have been removed. (Note: This is not sufficient to fix the problem - the file system code has ref counts on the directoy, so our invocation does not cause the directory to actually be removed. Nonetheless, we should not rely upon that feature.) Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit 78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55 Merge: b637dc0 a8914f3 Author: Linus Torvalds Date: Wed Aug 12 08:49:35 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: fix spin_is_locked assert on uni-processor builds xfs: check for dinode realtime flag corruption use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs: avoid memory allocation under m_peraglock in growfs code commit b637dc0dba6a243da2c74f5d02b42ba5eeb9425e Merge: 42c5c84 8884be9 Author: Linus Torvalds Date: Wed Aug 12 08:32:47 2009 -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: ALSA: hda - Don't override ADC definitions for ALC codecs ALSA: hda - Add missing vmaster initialization for ALC269 ASoC: Add missing DRV_NAME definitions for fsl/* drivers commit 42c5c8435e8b7da4684607587d2c882d464cfc7d Merge: 9256a2d 67fe068 Author: Linus Torvalds Date: Wed Aug 12 08:29:32 2009 -0700 Merge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: Remove zero-length file drivers/mtd/maps/sbc8240.c commit 9256a2d0b1a36906656405adf564f03ab2d2f3e9 Merge: 1ae88b2 5594639 Author: Linus Torvalds Date: Wed Aug 12 08:24:17 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: add workaround for on-board 5723s on some gigabyte boards ahci: Soften up the dmesg on SB600 PMP softreset failure recovery Documentation/kernel-parameters.txt: document libata's ignore_hpa option sata_nv: MSI support, disabled by default libata: OCZ Vertex can't do HPA pata_atiixp: fix second channel support pata_at91: fix resource release commit 1ae88b2e446261c038f2c0c3150ffae142b227a2 Author: Trond Myklebust Date: Wed Aug 12 09:12:30 2009 -0400 NFS: Fix an O_DIRECT Oops... We can't call nfs_readdata_release()/nfs_writedata_release() without first initialising and referencing args.context. Doing so inside nfs_direct_read_schedule_segment()/nfs_direct_write_schedule_segment() causes an Oops. We should rather be calling nfs_readdata_free()/nfs_writedata_free() in those cases. Looking at the O_DIRECT code, the "struct nfs_direct_req" is already referencing the nfs_open_context for us. Since the readdata and writedata structures carry a reference to that, we can simplify things by getting rid of the extra nfs_open_context references, so that we can replace all instances of nfs_readdata_release()/nfs_writedata_release(). Reported-by: Catalin Marinas Signed-off-by: Trond Myklebust Tested-by: Catalin Marinas Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 04da8a43da804723a550f00dd158fd5b5e25ae35 Author: Ingo Molnar Date: Tue Aug 11 10:40:08 2009 +0200 perf_counter, x86: Fix/improve apic fallback Johannes Stezenbach reported that his Pentium-M based laptop does not have the local APIC enabled by default, and hence perfcounters do not get initialized. Add a fallback for this case: allow non-sampled counters and return with an error on sampled counters. This allows 'perf stat' to work out of box - and allows 'perf top' and 'perf record' to fall back on a hrtimer based sampling method. ( Passing 'lapic' on the boot line will allow hardware sampling to occur - but if the APIC is disabled permanently by the hardware then this fallback still allows more systems to use perfcounters. ) Also decouple perfcounter support from X86_LOCAL_APIC. -v2: fix typo breaking counters on all other systems ... Reported-by: Johannes Stezenbach Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 0a5ac84650fb7a7f226814103d95724e34b012ae Author: Jens Axboe Date: Wed Aug 12 11:18:01 2009 +0200 perf record: Add missing -C option support for specifying profile cpu perf top supports a -C for setting the profile CPU, but perf record does not. This adds the same option for perf record, allowing the user to specify a specific target profile CPU. Signed-off-by: Jens Axboe Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20090812091801.GC12579@kernel.dk> Signed-off-by: Ingo Molnar commit 1340e6bbaff7ff7f6f75eb4a5c34933efce84a84 Author: Arnaldo Carvalho de Melo Date: Tue Aug 11 17:04:36 2009 -0300 perf tools: Fix dso__new handle() to handle deleted DSOs It is better than showing the map addr, this way at least we know that we can't get the symtabs because the DSO was deleted (system update) while an app still used such DSO. Yeah, don't do that, but if you do, you'll figure it out quicker this way. [acme@doppio linux-2.6-tip]$ perf report | head -15 # Samples: 3796 # # Overhead Command Shared Object Symbol # ........ ....... ................................................................... ...... # 23.55% pidgin /lib64/libglib-2.0.so.0.2000.4.#prelink#.Pd98lu (deleted) [.] 0x00000000038844 21.55% pidgin /lib64/libpthread-2.10.1.so.#prelink#.AFwK8Q (deleted) [.] 0x0000000000a42d 10.85% pidgin [kernel] [.] vread_hpet 7.85% pidgin /lib64/libgobject-2.0.so.0.2000.4.#prelink#.o1vpU7 (deleted) [.] 0x00000000014de8 3.35% pidgin /lib64/libc-2.10.1.so (deleted) [.] 0x0000000007a875 3.19% pidgin /lib64/libdbus-1.so.3.4.0.#prelink#.6mwgZP (deleted) [.] 0x0000000001d254 3.06% pidgin /usr/lib64/libgtk-x11-2.0.so.0.1600.5.#prelink#.511hAl (deleted) [.] 0x000000002334e7 2.90% pidgin /usr/lib64/libgdk-x11-2.0.so.0.1600.5.#prelink#.5qlMo1 (deleted) [.] 0x00000000037b2d 1.84% pidgin [kernel] [k] do_sys_poll 1.45% pidgin /usr/lib64/libX11.so.6.2.0.#prelink#.iR59Rx (deleted) [.] 0x0000000004c751 [acme@doppio linux-2.6-tip]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Luis Claudio R. Gonçalves Cc: Clark Williams Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Frédéric Weisbecker LKML-Reference: <20090811200436.GA3478@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 247648e3742ded01e42a4b14c2da330b13cbb47f Author: Arnaldo Carvalho de Melo Date: Tue Aug 11 16:22:11 2009 -0300 perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available In old binutils we can't access bfd_demangle(), use cplus_demangle() just like oprofile. Signed-off-by: Arnaldo Carvalho de Melo Cc: Luis Claudio R. Gonçalves Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Frédéric Weisbecker LKML-Reference: <20090811192211.GG18061@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 94a24752fe95ca1e7f98b197052d44e6a207740d Author: Arnaldo Carvalho de Melo Date: Tue Aug 11 16:21:38 2009 -0300 perf report: Show the tid too in -D This made it easier to find the firefox threading related bug. Signed-off-by: Arnaldo Carvalho de Melo Cc: "H. Peter Anvin" Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Frédéric Weisbecker LKML-Reference: <20090811192138.GE18061@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 2a8083f063472f27c253545dd64e1a7bbbb1ab61 Author: Arnaldo Carvalho de Melo Date: Tue Aug 11 16:22:00 2009 -0300 perf record: Fix .tid and .pid fill-in when synthesizing events Noticed when trying to record events for a firefox thread. We were synthesizing both .tid and .pid with the pid passed via --pid. Fix it by reading /proc/PID/status and getting the tgid to use in .pid, .tid gets the specified "pid". Signed-off-by: Arnaldo Carvalho de Melo Cc: "H. Peter Anvin" Cc: Frédéric Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20090811192200.GF18061@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 67fe0688082509c52bd451d10a61b3565169c23e Author: Jeff Garzik Date: Wed Aug 12 06:29:57 2009 -0400 Remove zero-length file drivers/mtd/maps/sbc8240.c It was "deleted" in commit 2bf961b7ccd69e108ac435c67e2b0522b403c578 Signed-off-by: Jeff Garzik commit 5594639aab8b5614cb27a3e5b2b627505cbcd137 Author: Tejun Heo Date: Tue Aug 4 14:30:08 2009 +0900 ahci: add workaround for on-board 5723s on some gigabyte boards Some gigabytes have on-board SIMG5723s connected to JMB ahcis. These are used to implement hardware raid. Unfortunately some firmware revisions on these 5723s don't bring the link down when all the downstream ports are unoccupied while not responding to reset protocol which makes libata think that there's device attached to the port but is not responding and retry. This results in painfully wrong boot detection time for these ports when they're empty. This patch quirks those boards such that ahci gives up after the initial timeout. Combined with parallel probing, this gives quick enough probing and also is safe because SIMG5723 will respond to the first try if any of the downstream ports is occupied. Signed-off-by: Tejun Heo Reported-by: Marc Bowes Reported-by: Nicolas Mailhot Signed-off-by: Jeff Garzik commit b6931c1fbaf7fda9ea7f120228a96600d7090049 Author: Shane Huang Date: Wed Aug 5 10:10:41 2009 +0800 ahci: Soften up the dmesg on SB600 PMP softreset failure recovery Too strong words led to spurious bug reports: Novell bugzilla #527748, RedHat bugzilla #468800. This patch is used to soften up the dmesg on SB600 PMP softreset failure recovery, so as to remove the scariness and concern from community. Reported-by: pgnet Dev Signed-off-by: Shane Huang Cc: Tejun Heo Signed-off-by: Jeff Garzik commit 20308871588518b5e209c403de2a3ad9a2eba9af Author: Michael Prokop Date: Thu Aug 6 00:14:10 2009 +0200 Documentation/kernel-parameters.txt: document libata's ignore_hpa option By default the kernel honors the HPA (host protected area) of hard drives. Using libata's ignore_hpa module option it's possible to change this behaviour. Document usage and options of libata.ignore_hpa in Documentation/kernel-parameters.txt. Signed-off-by: Michael Prokop Signed-off-by: Jeff Garzik commit 51c8949950647afeeb897e08dd75ad99078adb50 Author: Tony Vroon Date: Thu Aug 6 00:50:09 2009 +0100 sata_nv: MSI support, disabled by default At least the nVidia MCP55 controller quite happily supports MSI. This adds an option to use it. It is disabled by default. As per feedback by Robert Hancock, it will honour the user request as the kernel will not enable MSI where the controller or the specific system configuration do not support it. Signed-off-by: Tony Vroon Cc: Robert Hancock Signed-off-by: Jeff Garzik commit 7831387bda72af3059be48d39846d3eb6d8ce2f6 Author: Tejun Heo Date: Fri Aug 7 01:59:15 2009 +0900 libata: OCZ Vertex can't do HPA OCZ Vertex SSD can't do HPA and not in a usual way. It reports HPA, allows unlocking but then fails all IOs which fall in the unlocked area. Quirk it so that HPA unlocking is not used for the device. Reported by Daniel Perup in bnc#522414. https://bugzilla.novell.com/show_bug.cgi?id=522414 Signed-off-by: Tejun Heo Reported-by: Daniel Perup Signed-off-by: Jeff Garzik commit 1fd4bbec8c0d6db96b02141f324066afa2e77e89 Author: Bartlomiej Zolnierkiewicz Date: Thu Aug 6 17:47:05 2009 +0200 pata_atiixp: fix second channel support PIO and MWDMA timings are never programmed for the second channel because timing registers are treated as 16-bit long ones. The bug is an attixp -> pata_atiixp regression and goes back to: commit 669a5db411d85a14f86cd92bc16bf7ab5b8aa235 Author: Jeff Garzik Date: Tue Aug 29 18:12:40 2006 -0400 [libata] Add a bunch of PATA drivers. Cc: Krystian Juskowiak Cc: Andrew Morton Cc: Borislav Petkov Cc: Robert Hancock Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit df9eba8c9febf53782ef896518e7177999d98188 Author: Tejun Heo Date: Fri Aug 7 11:15:20 2009 +0900 pata_at91: fix resource release Julias Lawall discovered that pata_at91 wasn't freeing a memory region allocated with kzalloc() on init failure paths. Upon review, pata_at91 also seems to be doing unnecessary explicit resource releases for managed resources too. Convert memory allocation to managed one and drop unnecessary explicit resource releases. Signed-off-by: Tejun Heo Cc: Julia Lawall Cc: Sergey Matyukevich Signed-off-by: Jeff Garzik commit e8055139d996e85722984968472868d6dccb1490 Author: Ondrej Zary Date: Tue Aug 11 20:00:11 2009 +0200 x86: Fix oops in identify_cpu() on CPUs without CPUID Kernel is broken for x86 CPUs without CPUID since 2.6.28. It crashes with NULL pointer dereference in identify_cpu(): 766 generic_identify(c); 767 768--> if (this_cpu->c_identify) 769 this_cpu->c_identify(c); this_cpu is NULL. This is because it's only initialized in get_cpu_vendor() function, which is not called if the CPU has no CPUID instruction. Signed-off-by: Ondrej Zary LKML-Reference: <200908112000.15993.linux@rainbow-software.org> Signed-off-by: Ingo Molnar commit ec8b4b7085605e801a7740a2c3c33256aebe249c Author: Stephen Kitt Date: Wed Aug 12 01:12:08 2009 -0700 Input: joydev - decouple axis and button map ioctls from input constants The KEY_MAX change in 2.6.28 changed the values of the JSIOCSBTNMAP and JSIOCGBTNMAP constants; software compiled with the old values no longer works with kernels following 2.6.28, because the ioctl switch statement no longer matches the values given by the software. This patch handles these ioctls independently of the length of data specified, and applies the same treatment to JSIOCSAXMAP and JSIOCGAXMAP which currently depend on ABS_MAX. Signed-off-by: Stephen Kitt Signed-off-by: Dmitry Torokhov commit a8914f3a6d72c97328597a556a99daaf5cc288ae Author: Christoph Hellwig Date: Mon Aug 10 11:32:44 2009 -0300 xfs: fix spin_is_locked assert on uni-processor builds Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Johannes Engel Tested-by: Johannes Engel Signed-off-by: Felix Blyakher commit b89d4208de3de442c9025919c4261be0b38e79a4 Author: Christoph Hellwig Date: Mon Aug 10 11:32:18 2009 -0300 xfs: check for dinode realtime flag corruption Ramon tested XFS with a modified version of fsfuzzer and hit a NULL pointer dereference in __xfs_get_blocks due to the RT device target pointer being NULL. To fix this reject inode with the realtime bit set on a a filesystem without an RT subvolume during inode read. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Reported-by: Ramon de Carvalho Valle Tested-by: Ramon de Carvalho Valle Signed-off-by: Felix Blyakher commit e0c222c411e22f086e929cd69fdcc89336164ec1 Author: Eric Sandeen Date: Mon Jul 20 10:52:15 2009 -0500 use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock In Red Hat Bug 512552 - Can't write to XFS mount during raid5 resync a user ran into corruption while resyncing a raid, and we failed a consistency test, but didn't get much more info; it'd be nice to call XFS_CORRUPTION_ERROR here so we can see the buffer contents. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit ddd3a14e0f030f0f7b900621f67532285b8657ef Author: Christoph Hellwig Date: Sat Jul 18 18:15:01 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 7b02ecb3031b192823bc732ae717febc0a59aa92 Author: Christoph Hellwig Date: Sat Jul 18 18:15:00 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs_readlink_bmap is called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 10746e47e722b5688fcd6eba9fbf9b2e64a248a7 Author: Christoph Hellwig Date: Sat Jul 18 18:14:59 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 36fae17a648e0aee5d9560514d08477ef48dc87f Author: Christoph Hellwig Date: Sat Jul 18 18:14:58 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs_buf_associate_memory is used for setting up the spare buffer for the log wrap case in xlog_sync which can happen under i_lock when called from xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. There are a couple more uses of xfs_buf_associate_memory in the log recovery code that are also affected by this, but I'd rather keep the code simple than passing on a gfp_mask argument. Longer term we should just stop requiring the memoery allocation in xlog_sync by some smaller rework of the buffer layer. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 3f52c2f0a07c23771909cc53f2e9451a7f1bf253 Author: Christoph Hellwig Date: Sat Jul 18 18:14:57 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 73195ed7864ae4a1fb0bea2ed9df59d19b4fde90 Author: Christoph Hellwig Date: Sat Jul 18 18:14:56 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make i_lock is taken in the reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f41d7fb9da05b604f8a69fb6cac2a0563c8ede4e Author: Christoph Hellwig Date: Sat Jul 18 18:14:55 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ca35dcd6cae7d4a780c484c53f45548c4719f82c Author: Christoph Hellwig Date: Sat Jul 18 18:14:54 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs_getbmap allocates memory with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0cc6eee130b0c062feec8446d9cecdb17d2cfad3 Author: Christoph Hellwig Date: Sat Jul 18 18:14:53 2009 -0400 xfs: avoid memory allocation under m_peraglock in growfs code Allocate the memory for the larger m_perag array before taking the per-AG lock as the per-AG lock can be taken under the i_lock which can be taken from reclaim context. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 8884be98bcfa656febd24bd18fe8bececbf81251 Merge: 909a260 dd70469 Author: Takashi Iwai Date: Wed Aug 12 08:05:20 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Don't override ADC definitions for ALC codecs ALSA: hda - Add missing vmaster initialization for ALC269 commit 909a2607a5c923bf40a07ab0bfaa78bee775bf55 Merge: 90bc1a6 afc5e65 Author: Takashi Iwai Date: Wed Aug 12 08:05:19 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Add missing DRV_NAME definitions for fsl/* drivers commit 7cb7beb31aa3d941833b6a6e553687422c31e4b6 Merge: 4d9c73f e7369e0 Author: Linus Torvalds Date: Tue Aug 11 17:06:16 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6: arch/ia64/kernel/iosapic: missing test after ioremap() ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build IA64: includecheck fix: ia64, pgtable.h IA64: includecheck fix: ia64, ia64_ksyms.c ia64: boolean __test_and_clear_bit Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported() commit e7369e01eb85550ed60dd1b0e120b69dfb03dc23 Author: Roel Kluin <[roel.kluin@gmail.com]> Date: Tue Aug 11 14:52:11 2009 -0700 arch/ia64/kernel/iosapic: missing test after ioremap() Missing test after ioremap() Signed-off-by: Roel Kluin Acked-by: Fenghua Yu commit 5359dffd4396f281c5b77de1acbee6fb1b333b23 Author: Fenghua Yu Date: Tue Aug 11 14:52:11 2009 -0700 ia64/topology.c: exit cache_add_dev when kobject_init_and_add fails Make cache_add_dev exit sysfs when kobject_init_and_add returns an error. Signed-off-by: Xiaotian Feng Signed-off-by: Fenghua Yu commit bf2a4c7270b9a22243a91ab5efcc47aaf997c66b Author: Fenghua Yu <[fenghua.yu@intel.com]> Date: Tue Aug 11 14:52:11 2009 -0700 arch/ia64/Makefile: Remove -mtune=merced in IA64 kernel build Between GCC version 3.4.0 and 4.3.3 (including 3.4.0 and 4.3.3), -mtune=merced is implemented in GCC. Starting from 4.4.0, -mtune=merced is deprecated. Even implemented in versions between 3.4.0 and 4.3.3, the -mtune=merced feature has been broken in some of the versions. For example, GCC 4.1.2 reports interanl tuning function errors during kernel building with -mtune=merced. Or GCC Bugzilla 16130 reports another -mtune=merced issue on GCC 3.4.1. So I would remove the -mtune=merced from IA64 kernel build. Without this option, kernel on Merced will remain the same except losing an unstable and out-of-date performance tunning feature. Since GCC version 3.4.0, -mtune=mckinley has been implemented. The -mtune=mckinley option functions the same as mtune=itanium2. And mtune=itanium2 is the default option. So we don't need to add mtune=mckinley either since its been the default option in any GCC version which implements this option. Signed-off-by: Fenghua Yu commit b5a8879347bbe68bd24c8870503bf6a0362da26b Author: Jaswinder Singh Rajput <[jaswinder@kernel.org]> Date: Tue Aug 11 14:52:11 2009 -0700 IA64: includecheck fix: ia64, pgtable.h fix the following 'make includecheck' warning: arch/ia64/include/asm/pgtable.h: asm/processor.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Fenghua Yu commit cfa5f809e399c699974ba6018eefa022bbc2e16e Author: Jaswinder Singh Rajput <[jaswinder@kernel.org]> Date: Tue Aug 11 14:52:10 2009 -0700 IA64: includecheck fix: ia64, ia64_ksyms.c fix the following 'make includecheck' warning: arch/ia64/kernel/ia64_ksyms.c: asm/page.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Fenghua Yu commit 8d6f9af91959256244878cd801c1c969e66cd093 Author: Johannes Weiner <[hannes@cmpxchg.org]> Date: Tue Aug 11 14:52:10 2009 -0700 ia64: boolean __test_and_clear_bit __test_and_clear_bit() returns a bitfield with the tested-for bit set. Make it consistent with the other bitops - of ia64 but also every other architecture - and return a boolean value. Signed-off-by: Johannes Weiner Acked-by: Fenghua Yu commit 51b89f7a6615eca184aa0b85db5781d931e9c8d1 Author: Fenghua Yu <[fenghua.yu@intel.com]> Date: Tue Aug 11 14:52:10 2009 -0700 Bug Fix arch/ia64/kernel/pci-dma.c: fix recursive dma_supported() call in iommu_dma_supported() In commit 160c1d8e40866edfeae7d68816b7005d70acf391, dma_ops->dma_supported = iommu_dma_supported; This dma_ops->dma_supported is first called in platform_dma_init() during kernel boot. Then dma_ops->dma_supported will be called recursively in iommu_dma_supported. Kernel can not boot because kernel can not get out of iommu_dma_supported until it runs out of stack memory. Signed-off-by: Fenghua Yu commit dee2b904a1f93c275a015b67cd693038d74b18e8 Author: Mikael Pettersson Date: Sun Aug 9 21:21:57 2009 +0200 IXP4xx: Fix IO_SPACE_LIMIT for 2.6.31-rc core PCI changes 2.6.31-rc kernels don't boot on my ixp4xx box (ds101), because the libata driver doesn't find the PCI IDE controller any more. 2.6.30 was fine. I traced this to a PCI update (1f82de10d6b1d845155363c895c552e61b36b51a) in 2.6.30-git19. Diffing the kernel boot logs from 2.6.30-git18 and 2.6.30-git19 illustrates the breakage: > --- dmesg-2.6.30-git18 2009-08-04 01:45:22.000000000 +0200 > +++ dmesg-2.6.30-git19 2009-08-04 01:45:46.000000000 +0200 > @@ -26,6 +26,13 @@ > pci 0000:00:02.2: PME# supported from D0 D1 D2 D3hot > pci 0000:00:02.2: PME# disabled > PCI: bus0: Fast back to back transfers disabled > +pci 0000:00:01.0: BAR 0: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 1: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 2: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 3: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:01.0: BAR 4: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:02.0: BAR 4: can't allocate I/O resource [0x10000-0xffff] > +pci 0000:00:02.1: BAR 4: can't allocate I/O resource [0x10000-0xffff] > bio: create slab at 0 > SCSI subsystem initialized > NET: Registered protocol family 2 > @@ -44,11 +51,7 @@ > console [ttyS0] enabled > serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale > Driver 'sd' needs updating - please use bus_type methods > -PCI: enabling device 0000:00:01.0 (0140 -> 0141) > -scsi0 : pata_artop > -scsi1 : pata_artop > -ata1: PATA max UDMA/100 cmd 0x1050 ctl 0x1060 bmdma 0x1040 irq 28 > -ata2: PATA max UDMA/100 cmd 0x1058 ctl 0x1064 bmdma 0x1048 irq 28 > +pata_artop 0000:00:01.0: no available native port > Using configured DiskOnChip probe address 0x50000000 > DiskOnChip found at 0x50000000 > NAND device: Manufacturer ID: 0x98, Chip ID: 0x73 (Toshiba NAND 16MiB 3,3V 8-bit) The specific change in 1f82de10d6b1d845155363c895c552e61b36b51a responsible for this failure turned out to be the following: > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -193,7 +193,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, > res->flags |= pci_calc_resource_flags(l) | IORESOURCE_SIZEALIGN; > if (type == pci_bar_io) { > l &= PCI_BASE_ADDRESS_IO_MASK; > - mask = PCI_BASE_ADDRESS_IO_MASK & 0xffff; > + mask = PCI_BASE_ADDRESS_IO_MASK & IO_SPACE_LIMIT; > } else { > l &= PCI_BASE_ADDRESS_MEM_MASK; > mask = (u32)PCI_BASE_ADDRESS_MEM_MASK; Every arch except arm's ixp4xx defines IO_SPACE_LIMIT as an all-bits-one bitmask, typically -1UL but sometimes only a 16-bit 0x0000ffff. But ixp4xx defines it as 0xffff0000, which is now causing the PCI failures. Russell King noted that ixp4xx has 64KB PCI IO space, so IO_SPACE_LIMIT should be 0x0000ffff. This patch makes that change, which fixes the PCI failures on my ixp4xx box. Signed-off-by: Mikael Pettersson Signed-off-by: Krzysztof Hałasa commit fbd8b1819e80ac5a176d085fdddc3a34d1499318 Author: Kevin Winchester Date: Mon Aug 10 19:56:45 2009 -0300 x86: Clear incorrectly forced X86_FEATURE_LAHF_LM flag Due to an erratum with certain AMD Athlon 64 processors, the BIOS may need to force enable the LAHF_LM capability. Unfortunately, in at least one case, the BIOS does this even for processors that do not support the functionality. Add a specific check that will clear the feature bit for processors known not to support the LAHF/SAHF instructions. Signed-off-by: Kevin Winchester Acked-by: Borislav Petkov LKML-Reference: <4A80A5AD.2000209@gmail.com> Signed-off-by: Ingo Molnar commit f64ccccb8afa43abdd63fcbd230f818d6ea0883f Author: Ingo Molnar Date: Tue Aug 11 10:26:33 2009 +0200 perf_counter, x86: Fix generic cache events on P6-mobile CPUs Johannes Stezenbach reported that 'perf stat' does not count cache-miss and cache-references events on his Pentium-M based laptop. This is because we left them blank in p6_perfmon_event_map[], fill them in. Reported-by: Johannes Stezenbach Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 3c581a7f94542341bf0da496a226b44ac63521a8 Author: Ingo Molnar Date: Tue Aug 11 10:47:36 2009 +0200 perf_counter, x86: Fix lapic printk message Instead of this garbled bootup on UP Pentium-M systems: [ 0.015048] Performance Counters: [ 0.016004] no Local APIC, try rebooting with lapicno PMU driver, software counters only. Print: [ 0.015050] Performance Counters: [ 0.016004] no APIC, boot with the "lapic" boot parameter to force-enable it. [ 0.017003] no PMU driver, software counters only. Cf: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 0d01f31439c1e4d602bf9fdc924ab66f407f5e38 Author: Dmitry Torokhov Date: Sun Aug 9 21:44:49 2009 -0700 x86, mce: therm_throt - change when we print messages My Latitude d630 seems to be handling thermal events in SMI by lowering the max frequency of the CPU till it cools down but still leaks the "everything is normal" events. This spams the console and with high priority printks. Adjust therm_throt driver to only print messages about the fact that temperatire returned back to normal when leaving the throttling state. Also lower the severity of "back to normal" message from KERN_CRIT to KERN_INFO. Signed-off-by: Dmitry Torokhov Acked-by: H. Peter Anvin LKML-Reference: <20090810051513.0558F526EC9@mailhub.coreip.homeip.net> Signed-off-by: Ingo Molnar commit dd704698f56c1451fc9c5daadcd6e3a089de2c40 Author: Takashi Iwai Date: Tue Aug 11 08:45:11 2009 +0200 ALSA: hda - Don't override ADC definitions for ALC codecs ALC269 and ALC861-VD parsers override the ADC definitions unconditionally without checking the spec definition. This causes the problem when any inconsistent ADC is set up in the device quirk (like ALC272 with digital-mic). This patch avoids the overriding by adding the proper checks. Reference: Novell bnc#529467 https://bugzilla.novell.com/show_bug.cgi?id=529467 Signed-off-by: Takashi Iwai commit 4d9c73f60efe7a76f086bc93f7ef22be9d78bed6 Merge: 651b1f1 314dabb Author: Linus Torvalds Date: Mon Aug 10 19:25:00 2009 -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: SELinux: fix memory leakage in /security/selinux/hooks.c commit 314dabb83a547ec4da819e8cbc78fac9cec605cd Author: James Morris Date: Mon Aug 10 22:00:13 2009 +1000 SELinux: fix memory leakage in /security/selinux/hooks.c Fix memory leakage in /security/selinux/hooks.c The buffer always needs to be freed here; we either error out or allocate more memory. Reported-by: iceberg Signed-off-by: James Morris Acked-by: Stephen Smalley commit 651b1f125c7e3806bbd635739d009433dc07372d Author: Magnus Damm Date: Mon Aug 10 23:41:18 2009 +0200 PM / Driver Core: Kill dev_pm_ops platform warning for now Commit 783ea7d4eeefe895f2731fe73ac951e94418927b (Driver Core: Rework platform suspend/resume, print warning) added a warning message printed for platform drivers that use the legacy PM callbacks rather than struct dev_pm_ops. Unfortunately, this resulted in some confusion and made some people try to convert drivers by replacing the old callbacks with struct dev_pm_ops in automatic way, which generally is not a good idea. Remove the platform device runtime dev_pm_ops warning for now, because it's annoying to users and it's not really necessary right now. [rjw: Modified the changelog to be more informative.] Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit e9d126cdfa60b575f1b5b02024c4faee27dccf07 Author: Dan Carpenter Date: Sun Aug 9 14:24:09 2009 +0200 ar9170: fix read & write outside array bounds queue == __AR9170_NUM_TXQ would cause a bug on the next line. found by Smatch ( http://repo.or.cz/w/smatch.git ). Cc: stable@kernel.org Reported-by: Dan Carpenter Signed-off-by: Dan Carpenter Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 363ec5614f86110c6a6bdd72ac2147ebafd3ff5e Author: Christian Lamparter Date: Sat Aug 8 17:09:48 2009 +0200 ar9170usb: fix spurious firmware related message When ar9170-2.fw was missing, the driver erroneously complained about missing the initialization values file ar9170-1.fw... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 85dfd81dc57e8183a277ddd7a56aa65c96f3f487 Author: Linus Torvalds Date: Mon Aug 10 13:21:19 2009 -0700 pty: fix data loss when stopped (^S/^Q) Commit d945cb9cc ("pty: Rework the pty layer to use the normal buffering logic") dropped the test for 'tty->stopped' in pty_write_room(), which then causes the n_tty line discipline thing to not throttle the data properly when the tty is stopped. So instead of pausing the write due to the tty being stopped, the ldisc layer would go ahead and push it down to the pty. The pty write() routine would then refuse to take the data (because it _did_ check 'stopped'), and the data wouldn't actually be written. This whole stopped test should eventually be moved into the tty ldisc layer rather than have low-level tty drivers care about these things, but right now the fix is to just re-instate the missing pty 'stopped' handling. Reported-and-tested-by: Artur Skawina Cc: Alan Cox Signed-off-by: Linus Torvalds commit b409d7a0ab46fe530efe52734984b4ed5d46c3eb Author: Jan Kara Date: Thu Aug 6 23:29:34 2009 +0200 ocfs2: Fix possible deadlock when extending quota file In OCFS2, allocator locks rank above transaction start. Thus we cannot extend quota file from inside a transaction less we could deadlock. We solve the problem by starting transaction not already in ocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and ocfs2_global_read_dquot() and we allocate blocks to quota files before starting the transaction. In case we crash, quota files will just have a few blocks more but that's no problem since we just use them next time we extend the quota file. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 3e03bbeac541856aaaf1ce1ab0250b6a490e4099 Author: Shunichi Fuji Date: Tue Aug 11 03:34:40 2009 +0900 x86: Add reboot quirk for every 5 series MacBook/Pro Reboot does not work on my MacBook Pro 13 inch (MacBookPro5,5) too. It seems all unibody MacBook and MacBookPro require PCI reboot handling, i guess. Following model/machine ID list shows unibody MacBook/Pro have the 5 series of model number: http://www.everymac.com/systems/by_capability/macs-by-machine-model-machine-id.html Signed-off-by: Shunichi Fuji Cc: Ozan Çağlayan LKML-Reference: <30046e3b0908101134p6487ddbftd8776e4ddef204be@mail.gmail.com> Signed-off-by: Ingo Molnar commit d00aa6695b67a31be2ce5f7464da32c20cb50699 Merge: cec3691 1853db0 Author: Linus Torvalds Date: Mon Aug 10 11:48:51 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) perf_counter: Zero dead bytes from ftrace raw samples size alignment perf_counter: Subtract the buffer size field from the event record size perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data perf_counter: Correct PERF_SAMPLE_RAW output perf tools: callchain: Fix bad rounding of minimum rate perf_counter tools: Fix libbfd detection for systems with libz dependency perf: "Longum est iter per praecepta, breve et efficax per exempla" perf_counter: Fix a race on perf_counter_ctx perf_counter: Fix tracepoint sampling to be part of generic sampling perf_counter: Work around gcc warning by initializing tracepoint record unconditionally perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode perf tools: callchain: Fix 'perf report' display to be callchain by default perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains perf record: Fix the -A UI for empty or non-existent perf.data perf util: Fix do_read() to fail on EOF instead of busy-looping perf list: Fix the output to not include tracepoints without an id perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc) perf report: Fix per task mult-counter stat reporting ... commit 392741e0a4e17c82e3978b7fcbf04291294dc0a1 Author: Darren Hart Date: Fri Aug 7 15:20:48 2009 -0700 futex: Fix handling of bad requeue syscall pairing If futex_requeue(requeue_pi=1) finds a futex_q that was created by a call other the futex_wait_requeue_pi(), the q.rt_waiter may be null. If so, this will result in an oops from the following call graph: futex_requeue() rt_mutex_start_proxy_lock() task_blocks_on_rt_mutex() waiter->task dereference OOPS We currently WARN_ON() if this is detected, clearly this is inadequate. If we detect a mispairing in futex_requeue(), bail out, seding -EINVAL to user-space. V2: Fix parenthesis warnings. Signed-off-by: Darren Hart Acked-by: Peter Zijlstra Cc: Steven Rostedt Cc: John Kacur Cc: Eric Dumazet Cc: Dinakar Guniguntala Cc: John Stultz LKML-Reference: <4A7CA8C0.7010809@us.ibm.com> Signed-off-by: Ingo Molnar commit cec36911b5fa4ac342f6de856b12a9f71f84e6e5 Merge: a326396 ad7d6c7 Author: Linus Torvalds Date: Mon Aug 10 11:21:13 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/irq: Fix move_irq_desc() for nodes without ram commit a3263969b02260f8733940f580c7af1c716d38ad Merge: 9b8f013 b6e61ee Author: Linus Torvalds Date: Mon Aug 10 11:11:40 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix serialization in pit_expect_msb() commit 9b8f013a8361b05edf511f04fe93b36310b73806 Merge: 9bcf73f 94f81a4 Author: Linus Torvalds Date: Mon Aug 10 11:00:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI hotplug: SGI hotplug: do not use hotplug_slot_attr PCI hotplug: SGI hotplug: fix build failure commit b6e61eef4f9f94714ac3ee4a5c96862d9bcd1836 Author: Linus Torvalds Date: Fri Jul 31 12:45:41 2009 -0700 x86: Fix serialization in pit_expect_msb() Wei Chong Tan reported a fast-PIT-calibration corner-case: | pit_expect_msb() is vulnerable to SMI disturbance corner case | in some platforms which causes /proc/cpuinfo to show wrong | CPU MHz value when quick_pit_calibrate() jumps to success | section. I think that the real issue isn't even an SMI - but the fact that in the very last iteration of the loop, there's no serializing instruction _after_ the last 'rdtsc'. So even in the absense of SMI's, we do have a situation where the cycle counter was read without proper serialization. The last check should be done outside the outer loop, since _inside_ the outer loop, we'll be testing that the PIT has the right MSB value has the right value in the next iteration. So only the _last_ iteration is special, because that's the one that will not check the PIT MSB value any more, and because the final 'get_cycles()' isn't serialized. In other words: - I'd like to move the PIT MSB check to after the last iteration, rather than in every iteration - I think we should comment on the fact that it's also a serializing instruction and so 'fences in' the TSC read. Here's a suggested replacement. Signed-off-by: Linus Torvalds Reported-by: "Tan, Wei Chong" Tested-by: "Tan, Wei Chong" LKML-Reference: Signed-off-by: Ingo Molnar commit 9bcf73f48280ef8cd7f2e38e674da47c409b9906 Merge: 2c661a6 704b836 Author: Linus Torvalds Date: Mon Aug 10 09:00:47 2009 -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: mm_for_maps: take ->cred_guard_mutex to fix the race with exec mm_for_maps: shift down_read(mmap_sem) to the caller mm_for_maps: simplify, use ptrace_may_access() commit 2c661a669b3e2e34311d7965271a628671191e45 Merge: 04e3535 b2f2e8f Author: Linus Torvalds Date: Mon Aug 10 08:59:56 2009 -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/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM commit 04e35357e2e3ff4e0cabd6468354cf3dbfeb4f27 Author: Jaswinder Singh Rajput Date: Mon Aug 10 16:45:42 2009 +0100 MN10300: includecheck fix: mn10300, pci.h Fix the following 'make includecheck' warning: arch/mn10300/include/asm/pci.h: linux/mm.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5e2f89b5d5d87a7c3ba19fc85ba0c29adb65f639 Author: Figo.zhang Date: Sat Aug 8 21:01:22 2009 +0800 mempool.c: clean up type-casting clean up type-casting twice. "size_t" is typedef as "unsigned long" in 64-bit system, and "unsigned int" in 32-bit system, and the intermediate cast to 'long' is pointless. Signed-off-by: Figo.zhang Signed-off-by: Linus Torvalds commit 1392e3b33319fd1a2527bebfc56631c2f2d3c7c5 Author: Ryusuke Konishi Date: Sat Aug 8 17:52:50 2009 +0900 documentation: register ioctl entry of nilfs2 This will register the ioctl range used by nilfs2 file system to the table listed in Documentation/ioctl/ioctl-number.txt. Signed-off-by: Ryusuke Konishi Signed-off-by: Linus Torvalds commit 1853db0e02ae4088f102b0d8e59e83dc98f93f03 Author: Frederic Weisbecker Date: Mon Aug 10 16:38:36 2009 +0200 perf_counter: Zero dead bytes from ftrace raw samples size alignment After aligning the ftrace raw samples, there are dead bytes storing random data from the stack. We don't want to leak these to userspace, then zero these out. Before: 0x2de88 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff ......P........ . 0010: 68 01 00 00 68 01 00 00 2c 00 00 00 00 00 00 00 h...h...,...... . 0020: 2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00 ,...+...h...h.. . 0030: 6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00 kondemand/0.... . 0040: 68 01 00 00 40 7f 46 81 ff ff ff ff 00 10 1b 7f h...@.F........ ^ ^ ^ ^ Leak After: 0x2d318 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 01 00 50 00 d0 c7 00 81 ff ff ff ff ......P........ . 0010: 68 01 00 00 68 01 00 00 68 14 00 00 00 00 00 00 h...h...h...... . 0020: 2c 00 00 00 2b 00 01 02 68 01 00 00 68 01 00 00 ,...+...h...h.. . 0030: 6b 6f 6e 64 65 6d 61 6e 64 2f 30 00 00 00 00 00 kondemand/0.... . 0040: 68 01 00 00 a0 80 46 81 ff ff ff ff 00 00 00 00 h.....F........ ^ ^ ^ ^ Fixed Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1249915116-5210-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith commit 96a4d1e23439e2356a105791bda95cc08d375b97 Merge: f40aac9 6fd210a Author: Russell King Date: Mon Aug 10 15:50:27 2009 +0100 Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm commit 304703aba31a87903b8c0db8f5e6890cac2d596d Author: Frederic Weisbecker Date: Mon Aug 10 16:11:32 2009 +0200 perf_counter: Subtract the buffer size field from the event record size We compute the perf raw sample size by aligning the raw ftrace event size plus the buffer size field itself. We do that instead of aligning only the perf raw sample size, so that we might economize some in some cases. But this buffer size field is not stored in the perf raw sample, we must then substract its size from the buffer once we computed the alignment unless we may get a useless u32 field in the buffer. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <20090810141129.GA5124@nowhere> Signed-off-by: Ingo Molnar commit 4dc88029fd916b860ef063c40180aa604ce93494 Author: Dinakar Guniguntala Date: Mon Aug 10 18:31:42 2009 +0530 futex: Fix compat_futex to be same as futex for REQUEUE_PI Need to add the REQUEUE_PI checks to the compat_sys_futex API as well to ensure 32 bit requeue's work fine on a 64 bit system. Patch is against latest tip Signed-off-by: Dinakar Guniguntala Cc: Darren Hart LKML-Reference: <20090810130142.GA23619@in.ibm.com> Signed-off-by: Ingo Molnar commit f40aac940aa83645ec2218ccce90cc1c6881b74c Merge: 7063c88 3c82e22 Author: Russell King Date: Mon Aug 10 14:24:18 2009 +0100 Merge branch 'omap_fixes_31' of git://git.pwsan.com/linux-2.6 commit 7063c88c726a704e648ba36ca78baa630f8b7b0a Merge: f4b9a98 4177662 Author: Russell King Date: Mon Aug 10 14:23:29 2009 +0100 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 2fc391112fb6f3424435a3aa2fda887497b5f807 Author: Peter Zijlstra Date: Mon Aug 10 12:33:05 2009 +0100 locking, sched: Give waitqueue spinlocks their own lockdep classes Give waitqueue spinlocks their own lockdep classes when they are initialised from init_waitqueue_head(). This means that struct wait_queue::func functions can operate other waitqueues. This is used by CacheFiles to catch the page from a backing fs being unlocked and to wake up another thread to take a copy of it. Signed-off-by: Peter Zijlstra Signed-off-by: David Howells Tested-by: Takashi Iwai Cc: linux-cachefs@redhat.com Cc: torvalds@osdl.org Cc: akpm@linux-foundation.org LKML-Reference: <20090810113305.17284.81508.stgit@warthog.procyon.org.uk> Signed-off-by: Ingo Molnar commit 4177662ec9f5e50b69ef074369fdb429dd48d97e Author: Roger Quadros Date: Mon Aug 10 14:49:52 2009 +0300 OMAP3: RX51: Updated rx51_defconfig Added REGULATOR, MMC and updated default CMDLINE so RX51 now boots. Note that the regulator code should be moved from mmc-twl4030.c to omap_hsmmc.c so it can be a module. Signed-off-by: Roger Quadros Signed-off-by: Tony Lindgren commit 22833044fbe2764d44ae03f58508e671652ca186 Author: Roger Quadros Date: Mon Aug 10 14:49:51 2009 +0300 OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up twl_mmc_cleanup() must free up the regulators that were allocated by twl_mmc_late_init(). This eliminates the below error when 'omap_hsmmc' module is repeatedly loaded and unloaded. "sysfs: cannot create duplicate filename '/devices/platform /mmci-omap-hs.0/microamps_requested_vmmc'" Signed-off-by: Roger Quadros Signed-off-by: Tony Lindgren commit dfc27b34496923b5f552eb9cdf20468045114ada Author: Roger Quadros Date: Mon Aug 10 14:49:51 2009 +0300 OMAP3: RX51: Define TWL4030 USB transceiver in board file Add OTG transceiver to RX51 platform data to prevent kernel NULL pointer dereference during MUSB initialisation. Signed-off-by: Roger Quadros Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 5032902c331acc71956e47abd90d090181c5ef4a Author: Sergio Aguirre Date: Mon Aug 10 14:49:50 2009 +0300 OMAP3: Overo: Fix smsc911x platform device resource value Fixes a wrong setting of resource parameter list in SMSC911x platform driver data structure for Overo case. This fixes folowing warning when compiling for Overo board: warning: initialization from incompatible pointer type Introduced since commit id: commit 172ef275444efa12d834fb9d1b1acdac92db47f7 Author: Steve Sakoman Date: Mon Feb 2 06:27:49 2009 +0000 ARM: Add SMSC911X support to Overo platform (V2) Signed-off-by: Sergio Aguirre Signed-off-by: Tony Lindgren commit 370bc1fdefb8a30018d98aca2fdfd6b6701082e7 Author: Janboe Ye Date: Mon Aug 10 14:49:50 2009 +0300 OMAP3: Fix omap3 sram virtual addres overlap vmalloc space after increasing vmalloc size commit e85c205ac1427f2405021a36f083280ff0d0a35e increase vmalloc size. vmalloc space will overlap with OMAP3 sram virtual address. Signed-off-by: Li Hong Mei Signed-off-by: Janboe Ye Reviewed-by: Paul Walmsley commit 284119c48f4a0c469b3e0237b500e536b4bc7b6f Author: Vikram Pandita Date: Mon Aug 10 14:49:50 2009 +0300 OMAP2/3: DMA errata correction This errata is valid for: OMAP2420 Errata 1.85 Impacts all 2420 ES rev OMAP2430 Errata 1.10 Impacts only ES1.0 Description: DMA may hang when several channels are used in parallel OMAP3430: Not impacted, so remove the errata fix for omap3 Fixed issue reported on cpu_is_omap24xx check reported by Nishant Kamat Signed-off-by: Vikram Pandita Reviewed-by: Nishant Kamat Signed-off-by: Tony Lindgren commit cd92204924fafbd5c7241dfd12ca3176d542e0c5 Author: Tony Lindgren Date: Mon Aug 10 14:49:50 2009 +0300 OMAP: Fix testing of cpu defines for mach-omap1 There's no need to keep these defines limited in the ifdef block for mach-omap2. It will just cause problems testing for the CPU revision in the common code, like the next patch does for the DMA errata. Signed-off-by: Tony Lindgren commit 704b836cbf19e885f8366bccb2e4b0474346c02d Author: Oleg Nesterov Date: Fri Jul 10 03:27:40 2009 +0200 mm_for_maps: take ->cred_guard_mutex to fix the race with exec The problem is minor, but without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Now we do not need to re-check task->mm after ptrace_may_access(), it can't be changed to the new mm under us. Strictly speaking, this also fixes another very minor problem. Unless security check fails or the task exits mm_for_maps() should never return NULL, the caller should get either old or new ->mm. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Signed-off-by: James Morris commit 00f89d218523b9bf6b522349c039d5ac80aa536d Author: Oleg Nesterov Date: Fri Jul 10 03:27:38 2009 +0200 mm_for_maps: shift down_read(mmap_sem) to the caller mm_for_maps() takes ->mmap_sem after security checks, this looks strange and obfuscates the locking rules. Move this lock to its single caller, m_start(). Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Signed-off-by: James Morris commit 13f0feafa6b8aead57a2a328e2fca6a5828bf286 Author: Oleg Nesterov Date: Tue Jun 23 21:25:32 2009 +0200 mm_for_maps: simplify, use ptrace_may_access() It would be nice to kill __ptrace_may_access(). It requires task_lock(), but this lock is only needed to read mm->flags in the middle. Convert mm_for_maps() to use ptrace_may_access(), this also simplifies the code a little bit. Also, we do not need to take ->mmap_sem in advance. In fact I think mm_for_maps() should not play with ->mmap_sem at all, the caller should take this lock. With or without this patch, without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Signed-off-by: Oleg Nesterov Reviewed-by: Serge Hallyn Signed-off-by: James Morris commit 100d5eb36ba20dc0b99a17ea2b9800c567bfc3d1 Author: Takashi Iwai Date: Mon Aug 10 11:55:51 2009 +0200 ALSA: hda - Add missing vmaster initialization for ALC269 Without the initialization of vmaster NID, the dB information got confused for ALC269 codec. Reference: Novell bnc#527361 https://bugzilla.novell.com/show_bug.cgi?id=527361 Signed-off-by: Takashi Iwai Cc: commit a4e95fc2cbb31d70a65beffeaf8773f881328c34 Author: Peter Zijlstra Date: Mon Aug 10 11:20:12 2009 +0200 perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data Raw tracepoint data contains various kernel internals and data from other users, so restrict this to CAP_SYS_ADMIN. Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1249896452.17467.75.camel@twins> Signed-off-by: Ingo Molnar commit a044560c3a1f0ad75ce685c1ed7604820b9ed319 Author: Peter Zijlstra Date: Mon Aug 10 11:16:52 2009 +0200 perf_counter: Correct PERF_SAMPLE_RAW output PERF_SAMPLE_* output switches should unconditionally output the correct format, as they are the only way to unambiguously parse the PERF_EVENT_SAMPLE data. Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1249896447.17467.74.camel@twins> Signed-off-by: Ingo Molnar commit beda2c7ea2c15ed01eef00a997d2b0496c3a502d Author: Darren Hart Date: Sun Aug 9 15:34:39 2009 -0700 futex: Update futex_q lock_ptr on requeue proxy lock futex_requeue() can acquire the lock on behalf of a waiter early on or during the requeue loop if it is uncontended or in the event of a lock steal or owner died. On wakeup, the waiter (in futex_wait_requeue_pi()) cleans up the pi_state owner using the lock_ptr to protect against concurrent access to the pi_state. The pi_state is hung off futex_q's on the requeue target futex hash bucket so the lock_ptr needs to be updated accordingly. The problem manifested by triggering the WARN_ON in lookup_pi_state() about the pid != pi_state->owner->pid. With this patch, the pi_state is properly guarded against concurrent access via the requeue target hb lock. The astute reviewer may notice that there is a window of time between when futex_requeue() unlocks the hb locks and when futex_wait_requeue_pi() will acquire hb2->lock. During this time the pi_state and uval are not in sync with the underlying rtmutex owner (but the uval does indicate there are waiters, so no atomic changes will occur in userspace). However, this is not a problem. Should a contending thread enter lookup_pi_state() and acquire hb2->lock before the ownership is fixed up, it will find the pi_state hung off a waiter's (possibly the pending owner's) futex_q and block on the rtmutex. Once futex_wait_requeue_pi() fixes up the owner, it will also move the pi_state from the old owner's task->pi_state_list to its own. v3: Fix plist lock name for application to mainline (rather than -rt) Compile tested against tip/v2.6.31-rc5. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Eric Dumazet Cc: Dinakar Guniguntala Cc: John Stultz LKML-Reference: <4A7F4EFF.6090903@us.ibm.com> Signed-off-by: Ingo Molnar commit b2f2e8fee3d62f621e795f25b2fc0f51bbdb4af9 Author: Benjamin Herrenschmidt Date: Mon Aug 10 16:36:38 2009 +1000 powerpc/dma: pci_set_dma_mask() shouldn't fail if mask fits in RAM On an iMac G5, the b43 driver is failing to initialise because trying to set the dma mask to 30-bit fails. Even though there's only 512MiB of RAM in the machine anyway: https://bugzilla.redhat.com/show_bug.cgi?id=514787 We should probably let it succeed if the available RAM in the system doesn't exceed the requested limit. Signed-off-by: David Woodhouse Signed-off-by: Benjamin Herrenschmidt commit 973507cb8610d4c84f090d5f1f0ca54fa0559d27 Author: roel kluin Date: Sat Aug 8 23:54:21 2009 +0000 mlx4_en: Fix read buffer overflow in mlx4_en_complete_rx_desc() If the length is less or equal to frag_prefix_size in the first iteration we write skb_frags_rx[-1] and read from priv->frag_info[-1] Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit be12159b24c532b4b48bdec5a543336438faa132 Author: roel kluin Date: Sun Aug 9 04:00:25 2009 +0000 zorro8390: Fix read buffer overflow in zorro8390_init_one() Prevent read from cards[-1] when no card was found. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 5e33b719c8fcccfedc1d25167826a0f93fe6c5a1 Author: roel kluin Date: Fri Aug 7 03:24:27 2009 +0000 pcnet32: Read buffer overflow An `options[cards_found]' that equals `sizeof(options_mapping)' is already beyond the array. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 418372b0ab7a3bbcc59d71e8e4d322ef18263dab Author: Rafael Laufer Date: Fri Aug 7 05:17:17 2009 +0000 sctp: fix missing destroy of percpu counter variable in sctp_proc_exit() Commit 1748376b6626acf59c24e9592ac67b3fe2a0e026, net: Use a percpu_counter for sockets_allocated added percpu_counter function calls to sctp_proc_init code path, but forgot to add them to sctp_proc_exit(). This resulted in a following Ooops when performing this test # modprobe sctp # rmmod -f sctp # modprobe sctp [ 573.862512] BUG: unable to handle kernel paging request at f8214a24 [ 573.862518] IP: [] __percpu_counter_init+0x3f/0x70 [ 573.862530] *pde = 37010067 *pte = 00000000 [ 573.862534] Oops: 0002 [#1] SMP [ 573.862537] last sysfs file: /sys/module/libcrc32c/initstate [ 573.862540] Modules linked in: sctp(+) crc32c libcrc32c binfmt_misc bridge stp bnep lp snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss arc4 joydev snd_pcm ecb pcmcia snd_seq_dummy snd_seq_oss iwlagn iwlcore snd_seq_midi snd_rawmidi snd_seq_midi_event yenta_socket rsrc_nonstatic thinkpad_acpi snd_seq snd_timer snd_seq_device mac80211 psmouse sdhci_pci sdhci nvidia(P) ppdev video snd soundcore serio_raw pcspkr iTCO_wdt iTCO_vendor_support led_class ricoh_mmc pcmcia_core intel_agp nvram agpgart usbhid parport_pc parport output snd_page_alloc cfg80211 btusb ohci1394 ieee1394 e1000e [last unloaded: sctp] [ 573.862589] [ 573.862593] Pid: 5373, comm: modprobe Tainted: P R (2.6.31-rc3 #6) 7663B15 [ 573.862596] EIP: 0060:[] EFLAGS: 00010286 CPU: 1 [ 573.862599] EIP is at __percpu_counter_init+0x3f/0x70 [ 573.862602] EAX: f8214a20 EBX: f80faa14 ECX: c48c0000 EDX: f80faa20 [ 573.862604] ESI: f80a7000 EDI: 00000000 EBP: f69d5ef0 ESP: f69d5eec [ 573.862606] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 573.862610] Process modprobe (pid: 5373, ti=f69d4000 task=c2130c70 task.ti=f69d4000) [ 573.862612] Stack: [ 573.862613] 00000000 f69d5f18 f80a70a8 f80fa9fc 00000000 fffffffc f69d5f30 c018e2d4 [ 573.862619] <0> 00000000 f80a7000 00000000 f69d5f88 c010112b 00000000 c07029c0 fffffffb [ 573.862626] <0> 00000000 f69d5f38 c018f83f f69d5f54 c0557cad f80fa860 00000001 c07010c0 [ 573.862634] Call Trace: [ 573.862644] [] ? sctp_init+0xa8/0x7d4 [sctp] [ 573.862650] [] ? marker_update_probe_range+0x184/0x260 [ 573.862659] [] ? sctp_init+0x0/0x7d4 [sctp] [ 573.862662] [] ? do_one_initcall+0x2b/0x160 [ 573.862666] [] ? tracepoint_module_notify+0x2f/0x40 [ 573.862671] [] ? notifier_call_chain+0x2d/0x70 [ 573.862678] [] ? __blocking_notifier_call_chain+0x4d/0x60 [ 573.862682] [] ? sys_init_module+0xb1/0x1f0 [ 573.862686] [] ? sysenter_do_call+0x12/0x28 [ 573.862688] Code: 89 48 08 b8 04 00 00 00 e8 df aa ec ff ba f4 ff ff ff 85 c0 89 43 14 74 31 b8 b0 18 71 c0 e8 19 b9 24 00 a1 c4 18 71 c0 8d 53 0c <89> 50 04 89 43 0c b8 b0 18 71 c0 c7 43 10 c4 18 71 c0 89 15 c4 [ 573.862725] EIP: [] __percpu_counter_init+0x3f/0x70 SS:ESP 0068:f69d5eec [ 573.862730] CR2: 00000000f8214a24 [ 573.862734] ---[ end trace 39c4e0b55e7cf54d ]--- Signed-off-by: Rafael Laufer Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 018d21ed80736eab21fabf45edbd74600a1f8330 Author: Joe Perches Date: Fri Aug 7 06:43:01 2009 +0000 MAINTAINERS: additional NETWORKING [GENERAL] and NETWORKING DRIVERS patterns Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 75c4885924f01aed1f887886a49dfa89960de240 Author: Yong Zhang Date: Fri Aug 7 16:36:52 2009 +0000 gianfar: keep vlan related state when restart If vlan has been enabled. ifdown followed by ifup will lost hardware related state. Also remove duplicated operation in gfar_vlan_rx_register(). Signed-off-by: Yong Zhang Acked-by: Dai Haruki Signed-off-by: David S. Miller commit 148675a7b2061b5a5eb194530b7c4d8de1f2887e Author: Bruce Allan Date: Fri Aug 7 07:41:56 2009 +0000 e1000e: fix potential NVM corruption on ICH9 with 8K bank size The bank offset was being incorrectly calculated on ICH9 parts with a bank size of 8K (instead of the more common 4K bank) which would cause any NVM writes to be done on the wrong address after switching from bank 1 to bank 0. Additionally, assume we are meant to use bank 0 if a valid bank is not detected, and remove the unnecessary acquisition of the SW/FW/HW semaphore when writing to the shadow ram version of the NVM image. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 373a88d78be540c1331ea5adcb76610dddcb008b Author: Bruce Allan Date: Fri Aug 7 07:41:37 2009 +0000 e1000e: fix acquisition of SW/FW/HW semaphore for ICHx parts For ICHx parts, write the EXTCNF_CTRL.SWFLAG bit once when trying to acquire the SW/FW/HW semaphore instead of multiple times to prevent the hardware from having problems (especially for systems with manageability enabled), and extend the timeout for the hardware to set the SWFLAG bit. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6e455b897bb6be3a4c0c6578f679e83d399e5b92 Author: Yi Zou Date: Thu Aug 6 13:05:44 2009 +0000 ixgbe: Disable packet split only on FCoE queues in 82599 For 82599, packet split has to be disabled for FCoE direct data placement. However, this is only required on received queues allocated for FCoE. This patch adds a per ring flags to indicate if packet split is disabled on a per queue basis, particularly for FCoE, as packet split must be disabled for large receive using direct data placement (DDP). Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a6616b42fbc39c1ccc2373996f1441ce7707ea93 Author: Yi Zou Date: Thu Aug 6 13:05:23 2009 +0000 ixgbe: Pass rx_ring directly in ixgbe_configure_srrctl() Instead of passing the register index of the corresponding rx_ring and find the way back to get to corresponding rx_ring in ixgbe_configure_srrctl(), simplify the function ixgbe_configure_srrctl() by passing the rx_ring into it. Then the register index for that rx_ring is already available from rx_ring->reg_idx. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 876bfd4d0f18cd1f698249870c7e7fb944de1c26 Author: Herbert Xu Date: Thu Aug 6 14:22:44 2009 +0000 tun: Extend RTNL lock coverage over whole ioctl As it is, parts of the ioctl runs under the RTNL and parts of it do not. The unlocked section is still protected by the BKL, but there can be subtle races. For example, Eric Biederman and Paul Moore observed that if two threads tried to create two tun devices on the same file descriptor, then unexpected results may occur. As there isn't anything in the ioctl that is expected to sleep indefinitely, we can prevent this from occurring by extending the RTNL lock coverage. This also allows to get rid of the BKL. Finally, I changed tun_get_iff to take a tun device in order to avoid calling tun_put which would dead-lock as it also tries to take the RTNL lock. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9555b31e8c29d2000e1e1f569f6f242ebd596e47 Author: Greg Ungerer Date: Thu Aug 6 17:58:18 2009 +0000 fec: fix FEC driver packet transmission breakage Commit f0b3fbeae11a526c3d308b691684589ee37c359b ("FEC Buffer rework") breaks transmission of packets where the skb data buffer is not memory aligned according to FEC_ALIGNMENT. It incorrectly passes to dma_sync_single() the buffer address directly from the skb, instead of the address calculated for use (which may be the skb address or one of the bounce buffers). It seems there is no use converting the cpu address of the buffer to a physical either, since dma_map_single() expects the cpu address and will return the dma address to use in the descriptor. So remove the use of __pa() on the buffer address as well. This patch is against 2.6.30-rc5. This breakage is a regression over 2.6.30, which does not have this problem. Signed-off-by: Greg Ungerer Signed-off-by: David S. Miller commit e84b90ae5eb3c112d1f208964df1d8156a538289 Author: Eric Dumazet Date: Thu Aug 6 20:27:04 2009 +0000 can: Fix raw_getname() leak raw_getname() can leak 10 bytes of kernel memory to user (two bytes hole between can_family and can_ifindex, 8 bytes at the end of sockaddr_can structure) Signed-off-by: Eric Dumazet Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit b79a79471bd31d737c939a6ddc347417047b4320 Author: Jussi Mäki Date: Thu Aug 6 21:38:14 2009 +0000 Fix xfrm hash collisions by changing __xfrm4_daddr_saddr_hash to hash addresses with addition This patch fixes hash collisions in cases where number of entries have incrementing IP source and destination addresses from single respective subnets (i.e. 192.168.0.1-172.16.0.1, 192.168.0.2-172.16.0.2, and so on.). Signed-off-by: Jussi Maki Signed-off-by: David S. Miller commit 082ba88a5e6b1425abed3fae4ad65e0e985ed081 Author: Roel Kluin Date: Thu Aug 6 13:06:56 2009 +0000 atlx: strncpy does not null terminate string strlcpy() will always null terminate the string. Signed-off-by: Roel Kluin Cc: Jay Cliburn Cc: Chris Snook Cc: Jie Yang Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5d5ceb8bdde403529ad9849f300dc80b1884550f Author: Roel Kluin Date: Thu Aug 6 13:06:03 2009 +0000 irda: fix read buffer overflow io[i] is read before the bounds check on i, order should be reversed. Signed-off-by: Roel Kluin Cc: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cb2f33e9596632979c140c243ac1e8e994f62180 Author: Chris Snook Date: Thu Aug 6 12:19:31 2009 +0000 MAINTAINERS: update atlx contact info Update MAINTAINERS to reflect my current (non-)affiliation. Anyone hiring? Signed-off-by: Chris Snook Cc: Jay Cliburn Cc: Jie Yang Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f222e8b40f2177b1c4cac015b117744c1d3fa3e9 Merge: 819ae6a f4b9a98 Author: David S. Miller Date: Sun Aug 9 21:29:47 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 819ae6a389d4acfab9a7bb874fa1977aa464d14b Merge: 0d502d8 dd1f57e Author: David S. Miller Date: Sun Aug 9 20:47:39 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c8c00a6915a2e3d10416e8bdd3138429beb96210 Author: NeilBrown Date: Mon Aug 10 12:50:52 2009 +1000 Remove deadlock potential in md_open A recent commit: commit 449aad3e25358812c43afc60918c5ad3819488e7 introduced the possibility of an A-B/B-A deadlock between bd_mutex and reconfig_mutex. __blkdev_get holds bd_mutex while calling md_open which takes reconfig_mutex, do_md_run is always called with reconfig_mutex held, and it now takes bd_mutex in the call the revalidate_disk. This potential deadlock was not caught by lockdep due to the use of mutex_lock_interruptible_nexted which was introduced by commit d63a5a74dee87883fda6b7d170244acaac5b05e8 do avoid a warning of an impossible deadlock. It is quite possible to split reconfig_mutex in to two locks. One protects the array data structures while it is being reconfigured, the other ensures that an array is never even partially open while it is being deactivated. In particular, the second lock prevents an open from completing between the time when do_md_stop checks if there are any active opens, and the time when the array is either set read-only, or when ->pers is set to NULL. So we can be certain that no IO is in flight as the array is being destroyed. So create a new lock, open_mutex, just to ensure exclusion between 'open' and 'stop'. This avoids the deadlock and also avoids the lockdep warning mentioned in commit d63a5a74d Reported-by: "Mike Snitzer" Reported-by: "H. Peter Anvin" Signed-off-by: NeilBrown commit f4b9a988685da6386d7f9a72df3098bcc3270526 Merge: 17d11ba 32bc482 Author: Linus Torvalds Date: Sun Aug 9 14:58:34 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6 * 'for-linus' of git://git.infradead.org/ubi-2.6: UBI: compatible fallback in absense of sequence numbers UBI: fix double free on error path commit 17d11ba14990d2bbaaec9c09a200b803679a968e Merge: fb1ee45 b4a2f5e Author: Linus Torvalds Date: Sun Aug 9 14:58:21 2009 -0700 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: Avoid redelivery of edge interrupt before next edge KVM: MMU: limit rmap chain length KVM: ia64: fix build failures due to ia64/unsigned long mismatches KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc KVM: fix ack not being delivered when msi present KVM: s390: fix wait_queue handling KVM: VMX: Fix locking imbalance on emulation failure KVM: VMX: Fix locking order in handle_invalid_guest_state KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages KVM: SVM: force new asid on vcpu migration KVM: x86: verify MTRR/PAT validity KVM: PIT: fix kpit_elapsed division by zero KVM: Fix KVM_GET_MSR_INDEX_LIST commit fb1ee451e64a1c963a149aeccd9ef6a718f545e7 Merge: 2e9b11a 6cb504c Author: Linus Torvalds Date: Sun Aug 9 14:58:09 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: silence vblank warnings drm: silence pointless vblank warning. drm: When adding probed modes, preserve duplicate mode types commit 2e9b11afdbfe17a9cc6356076179b7ea11972607 Merge: 95d0ad0 17d42c1 Author: Linus Torvalds Date: Sun Aug 9 14:57:41 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: posix_cpu_timers_exit_group(): Do not use thread_group_cputimer() commit 95d0ad049cd6937634c0a75f9518f5166daabfce Merge: 413dd87 f413cdb Author: Linus Torvalds Date: Sun Aug 9 14:57:26 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix/complete ftrace event records sampling perf_counter, ftrace: Fix perf_counter integration tracing/filters: Always free pred on filter_add_subsystem_pred() failure tracing/filters: Don't use pred on alloc failure ring-buffer: Fix memleak in ring_buffer_free() tracing: Fix recordmcount.pl to handle sections with only weak functions ring-buffer: Fix advance of reader in rb_buffer_peek() tracing: do not use functions starting with .L in recordmcount.pl ring-buffer: do not disable ring buffer on oops_in_progress ring-buffer: fix check of try_to_discard result commit 413dd8768ada25adbf53284696b71de7e7844969 Merge: 713e3e1 fdb8a42 Author: Linus Torvalds Date: Sun Aug 9 14:57:09 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix buffer overflow in efi_init() x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus x86: Fix VMI && stack protector commit 713e3e1875749f341247a0c922e6ddd38fbd991c Merge: 7b2aa03 0e692a9 Author: Linus Torvalds Date: Sun Aug 9 14:56:51 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Fix typos in documentation lockdep: Fix file mode of lock_stat rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock() commit c0a8865e32c8d1a562db38e06ef31ef23282f646 Author: Frederic Weisbecker Date: Sun Aug 9 04:19:15 2009 +0200 perf tools: callchain: Fix bad rounding of minimum rate Sometimes we get callchain branches that have a rate under the limit given by the user. Say you launched: perf record -f -g -a ./hackbench 10 perf report -g fractal,10.0 And you got: 2.33% hackbench [kernel] [k] _spin_lock_irqsave | |--78.57%-- remove_wait_queue | poll_freewait | do_sys_poll | sys_poll | sysenter_dispatch | 0xf7ffa430 | 0x1ffadea3c | |--7.14%-- __up_read | up_read | do_page_fault | page_fault | 0xf7ffa430 | 0xa0df710000000a ... It is abnormal to get a 7.14% branch whereas we passed a 10% filter. The problem is that we round down the minimum threshold. This happens mostly when we have very low number of events. If the total amount of your branch is 4 and you have a subranch of 3 events, filtering to 90% will be computed like follows: limit = 4 * 0.9; The result is about 3.6, but the cast to integer will round down to 3. It means that our filter is actually of 75% We must then explicitly round up the minimum threshold. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: acme@redhat.com Cc: peterz@infradead.org Cc: efault@gmx.de LKML-Reference: <20090809024235.GA10146@nowhere> Signed-off-by: Ingo Molnar commit 183f3b0887083d36c8a25cd5e3518906415d1889 Author: Mike Galbraith Date: Sat Aug 8 14:14:15 2009 +0200 perf_counter tools: Fix libbfd detection for systems with libz dependency Due to a libz dependency in some distro's binutils package, C++ demangle support isn't compiled in despite the necessary libraries being available. Fix this by adding a -lz link test to the dependency detection rules. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1249733655.6929.5.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit c24b513337f06712b8c81eb4f1413d44591dfee7 Author: Carlos R. Mafra Date: Wed Aug 5 20:53:34 2009 +0200 perf: "Longum est iter per praecepta, breve et efficax per exempla" A few examples of how 'perf' can be used, from an e-mail by Ingo Molnar http://lkml.org/lkml/2009/8/4/346. Signed-off-by: Carlos R. Mafra Cc: Peter Zijlstra Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <20090805185334.GA4535@Pilar.aei.mpg.de> Signed-off-by: Ingo Molnar commit 3a80b4a3539696f4b0574876326860323035a302 Author: Peter Zijlstra Date: Fri Aug 7 19:49:01 2009 +0200 perf_counter: Fix a race on perf_counter_ctx While extending perfcounters with BTS hw-tracing, Markus Metzger managed to trigger this warning: [ 995.557128] WARNING: at kernel/perf_counter.c:1191 __perf_counter_task_sched_out+0x48/0x6b() triggers because commit 9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 (perf_counter: Full task tracing) removed clearing of tsk->perf_counter_ctxp out from under ctx->lock which introduced a race (against perf_lock_task_context). Move it back and deal with the exit notification by explicitly passing along the former task context. Reported-by: Markus T Metzger Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1249667341.17467.5.camel@twins> Signed-off-by: Ingo Molnar commit 3a43ce68ae1758fa6a839386025ef45acb6baa22 Author: Frederic Weisbecker Date: Sat Aug 8 04:26:37 2009 +0200 perf_counter: Fix tracepoint sampling to be part of generic sampling Based on Peter's comments, make tracepoint sampling generic just like all the other sampling bits are. This is a rename with no code changes: - PERF_SAMPLE_TP_RECORD to PERF_SAMPLE_RAW - struct perf_tracepoint_record to perf_raw_record We want the system in place that transport tracepoints raw samples events into the perf ring buffer to be generalized and usable by any type of counter. Reported-by; Peter Zijlstra Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1249698400-5441-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 10b8e3066066708f304e0fc5cfe658e05abf943d Author: Frederic Weisbecker Date: Sat Aug 8 04:26:35 2009 +0200 perf_counter: Work around gcc warning by initializing tracepoint record unconditionally Despite that the tracepoint record is always present when the PERF_SAMPLE_TP_RECORD flag is set, gcc raises a warning, thinking it might not be initialized: kernel/perf_counter.c: In function ‘perf_counter_output’: kernel/perf_counter.c:2650: warning: ‘tp’ may be used uninitialized in this function Then, initialize it to NULL and always check if it's not NULL before dereference it. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1249698400-5441-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 25446036cbfc2c89faacdb4fb4603943d2197dc6 Author: Frederic Weisbecker Date: Sat Aug 8 02:16:25 2009 +0200 perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode When we filter the callchains below a given percentage, we ignore them and the end result only shows entries that have an upper percentage than the filter threshold. It seems to users then that we have an imbalance in the percentage, as if the sum inside a profiled branch doesn't reach 100%. Since in the past there have been real perf report bugs that showed the same sypmtom, it would be nice to assure the user that the data is perfect and trustable and it all sums up to 100.00%. So fix this by displaying the remaining hits that have been filtered but without more detail than their amount in each branches. Example while filtering below 50%: 7.73% [k] delay_tsc | |--98.22%-- __const_udelay | | | |--86.37%-- ath5k_hw_register_timeout | | ath5k_hw_noise_floor_calibration | | ath5k_hw_reset | | ath5k_reset | | ath5k_config | | ieee80211_hw_config | | | | | |--88.53%-- ieee80211_scan_work | | | worker_thread | | | kthread | | | child_rip | | --11.47%-- [...] | --13.63%-- [...] --1.78%-- [...] Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1249690585-9145-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b1a88349c37624755b28ac3b3152b48f52c1f487 Author: Frederic Weisbecker Date: Sat Aug 8 02:16:24 2009 +0200 perf tools: callchain: Fix 'perf report' display to be callchain by default If we recorded with -g option to record the callchain, right now we require a -g option to perf report as well - and people reported this as unnecessary complication: the user already specified -g once, no need to require it a second time. So if the recording includes call-chains, display the callchain by default from perf report. ( The user can override this default using "-g none" option from perf report. ) Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1249690585-9145-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b0efe213f84f7fd5ccfe07053e3d9fb827b7c188 Author: Frederic Weisbecker Date: Sat Aug 8 02:16:23 2009 +0200 perf tools: callchain: Fix spurious 'perf report' warnings: ignore empty callchains When the callchain tree comes to insert an empty backtrace, it raises a spurious warning about the fact we are inserting an empty. This is spurious because the radix tree assumes it did something wrong to reach this state. But it didn't, we just met an empty callchain that has to be ignored. This happens occasionally with certain types of call-chain recordings. If it happens it's a big nuisance as perf report output starts with thousands of warning lines. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1249690585-9145-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 266e0e219888420a1a7cafc82e82891cf7b5a979 Author: Pierre Habouzit Date: Fri Aug 7 14:16:01 2009 +0200 perf record: Fix the -A UI for empty or non-existent perf.data 1. Ignore the -A argument if there is no perf.data file 2. Treat an empty file like a non existent file. Else, perf will try to read the perf.data header, and fail with an error. Treating an empty file like a non-existent file makes sense, since an interupted (as in SIGKILLed) perf could leave such files around, and you don't want to annoy the user with errors for files with no data in it. Signed-off-by: Pierre Habouzit Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 7eac7e9e726c1b136bd7e0ad6671ce315f48bb18 Author: Pierre Habouzit Date: Fri Aug 7 14:16:00 2009 +0200 perf util: Fix do_read() to fail on EOF instead of busy-looping While toying with perf, I've noticed that perf record can easily enter a busy loop when doing something as silly as: $ perf record -A ls Yeah, do_read here really wants to read a known size, not being able to should die(), not busy-loop ;) That was the cause for the bug. Signed-off-by: Pierre Habouzit Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit ae07b63f4b6728e1f98aa5c5416cfc1280f59f51 Author: Peter Zijlstra Date: Thu Aug 6 16:48:54 2009 +0200 perf list: Fix the output to not include tracepoints without an id Stop perf list from displaying tracepoints without an id file, those are special tracepoints that are not interfaced to perfcounters so listing them is erroneous and passing them as events will produce no output. Signed-off-by: Peter Zijlstra Acked-by: Jason Baron Cc: Steven Rostedt Cc: Chris Mason Signed-off-by: Ingo Molnar commit f36a1a133a947973efb8e6a1fbdcc23e4a011437 Author: Paul Mackerras Date: Fri Aug 7 16:59:45 2009 +1000 perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support If we have the powerpc perf_counter backend compiled in, but the cpu we are running on is one where we don't support the PMU, we currently oops in hw_perf_group_sched_in if we try to use any counters, because ppmu is NULL in that case, and we unconditionally dereference ppmu. This fixes the problem by adding a check if ppmu is NULL at the beginning of hw_perf_group_sched_in, and also at the beginning of the other functions that get called from the perf_counter core, i.e. hw_perf_disable, hw_perf_enable, and hw_perf_counter_setup. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: benh@kernel.crashing.org Signed-off-by: Ingo Molnar commit b26bc5a7f81474937e427b0c855eabee5ad56f89 Author: Brice Goglin Date: Fri Aug 7 10:18:39 2009 +0200 perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale We want to use a coherent flag for -S/--stat across all tools, so free up -S in perf stat. Signed-off-by: Brice Goglin Cc: Peter Zijlstra Cc: paulus@samba.org Signed-off-by: Ingo Molnar commit 94cb9e385d5b4d55a5ae389baa10ad2835ea39bb Author: Arnaldo Carvalho de Melo Date: Thu Aug 6 14:43:17 2009 -0300 perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc) Used with perf report --verbose: [acme@doppio linux-2.6-tip]$ perf report -v | head -16 5.17% firefox /usr/lib64/xulrunner-1.9.1/libxul.so 0x00000000005d8eee f [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&) 2.56% firefox /lib64/libpthread-2.10.1.so 0x0000000000008e02 d [.] __pthread_mutex_lock_internal 1.94% firefox /usr/lib64/xulrunner-1.9.1/libxul.so 0x0000000000d0af8f f [.] SearchTable 1.75% firefox [kernel] 0xffffffffff60013b k [.] vread_hpet 1.63% firefox /lib64/libpthread-2.10.1.so 0x000000000000a404 d [.] __pthread_mutex_unlock 1.47% firefox /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x00000000000482ea f [.] js_Interpret 1.42% firefox /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x000000000003eda3 f [.] JS_CallTracer 1.24% firefox [kernel] 0xffffffff8102ca4a k [k] read_hpet 1.16% firefox [kernel] 0xffffffff810f3dd4 k [k] fget_light 1.11% firefox /usr/lib64/xulrunner-1.9.1/libmozjs.so 0x00000000000567ff f [.] js_TraceObject 0.98% firefox /usr/lib64/firefox-3.5.2/firefox 0x000000000000dd23 b [.] arena_ralloc [acme@doppio linux-2.6-tip]$ The new field is just after the symbol address. To help in figuring out symbol resolution bugs. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f18aec535b5ca513dd13b531730177d35175ffa Author: Peter Zijlstra Date: Thu Aug 6 19:40:28 2009 +0200 perf report: Fix per task mult-counter stat reporting Brice Goglin reported: > I can easily sort them by thread id, but I don't know how to match > my 4 events with each group of 4 lines. Also report the counter id and the time running/enabled stats (in case the counter got time-shared). Reported-by: Brice Goglin Signed-off-by: Peter Zijlstra Tested-by: Brice Goglin Signed-off-by: Ingo Molnar commit 1c222bce7dd0cb9578b4c5cd3874a74f1db497c3 Author: Peter Zijlstra Date: Thu Aug 6 20:57:41 2009 +0200 perf tools: Fix multi-counter stat bug caused by incorrect reading of perf.data file header Brice Goglin reported that only the first result from a multi-counter perf record --stat run is accurate, the rest looks bogus. A silly mistake made us re-read the first attribute for every recorded attribute. Reported-by: Brice Goglin Signed-off-by: Peter Zijlstra Tested-by: Brice Goglin Cc: paulus@samba.org Signed-off-by: Ingo Molnar commit 1953287bfe8afcbbd235bd6c42c9df06d52438dc Author: Frederic Weisbecker Date: Fri Aug 7 07:11:05 2009 +0200 perf tools: Fix call-chain cumul hit based sub-total (fractal mode) The callchain fractal mode builds each new total hits in a new branch of profiling by using the parent's hits of the current branch plus the hits of the children. This is wrong, the total hits of a branch should be made of the sum of every children hits, we must ignore the parent hits in this scope. This patch also fixes another mistake with the hit counting. Now the rates are correct. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Pekka Enberg Signed-off-by: Ingo Molnar commit 836179834833272f89098c6d1e1b89e8e69797c2 Author: Mike Galbraith Date: Tue Aug 4 10:24:41 2009 +0200 perf top: Update man page perf_counter tools: update perf top manual page to reflect current implementation. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 091bd2e993fcb1094a23e36157285b62bc87afdf Author: Mike Galbraith Date: Tue Aug 4 10:21:23 2009 +0200 perf top: Improve interactive key handling Pressing any key which is not currently mapped to functionality, based on startup command line options, displays currently mapped keys, and prompts for input. Pressing any unmapped key at the prompt returns the user to display mode with variables unchanged. eg, pressing ? etc displays currently available keys, the value of the variable associated with that key, and prompts. Pressing same again aborts input. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7b4b6658e152ed4568cfff48175d93645df081d1 Author: Peter Zijlstra Date: Wed Jul 22 09:29:32 2009 +0200 perf_counter: Fix software counters for fast moving event sources Reimplement the software counters to deal with fast moving event sources (such as tracepoints). This means being able to generate multiple overflows from a single 'event' as well as support throttling. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 46ab976443c6c566c8fe6fc72a6733a55ba9fbea Author: Mike Galbraith Date: Fri Jul 24 10:09:50 2009 +0200 perf_counter tools: Allow perf top top users to switch between weighted and individual counter display Add [w]eighted hotkey. Pressing [w] toggles between displaying weighted total of all counters, and the counter selected via [E]vent select key. ------------------------------------------------------------------------------ PerfTop: 90395 irqs/sec kernel:16.1% [cache-misses/cache-references/instructions], (all, 4 CPUs) ------------------------------------------------------------------------------ weight samples pcnt RIP kernel function ______ _______ _____ ________________ _______________ 1275408.6 10881 - 5.3% - ffffffff81146f70 : copy_page_c 553683.4 43569 - 21.3% - ffffffff81146f20 : clear_page_c 74075.0 6768 - 3.3% - ffffffff81147190 : copy_user_generic_string 40602.9 7538 - 3.7% - ffffffff81284ba2 : _spin_lock 26882.1 965 - 0.5% - ffffffff8109d280 : file_ra_state_init [w] ------------------------------------------------------------------------------ PerfTop: 91221 irqs/sec kernel:14.5% [10000Hz cache-misses], (all, 4 CPUs) ------------------------------------------------------------------------------ weight samples pcnt RIP kernel function ______ _______ _____ ________________ _______________ 47320.00 - 22.3% - ffffffff81146f20 : clear_page_c 14261.00 - 6.7% - ffffffff810992f5 : __rmqueue 11046.00 - 5.2% - ffffffff81146f70 : copy_page_c 7842.00 - 3.7% - ffffffff81284ba2 : _spin_lock 7234.00 - 3.4% - ffffffff810aa1d6 : unmap_vmas Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 923c42c19944da214d697e312a040384a0e33e78 Author: Mike Galbraith Date: Wed Jul 22 20:36:03 2009 +0200 perf_counter tools: Fix/resurrect perf top annotation in a simple interactive form perf top used to have annotation support, but it has bitrotted and removed. This patch restores that: it allows the user to select any symbol in kernel space for source level annotation on the fly, switch between event counters and alter display variables. When symbol details are being displayed, stopping annotation reverts to normal. known keys: [d] select display delay. [e] select display entries (lines). [E] select annotation event counter. [f] select normal display count filter. [F] select annotation display count filter (percentage). [qQ] quit. [s] select annotation symbol and start annotation. [S] stop annotation, revert to normal display. [z] toggle event count zeroing. Sample: ------------------------------------------------------------------------------ PerfTop: 16719 irqs/sec kernel:78.7% [cache-misses/cache-references/instructions/cycles], (all, 4 CPUs) ------------------------------------------------------------------------------ Showing cache-misses for e1000_clean_rx_irq Events Pcnt (>=3%) 0 0.0% /* adjust length to remove Ethernet CRC */ 0 0.0% if (!(adapter->flags2 & FLAG2_CRC_STRIPPING)) 0 0.0% length -= 4; 436 5.0% f039: 41 f6 84 24 5c 29 00 testb $0x1,0x295c(%r12) 0 0.0% f089: 8b 4d 84 mov -0x7c(%rbp),%ecx 0 0.0% f08c: 48 83 ef 02 sub $0x2,%rdi 0 0.0% f090: 48 83 ee 02 sub $0x2,%rsi 811 9.3% f094: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) 0 0.0% 0 0.0% while (rx_desc->status & E1000_RXD_STAT_DD) { 0 0.0% f114: 41 f6 47 0c 01 testb $0x1,0xc(%r15) 7226 82.6% f119: 0f 85 24 fe ff ff jne ef43 Available events: 0 cache-misses 1 cache-references 2 instructions 3 cycles Enter details event counter: 2 ------------------------------------------------------------------------------ PerfTop: 15035 irqs/sec kernel:79.0% [cache-misses/cache-references/instructions/cycles], (all, 4 CPUs) ------------------------------------------------------------------------------ Showing instructions for e1000_clean_rx_irq Events Pcnt (>=3%) 0 0.0% int *work_done, int work_to_do) 0 0.0% { 175 0.9% eebf: 55 push %rbp 1898 9.8% eec0: 48 89 e5 mov %rsp,%rbp 0 0.0% 0 0.0% i = rx_ring->next_to_clean; 140 0.7% ef0a: 0f b7 41 1a movzwl 0x1a(%rcx),%eax 670 3.4% ef0e: 89 45 ac mov %eax,-0x54(%rbp) 0 0.0% { 0 0.0% memcpy(skb->data + offset, from, len); 91 0.5% f07b: 49 8b b6 e8 00 00 00 mov 0xe8(%r14),%rsi 1153 5.9% f082: 48 8b b8 e8 00 00 00 mov 0xe8(%rax),%rdi 42 0.2% f089: 8b 4d 84 mov -0x7c(%rbp),%ecx 14 0.1% f08c: 48 83 ef 02 sub $0x2,%rdi 0 0.0% f090: 48 83 ee 02 sub $0x2,%rsi 1618 8.3% f094: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) 0 0.0% 0 0.0% /* return some buffers to hardware, one at a time is too slow */ 0 0.0% if (cleaned_count >= E1000_RX_BUFFER_WRITE) { 867 4.5% f0e7: 83 7d b0 0f cmpl $0xf,-0x50(%rbp) 0 0.0% 0 0.0% while (rx_desc->status & E1000_RXD_STAT_DD) { 37 0.2% f114: 41 f6 47 0c 01 testb $0x1,0xc(%r15) 4047 20.8% f119: 0f 85 24 fe ff ff jne ef43 Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75 Author: Frederic Weisbecker Date: Fri Aug 7 01:25:54 2009 +0200 perf_counter: Fix/complete ftrace event records sampling This patch implements the kernel side support for ftrace event record sampling. A new counter sampling attribute is added: PERF_SAMPLE_TP_RECORD which requests ftrace events record sampling. In this case if a PERF_TYPE_TRACEPOINT counter is active and a tracepoint fires, we emit the tracepoint binary record to the perfcounter event buffer, as a sample. Result, after setting PERF_SAMPLE_TP_RECORD attribute from perf record: perf record -f -F 1 -a -e workqueue:workqueue_execution perf report -D 0x21e18 [0x48]: event: 9 . . ... raw event: size 72 bytes . 0000: 09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff ......H........ . 0010: 0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00 ........!...... . 0020: 2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e +...........eve . 0030: 74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00 ts/1........... . 0040: e0 b1 31 81 ff ff ff ff ....... . 0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33 The raw ftrace binary record starts at offset 0020. Translation: struct trace_entry { type = 0x2b = 43; flags = 1; preempt_count = 2; pid = 0xa = 10; tgid = 0xa = 10; } thread_comm = "events/1" thread_pid = 0xa = 10; func = 0xffffffff8131b1e0 = flush_to_ldisc() What will come next? - Userspace support ('perf trace'), 'flight data recorder' mode for perf trace, etc. - The unconditional copy from the profiling callback brings some costs however if someone wants no such sampling to occur, and needs to be fixed in the future. For that we need to have an instant access to the perf counter attribute. This is a matter of a flag to add in the struct ftrace_event. - Take care of the events recursivity! Don't ever try to record a lock event for example, it seems some locking is used in the profiling fast path and lead to a tracing recursivity. That will be fixed using raw spinlock or recursivity protection. - [...] - Profit! :-) Signed-off-by: Frederic Weisbecker Cc: Li Zefan Cc: Tom Zanussi Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Steven Rostedt Cc: Paul Mackerras Cc: Pekka Enberg Cc: Gabriel Munteanu Cc: Lai Jiangshan Signed-off-by: Ingo Molnar commit 3a6593050fbd8bbcaed3a44d01c31d907315c86c Author: Peter Zijlstra Date: Tue Jul 21 17:34:57 2009 +0200 perf_counter, ftrace: Fix perf_counter integration Adds possible second part to the assign argument of TP_EVENT(). TP_perf_assign( __perf_count(foo); __perf_addr(bar); ) Which, when specified make the swcounter increment with @foo instead of the usual 1, and report @bar for PERF_SAMPLE_ADDR (data address associated with the event) when this triggers a counter overflow. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Cc: Frederic Weisbecker Cc: Jason Baron Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit e3560336be655c6791316482fe288b119f34c427 Merge: 26528e7 7b2aa03 Author: Ingo Molnar Date: Sun Aug 9 12:46:45 2009 +0200 Merge branch 'linus' into tracing/urgent Merge reason: Merge up to almost-rc6 to pick up latest perfcounters (on which we'll queue up a dependent fix) Signed-off-by: Ingo Molnar commit b4a2f5e723e4f7df46731106faf9e2405673c073 Author: Gleb Natapov Date: Sun Jul 5 18:48:11 2009 +0300 KVM: Avoid redelivery of edge interrupt before next edge The check for an edge is broken in current ioapic code. ioapic->irr is cleared on each edge interrupt by ioapic_service() and this makes old_irr != ioapic->irr condition in kvm_ioapic_set_irq() to be always true. The patch fixes the code to properly recognise edge. Some HW emulation calls set_irq() without level change. If each such call is propagated to an OS it may confuse a device driver. This is the case with keyboard device emulation and Windows XP x64 installer on SMP VM. Each keystroke produce two interrupts (down/up) one interrupt is submitted to CPU0 and another to CPU1. This confuses Windows somehow and it ignores keystrokes. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit fdb8a42742ac95606668f73481dfb2f760658fdd Author: Roel Kluin Date: Thu Aug 6 15:58:13 2009 -0700 x86: fix buffer overflow in efi_init() If the vendor name (from c16) can be longer than 100 bytes (or missing a terminating null), then the null is written past the end of vendor[]. Found with Parfait, http://research.sun.com/projects/parfait/ Signed-off-by: Roel Kluin Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin Cc: Huang Ying commit 6cb504c29b1338925c83e4430e42a51eaa43781e Author: Frans Pop Date: Sun Aug 9 12:25:29 2009 +1000 drm/i915: silence vblank warnings these errors are pretty pointless Reviewed-by: Jesse Barnes Signed-off-by: Dave Airlie commit 8d3457ec3198a569dd14dc9e3ae8b6163bcaa0b5 Author: Paul Rolland Date: Sun Aug 9 12:24:01 2009 +1000 drm: silence pointless vblank warning. Some applications/hardware combinations are triggering the message "failed to acquire vblank counter" to be issued up to 20 times a second, which makes it both useless and dangerous, as this may hide other important messages. This changes makes it only appear when people are debugging. Signed-off-by: Paul Rolland Reviewed-by: Jesse Barnes Lost-twice-by: Dave Airlie Signed-off-by: Dave Airlie commit 38d5487db7f289be1d56ac7df704ee49ed3213b9 Author: Keith Packard Date: Mon Jul 20 14:49:17 2009 -0700 drm: When adding probed modes, preserve duplicate mode types The code which takes probed modes and adds them to a connector eliminates duplicate modes by comparing them using drm_mode_equal. That function doesn't consider the type bits, which means that any modes which differ only in the type field will be lost. One of the bits in the mode->type field is the DRM_MODE_TYPE_PREFERRED bit. If the mode with that bit is lost, then higher level code will not know which mode to select, causing a random mode to be used instead. This patch simply merges the two mode type bits together; that seems reasonable to me, but perhaps only a subset of the bits should be used? None of these can be user defined as they all come from looking at just the hardware. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit 17d42c1c497aa54952b9e58c1502a46f0df40315 Author: Stanislaw Gruszka Date: Thu Aug 6 16:03:30 2009 -0700 posix_cpu_timers_exit_group(): Do not use thread_group_cputimer() When the process exits we don't have to run new cputimer nor use running one (as it not accounts when tsk->exit_state != 0) to get process CPU times. As there is only one thread we can just use CPU times fields from task and signal structs. Signed-off-by: Stanislaw Gruszka Cc: Peter Zijlstra Cc: Roland McGrath Cc: Vitaly Mayatskikh Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 26528e773ecc74fb1b61b7275f86f761cbb340ec Author: Tom Zanussi Date: Sat Aug 8 10:49:53 2009 -0500 tracing/filters: Always free pred on filter_add_subsystem_pred() failure If filter_add_subsystem_pred() fails due to ENOSPC or ENOMEM, the pred doesn't get freed, while as a side effect it does for other errors. Make it so the caller always frees the pred for any error. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <1249746593.6453.32.camel@tropicana> Signed-off-by: Ingo Molnar commit 96b2de313b1e0e02aea80ee47df6a2b5cbdf8e13 Author: Tom Zanussi Date: Sat Aug 8 10:49:09 2009 -0500 tracing/filters: Don't use pred on alloc failure Dan Carpenter sent me a fix to prevent pred from being used if it couldn't be allocated. I noticed the same problem also existed for the create_pred() case and added a fix for that. Reported-by: Dan Carpenter Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <1249746549.6453.29.camel@tropicana> Signed-off-by: Ingo Molnar commit 498cdbfbcf98e0d2c90a26e6a02a82f043876e48 Author: Ozan Çağlayan Date: Tue Aug 4 19:39:31 2009 +0300 x86: Add quirk to make Apple MacBookPro5,1 use reboot=pci MacBookPro5,1 is not able to reboot unless reboot=pci is set. This patch forces it through a DMI quirk specific to this device. Signed-off-by: Ozan Çağlayan LKML-Reference: <1249403971-6543-1-git-send-email-ozan@pardus.org.tr> Signed-off-by: Ingo Molnar commit ad7d6c7a0654a4bbda3e109f56af713267e96274 Author: Yinghai Lu Date: Tue Aug 4 09:01:33 2009 -0700 x86/irq: Fix move_irq_desc() for nodes without ram Don't move it if target node is -1. Signed-off-by: Yinghai Lu LKML-Reference: <4A785B5D.4070702@kernel.org> Signed-off-by: Ingo Molnar commit 087d7e56deffb611a098e7e257388a41edbeef1f Author: Yinghai Lu Date: Tue Aug 4 08:59:59 2009 -0700 x86: Fix MSI-X initialization by using online_mask for x2apic target_cpus found a system where x2apic reports an MSI-X irq initialization failure: [ 302.859446] igbvf 0000:81:10.4: enabling device (0000 -> 0002) [ 302.874369] igbvf 0000:81:10.4: using 64bit DMA mask [ 302.879023] igbvf 0000:81:10.4: using 64bit consistent DMA mask [ 302.894386] igbvf 0000:81:10.4: enabling bus mastering [ 302.898171] igbvf 0000:81:10.4: setting latency timer to 64 [ 302.914050] reserve_memtype added 0xefb08000-0xefb0c000, track uncached-minus, req uncached-minus, ret uncached-minus [ 302.933839] reserve_memtype added 0xefb28000-0xefb29000, track uncached-minus, req uncached-minus, ret uncached-minus [ 302.940367] alloc irq_desc for 265 on node 4 [ 302.956874] alloc kstat_irqs on node 4 [ 302.959452] alloc irq_2_iommu on node 0 [ 302.974328] igbvf 0000:81:10.4: irq 265 for MSI/MSI-X [ 302.977778] alloc irq_desc for 266 on node 4 [ 302.980347] alloc kstat_irqs on node 4 [ 302.995312] free_memtype request 0xefb28000-0xefb29000 [ 302.998816] igbvf 0000:81:10.4: Failed to initialize MSI-X interrupts. ... it turns out that when trying to enable MSI-X, __assign_irq_vector(new, cfg_new, apic->target_cpus()) can not get vector because for x2apic target-cpus returns cpumask_of(0) Update that to online_mask like xapic. Signed-off-by: Yinghai Lu Acked-by: Suresh Siddha LKML-Reference: <4A785AFF.3050902@kernel.org> Signed-off-by: Ingo Molnar commit 7b2aa037e878c939676675969983284a02958ae3 Merge: 710ad84 cf7fdd5 Author: Linus Torvalds Date: Fri Aug 7 19:06:36 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: fix oops on disconnect in cdc-acm USB: storage: include Prolific Technology USB drive in unusual_devs list USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client USB: ftdi_sio: add vendor and product id for Bayer glucose meter serial converter cable USB: EHCI: fix counting of transaction error retries USB: EHCI: fix two new bugs related to Clear-TT-Buffer USB: usbfs: fix -ENOENT error code to be -ENODEV USB: musb: fix the nop registration for OMAP3EVM USB: devio: Properly do access_ok() checks USB: pl2303: New vendor and product id commit 710ad849ae76bc2f938a885e928b90cdbbe61a6e Merge: b32b8e6 749d00d Author: Linus Torvalds Date: Fri Aug 7 19:06:13 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: rspiusb: Fix buffer overflow staging: add dependencies on PCI for drivers that require it Staging: rtl8192su: fix build error Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin commit b32b8e645ea764620ececc0c9a66a7fc08536d4d Merge: d6a0967 819e006 Author: Linus Torvalds Date: Fri Aug 7 19:03:59 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (22 commits) drm/i915: Fix read outside array bounds in restoring the SWF10 range. drm/i915: Use our own workqueue to avoid wedging the system along with the GPU. drm/i915: Add support for dual-channel LVDS on 8xx. drm/i915: Return disconnected for SDVO DVI when there's no digital EDID. drm/i915: Choose real sdvo output according to result from detection drm/i915: Set preferred mode for integrated TV according to TV format drm/i915: fix 845G FIFO size & burst length drm/i915: fix VGA detect on IGDNG drm/i915: Add eDP support on IGDNG mobile chip drm/i915: enable DisplayPort support on IGDNG drm/i915: Fix channel ending action for DP aux transaction drm/i915: fix issue in display pipe setup on IGDNG drm/i915: disable VGA plane reliably drm/I915: Fix offset to DVO timings in LVDS data drm/i915: hdmi detection according by reading edid drm/i915: correct self-refresh calculation in "everything off" case drm/i915: handle FIFO oversubsription correctly drm/i915: FIFO watermark calculation fixes drm/i915: ignore lvds on AOpen Mini PC MP-915 drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware ... commit d6a0967c90dced0a8baf502e6f3d5862fd5a5805 Merge: fb38500 ceab36e Author: Linus Torvalds Date: Fri Aug 7 19:03:09 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY Btrfs: correct error-handling zlib error handling Btrfs: remove superfluous NULL pointer check in btrfs_rename() Btrfs: make sure the async caching thread advances the key Btrfs: fix btrfs_remove_from_free_space corner case commit fb385003c4ac9634cf2448f6ded81e5fd1190c1f Merge: 36b8659 b36ec04 Author: Linus Torvalds Date: Fri Aug 7 18:53:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races * git://git.kernel.org/pub/scm/linux/kernel/git/hch/xfs-icache-races: xfs: fix freeing of inodes not yet added to the inode cache vfs: add __destroy_inode vfs: fix inode_init_always calling convention commit 749d00dbf154fc2f9ac59df669205039de0d5b45 Author: Roel Kluin Date: Fri Aug 7 21:00:10 2009 +0200 Staging: rspiusb: Fix buffer overflow usb_buffer_map_sg() may return -1. This will result in a read from pdx->PixelUrb[frameInfo][-1] Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 5fb4d2525b6dcffbb8bc26a7dfc7ed17ad323a06 Author: Jeff Mahoney Date: Fri Aug 7 16:12:03 2009 -0700 staging: add dependencies on PCI for drivers that require it This patch adds PCI dependencies to staging drivers that require it. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit ce9c010c5c39df05ed81a06aba492c45ee0c6f19 Author: Greg Kroah-Hartman Date: Tue Aug 4 16:53:36 2009 -0700 Staging: rtl8192su: fix build error This fixes a build error when selecting the rtl8192su driver as a module. This has been reported by me, and the opensuse kernel developer team, and I finally tracked it down. Signed-off-by: Greg Kroah-Hartman commit 2c63abf9e8a51dec886da482dfd8ae752581a61c Author: Mike Galbraith Date: Fri Jul 31 07:14:04 2009 +0200 Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API Staging: rt2870: Revert d44ca7 Removal of kernel_thread() API The sanity check this patch introduced triggers on shutdown, apparently due to threads having already exited by the time BUG_ON() is reached. Signed-off-by: Mike Galbraith Cc: Peter Teoh Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4d2da07bc876fc5bc455e0721df388a3db7e4ba5 Author: Jakob Gruber Date: Thu Jul 30 20:37:36 2009 +0200 Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin Linksys WUSB100, Belkin F5D8053 N, Planex Communications unknown model. Signed-off-by: Jakob Gruber Signed-off-by: Greg Kroah-Hartman commit cf7fdd57f978d40ceb9a0f58a25f5cf9c84d6f33 Author: Oliver Neukum Date: Tue Aug 4 23:52:09 2009 +0200 USB: fix oops on disconnect in cdc-acm This patch fixes an oops caused when during an unplug a device's table of endpoints is zeroed before the driver is notified. A pointer to the endpoint must be cached. this fixes a regression caused by commit 5186ffee2320942c3dc9745f7930e0eb15329ca6 Therefore it should go into 2.6.31 Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c15e3ca1d822abba78c00b1ffc3e7b382a50396e Author: Rogerio Brito Date: Thu Aug 6 15:20:19 2009 -0700 USB: storage: include Prolific Technology USB drive in unusual_devs list Add a quirk entry for the Leading Driver UD-11 usb flash drive. As Alan Stern told me, the device doesn't deal correctly with the locking media feature of the device, and this patch incorporates it. Compiled, tested, working. Signed-off-by: Rogerio Brito Cc: Phil Dibowitz Cc: Alan Stern Cc: Robert Hancock Cc: stable Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 50d0678e2026c18e4147f0b16b5853113659b82d Author: Dhaval Vasa Date: Fri Aug 7 17:26:49 2009 +0530 USB: ftdi_sio: add product_id for Marvell OpenRD Base, Client reference: http://www.open-rd.org Signed-off-by: Dhaval Vasa Cc: stable Signed-off-by: Greg Kroah-Hartman commit c47aacc67a3d26dfab9c9b8965975ed2b2010b30 Author: Marko Hänninen Date: Fri Jul 31 22:32:39 2009 +0300 USB: ftdi_sio: add vendor and product id for Bayer glucose meter serial converter cable Attached patch adds USB vendor and product IDs for Bayer's USB to serial converter cable used by Bayer blood glucose meters. It seems to be a FT232RL based device and works without any problem with ftdi_sio driver when this patch is applied. See: http://winglucofacts.com/cables/ Signed-off-by: Marko Hänninen Cc: stable Signed-off-by: Greg Kroah-Hartman commit ef4638f955f2c4a667c8af20769d03f5ed3781ca Author: Alan Stern Date: Fri Jul 31 10:41:40 2009 -0400 USB: EHCI: fix counting of transaction error retries This patch (as1274) simplifies the counting of transaction-error retries. Now we will count up from 0 to QH_XACTERR_MAX instead of down from QH_XACTERR_MAX to 0. The patch also fixes a small bug: qh->xacterr was not getting initialized for interrupt endpoints. Signed-off-by: Alan Stern Tested-by: Matthijs Kooijman Signed-off-by: Greg Kroah-Hartman commit 7a0f0d951273eee889c2441846842348ebc00a2a Author: Alan Stern Date: Fri Jul 31 10:40:22 2009 -0400 USB: EHCI: fix two new bugs related to Clear-TT-Buffer This patch (as1273) fixes two(!) bugs introduced by the new Clear-TT-Buffer implementation in ehci-hcd. It is now possible for an idle QH to have some URBs on its queue -- this will happen if a Clear-TT-Buffer is pending for the QH's endpoint. Consequently we should not issue a warning when someone tries to unlink an URB from an idle QH; instead we should process the request immediately. The refcounts for QHs could get messed up, because submit_async() would increment the refcount when calling qh_link_async() and qh_link_async() would then refuse to link the QH into the schedule if a Clear-TT-Buffer was pending. Instead we should increment the refcount only when the QH actually is added to the schedule. The current code tries to be clever by leaving the refcount alone if an unlink is immediately followed by a relink; the patch changes this to an unconditional decrement and increment (although they occur in the opposite order). Signed-off-by: Alan Stern CC: David Brownell Tested-by: Manuel Lauss Tested-by: Matthijs Kooijman Signed-off-by: Greg Kroah-Hartman commit 01105a246345f011fde64d24a601090b646e9e4c Author: Alan Stern Date: Thu Jul 30 15:28:14 2009 -0400 USB: usbfs: fix -ENOENT error code to be -ENODEV This patch (as1272) changes the error code returned when an open call for a USB device node fails to locate the corresponding device. The appropriate error code is -ENODEV, not -ENOENT. Signed-off-by: Alan Stern CC: Kay Sievers Cc: stable Signed-off-by: Greg Kroah-Hartman commit e8e2ff462dd92693f29eb848f42d3eb720390d59 Author: Gupta, Ajay Kumar Date: Wed Jul 29 11:58:57 2009 +0530 USB: musb: fix the nop registration for OMAP3EVM OMAP3EVM uses ISP1504 phy which doesn't require any programming and thus has to use NOP otg transceiver. Cleanups being done: - Remove unwanted code in usb-musb.c file - Register NOP in OMAP3EVM board file using usb_nop_xceiv_register(). - Select NOP_USB_XCEIV for OMAP3EVM boards. - Don't enable TWL4030_USB in omap3_evm_defconfig Signed-off-by: Ajay Kumar Gupta Signed-off-by: Eino-Ville Talvala Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 18753ebc8a98efe0e8ff6167afb31cef220c8e50 Author: Michael Buesch Date: Wed Jul 29 11:39:03 2009 +0200 USB: devio: Properly do access_ok() checks access_ok() checks must be done on every part of the userspace structure that is accessed. If access_ok() on one part of the struct succeeded, it does not imply it will succeed on other parts of the struct. (Does depend on the architecture implementation of access_ok()). This changes the __get_user() users to first check access_ok() on the data structure. Signed-off-by: Michael Buesch Cc: stable Cc: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 49276560c9004fce24c42e3c0ad75f34d956fc63 Author: Khanh-Dang Nguyen Thu Lam Date: Tue Jul 28 19:41:17 2009 +0200 USB: pl2303: New vendor and product id I am submitting a patch for the pl2303 driver. This patch adds support for the "Sony QN-3USB" cable (vendor=0x054c, product=0x0437). This USB cable is a so-called data cable used to connect a Sony mobile phone to a computer. Supported models are Sony CMD-J5, J6, J7, J16, J26, J70 and Z7. I have used this patch with my Sony CMD-J70 for several days and I haven't encountered any kernel/hardware issue. From: Khanh-Dang Nguyen Thu Lam Signed-off-by: Greg Kroah-Hartman commit 8a57a9dda760ea7845390f1cd36f3eb2a49391d8 Author: Roel Kluin Date: Thu Aug 6 16:07:50 2009 -0700 ocfs2: keep index within status_map[] Do not exceed array status_map[] Signed-off-by: Roel Kluin Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Joel Becker commit e7432675f8ca868a4af365759a8d4c3779a3d922 Author: Sunil Mushran Date: Thu Aug 6 16:12:58 2009 -0700 ocfs2: Initialize the cluster we're writing to in a non-sparse extend In a non-sparse extend, we correctly allocate (and zero) the clusters between the old_i_size and pos, but we don't zero the portions of the cluster we're writing to outside of pos<->len. It handles clustersize > pagesize and blocksize < pagesize. [Cleaned up by Joel Becker.] Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit ceab36edd3d3ad3ffd01d41d6d1e05ac1ff8357e Author: Yan Zheng Date: Fri Aug 7 13:51:33 2009 -0400 Btrfs: fix balancing oops when invalidate_inode_pages2 returns EBUSY invalidate_inode_pages2_range may return -EBUSY occasionally which results Oops. This patch fixes the issue by moving invalidate_inode_pages2_range into a loop and keeping calling it until the return value is not -EBUSY. The EBUSY return is temporary, and can happen when the btrfs release page function is unable to release a page because the EXTENT_LOCK bit is set. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 60f2e8f8a07331097a57ec4abcdc680405579377 Author: Julia Lawall Date: Fri Aug 7 13:51:33 2009 -0400 Btrfs: correct error-handling zlib error handling find_zlib_workspace returns an ERR_PTR value in an error case instead of NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @match exists@ expression x, E; statement S1, S2; @@ x = find_zlib_workspace(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Chris Mason commit 4baf8c9201e88546918cbfa61ea8062c38bc1644 Author: Bartlomiej Zolnierkiewicz Date: Fri Aug 7 13:47:08 2009 -0400 Btrfs: remove superfluous NULL pointer check in btrfs_rename() This takes care of the following entry from Dan's list: fs/btrfs/inode.c +4788 btrfs_rename(36) warning: variable derefenced before check 'old_inode' Reported-by: Dan Carpenter Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Chris Mason commit 36b8659f9316b24c514a7c8290596b2382b91dd2 Merge: cba8784 c0c60c4 Author: Linus Torvalds Date: Fri Aug 7 10:46:51 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits) ARM: 5639/1: arm: clkdev.c should include ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers ARM: S3C64XX: serial: Fix section mismatch warning ARM: S3C24XX: serial: Fix section mismatch warnings ARM: S3C: PWM fix for low duty cycle ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization ARM: 5627/1: Fix restoring of lr at the end of mcount ARM: 5624/1: Document cache aliasing region S3C64XX: Fix ARMCLK configuration S3C64XX: Fix get_rate() for ARMCLK S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip mx3 defconfig update mx27 defconfig update ARM: 5623/1: Treo680: ir shutdown typo fix ARM: includecheck fix: plat-stmp3xxx/pinmux.c ARM: includecheck fix: plat-s3c64xx/pm.c ARM: includecheck fix: mach-omap2/mcbsp.c ARM: includecheck fix: mach-omap1/mcbsp.c ARM: includecheck fix: board-sffsdr.c ... commit cba8784ae0a9f7d0f1f87e0607e7ae66fc45666c Merge: 9cf9d28 0bf52b9 Author: Linus Torvalds Date: Fri Aug 7 10:46:27 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: Fix spinlock use in alloc_netdev_mq() commit 9cf9d28e9bf991af21fc4bbf33281b66843b094b Merge: ff1649f 53cb780 Author: Linus Torvalds Date: Fri Aug 7 10:46:09 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] KVM: Read buffer overflow [S390] kernel: Storing machine flags early in lowcore commit ff1649ff780fb7c0bfbf42d05ffc9b56336b9aa3 Merge: da758dd c5b1525 Author: Linus Torvalds Date: Fri Aug 7 10:44:11 2009 -0700 Merge git://git.infradead.org/~dwmw2/iommu-2.6.31 * git://git.infradead.org/~dwmw2/iommu-2.6.31: intel-iommu: Fix enabling snooping feature by mistake intel-iommu: Mask physical address to correct page size in intel_map_single() intel-iommu: Correct sglist size calculation. commit da758ddede96dd850945d3417ff75209a666ba0d Merge: 389623f 1054598 Author: Linus Torvalds Date: Fri Aug 7 10:43:07 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix double list iteration in per task precise stats perf: Auto-detect libelf perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it ftrace: Fix perf-tracepoint OOPS perf report: Add missing command line options to man page perf: Auto-detect libbfd perf report: Make --sort comm,dso,symbol the default commit 389623fef0e8b088f293c437d3b7094fe82349fd Merge: 3858612 57ca7de Author: Linus Torvalds Date: Fri Aug 7 10:42:31 2009 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: jffs2: Fix return value from jffs2_do_readpage_nolock() mtd: mtdblock: introduce mtdblks_lock mtd: remove 'SBC8240 Wind River' Device Driver Code mtd: OneNAND: OMAP2/3: free GPMC CS on module removal mtd: OneNAND: fix incorrect bufferram offset mtd: blkdevs: do not forget to get MTD devices mtd: fix the conversion from dev to mtd_info mtd: let include/linux/mtd/partitions.h stand on its own commit 385861206c21364c01dcfdda5064643ce111d517 Merge: 131f734 d82f1c3 Author: Linus Torvalds Date: Fri Aug 7 10:42:14 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: matrix_keypad - make matrix keymap size dynamic Input: wistron_btns - support Prestigio Wifi RF kill button Input: i8042 - add Asus G1S to noloop exception list commit 131f7340b4f93f9a4a8e5a65abbd352b34d0ee08 Merge: 3440625 1733292 Author: Linus Torvalds Date: Fri Aug 7 10:41:36 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: setup MC/VRAM the same way for suspend/resume drm/radeon/kms: Fix caching mode selection for GTT object commit 3440625d78711bee41a84cf29c3d8c579b522666 Author: Linus Torvalds Date: Thu Aug 6 15:09:34 2009 -0700 flat: fix uninitialized ptr with shared libs The new credentials code broke load_flat_shared_library() as it now uses an uninitialized cred pointer. Reported-by: Bernd Schmidt Tested-by: Bernd Schmidt Cc: Mike Frysinger Cc: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e5cf0ca2e9b65110ae5f094d7f0f7165cd1bbbb Author: Albin Tonnerre Date: Thu Aug 6 15:09:32 2009 -0700 lib/decompress_*: only include if STATIC is not defined These includes were added by 079effb6933f34b9b1b67b08bd4fd7fb672d16ef ("kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c") to fix the build when using kmemtrace. However this is not necessary when used to create a compressed kernel, and actually creates issues (brings a lot of things unavailable in the decompression environment), so don't include it if STATIC is defined. Signed-off-by: Albin Tonnerre Cc: Sam Ravnborg Cc: Russell King Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu Cc: Phillip Lougher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1af4315d823a2b6659c5b14bc17f7bc61878ef4 Author: Phillip Lougher Date: Thu Aug 6 15:09:31 2009 -0700 bzip2/lzma: remove nasty uncompressed size hack in pre-boot environment decompress_bunzip2 and decompress_unlzma have a nasty hack that subtracts 4 from the input length if being called in the pre-boot environment. This is a nasty hack because it relies on the fact that flush = NULL only when called from the pre-boot environment (i.e. arch/x86/boot/compressed/misc.c). initramfs.c/do_mounts_rd.c pass in a flush buffer (flush != NULL). This hack prevents the decompressors from being used with flush = NULL by other callers unless knowledge of the hack is propagated to them. This patch removes the hack by making decompress (called only from the pre-boot environment) a wrapper function that subtracts 4 from the input length before calling the decompressor. Signed-off-by: Phillip Lougher Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daeb6b6fbe27049f465c48a7d0ee5555c3b84064 Author: Phillip Lougher Date: Thu Aug 6 15:09:30 2009 -0700 bzip2/lzma/gzip: fix comments describing decompressor API Fix and improve comments in decompress/generic.h that describe the decompressor API. Also remove an unused definition, and rename INBUF_LEN in lib/decompress_inflate.c to conform to bzip2/lzma naming. Signed-off-by: Phillip Lougher Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c8a8228d0827e0d91d28527209988f672f97d28 Author: Eric Dumazet Date: Thu Aug 6 15:09:28 2009 -0700 execve: must clear current->clear_child_tid While looking at Jens Rosenboom bug report (http://lkml.org/lkml/2009/7/27/35) about strange sys_futex call done from a dying "ps" program, we found following problem. clone() syscall has special support for TID of created threads. This support includes two features. One (CLONE_CHILD_SETTID) is to set an integer into user memory with the TID value. One (CLONE_CHILD_CLEARTID) is to clear this same integer once the created thread dies. The integer location is a user provided pointer, provided at clone() time. kernel keeps this pointer value into current->clear_child_tid. At execve() time, we should make sure kernel doesnt keep this user provided pointer, as full user memory is replaced by a new one. As glibc fork() actually uses clone() syscall with CLONE_CHILD_SETTID and CLONE_CHILD_CLEARTID set, chances are high that we might corrupt user memory in forked processes. Following sequence could happen: 1) bash (or any program) starts a new process, by a fork() call that glibc maps to a clone( ... CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID ...) syscall 2) When new process starts, its current->clear_child_tid is set to a location that has a meaning only in bash (or initial program) context (&THREAD_SELF->tid) 3) This new process does the execve() syscall to start a new program. current->clear_child_tid is left unchanged (a non NULL value) 4) If this new program creates some threads, and initial thread exits, kernel will attempt to clear the integer pointed by current->clear_child_tid from mm_release() : if (tsk->clear_child_tid && !(tsk->flags & PF_SIGNALED) && atomic_read(&mm->mm_users) > 1) { u32 __user * tidptr = tsk->clear_child_tid; tsk->clear_child_tid = NULL; /* * We don't check the error code - if userspace has * not set up a proper pointer then tough luck. */ << here >> put_user(0, tidptr); sys_futex(tidptr, FUTEX_WAKE, 1, NULL, NULL, 0); } 5) OR : if new program is not multi-threaded, but spied by /proc/pid users (ps command for example), mm_users > 1, and the exiting program could corrupt 4 bytes in a persistent memory area (shm or memory mapped file) If current->clear_child_tid points to a writeable portion of memory of the new program, kernel happily and silently corrupts 4 bytes of memory, with unexpected effects. Fix is straightforward and should not break any sane program. Reported-by: Jens Rosenboom Acked-by: Linus Torvalds Signed-off-by: Eric Dumazet Signed-off-by: Oleg Nesterov Cc: Peter Zijlstra Cc: Sonny Rao Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Ulrich Drepper Cc: Oleg Nesterov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2198a64a7487aba036f71998ade8a6528070d32c Author: Julia Lawall Date: Thu Aug 6 15:07:41 2009 -0700 drivers/mmc: correct error-handling code sdhci_alloc_host returns an ERR_PTR value in an error case instead of NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @match exists@ expression x, E; statement S1, S2; @@ x = sdhci_alloc_host(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Acked-by: Anton Vorontsov Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20de03dae54e10271ffd308654dfb4a117f4789d Author: Guennadi Liakhovetski Date: Thu Aug 6 15:07:40 2009 -0700 i.MX31: fix framebuffer locking regressions Recent framebuffer locking patches first made affected systems unbootable, then the dead-lock has been fixed but as of 2.6.31-rc4 the framebuffer on mx3 machines doesn't work. Fix this. Signed-off-by: Guennadi Liakhovetski Cc: Sascha Hauer Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d8dd38a5aa0cc2490bbad9b75e77fa154e1d145 Author: OGAWA Hirofumi Date: Thu Aug 6 15:07:39 2009 -0700 vfs: mnt_want_write_file(): fix special file handling I suspect that mnt_want_write_file() may have wrong assumption. I think mnt_want_write_file() is assuming it increments ->mnt_writers if (file->f_mode & FMODE_WRITE). But, if it's special_file(), it is false? Signed-off-by: OGAWA Hirofumi Acked-by: Dave Hansen Cc: Al Viro Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69130c7cf96ea853dc5be599dd6a4b98907d39cc Author: Eric Sandeen Date: Thu Aug 6 15:07:37 2009 -0700 compat_ioctl: hook up compat handler for FIEMAP ioctl The FIEMAP_IOC_FIEMAP mapping ioctl was missing a 32-bit compat handler, which means that 32-bit suerspace on 64-bit kernels cannot use this ioctl command. The structure is nicely aligned, padded, and sized, so it is just this simple. Tested w/ 32-bit ioctl tester (from Josef) on a 64-bit kernel on ext4. Signed-off-by: Eric Sandeen Cc: Cc: Mark Lord Cc: Arnd Bergmann Cc: Josef Bacik Cc: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0035fe00f77d2b0a1a2d001f7442136d1ec5aefa Author: Johannes Weiner Date: Thu Aug 6 15:07:36 2009 -0700 fbcon: don't use vc_resize() on initialization Catalin and kmemleak spotted a leak of a VC screen buffer in vc_allocate() due to the following chain of events: vc_allocate() visual_init(init=1) vc->vc_sw->con_init(init=1) fbcon_init() vc_resize() vc->screen_buf = kmalloc() vc->screen_buf = kmalloc() The common way for the VC drivers is to set the screen dimension parameters manually in the init case and only call vc_resize() for !init - which allocates a screen buffer according to the new dimensions. fbcon instead would do vc_resize() unconditionally and afterwards set the dimensions manually (again) for !init - i.e. completely upside down. The vc_resize() allocated buffer would then get lost by vc_allocate() allocating a fresh one. Use vc_resize() only for actual resizing to close the leak. Set the dimensions manually only in initialization mode to remove the redundant setting in resize mode. The kmemleak trace from Catalin: unreferenced object 0xde158000 (size 12288): comm "Xorg", pid 1439, jiffies 4294961016 hex dump (first 32 bytes): 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 . . . . . . . . 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 . . . . . . . . backtrace: [] __save_stack_trace+0x17/0x1c [] create_object+0xcd/0x188 [] kmemleak_alloc+0x1b/0x3c [] __kmalloc+0xdb/0xe8 [] vc_do_resize+0x73/0x1e0 [] vc_resize+0x15/0x18 [] fbcon_init+0x1f9/0x2b8 [] visual_init+0x9f/0xdc [] vc_allocate+0x7f/0xfc [] con_open+0x17/0x80 [] tty_open+0x1f7/0x2e4 [] chrdev_open+0x101/0x118 [] __dentry_open+0x105/0x1cc [] nameidata_to_filp+0x2d/0x38 [] do_filp_open+0x2c1/0x54c [] do_sys_open+0x3b/0xb4 Reported-by: Catalin Marinas Signed-off-by: Johannes Weiner Tested-by: Catalin Marinas Cc: Pekka Enberg Cc: Krzysztof Helt Tested-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 521594442cc62d1c2af8436a05ab5918b7730b19 Author: Florian Tobias Schandinat Date: Thu Aug 6 15:07:34 2009 -0700 viafb: fix rmmod bug This fixes a bug caused by changing pointers (viafb_mode, viafb_mode1) assigned by module_param. It reduces driver complexity by not needlessly changing these vars as they are only read once and removing now superfluous code. On unpatched kernels loading viafb with viafb_mode or viafb_mode1 option used and afterwards unloading it results in: kernel BUG at mm/slub.c:2926! invalid opcode: 0000 [#1] PREEMPT last sysfs file: /sys/devices/virtual/block/loop0/removable Modules linked in: snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm rtl8187 snd_timer eeprom_93cx6 mmc_block snd soundcore via_sdmmc fb snd_page_alloc i2c_algo_bit i2c_viapro ehci_hcd uhci_hcd cfbcopyarea mmc_core cfbimgblt cfbfillrect video output [last unloaded: viafb] Pid: 3355, comm: rmmod Not tainted (2.6.31-rc1 #0) EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at kfree+0x80/0xda EAX: c17c2da0 EBX: dc7edbdc ECX: 0000010f EDX: 00000000 ESI: c102c700 EDI: dc7ed8fa EBP: d703ff2c ESP: d703ff20 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process rmmod (pid: 3355, ti=d703e000 task=db1412c0 task.ti=d703e000) Stack: dc7edbdc 00000014 00000016 d703ff40 c102c700 dc7f45d4 dc7f45d4 00000880 d703ff4c c103e571 00000000 d703ffac c103e751 66616976 da140062 db89ba80 00000328 d702edf8 db89ba80 d703ff9c c105d0f0 00000200 da14f898 00000014 Call Trace: [] ? destroy_params+0x1e/0x2b [] ? free_module+0xa2/0xd7 [] ? sys_delete_module+0x1ab/0x1da [] ? do_munmap+0x20a/0x225 [] ? sysenter_do_call+0x12/0x26 Code: 10 76 7a 8d 87 00 00 00 40 c1 e8 0c c1 e0 05 03 05 1c 87 41 c1 66 83 38 00 79 03 8b 40 0c 8b 10 84 d2 78 12 66 f7 c2 00 c0 75 04 <0f> 0b eb fe e8 6f 5a fe ff eb 47 8b 55 04 8b 58 0c 9c 5e fa 3b EIP: [] kfree+0x80/0xda SS:ESP 0068:d703ff20 This is caused by the current code changing the pointers assigned by module_param. During unload it tries to free the memory the pointers point at which is now part of an internal structure. The patch simply avoids changing the pointers. This is okay as they are read only once during the initialization process. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bfc44958e499af9a73f62201543b3a1f617cfeb Author: KAMEZAWA Hiroyuki Date: Thu Aug 6 15:07:33 2009 -0700 mm: make set_mempolicy(MPOL_INTERLEAV) N_HIGH_MEMORY aware At first, init_task's mems_allowed is initialized as this. init_task->mems_allowed == node_state[N_POSSIBLE] And cpuset's top_cpuset mask is initialized as this top_cpuset->mems_allowed = node_state[N_HIGH_MEMORY] Before 2.6.29: policy's mems_allowed is initialized as this. 1. update tasks->mems_allowed by its cpuset->mems_allowed. 2. policy->mems_allowed = nodes_and(tasks->mems_allowed, user's mask) Updating task's mems_allowed in reference to top_cpuset's one. cpuset's mems_allowed is aware of N_HIGH_MEMORY, always. In 2.6.30: After commit 58568d2a8215cb6f55caf2332017d7bdff954e1c ("cpuset,mm: update tasks' mems_allowed in time"), policy's mems_allowed is initialized as this. 1. policy->mems_allowd = nodes_and(task->mems_allowed, user's mask) Here, if task is in top_cpuset, task->mems_allowed is not updated from init's one. Assume user excutes command as #numactrl --interleave=all ,.... policy->mems_allowd = nodes_and(N_POSSIBLE, ALL_SET_MASK) Then, policy's mems_allowd can includes a possible node, which has no pgdat. MPOL's INTERLEAVE just scans nodemask of task->mems_allowd and access this directly. NODE_DATA(nid)->zonelist even if NODE_DATA(nid)==NULL Then, what's we need is making policy->mems_allowed be aware of N_HIGH_MEMORY. This patch does that. But to do so, extra nodemask will be on statck. Because I know cpumask has a new interface of CPUMASK_ALLOC(), I added it to node. This patch stands on old behavior. But I feel this fix itself is just a Band-Aid. But to do fundametal fix, we have to take care of memory hotplug and it takes time. (task->mems_allowd should be N_HIGH_MEMORY, I think.) mpol_set_nodemask() should be aware of N_HIGH_MEMORY and policy's nodemask should be includes only online nodes. In old behavior, this is guaranteed by frequent reference to cpuset's code. Now, most of them are removed and mempolicy has to check it by itself. To do check, a few nodemask_t will be used for calculating nodemask. But, size of nodemask_t can be big and it's not good to allocate them on stack. Now, cpumask_t has CPUMASK_ALLOC/FREE an easy code for get scratch area. NODEMASK_ALLOC/FREE shoudl be there. [akpm@linux-foundation.org: cleanups & tweaks] Tested-by: KOSAKI Motohiro Signed-off-by: KAMEZAWA Hiroyuki Cc: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93274e4d4e9416ad1fa47e2f26011e2c483fe5fe Author: Stefani Seibold Date: Thu Aug 6 15:07:30 2009 -0700 fbcon: fix rotate upside down crash Fix the rotate_ud() function not to crash in case of a font which has not a width of multiple by 8: The inner loop of the font pixel copy should not access a bit outside the font memory area. Subtract the shift offset from the font width will prevent this. Signed-off-by: Stefani Seibold Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69dd647f969c28d18de77e2153f30d05a1874571 Author: Xiao Guangrong Date: Thu Aug 6 15:07:29 2009 -0700 generic-ipi: fix hotplug_cfd() Use CONFIG_HOTPLUG_CPU, not CONFIG_CPU_HOTPLUG When hot-unpluging a cpu, it will leak memory allocated at cpu hotplug, but only if CPUMASK_OFFSTACK=y, which is default to n. The bug was introduced by 8969a5ede0f9e17da4b943712429aef2c9bcd82b ("generic-ipi: remove kmalloc()"). Signed-off-by: Xiao Guangrong Cc: Ingo Molnar Cc: Jens Axboe Cc: Nick Piggin Cc: Peter Zijlstra Cc: Rusty Russell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2020002a878403a6858868d85a43623f74859dba Author: Stoyan Gaydarov Date: Thu Aug 6 15:07:28 2009 -0700 drivers/w1/masters/omap_hdq.c: fix missing mutex unlock This was found using a semantic patch, more info can be found at: http://www.emn.fr/x-info/coccinelle/ Signed-off-by: Stoyan Gaydarov Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b36ec0428a06fcbdb67d61e9e664154e5dd9a8c7 Author: Christoph Hellwig Date: Fri Aug 7 14:38:34 2009 -0300 xfs: fix freeing of inodes not yet added to the inode cache When freeing an inode that lost race getting added to the inode cache we must not call into ->destroy_inode, because that would delete the inode that won the race from the inode cache radix tree. This patch uses splits a new xfs_inode_free helper out of xfs_ireclaim and uses that plus __destroy_inode to make sure we really only free the memory allocted for the inode that lost the race, and not mess with the inode cache state. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Alex Samad Reported-by: Andrew Randrianasulu Reported-by: Stephane Reported-by: Tommy Reported-by: Miah Gregory Reported-by: Gabriel Barazer Reported-by: Leandro Lucarella Reported-by: Daniel Burr Reported-by: Nickolay Reported-by: Michael Guntsche Reported-by: Dan Carley Reported-by: Michael Ole Olsen Reported-by: Michael Weissenbacher Reported-by: Martin Spott Reported-by: Christian Kujau Tested-by: Michael Guntsche Tested-by: Dan Carley Tested-by: Christian Kujau commit 2e00c97e2c1d2ffc9e26252ca26b237678b0b772 Author: Christoph Hellwig Date: Fri Aug 7 14:38:29 2009 -0300 vfs: add __destroy_inode When we want to tear down an inode that lost the add to the cache race in XFS we must not call into ->destroy_inode because that would delete the inode that won the race from the inode cache radix tree. This patch provides the __destroy_inode helper needed to fix this, the actual fix will be in th next patch. As XFS was the only reason destroy_inode was exported we shift the export to the new __destroy_inode. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 54e346215e4fe2ca8c94c54e546cc61902060510 Author: Christoph Hellwig Date: Fri Aug 7 14:38:25 2009 -0300 vfs: fix inode_init_always calling convention Currently inode_init_always calls into ->destroy_inode if the additional initialization fails. That's not only counter-intuitive because inode_init_always did not allocate the inode structure, but in case of XFS it's actively harmful as ->destroy_inode might delete the inode from a radix-tree that has never been added. This in turn might end up deleting the inode for the same inum that has been instanciated by another process and cause lots of cause subtile problems. Also in the case of re-initializing a reclaimable inode in XFS it would free an inode we still want to keep alive. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 94f81a47c4a7a2d7a16fcfdd6d81da381732c101 Author: Kenji Kaneshige Date: Mon Jul 27 12:06:46 2009 +0900 PCI hotplug: SGI hotplug: do not use hotplug_slot_attr By the pci slot changes, callbacks of attributes under slot directory (/sys/bus/pci/slots) had been changed to get the pointer to struct pci_slot instead of struct hotplug_slot. So the path_show() that assumes the parameter is a pointer to struct hotplug_slot seems broken. Tested-by: Mike Habeck Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d25f14389a65c7f95512b01415d8d4a8d62855ab Author: Kenji Kaneshige Date: Mon Jul 27 12:05:38 2009 +0900 PCI hotplug: SGI hotplug: fix build failure The commit bd3d99c17039fd05a29587db3f4a180c48da115a ("PCI: Remove untested Electromechanical Interlock (EMI) support in pciehp."), which removes the definition of "struct hotplug_slot_attr", broke SGI hotplug driver. By this commit, we get the following compile error. drivers/pci/hotplug/sgi_hotplug.c:106: error: variable 'sn_slot_path_attr' has initializer but incomplete type drivers/pci/hotplug/sgi_hotplug.c:106: error: unknown field 'attr' specified in initializer drivers/pci/hotplug/sgi_hotplug.c:106: error: extra brace group at end of initializer drivers/pci/hotplug/sgi_hotplug.c:106: error: (near initialization for 'sn_slot_path_attr') drivers/pci/hotplug/sgi_hotplug.c:106: warning: excess elements in struct initializer drivers/pci/hotplug/sgi_hotplug.c:106: warning: (near initialization for 'sn_slot_path_attr') drivers/pci/hotplug/sgi_hotplug.c:106: error: unknown field 'show' specified in initializer drivers/pci/hotplug/sgi_hotplug.c:106: warning: excess elements in struct initializer drivers/pci/hotplug/sgi_hotplug.c:106: warning: (near initialization for 'sn_slot_path_attr') drivers/pci/hotplug/sgi_hotplug.c: In function 'sn_hp_destroy': drivers/pci/hotplug/sgi_hotplug.c:203: error: invalid use of undefined type 'struct hotplug_slot_attribute' drivers/pci/hotplug/sgi_hotplug.c: In function 'sn_hotplug_slot_register': drivers/pci/hotplug/sgi_hotplug.c:655: error: invalid use of undefined type 'struct hotplug_slot_attribute' This patch fixes this regression by adding the definition of struct hotplug_slot_attr into sgi_hotplug.c. Tested-by: Mike Habeck Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit dd1f57ecaf9688efa69d982652ecfa3e64f1fa55 Author: Bob Dunlop Date: Thu Aug 6 12:01:03 2009 -0400 libertas: correct packing of rxpd structure Older Gcc compilers (3.4.5 tested) need additional hints in order to get the packing of the rxpd structure (which contains a 16 bit union) correct on the ARM processor. struct txpd does not need these hints since it contains a 32 bit union that packs naturally. Signed-off-by: R.J.Dunlop Acked-by: Dan Williams Signed-off-by: John W. Linville commit 60aa569f9212a13382c29cc734f275dec0f55e0b Author: Lennert Buytenhek Date: Mon Aug 3 21:59:09 2009 +0200 mwl8k: prevent module unload hang We need to unregister our ieee80211_hw before resetting the chip, as the former causes firmware commands to be issued which will time out once the chip has been reset. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: John W. Linville commit a94cc97e14c5750ec2b50b2e4ecdfb0f369ed0f4 Author: Lennert Buytenhek Date: Mon Aug 3 21:58:57 2009 +0200 mwl8k: prevent crash in ->configure_filter() if no interface was added Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: John W. Linville commit 37055bd455b31b8220c35a1ede9c6aceb791cc88 Author: Lennert Buytenhek Date: Mon Aug 3 21:58:47 2009 +0200 mwl8k: call pci_unmap_single() before accessing command structure again Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: John W. Linville commit 4ff6432ea620ba467e50ec04b8271ea0eb94e62e Author: Lennert Buytenhek Date: Mon Aug 3 21:58:39 2009 +0200 mwl8k: add various missing GET_HW_SPEC endian conversions Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: John W. Linville commit d25f9f1357139bbdc79bc960ea84909a7c22ec2b Author: Lennert Buytenhek Date: Mon Aug 3 21:58:26 2009 +0200 mwl8k: fix NULL pointer dereference on receive out-of-memory When we go into out-of-memory and fail to allocate skbuffs to refill the receive ring with, rxq_process can end up running into a receive ring entry that is marked as host-owned but doesn't have an associated skbuff. If this happens, we must break out of the rx processing loop instead of trying to process the descriptor. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: John W. Linville commit 7dd2459d8f7a967bcd1466591aec72bb3ddc07cc Author: Zhu Yi Date: Mon Jul 27 10:10:20 2009 +0800 ipw2x00: Write outside array bounds > channel_index loops up to IPW_SCAN_CHANNELS, but is used after being > incremented. This might be able to access 1 past the end of the array Reported-by: Roel Kluin Signed-off-by: John W. Linville commit bd3f02212d6a457267e0c9c02c426151c436d9d4 Author: Eric Dumazet Date: Fri Aug 7 12:49:29 2009 +0200 ring-buffer: Fix memleak in ring_buffer_free() I noticed oprofile memleaked in linux-2.6 current tree, and tracked this ring-buffer leak. Signed-off-by: Eric Dumazet LKML-Reference: <4A7C06B9.2090302@gmail.com> Cc: stable@kernel.org Signed-off-by: Steven Rostedt commit afc5e65245255a268ab22a20477ed2c9f2cdfcd3 Author: Takashi Iwai Date: Fri Aug 7 16:33:53 2009 +0200 ASoC: Add missing DRV_NAME definitions for fsl/* drivers Module builds are broken due to missing DRV_NAME for efika-audio-fabric and pcm030-audio-fabric. Signed-off-by: Takashi Iwai commit 17332925d7b11bb6c2d0c49450ae58dd836005da Author: Dave Airlie Date: Fri Aug 7 11:03:26 2009 +1000 drm/radeon/kms: setup MC/VRAM the same way for suspend/resume we should align the GTT after VRAM no matter what, as we can come back from resume and put in a different place and bad things happen. Signed-off-by: Dave Airlie commit 0e692a94e378628b7d527260ad939894454bcca8 Author: Li Zefan Date: Fri Aug 7 15:10:54 2009 +0800 lockdep: Fix typos in documentation s/head/held Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A7BD37E.9060806@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9795447f71324d8f14c19ed68b43c883135c3f59 Author: Li Zefan Date: Fri Aug 7 16:37:10 2009 +0800 lockdep: Fix file mode of lock_stat /proc/lock_stat is writable. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A7BE7B6.10904@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 53cb780adbe69df90c8dc23e992ce40455e687c3 Author: Roel Kluin Date: Fri Aug 7 10:39:25 2009 +0200 [S390] KVM: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Martin Schwidefsky commit 677c1dd706d9cc384730cbd52baf821923d8be9b Author: Hendrik Brueckner Date: Fri Aug 7 10:39:24 2009 +0200 [S390] kernel: Storing machine flags early in lowcore Currently, the machine_flags are stored late in the startup initialization which results in failing machine type checks (e.g. for MACHINE_IS_VM). To allow these checks, store the machine flags in the lowcore when the machine type has been detected. Moving the machine_flags to the lowcore has been introduced with git commit 25097bf153391f7be4c591d47061b3dc4990dac2 Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 7dbdee2e9a2ac42ea5135801bcc9d1a8e3f672aa Author: Steven Rostedt Date: Thu Aug 6 19:53:18 2009 -0400 tracing: Fix recordmcount.pl to handle sections with only weak functions Roland Dreier found that a section that contained only a weak function in one of the staging drivers and this caused recordmcount.pl to spit out a warning and fail. Although it is strange that a driver would have a weak function, and this function only be used in one place, it should not be something to make recordmcount.pl fail. This patch fixes the issue in a simple manner: if only weak functions exist in a section, then that section will not be recorded. Reported-by: Roland Dreier Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0d502d8267ebab9ae4b5b4c065d20196d6069f52 Merge: 09384df a9dfac3 Author: David S. Miller Date: Thu Aug 6 13:18:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 09384dfc76e526c3993c09c42e016372dc9dd22c Author: Eric Dumazet Date: Thu Aug 6 03:55:04 2009 +0000 irda: Fix irda_getname() leak irda_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3d392475c873c10c10d6d96b94d092a34ebd4791 Author: Eric Dumazet Date: Thu Aug 6 02:27:43 2009 +0000 appletalk: fix atalk_getname() leak atalk_getname() can leak 8 bytes of kernel memory to user Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f6b97b29513950bfbf621a83d85b6f86b39ec8db Author: Eric Dumazet Date: Thu Aug 6 03:31:07 2009 +0000 netrom: Fix nr_getname() leak nr_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 80922bbb12a105f858a8f0abb879cb4302d0ecaa Author: Eric Dumazet Date: Thu Aug 6 03:48:36 2009 +0000 econet: Fix econet_getname() leak econet_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 17ac2e9c58b69a1e25460a568eae1b0dc0188c25 Author: Eric Dumazet Date: Thu Aug 6 03:34:06 2009 +0000 rose: Fix rose_getname() leak rose_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1054598cab8674438675085fae459e960eb10799 Author: Peter Zijlstra Date: Thu Aug 6 18:06:26 2009 +0200 perf_counter: Fix double list iteration in per task precise stats Brice Goglin reported this crash with per task precise stats: > I finally managed to test the threaded perfcounter statistics (thanks a > lot for implementing it). I am running 2.6.31-rc5 (with the AMD > magny-cours patches but I don't think they matter here). I am trying to > measure local/remote memory accesses per thread during the well-known > stream benchmark. It's compiled with OpenMP using 16 threads on a > quad-socket quad-core barcelona machine. > > Command line is: > /mnt/scratch/bgoglin/cpunode/linux-2.6.31/tools/perf/perf record -f -s > -e r1000001e0 -e r1000002e0 -e r1000004e0 -e r1000008e0 ./stream > > It seems to work fine with a single -e on the command line > while it crashes when there are at least 2 of them. > It seems to work fine without -s as well. A silly copy-paste resulted in a messed up iteration which would cause the OOPS. Reported-by: Brice Goglin Signed-off-by: Peter Zijlstra Tested-by: Brice Goglin LKML-Reference: <1249574786.32113.550.camel@twins> Signed-off-by: Ingo Molnar commit 9424edc2da097c8589fcc24a72552d33e54be161 Author: Peter Zijlstra Date: Wed Aug 5 14:05:16 2009 +0200 perf: Auto-detect libelf Adds autodetection for libelf as well, and simplifies the libbfd code. Furthermore, fail make with an error when libelf is not found and warn about the lack of libbfd. Also provide an option to build a 32bit version even though you might be running a 64bit kernel. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4d1e00a8af426500edfb8643fa6c375b89f1f804 Author: Arnaldo Carvalho de Melo Date: Wed Aug 5 19:02:49 2009 -0300 perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink In some cases distros have binaries and debuginfo in weird places: [root@doppio tuna]# ls -la /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox} -rwxr-xr-x 1 root root 90024 2009-08-03 19:45 /usr/lib64/firefox-3.5.2/firefox -rwxr-xr-x 1 root root 90024 2009-08-03 18:23 /usr/lib64/xulrunner-1.9.1/xulrunner-stub [root@doppio tuna]# sha1sum /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox} 19a858077d263d5de22c9c5da250d3e4396ae739 /usr/lib64/xulrunner-1.9.1/xulrunner-stub 19a858077d263d5de22c9c5da250d3e4396ae739 /usr/lib64/firefox-3.5.2/firefox [root@doppio tuna]# rpm -qf /usr/lib64/{xulrunner-1.9.1/xulrunner-stub,firefox-3.5.2/firefox} xulrunner-1.9.1.2-1.fc11.x86_64 firefox-3.5.2-2.fc11.x86_64 [root@doppio tuna]# ls -la /usr/lib/debug/{usr/lib64/xulrunner-1.9.1/xulrunner-stub,usr/lib64/firefox-3.5.2/firefox}.debug ls: cannot access /usr/lib/debug/usr/lib64/firefox-3.5.2/firefox.debug: No such file or directory -rwxr-xr-x 1 root root 403608 2009-08-03 18:22 /usr/lib/debug/usr/lib64/xulrunner-1.9.1/xulrunner-stub.debug Seemingly we don't have a .symtab when we actually can find it if we use the .note.gnu.build-id ELF section put in place by some distros. Use it and find the symbols we need. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 469535a598f28c13a2a42037e1b778f671af1d16 Author: Robert Richter Date: Thu Jul 30 19:19:18 2009 +0200 ring-buffer: Fix advance of reader in rb_buffer_peek() When calling rb_buffer_peek() from ring_buffer_consume() and a padding event is returned, the function rb_advance_reader() is called twice. This may lead to missing samples or under high workloads to the warning below. This patch fixes this. If a padding event is returned by rb_buffer_peek() it will be consumed by the calling function now. Also, I simplified some code in ring_buffer_consume(). ------------[ cut here ]------------ WARNING: at /dev/shm/.source/linux/kernel/trace/ring_buffer.c:2289 rb_advance_reader+0x2e/0xc5() Hardware name: Anaheim Modules linked in: Pid: 29, comm: events/2 Tainted: G W 2.6.31-rc3-oprofile-x86_64-standard-00059-g5050dc2 #1 Call Trace: [] ? rb_advance_reader+0x2e/0xc5 [] warn_slowpath_common+0x77/0x8f [] warn_slowpath_null+0xf/0x11 [] rb_advance_reader+0x2e/0xc5 [] ring_buffer_consume+0xa0/0xd2 [] op_cpu_buffer_read_entry+0x21/0x9e [] ? __find_get_block+0x4b/0x165 [] sync_buffer+0xa5/0x401 [] ? __find_get_block+0x4b/0x165 [] ? wq_sync_buffer+0x0/0x78 [] wq_sync_buffer+0x5b/0x78 [] worker_thread+0x113/0x1ac [] ? autoremove_wake_function+0x0/0x38 [] ? worker_thread+0x0/0x1ac [] kthread+0x88/0x92 [] child_rip+0xa/0x20 [] ? kthread+0x0/0x92 [] ? child_rip+0x0/0x20 ---[ end trace f561c0a58fcc89bd ]--- Cc: Steven Rostedt Cc: Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit e0d82a0a4e9841b787e6431ccfbb515546c55dc2 Author: Benjamin Herrenschmidt Date: Thu Aug 6 21:16:44 2009 +1000 perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it If the current CPU doesn't support performance counters, cur_cpu_spec->oprofile_cpu_type can be NULL. The current perf_counter modules don't test for that case and would thus crash at boot time. Bug reported by David Woodhouse. Reported-by: David Woodhouse Signed-off-by: Benjamin Herrenschmidt Cc: Peter Zijlstra Signed-off-by: Paul Mackerras LKML-Reference: <19066.48028.446975.501454@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit c5b1525533c484238015c48c78f86d49a1bfb86b Author: Sheng Yang Date: Thu Aug 6 13:31:56 2009 +0800 intel-iommu: Fix enabling snooping feature by mistake Two defects work together result in KVM device passthrough randomly can't work: 1. iommu_snooping is not initialized to zero when vm_iommu_init() called. So it is possible to get a random value. 2. One line added by commit 2c2e2c38("IOMMU Identity Mapping Support") change the code path, let it bypass domain_update_iommu_cap(), as well as missing the increment of domain iommu reference count. The latter is also likely to cause a leak of domains on repeated VMM assignment and deassignment. Signed-off-by: Sheng Yang Signed-off-by: David Woodhouse commit 53a27b39ff4d2492f84b1fdc2f0047175f0b0b93 Author: Marcelo Tosatti Date: Wed Aug 5 15:43:58 2009 -0300 KVM: MMU: limit rmap chain length Otherwise the host can spend too long traversing an rmap chain, which happens under a spinlock. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a9dfac3353b03432e3d46a0dde6795588c46256d Author: Dmitry Eremin-Solenikov Date: Mon Aug 3 17:53:00 2009 +0400 af_ieee802154: provide dummy get/setsockopt Provide dummt get/setsockopt implementations to stop these syscalls from oopsing on our sockets. Signed-off-by: Dmitry Eremin-Solenikov commit 45a41d147a3a31bb218201b0dd70cfe4e9ed5105 Author: Dmitry Eremin-Solenikov Date: Sun Aug 2 14:12:01 2009 +0400 af_ieee802154: fix ioctl processing fix two errors in ioctl processing: 1) if the ioctl isn't supported one should return -ENOIOCTLCMD 2) don't call ndo_do_ioctl if the device doesn't provide it Signed-off-by: Dmitry Eremin-Solenikov commit d82f1c35348cebe2fb2d4a4d31ce0ab0769e3d93 Author: Eric Miao Date: Wed Aug 5 01:24:41 2009 -0700 Input: matrix_keypad - make matrix keymap size dynamic Remove assumption on the shift and size of rows/columns form matrix_keypad driver. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 194934785a846e0a7b1b674b7b475a9d0125d2f8 Author: TJ Date: Mon Aug 3 13:39:09 2009 -0700 Input: wistron_btns - support Prestigio Wifi RF kill button The Prestigio 157, an old no-name clone laptop uses input keys very similar to the Wistron 1557/MS2141 with the addition of BIOS-controlled wireless radio frequency kill switch. This patch adds support for the RF kill switch control and adds manual identification of the model. The Prestigio does not expose any recognisable identity via dmidecode and so requires manual selection at module init using force=1 keymap=prestigio Signed-off-by: TJ Signed-off-by: Dmitry Torokhov commit 985fe845aea9cd56fd351800302270444556e45a Author: Jerome Glisse Date: Wed Jul 29 18:55:53 2009 +0200 drm/radeon/kms: Fix caching mode selection for GTT object GTT object can either be cached,uncached or wc just let core ttm pick the best mode according to how the bo driver and GTT memory type was initialized. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit af6af30c0fcd77e621638e53ef8b176bca8bd3b4 Author: Peter Zijlstra Date: Wed Aug 5 20:41:04 2009 +0200 ftrace: Fix perf-tracepoint OOPS Not all tracepoints are created equal, in specific the ftrace tracepoints are created with TRACE_EVENT_FORMAT() which does not generate the needed bits to tie them into perf counters. For those events, don't create the 'id' file and fail ->profile_enable when their ID is specified through other means. Reported-by: Chris Mason Signed-off-by: Peter Zijlstra Cc: Steven Rostedt LKML-Reference: <1249497664.5890.4.camel@laptop> [ v2: fix build error in the !CONFIG_EVENT_PROFILE case ] Signed-off-by: Ingo Molnar commit 1bbf20835c4e088667a090ce6523a0f70b62dc76 Author: Darren Hart Date: Wed Aug 5 12:05:21 2009 -0700 rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock() In the event of a lock steal or owner died, rt_mutex_start_proxy_lock() will give the rt_mutex to the waiting task, but it fails to release the wait_lock. This leads to subsequent deadlocks when other tasks try to acquire the rt_mutex. I also removed a few extra blank lines that really spaced this routine out. I must have been high on the \n when I wrote this originally... Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Dinakar Guniguntala Cc: John Stultz LKML-Reference: <4A79D7F1.4000405@us.ibm.com> Signed-off-by: Ingo Molnar commit b4adbb4ddf63091f48668e7ff1b9b0f6f84d4b40 Author: Pascal Terjan Date: Wed Aug 5 04:11:39 2009 +0000 Add IDs for 3C905B-TX Fast Etherlink XL PCI We found this old card which was not supported, and physically looks similar to the other 3C905B we have (9055). After adding the IDs it seems to work fine (MII report, dhcp, scp, ...) Acked-by: Steffen Klassert Signed-off-by: David S. Miller commit 3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8 Author: Steven Rostedt Date: Wed Aug 5 22:00:14 2009 -0400 tracing: do not use functions starting with .L in recordmcount.pl On Wed, 5 Aug 2009, Ingo Molnar wrote: > * Dave Airlie wrote: > > > Hey, > > > > So I spent 3-4 hrs today (I'm stupid yes) tracking down a .o > > breakage by blaming rawhide gcc/binutils as I was using make > > V=1and seeing only the compiler chain running, > > Hm, is this that powerpc related build bug you just reported? Well we tracked it down and it is powerpc64 specific. Seems that in drivers/hwmon/lm93.c there's a function called: LM93_IN_FROM_REG() But PPC64 has function descriptors and the real function names (the ones you see in objdump) start with a '.'. Thus this in objdump you have: Disassembly of section .text: 0000000000000000 <.LM93_IN_FROM_REG>: 0: 7c 08 02 a6 mflr r0 4: fb 81 ff e0 std r28,-32(r1) The function name used is .LM93_IN_FROM_REG. But gcc considers symbols that start with ".L" as a special symbol that is used inside the assembly stage. The nm passed into recordmcount uses the --synthetic option which shows the ".L" symbols (my runs outside of the build did not include the --synthetic option, so my older patch worked). We see the function as a local. Now to capture all the locations that use "mcount" we need to have a reference to link into the object file a list of mcount callers. We need a reference that will not disappear. We try to use a global function and if that does not work, we use a local function as a reference. But to relink the section back into the object, we need to make it global. In this case, we run objcopy using --globalize-symbol and --localize-symbol to convert the symbol into a global symbol, link the mcount list, then convert it back to a local symbol. This works great except for this case. .L* symbols can not be converted into a global symbol, and the mcount section referencing it will remain unresolved. Reported-by: Dave Airlie LKML-Reference: Signed-off-by: Steven Rostedt commit 464e85eb0e63096bd52e4c3e2a6fb8357fb95828 Author: Steven Rostedt Date: Wed Aug 5 15:26:37 2009 -0400 ring-buffer: do not disable ring buffer on oops_in_progress The commit: commit e0fdace10e75dac67d906213b780ff1b1a4cc360 Author: David Miller Date: Fri Aug 1 01:11:22 2008 -0700 debug_locks: set oops_in_progress if we will log messages. Otherwise lock debugging messages on runqueue locks can deadlock the system due to the wakeups performed by printk(). Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar Will permanently set oops_in_progress on any lockdep failure. When this triggers it will cause any read from the ring buffer to permanently disable the ring buffer (not to mention no locking of printk). This patch removes the check. It keeps the print in NMI which makes sense. This is probably OK, since the ring buffer should not cause something to set oops_in_progress anyway. Signed-off-by: Steven Rostedt commit 0f2541d299d233eddddee4345795e0c46264fd56 Author: Steven Rostedt Date: Wed Aug 5 12:02:48 2009 -0400 ring-buffer: fix check of try_to_discard result The function ring_buffer_discard_commit inversed the code path of the result of try_to_discard. It should skip incrementing the entry counter if try_to_discard succeeded. But instead, it increments the entry conder if it succeeded to discard, and does not increment it if it fails. The result of this bug is that filtering will make the stat counters incorrect. Signed-off-by: Steven Rostedt commit c0c60c4b9ab45bb02b20796401dd6a90770fd0ee Author: Hartley Sweeten Date: Tue Aug 4 23:38:06 2009 +0100 ARM: 5639/1: arm: clkdev.c should include should be included to get the base API prototypes. This fixes the following sparse warnings: arch/arm/common/clkdev.c:65:12: warning: symbol 'clk_get_sys' was not declared. Should it be static? arch/arm/common/clkdev.c:79:12: warning: symbol 'clk_get' was not declared. Should it be static? arch/arm/common/clkdev.c:87:6: warning: symbol 'clk_put' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 65a5053b764a42d33b334ba55810bb5b56eb92df Author: Hartley Sweeten Date: Tue Aug 4 23:20:45 2009 +0100 ARM: 5638/1: arch/arm/kernel/signal.c: use correct address space for CRUNCH preserve_crunch_context() calls __copy_to_user() which expects the destination address to be in __user space. setup_sigframe() properly passes the destination address. restore_crunch_context() calls __copy_from_user() which expects the source address to be in __user space. restore_sigframe() properly passes the source address. This fixes {preserve/restore}_crunch_context() to accept the address as __user space and resolves the following sparse warnings: arch/arm/kernel/signal.c:146:31: warning: incorrect type in argument 1 (different address spaces) expected void [noderef] *to got struct crunch_sigframe *frame arch/arm/kernel/signal.c:156:38: warning: incorrect type in argument 2 (different address spaces) expected void const [noderef] *from got struct crunch_sigframe *frame arch/arm/kernel/signal.c:250:48: warning: incorrect type in argument 1 (different address spaces) expected struct crunch_sigframe *frame got struct crunch_sigframe [noderef] * arch/arm/kernel/signal.c:365:49: warning: incorrect type in argument 1 (different address spaces) expected struct crunch_sigframe *frame got struct crunch_sigframe [noderef] * Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 0a51810aa058a0a4ac76dd6f87f4d10bee774e2e Author: Andrew Victor Date: Tue Aug 4 19:55:56 2009 +0100 ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers Stop referencing CLOCK_TICK_RATE in the KS8695 drivers, rather refer to a KS8695_CLOCK_RATE. Issue pointed out by Russell King on arm-linux-kernel mailing list. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit cf39c4c572dc54adbdf8933d1e6cd87ee94d8fc0 Author: Eric Dumazet Date: Mon Jul 27 08:03:18 2009 -0700 phonet: phonet_device_get() fix net/phonet/pn_dev.c: In function `phonet_device_get': net/phonet/pn_dev.c:99: warning: 'dev' might be used uninitialized in this function Signed-off-by: Eric Dumazet Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 819e0064634f580ab618189e657ea58341d214b7 Author: Roel Kluin Date: Sun Jul 26 00:50:38 2009 +0200 drm/i915: Fix read outside array bounds in restoring the SWF10 range. dev_priv->saveSWF1 is a 16 element array, but this reads up to index 22, and restored values from the wrong registers. Signed-off-by: Roel Kluin Signed-off-by: Eric Anholt commit 9c9fe1f841745184bbc5460c6f3909fded3b929b Author: Eric Anholt Date: Mon Aug 3 16:09:16 2009 -0700 drm/i915: Use our own workqueue to avoid wedging the system along with the GPU. Signed-off-by: Eric Anholt commit 476181cb05c6a3aea3ef42309388e255c934a06f Author: Wei Yongjun Date: Tue Aug 4 21:44:39 2009 +0000 dccp: missing destroy of percpu counter variable while unload module percpu counter dccp_orphan_count is init in dccp_init() by percpu_counter_init() while dccp module is loaded, but the destroy of it is missing while dccp module is unloaded. We can get the kernel WARNING about this. Reproduct by the following commands: $ modprobe dccp $ rmmod dccp $ modprobe dccp WARNING: at lib/list_debug.c:26 __list_add+0x27/0x5c() Hardware name: VMware Virtual Platform list_add corruption. next->prev should be prev (c080c0c4), but was (null). (next =ca7188cc). Modules linked in: dccp(+) nfsd lockd nfs_acl auth_rpcgss exportfs sunrpc Pid: 1956, comm: modprobe Not tainted 2.6.31-rc5 #55 Call Trace: [] warn_slowpath_common+0x6a/0x81 [] ? __list_add+0x27/0x5c [] warn_slowpath_fmt+0x29/0x2c [] __list_add+0x27/0x5c [] __percpu_counter_init+0x4d/0x5d [] dccp_init+0x19/0x2ed [dccp] [] do_one_initcall+0x4f/0x111 [] ? dccp_init+0x0/0x2ed [dccp] [] ? notifier_call_chain+0x26/0x48 [] ? __blocking_notifier_call_chain+0x45/0x51 [] sys_init_module+0xac/0x1bd [] sysenter_do_call+0x12/0x22 Signed-off-by: Wei Yongjun Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit f60f785679b507cbeeb03d2db080ab649ac86027 Author: Dhananjay Phadke Date: Tue Aug 4 10:39:03 2009 +0000 netxen: fix dma mask update calculation Fix dma mask calculation that caps at 63-bit addressing even when firmware advertises full 64-bit support. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6fd210a9cc398ecbff7bcdbe220651b73b654f56 Author: Kevin Hilman Date: Mon Jul 20 09:09:23 2009 -0700 OMAP3: Overo: add missing pen-down GPIO definition Signed-off-by: Kevin Hilman commit 55b6019ae29456e0f1e4087546bf4221c48622a0 Author: Kevin Hilman Date: Thu Jun 4 15:57:10 2009 -0700 OMAP: GPIO: clear/restore level/edge detect settings on mask/unmask If IRQ triggering is enabled, it can trigger a pending interrupt even for masked interrupts. Any pending GPIO interrupts can prevent the powerdomain from hitting retention. Problem found, reported and additional review and testing by Chunquiu Wang. Tested-by: Chunquiu Wang Signed-off-by: Kevin Hilman commit 6c5f80393b107b0c9e2a54b03b65d1880e706655 Author: Jouni Hogander Date: Wed Oct 29 12:06:04 2008 +0200 OMAP3: PM: Fix wrong sequence in suspend. Powerdomain previous state is checked after restoring new states in suspend. This patch fixes this problem. Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 60c45ae1107c4ec47d2c84e5984ea59d02b2863d Author: Eero Nurkkala Date: Tue Jun 23 12:53:29 2009 +0300 OMAP: PM: CPUfreq: obey min/max settings of policy Use the min/max settings from CPUfreq policy rather than processor defined min/max settings. Without this patch, it's possible to scale frequency outside the current policy range. Signed-off-by: Eero Nurkkala Signed-off-by: Kevin Hilman commit bcf396c48012a5e4c7ab77be5c40df10d6bdb8ad Author: Kevin Hilman Date: Tue Jun 30 21:02:45 2009 -0700 OMAP2/3/4: UART: allow in-order port traversal Use list_add_tail() when adding discovered UART ports. This is so traversal using list_for_each_entry() will traverse the list in the order they were found. Signed-off-by: Kevin Hilman commit fd455ea899b5a14a8cdd276e15f3b47696526f92 Author: Kevin Hilman Date: Mon Apr 27 12:27:36 2009 -0700 OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports This patch causes the OMAP uarts to honor the sysfs power/wakeup file for IOPAD wakeups. Before the OMAP was always woken up from off mode on a rs232 signal change. This patch also creates a different platform device for each serial port so that the wakeup properties can be control per port. By default, IOPAD wakeups are enabled for each UART. To disable, # echo disabled > /sys/devices/platform/serial8250.0/power/wakeup Where serial8250.0 can be replaced by .1, or .2 to control the other ports. Original idea and original patch from Russ Dill Cc: Russ Dill Signed-off-by: Kevin Hilman commit 2466211e5debd205fc550d871fe0ab9b9a6d02ed Author: Tero Kristo Date: Thu Mar 5 16:32:23 2009 +0200 OMAP3: Fixed crash bug with serial + suspend It was possible for an unhandled interrupt to occur if there was incoming serial traffic during wakeup from suspend. This was caused by the code in arch-arm/mach-omap2/serial.c keeping interrupt enabled all the time, but not acking its interrupts. Applies on top of PM branch. Use the PM begin/end hooks to ensure that the "serial idle" interrupts are disabled during the suspend path. Also, since begin/end hooks are now used, use the suspend_state that is passed in the begin hook instead of the enter hook as per the platform_suspend_ops docs. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 4789998a30d845d94a7595076d1392ffd5a9d39e Author: Kevin Hilman Date: Wed Jun 24 10:32:03 2009 -0700 OMAP4: UART: cleanup special case IRQ handling Streamline the OMAP4 special IRQ assignments by putting inside normal init loop instead of having a separate loop. Signed-off-by: Kevin Hilman commit 10f90ed2d727c0f344d910c02c9726d0481d9b00 Author: Kevin Hilman Date: Wed Jun 24 11:39:18 2009 -0700 OMAP3: PM: Do not build suspend code if SUSPEND is not enabled Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 040fed059c34da5115790609f1a038fc9aec88d1 Author: Kevin Hilman Date: Tue May 5 16:34:25 2009 -0700 OMAP3: PM: prevent module wakeups from waking IVA2 By default, prevent functional wakeups from inside a module from waking up the IVA2. Let DSP Bridge code handle this when loaded. Signed-off-by: Kevin Hilman commit 3a07ae30a0bfa93ff2b242acf670c6d8e2de35de Author: Kevin Hilman Date: Mon Apr 27 16:14:54 2009 -0700 OMAP3: PM: Clear pending PRCM reset flags on init Any pending reset flags can prevent retention. Ensure they are all cleared during boot. Signed-off-by: Kevin Hilman commit 3a6667acf916b3e32be4682196882fc2ed0ec23e Author: Kevin Hilman Date: Mon Apr 27 07:50:23 2009 -0700 OMAP3: PM: Ensure PRCM interrupts are cleared at boot Any pending PRCM interrupts can prevent retention. Ensure they are cleared during boot. Signed-off-by: Kevin Hilman commit 364dd47466ff7a7749bf037df4bf3b7aedbfe6f4 Author: Kevin Hilman Date: Tue Jun 9 11:45:30 2009 -0700 OMAP3: PM: CM_REGADDR macros using wrong name Signed-off-by: Kevin Hilman commit 7cc515f74d2871daff106a17714bfd16bcb045ca Author: Kevin Hilman Date: Wed Jun 10 09:02:25 2009 -0700 OMAP2/3: PM: make PM __init calls static Signed-off-by: Kevin Hilman commit 0bf52b981770cbf006323bab5177f2858a196766 Author: Ingo Molnar Date: Tue Aug 4 21:16:58 2009 +0000 net: Fix spinlock use in alloc_netdev_mq() -tip testing found this lockdep warning: [ 2.272010] calling net_dev_init+0x0/0x164 @ 1 [ 2.276033] device class 'net': registering [ 2.280191] INFO: trying to register non-static key. [ 2.284005] the code is fine but needs lockdep annotation. [ 2.284005] turning off the locking correctness validator. [ 2.284005] Pid: 1, comm: swapper Not tainted 2.6.31-rc5-tip #1145 [ 2.284005] Call Trace: [ 2.284005] [<7958eb4e>] ? printk+0xf/0x11 [ 2.284005] [<7904f83c>] __lock_acquire+0x11b/0x622 [ 2.284005] [<7908c9b7>] ? alloc_debug_processing+0xf9/0x144 [ 2.284005] [<7904e2be>] ? mark_held_locks+0x3a/0x52 [ 2.284005] [<7908dbc4>] ? kmem_cache_alloc+0xa8/0x13f [ 2.284005] [<7904e475>] ? trace_hardirqs_on_caller+0xa2/0xc3 [ 2.284005] [<7904fdf6>] lock_acquire+0xb3/0xd0 [ 2.284005] [<79489678>] ? alloc_netdev_mq+0xf5/0x1ad [ 2.284005] [<79591514>] _spin_lock_bh+0x2d/0x5d [ 2.284005] [<79489678>] ? alloc_netdev_mq+0xf5/0x1ad [ 2.284005] [<79489678>] alloc_netdev_mq+0xf5/0x1ad [ 2.284005] [<793a38f2>] ? loopback_setup+0x0/0x74 [ 2.284005] [<798eecd0>] loopback_net_init+0x20/0x5d [ 2.284005] [<79483efb>] register_pernet_device+0x23/0x4b [ 2.284005] [<798f5c9f>] net_dev_init+0x115/0x164 [ 2.284005] [<7900104f>] do_one_initcall+0x4a/0x11a [ 2.284005] [<798f5b8a>] ? net_dev_init+0x0/0x164 [ 2.284005] [<79066f6d>] ? register_irq_proc+0x8c/0xa8 [ 2.284005] [<798cc29a>] do_basic_setup+0x42/0x52 [ 2.284005] [<798cc30a>] kernel_init+0x60/0xa1 [ 2.284005] [<798cc2aa>] ? kernel_init+0x0/0xa1 [ 2.284005] [<79003e03>] kernel_thread_helper+0x7/0x10 [ 2.284078] device: 'lo': device_add [ 2.288248] initcall net_dev_init+0x0/0x164 returned 0 after 11718 usecs [ 2.292010] calling neigh_init+0x0/0x66 @ 1 [ 2.296010] initcall neigh_init+0x0/0x66 returned 0 after 0 usecs it's using an zero-initialized spinlock. This is a side-effect of: dev_unicast_init(dev); in alloc_netdev_mq() making use of dev->addr_list_lock. The device has just been allocated freshly, it's not accessible anywhere yet so no locking is needed at all - in fact it's wrong to lock it here (the lock isnt initialized yet). This bug was introduced via: | commit a6ac65db2329e7685299666f5f7b6093c7b0f3a0 | Date: Thu Jul 30 01:06:12 2009 +0000 | | net: restore the original spinlock to protect unicast list Signed-off-by: Ingo Molnar Acked-by: Jiri Pirko Tested-by: Mark Brown Signed-off-by: David S. Miller commit 386c0b702b1ea81c0f54f5c9832a3d4a52270f14 Author: Arnaldo Carvalho de Melo Date: Wed Aug 5 10:04:53 2009 -0300 perf report: Add missing command line options to man page Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra LKML-Reference: <20090805130453.GC10688@ghostprotocols.net> Signed-off-by: Ingo Molnar commit b37c45b8c27c049dc44673e40fd63820fd9a9d91 Author: Roger Quadros Date: Wed Aug 5 16:53:24 2009 +0300 OMAP: GPIO: Fix incorrect gpio_get logic for output GPIOs gpio_get() should return DATAIN register value when the GPIO is configured as input whereas it should return DATAOUT register value when the GPIO is configured as output. Now /sys/kernel/debug/gpio shows proper values for output GPIOs Signed-off-by: Roger Quadros Signed-off-by: Tony Lindgren commit 2cdbc46d7b2cb0acb68c3ecad93b000552121fa6 Author: Peter Zijlstra Date: Wed Aug 5 14:05:16 2009 +0200 perf: Auto-detect libbfd Since the C++ demangling isn't needed for everybody and bfd/iberty aren't widely/easily available on all machines, make it optional. It also allows you to forcefully disable demangling by using NO_DEMANGLE=1 and otherwise tries to detect libbfd/libiberty combinations that result in a compiling demangler. Reported-by: Jens Axboe Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Kyle McMartin LKML-Reference: <20090801082048.GX12579@kernel.dk> Signed-off-by: Ingo Molnar commit e9cbde8c158629cc96a26b2323c4a243536c1951 Author: Avi Kivity Date: Mon Jul 6 12:49:39 2009 +0300 KVM: ia64: fix build failures due to ia64/unsigned long mismatches Signed-off-by: Avi Kivity commit c428dcc9b9f967945992a2f8529e8c50a31d7913 Author: Stephen Rothwell Date: Wed Jun 17 15:04:19 2009 +1000 KVM: Make KVM_HPAGES_PER_HPAGE unsigned long to avoid build error on powerpc Eliminates this compiler warning: arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:1178: error: integer overflow in expression Signed-off-by: Stephen Rothwell Signed-off-by: Avi Kivity commit 114cfab222233f50f46d7162cf7d99fdc6c271e5 Author: Pekka Enberg Date: Wed Aug 5 13:25:21 2009 +0300 perf report: Make --sort comm,dso,symbol the default If you're doing performance testing, you're interested in the symbols anyway so lets make "--sort comm,dso,symbol" the default sort option. Signed-off-by: Pekka Enberg Acked-by: Peter Zijlstra Cc: acme@redhat.com LKML-Reference: <1249467921-10450-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit 5116d8f6b977970ebefc1932c0f313163a6ec91f Author: Michael S. Tsirkin Date: Sun Jul 26 17:10:01 2009 +0300 KVM: fix ack not being delivered when msi present kvm_notify_acked_irq does not check irq type, so that it sometimes interprets msi vector as irq. As a result, ack notifiers are not called, which typially hangs the guest. The fix is to track and check irq type. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit d3bc2f91b4761a8d9f96bea167fef2f8c00dea54 Author: Christian Borntraeger Date: Thu Jul 16 17:17:37 2009 +0200 KVM: s390: fix wait_queue handling There are two waitqueues in kvm for wait handling: vcpu->wq for virt/kvm/kvm_main.c and vpcu->arch.local_int.wq for the s390 specific wait code. the wait handling in kvm_s390_handle_wait was broken by using different wait_queues for add_wait queue and remove_wait_queue. There are two options to fix the problem: o move all the s390 specific code to vcpu->wq and remove vcpu->arch.local_int.wq o move all the s390 specific code to vcpu->arch.local_int.wq This patch chooses the 2nd variant for two reasons: o s390 does not use kvm_vcpu_block but implements its own enabled wait handling. Having a separate wait_queue make it clear, that our wait mechanism is different o the patch is much smaller Report-by: Julia Lawall Signed-off-by: Christian Borntraeger Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 263799a3616242201e20fd2025fe84047b1379b1 Author: Jan Kiszka Date: Tue Jul 21 10:43:07 2009 +0200 KVM: VMX: Fix locking imbalance on emulation failure We have to disable preemption and IRQs on every exit from handle_invalid_guest_state, otherwise we generate at least a preempt_disable imbalance. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 34f0c1ad27a74bd5eb0f99ea43ab6a4658d6419d Author: Jan Kiszka Date: Wed Jul 22 23:53:26 2009 +0200 KVM: VMX: Fix locking order in handle_invalid_guest_state Release and re-acquire preemption and IRQ lock in the same order as vcpu_enter_guest does. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 025dbbf36a7680bffe54d9dcbf0a8bc01a7cbd10 Author: Marcelo Tosatti Date: Wed Jul 22 13:05:49 2009 -0300 KVM: MMU: handle n_free_mmu_pages > n_alloc_mmu_pages in kvm_mmu_change_mmu_pages kvm_mmu_change_mmu_pages mishandles the case where n_alloc_mmu_pages is smaller then n_free_mmu_pages, by not checking if the result of the subtraction is negative. Its a valid condition which can happen if a large number of pages has been recently freed. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 4b656b1202498184a0ecef86b3b89ff613b9c6ab Author: Marcelo Tosatti Date: Tue Jul 21 12:47:45 2009 -0300 KVM: SVM: force new asid on vcpu migration If a migrated vcpu matches the asid_generation value of the target pcpu, there will be no TLB flush via TLB_CONTROL_FLUSH_ALL_ASID. The check for vcpu.cpu in pre_svm_run is meaningless since svm_vcpu_load already updated it on schedule in. Such vcpu will VMRUN with stale TLB entries. Based on original patch from Joerg Roedel (http://patchwork.kernel.org/patch/10021/) Signed-off-by: Marcelo Tosatti Acked-by: Joerg Roedel Signed-off-by: Avi Kivity commit d6289b9365c3f622a8cfe62c4fb054bb70b5061a Author: Marcelo Tosatti Date: Mon Jun 22 15:27:56 2009 -0300 KVM: x86: verify MTRR/PAT validity Do not allow invalid memory types in MTRR/PAT (generating a #GP otherwise). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 0ff77873b1318fc2d77a85e70690d3cd6cafbd41 Author: Marcelo Tosatti Date: Thu Jul 2 20:02:15 2009 -0300 KVM: PIT: fix kpit_elapsed division by zero Fix division by zero triggered by latch count command on uninitialized counter. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e125e7b6944898831b56739a5448e705578bf7e2 Author: Jan Kiszka Date: Thu Jul 2 21:45:47 2009 +0200 KVM: Fix KVM_GET_MSR_INDEX_LIST So far, KVM copied the emulated_msrs (only MSR_IA32_MISC_ENABLE) to a wrong address in user space due to broken pointer arithmetic. This caused subtle corruption up there (missing MSR_IA32_MISC_ENABLE had probably no practical relevance). Moreover, the size check for the user-provided kvm_msr_list forgot about emulated MSRs. Cc: stable@kernel.org Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 7d5b005652bc5ae3e1e0efc53fd0e25a643ec506 Author: Alok Kataria Date: Tue Aug 4 15:34:22 2009 -0700 x86: Fix VMI && stack protector With CONFIG_STACK_PROTECTOR turned on, VMI doesn't boot with more than one processor. The problem is with the gs value not being initialized correctly when registering the secondary processor for VMI's case. The patch below initializes the gs value for the AP to __KERNEL_STACK_CANARY. Without this the secondary processor keeps on taking a GP on every gs access. Signed-off-by: Alok N Kataria Cc: # for v2.6.30.x LKML-Reference: <1249425262.18955.40.camel@ank32.eng.vmware.com> Signed-off-by: Ingo Molnar commit 33041ec049d39a6e0463c7edc7b6f631d24559e3 Author: Fenghua Yu Date: Tue Aug 4 15:10:59 2009 -0700 intel-iommu: Mask physical address to correct page size in intel_map_single() The physical address passed to domain_pfn_mapping() should be rounded down to the start of the MM page, not the VT-d page. This issue causes kernel panic on PAGE_SIZE>VTD_PAGE_SIZE platforms e.g. ia64 platforms. Signed-off-by: Fenghua Yu Signed-off-by: David Woodhouse commit f532959b77e5e567c84c914cb7c7b07d2582448b Author: Fenghua Yu Date: Tue Aug 4 15:09:37 2009 -0700 intel-iommu: Correct sglist size calculation. In domain_sg_mapping(), use aligned_nrpages() instead of hand-coded rounding code for calculating the size of each sg elem. This means that on IA64 we correctly round up to the MM page size, not just to the VT-d page size. Also remove the incorrect mm_to_dma_pfn() when intel_map_sg() calls domain_sg_mapping() -- the 'size' variable is in VT-d pages already. Signed-off-by: Fenghua Yu Signed-off-by: David Woodhouse commit 685aaca751271b2c5191901931a19ccaceeae1ce Author: Jory A. Pratt Date: Mon Aug 3 09:32:34 2009 -0700 Input: i8042 - add Asus G1S to noloop exception list The synaptic touchpad on the Asus G1S is not properly detected when rebooting machine or on cold boot from time to time. Adding the Asus G1S to the noloop exception table resolves the issue. # dmidecode 2.10 SMBIOS 2.4 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: ASUSTeK Computer Inc. Product Name: G1S Version: 1.0 Wake-up Type: Power Switch SKU Number: Family: Signed-off-by: Jory A. Pratt Signed-off-by: Dmitry Torokhov commit 6502fbfaf81b09b3f474bb7b3796257e9450273e Author: Alex Deucher Date: Tue Aug 4 11:24:24 2009 -0400 drm/radeon: Add support for RS880 chips These are new AMD IGP chips Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 90bc1a658a53f8832ee799685703977a450e5af9 Merge: 6ce90c4 54822de Author: Linus Torvalds Date: Tue Aug 4 15:49:11 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (32 commits) MIPS: Wire up accept4 syscall. MIPS: VPE: Delete unused function get_tc_unused(). MIPS: VPE: Fix bogus indentation. MIPS: VPE: Make various functions static. MIPS: VPE: Free relocation chain on error. MIPS: VPE: Fix compiler warning. MIPS: Module: Make error messages unique. MIPS: Octeon: Run IPI code with interrupts disabled. MIPS: Jazz: Fix read buffer overflow MIPS: Use DIV_ROUND_CLOSEST MIPS: MTX-1: Request button GPIO before setting its direction MIPS: AR7: Override CFLAGS with -Werror MIPS: AR7: Remove unused tnetd7200_get_clock function MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled MIPS: Fix read buffer overflow MIPS: AR7: Fix build warning on memory.c MIPS: Octeon PCIe: Make hardware and software bus numbers match. MIPS: RBTX4939: Fix IOC pin-enable register updating MIPS: Simplify and correct interrupt handling for MSP4200 ... commit 6ce90c430baef6e411dcf32e872913888bb3ef54 Merge: 9f3eea6 4b35d2c Author: Linus Torvalds Date: Tue Aug 4 15:39:55 2009 -0700 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Read buffer overflow ALSA: hda: Correct EAPD for Dell Inspiron 1525 ALSA: hda: warn on spurious response ALSA: hda: remember last command for each codec ALSA: hda: read CORBWP inside reg_lock ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io ALSA: hda: take cmd_mutex in probe_codec() ALSA: hda: track CIRB/CORB command/response states for each codec ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527 commit 9f3eea6a2fbf5a07625713dc35e5f8fb91adb12f Merge: 2cf812d cbe9352 Author: Linus Torvalds Date: Tue Aug 4 15:39:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty-ldisc: be more careful in 'put_ldisc' locking tty-ldisc: turn ldisc user count into a proper refcount tty-ldisc: make refcount be atomic_t 'users' count commit 2cf812d732442e86c1e2018e23ad82f9bc594a38 Merge: ae83060 14d9fa3 Author: Linus Torvalds Date: Tue Aug 4 15:39:16 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG block: Update topology documentation block: Stack optimal I/O size block: Add a wrapper for setting minimum request size without a queue block: Make blk_queue_stack_limits use the new stacking interface commit ae83060026537885fd23737af161fee8afd04f4b Merge: 2edb389 357eb46 Author: Linus Torvalds Date: Tue Aug 4 15:38:34 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) ehea: Fix napi list corruption on ifconfig down igbvf: Allow VF driver to correctly recognize failure to set mac 3c59x: Fix build failure with gcc 3.2 sky2: Avoid transmits during sky2_down() iwlagn: do not send key clear commands when rfkill enabled libertas: Read buffer overflow drivers/net/wireless: introduce missing kfree drivers/net/wireless/iwlwifi: introduce missing kfree zd1211rw: fix unaligned access in zd_mac_rx cfg80211: fix regression on beacon world roaming feature cfg80211: add two missing NULL pointer checks ixgbe: Patch to modify 82598 PCIe completion timeout values bluetooth: rfcomm_init bug fix mlx4_en: Fix double pci unmapping. mISDN: Fix handling of receive buffer size in L1oIP pcnet32: VLB support fixes pcnet32: remove superfluous NULL pointer check in pcnet32_probe1() net: restore the original spinlock to protect unicast list netxen: fix coherent dma mask setting mISDN: Read buffer overflow ... commit 2edb3898b82a20ec459a67fcf76ceddcbecfe395 Merge: c71c090 ffd4bc2 Author: Linus Torvalds Date: Tue Aug 4 15:38:10 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (23 commits) [SCSI] sd: Avoid sending extended inquiry to legacy devices [SCSI] libsas: fix wide port hotplug issues [SCSI] libfc: fix a circular locking warning during sending RRQ [SCSI] qla4xxx: Remove hiwat code so scsi eh does not get escalated when we can make progress [SCSI] qla4xxx: Fix srb lookup in qla4xxx_eh_device_reset [SCSI] qla4xxx: Fix Driver Fault Recovery Completion [SCSI] qla4xxx: add timeout handler [SCSI] qla4xxx: Correct Extended Sense Data Errors [SCSI] libiscsi: disable bh in and abort handler. [SCSI] zfcp: Fix tracing of request id for abort requests [SCSI] zfcp: Fix wka port processing [SCSI] zfcp: avoid double notify in lowmem scenario [SCSI] zfcp: Add port only once to FC transport class [SCSI] zfcp: Recover from stalled outbound queue [SCSI] zfcp: Fix erp escalation procedure [SCSI] zfcp: Fix logic for physical port close [SCSI] zfcp: Use -EIO for SBAL allocation failures [SCSI] zfcp: Use unchained mode for small ct and els requests [SCSI] zfcp: Use correct flags for zfcp_erp_notify [SCSI] zfcp: Return -ENOMEM for allocation failures in zfcp_fsf ... commit c71c090ff9c474d70af4796b5ea9f548a9d3b6b8 Merge: 78ec75c c271834 Author: Linus Torvalds Date: Tue Aug 4 15:35:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: print debug statements only on error amd64_edac: fix ECC checking commit 78ec75cd1c81e01909005f392954c797f686d7bc Merge: 1ee5332cf c96e7c7 Author: Linus Torvalds Date: Tue Aug 4 15:34:30 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/ttm: Read buffer overflow drm/radeon: Read buffer overflow drm/ttm: Fix a sync object leak. drm/radeon/kms: fix memory leak in radeon_driver_load_kms drm/radeon/kms: fix nomodeset. drm/ttm: Fix a potential comparison of structs. drm/radeon/kms: fix rv515 VRAM initialisation. drm/radeon: add some new r7xx pci ids drm: Catch stop possible NULL pointer reference drm: Small logic fix in drm_mode_setcrtc commit 1ee5332cf67c2f5f468ad1a59033d57453bcad1a Merge: 0786820 cae5a39 Author: Linus Torvalds Date: Tue Aug 4 15:34:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-2.6: parisc: hppb.c - fix printk format strings parisc: parisc-agp.c - use correct page_mask function parisc: sticore.c - check return values parisc: dino.c - check return value of pci_assign_resource() parisc: hp_sdc_mlc.c - check return value of down_trylock() parisc: includecheck fix for ccio-dma.c parisc: Set correct bit in protection flags parisc: isa-eeprom - Fix loff_t usage parisc: fixed faulty check in lba_pci parisc: Fix read buffer overflow in pdc_stable driver parisc: Fix GOT overflow during module load on 64bit kernel commit 07868201070d87484bd00610a4921e879be78746 Author: Jonathan Corbet Date: Tue Aug 4 13:35:17 2009 -0600 flex_array: remove unneeded index calculation flex_array_get() calculates an index value, then drops it on the floor; simply remove it. Signed-off-by: Jonathan Corbet Acked-by: Dave Hansen Signed-off-by: Linus Torvalds commit a40694a38a745af0dd7d8b796597ada1dd6caeb7 Merge: ea56342 f265426 Author: Linus Torvalds Date: Tue Aug 4 15:32:40 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING=y perf: Fix read buffer overflow perf top: Add mwait_idle_with_hints to skip_symbols[] perf tools: Fix faulty check perf report: Update for the new FORK/EXIT events perf_counter: Full task tracing perf_counter: Collapse inherit on read() tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE perf_counter tools: Fix link errors with older toolchains commit ea5634246beaedd91b93d7e7fce7d825232d1b78 Merge: 7193675 07903af Author: Linus Torvalds Date: Tue Aug 4 15:32:22 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix race in cpupri introduced by cpumask_var changes sched: Fix latencytop and sleep profiling vs group scheduling commit 7193675dc8ffa0325d013602d2bbccc0954db502 Merge: 9c66812 70d715f Author: Linus Torvalds Date: Tue Aug 4 15:32:08 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW commit 9c66812b6bee225950431de51dfc9dc664905038 Merge: b5a7c9a e16852c Author: Linus Torvalds Date: Tue Aug 4 15:31:51 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix missing function_graph events when we splice_read from trace_pipe tracing: Fix invalid function_graph entry trace: stop tracer in oops_enter() ftrace: Only update $offset when we update $ref_func ftrace: Fix the conditional that updates $ref_func tracing: only truncate ftrace files when O_TRUNC is set tracing: show proper address for trace-printk format commit b5a7c9a0b3c5de22e1762120063daae9f91d5197 Merge: 067e181 1cef8e4 Author: Linus Torvalds Date: Tue Aug 4 15:29:25 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: twl4030 irq fixes commit 067e18133f01ee0136bcec2633eb93f7320721a2 Merge: 3f5760b dc731fb Author: Linus Torvalds Date: Tue Aug 4 15:28:59 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Work around compilation warning in arch/x86/kernel/apm_32.c x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq() x86, 32-bit: Fix double accounting in reserve_top_address() x86: Don't use current_cpu_data in x2apic phys_pkg_id x86, UV: Fix UV apic mode x86, UV: Fix macros for accessing large node numbers x86, UV: Delete mapping of MMR rangs mapped by BIOS x86, UV: Handle missing blade-local memory correctly x86: fix assembly constraints in native_save_fl() x86, msr: execute on the correct CPU subset x86: Fix assert syntax in vmlinux.lds.S x86: Make 64-bit efi_ioremap use ioremap on MMIO regions x86: Add quirk to make Apple MacBook5,2 use reboot=pci x86: Fix CPA memtype reserving in the set_pages_array*() cases x86, pat: Fix set_memory_wc related corruption x86: fix section mismatch for i386 init code commit 3f5760b90eb3bacfaa4d4c3e584152468ed327ca Merge: 624720e 4bc5d34 Author: Linus Torvalds Date: Tue Aug 4 15:28:46 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Make cpufreq suspend code conditional on powerpc. [CPUFREQ] Fix a kobject reference bug related to managed CPUs [CPUFREQ] Do not set policy for offline cpus [CPUFREQ] Fix NULL pointer dereference regression in conservative governor commit 624720e09c9b7913ef4bc6989878a6fcb7ecdff8 Merge: 849c9ca 01a261e Author: Linus Torvalds Date: Tue Aug 4 15:28:23 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix missing unlock in error path of nilfs_mdt_write_page nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes commit 849c9caa60642095060e9c21f14687ae9149a6f3 Merge: a33a052 d098564 Author: Linus Torvalds Date: Tue Aug 4 15:27:56 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Update readme to reflect forceuid mount parms cifs: Read buffer overflow cifs: show noforceuid/noforcegid mount options (try #2) cifs: reinstate original behavior when uid=/gid= options are specified [CIFS] Updates fs/cifs/CHANGES cifs: fix error handling in mount-time DFS referral chasing code commit cbe9352fa08f90aa03b4dbf1bbabfc95d196e562 Author: Linus Torvalds Date: Mon Aug 3 14:54:56 2009 -0700 tty-ldisc: be more careful in 'put_ldisc' locking Use 'atomic_dec_and_lock()' to make sure that we always hold the tty_ldisc_lock when the ldisc count goes to zero. That way we can never race against 'tty_ldisc_try()' increasing the count again. Reported-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds Tested-by: Sergey Senozhatsky Signed-off-by: Greg Kroah-Hartman commit 65b770468e98941e45e19780dff9283e663e6b8b Author: Linus Torvalds Date: Mon Aug 3 11:11:19 2009 -0700 tty-ldisc: turn ldisc user count into a proper refcount By using the user count for the actual lifetime rules, we can get rid of the silly "wait_for_idle" logic, because any busy ldisc will automatically stay around until the last user releases it. This avoids a host of odd issues, and simplifies the code. So now, when the last ldisc reference is dropped, we just release the ldisc operations struct reference, and free the ldisc. It looks obvious enough, and it does work for me, but the counting _could_ be off. It probably isn't (bad counting in the new version would generally imply that the old code did something really bad, like free an ldisc with a non-zero count), but it does need some testing, and preferably somebody looking at it. With this change, both 'tty_ldisc_put()' and 'tty_ldisc_deref()' are just aliases for the new ref-counting 'put_ldisc()'. Both of them decrement the ldisc user count and free it if it goes down to zero. They're identical functions, in other words. But the reason they still exist as sepate functions is that one of them was exported (tty_ldisc_deref) and had a stupid name (so I don't want to use it as the main name), and the other one was used in multiple places (and I didn't want to make the patch larger just to rename the users). In addition to the refcounting, I did do some minimal cleanup. For example, now "tty_ldisc_try()" actually returns the ldisc it got under the lock, rather than returning true/false and then the caller would look up the ldisc again (now without the protection of the lock). That said, there's tons of dubious use of 'tty->ldisc' without obviously proper locking or refcounting left. I expressly did _not_ want to try to fix it all, keeping the patch minimal. There may or may not be bugs in that kind of code, but they wouldn't be _new_ bugs. That said, even if the bugs aren't new, the timing and lifetime will change. For example, some silly code may depend on the 'tty->ldisc' pointer not changing because they hold a refcount on the 'ldisc'. And that's no longer true - if you hold a ref on the ldisc, the 'ldisc' itself is safe, but tty->ldisc may change. So the proper locking (remains) to hold tty->ldisc_mutex if you expect tty->ldisc to be stable. That's not really a _new_ rule, but it's an example of something that the old code might have unintentionally depended on and hidden bugs. Whatever. The patch _looks_ sensible to me. The only users of ldisc->users are: - get_ldisc() - atomically increment the count - put_ldisc() - atomically decrements the count and releases if zero - tty_ldisc_try_get() - creates the ldisc, and sets the count to 1. The ldisc should then either be released, or be attached to a tty. Signed-off-by: Linus Torvalds Tested-by: OGAWA Hirofumi Tested-by: Sergey Senozhatsky Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 18eac1cc100fa2afd5f39085aae6b694e417734b Author: Linus Torvalds Date: Mon Aug 3 10:58:29 2009 -0700 tty-ldisc: make refcount be atomic_t 'users' count This is pure preparation of changing the ldisc reference counting to be a true refcount that defines the lifetime of the ldisc. But this is a purely syntactic change for now to make the next steps easier. This patch should make no semantic changes at all. But I wanted to make the ldisc refcount be an atomic (I will be touching it without locks soon enough), and I wanted to rename it so that there isn't quite as much confusion between 'ldo->refcount' (ldisk operations refcount) and 'ld->refcount' (ldisc refcount itself) in the same file. So it's now an atomic 'ld->users' count. It still starts at zero, despite having a reference from 'tty->ldisc', but that will change once we turn it into a _real_ refcount. Signed-off-by: Linus Torvalds Tested-by: OGAWA Hirofumi Tested-by: Sergey Senozhatsky Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 14d9fa352592582e457cf75022202766baac1348 Author: John Stoffel Date: Tue Aug 4 22:10:17 2009 +0200 Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG Make Block Layer SG support v4 the default, since recent udev versions depend on this to access serial numbers and other low level info properly. This should be backported to older kernels as well, since most distros have enabled this for a long time. Signed-off-by: John Stoffel Cc: stable@kernel.org Signed-off-by: Jens Axboe commit 357eb46d8f275b4e8484541234ea3ba06065e258 Author: Hannes Hering Date: Tue Aug 4 11:48:39 2009 -0700 ehea: Fix napi list corruption on ifconfig down This patch fixes the napi list handling when an ehea interface is shut down to avoid corruption of the napi list. Signed-off-by: Hannes Hering Signed-off-by: David S. Miller commit e0cff5ed27acd355264b210d9622da801a431e19 Author: Alexander Duyck Date: Tue Aug 4 11:46:41 2009 -0700 igbvf: Allow VF driver to correctly recognize failure to set mac The VF driver was not correctly recognizing that it did not correctly set it's mac address. As a result the VF driver was unable to receive network traffic until being unloaded and reloaded. The issue was root caused to the fact that the CTS bit was not taken into account when checking for the request being NAKed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4bc5d34135039566b8d6efa2de7515b2be505da8 Author: Dave Jones Date: Tue Aug 4 14:03:25 2009 -0400 [CPUFREQ] Make cpufreq suspend code conditional on powerpc. The suspend code runs with interrupts disabled, and the powerpc workaround we do in the cpufreq suspend hook calls the drivers ->get method. powernow-k8's ->get does an smp_call_function_single which needs interrupts enabled cpufreq's suspend/resume code was added in 42d4dc3f4e1e to work around a hardware problem on ppc powerbooks. If we make all this code conditional on powerpc, we avoid the issue above. Signed-off-by: Dave Jones commit d5194decd0a6f792b2789eebd4ddf022a248f655 Author: Thomas Renninger Date: Wed Jul 29 11:26:20 2009 +0200 [CPUFREQ] Fix a kobject reference bug related to managed CPUs The first offline/online cycle is successful, the second not. Doing: echo 0 >cpu1/online echo 1 >cpu1/online echo 0 >cpu1/online The last command will trigger: Jul 22 14:39:50 linux kernel: [ 593.210125] ------------[ cut here ]------------ Jul 22 14:39:50 linux kernel: [ 593.210139] WARNING: at lib/kref.c:43 kref_get+0x23/0x2b() Jul 22 14:39:50 linux kernel: [ 593.210144] Hardware name: To Be Filled By O.E.M. Jul 22 14:39:50 linux kernel: [ 593.210148] Modules linked in: powernow_k8 Jul 22 14:39:50 linux kernel: [ 593.210158] Pid: 378, comm: kondemand/2 Tainted: G W 2.6.31-rc2 #38 Jul 22 14:39:50 linux kernel: [ 593.210163] Call Trace: Jul 22 14:39:50 linux kernel: [ 593.210171] [] ? kref_get+0x23/0x2b Jul 22 14:39:50 linux kernel: [ 593.210181] [] warn_slowpath_common+0x77/0xa4 Jul 22 14:39:50 linux kernel: [ 593.210190] [] warn_slowpath_null+0xf/0x11 Jul 22 14:39:50 linux kernel: [ 593.210198] [] kref_get+0x23/0x2b Jul 22 14:39:50 linux kernel: [ 593.210206] [] kobject_get+0x1a/0x22 Jul 22 14:39:50 linux kernel: [ 593.210214] [] cpufreq_cpu_get+0x8a/0xcb Jul 22 14:39:50 linux kernel: [ 593.210222] [] __cpufreq_driver_getavg+0x1d/0x67 Jul 22 14:39:50 linux kernel: [ 593.210231] [] do_dbs_timer+0x158/0x27f Jul 22 14:39:50 linux kernel: [ 593.210240] [] worker_thread+0x200/0x313 ... The output continues on every do_dbs_timer ondemand freq checking poll. This regression was introduced by git commit: 3f4a782b5ce2698b1870b5a7b573cd721d4fce33 The policy is released when the cpufreq device is removed in: __cpufreq_remove_dev(): /* if this isn't the CPU which is the parent of the kobj, we * only need to unlink, put and exit */ Not creating the symlink is not sever at all. As long as: sysfs_remove_link(&sys_dev->kobj, "cpufreq"); handles it gracefully that the symlink did not exist. Possibly no error should be returned at all, because ondemand governor would still provide the same functionality. Userspace in userspace gov case might be confused if the link is missing. Resolves http://bugzilla.kernel.org/show_bug.cgi?id=13903 CC: Mathieu Desnoyers CC: Venkatesh Pallipadi Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 42c74b84c64633dd3badbfc2abd2ef1728b64b30 Author: Prarit Bhargava Date: Mon Aug 3 10:58:11 2009 -0400 [CPUFREQ] Do not set policy for offline cpus Suspend/Resume fails on multi socket, multi core systems because the cpufreq code erroneously sets the per_cpu policy_cpu value when a logical cpu is offline. This most notably results in missing sysfs files that are used to set the cpu frequencies of the various cpus. Signed-off-by: Prarit Bhargava Signed-off-by: Dave Jones commit 26d204afa18f7df177f21bdb3759e0098ca8f7d5 Author: Pallipadi, Venkatesh Date: Wed Jul 29 13:36:10 2009 -0700 [CPUFREQ] Fix NULL pointer dereference regression in conservative governor Commit ee88415caf736b89500f16e0a545614541a45005 introduced this regression when it removed enable bit in cpu_dbs_info_s. That added a possibility of dbs_cpufreq_notifier getting called for a CPU that is not yet managed by conservative governor. That will happen as the transition notifier is set as soon as one CPU switches to conservative governor and other CPUs can get a NULL pointer dereference without the enable bit check. Add the enable bit back again. Reported-by: Lermytte Christophe Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 1cef8e41073efe47e809f49670eb461307e52ccc Author: Russell King Date: Mon Jul 27 11:30:48 2009 +0530 mfd: twl4030 irq fixes The TWL4030 IRQ handler has a bug which leads to spinlock lock-up. It is calling the 'unmask' function in a process context. :The mask/unmask/ack functions are only designed to be called from the IRQ handler code, or the proper API interfaces found in linux/interrupt.h. Also there is no need to have IRQ chaining mechanism. The right way to handle this is to claim the parent interrupt as a standard interrupt and arrange for handle_twl4030_pih to take care of the rest of the devices. Mail thread on this issue can be found at: http://marc.info/?l=linux-arm-kernel&m=124629940123396&w=2 Signed-off-by: Russell King Tested-by: Santosh Shilimkar Acked-by: Tony Lindgren Signed-off-by: Samuel Ortiz commit f26542600e605482a1231c44ddb2966d69bd09b0 Author: Ingo Molnar Date: Mon Jun 29 10:40:20 2009 +0200 perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING=y If user has already enabled profiling support in the kernel (for oprofile, old-style profiling of ftrace) then offer up perfcounters with a y default in interactive kconfig sessions. Still keep it off by default otherwise. Cc: Peter Zijlstra Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit dc731fbbadf5d65c98fcd6c86472aa286c16458a Author: Subrata Modak Date: Tue Jul 21 08:02:27 2009 +0530 x86: Work around compilation warning in arch/x86/kernel/apm_32.c The following fix was initially inspired by David Howells fix few days back: http://lkml.org/lkml/2009/7/9/109 However, Ingo disapproves such fixes as it's dangerous (it can hide future, relevant warnings) - in something as performance-uncritical. So, initialize 'err' to '0' to work around a GCC false positive warning: http://lkml.org/lkml/2009/7/18/89 Signed-off-by: Subrata Modak Cc: Sachin P Sant Cc: David Howells Cc: Balbir Singh Cc: Stephen Rothwell LKML-Reference: <20090721023226.31855.67236.sendpatchset@subratamodak.linux.ibm.com> Signed-off-by: Ingo Molnar commit 2a5ef41661b56cf4eee042a6967c4e14b63e8eac Author: Jack Steiner Date: Mon Jul 20 09:28:41 2009 -0500 x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq() In uv_setup_irq(), the call to create_irq() initially assigns IRQ vectors to cpu 0. The subsequent call to assign_irq_vector() in arch_enable_uv_irq() migrates the IRQ to another cpu and frees the cpu 0 vector - at least it will be freed as soon as the "IRQ move" completes. arch_enable_uv_irq() needs to send a cleanup IPI to complete the IRQ move. Otherwise, assignment of GRU interrupts on large systems (>200 cpus) will exhaust the cpu 0 interrupt vectors and initialization of the GRU driver will fail. Signed-off-by: Jack Steiner LKML-Reference: <20090720142840.GA8885@sgi.com> Signed-off-by: Ingo Molnar commit 6abf65510944d33b47575d151c6b318993c8d2b5 Author: Jan Beulich Date: Thu Jul 30 16:49:30 2009 +0100 x86, 32-bit: Fix double accounting in reserve_top_address() With VMALLOC_END included in the calculation of MAXMEM (as of 2.6.28) it is no longer correct to also bump __VMALLOC_RESERVE in reserve_top_address(). Doing so results in needlessly small lowmem. Signed-off-by: Jan Beulich LKML-Reference: <4A71DD2A020000780000D482@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit d8c7eb34c2db6268909ae8c3958be63bde254292 Author: Yinghai Lu Date: Sat Jul 25 03:23:09 2009 -0700 x86: Don't use current_cpu_data in x2apic phys_pkg_id One system has socket 1 come up as BSP. kexeced kernel reports BSP as: [ 1.524550] Initializing cgroup subsys cpuacct [ 1.536064] initial_apicid:20 [ 1.537135] ht_mask_width:1 [ 1.538128] core_select_mask:f [ 1.539126] core_plus_mask_width:5 [ 1.558479] CPU: Physical Processor ID: 0 [ 1.559501] CPU: Processor Core ID: 0 [ 1.560539] CPU: L1 I cache: 32K, L1 D cache: 32K [ 1.579098] CPU: L2 cache: 256K [ 1.580085] CPU: L3 cache: 24576K [ 1.581108] CPU 0/0x20 -> Node 0 [ 1.596193] CPU 0 microcode level: 0xffff0008 It doesn't have correct physical processor id and will get an error: [ 38.840859] CPU0 attaching sched-domain: [ 38.848287] domain 0: span 0,8,72 level SIBLING [ 38.851151] groups: 0 8 72 [ 38.858137] domain 1: span 0,8-15,72-79 level MC [ 38.868944] groups: 0,8,72 9,73 10,74 11,75 12,76 13,77 14,78 15,79 [ 38.881383] ERROR: parent span is not a superset of domain->span [ 38.890724] domain 2: span 0-7,64-71 level CPU [ 38.899237] ERROR: domain->groups does not contain CPU0 [ 38.909229] groups: 8-15,72-79 [ 38.912547] ERROR: groups don't span domain->span [ 38.919665] domain 3: span 0-127 level NODE [ 38.930739] groups: 0-7,64-71 8-15,72-79 16-23,80-87 24-31,88-95 32-39,96-103 40-47,104-111 48-55,112-119 56-63,120-127 it turns out: we can not use current_cpu_data in phys_pgd_id for x2apic. identify_boot_cpu() is called by check_bugs() before smp_prepare_cpus() and till smp_prepare_cpus() current_cpu_data for bsp is assigned with boot_cpu_data. Just make phys_pkg_id for x2apic is aligned to xapic. Signed-off-by: Yinghai Lu Acked-by: Suresh Siddha Cc: Andrew Morton LKML-Reference: <4A6ADD0D.10002@kernel.org> Signed-off-by: Ingo Molnar commit c5997fa8d7aca3c9876a6ff71bacf27c41095ce9 Author: Jack Steiner Date: Mon Jul 27 09:38:56 2009 -0500 x86, UV: Fix UV apic mode Change SGI UV default apicid mode to "physical". This is required to match settings in the UV hub chip. Signed-off-by: Jack Steiner LKML-Reference: <20090727143856.GA8905@sgi.com> Signed-off-by: Ingo Molnar commit 67e83f309ed0baaf01a2c956b5174905bcdc1242 Author: Jack Steiner Date: Mon Jul 27 09:38:08 2009 -0500 x86, UV: Fix macros for accessing large node numbers The UV chipset automatically supplies the upper bits on nodes being referenced by MMR accesses. These bit can be deleted from the hub addressing macros. Signed-off-by: Jack Steiner LKML-Reference: <20090727143808.GA8076@sgi.com> Signed-off-by: Ingo Molnar commit cc5e4fa1bd4d2f56da07f9092281afdcd2374ab9 Author: Jack Steiner Date: Mon Jul 27 09:36:56 2009 -0500 x86, UV: Delete mapping of MMR rangs mapped by BIOS The UV BIOS has added additional MMR ranges that are mapped via EFI virtual mode mappings. These ranges should be deleted from ranges mapped by uv_system_init(). Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org LKML-Reference: <20090727143656.GA7698@sgi.com> Signed-off-by: Ingo Molnar commit 6c7184b77464261b7d55583a48accbd1350923a3 Author: Jack Steiner Date: Mon Jul 27 09:35:07 2009 -0500 x86, UV: Handle missing blade-local memory correctly UV blades may not have any blade-local memory. Add a field (nid) to the UV blade structure to indicates whether the node has local memory. This is needed by the GRU driver (pushed separately). Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org LKML-Reference: <20090727143507.GA7006@sgi.com> Signed-off-by: Ingo Molnar commit e16852cfc5580b88cb327413ab8c89375f380592 Merge: bdff787 74e7ff8 Author: Ingo Molnar Date: Tue Aug 4 13:58:28 2009 +0200 Merge branch 'tracing/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent commit 57ca7deb062abf56168d15f000c16e25f88a9cf3 Author: Anders Grafström Date: Tue Aug 4 13:11:47 2009 +0200 jffs2: Fix return value from jffs2_do_readpage_nolock() This fixes "kernel BUG at fs/jffs2/file.c:251!". This pseudocode hopefully illustrates the scenario that triggers it: jffs2_write_begin { jffs2_do_readpage_nolock { jffs2_read_inode_range { jffs2_read_dnode { Data CRC 33c102e9 != calculated CRC 0ef77e7b for node at 005d42e4 return -EIO; } } ClearPageUptodate(pg); return 0; } } jffs2_write_end { BUG_ON(!PageUptodate(pg)); } Signed-off-by: Anders Grafström Signed-off-by: David Woodhouse commit c2718348b41a8e7646516d9af8bb0231c6a44374 Author: Doug Thompson Date: Tue Aug 4 12:02:20 2009 +0200 amd64_edac: print debug statements only on error Add forgotten return calls for the successful cases. Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 7e030655dda5b5efc4305e2a8f46c4967d32eb3d Author: Roel Kluin Date: Sun Aug 2 13:43:11 2009 +0200 perf: Fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Cc: a.p.zijlstra@chello.nl Cc: Andrew Morton LKML-Reference: <4A757BCF.40101@gmail.com> Signed-off-by: Ingo Molnar commit 70d715fd0597f18528f389b5ac59102263067744 Author: Hiroshi Shimamoto Date: Mon Aug 3 11:48:19 2009 +0900 posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW Prevent calling do_nanosleep() with clockid CLOCK_MONOTONIC_RAW, it may cause oops, such as NULL pointer dereference. Signed-off-by: Hiroshi Shimamoto Cc: Andrew Morton Cc: Thomas Gleixner Cc: John Stultz Cc: LKML-Reference: <4A764FF3.50607@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 0cb13536c3382004bd9b833565e2af33f26ed1fb Author: Jean Delvare Date: Mon Aug 3 21:10:01 2009 -0700 3c59x: Fix build failure with gcc 3.2 Fix the following build failure with gcc 3.2: CC [M] drivers/net/3c59x.o drivers/net/3c59x.c:2726:1: directives may not be used inside a macro argument drivers/net/3c59x.c:2725:59: unterminated argument list invoking macro "pr_err" drivers/net/3c59x.c: In function `dump_tx_ring': drivers/net/3c59x.c:2727: implicit declaration of function `pr_err' drivers/net/3c59x.c:2731: syntax error before ')' token Apparently gcc 3.2 doesn't like #if interleaved with a macro call. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit d098564f3b2b5d555e51bca765a6a9e0dda8f2cd Author: Steve French Date: Tue Aug 4 03:53:28 2009 +0000 [CIFS] Update readme to reflect forceuid mount parms Signed-off-by: Steve French commit c96e7c7a3a79931446ecf9494a8415e4d164ebd8 Author: Roel Kluin Date: Mon Aug 3 14:22:53 2009 +0200 drm/ttm: Read buffer overflow Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin Signed-off-by: Dave Airlie commit fa99239cb73dbf419bea9f334b85ba94ac88a532 Author: Roel Kluin Date: Mon Aug 3 14:20:32 2009 +0200 drm/radeon: Read buffer overflow Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin Signed-off-by: Dave Airlie commit fee280d3fd9bc5247bef9f4ab35a4693bfffdcfd Author: Thomas Hellstrom Date: Mon Aug 3 12:39:06 2009 +0200 drm/ttm: Fix a sync object leak. If there are multiple simultaneous waiters for the same buffer object, a temporary reference to its sync object may be leaked. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit c9b7fb54f0a51e587fa09be3a85666b43d36a850 Author: Xiaotian Feng Date: Wed Jul 29 21:28:24 2009 +0800 drm/radeon/kms: fix memory leak in radeon_driver_load_kms This patch fixes following kmemleak report: unreferenced object 0xffff88022cb53000 (size 4096): comm "work_for_cpu", pid 97, jiffies 4294672345 backtrace: [] create_object+0x19f/0x2a0 [] kmemleak_alloc+0x26/0x4c [] __kmalloc+0x187/0x1b0 [] kzalloc.clone.0+0x13/0x15 [radeon] [] radeon_driver_load_kms+0x26/0xe1 [radeon] [] drm_get_dev+0x37f/0x480 [drm] [] radeon_pci_probe+0x15/0x269 [radeon] [] local_pci_probe+0x17/0x1b [] do_work_for_cpu+0x18/0x2a [] kthread+0x8a/0x92 [] child_rip+0xa/0x20 [] 0xffffffffffffffff Signed-off-by: Xiaotian Feng Signed-off-by: Dave Airlie commit de05065ff5d6878523317ff4a0b48a1239f80f73 Author: Dave Airlie Date: Mon Aug 3 12:05:34 2009 +1000 drm/radeon/kms: fix nomodeset. The ordering was wrong to get the nomodeset parameter to work. Signed-off-by: Dave Airlie commit 6d0897ba58139523d37e97855ee0fe2d78629da6 Author: Thomas Hellstrom Date: Fri Jul 31 10:47:51 2009 +0200 drm/ttm: Fix a potential comparison of structs. On some architectures the comparison may cause a compilation failure. Original partial fix Signed-off-by: Thomas Hellstrom Signed-off-by: Pekka Paalanen Signed-off-by: Dave Airlie commit 0924d942256ac470c5f7b4ebaf7fe0415fc6fa59 Author: Dave Airlie Date: Mon Aug 3 12:03:03 2009 +1000 drm/radeon/kms: fix rv515 VRAM initialisation. This got missed in the VRAM init re-workings. Signed-of-by: Dave Airlie commit 7320700df1864b601cef5adbddce8654a0e3f78b Author: Alex Deucher Date: Mon Aug 3 17:01:53 2009 -0400 drm/radeon: add some new r7xx pci ids Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 4cb72b1727140f131b2df5f37c2e54f5965f98c2 Author: Jakob Bornecrantz Date: Mon Aug 3 13:43:59 2009 +0100 drm: Catch stop possible NULL pointer reference This was caught by Weiss. Also added some comments to the fb_changed and mode_changed variables to explain what they do. Signed-off-by: Jakob Bornecrantz Tested-by: Thomas White Signed-off-by: Dave Airlie commit 7781de74568bddfefbd2d32a934a8c791a2420cd Author: Jakob Bornecrantz Date: Mon Aug 3 13:43:58 2009 +0100 drm: Small logic fix in drm_mode_setcrtc Match the logic to the comments in the debug message Signed-off-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit eca4c3d2dd66d0230140c9af05dee591df6f0e42 Merge: f6caa14 99f1b01 Author: David S. Miller Date: Mon Aug 3 19:05:50 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit f6caa14aa0b126d4a2933907d1519611b2a8524a Author: Mike McCormack Date: Fri Jul 31 01:57:42 2009 +0000 sky2: Avoid transmits during sky2_down() This patch supersedes my previous patch "sky2: Avoid transmitting during sky2_restart". I have reworked the patch to avoid crashes during both sky2_restart() and sky2_set_ringparam(). Without this patch, the sky2 driver can be crashed by doing: # pktgen eth1 & (transmit many packets on eth1) # ethtool -G eth1 tx 510 I am aware you object to storing extra state, but I can't see a way around this. Without remembering that we're restarting, netif_wake_queue() is called in the ISR from sky2_tx_complete(), and netif_tx_lock() is used in sky2_tx_done(). If anybody can see a way around this, please let me know. Signed-off-by: Mike McCormack Signed-off-by: David S. Miller commit f1f029c7bfbf4ee1918b90a431ab823bed812504 Author: H. Peter Anvin Date: Mon Aug 3 16:33:40 2009 -0700 x86: fix assembly constraints in native_save_fl() From Gabe Black in bugzilla 13888: native_save_fl is implemented as follows: 11static inline unsigned long native_save_fl(void) 12{ 13 unsigned long flags; 14 15 asm volatile("# __raw_save_flags\n\t" 16 "pushf ; pop %0" 17 : "=g" (flags) 18 : /* no input */ 19 : "memory"); 20 21 return flags; 22} If gcc chooses to put flags on the stack, for instance because this is inlined into a larger function with more register pressure, the offset of the flags variable from the stack pointer will change when the pushf is performed. gcc doesn't attempt to understand that fact, and address used for pop will still be the same. It will write to somewhere near flags on the stack but not actually into it and overwrite some other value. I saw this happen in the ide_device_add_all function when running in a simulator I work on. I'm assuming that some quirk of how the simulated hardware is set up caused the code path this is on to be executed when it normally wouldn't. A simple fix might be to change "=g" to "=r". Reported-by: Gabe Black Signed-off-by: H. Peter Anvin Cc: Stable Team commit bab9a3da93bfe09c609407dedae5708b07a7ac56 Author: Borislav Petkov Date: Thu Jul 30 11:10:01 2009 +0200 x86, msr: execute on the correct CPU subset Make rdmsr_on_cpus/wrmsr_on_cpus execute on the current CPU only if it is in the supplied bitmask. Signed-off-by: Borislav Petkov Signed-off-by: H. Peter Anvin commit d2ba8b211bb8abc29aa627dbd4dce08cfbc8082b Author: H. Peter Anvin Date: Mon Aug 3 14:44:54 2009 -0700 x86: Fix assert syntax in vmlinux.lds.S Older versions of binutils did not accept the naked "ASSERT" syntax; it is considered an expression whose value needs to be assigned to something. Reported-tested-and-fixed-by: Jean Delvare Signed-off-by: H. Peter Anvin commit 24e2fb615fd6b624c320cec9ea9d91a75dad902e Author: Roel Kluin Date: Sun Aug 2 13:00:18 2009 +0200 cifs: Read buffer overflow Check whether index is within bounds before testing the element. Acked-by: Jeff Layton Signed-off-by: Roel Kluin Signed-off-by: Steve French commit 4486d6ede16b362f89b29845af6fe1a26ae78a54 Author: Jeff Layton Date: Mon Aug 3 12:45:10 2009 -0400 cifs: show noforceuid/noforcegid mount options (try #2) Since forceuid is the default, we now need to show when it's disabled. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 6a7bbd57ed50bb62c9a81ae5f2e202ca689e5964 Author: Paul Mackerras Date: Mon Aug 3 22:38:10 2009 +1000 x86: Make 64-bit efi_ioremap use ioremap on MMIO regions Booting current 64-bit x86 kernels on the latest Apple MacBook (MacBook5,2) via EFI gives the following warning: [ 0.182209] ------------[ cut here ]------------ [ 0.182222] WARNING: at arch/x86/mm/pageattr.c:581 __cpa_process_fault+0x44/0xa0() [ 0.182227] Hardware name: MacBook5,2 [ 0.182231] CPA: called for zero pte. vaddr = ffff8800ffe00000 cpa->vaddr = ffff8800ffe00000 [ 0.182236] Modules linked in: [ 0.182242] Pid: 0, comm: swapper Not tainted 2.6.31-rc4 #6 [ 0.182246] Call Trace: [ 0.182254] [] ? __cpa_process_fault+0x44/0xa0 [ 0.182261] [] warn_slowpath_common+0x78/0xd0 [ 0.182266] [] warn_slowpath_fmt+0x64/0x70 [ 0.182272] [] ? update_page_count+0x3c/0x50 [ 0.182280] [] ? phys_pmd_init+0x140/0x22e [ 0.182286] [] __cpa_process_fault+0x44/0xa0 [ 0.182292] [] __change_page_attr_set_clr+0x5f0/0xb40 [ 0.182301] [] ? vm_unmap_aliases+0x175/0x190 [ 0.182307] [] change_page_attr_set_clr+0xfe/0x3d0 [ 0.182314] [] _set_memory_uc+0x2a/0x30 [ 0.182319] [] set_memory_uc+0x7b/0xb0 [ 0.182327] [] efi_enter_virtual_mode+0x2ad/0x2c9 [ 0.182334] [] start_kernel+0x2db/0x3f4 [ 0.182340] [] x86_64_start_reservations+0x99/0xb9 [ 0.182345] [] x86_64_start_kernel+0xe0/0xf2 [ 0.182357] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.182982] init_memory_mapping: 00000000ffffc000-0000000100000000 [ 0.182993] 00ffffc000 - 0100000000 page 4k This happens because the 64-bit version of efi_ioremap calls init_memory_mapping for all addresses, regardless of whether they are RAM or MMIO. The EFI tables on this machine ask for runtime access to some MMIO regions: [ 0.000000] EFI: mem195: type=11, attr=0x8000000000000000, range=[0x0000000093400000-0x0000000093401000) (0MB) [ 0.000000] EFI: mem196: type=11, attr=0x8000000000000000, range=[0x00000000ffc00000-0x00000000ffc40000) (0MB) [ 0.000000] EFI: mem197: type=11, attr=0x8000000000000000, range=[0x00000000ffc40000-0x00000000ffc80000) (0MB) [ 0.000000] EFI: mem198: type=11, attr=0x8000000000000000, range=[0x00000000ffc80000-0x00000000ffca4000) (0MB) [ 0.000000] EFI: mem199: type=11, attr=0x8000000000000000, range=[0x00000000ffca4000-0x00000000ffcb4000) (0MB) [ 0.000000] EFI: mem200: type=11, attr=0x8000000000000000, range=[0x00000000ffcb4000-0x00000000ffffc000) (3MB) [ 0.000000] EFI: mem201: type=11, attr=0x8000000000000000, range=[0x00000000ffffc000-0x0000000100000000) (0MB) This arranges to pass the EFI memory type through to efi_ioremap, and makes efi_ioremap use ioremap rather than init_memory_mapping if the type is EFI_MEMORY_MAPPED_IO. With this, the above warning goes away. Signed-off-by: Paul Mackerras LKML-Reference: <19062.55858.533494.471153@cargo.ozlabs.ibm.com> Cc: Huang Ying Signed-off-by: H. Peter Anvin commit 6c6c51e4cc11a5456fb1172008f7c69d955af9f6 Author: Paul Mackerras Date: Mon Aug 3 22:47:32 2009 +1000 x86: Add quirk to make Apple MacBook5,2 use reboot=pci The latest Apple MacBook (MacBook5,2) doesn't reboot successfully under Linux; neither the EFI reboot method nor the default method using the keyboard controller works (the system just hangs and doesn't reset). However, the method using the "PCI reset register" at 0xcf9 does work. This adds a quirk to detect this machine via DMI and force the reboot_type to BOOT_CF9. With this it reboots successfully without requiring a command-line option. Note that the EFI code forces reboot_type to BOOT_EFI when the machine is booted via EFI, but this overrides that since the core_initcall runs after the EFI initialization code. Signed-off-by: Paul Mackerras LKML-Reference: <19062.56420.501516.316181@cargo.ozlabs.ibm.com> Signed-off-by: H. Peter Anvin commit 99f1b01562b7dcae75b043114f76163fbf84fcab Author: Reinette Chatre Date: Mon Aug 3 12:10:16 2009 -0700 iwlagn: do not send key clear commands when rfkill enabled Do all key clearing except sending sommands to device when rfkill enabled. When rfkill enabled the interface is brought down and will be brought back up correctly after rfkill is enabled again. Same change is not needed for iwl3945 as it ignores return code when sending key clearing command to device. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13742 Signed-off-by: Reinette Chatre Tested-by: Frans Pop Signed-off-by: John W. Linville commit b929c633b4067be18a335d278a66fd5deef3cabe Author: Roel Kluin Date: Sun Aug 2 09:44:12 2009 +0200 libertas: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 9f9857bb5e147b977b9878c46e3dd87c9e8caf50 Author: Julia Lawall Date: Sat Aug 1 10:55:53 2009 +0200 drivers/net/wireless: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit c37457e69ffd7d3c94cbfcc1c39be9a45dd7ad21 Author: Julia Lawall Date: Mon Aug 3 11:11:45 2009 +0200 drivers/net/wireless/iwlwifi: introduce missing kfree Move orthogonal error handling code up before a kzalloc, so that it doesn't have to free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit dbc1eec485625228895ded6baf6bd01ce2475410 Author: Patrick Simmons Date: Sun Aug 2 02:46:28 2009 -0600 zd1211rw: fix unaligned access in zd_mac_rx Fix an unaligned memory access in the zd_mac_rx function of zd1211rw that causes problems on SPARC64. Signed-off-by: Patrick Simmons Signed-off-by: John W. Linville commit 371842448c05b42d11a4be1c8e4e81d62ecc7534 Author: Luis R. Rodriguez Date: Thu Jul 30 17:43:48 2009 -0700 cfg80211: fix regression on beacon world roaming feature A regression was added through patch a4ed90d6: "cfg80211: respect API on orig_flags on channel for beacon hint" We did indeed respect _orig flags but the intention was not clearly stated in the commit log. This patch fixes firmware issues picked up by iwlwifi when we lift passive scan of beaconing restrictions on channels its EEPROM has been configured to always enable. By doing so though we also disallowed beacon hints on devices registering their wiphy with custom world regulatory domains enabled, this happens to be currently ath5k, ath9k and ar9170. The passive scan and beacon restrictions on those devices would never be lifted even if we did find a beacon and the hardware did support such enhancements when world roaming. Since Johannes indicates iwlwifi firmware cannot be changed to allow beacon hinting we set up a flag now to specifically allow drivers to disable beacon hints for devices which cannot use them. We enable the flag on iwlwifi to disable beacon hints and by default enable it for all other drivers. It should be noted beacon hints lift passive scan flags and beacon restrictions when we receive a beacon from an AP on any 5 GHz non-DFS channels, and channels 12-14 on the 2.4 GHz band. We don't bother with channels 1-11 as those channels are allowed world wide. This should fix world roaming for ath5k, ath9k and ar9170, thereby improving scan time when we receive the first beacon from any AP, and also enabling beaconing operation (AP/IBSS/Mesh) on cards which would otherwise not be allowed to do so. Drivers not using custom regulatory stuff (wiphy_apply_custom_regulatory()) were not affected by this as the orig_flags for the channels would have been cleared upon wiphy registration. I tested this with a world roaming ath5k card. Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit cd3468bad96c00b5a512f551674f36776129520e Author: Johannes Berg Date: Wed Jul 29 22:07:44 2009 +0200 cfg80211: add two missing NULL pointer checks These pointers can be NULL, the is_mesh() case isn't ever hit in the current kernel, but cmp_ies() can be hit under certain conditions. Signed-off-by: Johannes Berg Cc: stable@kernel.org [2.6.29, 2.6.30] Signed-off-by: John W. Linville commit 202ff1ec8e53d5dd36e1a5bd4b0a7ed7dbd45087 Author: Mallikarjuna R Chilakala Date: Mon Aug 3 07:20:38 2009 +0000 ixgbe: Patch to modify 82598 PCIe completion timeout values The default completion timeout values for 82598 should be in the range of 50us to 50ms, however the hardware default for these parts is 500us to 1ms which is less than the 10ms recommended by the pcie spec. To address this we need to increase the value to either 10ms to 250ms for capability version 1 configuration, or 16ms to 55ms for version 2. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit af0d3b103bcfa877343ee338de12002cd50c9ee5 Author: Dave Young Date: Mon Aug 3 04:26:16 2009 +0000 bluetooth: rfcomm_init bug fix rfcomm tty may be used before rfcomm_tty_driver initilized, The problem is that now socket layer init before tty layer, if userspace program do socket callback right here then oops will happen. reporting in: http://marc.info/?l=linux-bluetooth&m=124404919324542&w=2 make 3 changes: 1. remove #ifdef in rfcomm/core.c, make it blank function when rfcomm tty not selected in rfcomm.h 2. tune the rfcomm_init error patch to ensure tty driver initilized before rfcomm socket usage. 3. remove __exit for rfcomm_cleanup_sockets because above change need call it in a __init function. Reported-by: Oliver Hartkopp Tested-by: Oliver Hartkopp Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 8523acfe40efc1a8d3da8f473ca67cb195b06f0c Author: Thomas Hellstrom Date: Mon Aug 3 09:25:45 2009 +0200 x86: Fix CPA memtype reserving in the set_pages_array*() cases The code was incorrectly reserving memtypes using the page virtual address instead of the physical address. Furthermore, the code was not ignoring highmem pages as it ought to. ( upstream does not pass in highmem pages yet - but upcoming graphics code will do it and there's no reason to not handle this properly in the CPA APIs.) Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13884 Signed-off-by: Thomas Hellstrom Acked-by: Suresh Siddha Cc: Cc: dri-devel@lists.sourceforge.net Cc: venkatesh.pallipadi@intel.com LKML-Reference: <1249284345-7654-1-git-send-email-thellstrom@vmware.com> Signed-off-by: Ingo Molnar commit 38a6fe8c013e72c402b37a7ea400387120f460d8 Merge: 320145f 909db80 Author: Russell King Date: Mon Aug 3 17:58:02 2009 +0100 Merge branch 's3c-fixes-rc4-2' of git://aeryn.fluff.org.uk/bjdooks/linux commit 54822de7793bf9aa56d79cc173281cdb23b37f9f Author: Ralf Baechle Date: Mon Aug 3 17:27:19 2009 +0100 MIPS: Wire up accept4 syscall. Signed-off-by: Ralf Baechle commit ce21f4e86f89d352efecd044958db1917033b49b Author: Ralf Baechle Date: Mon Aug 3 12:57:52 2009 +0100 MIPS: VPE: Delete unused function get_tc_unused(). Signed-off-by: Ralf Baechle commit 349c4229ed305146a558008d393c622d715cd11d Author: Ralf Baechle Date: Mon Aug 3 12:56:39 2009 +0100 MIPS: VPE: Fix bogus indentation. Signed-off-by: Ralf Baechle commit f18b51cc1f97ca290256e8f94127f6856a42d605 Author: Ralf Baechle Date: Mon Aug 3 12:54:35 2009 +0100 MIPS: VPE: Make various functions static. None of these is used outside the VPE loader. Signed-off-by: Ralf Baechle commit 477c4b07406357ad93d0e32788dbf3ee814eadaa Author: Ralf Baechle Date: Mon Aug 3 12:26:40 2009 +0100 MIPS: VPE: Free relocation chain on error. This may happen if a bad sequence of relocations is being encountered. Signed-off-by: Ralf Baechle commit e2a9cf96a0af24f33206b4bb98cc3a12242260c1 Author: Raghu Gandham Date: Fri Jul 10 02:01:32 2009 -0700 MIPS: VPE: Fix compiler warning. Signed-off-by: Raghu Gandham Signed-off-by: Ralf Baechle commit 6f9fdeb6761a46ded6bf4b799993a3f235ab853d Author: Ralf Baechle Date: Mon Aug 3 10:50:19 2009 +0100 MIPS: Module: Make error messages unique. There were three different errors resulting in a "dangerous relocation" message. Add the relocation type to the messgages to make them more useful. Signed-off-by: Ralf Baechle commit 39b3d44624e9c54e7406274beaf569fe33af2b96 Author: David Daney Date: Fri Jul 31 14:30:07 2009 -0700 MIPS: Octeon: Run IPI code with interrupts disabled. In mm/slab.c the function do_ccupdate_local requires that interrupts be disabled. If they are not, we panic with CONFIG_DEBUG_SLAB. So we disable interrupts while processing IPIs. Also these are not shared irqs, so get rid of the IRQF_SHARED flag. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 3d4656d68bad84604f5b01f93e066cd02f77154b Author: Roel Kluin Date: Fri Jul 31 14:52:51 2009 +0200 MIPS: Jazz: Fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Ralf Baechle commit 64f1815507f207ec54ee6b9ae69c48bd153e83b4 Author: Julia Lawall Date: Sun Aug 2 10:48:08 2009 +0200 MIPS: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Ralf Baechle commit a1b021d3992d9be03b0abec1a7ed78e713b94206 Author: Florian Fainelli Date: Sat Aug 1 23:51:20 2009 +0200 MIPS: MTX-1: Request button GPIO before setting its direction This patch fixes the following warning at boot time: WARNING: at drivers/gpio/gpiolib.c:83 0x8021d5e0() autorequest GPIO-207 Modules linked in: Call Trace:[<8011e0ec>] 0x8011e0ec [<80110a28>] 0x80110a28 [<80110a28>] 0x80110a28 [..snip..] The current code does not request the GPIO and attempts to set its direction, which is a violation of the GPIO API. This patch also unhardcode the GPIO we request and use the one we defined in the button driver. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 619e22632ea3110323b1851a7fecb52bf8505fd2 Author: Florian Fainelli Date: Fri Jul 24 13:19:10 2009 +0200 MIPS: AR7: Override CFLAGS with -Werror Now that we have removed all warnings from the ar7 board code we can use -Werror like on other MIPS boards. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit e5b3837a52c7fe5c7086590bed902f0fac5f9ec0 Author: Florian Fainelli Date: Fri Jul 24 13:18:42 2009 +0200 MIPS: AR7: Remove unused tnetd7200_get_clock function Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 8e84c1480d2e7d98d487b567100717b9cc9dcfd7 Author: Florian Fainelli Date: Fri Jul 24 13:18:16 2009 +0200 MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 50ca961912be315035cb0f3508e35c974851da2a Author: Florian Fainelli Date: Fri Jul 24 13:24:15 2009 +0200 MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled This patch fixes the following build failure when CONFIG_SERIAL_8250 is not enabled in the kernel configuration: arch/mips/ar7/built-in.o: In function 'ar7_register_devices': platform.c:(.init.text+0x61c): undefined reference to 'early_serial_setup' platform.c:(.init.text+0x61c): relocation truncated to fit: R_MIPS_26 against 'early_serial_setup' platform.c:(.init.text+0x68c): undefined reference to 'early_serial_setup' platform.c:(.init.text+0x68c): relocation truncated to fit: R_MIPS_26 against 'early_serial_setup' Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit ea85a0e4cc870d2bb92e3b2007007901209bb7de Author: Roel Kluin Date: Wed Jul 29 22:02:53 2009 +0200 MIPS: Fix read buffer overflow Signed-off-by: Roel Kluin Signed-off-by: Ralf Baechle commit dd34b5a82feadfaee4f8dea83a694d9349f94a28 Author: Florian Fainelli Date: Tue Jul 21 12:38:10 2009 +0200 MIPS: AR7: Fix build warning on memory.c This patch fixes the following build warning: arch/mips/ar7/memory.c: In function 'memsize': arch/mips/ar7/memory.c:55: warning: passing argument 1 of 'writel' makes integer from pointer without a cast Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 838c05705ef8c110037a713526bb18762db0a241 Author: David Daney Date: Tue Jul 14 18:16:50 2009 -0700 MIPS: Octeon PCIe: Make hardware and software bus numbers match. Some SiliconImage PCIe SATA controlers are not detected when the bus numbers differ. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 3e6e92183118d26d856e8efb549987164d1b49b4 Author: Atsushi Nemoto Date: Wed Jul 15 22:03:56 2009 +0900 MIPS: RBTX4939: Fix IOC pin-enable register updating The rbtx4939_update_ioc_pen() expects txx9_ce_res[] already initialized. Call it after tx4939_setup(). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0ca71737fee65521ede964afbd2d5484976ed0ed Author: Shane McDonald Date: Sun Jul 12 10:42:06 2009 -0600 MIPS: Simplify and correct interrupt handling for MSP4200 The current interrupt handling code for the MSP4200 always masks an interrupt before acknowledging it. This is not required, as that will be handled by the level interrupt handler. This change simplifies the MSP4200 code to remove the masking in the ack routine, and makes sure that the minimum required operation is performed for masking and acking, rather than always both masking and acking the interrupt. Signed-off-by: Shane McDonald Signed-off-by: Ralf Baechle commit 6577890fd68c2671850214663dd9ae97feacbc47 Author: Florian Fainelli Date: Mon Apr 27 16:47:23 2009 +0200 MIPS: MSPxxxx: define MIPS34K_MISSED_ITLB_WAR for other PMC-Sierra SoC Trying to build a PMC-Sierra MSP4200 VoIP gateway defconfig will not work since MIPS34K_MISSED_ITLB_WAR is not defined for all boards supported within pmc-serria/msp71xx. This patch defines MIPS34K_MISSED_ITLB_WAR to prevent such build failures: CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-mips CC arch/mips/kernel/asm-offsets.s In file included fromlinux-msp71xx/linux-2.6.29/arch/mips/include/asm/bitops.h:24, from include/linux/bitops.h:17, from include/linux/kernel.h:15, from include/linux/sched.h:52, from arch/mips/kernel/asm-offsets.c:13: linux-msp71xx/linux-2.6.29/arch/mips/include/asm/war.h:241:2: error: #error Check setting of MIPS34K_MISSED_ITLB_WAR for your platform This fixes a compile error when building for the MSP4200 boards. Identical patches to fix this were send by Florian Fainelli Shane McDonald Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 4824f20c8b3adcbc5067c1bdd88408ee68da6bb2 Author: Florian Fainelli Date: Mon Apr 27 16:59:48 2009 +0200 MIPS: MSP71xx: fix build failures on msp_irq_slp.c Trying to build MSP4200 VoIP defconfig also fails on msp_irq_slp.c with a non-existing reference to mask_slp_irq, which is in turn mask_msp_slp_irq. Passed that, we will also miss a comma when calling set_irq_chip_and_handler. This patch fixes both issues. Signed-off-by: Florian Fainelli Acked-by: Shane McDonald Signed-off-by: Ralf Baechle commit 0e66fff883ef1b6e4c5031e8add8827cd0e2a195 Author: Gabor Juhos Date: Mon Jul 13 11:14:24 2009 +0200 MIPS: Fix loading of modules with unresolved weak symbols Loading of modules with unresolved weak symbols fails on MIPS since '88173507e4fc1e7ecd111b0565e8cba0cb7dae6d'. Modules: handle symbols that have a zero value The module subsystem cannot handle symbols that are zero. If symbols are present that have a zero value then the module resolver prints out a message that these symbols are unresolved. We have to use IS_ERR_VALUE() to check that a symbol has been resolved or not. Signed-off-by: Gabor Juhos Signed-off-by: Ralf Baechle commit d8e5f9fe5dab0e07985f2456cb6cc57788f53131 Author: Kurt Martin Date: Wed Jul 8 19:22:35 2009 -0700 MIPS: SMTC: Move cross VPE writes to after a TC is assigned to VPE. Signed-off-by: Chris Dearman Signed-off-by: Raghu Gandham Signed-off-by: Ralf Baechle commit 008ee96f1204225503934cb57ac38c49f519c7ab Author: Raghu Gandham Date: Wed Jul 8 17:00:44 2009 -0700 [PATCH] MIPS: SMTC: Fix compile error Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks when SMTC support is enabled on Malta. Signed-off-by: Raghu Gandham Signed-off-by: Ralf Baechle commit 484889fc85a223ef56edc31828b86751b2296b7c Author: David Daney Date: Wed Jul 8 10:07:50 2009 -0700 MIPS: Avoid clobbering struct pt_regs in kthreads The resume() implementation octeon_switch.S examines the saved cp0_status register. We were clobbering the entire pt_regs structure in kernel threads leading to random crashes. When switching away from a kernel thread, the saved cp0_status is examined and if bit 30 is set it is cleared and the CP2 state saved into the pt_regs structure. Since the kernel thread stack overlaid the pt_regs structure this resulted in a corrupt stack. When the kthread with the corrupt stack was resumed, it could crash if it used any of the data in the stack that was clobbered. We fix it by moving the kernel thread stack down so it doesn't overlay pt_regs. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 1de010a2702eb21d90883b83bf8c737d5e69d234 Author: Huang Weiyi Date: Thu Jul 9 06:14:37 2009 +0800 MIPS: AR7: Remove unused inclusions of . Signed-off-by: Huang Weiyi Signed-off-by: Ralf Baechle commit 78fe01a5a80da4621321a1dc199c3a0875e2fbb0 Author: Yoichi Yuasa Date: Wed Jul 8 15:08:19 2009 +0900 MIPS: MIPSsim: Fix unbalance brace in mipssim get_c0_compare_int() cc1: warnings being treated as errors arch/mips/mipssim/sim_time.c: In function 'get_c0_compare_int': arch/mips/mipssim/sim_time.c:103: warning: ISO C90 forbids mixed declarations and code arch/mips/mipssim/sim_time.c:116: error: expected declaration or statement at end of input make[1]: *** [arch/mips/mipssim/sim_time.o] Error 1 Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 7d35cdc07dd26eb6667f66f8e2f43f833a926ecf Author: Alexander Clouter Date: Sun Jul 5 12:00:55 2009 +0100 MIPS: Fix compile for !CONFIG_SMP Commit fc03bc1715ca0ad4ccfe97aab16bcc9e7129c1a4 breaks compiling MIPS with SMP disabled. This patch fixes that. Signed-off-by: Alexander Clouter Signed-off-by: Ralf Baechle commit a887b4dada2f23b2ff2aa725e0509c92dc652597 Author: Akinobu Mita Date: Sat Jul 4 01:33:09 2009 +0900 MIPS: Drop mmap_sem in pagefault oom path Fix the pagefault oom path which does not drop mm->mmap_sem. This was introduced by commit c7c1e3846bac1e4b8a8941f6a194812e28b0a519 Signed-off-by: Akinobu Mita Signed-off-by: Ralf Baechle commit 49316cbf0a9875f102f98dc8b7c80cfa142e33cf Author: Ralf Baechle Date: Mon Jul 6 09:13:17 2009 +0100 MIPS: Eleminate filenames from comments They tend to get not updated when files are moved around or copied and lack any obvious use. While at it zap some only too obvious comments and as per Shinya's suggestion, add a copyright header to extable.c. Signed-off-by: Ralf Baechle Acked-by: Shinya Kuribayashi Acked-by: Thadeu Lima de Souza Cascardo commit 1c1a90d866c5fb029099b9f0f40534e01b7c4d91 Author: Ralf Baechle Date: Sun Jul 5 19:23:30 2009 +0100 [PATCH] MIPS: Cavium: Move swapped comments to their rightful place. Signed-off-by: Ralf Baechle commit 126b67b8d26f6623d199aa59279f2e3243f2144c Author: Doug Thompson Date: Mon Aug 3 12:37:06 2009 +0200 amd64_edac: fix ECC checking On the good path of BIOS enabled ECC and no override, the value returned is 1 by omission and thus is deemed failing by the probe-function. Allow proper module initialization by clearing the retval explicitly. Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit d676c11727815761e41a81b00c054b4bec452ae5 Author: Matthias Kaehlcke Date: Tue Jul 14 22:04:29 2009 +0200 mtd: mtdblock: introduce mtdblks_lock The mtdblks array and its content are prone to race conditions. Introduce the mutex mtdblks_lock in order to solve this. [Amended by Artem Bityutskiy] Signed-off-by: Matthias Kaehlcke Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 2bf961b7ccd69e108ac435c67e2b0522b403c578 Author: Subrata Modak Date: Wed Jul 1 19:22:47 2009 +0530 mtd: remove 'SBC8240 Wind River' Device Driver Code This driver is causing build errors and is no longer needed -- it is obsoleted by physmap_of. Signed-off-by: Subrata Modak Tested-on-PPC64-by: Subrata Modak Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 3cae1cc149c40c14424162496eb5a7c8db1cd4fb Author: Mika Korhonen Date: Thu Jun 25 15:32:19 2009 +0300 mtd: OneNAND: OMAP2/3: free GPMC CS on module removal GPMC CS was not freed in omap2_onenand_remove() preventing the module from reloading after removal. Signed-off-by: Mika Korhonen Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 00acf4a80779611a7ea77ff5b5ffab886ed5cc42 Author: Mika Korhonen Date: Thu Jun 11 14:05:07 2009 +0300 mtd: OneNAND: fix incorrect bufferram offset Fixes the case where CONFIG_MTD_ONENAND_2X_PROGRAM is set and the real page size differs from mtd_info.writesize. Signed-off-by: Mika Korhonen Acked-by: Kyungmin Park Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 8022c13c27b822cf22f13df10b42aae89cd56bf0 Author: Artem Bityutskiy Date: Fri Jul 10 17:02:17 2009 +0300 mtd: blkdevs: do not forget to get MTD devices Nowadays MTD devices have to be "get" before they can be used. This has to be done with 'get_mtd_device()'. The 'blktrans_open()' function did not do this and instead used 'try_module_get()'. Fix this. Since 'get_mtd_device()' already gets the module, extra 'try_module_get()' is not needed. This fixes oops when one tries to use mtdblock on top of gluebi. Reported-by: Holger Brunck Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 6afc4fdb3e94ba60cd566cb878b60c6c01979277 Author: Saeed Bishara Date: Tue Jul 28 04:56:43 2009 -0700 mtd: fix the conversion from dev to mtd_info The patch fixes a bug when converting dev to mtd_info by using the drvdata of the dev, the previous code used container_of(dev, struct mtd_info, dev), but won't work for the mtdXro devices as they created without being contained inside mtd_info structure. Signed-off-by: Saeed Bishara Signed-off-by: David Woodhouse commit 7699ad35ed06044c4fc1be162553880f98658616 Author: Nicolas Pitre Date: Mon Jun 15 01:10:18 2009 -0400 mtd: let include/linux/mtd/partitions.h stand on its own When declaring static MTD partitions in board specific code, only including should suffice without gcc nagging us with: In file included from arch/arm/mach-kirkwood/sheevaplug-setup.c:14: include/linux/mtd/partitions.h:50: warning: 'struct mtd_info' declared inside parameter list include/linux/mtd/partitions.h:50: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/mtd/partitions.h:51: warning: 'struct mtd_info' declared inside parameter list include/linux/mtd/partitions.h:61: warning: 'struct mtd_info' declared inside parameter list include/linux/mtd/partitions.h:67: warning: 'struct mtd_info' declared inside parameter list Signed-off-by: Nicolas Pitre Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 4b35d2ca2307d40ccb6b3b6f9cc25ac9178b2a6c Author: Roel Kluin Date: Sun Aug 2 13:30:45 2009 +0200 ALSA: hda - Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 84d3dc200fc8b878acf7c1840b238e6a0450e4d0 Author: Chengu Wang Date: Thu Jul 30 19:43:55 2009 +0800 ALSA: hda: Correct EAPD for Dell Inspiron 1525 The commit 24918b61b55c21e09a3e07cd82e1b3a8154782dc statically changes the model from dell-bios to dell-3stack to solve the sound decreasing regression (http://lkml.org/lkml/2008/9/12/203), however it leads to another problem that the 2nd headphone jack doesn't work (https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3987). So I think the commit 249**2dc is just a workaround. I would like to give a true solution here. The datasheet for STAC9228 says, GPIO2 is the same pin as VOL DOWN, and the EAPD pin is GPIO0. This is why the sound decreases if we set EAPD as GPIO2. This patch changes EAPD to GPIO0 to solve the problem. Signed-off-by: Chengu Wang Signed-off-by: Takashi Iwai commit e310bb0646e57a4f9182865115c5780931456c65 Author: Wu Fengguang Date: Sat Aug 1 19:18:45 2009 +0800 ALSA: hda: warn on spurious response To help disclose hardware bugs. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit feb273404f15d86098cb0e81e46330d5c1e22b1b Author: Wu Fengguang Date: Sat Aug 1 19:17:14 2009 +0800 ALSA: hda: remember last command for each codec Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c32649feb4573b31f0a2bfdf35cbe1351256c764 Author: Wu Fengguang Date: Sat Aug 1 18:48:12 2009 +0800 ALSA: hda: read CORBWP inside reg_lock This converts the last CORBWP access outside of reg_lock. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit cdb1fbf23181c133fb24f12ad14ccea7dc399599 Author: Wu Fengguang Date: Sat Aug 1 18:47:41 2009 +0800 ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_io Just for safety. azx_init_cmd_io() and azx_free_cmd_io() may be called when switching to single command mode. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit a678cdee25a387c8fc3b2754974695412baf1d85 Author: Wu Fengguang Date: Sat Aug 1 18:46:46 2009 +0800 ALSA: hda: take cmd_mutex in probe_codec() Now that each codec will have its own module, it is possible for the user to load one codec while another one is running. So cmd_mutex would be a safe addition to probe_codec(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit deadff1665491afce124a8ff83f00f784161f660 Author: Wu Fengguang Date: Sat Aug 1 18:45:16 2009 +0800 ALSA: hda: track CIRB/CORB command/response states for each codec Recently we hit a bug in our dev board, whose HDMI codec#3 may emit redundant/spurious responses, which were then taken as responses to command for another onboard Realtek codec#2, and mess up both codecs. Extend the azx_rb.cmds and azx_rb.res to array and track each codec's commands/responses separately. This helps keep good codec safe from broken ones. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit ce577e8cf5ddb4216553c9d563a9835d6de70ffa Author: Takashi Iwai Date: Mon Aug 3 08:23:52 2009 +0200 ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527 Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527 with ALC861-VD codec. Reference: Novell bnc#526325 https://bugzilla.novell.com/show_bug.cgi?id=526325 Signed-off-by: Takashi Iwai commit a33a052f19a21d727847391c8c1aff3fb221c472 Merge: 4905f92 449aad3 Author: Linus Torvalds Date: Sun Aug 2 21:31:40 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: Use revalidate_disk to effect changes in size of device. md: allow raid5_quiesce to work properly when reshape is happening. md/raid5: set reshape_position correctly when reshape starts. md: Handle growth of v1.x metadata correctly. md: avoid array overflow with bad v1.x metadata md: when a level change reduces the number of devices, remove the excess. md: Push down data integrity code to personalities. md/raid6: release spare page at ->stop() commit eb4ad826419ab5b1260bc1625249114767d36bea Author: Yevgeny Petrilin Date: Sun Aug 2 20:22:18 2009 -0700 mlx4_en: Fix double pci unmapping. In cases of fragmented skb, with the data pointers being wrapped around the TX buffer, the completion handling code would not forward the data pointer and the firs fragment was unmapped several times, while others were not unmapped at all. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a923c28fc538a4161b15e9b5d7d48248d73d3e6f Author: David S. Miller Date: Sun Aug 2 19:17:15 2009 -0700 sparc: Use page_fault_out_of_memory() for VM_FAULT_OOM. As noted by Nick Piggin. Signed-off-by: David S. Miller commit 449aad3e25358812c43afc60918c5ad3819488e7 Author: NeilBrown Date: Mon Aug 3 10:59:58 2009 +1000 md: Use revalidate_disk to effect changes in size of device. As revalidate_disk calls check_disk_size_change, it will cause any capacity change of a gendisk to be propagated to the blockdev inode. So use that instead of mucking about with locks and i_size_write. Also add a call to revalidate_disk in do_md_run and a few other places where the gendisk capacity is changed. Signed-off-by: NeilBrown commit 64bd660b51b2da92e99a5e97349f6558349f11c5 Author: NeilBrown Date: Mon Aug 3 10:59:58 2009 +1000 md: allow raid5_quiesce to work properly when reshape is happening. The ->quiesce method is not supposed to stop resync/recovery/reshape, just normal IO. But in raid5 we don't have a way to know which stripes are being used for normal IO and which for resync etc, so we need to wait for all stripes to be idle to be sure that all writes have completed. However reshape keeps at least some stripe busy for an extended period of time, so a call to raid5_quiesce can block for several seconds needlessly. So arrange for reshape etc to pause briefly while raid5_quiesce is trying to quiesce the array so that the active_stripes count can drop to zero. Signed-off-by: NeilBrown commit e516402c0d4fc02be4af9fa8c18954d4f9deb44e Author: NeilBrown Date: Mon Aug 3 10:59:57 2009 +1000 md/raid5: set reshape_position correctly when reshape starts. As the internal reshape_progress counter is the main driver for reshape, the fact that reshape_position sometimes starts with the wrong value has minimal effect. It is visible in sysfs and that is all. Signed-off-by: NeilBrown commit 70471dafe3390243c598a3165dfb86b8b8b3f4fe Author: NeilBrown Date: Mon Aug 3 10:59:57 2009 +1000 md: Handle growth of v1.x metadata correctly. The v1.x metadata does not have a fixed size and can grow when devices are added. If it grows enough to require an extra sector of storage, we need to update the 'sb_size' to match. Without this, md can write out an incomplete superblock with a bad checksum, which will be rejected when trying to re-assemble the array. Cc: stable@kernel.org Signed-off-by: NeilBrown commit 3673f305faf1bc66ead751344f8262ace851ff44 Author: NeilBrown Date: Mon Aug 3 10:59:56 2009 +1000 md: avoid array overflow with bad v1.x metadata We trust the 'desc_nr' field in v1.x metadata enough to use it as an index in an array. This isn't really safe. So range-check the value first. Signed-off-by: NeilBrown commit 3a981b03f38dc3b8a69b77cbc679e66c1318a44a Author: NeilBrown Date: Mon Aug 3 10:59:55 2009 +1000 md: when a level change reduces the number of devices, remove the excess. When an array is changed from RAID6 to RAID5, fewer drives are needed. So any device that is made superfluous by the level conversion must be marked as not-active. For the RAID6->RAID5 conversion, this will be a drive which only has 'Q' blocks on it. Cc: stable@kernel.org Signed-off-by: NeilBrown commit ac5e7113e74872928844d00085bd47c988f12728 Author: Andre Noll Date: Mon Aug 3 10:59:47 2009 +1000 md: Push down data integrity code to personalities. This patch replaces md_integrity_check() by two new public functions: md_integrity_register() and md_integrity_add_rdev() which are both personality-independent. md_integrity_register() is called from the ->run and ->hot_remove methods of all personalities that support data integrity. The function iterates over the component devices of the array and determines if all active devices are integrity capable and if their profiles match. If this is the case, the common profile is registered for the mddev via blk_integrity_register(). The second new function, md_integrity_add_rdev() is called from the ->hot_add_disk methods, i.e. whenever a new device is being added to a raid array. If the new device does not support data integrity, or has a profile different from the one already registered, data integrity for the mddev is disabled. For raid0 and linear, only the call to md_integrity_register() from the ->run method is necessary. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 4905f92ed752d49ebe9cce4fe78a4bc39e710523 Merge: 0ce166b 5973bee Author: Linus Torvalds Date: Sun Aug 2 14:15:46 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Fix COH 901 327 watchdog enablement commit 0ce166b7b46122bf91a4766e20c85a6485448765 Merge: 57d7f28 3be4ee5 Author: Linus Torvalds Date: Sun Aug 2 14:15:27 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: eeepc-laptop: fix hot-unplug on resume ACPI: Ingore the memory block with zero block size in course of memory hotplug ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver ACPI: bind workqueues to CPU 0 to avoid SMI corruption ACPI: root-only read protection on /sys/firmware/acpi/tables/* thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM thinkpad-acpi: restrict procfs count value to sane upper limit thinkpad-acpi: remove dock and bay subdrivers thinkpad-acpi: disable broken bay and dock subdrivers hp-wmi: check that an input device exists in resume handler Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" commit 57d7f282271a83fe4ca4bd15eee79be577210210 Author: Greg Kroah-Hartman Date: Fri Jul 31 21:28:16 2009 -0700 TTY: Maintainer change Clearly, I am a glutton for punishment. I'll see if I can see Alan's changes through to the end, otherwise I'll be fending off a lot of bug reports for usb-serial devices. Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 79896cf42f6a96d7e14f2dc3473443d68d74031d Author: Linus Torvalds Date: Sun Aug 2 14:04:19 2009 -0700 Make pci_claim_resource() use request_resource() rather than insert_resource() This function has traditionally used "insert_resource()", because before commit cebd78a8c5 ("Fix pci_claim_resource") it used to just insert the resource into whatever root resource tree that was indicated by "pcibios_select_root()". So there Matthew fixed it to actually look up the proper parent resource, which means that now it's actively wrong to then traverse the resource tree any more: we already know exactly where the new resource should go. And when we then did commit a76117dfd6 ("x86: Use pci_claim_resource"), which changed the x86 PCI code from the open-coded pr = pci_find_parent_resource(dev, r); if (!pr || request_resource(pr, r) < 0) { to using if (pci_claim_resource(dev, idx) < 0) { that "insert_resource()" now suddenly became a problem, and causes a regression covered by http://bugzilla.kernel.org/show_bug.cgi?id=13891 which this fixes. Reported-and-tested-by: Rafael J. Wysocki Cc: Matthew Wilcox Cc: Andrew Patterson Cc: Linux PCI Signed-off-by: Linus Torvalds commit b564afcfb82fe3e63a7ce05a944eb5e11244d7cb Author: Andreas Eversberg Date: Mon Jul 27 07:24:04 2009 +0000 mISDN: Fix handling of receive buffer size in L1oIP The size of receive buffer pointer was used to get size of receive buffer instead of recvbuf_size itself, so only 4/8 bytes could be transfered. This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d mISDN: Use kernel_{send,recv}msg instead of open coding Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 5973bee46fe66db94fab198979dec87f263fc2a8 Author: Linus Walleij Date: Tue Jul 21 00:40:46 2009 +0200 [WATCHDOG] Fix COH 901 327 watchdog enablement Since the COH 901 327 found in U300 is clocked at 32 kHz we need to wait for the interrupt clearing flag to propagate through hardware in order not to accidentally fire off any interrupts when we enable them. Signed-off-by: Linus Walleij Signed-off-by: Wim Van Sebroeck commit 63097b3ad85788a64c75091bff351ecc850761b2 Author: Don Fry Date: Fri Jul 31 08:45:29 2009 +0000 pcnet32: VLB support fixes VLB support has been broken since at least 2004-2005 period as some changes introduced back then assumed that ->pci_dev is always valid, lets try to fix it: - remove duplicated SET_NETDEV_DEV() call - call SET_NETDEV_DEV() only for PCI devices - check for ->pci_dev validity in pcnet32_open() [ Alternatively we may consider removing VLB support but there would not be much gain in it since an extra driver code needed for VLB support is minimal and quite simple. ] This takes care of the following entry from Dan's list: drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Don Fry Signed-off-by: David S. Miller commit df4e7f72f5156ef16a918da8a575ba90ec27ab77 Author: Don Fry Date: Fri Jul 31 08:40:06 2009 +0000 pcnet32: remove superfluous NULL pointer check in pcnet32_probe1() Move the debug printk() into the proper place and remove superfluous NULL pointer check in pcnet32_probe1(). This takes care of the following entry from Dan's list: drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Don Fry Signed-off-by: David S. Miller commit a6ac65db2329e7685299666f5f7b6093c7b0f3a0 Author: Jiri Pirko Date: Thu Jul 30 01:06:12 2009 +0000 net: restore the original spinlock to protect unicast list There is a path when an assetion in dev_unicast_sync() appears. igmp6_group_added -> dev_mc_add -> __dev_set_rx_mode -> -> vlan_dev_set_rx_mode -> dev_unicast_sync Therefore we cannot protect this list with rtnl. This patch restores the original protecting this list with spinlock. Signed-off-by: Jiri Pirko Tested-by: Meelis Roos Signed-off-by: David S. Miller commit 50c643e7652458e649955408685a16e88ea6dbae Author: Dhananjay Phadke Date: Sat Aug 1 21:36:16 2009 +0000 netxen: fix coherent dma mask setting Change default dma mask for NX3031 to 39 bit with ability to update it to 64-bit (if firmware indicates support). Old code was restricting it under 4GB (32-bit), sometimes causing failure to allocate descriptor rings on heavily populated system. NX2031 based NICs will still get 32-bit coherent mask. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 9bfdac94c78faf68ce038d5c45a385927f2667ce Author: roel kluin Date: Fri Jul 31 03:43:59 2009 +0000 mISDN: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 54706d99051582993037be5a076aa543fd7f1c38 Author: roel kluin Date: Sat Aug 1 20:20:13 2009 +0000 s6gmac: Read buffer overflow Check whether index is within bounds before testing the element. In the last iteration i is PHY_MAX_ADDR. the condition `!(p = pd->mii.bus->phy_map[PHY_MAX_ADDR])' is undefined and may evaluate to false, which leads to a dereference of this invalid phy_map in the phy_connect() below. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 1b994b5a1b3cb5395598a08ef3bb0ac118d75c1b Author: roel kluin Date: Sat Aug 1 20:26:52 2009 +0000 tulip: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 144586301f6af5ae5943a002f030d8c626fa4fdd Author: Eric Dumazet Date: Tue Jul 28 02:36:15 2009 +0000 net: net_assign_generic() fix memcpy() should take into account size of pointers, not only number of pointers to copy. Signed-off-by: Eric Dumazet Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 446e72f30eca76d6f9a1a54adf84d2c6ba2831f8 Author: Eric Dumazet Date: Tue Jul 28 03:47:39 2009 +0000 pppol2tp: calls unregister_pernet_gen_device() at unload time Failure to call unregister_pernet_gen_device() can exhaust memory if module is loaded/unloaded many times. Signed-off-by: Eric Dumazet Acked-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit a53a8b56827cc429c6d9f861ad558beeb5f6103f Author: Ben McKeegan Date: Tue Jul 28 07:43:57 2009 +0000 ppp: fix lost fragments in ppp_mp_explode() (resubmit) This patch fixes the corner cases where the sum of MTU of the free channels (adjusted for fragmentation overheads) is less than the MTU of PPP link. There are at least 3 situations where this case might arise: - some of the channels are busy - the multilink session is running in a degraded state (i.e. with less than its full complement of active channels) - by design, where multilink protocol is being used to artificially increase the effective link MTU of a single link. Without this patch, at most 1 fragment is ever sent per free channel for a given PPP frame and any remaining part of the PPP frame that does not fit into those fragments is silently discarded. This patch restores the original behaviour which was broken by commit 9c705260feea6ae329bc6b6d5f6d2ef0227eda0a 'ppp:ppp_mp_explode() redesign'. Once all 'free' channels have been given a fragment, an additional fragment is queued to each available channel in turn, as many times as necessary, until the entire PPP frame has been consumed. Signed-off-by: Ben McKeegan Signed-off-by: David S. Miller commit 3be4ee5199ba20475749d768bf29c8399c755a69 Merge: 95452a6 d0006f3 Author: Len Brown Date: Sun Aug 2 12:55:51 2009 -0400 Merge branch 'misc-2.6.31' into release commit 95452a6ce17244059e184fe5f722bff66a2b52bf Merge: a571a79 7334546 Author: Len Brown Date: Sun Aug 2 12:36:01 2009 -0400 Merge branch 'bugzilla-13825' into release commit 7334546a52c6764df120459509b1f803a073eacc Author: Alan Jenkins Date: Mon Jun 29 09:40:07 2009 +0100 eeepc-laptop: fix hot-unplug on resume OOPS on resume when the wireless adaptor is disabled during suspend was introduced by "eeepc-laptop: read rfkill soft-blocked state on resume". Unable to handle kernel NULL pointer dereference Process s2disk Tainted: G W IP: klist_put Call trace: ? klist_del ? device_del ? device_unregister ? pci_stop_dev ? pci_stop_bus ? pci_remove_device ? eeepc_rfkill_hotplug [eeepc_laptop] ? eeepc_hotk_resume [eeepc_laptop] ? acpi_device_resume ? device_resume ? hibernation_snapshot It appears the PCI device is removed twice. The eeepc_rfkill_hotplug() call from the resume handler is racing against the call from the ACPI notifier callback. The ACPI notification is triggered by the resume handler when it refreshes the value of CM_ASL_WLAN. The fix is to serialize hotplug calls using a workqueue. http://bugzilla.kernel.org/show_bug.cgi?id=13825 Signed-off-by: Alan Jenkins Acked-by: Corentin Chary Signed-off-by: Len Brown commit a571a79a7e6b614f26d6bcc25b2ad48fd63fb829 Merge: 6a61487 5d2619f Author: Len Brown Date: Sun Aug 2 12:27:26 2009 -0400 Merge branch 'memhotplug-crash' into release commit 5d2619fca753d270e63e76c9e18437b0d9bc8d75 Author: Zhao Yakui Date: Tue Jul 7 10:56:11 2009 +0800 ACPI: Ingore the memory block with zero block size in course of memory hotplug If the memory block size is zero, ignore it and don't do the memory hotplug flowchart. Otherwise it will complain the following warning message: >System RAM resource 0 - ffffffffffffffff cannot be added Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit aa7b2b2e973874df99a45b31adbed5978b46be1f Author: Zhao Yakui Date: Fri Jul 3 10:49:03 2009 +0800 ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver Don't treat the generic error as ACPI error code. Otherwise when the generic code is returned, it will complain the following warning messag: >ACPI Exception (acpi_memhotplug-0171): UNKNOWN_STATUS_CODE, Cannot get acpi bus device [20080609] >ACPI: Cannot find driver data > ACPI Error (utglobal-0127): Unknown exception code: 0xFFFFFFED [20080609] > Pid: 85, comm: kacpi_notify Not tainted 2.6.27.19-5-default #1 Call Trace: [] show_trace_log_lvl+0x41/0x58 [] dump_stack+0x69/0x6f ..... At the same time when the generic error code is returned, the ACPI_EXCEPTION is replaced by the printk. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 6a61487791a8b8f85542c51132e8c7ed9bc7fd0b Merge: f63440e 74b5820 Author: Len Brown Date: Sun Aug 2 12:10:02 2009 -0400 Merge branch 'bugzilla-13751' into release commit 74b5820808215f65b70b05a099d6d3c969b82689 Author: Bjorn Helgaas Date: Wed Jul 29 15:54:25 2009 -0600 ACPI: bind workqueues to CPU 0 to avoid SMI corruption On some machines, a software-initiated SMI causes corruption unless the SMI runs on CPU 0. An SMI can be initiated by any AML, but typically it's done in GPE-related methods that are run via workqueues, so we can avoid the known corruption cases by binding the workqueues to CPU 0. References: http://bugzilla.kernel.org/show_bug.cgi?id=13751 https://bugs.launchpad.net/bugs/157171 https://bugs.launchpad.net/bugs/157691 Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit f63440eff06265fc56e73044f8727b12641b33f1 Merge: 437f8c8 59fe4fe Author: Len Brown Date: Sun Aug 2 11:34:24 2009 -0400 Merge branch 'thinkpad' into release commit 437f8c8ab99e7b6eed8e0d6d9cf46085c8de2e36 Merge: b8a848e daed953 Author: Len Brown Date: Sun Aug 2 11:33:01 2009 -0400 Merge branch 'bugzilla-13865' into release commit b8a848ed7ffda36ed069f63de085a9411d2aa39f Merge: ed680c4 7cb7f45 Author: Len Brown Date: Sun Aug 2 11:31:32 2009 -0400 Merge branch 'bugzilla-13620-revert' into release commit d0006f3281c920fbfead0f5035c62ec8053f980a Author: Len Brown Date: Thu Jul 30 16:00:53 2009 -0400 ACPI: root-only read protection on /sys/firmware/acpi/tables/* they were world readable. Signed-off-by: Len Brown commit cae5a39f34d52c46ca49edfc3f297656a0fd60b7 Author: Helge Deller Date: Sun Aug 2 15:42:39 2009 +0200 parisc: hppb.c - fix printk format strings Fix those warnings: drivers/parisc/hppb.c: In function 'hppb_probe': drivers/parisc/hppb.c:65: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'resource_size_t' drivers/parisc/hppb.c:77: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'resource_size_t' drivers/parisc/hppb.c:77: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' Signed-off-by: Helge Deller commit c43962321e8af5309dd3ffcd78743c89581265e5 Author: Helge Deller Date: Sun Aug 2 15:35:43 2009 +0200 parisc: parisc-agp.c - use correct page_mask function Fix those compiler warnings, which indeed point to a bug: drivers/char/agp/parisc-agp.c:228: warning: initialization from incompatible pointer type drivers/char/agp/parisc-agp.c:201: warning: 'parisc_agp_page_mask_memory' defined but not used Signed-off-by: Helge Deller commit 1a1dba32412c15c51d5fc0b9efadd2ea310356d7 Author: Helge Deller Date: Sun Aug 2 15:26:51 2009 +0200 parisc: sticore.c - check return values Signed-off-by: Helge Deller commit 01a261e09a21e0ba342d3907a79cf5c78ee3f37a Author: Ryusuke Konishi Date: Sun Aug 2 17:45:55 2009 +0900 nilfs2: fix missing unlock in error path of nilfs_mdt_write_page This adds a missing unlock of nilfs->ns_writer_mutex in nilfs_mdt_write_page() function. Signed-off-by: Ryusuke Konishi commit 1e0deabd35f210f22c03cc734a0335c07ae71ff3 Author: Helge Deller Date: Sun Aug 2 15:17:37 2009 +0200 parisc: dino.c - check return value of pci_assign_resource() Signed-off-by: Helge Deller commit c6fe6b0783a8fd923d11dd0388cbd561ff15bdf1 Author: Helge Deller Date: Sun Aug 2 15:13:29 2009 +0200 parisc: hp_sdc_mlc.c - check return value of down_trylock() Signed-off-by: Helge Deller commit 07903af152b0597d94e9b0030746b63c4664e787 Author: Gregory Haskins Date: Thu Jul 30 10:57:28 2009 -0400 sched: Fix race in cpupri introduced by cpumask_var changes Background: Several race conditions in the scheduler have cropped up recently, which Steven and I have tracked down using ftrace. The most recent one turns out to be a race in how the scheduler determines a suitable migration target for RT tasks, introduced recently with commit: commit 68e74568fbe5854952355e942acca51f138096d9 Date: Tue Nov 25 02:35:13 2008 +1030 sched: convert struct cpupri_vec cpumask_var_t. The original design of cpupri allowed lockless readers to quickly determine a best-estimate target. Races between the pri_active bitmap and the vec->mask were handled in the original code because we would detect and return "0" when this occured. The design was predicated on the *effective* atomicity (*) of caching the result of cpus_and() between the cpus_allowed and the vec->mask. Commit 68e74568 changed the behavior such that vec->mask is accessed multiple times. This introduces a subtle race, the result of which means we can have a result that returns "1", but with an empty bitmap. *) yes, we know cpus_and() is not a locked operator across the entire composite array, but it is implicitly atomic on a per-word basis which is all the design required to work. Implementation: Rather than forgoing the lockless design, or reverting to a stack-based cpumask_t, we simply check for when the race has been encountered and continue processing in the event that the race is hit. This renders the removal race as if the priority bit had been atomically cleared as well, and allows the algorithm to execute correctly. Signed-off-by: Gregory Haskins CC: Rusty Russell CC: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090730145728.25226.92769.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit e414314cce7539788dd5d2c35decad11782dd858 Author: Peter Zijlstra Date: Thu Jul 23 20:13:26 2009 +0200 sched: Fix latencytop and sleep profiling vs group scheduling The latencytop and sleep accounting code assumes that any scheduler entity represents a task, this is not so. Cc: Arjan van de Ven Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 59b9005692d4c8b5d73cfc41aa7229f47be163a9 Author: Arnaldo Carvalho de Melo Date: Sun Jul 26 19:06:19 2009 -0300 perf top: Add mwait_idle_with_hints to skip_symbols[] We skip the display of idle routine related symbols because they are typically rather erratic and confusing: they depend on the IRQ rate or sometimes they dominate the profile if they are polling based. Add mwait_idle_with_hints too, this is one of the idle routines on x86. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 9b30a26bf3d2c56dcb1c3afaca28b73fcd6ed405 Author: Stoyan Gaydarov Date: Thu Jul 30 05:25:29 2009 -0500 perf tools: Fix faulty check This patch fixes a spelling error that has resulted from copy and pasting. The location of the error was found using a semantic patch but the semantic patch was not trying to find these errors. After looking things over it seemed logical that this change was needed. Please review it and then include the patch if it is in fact the correct change. Signed-off-by: Stoyan Gaydarov Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1248949529-20891-1-git-send-email-sgayda2@uiuc.edu> Signed-off-by: Ingo Molnar commit 27d028de64bd7e1f8e72bdeae6b0586939574fcb Author: Peter Zijlstra Date: Thu Jul 23 16:52:41 2009 +0200 perf report: Update for the new FORK/EXIT events Since FORK is now also issued for threads, detect those by comparing the parent and child PID. Teach it about EXIT events and ignore them. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 Author: Peter Zijlstra Date: Thu Jul 23 14:46:33 2009 +0200 perf_counter: Full task tracing In order to be able to distinguish between no samples due to inactivity and no samples due to task ended, Arjan asked for PERF_EVENT_EXIT events. This is useful to the boot delay instrumentation (bootchart) app. This patch changes the PERF_EVENT_FORK to be emitted on every clone, and adds PERF_EVENT_EXIT to be emitted on task exit, after the task's counters have been closed. This task tracing is controlled through: attr.comm || attr.mmap and through the new attr.task field. Suggested-by: Arjan van de Ven Cc: Paul Mackerras Cc: Anton Blanchard Signed-off-by: Peter Zijlstra [ cleaned up perf_counter.h a bit ] Signed-off-by: Ingo Molnar commit e53c0994709166b111fbe9162d1a16ece7dfc45b Author: Peter Zijlstra Date: Fri Jul 24 14:42:10 2009 +0200 perf_counter: Collapse inherit on read() Currently the counter value returned by read() is the value of the parent counter, to which child counters are only fed back on child exit. Thus read() can return rather erratic (and meaningless) numbers depending on the state of the child processes. Change this by always iterating the full child hierarchy on read() and sum all counters. Suggested-by: Corey Ashford Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 470a1396c25c27b4aff08b14d5c9cd9b3da15e09 Author: Peter Zijlstra Date: Wed Jul 29 10:50:09 2009 +0200 tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE Explain what tracepoint profiling sources are about. Signed-off-by: Peter Zijlstra Acked-by: Jeff Garzik LKML-Reference: <1248856508.6987.3041.camel@twins> Signed-off-by: Ingo Molnar commit b10ff54f9f58adfb708b53e6e56ed3d7804ade74 Author: Jaswinder Singh Rajput Date: Wed Jul 8 15:27:20 2009 +0000 parisc: includecheck fix for ccio-dma.c fix the following 'make includecheck' warning: drivers/parisc/ccio-dma.c: linux/proc_fs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Helge Deller commit 2678251b207394aa8b9d92c653c05a8b3449f1f5 Author: John David Anglin Date: Mon Jul 13 01:44:37 2009 +0000 parisc: Set correct bit in protection flags Signed-off-by: John David Anglin Signed-off-by: Helge Deller commit 6b4dbcd86a9d464057fcc7abe4d0574093071fcc Author: Michael Buesch Date: Mon Jul 20 22:58:44 2009 +0000 parisc: isa-eeprom - Fix loff_t usage loff_t is a signed type. If userspace passes a negative ppos, the "count" range check is weakened. "count"s bigger than HPEE_MAX_LENGTH will pass the check. Also, if ppos is negative, the readb(eisa_eeprom_addr + *ppos) will poke in random memory. Signed-off-by: Michael Buesch Cc: stable@kernel.org Signed-off-by: Helge Deller commit 450d6e306b4717bfae11218a02648509baf04ce1 Author: Stoyan Gaydarov Date: Thu Jul 30 10:25:19 2009 +0000 parisc: fixed faulty check in lba_pci This patche fixes a spelling error that has resulted from copy and pasting. The location of the error was found using a semantic patch but the semantic patch was not trying to find these errors. After looking things over it seemed logical that this change was needed. Signed-off-by: Stoyan Gaydarov Signed-off-by: Helge Deller commit 447c233da4d109c6194fefd69e5185cbc93cc062 Author: Roel Kluin Date: Sun Aug 2 08:02:28 2009 +0000 parisc: Fix read buffer overflow in pdc_stable driver Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Helge Deller commit b4f2e2ad5348063ef94aa623f6f09b52ecaf0990 Author: John David Anglin Date: Sun Aug 2 12:34:08 2009 +0200 parisc: Fix GOT overflow during module load on 64bit kernel Signed-off-by: John David Anglin Signed-off-by: Helge Deller commit 59fe4fe34d7afdf63208124f313be9056feaa2f4 Author: Henrique de Moraes Holschuh Date: Sat Aug 1 12:04:20 2009 -0300 thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM HBRV-based default selection of backlight control strategy didn't work well, at least the X41 defines it but doesn't use it and I don't think it will stop there. Switch to a white/blacklist. All models that have HBRV defined have been included in the list, and initially all ATI GPUs will get ECNVRAM, and the Intel GPUs will get UCMS_STEP. Symptoms of incorrect backlight mode selection are: 1. Non-working backlight control through sysfs; 2. Backlight gets reset to the lowest level at every shutdown, reboot and when thinkpad-acpi gets unloaded; This fixes a regression in 2.6.30, bugzilla #13826 Signed-off-by: Henrique de Moraes Holschuh Reported-by: Tobias Diedrich Cc: stable@kernel.org Signed-off-by: Len Brown commit 5b05d4696d38c3172e79e855cc1e2ed044589508 Author: Michael Buesch Date: Sat Aug 1 12:04:19 2009 -0300 thinkpad-acpi: restrict procfs count value to sane upper limit Signed-off-by: Michael Buesch Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 9b9d6b2434fe942895c341b9a982f158529788ec Author: Jeff Layton Date: Fri Jul 31 06:56:09 2009 -0400 cifs: reinstate original behavior when uid=/gid= options are specified This patch fixes the regression reported here: http://bugzilla.kernel.org/show_bug.cgi?id=13861 commit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 changed the default behavior when the uid= or gid= option was specified for a mount. The existing behavior was to always clobber the ownership information provided by the server when these options were specified. The above commit changed this behavior so that these options simply provided defaults when the server did not provide this information (unless "forceuid" or "forcegid" were specified) This patch reverts this change so that the default behavior is restored. It also adds "noforceuid" and "noforcegid" options to make it so that ownership information from the server is preserved, even when the mount has uid= or gid= options specified. It also adds a couple of printk notices that pop up when forceuid or forcegid options are specified without a uid= or gid= option. Reported-by: Tom Chiverton Reviewed-by: Shirish Pargaonkar Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 1f6fc2de9525e34ee93bd392fa046369a8cfbf1e Author: Henrique de Moraes Holschuh Date: Sat Aug 1 12:04:18 2009 -0300 thinkpad-acpi: remove dock and bay subdrivers The standard ACPI dock driver can handle the hotplug bays and docks of the ThinkPads just fine (including batteries) as of 2.6.27, and the code in thinkpad-acpi for the dock and bay subdrivers is currently broken anyway... Userspace needs some love to support the two-stage ejection nicely, but it is simple enough to do through udev rules (you don't even need HAL) so this wouldn't justify fixing the dock and bay subdrivers, either. That leaves warm-swap bays (_EJ3) support for thinkpad-acpi, as well as support for the weird dock of the model 570, but since such support has never left the "experimental" stage, it is also not a strong enough reason to find a way to fix this code. Users of ThinkPads with warm-swap bays are urged to request that _EJ3 support be added to the regular ACPI dock driver, if such feature is indeed useful for them. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 550e7fd8afb7664ae7cedb398c407694e2bf7d3c Author: Henrique de Moraes Holschuh Date: Sat Aug 1 12:04:17 2009 -0300 thinkpad-acpi: disable broken bay and dock subdrivers Currently, the ThinkPad-ACPI bay and dock drivers are completely broken, and cause a NULL pointer derreference in kernel mode (and, therefore, an OOPS) when they try to issue events (i.e. on dock, undock, bay ejection, etc). OTOH, the standard ACPI dock driver can handle the hotplug bays and docks of the ThinkPads just fine (including batteries) as of 2.6.27. In fact, it does a much better job of it than thinkpad-acpi ever did. It is just not worth the hassle to find a way to fix this crap without breaking the (deprecated) thinkpad-acpi dock/bay ABI. This is old, deprecated code that sees little testing or use. As a quick fix suitable for -stable backports, mark the thinkpad-acpi bay and dock subdrivers as BROKEN in Kconfig. The dead code will be removed by a later patch. This fixes bugzilla #13669, and should be applied to 2.6.27 and later. Signed-off-by: Henrique de Moraes Holschuh Reported-by: Joerg Platte Cc: stable@kernel.org Signed-off-by: Len Brown commit 0dd8486b5cfe8048e0613334659d9252ecd1b08a Author: Linus Torvalds Date: Sat Aug 1 11:18:56 2009 -0700 do_sigaltstack: small cleanups The previous commit ("do_sigaltstack: avoid copying 'stack_t' as a structure to user space") fixed a real bug. This one just cleans up the copy from user space to that gcc can generate better code for it (and so that it looks the same as the later copy back to user space). Signed-off-by: Linus Torvalds commit 0083fc2c50e6c5127c2802ad323adf8143ab7856 Author: Linus Torvalds Date: Sat Aug 1 10:34:56 2009 -0700 do_sigaltstack: avoid copying 'stack_t' as a structure to user space Ulrich Drepper correctly points out that there is generally padding in the structure on 64-bit hosts, and that copying the structure from kernel to user space can leak information from the kernel stack in those padding bytes. Avoid the whole issue by just copying the three members one by one instead, which also means that the function also can avoid the need for a stack frame. This also happens to match how we copy the new structure from user space, so it all even makes sense. [ The obvious solution of adding a memset() generates horrid code, gcc does really stupid things. ] Reported-by: Ulrich Drepper Signed-off-by: Linus Torvalds commit a97778457f22181e8c38c4cd7d7e528378738a98 Author: Ryusuke Konishi Date: Tue Jul 28 17:55:29 2009 +0900 nilfs2: fix oops due to inconsistent state in page with discrete b-tree nodes Andrea Gelmini gave me a report that a kernel oops hit on a nilfs filesystem with a 1KB block size when doing rsync. This turned out to be caused by an inconsistency of dirty state between a page and its buffers storing b-tree node blocks. If the page had multiple buffers split over multiple logs, and if the logs were written at a time, a dirty flag remained in the page even every dirty flag in the buffers was cleared. This will fix the failure by dropping the dirty flag properly for pages with the discrete multiple b-tree nodes. Reported-by: Andrea Gelmini Signed-off-by: Ryusuke Konishi Tested-by: Andrea Gelmini Cc: stable@kernel.org commit 2d1b6949d2c855f195de0f5146625015ecca3944 Author: Ingo Molnar Date: Sat Aug 1 13:15:36 2009 +0200 perf_counter tools: Fix link errors with older toolchains On older distros (F8 for example) the perf build could fail with such missing symbols: LINK perf /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle': (.text+0x2b3): undefined reference to `cplus_demangle' /usr/lib/gcc/x86_64-redhat-linux/4.3.2/../../../../lib64/libbfd.a(bfd.o): In function `bfd_demangle': Link in -liberty too. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 7e5f5fb09e6fc657f21816b5a18ba645a913368e Author: Martin K. Petersen Date: Fri Jul 31 11:49:13 2009 -0400 block: Update topology documentation Update topology comments and sysfs documentation based upon discussions with Neil Brown. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 70dd5bf3b99964d52862ad2810c24cc32a553535 Author: Martin K. Petersen Date: Fri Jul 31 11:49:12 2009 -0400 block: Stack optimal I/O size When stacking block devices ensure that optimal I/O size is scaled accordingly. Signed-off-by: Martin K. Petersen Reviewed-by: Mike Snitzer Signed-off-by: Jens Axboe commit 7c958e32649e0c35801762878fb0b6da8c55a515 Author: Martin K. Petersen Date: Fri Jul 31 11:49:11 2009 -0400 block: Add a wrapper for setting minimum request size without a queue Introduce blk_limits_io_min() and make blk_queue_io_min() call it. Signed-off-by: Mike Snitzer Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit fef246672b009cf3f7a74e2fc9a76932ef2eeed2 Author: Martin K. Petersen Date: Fri Jul 31 11:49:10 2009 -0400 block: Make blk_queue_stack_limits use the new stacking interface blk_queue_stack_limits() has been superceded by blk_stack_limits() and disk_stack_limits(). Wrap the function call for now, we'll deprecate it later. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ed680c4ad478d0fee9740f7d029087f181346564 Author: Linus Torvalds Date: Fri Jul 31 17:40:45 2009 -0700 Linux 2.6.31-rc5 commit ab57a40827d99e2d8e59066a56b93bf6c844c916 Author: Goldwyn Rodrigues Date: Fri Jul 31 14:28:02 2009 -0500 ocfs2: Remove redundant BUG_ON in __dlm_queue_ast() We BUG_ON() the same thing twice. Signed-off-by: Goldwyn Rodrigues Signed-off-by: Joel Becker commit f5266cbd2fca04dbd0387a67f550b6667ffa4ed2 Merge: a5bc92c c8a4051 Author: Linus Torvalds Date: Fri Jul 31 12:17:37 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: bump up nr_to_write in xfs_vm_writepage xfs: reduce bmv_count in xfs_vn_fiemap commit a5bc92cdf2ab27a15732976004b3755c40740f57 Merge: 6eb80e0 cbb4f26 Author: Linus Torvalds Date: Fri Jul 31 12:10:26 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: io context: fix ref counting block: make the end_io functions be non-GPL exports block: fix improper kobject release in blk_integrity_unregister block: always assign default lock to queues mg_disk: Add missing ready status check on mg_write() mg_disk: fix issue with data integrity on error in mg_write() mg_disk: fix reading invalid status when use polling driver mg_disk: remove prohibited sleep operation commit 6eb80e00bff341dd09a7ec8b9dba6da8410448bf Merge: d27d4e2 c712184 Author: Linus Torvalds Date: Fri Jul 31 12:09:57 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: Save mult_orig in clocksource_disable() commit d27d4e2a660939f1bdf74f0e24c4c109f90cd98d Merge: dbe63a2 3822a0e3 Author: Linus Torvalds Date: Fri Jul 31 12:09:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: orphan subsystem imxmmc: Remove unnecessary semicolons cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG lib/scatterlist: add a flags to signalize mapping direction commit dbe63a2cde07f4bccb2b2e4b35241491d8e096f6 Merge: b592972 ec86fe5 Author: Linus Torvalds Date: Fri Jul 31 12:09:02 2009 -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: ALSA: sound/aoa: Add kmalloc NULL tests ALSA: hda - Increase PCM stream name buf in patch_realtek.c sound: mpu401.c: Buffer overflow sound: aedsp16: Buffer overflow ALSA: hda: fix out-of-bound hdmi_eld.sad[] write ALSA: hda - Add quirk for Dell Studio 1555 commit 013f1b12f4fc479f697acae2f31bad220162cd03 Author: Chris Mason Date: Fri Jul 31 14:57:55 2009 -0400 Btrfs: make sure the async caching thread advances the key The async caching thread can end up looping forever if a given search puts it at the last key in a leaf. It will end up calling btrfs_next_leaf and then checking if it needs to politely drop the read semaphore. Most of the time this looping isn't noticed because it is able to make progress the next time around. But, during log replay, we wait on the async caching thread to finish, and the async thread is waiting on the commit, and no progress is really made. The fix used here is to copy the key out of the next leaf, that way our search lands there properly. Signed-off-by: Chris Mason commit 6606bb97e146a387932efee263745b7240a11193 Author: Josef Bacik Date: Fri Jul 31 11:03:58 2009 -0400 Btrfs: fix btrfs_remove_from_free_space corner case Yan Zheng hit a problem where we tried to remove some free space but failed because we couldn't find the free space entry. This is because the free space was held within a bitmap that had a starting offset well before the actual offset of the free space, and there were free space extents that were in the same range as that offset, so tree_search_offset returned with NULL because we couldn't find a free space extent that had that offset. This is fixed by making sure that if we fail to find the entry, we re-search again with bitmap_only set to 1 and do an offset_to_bitmap so we can get the appropriate bitmap. A similar problem happens in btrfs_alloc_from_bitmap for the clustering code, but that is not as bad since we will just go and redo our cluster allocation. Also this adds some debugging checks to make sure that the free space we are trying to remove from the bitmap is in fact there. This can probably go away after a while, but since this code is only used by the tree-logging stuff it would be nice to run with it for a while to make sure there are no problems. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit ff46a474ca2566d79e8d7454442b56d82bce37c1 Author: Guennadi Liakhovetski Date: Fri Jul 31 15:42:09 2009 +0200 mx3: Fix double pin allocation in pcm037_eet.c SPI pins are now allocated in pcm037.c, remove them from EET. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit c7121843685de2bf7f3afd3ae1d6a146010bf1fc Author: Magnus Damm Date: Tue Jul 28 14:09:55 2009 -0700 clocksource: Save mult_orig in clocksource_disable() To fix the common case where ->enable() does not set up mult, make sure mult_orig is saved in mult on disable. Also add comments to explain why we do this. Signed-off-by: Magnus Damm Cc: johnstul@us.ibm.com Cc: lethal@linux-sh.org Cc: akpm@linux-foundation.org LKML-Reference: <20090618152432.10136.9932.sendpatchset@rx1.opensource.se> Signed-off-by: Thomas Gleixner commit 3822a0e38c329a598cb6f5baa16be7504e0db8d9 Author: Pierre Ossman Date: Fri Jul 31 12:27:28 2009 +0200 mmc: orphan subsystem I do not have the time to take care of this, so remove myself as maintainer. Signed-off-by: Pierre Ossman commit a9239d750d9991f2feee78fc5669a4613abc1adb Author: Joe Perches Date: Sun Jun 28 09:26:31 2009 -0700 imxmmc: Remove unnecessary semicolons Signed-off-by: Joe Perches Acked-by: Pavel Pisa Signed-off-by: Pierre Ossman commit 4b2a108cd0d34880fe9d932258ca5b2ccebcd05e Author: Sebastian Andrzej Siewior Date: Mon Jun 22 09:18:05 2009 +0200 cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG the code allready uses flush_kernel_dcache_page(). This patch updates the driver to the recent sg API changes which require that either SG_MITER_TO_SG or SG_MITER_FROM_SG is set. SG_MITER_TO_SG calls flush_kernel_dcache_page() in sg_mitter_stop() Signed-off-by: Sebastian Andrzej Siewior Acked-by: Michał Mirosław Signed-off-by: Pierre Ossman commit da60a91d012bcb10bc5bcd86d585c4281742832c Author: Sebastian Andrzej Siewior Date: Thu Jun 18 09:33:32 2009 +0200 sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG so the page will be flushed on unmap on ARCH which need it. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Pierre Ossman commit 6de7e356faf54aa75de5b624bbce28a5b776dfa8 Author: Sebastian Andrzej Siewior Date: Thu Jun 18 10:19:12 2009 +0200 lib/scatterlist: add a flags to signalize mapping direction sg_miter_start() is currently unaware of the direction of the copy process (to or from the scatter list). It is important to know the direction because the page has to be flushed in case the data written is seen on a different mapping in user land on cache incoherent architectures. Signed-off-by: Sebastian Andrzej Siewior Acked-by: FUJITA Tomonori Acked-by: Tejun Heo Signed-off-by: Pierre Ossman commit ec86fe5209ef991e93b5d391e74954ea9d827c50 Merge: d62e345 a987004 Author: Takashi Iwai Date: Fri Jul 31 10:17:45 2009 +0200 Merge branch 'fix/oss' into for-linus * fix/oss: sound: mpu401.c: Buffer overflow sound: aedsp16: Buffer overflow commit d62e345f142ba271d9dab2b2e6cb5070cae94754 Merge: 6280b61 f065fab Author: Takashi Iwai Date: Fri Jul 31 10:17:44 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: sound/aoa: Add kmalloc NULL tests commit 6280b61af50ef3086816a9e753af355690fa78db Merge: 57e4a5c aa563af Author: Takashi Iwai Date: Fri Jul 31 10:17:42 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Increase PCM stream name buf in patch_realtek.c ALSA: hda: fix out-of-bound hdmi_eld.sad[] write ALSA: hda - Add quirk for Dell Studio 1555 commit f065fabc864f4c98857bf67caa2365e9f8545751 Author: Julia Lawall Date: Fri Jul 31 08:32:03 2009 +0200 ALSA: sound/aoa: Add kmalloc NULL tests Check that the result of kzalloc is not NULL before a dereference. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit aa563af763373a7e67a7b8fdb427d2a2fcbeab3b Author: Takashi Iwai Date: Fri Jul 31 10:05:11 2009 +0200 ALSA: hda - Increase PCM stream name buf in patch_realtek.c The name buf with size 16 is too short for some codec names, e.g. truncated like "ALC861-VD Analo". Now the size is doubled. Signed-off-by: Takashi Iwai commit cbb4f2646d77b536ed2b1500ef6641083228ed8f Author: Li Zefan Date: Fri Jul 31 08:55:48 2009 +0200 io context: fix ref counting Commit d9c7d394a8ebacb60097b192939ae9f15235225e ("block: prevent possible io_context->refcount overflow") mistakenly changed atomic_inc(&ioc->nr_tasks) to atomic_long_inc(&ioc->refcount). Signed-off-by: Li Zefan Acked-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit c8a4051c3731b6db224482218cfd535ab9393ff8 Author: Eric Sandeen Date: Fri Jul 31 00:02:17 2009 -0500 xfs: bump up nr_to_write in xfs_vm_writepage VM calculation for nr_to_write seems off. Bump it way up, this gets simple streaming writes zippy again. To be reviewed again after Jens' writeback changes. Signed-off-by: Christoph Hellwig Signed-off-by: Eric Sandeen Cc: Chris Mason Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 97db39a1f6f69e906e98118392400de5217aa33a Author: Eric Sandeen Date: Sun Jul 26 21:52:01 2009 -0500 xfs: reduce bmv_count in xfs_vn_fiemap commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused the full bmv_count's worth of getbmapx structures to get allocated; telling it to do MAXEXTNUM was a bit insane, resulting in ENOMEM every time. Chop it down to something reasonable, the number of slots in the caller's input buffer. If this is too large the caller may get ENOMEM but the reason should not be a mystery, and they can try again with something smaller. We add 1 to the value because in the normal getbmap world, bmv_count includes the header and xfs_getbmap does: nex = bmv->bmv_count - 1; if (nex <= 0) return XFS_ERROR(EINVAL); Signed-off-by: Eric Sandeen Reviewed-by: Olaf Weber Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 95fc17aac45300f45968aacd97a536ddd8db8101 Author: Dan Williams Date: Fri Jul 31 12:39:15 2009 +1000 md/raid6: release spare page at ->stop() Add missing call to safe_put_page from stop() by unifying open coded raid5_conf_t de-allocation under free_conf(). Cc: Signed-off-by: Dan Williams Signed-off-by: NeilBrown commit 0a924578bc4a2823a95c151f56975c71f5c156bb Author: Peter P Waskiewicz Jr Date: Thu Jul 30 12:26:00 2009 +0000 ixgbe: Fix RSC completion delay causing Rx interrupts to stop When a user disables interrupt throttling with ethtool on 82599 devices, the interrupt timer may not be re-enabled if hardware RSC is running. The RSC completions in hardware don't complete before the next ITR event tries to fire, so the ITR timer never gets re-armed. This patch increases the amount of time between interrupts when throttling is disabled (rx-usecs = 0) when the hardware RSC deature is enabled. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0c19d6af9253f19b41821c29b9c49c2214f19425 Author: Peter P Waskiewicz Jr Date: Thu Jul 30 12:25:28 2009 +0000 ixgbe: Fix usage of second flags bitmap when using LRO/RSC A second set of feature flag bits was added, and the hardware RSC engine flags were moved there. However, the code itself didn't make the move completely to use the new bitmap. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8f9a71673d9f397a365f4d18c307e91141b8fe92 Author: Peter P Waskiewicz Jr Date: Thu Jul 30 12:25:09 2009 +0000 ixgbe: Fix netpoll to be properly multiqueue aware Our ndo_poll_controller callback is broken for anything but non-multiqueue setups. This fixes that issue. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bdc6340f4eb68295b1e7c0ade2356b56dca93d93 Author: Pallipadi, Venkatesh Date: Thu Jul 30 14:43:19 2009 -0700 x86, pat: Fix set_memory_wc related corruption Changeset 3869c4aa18835c8c61b44bd0f3ace36e9d3b5bd0 that went in after 2.6.30-rc1 was a seemingly small change to _set_memory_wc() to make it complaint with SDM requirements. But, introduced a nasty bug, which can result in crash and/or strange corruptions when set_memory_wc is used. One such crash reported here http://lkml.org/lkml/2009/7/30/94 Actually, that changeset introduced two bugs. * change_page_attr_set() takes &addr as first argument and can the addr value might have changed on return, even for single page change_page_attr_set() call. That will make the second change_page_attr_set() in this routine operate on unrelated addr, that can eventually cause strange corruptions and bad page state crash. * The second change_page_attr_set() call, before setting _PAGE_CACHE_WC, should clear the earlier _PAGE_CACHE_UC_MINUS, as otherwise cache attribute will not be WC (will be UC instead). The patch below fixes both these problems. Sending a single patch to fix both the problems, as the change is to the same line of code. The change to have a addr_copy is not very clean. But, it is simpler than making more changes through various routines in pageattr.c. A huge thanks to Jerome for reporting this problem and providing a simple test case that helped us root cause the problem. Reported-by: Jerome Glisse Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha LKML-Reference: <20090730214319.GA1889@linux-os.sc.intel.com> Acked-by: Dave Airlie Signed-off-by: H. Peter Anvin commit b592972493c38665efd7d429a01b23fcb21e331a Merge: ec6a867 636eace Author: Linus Torvalds Date: Thu Jul 30 16:46:58 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/stat: Fix seqfile memory leak function-graph: Fix seqfile memory leak trace_stack: Fix seqfile memory leak profile: Suppress warning about large allocations when profile=1 is specified commit ec6a8679fa8ce977c8b7f86238455b494699de74 Merge: db06816 f36f304 Author: Linus Torvalds Date: Thu Jul 30 16:46:48 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: be more polite in the async caching threads Btrfs: preserve commit_root for async caching commit db06816cb9ceb21a2bf24122407b7b4fe419c3fc Merge: 784b1d6 808347f Author: Linus Torvalds Date: Thu Jul 30 16:46:31 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: dmaengine: at_hdmac: add DMA slave transfers dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller dmaengine: dmatest: correct thread_count while using multiple thread per channel dmaengine: dmatest: add a maximum number of test iterations drivers/dma: Remove unnecessary semicolons drivers/dma/fsldma.c: Remove unnecessary semicolons dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA fsldma: do not clear bandwidth control bits on the 83xx controller fsldma: enable external start for the 83xx controller fsldma: use PCI Read Multiple command commit 784b1d6b21cb25791b68276af27a7c2321d5a86f Merge: 691c5f7 4bf17af Author: Linus Torvalds Date: Thu Jul 30 16:46:17 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks commit 691c5f7374ee3d48fd2c838261820a06e4be9043 Merge: fbdbf83 dee8656 Author: Linus Torvalds Date: Thu Jul 30 16:46:06 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: quota: Silence lockdep on quota_on commit fbdbf8389976b9f40d36f21985be28a0f438f779 Merge: 79af313 bfdb46c Author: Linus Torvalds Date: Thu Jul 30 16:45:53 2009 -0700 Merge git://git.infradead.org/users/cbou/battery-2.6.31 * git://git.infradead.org/users/cbou/battery-2.6.31: Add ds2782 battery gas gauge driver olpc_battery: Ensure that the TRICKLE bit is checked olpc_battery: Fix up eeprom read function commit 79af3133174da620171eea82bb505a5a5cb7c6f4 Merge: e1ca4ae b94a170 Author: Linus Torvalds Date: Thu Jul 30 16:45:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: remove dcache entries for remote deleted inodes GFS2: Fix incorrent statfs consistency check GFS2: Don't put unlikely reclaim candidates on the reclaim list. GFS2: Don't try and dealloc own inode GFS2: Fix panic in glock memory shrinker GFS2: keep statfs info in sync on grows GFS2: Shrink the shrinker commit e1ca4aed112b270162302d389281b6cefac60a12 Merge: 6ae7d6f 34466c5 Author: Linus Torvalds Date: Thu Jul 30 16:45:20 2009 -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: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx powerpc/86xx: Update GE Fanuc sbc310 default configuration powerpc/86xx: Update defconfig for GE Fanuc's PPC9A cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards powerpc/mm: Fix SMP issue with MMU context handling code commit 6ae7d6f0195a0ec7e5d07821e62c79898cd33fdc Merge: ec30c5f 1842f23 Author: Linus Torvalds Date: Thu Jul 30 16:45:03 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest and virtio: cleanup struct definitions to Linux style. lguest: update commentry lguest: fix comment style virtio: refactor find_vqs virtio: delete vq from list virtio: fix memory leak on device removal lguest: fix descriptor corruption in example launcher lguest: dereferencing freed mem in add_eventfd() commit ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1 Author: Masami Hiramatsu Date: Tue Jul 28 19:47:23 2009 -0400 kprobes: Use kernel_text_address() for checking probe address Use kernel_text_address() for checking probe address instead of __kernel_text_address(), because __kernel_text_address() returns true for init functions even after relaseing those functions. That will hit a BUG() in text_poke(). Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Signed-off-by: Linus Torvalds commit 90a09c9cf78344d18e2438c3b87363b949629fa3 Author: Linus Torvalds Date: Thu Jul 30 16:40:37 2009 -0700 Alan doesn't want to maintain tty code any more Not that anybody can blame him. It's a morass. But hey, it's way better than it _used_ to be, though, so thanks for all the fish. Signed-off-by: Linus Torvalds commit 909db80297ba65699a77d877f7bf618ba960f6fc Author: Ramax Lo Date: Fri Jul 10 19:30:56 2009 +0800 ARM: S3C64XX: serial: Fix section mismatch warning Rename the structure to avoid the following warning: WARNING: vmlinux.o(.data+0x11ef4): Section mismatch in reference from the variable s3c6400_serial_drv to the function .devexit.text:s3c24xx_serial_remove() The variable s3c6400_serial_drv references the function __devexit s3c24xx_serial_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 8fe70a5f7167e02bbc18086970f0e92a5e55b80d Author: Ramax Lo Date: Thu Jul 9 16:28:33 2009 +0800 ARM: S3C24XX: serial: Fix section mismatch warnings During kernel build process, the following warning was found: WARNING: drivers/serial/built-in.o(.data+0x304): Section mismatch in reference from the variable s3c2440_serial_drv to the function .devexit.text:s3c24xx_serial_remove() The variable s3c2440_serial_drv references the function __devexit s3c24xx_serial_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, The same warning happened for s3c241x platform. We rename variables to avoid these warnings. These changes also apply to s3c2400 & s3c24a0 for consistency. Signed-off-by: Ramax Lo Signed-off-by: Ben Dooks commit 165f5f64199f972a21f21effc125d89ed2488e58 Author: Peter Korsgaard Date: Wed Jul 1 17:47:08 2009 +0200 ARM: S3C: PWM fix for low duty cycle The pwm hardware only checks the compare register after a decrement, so the pin never toggles if tcmp = tcnt. This happens when a very low duty cycle is requested. Fix it by always ensuring that tcmp < tcnt. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit accff95c2500c7bce671c1f722de6f8810fe550d Author: Jiajun Wu Date: Thu Jul 30 14:20:42 2009 -0700 gianfar: fix coalescing setup in ethtool support Parameter order for using mk_ic_value(count, time) was reversed, the patch fixes this. Signed-off-by: Jiajun Wu Signed-off-by: Li Yang Signed-off-by: David S. Miller commit 72fc939789dbe7ca091b50b686d45ac0df15417a Author: Eric Dumazet Date: Tue Jul 28 23:43:08 2009 +0000 pppoe: fix /proc/net/pppoe If a socket is hashed in last slot of pppoe hash table (PPPOE_HASH_SIZE-1) we report it many times (up to filling seq buffer) (Only the last socket of last slot) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit daed953721850381673687c59f3a0df553eb6626 Author: Frans Pop Date: Thu Jul 30 17:16:05 2009 -0400 hp-wmi: check that an input device exists in resume handler Some systems may not support input events, or registering the input handler may have failed. So check that an input device exists before trying to set the docking and tablet mode state during resume. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13865 Reported-and-tested-by: Cédric Godin Signed-off-by: Frans Pop Acked-by: Matthew Garrett Signed-off-by: Len Brown commit f0c5b35c6c93c89a9d8ccab19b0b4842f5dfddc5 Author: roel kluin Date: Wed Jul 29 03:18:56 2009 +0000 eexpress: Read buffer overflow start_code is 69 words, but the code always writes a multiple of 16 words, so the last 11 words written are outside the array. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit a3e8ee682003685b8b9c98c89340a42e48c3e813 Author: roel kluin Date: Wed Jul 29 23:46:59 2009 +0000 ipv4: ARP neigh procfs buffer overflow If arp_format_neigh_entry() can be called with n->dev->addr_len == 0, then a write to hbuffer[-1] occurs. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 3d54015b750e5d5e950a1dcee2735387fd4b6e1a Author: roel kluin Date: Thu Jul 30 00:26:32 2009 +0000 3c515: Write outside array bounds if dev_alloc_skb() fails on the first iteration, a write to cp->rx_ring[-1] occurs. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 2a8aaacda5097fa92a39948da1b4c6614b6e150e Author: Tobias Klauser Date: Thu Jul 30 13:10:50 2009 -0700 docbook: fix printk of ip address Use the %pI4 format string instead of %d.%d.%d.%d and NIPQUAD. Signed-off-by: Tobias Klauser Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit e9956fae7dbce6ac770e7a00436c496ddbbd3215 Author: Tao Ma Date: Thu Jul 30 16:07:10 2009 +0800 ocfs2/quota: Release lock for error in ocfs2_quota_write. ocfs2_quota_write needs to release the lock if it fails to read quota block. So use "goto out" instead of "return err". Signed-off-by: Tao Ma Acked-by: Jan Kara Signed-off-by: Joel Becker commit a541f8401d8e9113a89ee902cb8d8e412d6d3569 Author: Michael Chan Date: Wed Jul 29 08:49:52 2009 +0000 iscsi: Use GFP_ATOMIC in iscsi_offload_mesg(). Changing to GFP_ATOMIC because the only caller in cnic/bnx2i may be calling this function while holding spin_lock. This problem was discovered by Mike Christie. Signed-off-by: Michael Chan Acked-by: Mike Christie Signed-off-by: David S. Miller commit ca7daea612b480ecf0fc5bd1630b88447fe73fc5 Author: Julia Lawall Date: Thu Jul 30 04:38:19 2009 +0000 net/netlabel: Add kmalloc NULL tests The test on map4 should be a test on map6. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Acked-by: Paul Moore Signed-off-by: David S. Miller commit a1b97440eec0ea3e53183cde8fe82ff8c1ffb091 Merge: 27fed41 89c3a8a Author: David S. Miller Date: Thu Jul 30 10:35:45 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0c2e39525b3b53a97a0202c5f35058147e53977e Author: ling.ma@intel.com Date: Fri Jul 17 11:44:30 2009 +0800 drm/i915: Add support for dual-channel LVDS on 8xx. This corresponds to a fix to UMS back in 2007. Fixes fd.o bug #20115. Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit 2b8d33f714477d1719f96459370037993520de84 Author: ling.ma@intel.com Date: Wed Jul 29 11:31:18 2009 +0800 drm/i915: Return disconnected for SDVO DVI when there's no digital EDID. The patch fixed a bug on MP965-D. When VGA is connected to a DVI-I connector, it incorrectly shows sdvo dvi as connected. Signed-off-by: Ma Ling [anholt: hand-resolved against previous commit and fixed up commit message] Signed-off-by: Eric Anholt commit ffd4bc2a984fab40ed969163efdff321490e8032 Author: Martin K. Petersen Date: Wed Jul 29 14:06:53 2009 -0400 [SCSI] sd: Avoid sending extended inquiry to legacy devices Some USB devices crash when we send them an inquiry with the EVPD bit set, regardless of page requested (i.e. including page 0). We only need the extended inquiry to gain access to VPD pages 0xB0 and 0xB1. These appeared in SBC2 and SBC3 respectively, so we can restrict sending the extended inquiry to devices reporting SPC3 or higher. This fixes bugzilla.kernel.org #13657. Signed-off-by: Martin K. Petersen [jejb: added comment] Signed-off-by: James Bottomley commit dee865656f2d8b866f8ac22c60d6363b914e9f12 Author: Jan Kara Date: Wed Jul 22 18:12:17 2009 +0200 quota: Silence lockdep on quota_on Commit d01730d74d2b0155da50d44555001706294014f7 didn't completely fix the problem since we still take dqio_mutex and i_mutex in the wrong order. Move taking of i_mutex further down (luckily it's needed only for updating inode flags) below where dqio_mutex is taken. Tested-by: Valdis Kletnieks Signed-off-by: Jan Kara commit 4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4 Author: Jan Kara Date: Tue Jul 14 19:30:23 2009 +0200 udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks VAT inode is located in the last block recorded block of the medium. When the drive errorneously reports number of recorded blocks, we failed to load the VAT inode and thus mount the medium. This patch makes kernel try to read VAT inode from the last block of the device if it is different from the last recorded block. Signed-off-by: Jan Kara commit 19252de6818ced0def0551d64a0a2975f52a523d Author: Tom Peng Date: Fri Jul 17 16:02:04 2009 +0800 [SCSI] libsas: fix wide port hotplug issues Hotplug of phys which form wide ports simply does not work at the moment. Fix this by adding checks at the hotplug points to see if the attached sas address of the phy already exists (in which case it's part of a wide port) and act accordingly. Signed-off-by: Tom Peng Signed-off-by: Jack Wang Signed-off-by: Lindar Liu Signed-off-by: Kevin Ao [jejb: tidied up coding, fixed an error case and made TRUE/FALSE lower case to fix a ppc64 compile error in linux-next] Signed-off-by: James Bottomley commit f36f3042eae238bdaefe7c79310afe573bfc3622 Author: Chris Mason Date: Thu Jul 30 10:04:48 2009 -0400 Btrfs: be more polite in the async caching threads The semaphore used by the async caching threads can prevent a transaction commit, which can make the FS appear to stall. This releases the semaphore more often when a transaction commit is in progress. Signed-off-by: Chris Mason commit a0cc1ecc098e31d03b3265712a3e280a7fabf438 Author: Vasu Dev Date: Tue Jul 28 17:33:37 2009 -0700 [SCSI] libfc: fix a circular locking warning during sending RRQ Currently the fc_exch_rrq is called with fc_exch's ex_lock held. The fc_exch_rrq allocates new exch and that requires taking ex_lock again after EM lock. This locking order causes warning, see more details on this warning at :- http://www.open-fcoe.org/pipermail/devel/2009-July/003251.html This patch fixes this by dropping the ex_lock before calling fc_exch_rrq(). The fc_exch_rrq needs to grab ex_lock lock again to schedule RRQ retry and in the meanwhile fc_exch_reset could occur before ex_lock is grabbed inside fc_exch_rrq. So to handle this case, this patch adds additional check to detect fc_exch_reset after ex_lock acquired and in case the fc_exch_reset occurred then abandons the RRQ retry and releases the exch. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 16ed55f9de6743ceece9bf528362cadff10f1c5c Author: Karen Higgins Date: Wed Jul 15 15:03:02 2009 -0500 [SCSI] qla4xxx: Remove hiwat code so scsi eh does not get escalated when we can make progress Removed unnecessary hiwat code to free up the number available IOCBs. Eliminates unnecessary eh_ escalations due to inability to obtain IOCB pkt for marker. v2. - Remove define not used anymore and fix req_q_coun accounting. Signed-off-by: Karen Higgins [michaelc: ported patch from qlogic.com driver to upstream] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 612f73488785829d4f34aad00bfe30b904c94c9e Author: Karen Higgins Date: Wed Jul 15 15:03:01 2009 -0500 [SCSI] qla4xxx: Fix srb lookup in qla4xxx_eh_device_reset eh_device_reset may be called from scsi error handler or sg_reset, etc. When called from sg_reset, there will not be an associated srb. The driver should lookup the corresponding device handle given information from the supplied cmd structure and should not assume that there exists an srb. Signed-off-by: Karen Higgins Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit dca05c4c07c48da0509708d9e562578d269e90e5 Author: Karen Higgins Date: Wed Jul 15 15:03:00 2009 -0500 [SCSI] qla4xxx: Fix Driver Fault Recovery Completion Fixed driver bug where adapter recovery did not complete if there were outstanding commands detected on that host adapter. Signed-off-by: Karen Higgins Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c656af7e4edfe44c85034d6fa7002909f9c3c59 Author: Mike Christie Date: Wed Jul 15 15:02:59 2009 -0500 [SCSI] qla4xxx: add timeout handler Recently dm-multipath began calling blk_abort_queue. This causes all the commands/request running on the path to have the timeout function called. If a path does go down, and the LLD returns DID_*, dm-multpiath will eventually get this error and begin to call the cmd timeout handler. qla4xxx currently does not set a timed out handler and so the default one could return BLK_EH_NOT_HANDLED and end up firing the scsi eh and stopping IO to all paths on the host when only one path is affected. For software and offload iscsi we have a timed out handler already. This patch adds a driver specific one to qla4xxx because there are some ddb->state and session->state and command completion races that are better handled in the LLD. This also handles the problem where if the session is down, we do not need the scsi eh to run until the transport code has tried to reconnect us. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 94bced3c1b371014cbd187f2df5539b13a0e3b90 Author: Karen Higgins Date: Wed Jul 15 15:02:58 2009 -0500 [SCSI] qla4xxx: Correct Extended Sense Data Errors Fixed sense data errors occurring above the first 32 bytes, as required by some third party applications. Sense data in the first 32 bytes has always been correct. Patch updated to use srb data variables instead of scsi command scratchpad data area, as scratchpad area is already used. Also, corrected debug print alignment bug in dump_buffer routine. Changed KERN_DEBUG to KERN_INFO in printk statements in this routine. Changed version number to 5.01.00-k9 Signed-off-by: Karen Higgins [michaelc: fixed checkpath.pl errors] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 6187c242089d334102be76427a5a020240e6c19a Author: Mike Christie Date: Wed Jul 15 15:02:57 2009 -0500 [SCSI] libiscsi: disable bh in and abort handler. The session lock can be held in the scsi eh thread or the completion paths run from the net softirq. This disables bhs in iscsi_eh_abort when taking the session lock. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a11a52be115889a5d1f738ed2e154807bceed4ee Author: Christof Schmitt Date: Mon Jul 13 15:06:14 2009 +0200 [SCSI] zfcp: Fix tracing of request id for abort requests The trace record for SCSI abort requests has a field for the request id of the request to be aborted. Put the real request id instead of zero. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 27f492ccec94b6acd8440c83bfe0515ce4db0af0 Author: Swen Schillig Date: Mon Jul 13 15:06:13 2009 +0200 [SCSI] zfcp: Fix wka port processing Under certain conditions it is possible that a WKA port ist not opened within the expected timeframe of half a second. In this situation the WKA port remains in the state OPENING preventing any succeding request to open the port. This led to unrecoverable remote ports. Fixing this by always setting an appropriate WKA port status before leaving the function and removing the timeout value here since it's not needed here because the general timeout processing would deal with it if required. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 17a093ef018481ee1760da19568bad3c11da395d Author: Swen Schillig Date: Mon Jul 13 15:06:12 2009 +0200 [SCSI] zfcp: avoid double notify in lowmem scenario In a LOWMEM condition an ERP notification would have been sent twice causing an unpredictable behaviour of the ERP. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 379d6bf6573ee6541a38bbe9140c1f0b94e3feae Author: Christof Schmitt Date: Mon Jul 13 15:06:11 2009 +0200 [SCSI] zfcp: Add port only once to FC transport class When calling fc_remote_port_add make sure to not call it again before fc_remote_port_delete has been called. In other words, ensure to create a new fc_rport, then delete it, then create a new one again. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit cbf1ed0264da104573458aedc220ebfcd02567f6 Author: Christof Schmitt Date: Mon Jul 13 15:06:10 2009 +0200 [SCSI] zfcp: Recover from stalled outbound queue Depending on interruptions on some storage systems, the complete channel can stall which looks like an outbound queue stall to Linux. When trying to acquire a free SBAL for a non-SCSI command, zfcp waits for 5 seconds for a free slot to appear. This is the right place to detect a queue stall: If the wait times out, we assume a stalled queue and try to recover this. The overall strategy should be to trigger the erp from specific events, and not try an overall escalation from one failed port to a full-blown queue recovery. If we manage to send a command, the status codes for this command or a timeout will trigger the right follow-on actions. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 85600f7f8370fe5b4be0debd8b401de7986b52ae Author: Christof Schmitt Date: Mon Jul 13 15:06:09 2009 +0200 [SCSI] zfcp: Fix erp escalation procedure If an action fails, retry it until the erp count exceeds the threshold. If there is something fundamentally wrong, the FSF layer will trigger a more appropriate action depending on the FSF status codes. The followup for successful actions is a different followup than retrying failed actions, so split the code two functions to make this clear. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ddb3e0c111fed0a8bf74884dc918274acec2b618 Author: Christof Schmitt Date: Mon Jul 13 15:06:08 2009 +0200 [SCSI] zfcp: Fix logic for physical port close After closing the port, we want it to be "not open" to consider the action to be successful. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9072df4dc6e8fd569d583815edb0198af4b688b8 Author: Christof Schmitt Date: Mon Jul 13 15:06:07 2009 +0200 [SCSI] zfcp: Use -EIO for SBAL allocation failures -ENOMEM is for memory allocation problems, -EIO for queue/SBAL allocation problems. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 426f6059b0eb66cec139f4b9066168ab72b85774 Author: Christof Schmitt Date: Mon Jul 13 15:06:06 2009 +0200 [SCSI] zfcp: Use unchained mode for small ct and els requests The ELS ADISC and the GID_PN requests sent from zfcp fit into unchained FSF requests. Change the FSF allocation logic to use unchained requests whenever possible where everything fits in one SBAL. This avoids acquiring more SBALs than necessary, especially during zfcp recovery when things might be stalled. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 688a1820bde27749f22b18b94ef1c9bc179b1b29 Author: Christof Schmitt Date: Mon Jul 13 15:06:05 2009 +0200 [SCSI] zfcp: Use correct flags for zfcp_erp_notify zfcp_erp_notify uses the ZFCP_ERP_STATUS_* flags, so it is ZFCP_STATUS_ERP_LOWMEM instead of ZFCP_ERP_NOMEM. Signalling ZFCP_ERP_FAILED is not necessary, the missing d_id will show that the nameserver did not return the d_id. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 1e9b16430ff4fd09408a74342d6b8338228e2f70 Author: Christof Schmitt Date: Mon Jul 13 15:06:04 2009 +0200 [SCSI] zfcp: Return -ENOMEM for allocation failures in zfcp_fsf When a fsf_req or a qtcb cannot be allocated return -ENOMEM instead of -EIO. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit acf7b86150701de105aa8307b4b3f9dc533c45bb Author: Christof Schmitt Date: Mon Jul 13 15:06:03 2009 +0200 [SCSI] zfcp: Acquire qdio_stat_lock when reading the queue utilization req_q_util is not atomic, so the qdio_stat_lock must be held when reading this variable. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit dfb3cf00e402686f671db697adbd8b9f4c219268 Author: Swen Schillig Date: Mon Jul 13 15:06:02 2009 +0200 [SCSI] zfcp: Fix invalid command order We should not modify the port status after triggering an ERP action for the port. It is not guaranteed which status is finally active when the ERP action is performed. This can lead to situations which are unwanted and hard to debug in case of a failure. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 276e680d192a67d222fcea51af37b056feffb665 Author: Yan Zheng Date: Thu Jul 30 09:40:40 2009 -0400 Btrfs: preserve commit_root for async caching The async block group caching code uses the commit_root pointer to get a stable version of the extent allocation tree for scanning. This copy of the tree root isn't going to change and it significantly reduces the complexity of the scanning code. During a commit, we have a loop where we update the extent allocation tree root. We need to loop because updating the root pointer in the tree of tree roots may allocate blocks which may change the extent allocation tree. Right now the commit_root pointer is changed inside this loop. It is more correct to change the commit_root pointer only after all the looping is done. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit b94a170e96dc416828af9d350ae2e34b70ae7347 Author: Benjamin Marzinski Date: Thu Jul 23 18:52:34 2009 -0500 GFS2: remove dcache entries for remote deleted inodes When a file is deleted from a gfs2 filesystem on one node, a dcache entry for it may still exist on other nodes in the cluster. If this happens, gfs2 will be unable to free this file on disk. Because of this, it's possible to have a gfs2 filesystem with no files on it and no free space. With this patch, when a node receives a callback notifying it that the file is being deleted on another node, it schedules a new workqueue thread to remove the file's dcache entry. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 6b94617024bd6810cde1d0d491202c30d5a38d91 Author: Benjamin Marzinski Date: Fri Jul 10 18:13:26 2009 -0500 GFS2: Fix incorrent statfs consistency check Since both linked and unlinked inodes are counted by rgd->rd_dinodes, It makes no sense to count them with the used data blocks (first check that I changed), it makes sense to count them with the linked inodes (second check), and it makes no sense to care if there are more unlinked inodes than linked ones. This fixes these errors. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 8ff22a6f9bdaac87c0eeb1d56c736181f11b4221 Author: Benjamin Marzinski Date: Fri Jul 10 18:04:24 2009 -0500 GFS2: Don't put unlikely reclaim candidates on the reclaim list. GFS2 was placing far too many glocks on the reclaim list that were not good candidates for freeing up from cache. These locks would sit there and repeatedly get scanned to see if they could be reclaimed, wasting a lot of time when there was memory pressure. This fix does more checks on the locks to see if they are actually likely to be removable from cache. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 1e19a19584b332eb92a573b66b7342fb97e67507 Author: Steven Whitehouse Date: Fri Jul 10 21:13:38 2009 +0100 GFS2: Don't try and dealloc own inode When searching for unlinked, but still allocated inodes during block allocation, avoid the block relating to the inode that is doing the allocation. This fixes a hang caused when an unlinked, but still open, inode tries to allocate some more blocks and lands up finding itself during the search for deallocatable inodes. Signed-off-by: Steven Whitehouse commit a51b56fff3f04fc5aa66b21a2a6d693ee9862d66 Author: Benjamin Marzinski Date: Tue Jun 30 13:51:11 2009 -0500 GFS2: Fix panic in glock memory shrinker It is possible for gfs2_shrink_glock_memory() to check a glock for demotion that's in the process of being freed by gfs2_glock_put(). In this case, gfs2_shrink_glock_memory() will acquire a new reference to this glock, and then try to free the glock itself when it drops the refernce. To solve this, gfs2_shrink_glock_memory() just needs to check if the glock is in the process of being freed, and if so skip it without ever unlocking the lru_lock. Signed-off-by: Benjamin Marzinski Acked-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 1946f70ab5e4eb8b54a8eaaedba2293a3750ab7e Author: Benjamin Marzinski Date: Thu Jun 25 15:09:51 2009 -0500 GFS2: keep statfs info in sync on grows GFS2 wasn't syncing its statfs info on grows. This causes a problem when you grow the filesystem on multiple nodes. GFS2 would calculate the new space based on the resource groups (which are always current), and then assume that the filesystem had grown the from the existing statfs size. If you grew the filesystem on two different nodes in a short time, the second node wouldn't see the statfs size change from the first node, and would assume that it was grown by a larger amount than it was. When all these changes were synced out, the total fileystem size would be incorrect (the first grow would be counted twice). This patch syncs makes GFS2 read in the statfs changes from disk before a grow, and write them out after the grow, while the master statfs inode is locked. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit 2163b1e616c41c286f5ab79912671cd4bf52057c Author: Steven Whitehouse Date: Thu Jun 25 16:30:26 2009 +0100 GFS2: Shrink the shrinker This patch removes some of the special cases that the shrinker was trying to deal with. As a result we leave fewer items on the list and none at all which cannot be demoted. This makes the list scanning more efficient and solves some issues seen with large numbers of inodes. Signed-off-by: Steven Whitehouse commit 320145fac91955ee35a6af7e1c2b42388a17b3d8 Author: Yegor Yefremov Date: Thu Jul 9 08:48:03 2009 +0100 ARM: 5597/1: [PCI] reset all internal hardware prior PCI initialization Make software reset to avoid freeze if PCI bus was messed up Signed-off-by: Yegor Yefremov Acked-by: Andrew Victor Signed-off-by: Russell King commit 0a52ac8d181e938d640c2da70cad6d1301abe775 Merge: e81b795 9b71de4 Author: Russell King Date: Thu Jul 30 10:47:55 2009 +0100 Merge branch 's3c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux commit e81b795d44ba04beab7714de65ed2e377823bd37 Merge: 5dbc80f 42469ff Author: Russell King Date: Thu Jul 30 10:47:09 2009 +0100 Merge branch 'mxc-defconfig-updates' of git://git.pengutronix.de/git/imx/linux-2.6 commit 5dbc80f69e131ecca42a5958b7785a57851c80d7 Merge: 3ef7143 1d3e216 Author: Russell King Date: Thu Jul 30 10:46:12 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c Author: Uwe Kleine-König Date: Wed Jul 29 19:31:30 2009 +0100 ARM: 5627/1: Fix restoring of lr at the end of mcount After ftrace_trace_function is called r1 is probably clobbered so don't try to use its value for restoring. This was introduced in v2.6.29~38^2~7 Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit e624859e7eb6ae2930df3923af73406dc6ccdad8 Author: Linus Walleij Date: Mon Jul 27 22:11:59 2009 +0100 ARM: 5624/1: Document cache aliasing region Augment the memory.txt file for ARM to list the cache aliasing region ffff4000-fffffff. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 1842f23c05b6a866be831aa60bc8a8731c58ddd0 Author: Rusty Russell Date: Thu Jul 30 16:03:46 2009 -0600 lguest and virtio: cleanup struct definitions to Linux style. I've been doing this for years, and akpm picked me up on it about 12 months ago. lguest partly serves as example code, so let's do it Right. Also, remove two unused fields in struct vblk_info in the example launcher. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit a91d74a3c4de8115295ee87350c13a329164aaaf Author: Rusty Russell Date: Thu Jul 30 16:03:45 2009 -0600 lguest: update commentry Every so often, after code shuffles, I need to go through and unbitrot the Lguest Journey (see drivers/lguest/README). Since we now use RCU in a simple form in one place I took the opportunity to expand that explanation. Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Paul McKenney commit 2e04ef76916d1e29a077ea9d0f2003c8fd86724d Author: Rusty Russell Date: Thu Jul 30 16:03:45 2009 -0600 lguest: fix comment style I don't really notice it (except to begrudge the extra vertical space), but Ingo does. And he pointed out that one excuse of lguest is as a teaching tool, it should set a good example. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit e969fed542cae08cb11d666efac4f7c5d624d09f Author: Michael S. Tsirkin Date: Sun Jul 26 15:48:08 2009 +0300 virtio: refactor find_vqs This refactors find_vqs, making it more readable and robust, and fixing two regressions from 2.6.30: - double free_irq causing BUG_ON on device removal - probe failure when vq can't be assigned to msi-x vector (reported on old host kernels) Tested-by: Amit Shah Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit f6c82507030d61e15928d5cad946d3eac1c4a384 Author: Michael S. Tsirkin Date: Sun Jul 26 15:48:01 2009 +0300 virtio: delete vq from list This makes delete vq the reverse of find vq. This is required to make it possible to retry find_vqs after a failure, otherwise the list gets corrupted. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit ff52c3fc7188855ede75d87b022271f0da309e5b Author: Michael S. Tsirkin Date: Thu Jul 23 14:57:37 2009 +0300 virtio: fix memory leak on device removal Make vp_free_vectors do the reverse of vq_request_vectors. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit 8ef562d112c82ec539775698f8b63ac5ec1bd766 Author: Rusty Russell Date: Thu Jul 30 16:03:43 2009 -0600 lguest: fix descriptor corruption in example launcher 1d589bb16b825b3a7b4edd34d997f1f1f953033d "Add serial number support for virtio_blk, V4a" extended 'struct virtio_blk_config' to 536 bytes. Lguest and S/390 both use an 8 bit value for the feature length, and this change broke them (if the code is naive). Signed-off-by: Rusty Russell Cc: John Cooper Cc: Christian Borntraeger commit f294526279cda8934b0313ebd02184a16ba888c9 Author: Dan Carpenter Date: Sun Jul 19 14:46:09 2009 +0300 lguest: dereferencing freed mem in add_eventfd() "new" was freed and then dereferenced. Also the return value wasn't being used so I modified the caller as well. Compile tested only. Found by smatch (http://repo.or.cz/w/smatch.git). regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Rusty Russell commit 34466c5be4dd1490acf98e6d2ff8f3728d8ca5c1 Author: Kumar Gala Date: Wed Jul 29 23:34:01 2009 -0500 powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx Signed-off-by: Kumar Gala commit 083e268c8b78606658f2e4524168ff45825d879e Author: Martyn Welch Date: Thu Jul 2 15:18:44 2009 +0100 powerpc/86xx: Update GE Fanuc sbc310 default configuration General update of defconfig including the following notable changes: - Enable Highmem support. - Support for PCMCIA based daughter card. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit f27d4d47dcf8906c8a22908dc1d32ec641e9fbe0 Author: Martyn Welch Date: Thu Jul 2 15:18:35 2009 +0100 powerpc/86xx: Update defconfig for GE Fanuc's PPC9A General update of defconfig including the following notable changes: - Enable GPIO access via sysfs on GE Fanuc's PPC9A. - Enable Highmem support. - Support for PCMCIA based daughter card. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 6e900de3fff01e84c96632409359a84825c54b28 Author: Mark Ware Date: Mon Jul 20 21:51:03 2009 +1000 cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c This is another alloc_bootmem() -> kzalloc() change, this time to fix the non-fatal badness caused when booting with a cpm2_uart console. Signed-off-by: Mark Ware Signed-off-by: Kumar Gala commit 1333c3d6d35bdb109ddbd4b7086cbf066a27b156 Author: Anton Vorontsov Date: Tue Jul 21 01:36:43 2009 +0400 powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards U-Boot maps PCI IO at 0xe0300000, while current dts files specify 0xe2000000. This leads to the following oops with CONFIG_8139TOO_PIO=y. 8139too Fast Ethernet driver 0.9.28 Machine check in kernel mode. Caused by (from SRR1=41000): Transfer error ack signal Oops: Machine check, sig: 7 [#1] MPC837x RDB [...] NIP [00000900] 0x900 LR [c0439df8] rtl8139_init_board+0x238/0x524 Call Trace: [cf831d90] [c0439dcc] rtl8139_init_board+0x20c/0x524 (unreliable) [cf831de0] [c043a15c] rtl8139_init_one+0x78/0x65c [cf831e40] [c0235250] pci_call_probe+0x20/0x30 [...] This patch fixes the issue by specifying the correct PCI IO base address. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 8a0b177f367a8fd03dc5ba1f5a4494d1424471aa Author: Anton Vorontsov Date: Wed Jul 1 21:39:25 2009 +0400 powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards Sometimes (e.g. when there are no UEMs attached to a board) fsl_pq_mdio_find_free() fails to find a spare address for a TBI PHY, this is because get_phy_id() returns bogus 0x0000ffff values (0xffffffff is expected), and therefore mdio bus probing fails with the following message: fsl-pq_mdio: probe of e0082120.mdio failed with error -16 And obviously ethernet doesn't work after this. This patch solves the problem by adding tbi-phy node into mdio node, so that we won't scan for spare addresses, we'll just use a fixed one. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit c4673f9a32d7b02bcd2057763d3d368efe5809c3 Author: Anton Vorontsov Date: Wed Jun 24 20:30:28 2009 +0400 powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards Linux isn't able to detect link changes on ethernet ports that were used by U-Boot. This is because U-Boot wrongly clears interrupt polarity bit (INTPOL, 0x400) in the extended status register (EXT_SR, 0x1b) of Marvell PHYs. There is no easy way for PHY drivers to know IRQ line polarity (we could extract it from the device tree and pass it to phydevs, but that'll be quite a lot of work), so for now just reset the PHYs to their default states. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5156ddce6c0a152ee7ccab2c976c6a8abc8a49b5 Author: Kumar Gala Date: Wed Jul 29 23:04:25 2009 -0500 powerpc/mm: Fix SMP issue with MMU context handling code In switch_mmu_context() if we call steal_context_smp() to get a context to use we shouldn't fall through and than call steal_context_up(). Doing so can be problematic in that the 'mm' that steal_context_up() ends up using will not get marked dirty in the stale_map[] for other CPUs that might have used that mm. Thus we could end up with stale TLB entries in the other CPUs that can cause all kinda of havoc. Signed-off-by: Kumar Gala commit 658874f05d040ca96eb5ba9b1c30ce0ff287d762 Merge: 91a5698 cd086d3 Author: Linus Torvalds Date: Wed Jul 29 19:39:22 2009 -0700 Merge branch 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-fixes-rc4' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-omap: OMAP3430 Silicon Errata 1.153 i2c-omap: In case of a NACK|ARDY|AL return from the ISR i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register i2c-sh_mobile: change module_init() to subsys_initcall() i2c: strncpy does not null terminate string i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value commit 5bd9052d79daa4c8beb45436c408b6de672adb82 Author: Steve French Date: Thu Jul 30 02:26:14 2009 +0000 [CIFS] Updates fs/cifs/CHANGES Signed-off-by: Steve French commit 91a5698d1f253d30f53f0c58d2504eaec481b854 Merge: 084bad9 dddac6a Author: Linus Torvalds Date: Wed Jul 29 19:15:18 2009 -0700 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: Replace bdget call with simple atomic_inc of i_count PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk commit 084bad91afd0f40ff4db9ceb56e29234c314d8d1 Author: Kristoffer Ericson Date: Wed Jul 29 15:04:32 2009 -0700 MAINTAINERS: update HP Jornada 700-series and Epson s1d13xxxfb support Add the relevant git repositories and affected files to the maintainership of HP Jornada 700-series and Epson s1d13xxxfb support. Signed-off-by: Kristoffer Ericson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bed6eeb8cb0b5198d8f93e415ee595704bc3534 Author: Joe Perches Date: Wed Jul 29 15:04:32 2009 -0700 MAINTAINERS: finish off the email address coalescing Add some touchups to the sample record. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b58be884a9fd650abb7f7adf3f885fb9cecd79d Author: Joe Perches Date: Wed Jul 29 15:04:30 2009 -0700 MAINTAINERS: coalesce name and email address lines Switch the MAINTAINERS email address format from P: Linus Torvalds M: torvalds@linux-foundation.org to M: Linus Torvalds Mainly to ease the copy-n-pasting of maitnainer addresses into email clients. The script to perform this operation: #! /bin/sh # # Change MAINTAINERS from # P: name # M: address # to: # M: name
# # Integrate P: and M: lines # perl -i -e 'local $/; while(<>) { s@P: ([^\n]+)\nM: ([^\n]+)\n@M: \1 <\2>\n@g; print; }' MAINTAINERS # # Quote names with periods, commas and parentheses # sed -r -i -e "s/^M: (.+)([\.,'\(])(.*) Acked-by: Pavel Machek Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d202aeb7b7b33d5a5b2040ee5af5b309782941c Author: Joe Perches Date: Wed Jul 29 15:04:29 2009 -0700 get_maintainerpl-add-git-min-percent-option-fix Allow an option to control the minimum percentage of sign-offs required before being considered a maintainer. git-min-percent has a default value of 5 Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afa81ee13033de791c41c1d9333853504653939b Author: Joe Perches Date: Wed Jul 29 15:04:28 2009 -0700 get_maintainer.pl: Add git-min-percent option Allow an option to control the minimum percentage of sign-offs required before being considered a maintainer. git-min-percent has a default value of 5 Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 870020f93af2323a81f179091a0780dc1d5b916b Author: Joe Perches Date: Wed Jul 29 15:04:28 2009 -0700 scripts/get_maintainer.pl: Add -f directory use Don't require a specific file in a directory to be tested. Also Arnd Bergmann pointed out that the MAINTAINERS pattern requirement that directory patterns have a trailing slash was unnecessary and was likely to be error prone. Removed that requirement. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82c4dfc76200055bd2ae600a08404c10df5f4ff6 Author: Joe Perches Date: Wed Jul 29 15:04:27 2009 -0700 MAINTAINERS: Scott Murray is no longer with SomaNetworks Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bd1944899354b6f1328fe84886fa8f4d5918aef Author: Joe Perches Date: Wed Jul 29 15:04:27 2009 -0700 MAINTAINERS: QLOGIC QLA3XXX - Add Ron Mercer email address Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edf4b0a980bf481bbcef0977e2c7369f13f3428f Author: Joe Perches Date: Wed Jul 29 15:04:26 2009 -0700 MAINTAINERS: QLOGIC QLA2XXX - add Andrew Vasquez email address Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ae9a7f119a8def8e68d7f5ab0d96b3aba80accb Author: Joe Perches Date: Wed Jul 29 15:04:26 2009 -0700 MAINTAINERS: Remove CS461x sound card section Thomas Woller's email address bounces Nils Faerber isn't active Added Thomas Woller to CREDITS, Nils already has an entry Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bee73ff71e17f5a807376e29653998755211ceb Author: Joe Perches Date: Wed Jul 29 15:04:25 2009 -0700 MAINTAINERS: INPUT: Add Dmitry's name to his email address Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a72f8024f4c9b06ff35d0bf6df479ea7fae4e2f8 Author: Joe Perches Date: Wed Jul 29 15:04:25 2009 -0700 MAINTAINERS: USB Serial Digi Acceleport: use separate P: for Al Borchers Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cabaaf415cc9820cfbf2bc86308b94b78e31fe3e Author: Joe Perches Date: Wed Jul 29 15:04:24 2009 -0700 MAINTAINERS: Add PPS patterns Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24725d1ecf26ba05d74c1cc3ae7467b61a900421 Author: Joe Perches Date: Wed Jul 29 15:04:24 2009 -0700 MAINTAINERS: Update KERNEL JANITORS Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb51b0349df8efccc37fc06aa25aecbd4d39551b Author: Joe Perches Date: Wed Jul 29 15:04:23 2009 -0700 MAINTAINERS: Move ARPD to CREDITS Jonathan Layes is hard to find. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5daa2963f8bd51c161d5b244e439e0c9fdec358b Author: Joe Perches Date: Wed Jul 29 15:04:23 2009 -0700 MAINTAINERS: Remove L: linux-kernel@vger.kernel.org from sections that should not have them. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fc26e36acce714ca26b576e3e6862887fa130d3 Author: Joe Perches Date: Wed Jul 29 15:04:22 2009 -0700 MAINTAINERS: Use tabs in ACER ASPIRE ONE Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cbfbe256dc0b0491351bc5bea89f229cfae2284 Author: Joe Perches Date: Wed Jul 29 15:04:21 2009 -0700 MAINTAINERS: QLGE 10Gb ETHERNET - pair P:/M: entries properly Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30e10993512c94daf0ab5cb4b512979aa1c85daf Author: Joe Perches Date: Wed Jul 29 15:04:21 2009 -0700 MAINTAINERS: Remove ivtv-user lists, add CX18 url Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56d44f05177e69b757a01987827db8ef79fb759c Author: Joe Perches Date: Wed Jul 29 15:04:20 2009 -0700 MAINTAINERS: IA64 - pair P:/M: entries properly Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 812ed032cdc8138b7546eecc996879756b92d801 Author: Jiri Slaby Date: Wed Jul 29 15:04:19 2009 -0700 uio: mark uio.h functions __KERNEL__ only To avoid userspace build failures such as: .../linux/uio.h:37: error: expected `=', `,', `;', `asm' or `__attribute__' before `iov_length' .../linux/uio.h:47: error: expected declaration specifiers or `...' before `size_t' move uio functions inside a __KERNEL__ block. Signed-off-by: Jiri Slaby Acked-by: Sam Ravnborg Cc: Alexander Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8da14b5fc32368f582df09fe9c0bec2507868583 Author: Albin Tonnerre Date: Wed Jul 29 15:04:18 2009 -0700 drivers/serial/atmel_serial.c: fix compile when CONFIG_SERIAL_ATMEL=Y and CONFIG_SERIAL_ATMEL_CONSOLE=N When SERIAL_ATMEL_CONSOLE is disabled, ATMEL_CONSOLE_DEVICE is set to NULL, and trying to access ATMEL_CONSOLE_DEVICE->flags in atmel_serial_probe makes the compile fail. This fixes the issue by only accessing it if CONFIG_SERIAL_ATMEL_CONSOLE is defined Signed-off-by: Albin Tonnerre Signed-off-by: Haavard Skinnemoen Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 534acc057b5a08ec33fa57cdd2f5a09ef124e7f2 Author: Dave Hansen Date: Wed Jul 29 15:04:18 2009 -0700 lib: flexible array implementation Once a structure goes over PAGE_SIZE*2, we see occasional allocation failures. Some people have chosen to switch over to things like vmalloc() that will let them keep array-like access to such a large structures. But, vmalloc() has plenty of downsides. Here's an alternative. I think it's what Andrew was suggesting here: http://lkml.org/lkml/2009/7/2/518 I call it a flexible array. It does all of its work in PAGE_SIZE bits, so never does an order>0 allocation. The base level has PAGE_SIZE-2*sizeof(int) bytes of storage for pointers to the second level. So, with a 32-bit arch, you get about 4MB (4183112 bytes) of total storage when the objects pack nicely into a page. It is half that on 64-bit because the pointers are twice the size. There's a table detailing this in the code. There are kerneldocs for the functions, but here's an overview: flex_array_alloc() - dynamically allocate a base structure flex_array_free() - free the array and all of the second-level pages flex_array_free_parts() - free the second-level pages, but not the base (for static bases) flex_array_put() - copy into the array at the given index flex_array_get() - copy out of the array at the given index flex_array_prealloc() - preallocate the second-level pages between the given indexes to guarantee no allocs will occur at put() time. We could also potentially just pass the "element_size" into each of the API functions instead of storing it internally. That would get us one more base pointer on 32-bit. I've been testing this by running it in userspace. The header and patch that I've been using are here, as well as the little script I'm using to generate the size table which goes in the kerneldocs. http://sr71.net/~dave/linux/flexarray/ [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Dave Hansen Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9e58f25734e153b8c6516d904e2398fb8b0b23d Author: Anton Vorontsov Date: Wed Jul 29 15:04:16 2009 -0700 sdhci: get rid of "frequency too high" flood when using eSDHC Since commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21 ("MMC core: limit minimum initialization frequency to 400kHz") MMC core checks for minimum frequency, and that causes following messages flood when using eSDHC controllers: ... mmc0: Minimum clock frequency too high for identification mode mmc0: Minimum clock frequency too high for identification mode ... The warnings are legitimate, since if we'd use 133 MHz clocks for standard SDHCI controllers, we'd not able to scale frequency down to 400 kHz. But eSDHC controllers have a non-standard SD clock management, so we can divide clock by 256 * 16, not just 256. This patch introduces get_min_clock() callback for sdhci core and implements it for sdhci-of driver, and thus fixes the issue. Signed-off-by: Anton Vorontsov Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cab8bd3410d448279e3bd0fbf96d31db0bf770fa Author: Hidetoshi Seto Date: Wed Jul 29 15:04:14 2009 -0700 sysrq, kdump: make sysrq-c consistent commit d6580a9f15238b87e618310c862231ae3f352d2d ("kexec: sysrq: simplify sysrq-c handler") changed the behavior of sysrq-c to unconditional dereference of NULL pointer. So in cases with CONFIG_KEXEC, where crash_kexec() was directly called from sysrq-c before, now it can be said that a step of "real oops" was inserted before starting kdump. However, in contrast to oops via SysRq-c from keyboard which results in panic due to in_interrupt(), oops via "echo c > /proc/sysrq-trigger" will not become panic unless panic_on_oops=1. It means that even if dump is properly configured to be taken on panic, the sysrq-c from proc interface might not start crashdump while the sysrq-c from keyboard can start crashdump. This confuses traditional users of kdump, i.e. people who expect sysrq-c to do common behavior in both of the keyboard and proc interface. This patch brings the keyboard and proc interface behavior of sysrq-c in line, by forcing panic_on_oops=1 before oops in sysrq-c handler. And some updates in documentation are included, to clarify that there is no longer dependency with CONFIG_KEXEC, and that now the system can just crash by sysrq-c if no dump mechanism is configured. Signed-off-by: Hidetoshi Seto Cc: Lai Jiangshan Cc: Ken'ichi Ohmichi Acked-by: Neil Horman Acked-by: Vivek Goyal Cc: Brayan Arraes Cc: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5a55efa140f5e9c9dd0f398fef54f20cdb74ec9 Author: Dave Jones Date: Wed Jul 29 15:04:12 2009 -0700 pps.h needs Found with make headers_check /usr/include/linux/pps.h:52: found __[us]{8,16,32,64} type without #include Signed-off-by: Dave Jones Cc: Rodolfo Giometti Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c8053652328693d10551131432ef3573e77ed2d Author: Catalin Marinas Date: Wed Jul 29 15:04:11 2009 -0700 fs/ramfs/file-nommu.c needs include/linux/sched.h This file makes use of various macros defined in files like asm/current.h or asm-generic/resource.h. All these files can be included via sched.h. The building of the !MMU ARM kernel (with additional patches) fails without this change. Signed-off-by: Catalin Marinas Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c29b3ff4f2d847464f7be3a0e179c6dfc69bd02 Author: Mel Gorman Date: Wed Jul 29 15:04:10 2009 -0700 net-dccp: suppress warning about large allocations from DCCP The DCCP protocol tries to allocate some large hash tables during initialisation using the largest size possible. This can be larger than what the page allocator can provide so it prints a warning. However, the caller is able to handle the situation so this patch suppresses the warning. Signed-off-by: Mel Gorman Acked-by: Arnaldo Carvalho de Melo Cc: "David S. Miller" Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62f495dad04fa94b5083aec638ff3072bccaaca Author: Mel Gorman Date: Wed Jul 29 15:04:09 2009 -0700 profile: suppress warning about large allocations when profile=1 is specified When profile= is used, a large buffer is allocated early at boot. This can be larger than what the page allocator can provide so it prints a warning. However, the caller is able to handle the situation so this patch suppresses the warning. Signed-off-by: Mel Gorman Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fc28b70fe2dbf87e061b6ce5091a1f8e4e5d4e7 Author: Mel Gorman Date: Wed Jul 29 15:04:08 2009 -0700 page-allocator: allow too high-order warning messages to be suppressed with __GFP_NOWARN The page allocator warns once when an order >= MAX_ORDER is specified. This is to catch callers of the allocator that are always falling back to their worst-case when it was not expected. However, there are cases where the caller is behaving correctly but cannot suppress the warning. This patch allows the warning to be suppressed by the callers by specifying __GFP_NOWARN. Signed-off-by: Mel Gorman Acked-by: David Rientjes Cc: Arnaldo Carvalho de Melo Cc: "David S. Miller" Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 887032670d47366a8c8f25396ea7c14b7b2cc620 Author: KAMEZAWA Hiroyuki Date: Wed Jul 29 15:04:06 2009 -0700 cgroup avoid permanent sleep at rmdir After commit ec64f51545fffbc4cb968f0cea56341a4b07e85a ("cgroup: fix frequent -EBUSY at rmdir"), cgroup's rmdir (especially against memcg) doesn't return -EBUSY by temporary ref counts. That commit expects all refs after pre_destroy() is temporary but...it wasn't. Then, rmdir can wait permanently. This patch tries to fix that and change followings. - set CGRP_WAIT_ON_RMDIR flag before pre_destroy(). - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case. if there are sleeping ones, wakes them up. - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set. Tested-by: Daisuke Nishimura Reported-by: Daisuke Nishimura Reviewed-by: Paul Menage Acked-by: Balbir Sigh Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d83679a8d471dc8b646919f70595d6fe8c9606 Author: Sebastian Heutling Date: Wed Jul 29 15:04:05 2009 -0700 eeprom/at25: bugfix "not ready" timeout after write Under certain circumstances msleep(1) within the loop, which waits for the EEPROM to be finished, might take longer than the timeout. On the next loop the status register might now return to be ready and therefore the loop finishes. The following check now tests if a timeout occurred and if so returns an error although the device reported it was ready. This fix replaces testing the occurrence of the timeout by testing the "not ready" bit in the status register. Signed-off-by: Sebastian Heutling Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 096b7fe012d66ed55e98bc8022405ede0cc80e96 Author: Li Zefan Date: Wed Jul 29 15:04:04 2009 -0700 cgroups: fix pid namespace bug The bug was introduced by commit cc31edceee04a7b87f2be48f9489ebb72d264844 ("cgroups: convert tasks file to use a seq_file with shared pid array"). We cache a pid array for all threads that are opening the same "tasks" file, but the pids in the array are always from the namespace of the last process that opened the file, so all other threads will read pids from that namespace instead of their own namespaces. To fix it, we maintain a list of pid arrays, which is keyed by pid_ns. The list will be of length 1 at most time. Reported-by: Paul Menage Idea-by: Paul Menage Signed-off-by: Li Zefan Reviewed-by: Serge Hallyn Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b317c833211b7fbf902163de766f09554090e0bf Author: Kristoffer Ericson Date: Wed Jul 29 15:04:03 2009 -0700 drivers/video/backlight/jornada720_bl.c: fix build Signed-off-by: Kristoffer Ericson Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc7b4b220c7e830a5b3ce0ea5f85a635e0c50f0 Author: Roland Dreier Date: Wed Jul 29 15:04:02 2009 -0700 lib: export generic atomic64_t functions The generic atomic64_t implementation in lib/ did not export the functions it defined, which means that modules that use atomic64_t would not link on platforms (such as 32-bit powerpc). For example, trying to build a kernel with CONFIG_NET_RDS on such a platform would fail with: ERROR: "atomic64_read" [net/rds/rds.ko] undefined! ERROR: "atomic64_set" [net/rds/rds.ko] undefined! Fix this by exporting the atomic64_t functions to modules. (I export the entire API even if it's not all currently used by in-tree modules to avoid having to continue fixing this in dribs and drabs) Signed-off-by: Roland Dreier Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c6f8bed01f9f9a5c607bd689bf67e7b8a36bd8 Author: Eric Sandeen Date: Wed Jul 29 15:02:16 2009 -0700 hugetlbfs: fix i_blocks accounting As reported in Red Hat bz #509671, i_blocks for files on hugetlbfs get accounting wrong when doing something like: $ > foo $ date > foo date: write error: Invalid argument $ /usr/bin/stat foo File: `foo' Size: 0 Blocks: 18446744073709547520 IO Block: 2097152 regular ... This is because hugetlb_unreserve_pages() is unconditionally removing blocks_per_huge_page(h) on each call rather than using the freed amount. If there were 0 blocks, it goes negative, resulting in the above. This is a regression from commit a5516438959d90b071ff0a484ce4f3f523dc3152 ("hugetlb: modular state for hugetlb page size") which did: - inode->i_blocks -= BLOCKS_PER_HUGEPAGE * freed; + inode->i_blocks -= blocks_per_huge_page(h); so just put back the freed multiplier, and it's all happy again. Signed-off-by: Eric Sandeen Acked-by: Andi Kleen Cc: William Lee Irwin III Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 659098141d02eb8e3545be8969d262e02d2f3f98 Author: Thadeu Lima de Souza Cascardo Date: Wed Jul 29 15:02:13 2009 -0700 rtc: mark if rtc-cmos drivers were successfully registered rtc-cmos has two drivers, one PNP and one platform. When PNP has not succeeded probing, platform is registered. However, it tries to unregister both drivers unconditionally, instead of only unregistering those that were successfully registered. This causes runtime warnings to be emitted from the driver core code. Fix this with a boolean variable for each driver indicating whether registering was successful. Signed-off-by: Thadeu Lima de Souza Cascardo Cc: David Brownell Cc: Bjorn Helgaas Cc: Alessandro Zummo Cc: Ingo Molnar Cc: David Brownell Cc: Kay Sievers Cc: Greg KH Cc: Ozan Caglayan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57c5c28dbc835c67a9c23912bab56b7f165e7715 Author: Eero Nurkkala Date: Wed Jul 29 15:02:12 2009 -0700 spi: omap2_mcspi rxdma bugfix When data is read through DMA, the last element must be read separately through the RX register. It cannot be transferred by the DMA. For further details see e.g. OMAP35x TRM (table 19-16). Without the fix the driver causes extra clocks to be clocked to the bus after DMA RX operations. This can cause interesting behaviour with some devices. Signed-off-by: Juuso Oikarinen Signed-off-by: Eero Nurkkala [aaro.koskinen@nokia.com: Simplified the patch while keeping the idea.] Signed-off-by: Aaro Koskinen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddb22195cb3dc5175ba3aac5e957d0e34cd2ee73 Author: Jouni Hogander Date: Wed Jul 29 15:02:11 2009 -0700 spi: omap2_mcspi supports wake events Currently mcspi wake-ups are not enabled. This might cause cases where OMAP is not waking up on mcspi events. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c42b110caeb128819104d057acdaa1ae564b7c8d Author: Pawel Osciak Date: Wed Jul 29 15:02:10 2009 -0700 s3c-fb: fix off-by-one bug in loop indexes Fixed off-by-one bug in loop indexes - some elements beyond windows' array were accessed, which might result in memory access violations when removing/suspending the device. Signed-off-by: Pawel Osciak Reviewed-by: Kyungmin Park Signed-off-by: Marek Szyprowski Cc: Krzysztof Helt Cc: Ben Dooks Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d768213a6c34a27fac1804143da8cf18b8b175f Author: Lu Zhihe Date: Wed Jul 29 15:02:09 2009 -0700 edac: x38 fix mchbar high register addr Intel X38 MCHBAR is a 64bits register, base from 0x48, so its higher base is 0x4C. Signed-off-by: Lu Zhihe Signed-off-by: Doug Thompson Cc: [2.6.30.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11c7da4b0ca76a57f51c996c883c480e203cf5a9 Author: Hidetoshi Seto Date: Wed Jul 29 15:02:08 2009 -0700 kexec: fix omitting offset in extended crashkernel syntax Setting "crashkernel=512M-2G:64M,2G-:128M" does not work but it turns to work if it has a trailing-whitespace, like "crashkernel=512M-2G:64M,2G-:128M ". It was because of a bug in the parser, running over the cmdline. This patch adds a check of the termination. Reported-by: Jin Dongming Signed-off-by: Hidetoshi Seto Tested-by: Jin Dongming Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 933b787b57ca8bdc0fc8fb2cbf67b5e6d21beb84 Author: Rik van Riel Date: Wed Jul 29 15:02:07 2009 -0700 mm: copy over oom_adj value at fork time Fix a post-2.6.31 regression which was introduced by 2ff05b2b4eac2e63d345fc731ea151a060247f53 ("oom: move oom_adj value from task_struct to mm_struct"). After moving the oom_adj value from the task struct to the mm_struct, the oom_adj value was no longer properly inherited by child processes. Copying over the oom_adj value at fork time fixes that bug. [kosaki.motohiro@jp.fujitsu.com: test for current->mm before dereferencing it] Signed-off-by: Rik van Riel Reported-by: Paul Menage Cc: KOSAKI Motohiro Acked-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6583bb64fc370842b32a87c67750c26f6d559af0 Author: David Rientjes Date: Wed Jul 29 15:02:06 2009 -0700 mm: avoid endless looping for oom killed tasks If a task is oom killed and still cannot find memory when trying with no watermarks, it's better to fail the allocation attempt than to loop endlessly. Direct reclaim has already failed and the oom killer will be a no-op since current has yet to die, so there is no other alternative for allocations that are not __GFP_NOFAIL. Acked-by: Mel Gorman Signed-off-by: David Rientjes Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e084b2d95e48b31aa45f9c49ffc6cdae8bdb21d4 Author: Mel Gorman Date: Wed Jul 29 15:02:04 2009 -0700 page-allocator: preserve PFN ordering when __GFP_COLD is set Fix a post-2.6.24 performace regression caused by 3dfa5721f12c3d5a441448086bee156887daa961 ("page-allocator: preserve PFN ordering when __GFP_COLD is set"). Narayanan reports "The regression is around 15%. There is no disk controller as our setup is based on Samsung OneNAND used as a memory mapped device on a OMAP2430 based board." The page allocator tries to preserve contiguous PFN ordering when returning pages such that repeated callers to the allocator have a strong chance of getting physically contiguous pages, particularly when external fragmentation is low. However, of the bulk of the allocations have __GFP_COLD set as they are due to aio_read() for example, then the PFNs are in reverse PFN order. This can cause performance degration when used with IO controllers that could have merged the requests. This patch attempts to preserve the contiguous ordering of PFNs for users of __GFP_COLD. Signed-off-by: Mel Gorman Reported-by: Narayananu Gopalakrishnan Tested-by: Narayanan Gopalakrishnan Cc: KAMEZAWA Hiroyuki Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51fbb4bab6c8710eb897ab3fb06efbbc921f3a8d Author: Matthew Wilcox Date: Wed Jul 29 15:02:03 2009 -0700 markup_oops: fix it with 32-bit userspace on a 64-bit kernel A 32-bit perl can't handle 64-bit addresses without using the BigInt package. Signed-off-by: Matthew Wilcox Acked-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd086d3aa6f7f7bf4d4e1f9fa09af0f0b6bb99ec Author: Sonasath, Moiz Date: Tue Jul 21 10:15:12 2009 -0500 i2c-omap: OMAP3430 Silicon Errata 1.153 When an XRDY/XDR is hit, wait for XUDF before writing data to DATA_REG. Otherwise some data bytes can be lost while transferring them from the memory to the I2C interface. Do a Busy-wait for XUDF, before writing data to DATA_REG. While waiting if there is NACK | AL, set the appropriate error flags, ack the pending interrupts and return from the ISR. Signed-off-by: Moiz Sonasath Signed-off-by: Vikram pandita [ben-linux@fluff.org: fixed mail format and added i2c-omap to subject] Signed-off-by: Ben Dooks commit 04c688dd7a65935568b44629bfaa122eddf76e94 Author: Sonasath, Moiz Date: Tue Jul 21 10:14:40 2009 -0500 i2c-omap: In case of a NACK|ARDY|AL return from the ISR In case of a NACK or ARDY or AL interrupt, complete the request. There is no need to service the RRDY/RDR or XRDY/XDR interrupts. Refer TRM SWPU114: Figure 18-31.I2C Master Transmitter Mode, Interrupt Method, in F/S and HS Modes http://focus.ti.com/pdfs/wtbu/SWPU114T_PrelimFinalEPDF_06_25_2009.pdf Signed-off-by: Moiz Sonasath Signed-off-by: Vikram pandita [ben-linux@fluff.org: fixed mail format and added i2c-omap to subject] Signed-off-by: Ben Dooks commit bfb6b6588af5ff762222cee79152d2be738ccc06 Author: Sonasath, Moiz Date: Tue Jul 21 10:14:06 2009 -0500 i2c-omap: Bug in reading the RXSTAT/TXSTAT values from the I2C_BUFFSTAT register Fix bug in reading the I2C_BUFFSTAT register for getting byte count on RX/TX interrupt. On Interrupt: I2C_STAT[RDR], read 'RXSTAT' from I2C_BUFFSTAT[8-13] On Interrupt: I2C_STAT[XDR] read 'TXSTAT' from I2C_BUFFSTAT[0-5] Signed-off-by: Jagadeesh Pakaravoor Signed-off-by: Moiz Sonasath Signed-off-by: Vikram pandita [ben-linux@fluff.org: fixed mail format and added i2c-omap to subject] Signed-off-by: Ben Dooks commit ccb3bc16b4891a82649d4bccbeefe60b1d9a62e2 Author: Magnus Damm Date: Wed Jul 22 23:58:39 2009 +0900 i2c-sh_mobile: change module_init() to subsys_initcall() Convert the i2c-sh_mobile i2c bus driver to use subsys_initcall() instead of module_init(). This change makes the driver register a bit earlier which together with earlier platform data moves the time for probe(). The earlier probe() makes it possible to use i2c_get_adapter() and i2c_transfer() from device_initcall(). The same strategy is used by other i2c bus drivers such as i2c-pxa.c and i2c-s3c2410.c. Signed-off-by: Magnus Damm [ben-linux@fluff.org: minor subject updaye] Signed-off-by: Ben Dooks commit 783fd6fa4c144e3f6913e6fed89de10a6dd715a5 Author: Roel Kluin Date: Fri Jul 17 15:24:00 2009 +0200 i2c: strncpy does not null terminate string strlcpy() will always null terminate the string. Signed-off-by: Roel Kluin Signed-off-by: Ben Dooks commit 0e014e92ba93d905bcb39881dce2d38807b90c34 Author: Peter Korsgaard Date: Fri Jul 17 22:33:37 2009 +0200 i2c-s3c2410: s3c24xx_i2c_init: don't clobber IICLC value s3c24xx_i2c_init() was overwriting the IICLC value set just above in s3c24xx_i2c_clockrate() with zero, effectively disabling the platform line control setting. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 9b71de49b030ad8fd4d13d38571b5c42dc9ed8dd Author: Mark Brown Date: Wed Jul 15 13:03:35 2009 +0100 S3C64XX: Fix ARMCLK configuration The value of armclk_mask needs to be inverted for use as a mask on the register value when updating ARM_RATIO. This is critical for cpufreq support, without it attempts to scale the frequency of the core trash pretty much the entire clock tree. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 1d91e1a296244690461a7c36d71710dfbabbc219 Author: Mark Brown Date: Wed Jul 15 13:03:34 2009 +0100 S3C64XX: Fix get_rate() for ARMCLK If the requested clock is faster than the parent clock then the parent clock is the closest we can get to the request so we need to return that instead of the requested clock. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 0c997c0eaac8c68fa23719617484dae29bddaedd Author: Lars-Peter Clausen Date: Wed Jul 22 00:33:06 2009 +0200 S3C24XX: GPIO: Fix pin range check in s3c_gpiolib_getchip In the s3c_gpiolib_getchip implementation for s3c24xx the check whether a pin is in the gpio banks range is reversed. Thus the function returns NULL for valid pins and the gpio chip if its not valid. As a result gpio states are not saved/restored properly during suspend/resume. Signed-off-by: Ben Dooks commit fb7a46f3cc7d7dcf7c5edb3a38c84e3f730d7adb Author: ling.ma@intel.com Date: Thu Jul 23 17:11:34 2009 +0800 drm/i915: Choose real sdvo output according to result from detection Baed on Eric's idea in order to handle multiple sdvo encoders we implement another approach to dynamically chose real one encoder after detection, which is contrasted with patch - drm/i915:Construct all possible sdvo outputs for sdvo encoder. Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit bcae2ca81c4a085e3e0e8941b7c64f9aeb6fc05c Author: ling.ma@intel.com Date: Mon Jul 20 13:20:23 2009 +0800 drm/i915: Set preferred mode for integrated TV according to TV format In order to get best possible quality image we chose 640x480 for NTSC, PAL and 480p, 1280x720 for 720p, 1920x1080 for 1080i/p TV format respectively. Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit f360132626b11d0dc60814033873ca0e3111677c Author: Jesse Barnes Date: Wed Jul 22 12:54:59 2009 -0700 drm/i915: fix 845G FIFO size & burst length I had one report of flicker due to FIFO underruns on 845G. Scott was kind enough to test a few patches and report success with this one. Looks like 845G measures FIFO size slightly differently than other chips, and we were also clobbering the FIFO burst length. Fixing both of those issues gives him a healthy machine again. Note that we still only adjust plane A's watermark in the 830/845 case. If someone is willing to test we could support a bigger variety of dual-head 830/845 configurations with a bit more code. Fixes fdo bug #19304 (again). Reported-by: Scott Hansen Tested-by: Scott Hansen Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 67941da28d59cca6817d35823fcb1e3e4eed030e Author: Zhenyu Wang Date: Fri Jul 24 01:00:33 2009 +0800 drm/i915: fix VGA detect on IGDNG Check FORCE_DETECT bit to be clear for the finish of hotplug detect process. Also check possible mono monitor which should also be marked as connected. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 32f9d658aee5be09ebdd28fc730630e61d0b46db Author: Zhenyu Wang Date: Fri Jul 24 01:00:32 2009 +0800 drm/i915: Add eDP support on IGDNG mobile chip This adds embedded DisplayPort support on next mobile chip which aims to replace origin LVDS port. VBT's driver feature block has been used to determine the type of current internal panel for eDP or LVDS. Currently no panel fitting support for eDP and backlight control would be added in future. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 5eb08b69f510fadaba77eb9a1bda0f7299c4ebcc Author: Zhenyu Wang Date: Fri Jul 24 01:00:31 2009 +0800 drm/i915: enable DisplayPort support on IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit eebc863e469cd91d96c4e3636450596ae29f0502 Author: Zhenyu Wang Date: Fri Jul 24 01:00:30 2009 +0800 drm/i915: Fix channel ending action for DP aux transaction We should use current channel 'status' bits to clear DP aux channel's done and error bits, instead of using the channel setting bits, that will set send/busy bit again to initiate new transaction. This also includes also some minor cleanup. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 249c0e64c24bf455a4e4815f72750f2b16cedd94 Author: Zhenyu Wang Date: Fri Jul 24 01:00:29 2009 +0800 drm/i915: fix issue in display pipe setup on IGDNG During pipe DPMS off, instead of busy waiting pipe off, insert delays during wait and don't loop after enough tries which matches spec requirement. Also try to match DPMS on path by disable FDI TX PLL in DPMS off. Disable PF by writing PF_WIN_SZ which really trigger the update. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 24f119c769bacac5729297b682fec7811a983cc6 Author: Zhenyu Wang Date: Fri Jul 24 01:00:28 2009 +0800 drm/i915: disable VGA plane reliably This does VGA disable like DDX driver. SR01 bit 5 should be set before VGA plane disable through control register, otherwise we might get random crash and lockups. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit cdaa052b05e26d96a990af5d253fd2af5db2b1fc Author: Zhao Yakui Date: Tue Jul 28 10:54:13 2009 +0800 drm/I915: Fix offset to DVO timings in LVDS data Now the DVO timing in LVDS data entry is obtained by using the following step: a. get the entry size for every LVDS panel data b. Get the LVDS fp entry for the preferred panel type c. get the DVO timing by using entry->dvo_timing In our driver the entry->dvo_timing is related with the size of lvds_fp_timing. For example: the size is 46. But it seems that the size of lvds_fp_timing varies on the differnt platform. In such case we will get the incorrect DVO timing entry because of the incorrect DVO offset in LVDS panel data entry. This also removes a hack on new IGDNG to get proper DVO timing. Calculate the DVO timing offset in LVDS data entry to get the DVO timing a. get the DVO timing offset in the LVDS fp data entry by using the pointer definition in LVDS data ptr b. get the LVDS data entry c. get the DVO timing by adding the DVO timing offset to data entry https://bugs.freedesktop.org/show_bug.cgi?id=22787 Signed-off-by: Zhao Yakui Tested-by: Zhenyu Wang Acked-by: Jesse Barnes Signed-off-by: Eric Anholt commit f5886c7f96f2542382d3a983c5f13e03d7fc5259 Author: Catalin Marinas Date: Wed Jul 29 16:26:57 2009 +0100 kmemleak: Protect the seq start/next/stop sequence by rcu_read_lock() Objects passed to kmemleak_seq_next() have an incremented reference count (hence not freed) but they may point via object_list.next to other freed objects. To avoid this, the whole start/next/stop sequence must be protected by rcu_read_lock(). Signed-off-by: Catalin Marinas Signed-off-by: Linus Torvalds commit 84210aeb4a6a77de8a3067b121026bad630cd3da Merge: 7d4dd02 ed8f0d9 Author: Linus Torvalds Date: Wed Jul 29 12:31:59 2009 -0700 Merge branch 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits) drm/radeon: set fb aperture sizes for framebuffer handoff. drm/ttm: fix highuser vs dma32 confusion. drm/radeon: Fix size used for benchmarking BO copies. drm/radeon: Add radeon.test parameter for running BO GPU copy tests. drm/radeon/kms: allow interruptible waits for objects. drm/ttm: powerpc: Fix Highmem cache flushing. x86: Export kmap_atomic_prot() needed for TTM. drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes. drm/ttm: Fix an oops and sync object leak. drm/radeon/kms: vram sizing on certain r100 chips needs workaround. drm/radeon: Pay more attention to object placement requested by userspace. drm/radeon: Fall back to evicting BOs with memcpy if necessary. drm/radeon: Don't unreserve twice on failure to validate. drm/radeon/kms: fix bandwidth computation on avivo hardware drm/radeon/kms: add initial colortiling support. drm/radeon/kms: fix hotspot handling on pre-avivo chips drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740 drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq drm/radeon/kms: block RN50 from using 3D engine. drm/radeon/kms: fix VRAM sizing like DDX does it. ... commit 7d4dd028b022ddf8631b4530ed8d7777526f545e Merge: 2e13e5f 68dbcb7 Author: Linus Torvalds Date: Wed Jul 29 12:30:54 2009 -0700 Merge branch 'zero-length' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'zero-length' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: Remove zero-length file drivers/char/vr41xx_giu.c commit 2e13e5f03538cfded0c463fd60eddd0c8e2cd959 Merge: ccf5675 5920dad Author: Linus Torvalds Date: Wed Jul 29 12:29:39 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: accept late unlocking of HPA libata: Updates and fixes for pata_at91 driver ata_piix: Add new short cable ID ata_piix: Add new laptop short cable IDs ahci: add device IDs for Ibex Peak ahci controllers libata: remove superfluous NULL pointer checks libata: add missing NULL pointer check to ata_eh_reset() pata_pcmcia: add CNF-CDROM-ID commit ccf5675a82a72bc1599b9b29cf33f7e391658485 Merge: b7ebbb7 a39ea21 Author: Linus Torvalds Date: Wed Jul 29 12:29:08 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: driver core: documentation: make it clear that sysfs is optional driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails Dynamic debug: fix typo: -/-> driver core: firmware_class:fix memory leak of page pointers array sysfs: fix hardlink count on device_move commit b7ebbb77f183061eb34dd210372d016c04371c26 Merge: 7de8b92 fb29900 Author: Linus Torvalds Date: Wed Jul 29 12:28:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: staging: udlfb: Add vmalloc.h include staging: remove aten2011 driver Staging: android: lowmemorykiller.c: fix it for "oom: move oom_adj value from task_struct to mm_struct" Staging: serqt_usb2: fix memory leak in error case Staging: serqt_usb2: add missing calls to tty_kref_put() commit 7de8b9261d6abbb2bd71aab6a5ac0981696dcd2c Merge: e043e42 c92bcfa Author: Linus Torvalds Date: Wed Jul 29 12:28:23 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (34 commits) USB: xhci: Stall handling bug fixes. USB: xhci: Support for 64-byte contexts USB: xhci: Always align output device contexts to 64 bytes. USB: xhci: Scratchpad buffer allocation USB: Fix parsing of SuperSpeed Endpoint Companion descriptor. USB: xhci: Fail gracefully if there's no SS ep companion descriptor. USB: xhci: Handle babble errors on transfers. USB: xhci: Setup HW retries correctly. USB: xhci: Check if the host controller died in IRQ handler. USB: xhci: Don't oops if the host doesn't halt. USB: xhci: Make debugging more verbose. USB: xhci: Correct Event Handler Busy flag usage. USB: xhci: Handle short control packets correctly. USB: xhci: Represent 64-bit addresses with one u64. USB: xhci: Use GFP_ATOMIC while holding spinlocks. USB: xhci: Deal with stalled endpoints. USB: xhci: Set TD size in transfer TRB. USB: xhci: fix less- and greater than confusion USB: usbtest: no need for USB_DEVICEFS USB: musb: fix CONFIGDATA register read issue ... commit e043e42bdb66885b3ac10d27a01ccb9972e2b0a3 Author: OGAWA Hirofumi Date: Wed Jul 29 12:15:56 2009 -0700 pty: avoid forcing 'low_latency' tty flag We really don't want to mark the pty as a low-latency device, because as Alan points out, the ->write method can be called from an IRQ (ppp?), and that means we can't use ->low_latency=1 as we take mutexes in the low_latency case. So rather than using low_latency to force the written data to be pushed to the ldisc handling at 'write()' time, just make the reader side (or the poll function) do the flush when it checks whether there is data to be had. This also fixes the problem with lost data in an emacs compile buffer (bugzilla 13815), and we can thus revert the low_latency pty hack (commit 3a54297478e6578f96fd54bf4daa1751130aca86: "pty: quickfix for the pty ENXIO timing problems"). Signed-off-by: OGAWA Hirofumi Tested-by: Aneesh Kumar K.V [ Modified to do the tty_flush_to_ldisc() inside input_available_p() so that it triggers for both read and poll() - Linus] Signed-off-by: Linus Torvalds commit dddac6a7b445de95515f64fdf82fe5dc36c02f26 Author: Alan Jenkins Date: Wed Jul 29 21:07:55 2009 +0200 PM / Hibernate: Replace bdget call with simple atomic_inc of i_count Create bdgrab(). This function copies an existing reference to a block_device. It is safe to call from any context. Hibernation code wishes to copy a reference to the active swap device. Right now it calls bdget() under a spinlock, but this is wrong because bdget() can sleep. It doesn't need a full bdget() because we already hold a reference to active swap devices (and the spinlock protects against swapoff). Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13827 Signed-off-by: Alan Jenkins Signed-off-by: Rafael J. Wysocki commit ec79be26875f6c1468784876cb99192b7f41c7a5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 29 21:07:47 2009 +0200 PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk This fixes regression (battery "vanishing" on resume) introduced by commit d0c71fe7ebc180f1b7bc7da1d39a07fc19eec768 ("ACPI Suspend: Enable ACPI during resume if SCI_EN is not set") and also the issue with the "screaming" IRQ 9. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13745 Reported-and-tested-by: Alan Jenkins Cc: stable@kernel.org Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Len Brown Signed-off-by: Rafael J. Wysocki commit 89c3a8aca28e6d57f2ae945d97858a372d624b81 Author: Johannes Berg Date: Tue Jul 28 18:10:17 2009 +0200 mac80211: fix suspend Jan reported that his b43-based laptop hangs during suspend. The problem turned out to be mac80211 asking the driver to stop the hardware before removing interfaces, and interface removal caused b43 to touch the hardware (while down, which causes the hang). This patch fixes mac80211 to do reorder these operations to have them in the correct order -- first remove interfaces and then stop the hardware. Some more code is necessary to be able to do so in a race-free manner, in particular it is necessary to not process frames received during quiescing. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13337. Reported-by: Jan Scholz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 57921c312e8cef72ba35a4cfe870b376da0b1b87 Author: Roel Kluin Date: Tue Jul 28 12:05:00 2009 +0200 libertas: Read buffer overflow Several arrays were read before checking whether the index was within bounds. ARRAY_SIZE() should be used to determine the size of arrays. rates->rates has an arraysize of 1, so calling get_common_rates() with a rates_size of MAX_RATES (14) was causing reads out of bounds. tmp_size can increment at most to (ARRAY_SIZE(lbs_bg_rates) - 1) * (*rates_size - 1), so that should be the number of elements of tmp[]. A goto can be eliminated: ret was already set upon its declaration. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 430453fc2a5f3f2c1d98ebc3c3d4c54f3060e3c3 Author: Roel Kluin Date: Tue Jul 28 09:59:47 2009 +0200 libertas: Read outside array bounds reads bss->rates[j] before checking bounds of index, and should use ARRAY_SIZE to determine the size of the array. Signed-off-by: Roel Kluin Acked-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit a987004fbcf163b100d227284999602f83044d7e Author: Roel Kluin Date: Wed Jul 29 12:12:09 2009 +0200 sound: mpu401.c: Buffer overflow mpu_synth_info[m].name is a char[30], and the minimum length of the data written by sprintf is 31 bytes including terminating null. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit c45ec06c74512265969aef40b00f320c6afb7a90 Author: Roel Kluin Date: Wed Jul 29 11:46:59 2009 +0200 sound: aedsp16: Buffer overflow DSPVersion is declared as char[3], but the sprintf writes at least 4 bytes including terminating null. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 78735cffc2d9ab0dec32f1ba7cbc1d84b45bbf29 Author: Roel Kluin Date: Wed Jul 29 14:35:20 2009 +0200 ALSA: hda: fix out-of-bound hdmi_eld.sad[] write e->sad[] is declared with size ELD_MAX_SAD=16, but the guard allows range 0-31. Signed-off-by: Roel Kluin Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit ed8f0d9e708a1a7c9222e7d0a35d97521e904223 Author: Dave Airlie Date: Wed Jul 29 17:07:38 2009 +1000 drm/radeon: set fb aperture sizes for framebuffer handoff. This will allow efi/vesa to handoff to radeon. Signed-off-by: Dave Airlie commit b42db2b12df7b4f7b2ace581a7726cb5bcb2d658 Author: Dave Airlie Date: Wed Jul 29 16:56:52 2009 +1000 drm/ttm: fix highuser vs dma32 confusion. DMA32 and highmem are sort of exclusive. Noticed by AndrewR on #radeon. Signed-off-by: Dave Airlie commit ea3c13bd8c2ed1d3670bd72e60f562a427355fdf Author: Michel Dänzer Date: Mon Jul 20 01:44:03 2009 +0200 drm/radeon: Fix size used for benchmarking BO copies. The incorrect size caused benchmark results to be inflated by a factor of 4. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit ecc0b32645bf19a3a240e72be3022ab3b46ad3d0 Author: Michel Dänzer Date: Tue Jul 21 11:23:57 2009 +0200 drm/radeon: Add radeon.test parameter for running BO GPU copy tests. If enabled, during initialization BO GTT->VRAM and VRAM->GTT GPU copies are tested across the whole GTT aperture. This has helped uncover the benchmark copy size bug and verify the maximum aperture size supported by the AGP bridge in my PowerBook. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 3b170c3b2e688665fbc2845ba5bb4304bf38a119 Author: Dave Airlie Date: Fri Jul 24 13:47:45 2009 +1000 drm/radeon/kms: allow interruptible waits for objects. Blocking here isn't something the X server mouse appreciates, avoid the block and let userspace retry the waits. libdrm_radeon userspace library is also expecting EBUSY not ERESTART Signed-off-by: Dave Airlie commit f121ecfebbea1452a17d57c656def7d1537440f7 Author: Thomas Hellstrom Date: Fri Jul 24 10:22:36 2009 +0200 drm/ttm: powerpc: Fix Highmem cache flushing. Temporarily maps highmem pages while flushing to get a valid virtual address to flush. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 73ba651fc246fcc3e446da4155e0425b4219d2c4 Author: Thomas Hellstrom Date: Fri Jul 24 09:57:33 2009 +0200 x86: Export kmap_atomic_prot() needed for TTM. This functionality is needed to kmap_atomic() highmem pages that may potentially have or are about to set up other mappings with non-standard caching attributes. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 542c6f6df51327dbb180cf4d9b34827e147efe17 Author: Thomas Hellstrom Date: Fri Jul 24 09:57:34 2009 +0200 drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes. For x86 this affected highmem pages only, since they were always kmapped cache-coherent, and this is fixed using kmap_atomic_prot(). For other architectures that may not modify the linear kernel map we resort to vmap() for now, since kmap_atomic_prot() generally uses the linear kernel map for lowmem pages. This of course comes with a performance impact and should be optimized when possible. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4677f15c60421d48566c48c3149474e64977f071 Author: Thomas Hellstrom Date: Tue Jul 21 17:45:13 2009 +0200 drm/ttm: Fix an oops and sync object leak. The code was potentially dereferencig a NULL sync object pointer. At the same time a sync object reference was potentially leaked. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 7a50f01a4ab89d5c05eb2cf62e206ac0bfc61d2c Author: Dave Airlie Date: Tue Jul 21 20:39:30 2009 +1000 drm/radeon/kms: vram sizing on certain r100 chips needs workaround. If an rn50/r100/m6/m7 GPU has < 64MB RAM, i.e. 8/16/32, the aperture used to calculate the MC_FB_LOCATION needs to be worked out from the CONFIG_APER_SIZE register, and not the actual vram size. TTM VRAM size was also being initialised wrong, use actual vram size to initialise it. Signed-off-by: Dave Airlie commit 664f86590295217b2319edf88830e87b800f6c4a Author: Michel Dänzer Date: Tue Jul 28 12:30:57 2009 +0200 drm/radeon: Pay more attention to object placement requested by userspace. Previously we were basically always setting the GTT and VRAM flags regardless of what userspace requested. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 1ab2e1059916b917af19e4137a4222988bd7a169 Author: Michel Dänzer Date: Tue Jul 28 12:30:56 2009 +0200 drm/radeon: Fall back to evicting BOs with memcpy if necessary. Otherwise if there's no GTT space we would fail the eviction, leading to cascaded failure. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit e46074effd5510e7a8fe34b93828d98a50835da2 Author: Michel Dänzer Date: Tue Jul 28 12:30:55 2009 +0200 drm/radeon: Don't unreserve twice on failure to validate. This is done later in radeon_object_list_unvalidate(). Doing it twice triggers a BUG in TTM, rendering X on KMS unusable until reboot. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit c93bb85b5cba3e3a06f2cad8e9bc5c23d3d10aac Author: Jerome Glisse Date: Mon Jul 13 21:04:08 2009 +0200 drm/radeon/kms: fix bandwidth computation on avivo hardware Fix bandwidth computation and crtc priority in memory controller so that crtc memory request are fullfill in time to avoid display artifact. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit e024e11070a0a0dc7163ce1ec2da354a638bdbed Author: Dave Airlie Date: Wed Jun 24 09:48:08 2009 +1000 drm/radeon/kms: add initial colortiling support. This adds new set/get tiling interfaces where the pitch and macro/micro tiling enables can be set. Along with a flag to decide if this object should have a surface when mapped. The only thing we need to allocate with a mapped surface should be the frontbuffer. Note rotate scanout shouldn't require one, and back/depth shouldn't either, though mesa needs some fixes. It fixes the TTM interfaces along Thomas's suggestions, and I've tested the surface stealing code with two X servers and not seen any lockdep issues. I've stopped tiling the fbcon frontbuffer, as I don't see there being any advantage other than testing, I've left the testing commands in there, just flip the fb_tiled to true in radeon_fb.c Open: Can we integrate endian swapping in with this? Future features: texture tiling - need to relocate texture registers TXOFFSET* with tiling info. This also merges Michel's cleanup surfaces regs at init time patch even though it makes sense on its own, this patch really relies on it. Some PowerMac firmwares set up a tiling surface at the beginning of VRAM which messes us up otherwise. that patch is: Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 68dbcb726e372b3c8ef60b79b5aff4174dd2bdf0 Author: Jeff Garzik Date: Tue Jul 28 22:36:59 2009 -0400 Remove zero-length file drivers/char/vr41xx_giu.c Signed-off-by: Jeff Garzik commit 5920dadfb4aec6c1372c5570e71bcd3b4837e63c Author: Tejun Heo Date: Wed Jul 15 17:11:41 2009 +0900 libata: accept late unlocking of HPA On certain configurations, HPA isn't or can't be unlocked during probing but it somehow ends up unlocked afterwards. In the following thread, the problem can be reliably reproduced after resuming from STR. The BIOS turns on HPA during boot but forgets to do it during resume. http://thread.gmane.org/gmane.linux.kernel/858310 This patch updates libata revalidation such that it considers native n_sectors. If the device size has increased to match native n_sectors, it's assumed that HPA has been unlocked involuntarily and the device is recognized as the same one. This should be fairly safe while nicely working around the problem. Signed-off-by: Tejun Heo Reported-by: Christof Warlich Signed-off-by: Jeff Garzik commit 7d084d96fdf1d791cb171da57efc1ca89d68dd6c Author: Sergey Matyukevich Date: Thu Jul 16 22:38:55 2009 +0400 libata: Updates and fixes for pata_at91 driver Please consider the following updates and fixes for pata_at91 driver. * Removed extra headers Here we need only static memory controller properties, which are contained in generic header at91sam9_smc.h. No need to include any specific headers for at91sam9260 SoC. * No harsh BUG_ON for get_clk in set_smc_timing function get_clk is now performed in driver probing function, probing fails if master clock is not available * Fixed uint/ulong mess in calc_mck_cycles function Signed-off-by: Sergey Matyukevich Signed-off-by: Jeff Garzik commit 760cdb7760be928e85a021552253eb1b39acdf37 Author: Steve Conklin Date: Thu Jul 16 16:31:10 2009 -0500 ata_piix: Add new short cable ID OriginalAuthor: Tony Espy Signed-off-by: Steve Conklin Signed-off-by: Jeff Garzik commit 6034734d333c1bd01119a5b480b34a507a3adf56 Author: Steve Conklin Date: Thu Jul 16 16:27:56 2009 -0500 ata_piix: Add new laptop short cable IDs OriginalAuthor: Michael Frey Signed-off-by: Steve Conklin Signed-off-by: Jeff Garzik commit c1f57d9b9846e7366c328f916d1a82d03ba4312c Author: David Milburn Date: Wed Jul 22 15:15:56 2009 -0500 ahci: add device IDs for Ibex Peak ahci controllers Add device IDS for Ibex Peak SATA AHCI Controllers Signed-off-by: Jaroslav Kysela Signed-off-by: David Milburn Signed-off-by: Jeff Garzik commit c9abde12d6debe5b97f36fb43cf188c1b9cd477f Author: Bartlomiej Zolnierkiewicz Date: Sun Jul 26 16:05:13 2009 +0200 libata: remove superfluous NULL pointer checks host->ports[] always contain pointers to valid port structures since a "dummy port" structure is used in case if there is no physical port. This patch takes care of two entries from Dan's list: drivers/ata/sata_sil.c +535 sil_interrupt(13) warning: variable derefenced before check 'ap' drivers/ata/sata_mv.c +2517 mv_unexpected_intr(6) warning: variable derefenced before check 'ap' and of another needless NULL pointer check in pata_octeon_cf.c. Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 705d201414382b0966d7c903d738dfdb9380e4af Author: Bartlomiej Zolnierkiewicz Date: Sun Jul 26 16:21:01 2009 +0200 libata: add missing NULL pointer check to ata_eh_reset() drivers/ata/libata-eh.c +2403 ata_eh_reset(80) warning: variable derefenced before check 'slave' Please note that this is _not_ a real bug at the moment since ata_eh_context structure is embedded into ata_list structure and the code alwas checks for 'slave' before accessing 'sehc'. Anyway lets add missing check and always have a valid 'sehc' pointer (which makes code easier to understand and prevents introducing some possible bugs in the future). Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 044dcc824a167e3d39ba69a49e2b723dd10678f6 Author: Wolfram Sang Date: Sun Jul 26 18:27:29 2009 +0200 pata_pcmcia: add CNF-CDROM-ID Fixes this report: http://article.gmane.org/gmane.linux.kernel.pcmcia.devel/2228/ Reported-by: John McGrath Signed-off-by: Wolfram Sang Signed-off-by: Jeff Garzik commit 7d3e91b8a1f5179d56a7412d4b499f2d5fc6b25d Merge: ddb1d4e 8d28249 Author: Linus Torvalds Date: Tue Jul 28 14:31:13 2009 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (asus_atk0110) Fix upper limit readings hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292 commit c92bcfa7b4038d8ffe1f02e21269f18eb0b64144 Author: Sarah Sharp Date: Mon Jul 27 12:05:21 2009 -0700 USB: xhci: Stall handling bug fixes. Correct the xHCI code to handle stalls on USB endpoints. We need to move the endpoint ring's dequeue pointer past the stalled transfer, or the HW will try to restart the transfer the next time the doorbell is rung. Don't attempt to clear a halt on an endpoint if we haven't seen a stalled transfer for it. The USB core will attempt to clear a halt on all endpoints when it selects a new configuration. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d115b04818e57bdbc7ccde4d0660b15e33013dc8 Author: John Youn Date: Mon Jul 27 12:05:15 2009 -0700 USB: xhci: Support for 64-byte contexts Adds support for controllers that use 64-byte contexts. The following context data structures are affected by this: Device, Input, Input Control, Endpoint, and Slot. To accommodate the use of either 32 or 64-byte contexts, a Device or Input context can only be accessed through functions which look-up and return pointers to their contained contexts. Signed-off-by: John Youn Acked-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 28c2d2efb48dec2f0b050affae6d5787d6449e47 Author: Sarah Sharp Date: Mon Jul 27 12:05:08 2009 -0700 USB: xhci: Always align output device contexts to 64 bytes. Make sure the xHCI output device context is 64-byte aligned. Previous code was using the same structure for both the output device context and the input control context. Since the structure had 32 bytes of flags before the device context, the output device context wouldn't be 64-byte aligned. Define a new structure to use for the output device context and clean up the debugging for these two structures. The copy of the device context in the input control context does *not* need to be 64-byte aligned. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 254c80a3a0eb811489f7410c3291f01a60e8e42f Author: John Youn Date: Mon Jul 27 12:05:03 2009 -0700 USB: xhci: Scratchpad buffer allocation Allocates and initializes the scratchpad buffer array (XHCI 4.20). This is an array of 64-bit DMA addresses to scratch pages that the controller may use during operation. The number of pages is specified in the "Max Scratchpad Buffers" field of HCSPARAMS2. The DMA address of this array is written into slot 0 of the DCBAA. Signed-off-by: John Youn Acked-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 9f8e443816976edd68f415ea25c0223ea921e88c Author: Sarah Sharp Date: Mon Jul 27 12:04:52 2009 -0700 USB: Fix parsing of SuperSpeed Endpoint Companion descriptor. usb_parse_ss_endpoint_companion() was supposed to allocate a structure to hold the SuperSpeed Endpoint Companion descriptor, and either copy the values the device returned, or fill in default values if the device descriptor did not include the companion descriptor. However, the previous code would miss the last endpoint in a configuration with no descriptors after it. Make usb_parse_endpoint() allocate the SS endpoint companion descriptor and fill it with default values, even if we've run out of buffer space in this configuration descriptor. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b7d6d99896a6cf38dc354d673afd3fbde10b86c2 Author: Sarah Sharp Date: Mon Jul 27 12:04:38 2009 -0700 USB: xhci: Fail gracefully if there's no SS ep companion descriptor. This is a work around for a bug in the SuperSpeed Endpoint Companion Descriptor parsing code. It fails in some corner cases, which means ep->ss_ep_comp may be NULL. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 4a73143ced467868e92d7914d9f8bf797640927b Author: Sarah Sharp Date: Mon Jul 27 12:04:32 2009 -0700 USB: xhci: Handle babble errors on transfers. Pass back a babble error when this error code is seen in the transfer event TRB. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 47692d179f7a88794bcd302e53ca7899d7592db9 Author: Sarah Sharp Date: Mon Jul 27 12:04:27 2009 -0700 USB: xhci: Setup HW retries correctly. The xHCI host controller can be programmed to retry a transfer a certain number of times per endpoint before it passes back an error condition to the host controller driver. The xHC will return an error code when the error count transitions from 1 to 0. Programming an error count of 3 means the xHC tries the transfer 3 times, programming it with a 1 means it tries to transfer once, and programming it with 0 means the HW tries the transfer infinitely. We want isochronous transfers to only be tried once, so set the error count to one. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit fcf8f576beafb8c5db8aee8a73eb73763fa7b0ad Author: Sarah Sharp Date: Mon Jul 27 12:04:01 2009 -0700 USB: xhci: Check if the host controller died in IRQ handler. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d3512f63494678dc58e44a20c56278718fd58969 Author: Sarah Sharp Date: Mon Jul 27 12:03:50 2009 -0700 USB: xhci: Don't oops if the host doesn't halt. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 66e49d8774fa03539713e8f91169c37c05df1e94 Author: Sarah Sharp Date: Mon Jul 27 12:03:46 2009 -0700 USB: xhci: Make debugging more verbose. Add more debugging to the irq handler, slot context initialization, ring operations, URB cancellation, and MMIO writes. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 2d83109be62edd9647c45d7ed2b916b03974a7ec Author: Sarah Sharp Date: Mon Jul 27 12:03:40 2009 -0700 USB: xhci: Correct Event Handler Busy flag usage. The Event Handler Busy bit in the event ring dequeue pointer is write 1 to clear. Fix the interrupt service routine to clear that bit after the event handler has run. xhci_set_hc_event_deq() is designed to update the event ring dequeue pointer without changing any of the four reserved bits in the lower nibble. The event handler busy (EHB) bit is write one to clear, so the new value must always contain a zero in that bit in order to preserve the EHB value. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 62889610f5591005bed9517360e17531684f72d0 Author: Sarah Sharp Date: Mon Jul 27 12:03:36 2009 -0700 USB: xhci: Handle short control packets correctly. When there is a short packet on a control transfer, the xHCI host controller hardware will generate two events. The first event will be for the data stage TD with a completion code for a short packet. The second event will be for the status stage with a successful completion code. Before this patch, the xHCI driver would giveback the short control URB when it received the event for the data stage TD. Then it would become confused when it saw a status stage event for the endpoint for an URB it had already finished processing. Change the xHCI host controller driver to wait for the status stage event when it receives a short transfer completion code for a data stage TD. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 8e595a5d30a5ee4bb745d4da6439d73ed7d91054 Author: Sarah Sharp Date: Mon Jul 27 12:03:31 2009 -0700 USB: xhci: Represent 64-bit addresses with one u64. There are several xHCI data structures that use two 32-bit fields to represent a 64-bit address. Since some architectures don't support 64-bit PCI writes, the fields need to be written in two 32-bit writes. The xHCI specification says that if a platform is incapable of generating 64-bit writes, software must write the low 32-bits first, then the high 32-bits. Hardware that supports 64-bit addressing will wait for the high 32-bit write before reading the revised value, and hardware that only supports 32-bit writes will ignore the high 32-bit write. Previous xHCI code represented 64-bit addresses with two u32 values. This lead to buggy code that would write the 32-bits in the wrong order, or forget to write the upper 32-bits. Change the two u32s to one u64 and create a function call to write all 64-bit addresses in the proper order. This new function could be modified in the future if all platforms support 64-bit writes. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b11069f5f6ce6e359f853e908b0917303fcdec8f Author: Sarah Sharp Date: Mon Jul 27 12:03:23 2009 -0700 USB: xhci: Use GFP_ATOMIC while holding spinlocks. The xHCI functions to queue an URB onto the hardware rings must be called with the xhci spinlock held. Those functions will allocate memory, and take a gfp_t memory flags argument. We must pass them the GFP_ATOMIC flag, since we don't want the memory allocation to attempt to sleep while waiting for more memory to become available. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a1587d97ce3e53816c88b513a2038f6c5e5babd7 Author: Sarah Sharp Date: Mon Jul 27 12:03:15 2009 -0700 USB: xhci: Deal with stalled endpoints. When an endpoint on a device under an xHCI host controller stalls, the host controller driver must let the hardware know that the USB core has successfully cleared the halt condition. The HCD submits a Reset Endpoint Command, which will clear the toggle bit for USB 2.0 devices, and set the sequence number to zero for USB 3.0 devices. The xHCI urb_enqueue will accept new URBs while the endpoint is halted, and will queue them to the hardware rings. However, the endpoint doorbell will not be rung until the Reset Endpoint Command completes. Don't queue a reset endpoint command for root hubs. khubd clears halt conditions on the roothub during the initialization process, but the roothub isn't a real device, so the xHCI host controller doesn't need to know about the cleared halt. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f9dc68fe7ad390428c6bc5d7ff582cdb5d92fcb8 Author: Sarah Sharp Date: Mon Jul 27 12:03:07 2009 -0700 USB: xhci: Set TD size in transfer TRB. The 0.95 xHCI specification requires software to set the "TD size" field in each transaction request block (TRB). This field gives the host controller an indication of how much data is remaining in the TD (including the buffer in the current TRB). Set this field in bulk TRBs and data stage TRBs for control transfers. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d8f1a5ed52a81a953918d4aebe185ba008a7be34 Author: Roel Kluin Date: Mon Jul 13 00:23:47 2009 +0200 USB: xhci: fix less- and greater than confusion Without this change the loops won't start Signed-off-by: Roel Kluin Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0f157ef3a1284f41d9804ecb87fdcc8ea946b9fa Author: Alan Stern Date: Tue Jul 28 11:56:17 2009 -0400 USB: usbtest: no need for USB_DEVICEFS THis patch (as1270) allows the usbtest module to be built even when USB_DEVICEFS isn't configured. Tests can be performed without USB_DEVICEFS, using the /dev/bus/usb/*/* device files. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 2bbff7b742d55b094ed1467702efe146cd60c64f Author: Ajay Kumar Gupta Date: Mon Jul 27 14:32:15 2009 -0700 USB: musb: fix CONFIGDATA register read issue INDEX register has to be set to '0' before reading CONFIGDATA register which is only present in TI musb platforms. Currently the default register access mode is set to FLAT_MODE thus INDEX register is not getting set properly with musb_ep_select() which is just a nop operation in FLAT_MODE.This invalid register read is causing module reinset failure. Fixing the issue by moving INDEX register write part to musb_read_configdata() function itself. Signed-off-by: Vikram Pandita Signed-off-by: Anand Gadiyar Signed-off-by: Ajay Kumar Gupta Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3a9f5bd82dc986d496d8484ff54b107b4515f43f Author: Amit Kucheria Date: Mon Jul 27 12:03:19 2009 +0300 USB: musb: Refer to musb_otg_timer_func under correct #ifdef musb_otg_timer_func() is defined under #ifdef CONFIG_USB_MUSB_OTG. Make sure any reference to it is also under the same #ifdef. Without this fix, the driver failes to compile when USB_OTG is defined but USB_MUSB_OTG isn't. Signed-off-by: Amit Kucheria Cc: Felipe Balbi Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit f01b017d198486ee3553bee6841f788263cf2c23 Author: Sergei Shtylyov Date: Fri Jul 17 17:30:03 2009 +0300 USB: musb_gadget_ep0: fix typo in service_zero_data_request() This function uses wrong bit mask to prevent clearing RXCSR status bits when halting an endpoint -- which results in clearing SentStall and RxPktRdy bits (that the code actually tries to avoid); must be a result of cut-and-paste... Signed-off-by: Sergei Shtylyov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 48c348cc939aaa3a07d4938669f2f315152e895e Author: Javier Martin Date: Thu Jul 23 04:03:43 2009 +0200 USB: option.c to support Alcatel X060S/X200 broadband modems Added support for the Alcatel X060S/X200 broadband modems to the option driver. The device starts in cd-rom emulation mode (1bbb:f000) and requires the use of the usb_modeswitch tool to switch it to modem mode (1bbb:0000). Signed-off-by: Javier Martin Signed-off-by: Greg Kroah-Hartman commit 183791588efd416fc35a71819683b32dee92615b Author: Peng Huang Date: Wed Jul 22 11:54:48 2009 +0200 USB: serial: option: Add ZTE AC8710 usb modem device. Signed-off-by: Peng Huang Cc: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit 9d498beafc0a66ce333f0d9067af0aa5dedd4c8e Author: Russell Lang Date: Fri Jul 17 19:29:20 2009 +1000 USB: aten uc2324 is really a moschip 7840 I've opened up the case, and the chips in the ATEN UC2324 are: Moschip MCS7840CV-AA 69507-6B1 0650 (USB to 4-port serial) (logo with AF kerned together) 0748 24BC02 SINGLP (unknown 8-pin chip) (logo looks like 3 or Z in circle) ZT3243LEEA 0752 B7A16420.T (4 chips, so this will be RS232 line driver) (Probably equivalent of Sipex SP3243) So the ATEN 2324 (aten2011.c driver), is definitely the Moschip 7840, and should use the mos7840.c driver. I expect you will remove the aten2011.c driver from the staging area. From the aten2011.c source code, the device ID for the UC2322 (2 port serial) is 0x7820, just like the Moschip evaluation board. This value should be added to the device id table of mos7840.c. Here's a patch that adds these devices to the driver. From: Russell Lang Signed-off-by: Greg Kroah-Hartman commit f1469fc3ef1d5a8a67146c1c72021f012a59dea6 Author: Tim Gardner Date: Fri Jul 17 07:55:36 2009 -0600 USB: option: Add USB ID for Novatel MC727/U727/USB727 refresh BugLink: https://bugs.launchpad.net/bugs/365291 Signed-off-by: Tim Gardner Signed-off-by: Greg Kroah-Hartman commit c420befde6b2747ebc2b8f015687a5dbd6e167ca Author: Herton Ronaldo Krzesinski Date: Wed Jul 15 17:10:26 2009 -0300 USB: option: add ZTE device ids and remove ONDA ids Current listed Onda ids are ZTE devices. Replace them with ZTE id define and add more ZTE device ids. Also remove 19d2:2000, this is the id when device is first plugged in and is a CD-only device, before the switch using eject. These changes are based on a previous patch by Ming Zhao Signed-off-by: Herton Ronaldo Krzesinski Cc: Ming Zhao Signed-off-by: Greg Kroah-Hartman commit bcfa4e68d8d0ea617bde4203b2b3848f5a49a423 Author: Simon Kagstrom Date: Mon Jul 13 08:25:09 2009 +0200 USB: ehci-orion: Call ehci_reset before ehci_halt I noticed that USB initialization didn't setup correctly on my kirkwood based board (OpenRD base) if I hadn't initialized USB in U-boot first. The error message looks like this: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver orion-ehci orion-ehci.0: Marvell Orion EHCI orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1 orion-ehci orion-ehci.0: can't setup orion-ehci orion-ehci.0: USB bus 1 deregistered orion-ehci orion-ehci.0: init orion-ehci.0 fail, -110 orion-ehci: probe of orion-ehci.0 failed with error -110 which is caused by ehci_halt() timing out in the handshake() call. I noticed that U-boot does a reset before calling handshake(), so this patch does the same thing for Linux. USB now works for me. Signed-off-by: Simon Kagstrom Acked-by: Nicolas Pitre Signed-off-by: Greg Kroah-Hartman commit 8bf16ba7c8ea9d067914e270764c14020a26232f Author: Craig Shelley Date: Sun Jul 12 21:52:33 2009 +0100 USB: CP210x Add new device IDs Signed-off-by: Craig Shelley Signed-off-by: Greg Kroah-Hartman commit fca4404c55ab44c7413769f1d9c66451103711a5 Author: Ville Sundberg Date: Wed Jul 15 00:27:28 2009 +0300 USB: ftdi_sio: Add support for GN Otometrics Aurical USB Audiometer The patch adds support for the GN Otometrics Aurical USB Audiometer (FT232BM-based). A new VID and a new PID is added. Signed-off-by: Ville Sundberg Signed-off-by: Greg Kroah-Hartman commit 715bfc22ce952a14fac0b9200fd70d81c1951091 Author: Anand Gadiyar Date: Tue Jul 14 16:41:00 2009 +0530 USB: OMAP: OHCI: hc_driver's stop method should call ohci_stop OMAP: OHCI: hc_driver's stop method should call ohci_stop Without this, the ohci-omap driver will not cleanup the debugfs nodes when the driver is unloaded. So the next insmod will fail, if CONFIG_DEBUG_FS and CONFIG_USB_DEBUG are both selected. Reported-by: vikram pandita Cc: David Brownell Signed-off-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 7a777919bbeec3eac1d7904a728a60e9c2bb9c67 Author: Giacomo Lozito Date: Mon Jul 13 23:23:33 2009 +0200 USB: storage: raise timeout in usb_stor_Bulk_max_lun Requests to get max LUN, for certain USB storage devices, require a longer timeout before a correct reply is returned. This happens for a Realtek USB Card Reader (0bda:0152), which has a max LUN of 3 but is set to 0, thus losing functionality, because of the timeout occurring too quickly. Raising the timeout value fixes the issue and might help other devices to return a correct max LUN value as well. Signed-off-by: Giacomo Lozito Acked-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5f4fab91f2b12c12f0506b4da49ed199db8c64ed Author: Oliver Neukum Date: Mon Jul 13 23:24:10 2009 +0200 USB: let the option driver compile without CONFIG_PM This is needed for compilation without CONFIG_PM. Signed-off-by: Oliver Neukum Acked-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit f99aa3f9b67ca8c29dc29ef3fc453f0343206c46 Author: Carlos R. Mafra Date: Mon Jul 13 21:45:03 2009 +0200 USB: option: Remove unused variable After commit f092c240494f2d807401d93f95f683909b90af96 ("USB: option: remove unnecessary and erroneous code") the variable 'serial' becomes unused, as gcc-4.3.2 points out: drivers/usb/serial/option.c: In function 'option_instat_callback': drivers/usb/serial/option.c:834: warning: unused variable 'serial' drivers/usb/serial/option.c: In function 'option_open': drivers/usb/serial/option.c:930: warning: unused variable 'serial' So I removed it. Signed-off-by: Carlos R. Mafra Signed-off-by: Greg Kroah-Hartman commit ddb1d4ede9c8acd2e20ac99bf2b68146ae9f3553 Merge: 655c5d8 96f699a Author: Linus Torvalds Date: Tue Jul 28 14:31:02 2009 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c/tsl2550: Fix lux value in dark environment commit 655c5d8fc110a9d4f90cc831bd009936f3e8df28 Merge: ce4adcc f25784b Author: Linus Torvalds Date: Tue Jul 28 14:27:06 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (22 commits) Btrfs: Fix async caching interaction with unmount Btrfs: change how we unpin extents Btrfs: Correct redundant test in add_inode_ref Btrfs: find smallest available device extent during chunk allocation Btrfs: clear all space_info->full after removing a block group Btrfs: make flushoncommit mount option correctly wait on ordered_extents Btrfs: Avoid delayed reference update looping Btrfs: Fix ordering of key field checks in btrfs_previous_item Btrfs: find_free_dev_extent doesn't handle holes at the start of the device Btrfs: Remove code duplication in comp_keys Btrfs: async block group caching Btrfs: use hybrid extents+bitmap rb tree for free space Btrfs: Fix crash on read failures at mount Btrfs: remove of redundant btrfs_header_level Btrfs: adjust NULL test Btrfs: Remove broken sanity check from btrfs_rmap_block() Btrfs: convert nested spin_lock_irqsave to spin_lock Btrfs: make sure all dirty blocks are written at commit time Btrfs: fix locking issue in btrfs_find_next_key Btrfs: fix double increment of path->slots[0] in btrfs_next_leaf ... commit ce4adcc6e5320062e0d993eb75152d165aaabbe6 Author: Andreas Eversberg Date: Mon Jul 27 19:24:04 2009 +0200 mISDN: Fix handling of receive buffer size in L1oIP The size of receive buffer pointer was used to get size of receive buffer instead of recvbuf_size itself, so only 4/8 bytes could be transfered. This is a regression to 2.6.30 introduced by commit 8c90e11e3543d7de612194a042a148caeaab5f1d ("mISDN: Use kernel_{send,recv}msg instead of open coding") Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: Linus Torvalds commit f151cd2c54ddc7714e2f740681350476cda03a28 Author: Ramon de Carvalho Valle Date: Tue Jul 28 13:58:22 2009 -0500 eCryptfs: parse_tag_3_packet check tag 3 packet encrypted key size The parse_tag_3_packet function does not check if the tag 3 packet contains a encrypted key size larger than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES. Signed-off-by: Ramon de Carvalho Valle [tyhicks@linux.vnet.ibm.com: Added printk newline and changed goto to out_free] Signed-off-by: Tyler Hicks Cc: stable@kernel.org (2.6.27 and 30) Signed-off-by: Linus Torvalds commit 6352a29305373ae6196491e6d4669f301e26492e Author: Tyler Hicks Date: Tue Jul 28 13:57:01 2009 -0500 eCryptfs: Check Tag 11 literal data buffer size Tag 11 packets are stored in the metadata section of an eCryptfs file to store the key signature(s) used to encrypt the file encryption key. After extracting the packet length field to determine the key signature length, a check is not performed to see if the length would exceed the key signature buffer size that was passed into parse_tag_11_packet(). Thanks to Ramon de Carvalho Valle for finding this bug using fsfuzzer. Signed-off-by: Tyler Hicks Cc: stable@kernel.org (2.6.27 and 30) Signed-off-by: Linus Torvalds commit 74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf Author: Lai Jiangshan Date: Tue Jul 28 20:17:22 2009 +0800 tracing: Fix missing function_graph events when we splice_read from trace_pipe About a half events are missing when we splice_read from trace_pipe. They are unexpectedly consumed because we ignore the TRACE_TYPE_NO_CONSUME return value used by the function graph tracer when it needs to consume the events by itself to walk on the ring buffer. The same problem appears with ftrace_dump() Example of an output before this patch: 1) | ktime_get_real() { 1) 2.846 us | read_hpet(); 1) 4.558 us | } 1) 6.195 us | } After this patch: 0) | ktime_get_real() { 0) | getnstimeofday() { 0) 1.960 us | read_hpet(); 0) 3.597 us | } 0) 5.196 us | } The fix also applies on 2.6.30 Signed-off-by: Lai Jiangshan Cc: Steven Rostedt Cc: stable@kernel.org LKML-Reference: <4A6EEC52.90704@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 38ceb592fcac9110c6b3c87ea0a27bff68c43486 Author: Lai Jiangshan Date: Tue Jul 28 20:11:24 2009 +0800 tracing: Fix invalid function_graph entry When print_graph_entry() computes a function call entry event, it needs to also check the next entry to guess if it matches the return event of the current function entry. In order to look at this next event, it needs to consume the current entry before going ahead in the ring buffer. However, if the current event that gets consumed is the last one in the ring buffer head page, the ring_buffer may reuse the page for writers. The consumed entry will then become invalid because of possible racy overwriting. Me must then handle this entry by making a copy of it. The fix also applies on 2.6.30 Signed-off-by: Lai Jiangshan Cc: Steven Rostedt Cc: stable@kernel.org LKML-Reference: <4A6EEAEC.3050508@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit fb29900217bd89370974870d47cab07bad3e5ac4 Author: Amit Kucheria Date: Mon Jul 27 12:01:03 2009 +0300 staging: udlfb: Add vmalloc.h include Required for vmalloc_32 and vfree declarations on non-x86 platforms. Signed-off-by: Amit Kucheria Signed-off-by: Greg Kroah-Hartman commit 0bfc240575acb8769d0be78facedabd8e3d2c33a Author: Greg Kroah-Hartman Date: Sun Jul 19 23:37:32 2009 -0700 staging: remove aten2011 driver This driver is not needed, as the existing mos7840 driver works properly for this device. Thanks to Russell Lang for doing the work to figure this out. Cc: Russell Lang Signed-off-by: Greg Kroah-Hartman commit a6a9f81ccc9f5c86ccc22bbed1960a57d0316e8b Author: David Rientjes Date: Tue Jun 16 16:42:53 2009 -0700 Staging: android: lowmemorykiller.c: fix it for "oom: move oom_adj value from task_struct to mm_struct" I'm about to merge "oom: move oom_adj value from task_struct to mm_struct", and this fixup is needed to repair linux-next's drivers/staging/android/lowmemorykiller.c. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit de8f8bd63334fe2014be7d9ab3a81ce9b96e5d19 Author: Oliver Neukum Date: Mon Jul 13 10:46:57 2009 +0200 Staging: serqt_usb2: fix memory leak in error case a standard memory leak, as later allocations may fail even if prior allocations did not. Then the prior allocations must be undone. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit f3a756883ac028c536479e2eb283477fec80c828 Author: Bill Pemberton Date: Tue Jul 14 15:33:52 2009 -0400 Staging: serqt_usb2: add missing calls to tty_kref_put() tty_port_tty_get() was called without a corresponding tty_kref_put() in qt_read_bulk_callback() and qt_close(). Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a39ea210ec8c8f6ed381f8dafbe755c57b8f30c3 Author: Lucian Adrian Grijincu Date: Mon Jul 27 09:06:42 2009 -0700 driver core: documentation: make it clear that sysfs is optional The original text suggested that sysfs is mandatory and always compiled in the kernel. Signed-off-by: Lucian Adrian Grijincu Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 79f0313bfc67aa13abb931e8c12a1411f0161a68 Author: Xiaotian Feng Date: Fri Jul 24 17:31:41 2009 +0800 driver core: sysdev: do not send KOBJ_ADD uevent if kobject_init_and_add fails If kobject_init_and_add fails, sysdev_register should not send KOBJ_ADD uevent to userspace. Signed-off-by: Xiaotian Feng Signed-off-by: Greg Kroah-Hartman commit 4df7b3e0370ab6161ea2f258f51dd7c43bef2bda Author: Roel Kluin Date: Wed Jul 15 20:29:07 2009 +0200 Dynamic debug: fix typo: -/-> The member was intended, not the local variable. Signed-off-by: Roel Kluin Cc: Jason Baron Cc: Greg Banks Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3b4418c67a70278964b063b5e1f56dcb3d0a41f3 Author: Ming Lei Date: Sat Jul 11 11:11:10 2009 +0800 driver core: firmware_class:fix memory leak of page pointers array The page pointers array is allocated in fw_realloc_buffer() called by firmware_data_write(), and should be freed in release function of firmware device. Signed-off-by: Ming Lei Reported-by: Catalin Marinas Acked-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 0f58b44582001c8bcdb75f36cf85ebbe5170e959 Author: Peter Oberparleiter Date: Tue Jul 14 17:56:15 2009 +0200 sysfs: fix hardlink count on device_move Update directory hardlink count when moving kobjects to a new parent. Fixes the following problem which occurs when several devices are moved to the same parent and then unregistered: > ls -laF /sys/devices/css0/defunct/ > total 0 > drwxr-xr-x 4294967295 root root 0 2009-07-14 17:02 ./ > drwxr-xr-x 114 root root 0 2009-07-14 17:02 ../ > drwxr-xr-x 2 root root 0 2009-07-14 17:01 power/ > -rw-r--r-- 1 root root 4096 2009-07-14 17:01 uevent Signed-off-by: Peter Oberparleiter Cc: stable Signed-off-by: Greg Kroah-Hartman commit 56ad1740d9a8dc271e71fee234be662638c64458 Author: Jens Axboe Date: Tue Jul 28 22:11:24 2009 +0200 block: make the end_io functions be non-GPL exports Prior to the change for more sane end_io functions, we exported the helpers with the normal EXPORT_SYMBOL(). That got changed to _GPL() for the new interface. Revert that particular change, on the basis that this is basic functionality and doesn't dip into internal structures. If these exports can't be non-GPL, then we may as well make EXPORT_SYMBOL() imply GPL for everything. Signed-off-by: Jens Axboe commit 96f699ad09c8b3c55cd229506a9add0047838e3e Author: Michele Jr De Candia Date: Tue Jul 28 16:33:03 2009 +0200 i2c/tsl2550: Fix lux value in dark environment I've tested TSL2550 driver and I've found a bug: when light is off, returned value from tsl2550_calculate_lux function is -1 when it should be 0 (sensor correctly read that light was off). I think the bug is that a zero c0 value (approximated value of ch0) is misinterpreted as an error. Signed-off-by: Michele Jr De Candia Acked-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 8d282497cbf8124d6814d51a74fb13d69531c669 Author: Luca Tettamanti Date: Tue Jul 28 16:31:39 2009 +0200 hwmon: (asus_atk0110) Fix upper limit readings On newer Asus boards the "upper" limit of a sensor is encoded as delta from the "lower" limit. Fix the driver to correctly handle this case. Signed-off-by: Luca Tettamanti Tested-by: Alex Macfarlane Smith Signed-off-by: Jean Delvare commit 1b54ab450b180eaeeb0eee6f0f64349246a22c14 Author: Jean Delvare Date: Tue Jul 28 16:31:39 2009 +0200 hwmon: (smsc47m1) Differentiate between LPC47M233 and LPC47M292 The SMSC LPC47M233 and LPC47M292 chips have the same device ID but are not compatible. Signed-off-by: Jean Delvare Cc: Juerg Haefliger Acked-by: Hans de Goede commit f25784b35f590c81d5fb8245a8cd45e1afb6f1b2 Author: Yan Zheng Date: Tue Jul 28 08:41:57 2009 -0400 Btrfs: Fix async caching interaction with unmount - don't stop the caching thread until btrfs_commit_super return. - if caching is interrupted by umount, set last to (u64)-1. otherwise the un-scanned range of block group will be considered as free extent. Signed-off-by: Chris Mason commit 42469ff014812880d7324285d165841f4b1814e7 Author: Sascha Hauer Date: Fri Jul 24 17:31:03 2009 +0200 mx3 defconfig update - enable PCM043, MX31LILLY, ARMADILLO5X0 and MX35_3DS boards - enable MXC nand driver - enable UBI support - disable cs89x0 support which broke all boards which do not have this chip Signed-off-by: Sascha Hauer commit 8666f8deec75a8dce15edd35ec33d29ef79cdb08 Author: Sascha Hauer Date: Fri Jul 24 17:30:50 2009 +0200 mx27 defconfig update - enable MX27_3DS and MX27LITE Board - enable MXC nand driver - enable UBI support Signed-off-by: Sascha Hauer commit 3839e4b29b4385e4b31075e7805683e2aa2a8103 Author: Xiaotian Feng Date: Tue Jul 28 09:11:14 2009 +0200 block: fix improper kobject release in blk_integrity_unregister blk_integrity_unregister should use kobject_put to release the kobject, otherwise after bi is freed, memory of bi->kobj->name is leaked. Signed-off-by: Xiaotian Feng Signed-off-by: Jens Axboe commit a4e7d46407d73f35d217013b363b79a8f8eafcaa Author: Jens Axboe Date: Tue Jul 28 09:07:29 2009 +0200 block: always assign default lock to queues Move the assignment of a default lock below blk_init_queue() to blk_queue_make_request(), so we also get to set the default lock for ->make_request_fn() based drivers. This is important since the queue flag locking requires a lock to be in place. Signed-off-by: Jens Axboe commit a85a00a699740f6f9863f88aef22060fe1534681 Author: unsik Kim Date: Tue Jul 28 08:57:33 2009 +0200 mg_disk: Add missing ready status check on mg_write() When last sector is written, ready bit of status register should be checked. Signed-off-by: unsik Kim Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 394c6cc63c1d6900ad7498a3221a1d48fc00c4fa Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 08:56:34 2009 +0200 mg_disk: fix issue with data integrity on error in mg_write() We cannot acknowledge the sector write before checking its status (which is done on the next loop iteration) and we also need to do the final status register check after writing the last sector. Fix mg_write() to match mg_write_intr() in this regard. While at it: - add mg_read_one() and mg_write_one() helpers - always use MG_SECTOR_SIZE and remove MG_STORAGE_BUFFER_SIZE [bart: thanks to Tejun for porting the patch over recent block changes] Cc: unsik Kim Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz =================================================================== Signed-off-by: Jens Axboe commit eb32baec15c38ae6f06cb898a9f791578c5f8c79 Author: unsik Kim Date: Tue Jul 28 08:52:07 2009 +0200 mg_disk: fix reading invalid status when use polling driver When using polling driver, little delay is required to access status register. Without this, host might read invalid status. Signed-off-by: unsik Kim Signed-off-by: Jens Axboe commit 48f5690d45b79ffeedc5ab24243b576056f1d2ff Author: unsik Kim Date: Tue Jul 28 08:52:06 2009 +0200 mg_disk: remove prohibited sleep operation mflash's polling driver operate in standard request_fn_proc's context, sleep in this isn't permitted. Signed-off-by: unsik Kim Signed-off-by: Jens Axboe commit 27fed4175acf81ddd91d9a4ee2fd298981f60295 Author: Stephen Hemminger Date: Mon Jul 27 18:39:45 2009 -0700 ip: fix logic of reverse path filter sysctl Even though reverse path filter was changed from simple boolean to trinary control, the loose mode only works if both all and device are configured because of this logic error. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9a926d86b29a25456f1dd8c9df938e151b1c3978 Author: David S. Miller Date: Mon Jul 27 18:10:28 2009 -0700 sparc64: Sign extend length arg to truncate syscalls when compat. The first thing sys_truncate() and sys_ftruncate() do is sign extend the unsigned length arg to a signed type. Thanks to Benjamin Herrenschmidt for the tip. Signed-off-by: David S. Miller commit 7b91e2661addd8e2419cb45f6a322aa5dab9bcee Author: Jeff Layton Date: Thu Jul 23 15:22:30 2009 -0400 cifs: fix error handling in mount-time DFS referral chasing code If the referral is malformed or the hostname can't be resolved, then the current code generates an oops. Fix it to handle these errors gracefully. Reported-by: Sandro Mathys Acked-by: Igor Mammedov CC: Stable Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4733fd328f14280900435d9dbae1487d110a4d56 Author: Benjamin Herrenschmidt Date: Tue Jul 28 10:16:48 2009 +1000 mm: Remove duplicate definitions in MIPS and SH Those definitions are already provided by asm-generic Signed-off-by: Benjamin Herrenschmidt Acked-by: Paul Mundt Signed-off-by: Linus Torvalds commit c56d300086140c93dc3390e5300fd17df802ec0e Author: Alan Cox Date: Tue Jul 28 00:34:58 2009 +0100 usb_serial: Fix remaining ref count/lock bugs This fixes - locking bug that was hidden by ecc2e05e739c30870c8e4f252b63a0c4041f2724 - Regression #13821 - Spurious warning when closing and blocking for data write out With these changes my PL2303 always ends up as ttyUSB0 when it should and the module refcounts stay correct. I'll do a more wholesale split & tidy of _open in the next release or two as we get a standard tty_port_open and port->ops->init port->ops->shutdown call backs. Copy sent to Alan Stern and Carlos Mafra just to confirm it fixes all the reports but it passes local testing with the same hardware as Alan Stern. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 626f5cefc60b281a00db1402b82deff82080c70a Author: Takashi Iwai Date: Tue Jul 28 00:54:39 2009 +0200 ALSA: hda - Add quirk for Dell Studio 1555 Added a quirk entry for Dell Studio 1555. Reference: Novell bnc#525244 https://bugzilla.novell.com/show_bug.cgi?id=525244 Signed-off-by: Takashi Iwai commit fc013a58859b7cf85e53a05804a74952fe0a4117 Merge: 3a54297 f44aebc Author: Linus Torvalds Date: Mon Jul 27 15:54:10 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: use GFP_NOFS under potential memory pressure fsnotify: fix inotify tail drop check with path entries inotify: check filename before dropping repeat events fsnotify: use def_bool in kconfig instead of letting the user choose inotify: fix error paths in inotify_update_watch inotify: do not leak inode marks in inotify_add_watch inotify: drop user watch count when a watch is removed commit 3a54297478e6578f96fd54bf4daa1751130aca86 Author: Alan Cox Date: Mon Jul 27 22:17:51 2009 +0100 pty: quickfix for the pty ENXIO timing problems This also makes close stall in the normal case which is apparently needed to fix emacs Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7 Author: Len Brown Date: Mon Jul 27 18:42:38 2009 -0400 Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" This reverts commit f9ca058430333c9a24c5ca926aa445125f88df18. which caused a regression: http://bugzilla.kernel.org/show_bug.cgi?id=13620 Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0e83815be719d3391bf5ea24b7fe696c07dbd417 Author: Robert Richter Date: Mon Jul 27 19:43:52 2009 +0200 x86: fix section mismatch for i386 init code Startup code for i386 in arch/x86/kernel/head_32.S is using the reference variable initial_code that is located in the .cpuinit.data section. If CONFIG_HOTPLUG_CPU is enabled, startup code is not in an init section and can be called later too. In this case the reference initial_code must be kept too. This patch fixes this. See below for the section mismatch warning. WARNING: vmlinux.o(.cpuinit.data+0x0): Section mismatch in reference from the variable initial_code to the function .init.text:i386_start_kernel() The variable __cpuinitdata initial_code references a function __init i386_start_kernel(). If i386_start_kernel is only used by initial_code then annotate i386_start_kernel with a matching annotation. Signed-off-by: Robert Richter LKML-Reference: <1248716632-26844-1-git-send-email-robert.richter@amd.com> Signed-off-by: H. Peter Anvin commit f1462147f15a954a1a0553390846c6fa3ca742b1 Merge: e00b95d 6d7760a Author: Linus Torvalds Date: Mon Jul 27 13:42:47 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. net: irda: init spinlock after memcpy ixgbe: fix for 82599 errata marking UDP checksum errors r8169: WakeOnLan fix for the 8168 netxen: reset ring consumer during cleanup net/bridge: use kobject_put to release kobject in br_add_if error path smc91x.h: add config for Nomadik evaluation kit NET: ROSE: Don't use static buffer. eepro: Read buffer overflow tokenring: Read buffer overflow at1700: Read buffer overflow fealnx: Write outside array bounds ixgbe: remove unnecessary call to device_init_wakeup ixgbe: Don't priority tag control frames in DCB mode ixgbe: Enable FCoE offload when DCB is enabled for 82599 net: Rework mdio-ofgpio driver to use of_mdio infrastructure register at91_ether using platform_driver_probe skge: Enable WoL by default if supported net: KS8851 needs to depend on MII be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly. ... commit e00b95debb9a0f023b61abcd4b1e74f687276b47 Merge: b68f2fb 4afcd2d Author: Linus Torvalds Date: Mon Jul 27 12:23:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: read the right F2 maskoffset reg commit b68f2fb9e73f46037fbeca5fbd4ae8a7ddd8ef6b Author: Alan Cox Date: Mon Jul 27 10:58:08 2009 +0100 tty: Fix a USB serial crash/scribble The port lock is used to protect the port state. However the port structure is freed on a hangup, then the lock taken on a close. The right fix is to drop the port on tty->shutdown() but we can't yet do that due to sleep v non-sleeping rules. Instead do the next best thing and fix it up when we are not in -rc season. Reported-by: Daniel Mack Signed-off-by: Alan Cox Tested-by: Daniel Mack Signed-off-by: Linus Torvalds commit 78f1a8b758d57c2d2c9f3db7199cd30803854c82 Author: Luis R. Rodriguez Date: Mon Jul 27 08:38:25 2009 -0700 mac80211: do not queue work after suspend in the dynamic ps timer Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 082e708acc50a5b625b9bde0bb1af90dfdbd1942 Author: Roel Kluin Date: Sat Jul 25 23:34:31 2009 +0200 iwlwifi: Read outside array bounds tid is bounded (above) by the size of default_tid_to_tx_fifo (17 elements), but the size of priv->stations[].tid[] is MAX_TID_COUNT (9) elements. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 008749fc9917b799c469478141ddd1a4c81d06ca Author: Roel Kluin Date: Sat Jul 25 23:21:22 2009 +0200 ath9k: Read outside array bounds Incorrect limits leads to reads outside array bounds. Signed-off-by: Roel Kluin Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3d0ccd021b23c18ea2d399fe4a43c955485c765c Author: Roel Kluin Date: Sat Jul 25 23:02:32 2009 +0200 airo: Buffer overflow SSID_rid has space for only 3 ssids. txPowerLevels[i] is read before the bounds check for i Signed-off-by: Roel Kluin Acked-by: Dan Williams Signed-off-by: John W. Linville commit 2a21f86917f7a9fe13b180e895a816871a234dee Author: Dan Carpenter Date: Sat Jul 25 15:22:59 2009 +0300 wireless: ERR_PTR vs null iwm_wdev_alloc() returns an ERR_PTR on failure and not null. It also prints its own dev_err() message so I removed that as well. Compile tested only. Sorry. Found by smatch (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 45f5fa32b130b2a59f9b726be45ce7fa73fb834c Author: reinette chatre Date: Tue Jul 21 09:29:07 2009 -0700 iwlagn: fix minimum number of queues setting We need to provide a reasonable minimum that will result in a working setup if used. Set minimum to be 10 to provide for 4 standard TX queues + 1 command queue + 2 (unused) HCCA queues + 4 HT queues (one per AC). We allow the user to change the number of queues used via a module parameter and use this minimum value to check if it is valid. Without this patch a user can select a value for the number of queues that will result in a failing setup. Signed-off-by: Reinette Chatre Reviewed-by: Tomas Winkler Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 3995bd9332a51b626237d6671cfeb7235e6c1305 Author: Johannes Berg Date: Fri Jul 24 11:13:14 2009 -0700 iwlwifi: fix TX queue race I had a problem on 4965 hardware (well, probably other hardware too, but others don't survive my stress testing right now, unfortunately) where the driver was sending invalid commands to the device, but no such thing could be seen from the driver's point of view. I could reproduce this fairly easily by sending multiple TCP streams with iperf on different TIDs, though sometimes a single iperf stream was sufficient. It even happened with a single core, but I have forced preemption turned on. The culprit was a queue overrun, where we advanced the queue's write pointer over the read pointer. After careful analysis I've come to the conclusion that the cause is a race condition between iwlwifi and mac80211. mac80211, of course, checks whether the queue is stopped, before transmitting a frame. This effectively looks like this: lock(queues) if (stopped(queue)) { unlock(queues) return busy; } unlock(queues) ... <-- this place will be important there is some more code here drv_tx(frame) The driver, on the other hand, can stop and start queues, which does lock(queues) mark_running/stopped(queue) unlock(queues) [if marked running: wake up tasklet to send pending frames] Now, however, once the driver starts the queue, mac80211 can see that and end up at the marked place above, at which point for some reason the driver seems to stop the queue again (I don't understand that) and then we end up transmitting while the queue is actually full. Now, this shouldn't actually matter much, but for some reason I've seen it happen multiple times in a row and the queue actually overflows, at which point the queue bites itself in the tail and things go completely wrong. This patch fixes this by just dropping the packet should this have happened, and making the lock in iwlwifi cover everything so iwlwifi can't race against itself (dropping the lock there might make it more likely, but it did seem to happen without that too). Since we can't hold the lock across drv_tx() above, I see no way to fix this in mac80211, but I also don't understand why I haven't seen this before -- maybe I just never stress tested it this badly. With this patch, the device has survived many minutes of simultanously sending two iperf streams on different TIDs with combined throughput of about 60 Mbps. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6a31d4aeab85a02f9a57ca37b935054393daa794 Merge: ca597a0 950b260 Author: Linus Torvalds Date: Mon Jul 27 12:18:27 2009 -0700 Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Makefile cleanup microblaze: Typo fix for cpu param inconsistency microblaze: Add support for R_MICROBLAZE_64_NONE microblaze: Get module loading working microblaze: remove sys_ipc microblaze: Support unaligned address for put/get_user macros microblaze: Detect new Microblaze 7.20 versions microblaze: Fix do_page_fault for no context microblaze: Add _PAGE_FILE macros to pgtable.h microblaze: Fix put_user macro for 64bits arguments microblaze: Clear print messages for DTB passing via r7 microblaze: Not to clear r7 after copying DTB to kernel microblaze: Add messages about FDT blob microblaze: Final support for statically linked DTB microblaze: remove duplicated #include microblaze: Define tlb_flush macro commit ca597a02cd9902338aad91b0ce792fd9ffcaaa04 Merge: b54c383 d6c585a Author: Linus Torvalds Date: Mon Jul 27 12:18:09 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure x86, amd: Don't probe for extended APIC ID if APICs are disabled x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD" x86-64: Fix bad_srat() to clear all state x86, mce: Fix set_trigger() accessor x86: Fix movq immediate operand constraints in uaccess.h x86: Fix movq immediate operand constraints in uaccess_64.h x86: Add reboot fixup for SBC-fitPC2 x86: Include all of .data.* sections in _edata on 64-bit x86: Add quirk for Intel DG45ID board to avoid low memory corruption commit b54c3835469c9548d470e7788cb22a2fd7e21133 Merge: 04fc0a4 57e4a5c Author: Linus Torvalds Date: Mon Jul 27 12:17:29 2009 -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: ALSA: hda - Fix mute control with some ALC262 models ALSA: snd_usb_caiaq: add support for Audio2DJ ALSA: pcm - Fix hwptr buffer-size overlap bug ALSA: pcm - Fix warnings in debug loggings ALSA: pcm - Add logging of hwptr updates and interrupt updates ASoC: tlv320aic3x: Enable PLL when not bypassed ALSA: hda - Restore GPIO1 properly at resume with AD1984A ALSA: ctxfi - Fix uninitialized error checks ALSA: hda - Use snprintf() to be safer ALSA: usb-audio - Volume control quirk for QuickCam E 3500 ALSA: pcm - Fix regressions with VMware commit 04fc0a4097014db7c22da33a56494e3e8a1895d5 Merge: 760dcc6 ca4e771 Author: Linus Torvalds Date: Mon Jul 27 12:16:57 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits) V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro V4L/DVB (12302): cx23885-417: fix broken IOCTL handling V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner V4L/DVB (12291): b2c2: fix frontends compiled into kernel V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header). V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges. V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register. V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors. V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1) V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881) V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant) V4L/DVB (12245): em28xx: add support for mt9m001 webcams V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency ... commit 760dcc6e1839e7ca82507698fb077d5d78b24964 Merge: 4897f10 8d406c6 Author: Linus Torvalds Date: Mon Jul 27 12:16:38 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on [S390] vdso: fix per cpu area allocation [S390] hibernation: fix register corruption on machine checks [S390] hibernation: fix lowcore handling commit 4897f1011aff7534b8e319404f7cd4028de7a453 Merge: a9355cf 5dea271 Author: Linus Torvalds Date: Mon Jul 27 12:16:21 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm table: pass correct dev area size to device_area_is_valid dm: remove queue next_ordered workaround for barriers dm raid1: wake kmirrord when requeueing delayed bios after remote recovery commit a9355cf8e68baac964f815079b820d2680756300 Merge: 9ae2602 4a19fb1 Author: Linus Torvalds Date: Mon Jul 27 12:15:56 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: Fix early release of acl in jfs_get_acl commit 9ae260270c90643156cda73427aa1f04c923e627 Author: Oleg Nesterov Date: Fri Jun 19 02:51:13 2009 +0200 update the comment in kthread_stop() Commit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 ("kthreads: rework kthread_stop()") removed the limitation that the thread function mysr not call do_exit() itself, but forgot to update the comment. Since that commit it is OK to use kthread_stop() even if kthread can exit itself. Signed-off-by: Oleg Nesterov Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 6560dc160f3a96b8f1f43e2c6b51aa6eb9898b90 Author: Mike Frysinger Date: Thu Jul 23 23:42:08 2009 +0930 module: use MODULE_SYMBOL_PREFIX with module_layout The check_modstruct_version() needs to look up the symbol "module_layout" in the kernel, but it does so literally and not by a C identifier. The trouble is that it does not include a symbol prefix for those ports that need it (like the Blackfin and H8300 port). So make sure we tack on the MODULE_SYMBOL_PREFIX define to the front of it. Signed-off-by: Mike Frysinger Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 2bc20d09b03bca6e068e07440812d75b70b1c0b2 Merge: c7425eb f1015c4 Author: Linus Torvalds Date: Mon Jul 27 12:12:10 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: jbd: fix race between write_metadata_buffer and get_write_access ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() jbd: Fix a race between checkpointing code and journal_get_write_access() ext3: Fix truncation of symlinks after failed write jbd: Fail to load a journal if it is too short commit c7425eb4814bce40f3d117ff7a7870cc12e350e3 Merge: 9e1b32c f1230c9 Author: Linus Torvalds Date: Mon Jul 27 12:11:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] fix sparse warning cifs: fix sb->s_maxbytes so that it casts properly to a signed value cifs: disable serverino if server doesn't support it commit 9e1b32caa525cb236e80e9c671e179bcecccc657 Author: Benjamin Herrenschmidt Date: Wed Jul 22 15:44:28 2009 +1000 mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Upcoming paches to support the new 64-bit "BookE" powerpc architecture will need to have the virtual address corresponding to PTE page when freeing it, due to the way the HW table walker works. Basically, the TLB can be loaded with "large" pages that cover the whole virtual space (well, sort-of, half of it actually) represented by a PTE page, and which contain an "indirect" bit indicating that this TLB entry RPN points to an array of PTEs from which the TLB can then create direct entries. Thus, in order to invalidate those when PTE pages are deleted, we need the virtual address to pass to tlbilx or tlbivax instructions. The old trick of sticking it somewhere in the PTE page struct page sucks too much, the address is almost readily available in all call sites and almost everybody implemets these as macros, so we may as well add the argument everywhere. I added it to the pmd and pud variants for consistency. Signed-off-by: Benjamin Herrenschmidt Acked-by: David Howells [MN10300 & FRV] Acked-by: Nick Piggin Acked-by: Martin Schwidefsky [s390] Signed-off-by: Linus Torvalds commit 6d7760a88c25057c2c2243e5dfe2d731064bd31d Author: Michael Chan Date: Mon Jul 27 11:25:58 2009 -0700 cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. When a net device goes down or when the bnx2i driver is unloaded, the code was not generating the ISCSI_KEVENT_IF_DOWN message properly and this could cause the userspace driver to crash. This is fixed by sending the message properly in the shutdown path. cnic_uio_stop() is also added to send the message when bnx2i is unregistering. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 68b38550ddbea13d296184bf69edff387618b1d3 Author: Josef Bacik Date: Mon Jul 27 13:57:01 2009 -0400 Btrfs: change how we unpin extents We are racy with async block caching and unpinning extents. This patch makes things much less complicated by only unpinning the extent if the block group is cached. We check the block_group->cached var under the block_group->lock spin lock. If it is set to BTRFS_CACHE_FINISHED then we update the pinned counters, and unpin the extent and add the free space back. If it is not set to this, we start the caching of the block group so the next time we unpin extents we can unpin the extent. This keeps us from racing with the async caching threads, lets us kill the fs wide async thread counter, and keeps us from having to set DELALLOC bits for every extent we hit if there are caching kthreads going. One thing that needed to be changed was btrfs_free_super_mirror_extents. Now instead of just looking for LOCKED extents, we also look for DIRTY extents, since we could have left some extents pinned in the previous transaction that will never get freed now that we are unmounting, which would cause us to leak memory. So btrfs_free_super_mirror_extents has been changed to btrfs_free_pinned_extents, and it will clear the extents locked for the super mirror, and any remaining pinned extents that may be present. Thank you, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 631c07c8d12bcc6ce4a0fbfbd64ea843d78e2b10 Author: Julia Lawall Date: Mon Jul 27 13:57:00 2009 -0400 Btrfs: Correct redundant test in add_inode_ref dir has already been tested. It seems that this test should be on the recently returned value inode. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) Signed-off-by: Julia Lawall Signed-off-by: Chris Mason commit 0cbb0a781a42f131e9c6836554f402cb85f8f38b Author: Deepak Saxena Date: Mon Jul 27 10:49:44 2009 -0700 net: irda: init spinlock after memcpy irttp_dup() copies a tsap_cb struct, but does not initialize the spinlock in the new structure, which confuses lockdep. Signed-off-by: Deepak Saxena Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit c640e1cb45cb9ff6b02f5f130a4f2a58ab9ebe55 Author: Tomas Cech Date: Mon Jul 27 14:16:31 2009 +0100 ARM: 5623/1: Treo680: ir shutdown typo fix correct GPIO freed in treo680_irda_shutdown() Signed-off-by: Tomáš ?ech Signed-off-by: Russell King commit 4afcd2dcc6d89da696fc9d469a909adafa9d3636 Author: Wan Wei Date: Mon Jul 27 14:34:15 2009 +0200 amd64_edac: read the right F2 maskoffset reg Signed-off-by: Wan Wei Signed-off-by: Borislav Petkov commit 92c548cd35d50df398f442b07021150094578460 Author: Ben Nizette Date: Mon Apr 20 12:36:53 2009 +1000 favr32: improve touchscreen response The ezLCD+101 board (to which an favr-32 is fitted) has a long, unshielded, nasty lead between the touch panel and the ads7843 touch controller. In order to get satisfactory response then, we need to employ every noise-reduction trick in the driver's arsenal. After extensive fiddling I've found some good settings: 1) We keep vref on all the time to dramatically reduce settling times (at the cost of a tiny increase in power consumption). 2) Despite 1 the settling time is still non-zero. 500uS is plenty of time for the signals to settle 3) Despite 1 and 2 there's still a little bit of noise around. By setting a pen recheck delay we make the panel feel less touchy and twitchy. Someone with more time and patience myself might be able to tune this numbers further but these settings are now perfectly acceptable for normal use. Tested on ezLCD+101 though should only improve response on other ezLCD+/ favr-32 boards too. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 251ab1a37d9ba810593d5fbf2482bc4ba773fab2 Author: Sebastian Andrzej Siewior Date: Sun Jul 26 14:58:34 2009 +0200 avr32/lib: fix unaligned memcpy where len < 4 in case of memcpy(p, unaligned, 1..3) we get 1..3 as the return value instead of p Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Haavard Skinnemoen commit 505d62d073b528859b43bfb463a6ceaf3581469e Author: Sebastian Andrzej Siewior Date: Sun Jul 26 14:57:54 2009 +0200 avr32/lib: fix unaligned memcpy() memcpy(p, unaligned, 4..) returns (p + num_of_unaligned_by_copied) instead of p because p is not preserved in the unaligned case. Noticed by Herbert Xu's superior parameter recycling coding technique which let the md4 self-test fail on avr32. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Haavard Skinnemoen commit 950b260ed21fdb6fa5f18485dabb0b03488431fa Author: Sam Ravnborg Date: Fri Jul 24 09:04:49 2009 +0200 microblaze: Makefile cleanup Reviewed the Makefile on request by Michal and this is the resulting changes. o Use ':=' for assignmnet so we do not re-evaluate for each use o Use $(shell echo xxx) to remove "" o Replaced CFLAGS_KERNEL with KBUILD_CFLAGS The settings are equally relevant for modules and the linked kernel o Dropped LDFLAGS_BLOB - it is no longer used o Refactored assignmnets to libs-y and core-y o Use MMU for the MMU specific extension. "MMUEXT" was hurting my eyes and I did not wanted it spread to m68k Signed-off-by: Sam Ravnborg Signed-off-by: Michal Simek commit 65d3db0601509946fe0c9d2c7b12a5a62ca42e5e Author: Michal Simek Date: Fri Jul 24 08:11:23 2009 +0200 microblaze: Typo fix for cpu param inconsistency Signed-off-by: Michal Simek commit 679711b82f010b854c5d4d88472c7a20fdc2b5fe Author: Michal Simek Date: Thu Jul 23 08:24:47 2009 +0200 microblaze: Add support for R_MICROBLAZE_64_NONE For example reiserfs use this relocation type. Signed-off-by: Michal Simek commit fadf2e60a6dc7267658fa0c9e3bef13c699c7e1f Author: John Williams Date: Thu Jul 23 14:56:49 2009 +1000 microblaze: Get module loading working New reloc type R_MICROBLAZE_32_PCREL_LO requires a null handler (no work to do). Remove legacy hack for broken linker pre gcc-4.1.1, that required us to extract an offset from the code, add it to the addend, then rewrite the instruction. Fixup the invalid reloc type error output. Boot tested with the xilinx_emaclite ethernet driver. Signed-off-by: John Williams Signed-off-by: Michal Simek commit bfc0ca0d33e24fca5b89acb378a8a9712ffe22b6 Author: Arnd Bergmann Date: Thu Jun 18 19:55:35 2009 +0200 microblaze: remove sys_ipc The ipc system call is now unused in microblaze, as the system call table points directly to the indidual system calls for IPC. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 3863dbceac7e69642b95f43de1c12c6236fdbe5b Author: Michal Simek Date: Tue Jul 21 12:48:01 2009 +0200 microblaze: Support unaligned address for put/get_user macros This patch add support for cases where load/store instruction in put/get_user macro gets unaligned pointer to data and this address is not valid. I prevent all cases which can failed. I had to disable first stage of unaligned handler which is used only for noMMU kernel and the whole work is done when interrupt is enabled. You have enable HW support for detect unaligned access in Microblaze. This patch fixed three LTP tests: getpeername01, getsockname01, socketpair01 Signed-off-by: Michal Simek commit 94ad8eb854cbc1cf875a318f9b97314ddc6b1560 Author: Michal Simek Date: Tue Jul 21 12:47:04 2009 +0200 microblaze: Detect new Microblaze 7.20 versions Signed-off-by: Michal Simek commit f10eca6e107fd223c24393c09c40b916d2b3c427 Author: Michal Simek Date: Thu Jul 16 16:00:49 2009 +0200 microblaze: Fix do_page_fault for no context Calling fixup when we are in kernel mode. This prevent fault for copy_to/from_user. This fault was find thanks to writev01/03/04 LTP tests. Signed-off-by: Michal Simek commit f14d6f7c31c73a902a6b567dc719128e74603902 Author: Michal Simek Date: Wed Jul 15 13:39:35 2009 +0200 microblaze: Add _PAGE_FILE macros to pgtable.h We need to define _PAGE_FILE macro and change pte functions. Microblaze use the same MMU as PowerPC that's why we define _PAGE_FILE in the same style. This change fixed remap_file_pages01 LTP test. Signed-off-by: Michal Simek commit 7bcb63b21327427b130edeb6e6ad44ee260b3043 Author: Michal Simek Date: Mon Jul 13 16:46:54 2009 +0200 microblaze: Fix put_user macro for 64bits arguments For 64bits arguments gcc caused that put_user macro works with wrong value because of optimalization. Adding volatile caused that gcc not optimized it. It is possible to use (as Blackfin do) two put_user macros with 32bits arguments but there is one more instruction which is due to duplication zero return value which is called put_user_asm macro. Signed-off-by: Michal Simek commit ea3fd1466f81a851452bf7f34ccb9b5058e4793c Author: Michal Simek Date: Mon Jun 22 12:31:55 2009 +0200 microblaze: Clear print messages for DTB passing via r7 It is necessary to zeroed r7 when r7 points to bad dtb - this caused that we have correct messages about compiled-in dtb or passing via r7 Signed-off-by: Michal Simek commit a69cb8c4662dd0a7b01b32a9165b1a1697068f19 Author: Michal Simek Date: Mon Jun 22 10:55:40 2009 +0200 microblaze: Not to clear r7 after copying DTB to kernel I can't clear r7 because if I do it I lose information where DTB come from. Signed-off-by: Michal Simek commit 74510f2a2751ed56b5ab099b2e3b7697b91aa77e Author: Michal Simek Date: Mon Jun 22 10:28:40 2009 +0200 microblaze: Add messages about FDT blob Print accurate message about place where FDT blob is. Signed-off-by: Michal Simek commit 909964ec89ba466d75d53250d5738d1891cc1a3d Author: John Williams Date: Mon Jun 22 14:02:09 2009 +1000 microblaze: Final support for statically linked DTB If r7 is zero at kernel boot, or does not point to a valid DTB, then we fall back to a DTB (assumed to be) linked statically in the kernel, instead of blindly copying bogus cruft into the kernel DTB memory region Signed-off-by: John Williams Signed-off-by: Michal Simek commit 1170902b343053f50d4caf8ec2aa745fd0ce5c84 Author: Huang Weiyi Date: Sat Jul 11 09:32:08 2009 +0800 microblaze: remove duplicated #include Remove duplicated #include('s) in arch/microblaze/include/asm/io.h Signed-off-by: Huang Weiyi Signed-off-by: Michal Simek commit efffde36d20613d91a5ea9529b03f477077f41ea Author: Michal Simek Date: Thu Jul 9 11:33:39 2009 +0200 microblaze: Define tlb_flush macro This fix remove bug which we had till now in all Microblaze MMU code. Primary tested on mmap01 LTP test. We forget to flush invalid tlb which were changed - we used them and there were wrong old data which wasn't correct. Signed-off-by: Michal Simek commit 8bae1b2b13beb4cf4c0f119f97640503c2b74b0f Author: Don Skidmore Date: Thu Jul 23 18:00:39 2009 +0000 ixgbe: fix for 82599 errata marking UDP checksum errors There is an 82599 errata that UDP frames with a zero checksum are incorrectly marked as checksum invalid by the hardware. This was leading to misleading hw_csum_rx_error counts. This patch adds a test around this counter increase for this condition. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ca52efd5490f97f396d3c5863ba714624f272033 Author: françois romieu Date: Fri Jul 24 12:34:19 2009 +0000 r8169: WakeOnLan fix for the 8168 More stuff for http://bugzilla.kernel.org/show_bug.cgi?id=9512 Some 8168 are unable to WoL when receiving is not enabled (plain old 8169 do not seem to care). It is not exactly pretty to leave the receiver enabled but we should now enable DMA late enough for it to be safe. Some late stage boot failure due to pxe and friends may benefit from the delayed enabling of bus-mastering as well. Signed-off-by: Francois Romieu Tested-by: Jaromír Cápík Cc: Edward Hsu commit c8a5a658b826508c7c61b57e9a590f7b8760fb51 Author: Dhananjay Phadke Date: Sun Jul 26 20:17:21 2009 -0700 netxen: reset ring consumer during cleanup Reset consumer of status rings to 0 when cleaning up sw resources. Status rings are not deleted during suspend since they have napi objects. This ensures correct rx processing across suspen-resume. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c587aea951a56d29741a3cef4ea3e142c93b3207 Author: Xiaotian Feng Date: Thu Jul 23 23:06:32 2009 +0000 net/bridge: use kobject_put to release kobject in br_add_if error path kobject_init_and_add will alloc memory for kobj->name, so in br_add_if error path, simply use kobject_del will not free memory for kobj->name. Fix by using kobject_put instead, kobject_put will internally calls kobject_del and frees memory for kobj->name. Signed-off-by: Xiaotian Feng Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4a29f396429132dc59f1856ea6cfc860a1955fa1 Author: Alessandro Rubini Date: Wed Jul 22 12:49:08 2009 +0000 smc91x.h: add config for Nomadik evaluation kit Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: David S. Miller commit dcf777f6ed9799c5ac90ac17a5c369e6b73ca92e Author: Ralf Baechle Date: Sun Jul 26 19:11:14 2009 -0700 NET: ROSE: Don't use static buffer. The use of a static buffer in rose2asc() to return its result is not threadproof and can result in corruption if multiple threads are trying to use one of the procfs files based on rose2asc(). Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit d513d018e2236930b6163241bbdce64d2c0de49e Author: Roel Kluin Date: Sun Jul 26 18:53:17 2009 -0700 eepro: Read buffer overflow io[i] is read before the bounds check on i, order should be reversed Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit c65d3198addb1a2862d4b88bc2a74ac9cbed66f9 Author: roel kluin Date: Sat Jul 25 12:38:33 2009 +0000 tokenring: Read buffer overflow io[i] is read before the bounds check on i, order should be reversed Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 3b73e79b0dcc86f8bec68a34b7fb812eec953f34 Author: roel kluin Date: Sat Jul 25 12:01:50 2009 +0000 at1700: Read buffer overflow loop bound looks to be wrong, for an array of length 8 Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit f83284fe209b1d143244bf462abf1b414eb7b62a Author: roel kluin Date: Sat Jul 25 07:41:12 2009 +0000 fealnx: Write outside array bounds phy_idx is checked to be < 4, but np->phys[] is 2 elements long Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091 Merge: b881588 2cf313e Author: Takashi Iwai Date: Sun Jul 26 11:07:08 2009 +0200 Merge branch 'fix/usb-audio' into for-linus * fix/usb-audio: ALSA: usb-audio - Volume control quirk for QuickCam E 3500 commit b88158846f36374553a5915b7cb5a86540cf9762 Merge: de5d674 947ca21 Author: Takashi Iwai Date: Sun Jul 26 11:07:07 2009 +0200 Merge branch 'fix/pcm-hwptr' into for-linus * fix/pcm-hwptr: ALSA: pcm - Fix hwptr buffer-size overlap bug ALSA: pcm - Fix warnings in debug loggings ALSA: pcm - Add logging of hwptr updates and interrupt updates ALSA: pcm - Fix regressions with VMware commit de5d674c0220e3adc84fb05d0e8e2793ffc094d8 Merge: f35e296 8de56b7 Author: Takashi Iwai Date: Sun Jul 26 11:07:06 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix mute control with some ALC262 models ALSA: hda - Restore GPIO1 properly at resume with AD1984A ALSA: hda - Use snprintf() to be safer commit f35e2965b238bbfd6d3be8969361b5769ed247ed Merge: 29769d5 6811066 Author: Takashi Iwai Date: Sun Jul 26 11:07:05 2009 +0200 Merge branch 'fix/ctxfi' into for-linus * fix/ctxfi: ALSA: ctxfi - Fix uninitialized error checks commit 29769d533bc7c1429601272b6dd88d4212125e8e Merge: 7679d5c b30c494 Author: Takashi Iwai Date: Sun Jul 26 11:07:04 2009 +0200 Merge branch 'fix/caiaq' into for-linus * fix/caiaq: ALSA: snd_usb_caiaq: add support for Audio2DJ commit 7679d5c65ba8e4d27daa9181c2f4c7e618058f29 Merge: 4be3bd7 06c7128 Author: Takashi Iwai Date: Sun Jul 26 11:07:03 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: tlv320aic3x: Enable PLL when not bypassed commit 40e03b581a8a0b638bc1e9b957ae0536a4a00ad3 Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:13:24 2009 +0530 ARM: includecheck fix: plat-stmp3xxx/pinmux.c fix the following 'make includecheck' warning: arch/arm/plat-stmp3xxx/pinmux.c: linux/sysdev.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: dmitry pervushin Signed-off-by: Russell King commit 2e6e2c143cdefc2624722659766d1f3c098d79e1 Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:12:07 2009 +0530 ARM: includecheck fix: plat-s3c64xx/pm.c fix the following 'make includecheck' warning: arch/arm/plat-s3c64xx/pm.c: plat/regs-gpio.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Ben Dooks Signed-off-by: Russell King commit efda2b4c8a643290867d9f5816e36f71a5acee7d Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:11:05 2009 +0530 ARM: includecheck fix: mach-omap2/mcbsp.c fix the following 'make includecheck' warning: arch/arm/mach-omap2/mcbsp.c: mach/irqs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Eduardo Valentin Acked-by: Kevin Hilman Signed-off-by: Russell King commit 52cbbd41f7afeceba4be2e4062138781aacd440c Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:10:02 2009 +0530 ARM: includecheck fix: mach-omap1/mcbsp.c fix the following 'make includecheck' warning: arch/arm/mach-omap1/mcbsp.c: mach/irqs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Eduardo Valentin Acked-by: Kevin Hilman Signed-off-by: Russell King commit 7a33aed825c4d2bafea748384e3331661fc3a180 Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:07:26 2009 +0530 ARM: includecheck fix: board-sffsdr.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-sffsdr.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Kevin Hilman Acked-by: Philip Balister Signed-off-by: Russell King commit 78eacf0b0373f524509da261b771f8baa28806b5 Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:06:42 2009 +0530 ARM: includecheck fix: board-dm646x-evm.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm646x-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Kevin Hilman Signed-off-by: Russell King commit 6608168486973a33d24d27b25fc94d4743c1a1e5 Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:05:34 2009 +0530 ARM: includecheck fix: board-dm644x-evm.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm644x-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Kevin Hilman Signed-off-by: Russell King commit 7f25b0ac2dde2de399d6cfe42d9ec7066e665f2f Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:04:33 2009 +0530 ARM: includecheck fix: board-dm355-leopard.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm355-leopard.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Kevin Hilman Signed-off-by: Russell King commit 44e96d452173ed22a7ba2291c7d566bf4b406f62 Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:03:08 2009 +0530 ARM: includecheck fix: board-dm355-evm.c fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm355-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Acked-by: Kevin Hilman Signed-off-by: Russell King commit feecaf73bb437cf72a44bd71598c6532d357f78e Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:01:39 2009 +0530 ARM: includecheck fix: atomic.h fix the following 'make includecheck' warning: arch/arm/include/asm/atomic.h: asm/system.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Russell King commit 81566a060bb8f989cc369ea28837b05bd4adcedb Author: Jaswinder Singh Rajput Date: Wed Jul 8 20:00:15 2009 +0530 ARM: includecheck fix: misc.c fix the following 'make includecheck' warning: arch/arm/boot/compressed/misc.c: linux/compiler.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Russell King commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 Author: Paul Walmsley Date: Fri Jul 24 19:44:06 2009 -0600 OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS, USBHOST, and HSOTGUSB devices. These devices are both interconnect initiators and targets. Without this patch, clk_enable()s on clocks for these modules can be very high latency (potentially up to ~200 milliseconds) and message such as the following are generated: Clock usbhost_48m_fck didn't enable in 100000 tries Two bugs are fixed by this patch. First, OMAP hardware only supports target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips should not wait for these clocks to enable. So, split the appropriate clocks into ES1 and ES2+ variants, so that kernels running on ES1 devices won't try to wait. Second, the current heuristic in omap2_clk_dflt_find_idlest() will fail for these clocks. It assumes that the CM_IDLEST bit to wait upon is the same as the CM_*CLKEN bit, which is false[1]. Fix by implementing custom clkops .find_idlest function pointers for the appropriate clocks that return the correct slave IDLEST bit shift. This was originally fixed in the linux-omap kernel during 2.6.29 in a slightly different manner[2][3]. In the medium-term future, all of the module IDLEST code will eventually be moved to the omap_hwmod code. Problem reported by Jarkko Nikula : http://marc.info/?l=linux-omap&m=124306184903679&w=2 ... 1. See for example 34xx TRM Revision P Table 4-213 and 4-217 (for the DSS case). 2. http://www.spinics.net/lists/linux-omap/msg05512.html et seq. 3. http://lkml.indiana.edu/hypermail/linux/kernel/0901.3/01498.html Signed-off-by: Paul Walmsley Cc: Jarkko Nikula commit 3dc2197579089c5b74c7fba666c8ccf1a449afb4 Author: Paul Walmsley Date: Fri Jul 24 19:44:04 2009 -0600 OMAP2 clock: 2430 I2CHS uses non-standard CM_IDLEST register OMAP2430 I2CHS CM_IDLEST bits are in CM_IDLEST1_CORE, but the CM_*CLKEN bits are in CM_{I,F}CLKEN2_CORE [1]. Fix by implementing a custom clkops .find_idlest function to return the correct slave IDLEST register. ... 1. OMAP2430 Multimedia Device Package-on-Package (POP) Silicon Revision 2.1 (Rev. V) Technical Reference Manual, tables 4-99 and 4-105. Signed-off-by: Paul Walmsley commit 72350b29a4c0debfc27c2edbeed9b4ff3f935dd4 Author: Paul Walmsley Date: Fri Jul 24 19:44:03 2009 -0600 OMAP2/3 clock: split, rename omap2_wait_clock_ready() Some OMAP2/3 hardware modules have CM_IDLEST attributes that are not handled by the current omap2_wait_clock_ready() code. In preparation for patches that fix the unusual devices, rename the function omap2_wait_clock_ready() to omap2_wait_module_ready() and split it into three parts: 1. A clkops-specific companion clock return function (by default, omap2_clk_dflt_find_companion()) 2. A clkops-specific CM_IDLEST register address and bit shift return function (by default, omap2_clk_dflt_find_idlest()) 3. Code to wait for the CM to indicate that the module is ready (omap2_cm_wait_idlest()) Clocks can now specify their own custom find_companion() and find_idlest() functions; used in subsequent patches. Signed-off-by: Paul Walmsley commit df56556e571234cf26072cd58c01ac3520986b44 Author: Rajendra Nayak Date: Fri Jul 24 19:44:02 2009 -0600 OMAP3 SDRC: Move the clk stabilization delay to the right place The clock stabilization delay post a M2 divider change is needed even before a SDRC interface clock re-enable and not only before jumping back to SDRAM. Signed-off-by: Rajendra Nayak Signed-off-by: Paul Walmsley commit 8ff120e5303e27e03aba7b774e86fd43eaf90376 Author: Rajendra Nayak Date: Fri Jul 24 19:44:01 2009 -0600 OMAP3 SDRC: Fix freeze when scaling CORE dpll to < 83Mhz This patch fixes a bug in the CORE dpll scaling sequence which was errouneously clearing some bits in the SDRC DLLA CTRL register and hence causing a freeze. The issue was observed only on platforms which scale CORE dpll to < 83Mhz and hence program the DLL in fixed delay mode. Issue reported by Limei Wang , with debugging assistance from Richard Woodruff and Girish Ghongdemath . Signed-off-by: Rajendra Nayak Cc: Limei Wang Cc: Richard Woodruff Cc: Girish Ghongdemath Signed-off-by: Paul Walmsley [paul@pwsan.com: updated patch description to include collaboration credits] commit 75f251e3d0803b028f3474fdc75be0994c377ab5 Author: Paul Walmsley Date: Fri Jul 24 19:44:01 2009 -0600 OMAP2/3 SDRC: don't set SDRC_POWER.PWDENA on boot Stop setting SDRC_POWER.PWDENA on boot. There is a nasty erratum (34xx erratum 1.150) that can cause memory corruption if PWDENA is enabled. Based originally on a patch from Samu P. Onkalo . Tested on BeagleBoard rev C2. Signed-off-by: Paul Walmsley Cc: Samu P. Onkalo commit 9fb97412c3be5d0d1dd0e9d7c5268469e4c942aa Author: Jean Pihet Date: Fri Jul 24 19:43:25 2009 -0600 OMAP3: Setup MUX settings for SDRC CKE signals This patches ensures the MUX settings are correct for the SDRC CKE signals to SDRAM. This allows the self-refresh to work when 2 chip-selects are in use. A warning is thrown away in case the initial muxing is incorrect, in order to track faulty or old-dated bootloaders. Note: The CONFIG_OMAP_MUX and CONFIG_OMAP_MUX_WARNINGS options must be enabled for the mux code to have effect. Signed-off-by: Jean Pihet Signed-off-by: Paul Walmsley commit 58cda884ecc87dcce18d463b0c8bd928dae63ad8 Author: Jean Pihet Date: Fri Jul 24 19:43:25 2009 -0600 OMAP3 SDRC: add support for 2 SDRAM chip selects Some OMAP3 boards (Beagle Cx, Overo, RX51, Pandora) have 2 SDRAM parts connected to the SDRC. This patch adds the following: - add a new argument of type omap_sdrc_params struct* to omap2_init_common_hw and omap2_sdrc_init for the 2nd CS params - adapted the OMAP boards files to the new prototype of omap2_init_common_hw - add the SDRC 2nd CS registers offsets defines - adapt the sram sleep code to configure the SDRC for the 2nd CS Note: If the 2nd param to omap2_init_common_hw is NULL, then the parameters are not programmed into the SDRC CS1 registers Tested on 3430 SDP and Beagleboard rev C2 and B5, with suspend/resume and frequency changes (cpufreq). Signed-off-by: Jean Pihet Signed-off-by: Paul Walmsley commit 9779b72f0584fd53e0de53f62f205bf0dc0db553 Author: Chris Mason Date: Fri Jul 24 16:41:41 2009 -0400 Btrfs: find smallest available device extent during chunk allocation Allocating new block group is easy when the disk has plenty of space. But things get difficult as the disk fills up, especially if the FS has been run through btrfs-vol -b. The balance operation is likely to make the total bytes available on the device greater than the largest extent we'll actually be able to allocate. But the device extent allocation code incorrectly assumes that a device with 5G free will be able to allocate a 5G extent. It isn't normally a problem because device extents don't get freed unless btrfs-vol -b is run. This fixes the device extent allocator to remember the largest free extent it can find, and then uses that value as a fallback. Signed-off-by: Chris Mason commit 283bb1979fa8580c4037d8df251449368c292a3b Author: Chris Mason Date: Fri Jul 24 16:30:55 2009 -0400 Btrfs: clear all space_info->full after removing a block group Btrfs allocates individual extents from block groups, and each block group has a specific type. It may hold metadata, data mirrored or striped etc. When we balance space (btrfs-vol -b) or remove a drive (btrfs-vol -r) we free block groups. Once a block group is freed, the space it was using on the device may be available for use by new block groups. btrfs_remove_block_group was clearing the flag that said 'our devices are full, don't even try to allocate new block groups', but it was only clearing that flag for a specific type of block group. This commit clears the full flag for all of the types of block groups, making it much more likely that we'll be able to balance space when the drive is close to full. Signed-off-by: Chris Mason commit bdff78707f3ce47e891f3201c9666122a70556ce Author: Thomas Gleixner Date: Fri Jul 24 15:30:45 2009 -0400 trace: stop tracer in oops_enter() If trace_printk_on_oops is set we lose interesting trace information when the tracer is enabled across oops handling and printing. We want the trace which might give us information _WHY_ we oopsed. Signed-off-by: Thomas Gleixner Signed-off-by: Steven Rostedt commit ebecd3d9d2adba144c15f1d35c78e0c26ead1bfd Author: Sage Weil Date: Fri Jul 24 13:17:44 2009 -0400 Btrfs: make flushoncommit mount option correctly wait on ordered_extents The commit_transaction call to wait_ordered_extents when snap_pending passes nocow_only=1 to process only NOCOW or PREALLOC extents. This isn't correct for the 'flushoncommit' mode, as it skips extents we just started IO on in start_delalloc_inodes. So, in the flushoncommit case, wait on all ordered extents. Otherwise, only pass the nocow_only flag to wait_ordered_extents if snap_pending. Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit 32bc4820287a1a03982979515949e8ea56eac641 Author: Adrian Hunter Date: Fri Jul 24 19:16:04 2009 +0300 UBI: compatible fallback in absense of sequence numbers Fall back onto thinking everything's OK if either of the sequence numbers we are asked to compare is zero, which is what was used before sequence numbers were introduced. [ Artem: modified the patch to be applicable to upstream UBI, added big comment ] Signed-off-by: Adrian Hunter Signed-off-by: Phil Carmody Signed-off-by: Artem Bityutskiy commit 7194e6f9c083e87171ddfc8b746f05e007f58132 Author: Adrian Hunter Date: Fri Jul 24 17:05:00 2009 +0300 UBI: fix double free on error path If we fail in 'ubi_eba_init_scan()', we free 'ubi->volumes[i]->eba_tbl' in there, but also later free it in 'free_internal_volumes()'. Fix this by assigning NULL to 'ubi->volumes[i]->eba_tbl' after it is freed. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit ca4e771f7b878b7bab02dedb539f7742f9b4f50e Author: Michael Krufky Date: Sun Jul 19 17:55:35 2009 -0300 V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro When enabling debug with v4l_debug set to 2 or greater, the driver OOPS's on startup. Checks dev pointer before dereferencing, in order to prevent this OOPS. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 12a34cc8a9a49219ab643c8ec329078eec272b47 Author: Michael Krufky Date: Sun Jul 19 18:19:18 2009 -0300 V4L/DVB (12302): cx23885-417: fix broken IOCTL handling IOCTLS will never get handled if we dont connect video_ioctl2 to mpeg_fops.ioctl Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2c90577841a76f1935ff3437ffb552b41f5c28fa Author: Hans Verkuil Date: Mon Jul 20 08:14:17 2009 -0300 V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner Both tvaudio and the tuner share i2c address 0x42. The tvaudio module can check whether it really is a tda9840, but the tuner can't. So the tvaudio module must be loaded before the tuner module. This was also the case for 2.6.29, but the order was swapped in 2.6.30. Thanks to Krzysztof Grygiencz for reporting and testing this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 68b7f7616add4b1de0fe75015ba3884d2d9ff796 Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12291): b2c2: fix frontends compiled into kernel A recent patch didn't take into account that frontends can be compiled into the kernel. Or that frontends compiled as modules can't be used by the b2c2 driver if it is not a module itself. Some frontends require multiple drivers, e.g. a demod driver and a tuner driver. The code for the frontend support was getting added if the demod driver was available. Change this to also require any needed tuner or SEC drivers as well. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit c15b95edb98f184e73f756511a60a7994cd9d840 Author: Mauro Carvalho Chehab Date: Sun Jul 19 18:03:23 2009 -0300 V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers This is not just pure cosmetic, since the order affects the out-of-tree module build at the -hg development tree. Signed-off-by: Mauro Carvalho Chehab commit 3eb0237d445c23e9f46b11a07bce986eca450640 Author: Julia Lawall Date: Sun Jul 19 07:09:32 2009 -0300 V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header). Signed-off-by: Julia Lawall Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 26e744b6b61066203fd57de0d3962353621e06f8 Author: Brian Johnson Date: Sun Jul 19 05:52:58 2009 -0300 V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges. Signed-off-by: Brian Johnson Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit af1d9afa75082663ea9e2b67b9381d1af403f52b Author: Brian Johnson Date: Sun Jul 19 05:29:20 2009 -0300 V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register. Signed-off-by: Brian Johnson Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a2f5a8117cb185fc347f35e369a6320e6aa9d82d Author: Antti Palosaari Date: Fri Jul 10 20:03:43 2009 -0300 V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app Request demodulator auto-detect transmission parameters in case of garbage parameters provided by application for compatibility. That's needed at least for MPlayer compatibility currently. Thanks to Jelle de Jong for reporting issue and providing SSH access to Devin for debugging. Thanks to Devin Heitmueller for hard debug work he did to find that bug. Cc: Devin Heitmueller Cc: Jelle de Jong Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 27954930f047df73a16253db2750345034e56c40 Author: Jean-Francois Moine Date: Wed Jul 8 05:21:50 2009 -0300 V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors. The bug was introduced when adding the light frequency control Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a84f79aed688a94197387830df3a2f2068f49dc0 Author: Devin Heitmueller Date: Sun Jul 12 17:05:02 2009 -0300 V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1) When the change was introduced in the zl10353 for the i2c gate behavior, this broke the HVR-900 which was not behind a gate. Use a version of the zl10353 config profile that indicates the tuner is not behind such a gate. Without this patch the first tune succeeds, but subsequent tuning attempts will fail. The change also renames the terratec zl10353 profile I wrote to be more generic, since it is shared by the non-terratec device. Thanks to Michael Krufky for providing a HVR-900 and DVB-T environment to test with. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e16e5a3739cfd208de00d49def10fcfa6ceff46f Author: Devin Heitmueller Date: Wed Jul 15 00:37:22 2009 -0300 V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e The Pinnacle Hybrid Pro 320e was missing a demod config for the xc3028, which is required for digital tuning to work properly. Add the missing profile. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Cc: Andreas Lunderhage Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 5343e446014b93f740d5502f9f3bfa3f66dcbc7c Author: Devin Heitmueller Date: Wed Jul 15 00:35:47 2009 -0300 V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used In cases where the device has a generic Empia USB ID, the call in the precard setup phase did not set the tuner GPIO. As a result, the tuner may not be taken out of reset before attempting initialization in the analog driver. This problem was not seen before with the EVGA inDtube, since that particular board has the analog GPIO setup to include taking the tuner out of reset. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment for the Pinnacle 320e. Cc: Andreas Lunderhage Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 44010440ca2693a07b1252ee836a23804412575e Author: Devin Heitmueller Date: Wed Jul 8 22:18:15 2009 -0300 V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support Set the GPIO properly for the analog side of the Pinnacle Hybrid Pro, or else the emp202 doesn't get detected properly. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d5b3ba9cb375620a109d79f2e3a7bc21e9b75d8f Author: Devin Heitmueller Date: Wed Jul 8 21:51:35 2009 -0300 V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881) Setup the GPIOs properly and enable support for the DVB side of the Pinnacle Hybrid Pro USB stick. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Cc: Andreas Lunderhage Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ff69786b4ccd0d5b99a60ba0be98237f9b7d8f52 Author: Devin Heitmueller Date: Sun Jul 12 18:44:19 2009 -0300 V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB Andy walls pointed out that we were passing 0x5d to the TUNER_GO register, instead of 0x01. Set the register properly (note the code did still work with the incorrect value, so this does not address a regression). Thanks to Andy Walls for noticing the issue. Cc: Andy Walls Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4fb202a8d9d936f7080ab631140b447a0625e36c Author: Devin Heitmueller Date: Sun Jul 12 17:51:12 2009 -0300 V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant) The Terratec Cinergy T XS USB can have either a zl10353 or an mt352. Add support for the MT352 variant. Thanks to Jelle de Jong for providing a unit to test/debug with. Cc: Jelle de Jong Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b80fd2d811b48a92051f86d257b00f373e69a6d7 Author: Mauro Carvalho Chehab Date: Tue Jul 14 21:08:22 2009 -0300 V4L/DVB (12245): em28xx: add support for mt9m001 webcams Thanks to Wally for bringing the issue and helping with the tests. Signed-off-by: Mauro Carvalho Chehab commit 579d315218e8a3f696e375c5f6917da6488bec8a Author: Mauro Carvalho Chehab Date: Tue Jul 14 12:33:25 2009 -0300 V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format Depending on the video input format, vinmode/vinctl needs adjustments. For TV, this is not relevant, since the supported decoders output data at the same format. However, webcam sensors may have different formats, so, this needs to be adjusted based on the device. Signed-off-by: Mauro Carvalho Chehab commit d36bb4e77257ed0df86deca3f69794f037f68c7d Author: Mauro Carvalho Chehab Date: Tue Jul 14 03:18:39 2009 -0300 V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency In order to properly estimate fps, mt9v011 sensor driver needs to know what is the used frequency on the sensor cristal. Adds the proper fields and initialization code for specifying the cristal frequency. Also, based on experimentation, it was noticed that the Silvercrest is outputing data at 7 fps. This means that it should be using a 6.3 MHz cristal. This information needs to be double checked later, by opening the device. Anyway, by using this value for xtal, at least now we have the correct fps report. Signed-off-by: Mauro Carvalho Chehab commit 2ea472ff704a8a94b3b9abec438db23e512be337 Author: Mauro Carvalho Chehab Date: Tue Jul 14 03:14:21 2009 -0300 V4L/DVB (12242): mt9v011: implement core->s_config to allow adjusting xtal frequency Since frames per second is a function of cristal frequency, and this is device-specific, add a function that allows adjusting it, via subdev->core->s_config callback. Signed-off-by: Mauro Carvalho Chehab commit c180604a87c5abb0a117998009d01a4499d58653 Author: Mauro Carvalho Chehab Date: Tue Jul 14 02:39:19 2009 -0300 V4L/DVB (12241): mt9v011: Fix vstart vstart calculus were wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab commit e11206e67f738b04d0c508795adc9bff504bc875 Author: Mauro Carvalho Chehab Date: Tue Jul 14 02:38:18 2009 -0300 V4L/DVB (12240): mt9v011: add a function to calculate frames per second rate It is possible to adjust the fps rate by changing some register values. This is function of the connected Xtal at the camera sensor, being a 27 MHz cristal needed, in order to support 640x480 at 30 fps. For now, it will only calculate the values for fps. Later patches may introduce V4L2 ioctls, to allow frequency rate adjustments. Signed-off-by: Mauro Carvalho Chehab commit 5569996421fa1cfc1fc0d9e683ac1def46ea985d Author: Mauro Carvalho Chehab Date: Mon Jul 13 20:15:02 2009 -0300 V4L/DVB (12239): em28xx: fix webcam scaling While trying to fix an mt9v001 webcam, I noticed that HSCALE/VSCALE do work with em28xx + webcam. The issue is that the scaling setup depends on the number of visible rows/cols of the input image. With mt9v011 (Silvercrest), the resolution is 640x480. So, the scaling is different from a normal TV image (720x480 on NTSC). This were causing a wrong scaling and a previous patch disabled scaling. As each sensor have their different resolution setting, the xres/yres should be adjusted accordingly with the input sensor. Signed-off-by: Mauro Carvalho Chehab commit b04fb6615285d18df34ffd6cdd51db7a8a78dda0 Author: Mauro Carvalho Chehab Date: Mon Jul 13 01:28:21 2009 -0300 V4L/DVB (12238): em28xx: call sensor detection code for all webcam entries With the previous approach, autodetection were working only for the two generic entries (em275x and em2820 unknown ones). So, if someone would try to force probing an specific device, the code would not properly run the autodetection code. With the new approach, the sensor autodetection will be run not only for the two generic entries, but also do webcam specific ones. Signed-off-by: Mauro Carvalho Chehab commit 9873740b2f41b37ec074afd4b8910b87dbebc0db Author: Mauro Carvalho Chehab Date: Mon Jul 13 01:03:37 2009 -0300 V4L/DVB (12237): mt9v011: implement VIDIOC_QUERYCTRL Signed-off-by: Mauro Carvalho Chehab commit 527f09a981e398331c2f8d8f7af83cd46e6a06cc Author: Mauro Carvalho Chehab Date: Sun Jul 12 11:04:15 2009 -0300 V4L/DVB (12236): em28xx: stop abusing of board->decoder for sensor information Instead of using em28xx board decoder field for storing sensor information, let's use instead a separate field for it. Also, as sensors are currently autodetected, there's no need of having it at the boards description. So, move it to the main em28xx struct. Signed-off-by: Mauro Carvalho Chehab commit 8b220793d6fd309176438721088515be893630cd Author: Mauro Carvalho Chehab Date: Sun Jul 12 10:56:21 2009 -0300 V4L/DVB (12235): em28xx: detects sensors also with the generic em2750/2750 entry Webcams in general don't have eeprom. So, the sensor hint code should be called to properly detect what sensor is inside. Signed-off-by: Mauro Carvalho Chehab commit 8a2e6990f44d4cebaafcc0af1a786912ae733bb2 Author: Mauro Carvalho Chehab Date: Sun Jul 12 10:26:36 2009 -0300 V4L/DVB (12234): em28xx-cards: use is_webcam flag for devices that are known to be webcams By having the webcam devices marked as such, it will help the em28xx driver to do the right thing on those devices. Signed-off-by: Mauro Carvalho Chehab commit c43221df762c33e832e8855cae77989b6bf69fa6 Author: Mauro Carvalho Chehab Date: Sun Jul 12 10:23:23 2009 -0300 V4L/DVB (12233): em28xx: rename is_27xx to is_webcam Just renames the flag, to use a clearer name. Later patches will use this flag to properly set some drivers behaviors for webcams. Signed-off-by: Mauro Carvalho Chehab commit 641f75caa874fffd679b64f850adee37103b0c0f Author: Erik Andrén Date: Wed Jul 8 14:47:16 2009 -0300 V4L/DVB (12224): gspca - m5602-s5k4aa: Remove erroneous register writes A couple of erroneous register writes snuck in that made the image go haywire. Remove these. Many thanks to Grégory Lardière for finding this out Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c0ea8f5b7264c813ee885f02b663ee3106f98afe Author: Erik Andrén Date: Wed Jul 1 02:56:44 2009 -0300 V4L/DVB (12223): gspca - stv06xx-hdcs: Correct the pixelformat Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ac51295ccc0ff922fea62cfc6f72cddf9c6c7306 Author: Erik Andrén Date: Wed Jun 24 04:30:56 2009 -0300 V4L/DVB (12222): gspca - stv06xx-hdcs: Fix sensor sequence bug All hdcs registers use bit 0 as a read/write flag and needs to be shifted one bit to the left. This wasn't accounted for when doing a sequence of writes. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 36a516d953e02523e78ce27fbff91a968a9e5751 Author: Erik Andrén Date: Tue Jun 23 12:22:48 2009 -0300 V4L/DVB (12221): gspca - stv06xx-hdcs: Actually update the sensor state Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d717aa1d31c36cb56059e97966cb76f0be021969 Author: Yan Zheng Date: Fri Jul 24 12:42:46 2009 -0400 Btrfs: Avoid delayed reference update looping btrfs_split_leaf and btrfs_del_items can end up in a loop where one is constantly spliting a given leaf and the other is constantly merging it back with the adjacent nodes. There is a better fix for this, but in the interest of something small, this patch just changes btrfs_del_items back to balancing less often. Signed-off-by: Chris Mason commit 0a4eefbb745ec0e8a5b694ae3f40cc34082d8f61 Author: Yan Zheng Date: Fri Jul 24 11:06:53 2009 -0400 Btrfs: Fix ordering of key field checks in btrfs_previous_item Check objectid of item before checking the item type, otherwise we may return zero for a key that is actually too low. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 1fcbac581be375ca0a686f72ee2b7fd1dbf386e7 Author: Yan Zheng Date: Fri Jul 24 11:06:53 2009 -0400 Btrfs: find_free_dev_extent doesn't handle holes at the start of the device find_free_dev_extent does not properly handle the case where the device is not complete free, and there is a free extent at the beginning of the device. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 20736abaa361bea488df6a1f66f6b37fb01107b9 Author: Diego Calleja Date: Fri Jul 24 11:06:52 2009 -0400 Btrfs: Remove code duplication in comp_keys comp_keys is duplicating what is done in btrfs_comp_cpu_keys, so just call it. Signed-off-by: Diego Calleja Signed-off-by: Chris Mason commit 8de56b7deb2534a586839eda52843c1dae680dc5 Author: Takashi Iwai Date: Fri Jul 24 16:51:47 2009 +0200 ALSA: hda - Fix mute control with some ALC262 models The master mute switch is wrongly implemented as checking the pointer instead of its value, thus it can be never muted. This patch fixes the issue. Reference: Novell bnc#404873 https://bugzilla.novell.com/show_bug.cgi?id=404873 Signed-off-by: Takashi Iwai Cc: commit 817d52f8dba26d0295c26035531c30ce5f1e3c3e Author: Josef Bacik Date: Mon Jul 13 21:29:25 2009 -0400 Btrfs: async block group caching This patch moves the caching of the block group off to a kthread in order to allow people to allocate sooner. Instead of blocking up behind the caching mutex, we instead kick of the caching kthread, and then attempt to make an allocation. If we cannot, we wait on the block groups caching waitqueue, which the caching kthread will wake the waiting threads up everytime it finds 2 meg worth of space, and then again when its finished caching. This is how I tested the speedup from this mkfs the disk mount the disk fill the disk up with fs_mark unmount the disk mount the disk time touch /mnt/foo Without my changes this took 11 seconds on my box, with these changes it now takes 1 second. Another change thats been put in place is we lock the super mirror's in the pinned extent map in order to keep us from adding that stuff as free space when caching the block group. This doesn't really change anything else as far as the pinned extent map is concerned, since for actual pinned extents we use EXTENT_DIRTY, but it does mean that when we unmount we have to go in and unlock those extents to keep from leaking memory. I've also added a check where when we are reading block groups from disk, if the amount of space used == the size of the block group, we go ahead and mark the block group as cached. This drastically reduces the amount of time it takes to cache the block groups. Using the same test as above, except doing a dd to a file and then unmounting, it used to take 33 seconds to umount, now it takes 3 seconds. This version uses the commit_root in the caching kthread, and then keeps track of how many async caching threads are running at any given time so if one of the async threads is still running as we cross transactions we can wait until its finished before handling the pinned extents. Thank you, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 963030817060e4f109be1993b9ae8f81dbf5e11a Author: Josef Bacik Date: Mon Jul 13 21:29:25 2009 -0400 Btrfs: use hybrid extents+bitmap rb tree for free space Currently btrfs has a problem where it can use a ridiculous amount of RAM simply tracking free space. As free space gets fragmented, we end up with thousands of entries on an rb-tree per block group, which usually spans 1 gig of area. Since we currently don't ever flush free space cache back to disk this gets to be a bit unweildly on large fs's with lots of fragmentation. This patch solves this problem by using PAGE_SIZE bitmaps for parts of the free space cache. Initially we calculate a threshold of extent entries we can handle, which is however many extent entries we can cram into 16k of ram. The maximum amount of RAM that should ever be used to track 1 gigabyte of diskspace will be 32k of RAM, which scales much better than we did before. Once we pass the extent threshold, we start adding bitmaps and using those instead for tracking the free space. This patch also makes it so that any free space thats less than 4 * sectorsize we go ahead and put into a bitmap. This is nice since we try and allocate out of the front of a block group, so if the front of a block group is heavily fragmented and then has a huge chunk of free space at the end, we go ahead and add the fragmented areas to bitmaps and use a normal extent entry to track the big chunk at the back of the block group. I've also taken the opportunity to revamp how we search for free space. Previously we indexed free space via an offset indexed rb tree and a bytes indexed rb tree. I've dropped the bytes indexed rb tree and use only the offset indexed rb tree. This cuts the number of tree operations we were doing previously down by half, and gives us a little bit of a better allocation pattern since we will always start from a specific offset and search forward from there, instead of searching for the size we need and try and get it as close as possible to the offset we want. I've given this a healthy amount of testing pre-new format stuff, as well as post-new format stuff. I've booted up my fedora box which is installed on btrfs with this patch and ran with it for a few days without issues. I've not seen any performance regressions in any of my tests. Since the last patch Yan Zheng fixed a problem where we could have overlapping entries, so updating their offset inline would cause problems. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 8d406c6de2e67b5bae3c43b62b492c4ff63afb92 Author: Felix Beck Date: Fri Jul 24 12:39:53 2009 +0200 [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer Every time a request is enqueued or there is some work outstanding from the ap_tasklet, the ap_poll_timer is scheduled again. Unfortunately it was permanently called. It looked as if it was started in the past and thus imediately expired. This has been changed. First it is checked if the hrtimer is already expired. Then the expiring time is forwarded and the timer restarted. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 1277580fe5dfb5aef84854bdb7983657df00b920 Author: Martin Schwidefsky Date: Fri Jul 24 12:39:52 2009 +0200 [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on The combination of noexec=on and a clock_gettime call with clock id CLOCK_THREAD_CPUTIME_ID is broken. The vdso code switches to the access register mode to get access to the per-cpu data structure to execute the magic ectg instruction. After the ectg instruction the code always switches back to the primary mode but for noexec=on the correct mode is the secondary mode. The effect of the bug is that the user space program looses the access to all mappings without PROT_EXEC, e.g. the stack. The problem is fixed by restoring the mode that has been active before the switch to the access register mode. Signed-off-by: Martin Schwidefsky commit 3a6ba4600d6fb913ddb0dd08843ad75405795883 Author: Heiko Carstens Date: Fri Jul 24 12:39:51 2009 +0200 [S390] vdso: fix per cpu area allocation vdso per cpu area allocation in smp_prepare_cpus() happens with GFP_KERNEL but irqs disabled. Triggers this one: Badness at kernel/lockdep.c:2280 Modules linked in: CPU: 0 Not tainted 2.6.30 #2 Process swapper (pid: 1, task: 000000003fe88000, ksp: 000000003fe87eb8) Krnl PSW : 0400c00180000000 0000000000083360 (lockdep_trace_alloc+0xec/0xf8) [...] Call Trace: ([<00000000000832b6>] lockdep_trace_alloc+0x42/0xf8) [<00000000000b1880>] __alloc_pages_internal+0x3e8/0x5c4 [<00000000000b1b4a>] __get_free_pages+0x3a/0xb0 [<0000000000026546>] vdso_alloc_per_cpu+0x6a/0x18c [<00000000005eff82>] smp_prepare_cpus+0x322/0x594 [<00000000005e8232>] kernel_init+0x76/0x398 [<000000000001bb1e>] kernel_thread_starter+0x6/0xc [<000000000001bb18>] kernel_thread_starter+0x0/0xc Fix this by moving the allocation out of the irqs disabled section. Reported-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c63b196afcf22405527abe4c2c57926a5bbd6fc9 Author: Heiko Carstens Date: Fri Jul 24 12:39:50 2009 +0200 [S390] hibernation: fix register corruption on machine checks swsusp_arch_suspend() actually saves all cpu register contents on hibernation. Machine checks must be disabled since swsusp_arch_suspend() stores register contents to their lowcore save areas. That's the same place where register contents on machine checks would be saved. To avoid register corruption disable machine checks. We must also disable machine checks in the new psw mask for program checks, since swsusp_arch_suspend() may generate program checks. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5f954c3426190f7ae432a09abd62164d5d14c709 Author: Heiko Carstens Date: Fri Jul 24 12:39:49 2009 +0200 [S390] hibernation: fix lowcore handling Our swsusp_arch_suspend() backend implementation disables prefixing by setting the contents of the prefix register to 0. However afterwards common code functions are called which might access percpu data structures. Since the lowcore contains e.g. the percpu base pointer this isn't a good idea. So fix this by copying the hibernating cpu's lowcore to absolute address zero. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d6c585a4342a2ff627a29f9aea77c5ed4cd76023 Author: Thomas Gleixner Date: Fri Jul 24 08:34:59 2009 +0200 x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure Timer interrupts are excluded from being disabled during suspend. The clock events code manages the disabling of clock events on its own because the timer interrupt needs to be functional before the resume code reenables the device interrupts. The mfgpt timer request its interrupt without setting the IRQF_TIMER flag so suspend_device_irqs() disables it as well which results in a fatal resume failure. Adding IRQF_TIMER to the interupt flags when requesting the mrgpt timer interrupt solves the problem. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Andres Salomon Cc: stable@kernel.org commit 5dea271b6d87bd1d79a59c1d5baac2596a841c37 Author: Mike Snitzer Date: Thu Jul 23 20:30:42 2009 +0100 dm table: pass correct dev area size to device_area_is_valid Incorrect device area lengths are being passed to device_area_is_valid(). The regression appeared in 2.6.31-rc1 through commit 754c5fc7ebb417b23601a6222a6005cc2e7f2913. With the dm-stripe target, the size of the target (ti->len) was used instead of the stripe_width (ti->len/#stripes). An example of a consequent incorrect error message is: device-mapper: table: 254:0: sdb too small for target Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit a732c207d19e899845ae47139708af898daaf9fd Author: Mike Snitzer Date: Thu Jul 23 20:30:40 2009 +0100 dm: remove queue next_ordered workaround for barriers This patch removes DM's bio-based vs request-based conditional setting of next_ordered. For bio-based DM the next_ordered check is no longer a concern (as that check is now in the __make_request path). For request-based DM the default of QUEUE_ORDERED_NONE is now appropriate. bio-based DM was changed to work-around the previously misplaced next_ordered check with this commit: 99360b4c18f7675b50d283301d46d755affe75fd request-based DM does not yet support barriers but reacted to the above bio-based DM change with this commit: 5d67aa2366ccb8257d103d0b43df855605c3c086 The above changes are no longer needed given Neil Brown's recent fix to put the next_ordered check in the __make_request path: db64f680ba4b5c56c4be59f0698000df89ff0281 Signed-off-by: Mike Snitzer Cc: Jun'ichi Nomura Cc: NeilBrown Acked-by: Kiyoshi Ueda Acked-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 69885683d22d8c05910fd808c01fdce1322739b4 Author: Mikulas Patocka Date: Thu Jul 23 20:30:37 2009 +0100 dm raid1: wake kmirrord when requeueing delayed bios after remote recovery The recent commit 7513c2a761d69d2a93f17146b3563527d3618ba0 (dm raid1: add is_remote_recovering hook for clusters) changed do_writes() to update the ms->writes list but forgot to wake up kmirrord to process it. The rule is that when anything is being added on ms->reads, ms->writes or ms->failures and the list was empty before we must call wakeup_mirrord (for immediate processing) or delayed_wake (for delayed processing). Otherwise the bios could sit on the list indefinitely. Signed-off-by: Mikulas Patocka CC: stable@kernel.org Signed-off-by: Alasdair G Kergon commit ffafa60d496f80c250f2ae0340ae94434c0b0b4d Author: Andy Gospodarek Date: Wed Jul 22 09:34:00 2009 +0000 ixgbe: remove unnecessary call to device_init_wakeup Calls to device_init_wakeup should not be necessary in drivers that use device_set_wakeup_enable since pci_pm_init will set the can_wakeup flag for the device when initialized. Signed-off-by: Andy Gospodarek Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 601278659d5717b4f7a14fbc9f2b9d559bba6aef Author: Lucy Liu Date: Wed Jul 22 14:07:33 2009 +0000 ixgbe: Don't priority tag control frames in DCB mode Certain types of control packets (LLDP, LACP, etc.) are not supposed to have a priority tag or vlan tag inserted. Ixgbe driver is currently priority tagging everything (if packet is not on a VLAN interface). This patch modifies DCB mode, so that packets marked with skb priority TC_PRIO_CONTROL are not priority tagged. It also transmits these packets on the highest priority traffic class. Programs (like dcbd) can set the skb priority using a socket option. Or, a tc filter can be configured to set the priority value. Using the value TC_PRIO_CONTROL (7) has the benefit that it is already defined in the kernel, and the bonding LACP code already sets the skb->priority field to this value. Signed-off-by: Lucy Liu Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0d5515894fd5b9e9402ef76e9a7e704fd26e0e5f Author: Yi Zou Date: Wed Jul 22 14:07:12 2009 +0000 ixgbe: Enable FCoE offload when DCB is enabled for 82599 Currently, FCoE offload feature is turned on when the kernel config has CONFIG_FCOE or CONFIG_FCOE_MODULE set. However, we really want to turn FCoE offload on when there is FCoE traffic passing and turn it off when it's just LAN traffic. Since FCoE depends on a lossless network provided by DCB, this allows us to have FCoE turned on/off when user turns on DCB using dcbtool. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0584974a77796581eb3a64b6c5005edac4a95128 Author: Jan Kara Date: Wed Jul 22 13:17:21 2009 +0200 ocfs2: Define credit counts for quota operations Numbers of needed credits for some quota operations were written as raw numbers. Create appropriate defines instead. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 4539f1df25bcd0fdf0d8a5e2c92de6bece83c7a0 Author: Jan Kara Date: Wed Jul 22 13:17:20 2009 +0200 ocfs2: Remove syncjiff field from quota info syncjiff is just a converted value of syncms. Some places which are updating syncms forgot to update syncjiff as well. Since the conversion is just a simple division / multiplication and it does not happen frequently, just remove the syncjiff field to avoid forgotten conversions. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 1c1d9793ff6720531c0125a28d321f283716e32f Author: Jan Kara Date: Wed Jul 22 13:17:19 2009 +0200 ocfs2: Fix initialization of blockcheck stats We just set blockcheck stats to zeros but we should also properly initialize the spinlock there. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 7669f54c55df225cbb2db939a6c9f111445ffc1c Author: Jan Kara Date: Wed Jul 22 13:17:18 2009 +0200 ocfs2: Zero out padding of on disk dquot structure Padding fields of on-disk dquot structure were not zeroed. Zero them so that it's easier to use them later. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 0e7f387bf386c99e8ee322649fe4fc23b9cccc6c Author: Jan Kara Date: Wed Jul 22 13:17:17 2009 +0200 ocfs2: Initialize blocks allocated to local quota file When we extend local quota file, we should initialize data in newly allocated block. Firstly because on recovery we could parse bogus data, secondly so that block checksums are properly computed. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 4b3fa1904c0d192461ebba692e4940a334b74353 Author: Jan Kara Date: Wed Jul 22 13:17:16 2009 +0200 ocfs2: Mark buffer uptodate before calling ocfs2_journal_access_dq() In a code path extending local quota files we marked new header buffer uptodate only after calling ocfs2_journal_access_dq() which triggers a bug. Fix it and also call ocfs2 variant of the function marking buffer uptodate. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit b57ac2c43e66cb4aa76c9d2d0e9e0e04f19cc5a6 Author: Jan Kara Date: Wed Jul 22 13:17:15 2009 +0200 ocfs2: Make global quota files blocksize aligned Change i_size of global quota files so that it always remains aligned to block size. This is mainly because the end of quota block may contain checksum (if checksumming is enabled) and it's a bit awkward for it to be "outside" of quota file (and it makes life harder for ocfs2-tools). Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 82e12644cf5227dab15201fbcaf0ca6330ebd70f Author: Tao Ma Date: Thu Jul 23 08:12:58 2009 +0800 ocfs2: Use ocfs2_rec_clusters in ocfs2_adjust_adjacent_records. In ocfs2_adjust_adjacent_records, we will adjust adjacent records according to the extent_list in the lower level. But actually the lower level tree will either be a leaf or a branch. If we only use ocfs2_is_empty_extent we will meet with some problem if the lower tree is a branch (tree_depth > 1). So use !ocfs2_rec_clusters instead. And actually only the leaf record can have holes. So add a BUG_ON for non-leaf branch. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit dacac4da5290ee3f3f413bd6980af2befb813e28 Author: Mark Ware Date: Thu Jul 23 10:56:48 2009 -0700 net: Rework mdio-ofgpio driver to use of_mdio infrastructure Changes to the fs_enet driver aa73832c5a80d6c52c69b18af858d88fa595dd3c ("net: Rework fs_enet driver to use of_mdio infrastructure") cause kernel crashes when using the mdio-ofgpio driver. This patch replicates similar changes made to the fs_enet mii-bitbang drivers. It has been tested on a custom mpc8280 based board using an NFS mounted root. Signed-off-by: Mark Ware Acked-by: Grant Likely Signed-off-by: David S. Miller commit bd171d5ffc5cb2ba471e8205c679ee9d12b90116 Author: Matt Fleming Date: Thu Jul 23 17:16:15 2009 +0100 ftrace: Only update $offset when we update $ref_func The value of $offset should be the offset of $ref_func from the beginning of the object file. Therefore, we should set both variables together. This fixes a bug I was hitting on sh where $offset (which is used to calcualte the addends for the __mcount_loc entries) was being set multiple times and didn't correspond to $ref_func's offset in the object file. The addends in __mcount_loc were calculated incorrectly, resulting in ftrace dynamically modifying addresses that weren't mcount call sites. Signed-off-by: Matt Fleming LKML-Reference: <1248365775-25196-2-git-send-email-matt@console-pimps.org> Signed-off-by: Steven Rostedt commit fc4c73554c9d93b3e495f2f7acae1323b0d5db84 Author: Matt Fleming Date: Thu Jul 23 17:16:14 2009 +0100 ftrace: Fix the conditional that updates $ref_func Fix the conditional that checks if we already have a $ref_func and that the new function is weak. The code as previously checking whether either condition was false, and we really need to only update $ref_func is both cconditions are false. Signed-off-by: Matt Fleming LKML-Reference: <1248365775-25196-1-git-send-email-matt@console-pimps.org> Signed-off-by: Steven Rostedt commit 4a19fb11a90fdbbcb3bc02effa036230d035ca28 Author: Stefan Bader Date: Thu Jul 23 11:26:05 2009 +0200 jfs: Fix early release of acl in jfs_get_acl BugLink: http://bugs.launchpad.net/ubuntu/+bug/396780 Commit 073aaa1b142461d91f83da66db1184d7c1b1edea "helpers for acl caching + switch to those" introduced new helper functions for acl handling but seems to have introduced a regression for jfs as the acl is released before returning it to the caller, instead of leaving this for the caller to do. This causes the acl object to be used after freeing it, leading to kernel panics in completely different places. Thanks to Christophe Dumez for reporting and bisecting into this. Reported-by: Christophe Dumez Tested-by: Christophe Dumez Signed-off-by: Stefan Bader Acked-by: Andy Whitcroft Signed-off-by: Dave Kleikamp commit b30c4947735f9d76da3d194923efd38ed18ad651 Author: Daniel Mack Date: Wed Jul 22 14:13:35 2009 +0200 ALSA: snd_usb_caiaq: add support for Audio2DJ This adds support for Native Instrument's freshly announced Audio2DJ sound device hardware. Version number bumped to 1.3.19. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 947ca210f1df7656e19890832cb71fc3bdd88707 Author: Takashi Iwai Date: Thu Jul 23 16:21:08 2009 +0200 ALSA: pcm - Fix hwptr buffer-size overlap bug The fix 79452f0a28aa5a40522c487b42a5fc423647ad98 introduced another bug due to the missing offset for the overlapped hwptr. When the hwptr goes back to zero, the delta value has to be corrected with the buffer size. Otherwise this causes looping sounds. Signed-off-by: Takashi Iwai commit 8650ae32ef7045e763825dee6256dde7f331bb85 Author: Steven Rostedt Date: Wed Jul 22 23:29:30 2009 -0400 tracing: only truncate ftrace files when O_TRUNC is set The current code will truncate the ftrace files contents if O_APPEND is not set and the file is opened in write mode. This is incorrect. It should only truncate the file if O_TRUNC is set. Otherwise if one of these files is opened by a C program with fopen "r+", it will incorrectly truncate the file. Reported-by: Jiri Olsa Signed-off-by: Steven Rostedt commit 4c739ff043e5787d97c9691d62cabf7a29e75a9d Author: Steven Rostedt Date: Wed Jul 22 23:11:03 2009 -0400 tracing: show proper address for trace-printk format Since the trace_printk may use pointers to the format fields in the buffer, they are exported via debugfs/tracing/printk_formats. This is used by utilities that read the ring buffer in binary format. It helps the utilities map the address of the format in the binary buffer to what the printf format looks like. Unfortunately, the way the output code works, it exports the address of the pointer to the format address, and not the format address itself. This makes the file totally useless in trying to figure out what format string a binary address belongs to. Signed-off-by: Steven Rostedt commit 636eacee3b0c76915151db37203cc624becb6d7b Author: Li Zefan Date: Thu Jul 23 11:29:47 2009 +0800 tracing/stat: Fix seqfile memory leak Every time we cat a trace_stat file, we leak memory allocated by seq_open(). Also fix memory leak in a failure path in tracing_stat_open(). Signed-off-by: Li Zefan LKML-Reference: <4A67D92B.4060704@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 87827111a5538633b18e5c641ced673c4c2bb6ce Author: Li Zefan Date: Thu Jul 23 11:29:11 2009 +0800 function-graph: Fix seqfile memory leak Every time we cat set_graph_function, we leak memory allocated by seq_open(). Signed-off-by: Li Zefan LKML-Reference: <4A67D907.2010500@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit d8cc1ab793993c886c62abf77c93287df33ffd8b Author: Li Zefan Date: Thu Jul 23 11:28:40 2009 +0800 trace_stack: Fix seqfile memory leak Every time we cat stack_trace, we leak memory allocated by seq_open(). Signed-off-by: Li Zefan LKML-Reference: <4A67D8E8.3020500@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 89350640439e0160056de26995d52deb18202b3e Author: Takashi Iwai Date: Thu Jul 23 14:28:37 2009 +0200 ALSA: pcm - Fix warnings in debug loggings Add proper cast. Signed-off-by: Takashi Iwai commit 3174c88af4b6b2e81cacfaa2bb90cc7abe36f1cc Author: Hartley Sweeten Date: Mon Jul 20 18:12:23 2009 +0100 [ARM] 5611/1: ep93xx: update ts72xx nor flash support Update the NOR flash support for TS-7200. The TS-7200 models all have 16-bit NOR flash. Update the platform init to support this. Remove the private TS72XX_NOR_* defines and use the common ep93xx defines for the external chip select physical base address instead. Move the NOR flash registration into a static __init function. When the NAND flash support is updated this function will also be used to register the NAND flash for the TS-7250 and TS-7260. Tested-by: Matthieu Crapet Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit cedb8118e8cef21a2b73fd9cb70660ac19124c16 Author: Takashi Iwai Date: Thu Jul 23 11:04:13 2009 +0200 ALSA: pcm - Add logging of hwptr updates and interrupt updates Added the logging functionality to xrun_debug to record the hwptr updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt(), corresponding to 16 and 8, respectively. For example, # echo 9 > /proc/asound/card0/pcm0p/xrun_debug will record the position and other parameters at each period interrupt together with the normal XRUN debugging. Signed-off-by: Takashi Iwai commit 06c71282a90470184a78f7f0ab0f7ce0fc1f69c8 Author: Chaithrika U S Date: Wed Jul 22 07:45:04 2009 -0400 ASoC: tlv320aic3x: Enable PLL when not bypassed PLL was not being enabled when it was not bypassed. This patch enables the PLL when it is used. Additionally, it disables the PLL when it is bypassed. Without this patch, the audio on TI DM646x EVM and DM355 EVM does not work properly. The bit clocks and the frame sync signals from the codec are not correct and hence the playback/record are faster than usual for most sample rates. The reason for this was that the PLL was not enabled when it was not bypassed. Tested on DM6467 EVM, playback tested on DM355 EVM. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 808347f6a31792079e345ec865e9cfcb6e8ae6b2 Author: Nicolas Ferre Date: Wed Jul 22 20:04:45 2009 +0200 dmaengine: at_hdmac: add DMA slave transfers This patch for at_hdmac adds the slave transfers capability to the Atmel DMA controller available on some AT91 SOCs. This allow peripheral to memory and memory to peripheral transfers with hardware handshaking. Slave structure for controller specific information is passed through channel private data. This at_dma_slave structure is defined in at_hdmac.h header file and relative hardware definition are moved to this file from at_hdmac_regs.h. Doing this we allow the channel configuration from platform definition code. This work is intensively based on dw_dmac and several slave implementations. Signed-off-by: Nicolas Ferre Signed-off-by: Dan Williams commit dc78baa2b90b289590911b40b6800f77d0dc935a Author: Nicolas Ferre Date: Fri Jul 3 19:24:33 2009 +0200 dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller This AHB DMA Controller (aka HDMA or DMAC on AT91 systems) is availlable on at91sam9rl chip. It will be used on other products in the future. This first release covers only the memory-to-memory tranfer type. This is the only tranfer type supported by this chip. On other products, it will be used also for peripheral DMA transfer (slave API support to come). I used dmatest client without problem in different configurations to test it. Full documentation for this controller can be found in the SAM9RL datasheet: http://www.atmel.com/dyn/products/product_card.asp?part_id=4243 Signed-off-by: Nicolas Ferre Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit f1aef8b6e6abf32a3a269542f95a19e2cb319f6c Author: Nicolas Ferre Date: Mon Jul 6 18:19:44 2009 +0200 dmaengine: dmatest: correct thread_count while using multiple thread per channel It seems that thread_count is not properly calculated in dmatest. In fact the thread count number that is returned from dmatest_add_threads() is not correctly added to the thread_count and thus not properly printed. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Acked-by: Maciej Sosnowski Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit 0a2ff57d6fba92842272889b4bca447344cd9d36 Author: Nicolas Ferre Date: Fri Jul 3 19:26:51 2009 +0200 dmaengine: dmatest: add a maximum number of test iterations The dmatest usually waits for the killing of its kthreads to stop running tests. This patch adds a parameter that sets a maximum number of test iterations. This feature is quite interesting for debugging when you set a lot of traces in your dmaengine controller driver. Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Acked-by: Maciej Sosnowski Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit c019894efc9c9ba5939948caa78c133b1ec8ae63 Author: Joe Perches Date: Sun Jun 28 09:26:21 2009 -0700 drivers/dma: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Dan Williams commit e3d433040ee6077e33d4ad22e2f60a38b085786d Author: Joe Perches Date: Sun Jun 28 09:26:20 2009 -0700 drivers/dma/fsldma.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Dan Williams commit 1d3e216f1d303878d7204de94dee251bc2702175 Author: Mike Rapoport Date: Tue Jul 21 17:09:52 2009 +0300 [ARM] pxa/em-x270: fix compile failure when CONFIG_APM_EMULATION=n If CONFIG_APM_EMULATION=n em-x270 build fails with linker error: arch/arm/mach-pxa/built-in.o: In function `em_x270_battery_critical': em-x270.c:(.text+0x12c0): undefined reference to `apm_queue_event' arch/arm/mach-pxa/built-in.o: In function `em_x270_battery_low': em-x270.c:(.text+0x12c8): undefined reference to `apm_queue_event' make: *** [.tmp_vmlinux1] Error 1 Fix it. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 4be3bd7849165e7efa6b0b35a23d6a3598d97465 Author: Linus Torvalds Date: Wed Jul 22 19:32:59 2009 -0700 Linux 2.6.31-rc4 commit 2ded9e2747d0a390d281bb5b16ff7f640ec85f78 Author: ling.ma@intel.com Date: Thu Jul 16 17:23:09 2009 +0800 drm/i915: hdmi detection according by reading edid According to investigations from windows team ,hw team, and our test results on all 4x platofrms available (gm45, g45b, q45, g45a, g45c, g41a, and g41), we find currently Hot plug live status and Hot plug interrupt detection are not reliable, sometime the results from the two approaches are contradicts. So we chose edid detection for hdmi output. Signed-off-by: Ma Ling Reviewed-by: Ian Romanick Signed-off-by: Eric Anholt commit b600ffaebcc4791add19e04306f0478a963abe71 Merge: 81cbf6d 61f3826 Author: Linus Torvalds Date: Wed Jul 22 16:44:33 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Fix UP compile failure caused by irq_thread_check_affinity commit 81cbf6d0555d77b2a4235c03f24167e2d792ccf5 Merge: 3c33010 023d43c Author: Linus Torvalds Date: Wed Jul 22 16:44:18 2009 -0700 Merge branch 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep * 'lockdep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep: lockdep: Fix lockdep annotation for pipe_double_lock() commit f1230c97978f52268d8c66e6f88e54c3d2092a75 Author: Steve French Date: Wed Jul 22 23:13:01 2009 +0000 [CIFS] fix sparse warning Signed-off-by: Steve French commit 61f3826133dc07142935fb5712fc738e19eb5575 Author: Bruno Premont Date: Wed Jul 22 22:22:32 2009 +0200 genirq: Fix UP compile failure caused by irq_thread_check_affinity Since genirq: Delegate irq affinity setting to the irq thread (591d2fb02ea80472d846c0b8507007806bdd69cc) compilation with CONFIG_SMP=n fails with following error: /usr/src/linux-2.6/kernel/irq/manage.c: In function 'irq_thread_check_affinity': /usr/src/linux-2.6/kernel/irq/manage.c:475: error: 'struct irq_desc' has no member named 'affinity' make[4]: *** [kernel/irq/manage.o] Error 1 That commit adds a new function irq_thread_check_affinity() which uses struct irq_desc.affinity which is only available for CONFIG_SMP=y. Move that function under #ifdef CONFIG_SMP. [ tglx@brownpaperbag: compile and boot tested on UP and SMP ] Signed-off-by: Bruno Premont LKML-Reference: <20090722222232.2eb3e1c4@neptune.home> Signed-off-by: Thomas Gleixner commit 03aa3a49ad3592a9e4e1ab19c6da3e852288caf1 Author: Jeff Layton Date: Tue Jul 21 19:42:03 2009 -0400 cifs: fix sb->s_maxbytes so that it casts properly to a signed value This off-by-one bug causes sendfile() to not work properly. When a task calls sendfile() on a file on a CIFS filesystem, the syscall returns -1 and sets errno to EOVERFLOW. do_sendfile uses s_maxbytes to verify the returned offset of the file. The problem there is that this value is cast to a signed value (loff_t). When this is done on the s_maxbytes value that cifs uses, it becomes negative and the comparisons against it fail. Even though s_maxbytes is an unsigned value, it seems that it's not OK to set it in such a way that it'll end up negative when it's cast to a signed value. These casts happen in other codepaths besides sendfile too, but the VFS is a little hard to follow in this area and I can't be sure if there are other bugs that this will fix. It's not clear to me why s_maxbytes isn't just declared as loff_t in the first place, but either way we still need to fix these values to make sendfile work properly. This is also an opportunity to replace the magic bit-shift values here with the standard #defines for this. This fixes the reproducer program I have that does a sendfile and will probably also fix the situation where apache is serving from a CIFS share. Acked-by: Johannes Weiner Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ce6e7fcd43aab1f77e56aa36936dd7d2d05a1ffa Author: Jeff Layton Date: Wed Jul 22 15:08:58 2009 -0400 cifs: disable serverino if server doesn't support it A recent regression when dealing with older servers. This bug was introduced when we made serverino the default... When the server can't provide inode numbers, disable it for the mount. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 83121942b28daffc9526b14b7843d8cdbd3db641 Author: David Woodhouse Date: Wed Jul 22 16:52:13 2009 -0400 Btrfs: Fix crash on read failures at mount If the tree roots hit read errors during mount, btrfs is not properly erroring out. We need to check the uptodate bits after reading in the tree root node. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit c271b492419a18908ba19ee02b231fb305a27023 Author: Daniel Cadete Date: Wed Jul 22 16:52:13 2009 -0400 Btrfs: remove of redundant btrfs_header_level This removes the continues call's of btrfs_header_level. One call of btrfs_header_level(c) its enough. Signed-off-by Daniel Cadete Signed-off-by: Chris Mason commit 33c17ad5717c887568c1de61f15e5d58ed66d189 Author: Julia Lawall Date: Wed Jul 22 16:49:01 2009 -0400 Btrfs: adjust NULL test Move the call to BUG_ON to before the dereference of the tested value. Signed-off-by: Julia Lawall Signed-off-by: Chris Mason commit 3acada49c2794c5aac21849e2ea05790c6dd2faa Author: David Woodhouse Date: Wed Jul 22 16:49:01 2009 -0400 Btrfs: Remove broken sanity check from btrfs_rmap_block() It was never actually doing anything anyway (see the loop condition), and it would be difficult to make it work for RAID[56]. Even if it was actually working, it's checking for the wrong thing anyway. Instead of checking whether we list a block which _doesn't_ land at the relevant physical location, it should be checking that we _have_ listed all the logical blocks which refer to the required physical location on all devices. This function is only called from remove_sb_from_cache() to ensure that we reserve the logical blocks which would reside at the same physical location as the superblock copies. So listing more blocks than we need is actually OK. With RAID[56] we're going to throw away an entire stripe for each block we have to ignore, so we _are_ going to list blocks other than the ones which actually contain the superblock. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 29c5e8ce01f9dad7e24b99c21e4f836d6b0289e0 Author: Julia Lawall Date: Wed Jul 22 16:49:00 2009 -0400 Btrfs: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. Signed-off-by: Julia Lawall Signed-off-by: Chris Mason commit 023d43c7b5a23a81fe8afa9f37296f8ed4be11fb Author: Peter Zijlstra Date: Tue Jul 21 10:09:23 2009 +0200 lockdep: Fix lockdep annotation for pipe_double_lock() The presumed use of the pipe_double_lock() routine is to lock 2 locks in a deadlock free way by ordering the locks by their address. However it fails to keep the specified lock classes in order and explicitly annotates a deadlock. Rectify this. Signed-off-by: Peter Zijlstra Acked-by: Miklos Szeredi LKML-Reference: <1248163763.15751.11098.camel@twins> commit 3c3301083e3bea4d14c597106c7b20b4b85fc03d Merge: 612e900 0fdc7e6 Author: Linus Torvalds Date: Wed Jul 22 11:41:56 2009 -0700 Merge branch 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf * 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits) perf_counter tools: Give perf top inherit option perf_counter tools: Fix vmlinux symbol generation breakage perf_counter: Detect debugfs location perf_counter: Add tracepoint support to perf list, perf stat perf symbol: C++ demangling perf: avoid structure size confusion by using a fixed size perf_counter: Fix throttle/unthrottle event logging perf_counter: Improve perf stat and perf record option parsing perf_counter: PERF_SAMPLE_ID and inherited counters perf_counter: Plug more stack leaks perf: Fix stack data leak perf_counter: Remove unused variables perf_counter: Make call graph option consistent perf_counter: Add perf record option to log addresses perf_counter: Log vfork as a fork event perf_counter: Synthesize VDSO mmap event perf_counter: Make sure we dont leak kernel memory to userspace perf_counter tools: Fix index boundary check perf_counter: Fix the tracepoint channel to perfcounters perf_counter, x86: Extend perf_counter Pentium M support ... commit 78a9c9c97455d0f8d2d2098b2252eb4bf65be799 Author: Uwe Kleine-König Date: Tue Jul 21 10:11:39 2009 +0000 register at91_ether using platform_driver_probe at91ether_probe lives in .init.text, so using platform_driver_register to register it is wrong because binding a device after the init memory is discarded (e.g. via sysfs) results in an oops. As requested by David Brownell platform_driver_probe is used instead of moving the probe function to .devinit.text as proposed initially. This saves some memory, but devices registered after the driver is probed are not bound (probably there are none) and binding via sysfs isn't possible. Signed-off-by: Uwe Kleine-König Acked-by: David Brownell Acked-by: Andrew Victor Signed-off-by: David S. Miller commit 7b55a4a3f761db7daba1ac526ef60f64f5c53689 Author: Rafael J. Wysocki Date: Wed Jul 22 02:58:55 2009 +0000 skge: Enable WoL by default if supported If skge hardware is capable of waking up the system from sleep, enable magic packet WoL during driver initialisation. This makes WoL work without calling 'ethtool -s ethX wol g' for each adapter. Signed-off-by: Rafael J. Wysocki Tested-by: Michael Guntsche Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit d14a7679ae9b7d4eb4b92e81f5039b719fd98c4d Merge: de72e5d 1548399 Author: David S. Miller Date: Wed Jul 22 11:18:40 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 612e900c286a9535cc17da5171b0d8dcf8f3a12f Merge: c57c374 9ba5f00 Author: Linus Torvalds Date: Wed Jul 22 10:12:18 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softirq: introduce tasklet_hrtimer infrastructure commit c57c3743784e08d8ceaaea928a8c84ad8b403aed Merge: 5b26776 79ef2bb Author: Linus Torvalds Date: Wed Jul 22 10:11:47 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: Prevent NULL pointer dereference timer: Avoid reading uninitialized data commit 5b26776bd9253931097a85dcb1b9da1bac554c02 Merge: 356d1b5 591d2fb Author: Linus Torvalds Date: Wed Jul 22 10:11:24 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Delegate irq affinity setting to the irq thread commit 356d1b52eb2445d94c6781f15346f00f4a675fda Merge: bb184d1 6301cb9 Author: Linus Torvalds Date: Wed Jul 22 10:10:36 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix nr_uninterruptible accounting of frozen tasks really sched: fix load average accounting vs. cpu hotplug sched: Account for vruntime wrapping commit 2cb078603abb612e3bcd428fb8122c3d39e08832 Author: Jeremy Fitzhardinge Date: Wed Jul 22 09:59:35 2009 -0700 x86, amd: Don't probe for extended APIC ID if APICs are disabled If we've logically disabled apics, don't probe the PCI space for the AMD extended APIC ID. [ Impact: prevent boot crash under Xen. ] Signed-off-by: Jeremy Fitzhardinge Reported-by: Bastian Blank Signed-off-by: H. Peter Anvin commit bb184d11ffd015e67e5334e5a88bec2e00be5c20 Merge: 1f9758d 4fbfff76 Author: Linus Torvalds Date: Wed Jul 22 10:06:33 2009 -0700 Merge branch 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc * 'tj-block-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel ataflop: adjust NULL test block: fix failfast merge testing in elv_rq_merge_ok() z2ram: Small cleanup for z2ram.c commit 1f9758d4e7b3d5db638c728b54de2faa2a01f292 Merge: 49ed657 4fed598 Author: Linus Torvalds Date: Wed Jul 22 10:05:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: fs/Kconfig: move nilfs2 out commit 49ed657356121c2a8fa1f5c2ab38496b95f6fe6a Merge: 402168c 2fc2111 Author: Linus Torvalds Date: Wed Jul 22 09:50:18 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide-tape: Don't leak kernel stack information ide: fix memory leak when flush command is issued commit 402168cee1a0b791c54c54a68ae21bb26880f40b Merge: 12e8ffe a947a39 Author: Linus Torvalds Date: Wed Jul 22 09:49:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits) sky2: Avoid races in sky2_down drivers/net/mlx4: Adjust constant drivers/net: Move a dereference below a NULL test drivers/net: Move a dereference below a NULL test connector: maintainer/mail update. USB host CDC Phonet network interface driver macsonic, jazzsonic: fix oops on module unload macsonic: move probe function to .devinit.text can: switch carrier on if device was stopped while in bus-off state can: restart device even if dev_alloc_skb() fails can: sja1000: remove duplicated includes New device ID for sc92031 [1088:2031] 3c589_cs: re-initialize the multicast in the tc589_reset Fix error return for setsockopt(SO_TIMESTAMPING) netxen: fix thermal check and shutdown netxen: fix deadlock on dev close netxen: fix context deletion sequence net: Micrel KS8851 SPI network driver tcp: Use correct peer adr when copying MD5 keys tcp: Fix MD5 signature checking on IPv4 mapped sockets ... commit 12e8ffe35eaca1411afc1f3124478f8e2b65eedc Merge: 0d517fb d953126 Author: Linus Torvalds Date: Wed Jul 22 09:47:49 2009 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFSv4: Fix a problem whereby a buggy server can oops the kernel NFSv4: Fix an NFSv4 mount regression NFSv4: Fix an Oops in nfs4_free_lock_state commit de72e5de062e48a992d6cafe2291a82fe498d641 Author: Alexander Beregalov Date: Wed Jul 22 01:16:51 2009 +0000 net: KS8851 needs to depend on MII fix this build error when CONFIG_MII is not set drivers/net/ks8851.c:999: undefined reference to `generic_mii_ioctl' drivers/net/ks8851.c:1050: undefined reference to `mii_link_ok' drivers/net/ks8851.c:1056: undefined reference to `mii_nway_restart' drivers/net/ks8851.c:1044: undefined reference to `mii_ethtool_sset' drivers/net/ks8851.c:1038: undefined reference to `mii_ethtool_gset' Signed-off-by: Alexander Beregalov Acked-by: Ben Dooks commit 0d517fb1f3b297fa202c69c94af11ac60b12028e Merge: 1fd1f28 44f167d Author: Linus Torvalds Date: Wed Jul 22 09:32:12 2009 -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: ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2 ALSA: ca0106 - Fix the max capture buffer size ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs ALSA: hda - Add quirk for Gateway T6834c laptop ALSA: OSS sequencer should be initialized after snd_seq_system_client_init ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock ALSA: hda_codec: Check for invalid zero connections commit 1fd1f285369d992950a5411139a23f0f5804727a Merge: 0dc3d52 76c317d Author: Linus Torvalds Date: Wed Jul 22 09:30:07 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Move dereferences below a NULL test HID: hiddev, fix lock imbalance commit 0dc3d523e8bc4718e0be2e4a742367d6e4be77cd Author: Arjan van de Ven Date: Tue Jul 21 00:55:05 2009 -0700 perf: fix stack data leak the "reserved" field was not initialized to zero, resulting in 4 bytes of stack data leaking to userspace.... Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit fa77406aee9d33f35c7202dcd83436feb12d9fc3 Author: Ajit Khaparde Date: Wed Jul 22 09:28:55 2009 -0700 be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly. This patch fixes a bug in the non-lro path. Wrong size of received packet was being passed for updating receive statistics. This patch is against the net-2.6 git. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 3104a6ff67e484e4dc84822b4ed0396e85bb9fb9 Author: Anton Vorontsov Date: Thu Jul 16 21:31:47 2009 +0000 ucc_geth: Revive fixed link support Since commit 0b9da337dca972e7a4144e298ec3adb8f244d4a4 ("Rework ucc_geth driver to use of_mdio infrastructure") the fixed-link support is broken. This patch fixes the support by removing !ug_info->phy_node check, and adds a call to of_phy_connect_fixed_link() if a phy is not attached to the MAC. Also, remove an old fixed-link code that we don't use any longer. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 1db780f8c7d361fe1b7d29b9dc849b97955ae944 Author: Anton Vorontsov Date: Thu Jul 16 21:31:42 2009 +0000 gianfar: Revive fixed link support Since commit fe192a49118f5b1272317d60c7930ece4e13ae49 ("Rework gianfar driver to use of_mdio infrastructure") the fixed-link support is broken, the driver oopses at init_phy(): Unable to handle kernel paging request for data at address 0x000000e4 Faulting instruction address: 0xc01cf298 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c01cf298] init_phy+0x80/0xdc LR [c01cf250] init_phy+0x38/0xdc Call Trace: [cf81fe80] [c01d1cf8] gfar_enet_open+0x6c/0x19c [cf81fea0] [c024494c] dev_open+0xfc/0x134 [cf81fec0] [c0242edc] dev_change_flags+0x84/0x1ac [cf81fee0] [c0399ee0] ic_open_devs+0x168/0x2d8 [cf81ff20] [c039b2e8] ip_auto_config+0x90/0x2a4 [cf81ff60] [c0003884] do_one_initcall+0x34/0x1a8 This patch fixes the oops, and removes phy_node checks, and adds a call to of_phy_connect_fixed_link() if a phy isn't attached.. Also, remove an old fixed-link code that we don't use any longer. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit eedbc705f9a094560b8d08c58b6787a5420a76a1 Author: Anton Vorontsov Date: Thu Jul 16 21:31:36 2009 +0000 fs_enet: Revive fixed link support Since commit aa73832c5a80d6c52c69b18af858d88fa595dd3c ("Rework fs_enet driver to use of_mdio infrastructure") the fixed-link support is broken in the fs_enet driver. This patch fixes the support by removing a check for phy_node, and adding a call to of_phy_connect_fixed_link(). Also set netdev parent device via SET_NETDEV_DEV() call, this is needed so that OF MDIO core could find a node pointer for a device. Plus, fix "if (IS_ERR(phydev))" check, in case of errors, of_phy_connect() returns NULL, not ERR_PTR as phy_connect(). Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 24c30dbbcdda9aeccb23b4eecb6bb8e538742ea4 Author: Anton Vorontsov Date: Thu Jul 16 21:31:31 2009 +0000 of/mdio: Add support function for Ethernet fixed-link property Fixed-link support is broken for the ucc_eth, gianfar, and fs_enet device drivers. The "OF MDIO rework" patches removed most of the support. Instead of re-adding fixed-link stuff to the drivers, this patch adds a support function for parsing the fixed-link property and obtaining a dummy phy to match. Note: the dummy phy handling in arch/powerpc is a bit of a hack and needs to be reworked. This function is being added now to solve the regression in the Ethernet drivers, but it should be considered a temporary measure until the fixed link handling can be reworked. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 61fe087059614226978f4d7bb36da26cb2d28f9f Merge: 71c4c8b 3dc948d Author: Linus Torvalds Date: Wed Jul 22 09:26:13 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: fix bug in image sequence number handling UBI: gluebi: initialize ubi_num field commit 71c4c8b7c3bdeccef4f478c643a9ff382ec07241 Merge: 3730793 032e46c Author: Linus Torvalds Date: Wed Jul 22 09:25:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: atkbd - add force relese key quirk for Soltech TA12 Input: fix EVIOCGNAME/JSIOCGNAME regression Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525 Input: pcspkr - switch driver to dev_pm_ops Input: xpad - don't resend successfully sent outgoing requests Input: wistron_btns - recognize Maxdata Pro 7000 notebooks commit 4012ade9338c05428162e85cc9b149dcadf1ce85 Author: Takashi Iwai Date: Wed Jul 22 18:15:10 2009 +0200 ALSA: hda - Restore GPIO1 properly at resume with AD1984A The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced a regression at suspend/resume where the GPIO1 bit isn't properly restored, thus the speaker output gets muted initially after resume. The fix is simple, use the cached write for storing GPIO data. Reference: Novell bnc#522764 https://bugzilla.novell.com/show_bug.cgi?id=522764 Signed-off-by: Takashi Iwai commit 0fdc7e67dd312986e30b861adff48732bd33eb3f Author: Mike Galbraith Date: Tue Jul 21 10:30:36 2009 +0200 perf_counter tools: Give perf top inherit option Currently, perf top -p only tracks the pid provided, which isn't very useful for watching forky loads, so give it an inherit option. Signed-off-by: Mike Galbraith Cc: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: <1248165036.9795.10.camel@marge.simson.net> commit d20ff6bd6bba2e7e6681fa17565347b410c46ab3 Author: Mike Galbraith Date: Mon Jul 20 14:01:38 2009 +0200 perf_counter tools: Fix vmlinux symbol generation breakage vmlinux meets the criteria for symbol adjustment, which breaks vmlinux generated symbols. Fix this by exempting vmlinux. This is a bit fragile in that someone could change the kernel dso's name, but currently that name is also hardwired. Signed-off-by: Mike Galbraith Cc: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: <1248091298.18702.18.camel@marge.simson.net> commit 5beeded123c5befa21f1c6e16219f2a3eb7dd197 Author: Jason Baron Date: Tue Jul 21 14:16:29 2009 -0400 perf_counter: Detect debugfs location If "/sys/kernel/debug" is not a debugfs mount point, search for the debugfs filesystem in /proc/mounts, but also allows the user to specify '--debugfs-dir=blah' or set the environment variable: 'PERF_DEBUGFS_DIR' Signed-off-by: Jason Baron [ also made it probe "/debug" by default ] Signed-off-by: Peter Zijlstra LKML-Reference: <20090721181629.GA3094@redhat.com> commit f6bdafef2ab911f03321fa83d8da1df99878009e Author: Jason Baron Date: Tue Jul 21 12:20:22 2009 -0400 perf_counter: Add tracepoint support to perf list, perf stat Add support to 'perf list' and 'perf stat' for kernel tracepoints. The implementation creates a 'for_each_subsystem' and 'for_each_event' for easy iteration over the tracepoints. Signed-off-by: Jason Baron Signed-off-by: Peter Zijlstra LKML-Reference: <426129bf9fcc8ee63bb094cf736e7316a7dcd77a.1248190728.git.jbaron@redhat.com> commit 28ac909b49a155856c957d080f8a796b3c1d1f3e Author: Arnaldo Carvalho de Melo Date: Mon Jul 20 14:14:12 2009 -0300 perf symbol: C++ demangling [acme@doppio ~]$ perf report -s comm,dso,symbol -C firefox -d /usr/lib64/xulrunner-1.9.1/libxul.so | grep :: | head 2.21% [.] nsDeque::Push(void*) 1.78% [.] GraphWalker::DoWalk(nsDeque&) 1.30% [.] GCGraphBuilder::AddNode(void*, nsCycleCollectionParticipant*) 1.27% [.] XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) 1.18% [.] imgContainer::DrawFrameTo(gfxIImageFrame*, gfxIImageFrame*, nsRect&) 1.13% [.] nsDeque::PopFront() 1.11% [.] nsGlobalWindow::RunTimeout(nsTimeout*) 0.97% [.] nsXPConnect::Traverse(void*, nsCycleCollectionTraversalCallback&) 0.95% [.] nsJSEventListener::cycleCollection::Traverse(void*, nsCycleCollectionTraversalCallback&) 0.95% [.] nsCOMPtr_base::~nsCOMPtr_base() [acme@doppio ~]$ Cc: Pekka Enberg Cc: Vegard Nossum Cc: Paul Mackerras Cc: Frédéric Weisbecker Suggested-by: Clark Williams Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Peter Zijlstra LKML-Reference: <20090720171412.GB10410@ghostprotocols.net> commit dfe5a50461db90fab901cb697eff0d3d2e9fd229 Author: Arjan van de Ven Date: Mon Jul 20 22:54:26 2009 -0700 perf: avoid structure size confusion by using a fixed size for some reason, this structure gets compiled as 36 bytes in some files (the ones that alloacte it) but 40 bytes in others (the ones that use it). The cause is an off_t type that gets a different size in different compilation units for some yet-to-be-explained reason. But the effect is disasterous; the size/offset members of the struct are at different offsets, and result in mostly complete garbage. The parser in perf is so robust that this all gets hidden, and after skipping an certain amount of samples, it recovers.... so this bug is not normally noticed. .... except when you want every sample to be exact. Fix this by just using an explicitly sized type. Signed-off-by: Arjan van de Ven Signed-off-by: Peter Zijlstra LKML-Reference: <4A655917.9080504@linux.intel.com> commit 966ee4d6b887c14159043ac80b8c3661d2bbe5e2 Author: Anton Blanchard Date: Wed Jul 22 23:05:46 2009 +1000 perf_counter: Fix throttle/unthrottle event logging Right now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE). Fix this to print both a throttle and unthrottle event. Signed-off-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <20090722130546.GE9029@kryten> commit a0541234f89c93f313961ce7b28676e11488a5f0 Author: Anton Blanchard Date: Wed Jul 22 23:04:12 2009 +1000 perf_counter: Improve perf stat and perf record option parsing perf stat and perf record currently look for all options on the command line. This can lead to some confusion: # perf stat ls -l Error: unknown switch `l' While we can work around this by adding '--' before the command, the git option parsing code can stop at the first non option: # perf stat ls -l Performance counter stats for 'ls -l': .... Signed-off-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <20090722130412.GD9029@kryten> commit 7f453c24b95a085fc7bd35d53b33abc4dc5a048b Author: Peter Zijlstra Date: Tue Jul 21 13:19:40 2009 +0200 perf_counter: PERF_SAMPLE_ID and inherited counters Anton noted that for inherited counters the counter-id as provided by PERF_SAMPLE_ID isn't mappable to the id found through PERF_RECORD_ID because each inherited counter gets its own id. His suggestion was to always return the parent counter id, since that is the primary counter id as exposed. However, these inherited counters have a unique identifier so that events like PERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which counter gets modified, which is important when trying to normalize the sample streams. This patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD, which is more useful anyway, since changing periods became a lot more common than initially thought -- rendering PERF_EVENT_PERIOD the less useful solution (also, PERF_SAMPLE_PERIOD reports the more accurate value, since it reports the value used to trigger the overflow, whereas PERF_EVENT_PERIOD simply reports the requested period changed, which might only take effect on the next cycle). This still leaves us PERF_EVENT_THROTTLE to consider, but since that _should_ be a rare occurrence, and linking it to a primary id is the most useful bit to diagnose the problem, we introduce a PERF_SAMPLE_STREAM_ID, for those few cases where the full reconstruction is important. [Does change the ABI a little, but I see no other way out] Suggested-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <1248095846.15751.8781.camel@twins> commit 573402db02746179b3f95f83a11a787501f52d0a Author: Peter Zijlstra Date: Wed Jul 22 11:13:50 2009 +0200 perf_counter: Plug more stack leaks Per example of Arjan's patch, I went through and found a few more. Signed-off-by: Peter Zijlstra commit c9f73a3dd27e03411f18a58c0814d51392d2b17a Author: Arjan van de Ven Date: Tue Jul 21 00:55:05 2009 -0700 perf: Fix stack data leak the "reserved" field was not initialized to zero, resulting in 4 bytes of stack data leaking to userspace.... Signed-off-by: Arjan van de Ven Signed-off-by: Peter Zijlstra commit 9b7019ae6a542a801a80df6694c66e240e2c3e39 Author: Peter Zijlstra Date: Wed Jul 22 16:31:36 2009 +0200 perf_counter: Remove unused variables Fix a gcc unused variables warning. Signed-off-by: Peter Zijlstra commit 1d2f37945d1b3a14086c5ea802486778b635cf97 Merge: 1483b19 f1c6a58 Author: Peter Zijlstra Date: Wed Jul 22 18:05:48 2009 +0200 Merge commit 'tip/perfcounters/core' into perf-counters-for-linus commit 3730793d457fed79a6d49bae72996d458c8e4f2d Author: Linus Torvalds Date: Wed Jul 22 08:49:22 2009 -0700 fbmon: work around compiler bug in gcc-2.4.2 There's some odd bug in gcc-4.2 where it miscompiles a simple loop whent he loop counter is of type 'unsigned char' and it should count to 128. The compiler will incorrectly decide that a trivial loop like this: unsigned char i, ... for (i = 0; i < 128; i++) { .. is endless, and will compile it to a single instruction that just branches to itself. This was triggered by the addition of '-fno-strict-overflow', and we could play games with compiler versions and go back to '-fwrapv' instead, but the trivial way to avoid it is to just make the loop induction variable be an 'int' instead. Thanks to Krzysztof Oledzki for reporting and testing and to Troy Moure for digging through assembler differences and finding it. Reported-and-tested-by: Krzysztof Oledzki Found-by: Troy Moure Gcc-bug-acked-by: Ian Lance Taylor Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 68110661e86868cd107955ec7c077e1f34519f78 Author: Takashi Iwai Date: Wed Jul 22 17:05:15 2009 +0200 ALSA: ctxfi - Fix uninitialized error checks Fix a few uninitialized error checks that were introduced recently mistakenlly during the clean-up: sound/pci/ctxfi/ctamixer.c: In function ‘get_amixer_rsc’: sound/pci/ctxfi/ctamixer.c:261: warning: ‘err’ may be used uninitialized in this function sound/pci/ctxfi/ctamixer.c: In function ‘get_sum_rsc’: sound/pci/ctxfi/ctamixer.c:415: warning: ‘err’ may be used uninitialized in this function sound/pci/ctxfi/ctsrc.c: In function ‘get_srcimp_rsc’: sound/pci/ctxfi/ctsrc.c:742: warning: ‘err’ may be used uninitialized in this function Signed-off-by: Takashi Iwai commit 9ba5f005c994ad28e266a0cd14ef29354be382c9 Author: Peter Zijlstra Date: Wed Jul 22 14:18:35 2009 +0200 softirq: introduce tasklet_hrtimer infrastructure commit ca109491f (hrtimer: removing all ur callback modes) moved all hrtimer callbacks into hard interrupt context when high resolution timers are active. That breaks code which relied on the assumption that the callback happens in softirq context. Provide a generic infrastructure which combines tasklets and hrtimers together to provide an in-softirq hrtimer experience. Signed-off-by: Peter Zijlstra Cc: torvalds@linux-foundation.org Cc: kaber@trash.net Cc: David Miller LKML-Reference: <1248265724.27058.1366.camel@twins> Signed-off-by: Thomas Gleixner commit 4a8c9a62d7f7f058eed4b8a6f2c890a887778093 Author: Yan Zheng Date: Wed Jul 22 10:07:05 2009 -0400 Btrfs: make sure all dirty blocks are written at commit time Write dirty block groups may allocate new block, and so may add new delayed back ref. btrfs_run_delayed_refs may make some block groups dirty. commit_cowonly_roots does not handle the recursion properly, and some dirty blocks can be left unwritten at commit time. This patch moves btrfs_run_delayed_refs into the loop that writes dirty block groups, and makes the code not break out of the loop until there are no dirty block groups or delayed back refs. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 86de7416600e93835eeacee379aea939b6a0917a Author: Takashi Iwai Date: Wed Jul 22 16:02:46 2009 +0200 ALSA: hda - Use snprintf() to be safer Use snprint() for creating the jack name string instead of sprintf() in patch_sigmatel.c. Signed-off-by: Takashi Iwai commit 33c66f430bfa3a033e70470e4c93f967156b696d Author: Yan Zheng Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: fix locking issue in btrfs_find_next_key When walking up the tree, btrfs_find_next_key assumes the upper level tree block is properly locked. This isn't always true even path->keep_locks is 1. This is because btrfs_find_next_key may advance path->slots[] several times instead of only once. When 'path->slots[level] >= btrfs_header_nritems(path->nodes[level])' is found, we can't guarantee the original value of 'path->slots[level]' is 'btrfs_header_nritems(path->nodes[level]) - 1'. If it's not, the tree block at 'level + 1' isn't locked. This patch fixes the issue by explicitly checking the locking state, re-searching the tree if it's not locked. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit e457afec60fdbd86b963d36f4a8a9285088c6043 Author: Yan Zheng Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: fix double increment of path->slots[0] in btrfs_next_leaf if 1 is returned by btrfs_search_slot, the path already points to the first item with 'key > searching key'. So increasing path->slots[0] by one is superfluous in that case. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit bf1fb512a58d7aeb41aaa40d6d2d2d29e08e506a Author: Yan Zheng Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: properly update space information after shrinking device. Change 'goto done' to 'break' for the case of all device extents have been freed, so that the code updates space information will be execute. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 1bec1aed1e7e632b3cc43b6807c2b4dcd1572e28 Author: Yan Zheng Date: Wed Jul 22 09:59:00 2009 -0400 Btrfs: fix definition of struct btrfs_extent_inline_ref use __le64 instead of u64 in on-disk structure definition. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 2cf313ee75ddf6220b5d623b749b1bb79458307f Author: Alexey Fisher Date: Wed Jul 22 14:57:54 2009 +0200 ALSA: usb-audio - Volume control quirk for QuickCam E 3500 - E3500 report cval->max more than it actually can handel, so if you set 95% capture level it will be silently muted. - Betwen cval->min and cval-max(real) is 2940 control units, but real are only 7 with cval->res = 384. - Alsa can't handel less than 10 controls, so make it more and set cval->res = 192. Signed-off-by: Alexey Fisher Signed-off-by: Takashi Iwai commit 79452f0a28aa5a40522c487b42a5fc423647ad98 Author: Takashi Iwai Date: Wed Jul 22 12:51:51 2009 +0200 ALSA: pcm - Fix regressions with VMware VMware tends to report PCM positions and period updates at utterly wrong timing. This screws up the recent PCM core code that tries to correct the position based on the irq timing. Now, when a backward irq position is detected, skip the update instead of rebasing. (This is almost the old behavior before 2.6.30.) Signed-off-by: Takashi Iwai commit 6effa8f6fc786f00e3a23eae605e0f2e8e748faa Author: Hidehiro Kawai Date: Wed Jul 22 11:56:20 2009 +0900 x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD" CONFIG_X86_THRESHOLD used in arch/x86/kernel/irqinit.c is always undefined. Rename it to the correct name "CONFIG_X86_MCE_THRESHOLD". Signed-off-by: Hidehiro Kawai Reviewed-by: Hidetoshi Seto Cc: Andi Kleen LKML-Reference: <4A667FD4.3010509@hitachi.com> Signed-off-by: H. Peter Anvin commit a947a39d52f5b647a2fd5eca55d39e722a2fa90f Author: Mike McCormack Date: Tue Jul 21 20:57:56 2009 -0700 sky2: Avoid races in sky2_down Reset rx chain before trying to drain it. Shut interrupts off last, incase there's something to report. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2fc2111c2729462b99b6e37f39a48917054776f5 Author: Michael Buesch Date: Sun Jul 19 09:15:19 2009 +0000 ide-tape: Don't leak kernel stack information Don't leak kernel stack information through uninitialized structure members. Signed-off-by: Michael Buesch Acked-by: Borislav Petkov . Signed-off-by: David S. Miller commit bc146d23d1358af43f03793c3ad8c9f16bbcffcb Author: Maxime Bizon Date: Thu Jul 16 06:32:52 2009 +0000 ide: fix memory leak when flush command is issued I'm using ide on 2.6.30.1 with xfs filesystem. I noticed a kernel memory leak after writing lots of data, the kmalloc-96 slab cache keeps growing. It seems the struct ide_cmd kmalloced by idedisk_prepare_flush is never kfreed. Commit a09485df9cda49fbde2766c86eb18a9cae585162 ("ide: move request type specific code from ide_end_drive_cmd() to callers (v3)") and f505d49ffd25ed062e76ffd17568d3937fcd338c ("ide: fix barriers support") cause this regression, cmd->rq must now be set for ide_complete_cmd to honor the IDE_TFLAG_DYN flag. Signed-off-by: Maxime Bizon Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit d953126a28f97ec965d23c69fd5795854c048f30 Author: Trond Myklebust Date: Tue Jul 21 19:22:38 2009 -0400 NFSv4: Fix a problem whereby a buggy server can oops the kernel We just had a case in which a buggy server occasionally returns the wrong attributes during an OPEN call. While the client does catch this sort of condition in nfs4_open_done(), and causes the nfs4_atomic_open() to return -EISDIR, the logic in nfs_atomic_lookup() is broken, since it causes a fallback to an ordinary lookup instead of just returning the error. When the buggy server then returns a regular file for the fallback lookup, the VFS allows the open, and bad things start to happen, since the open file doesn't have any associated NFSv4 state. The fix is firstly to return the EISDIR/ENOTDIR errors immediately, and secondly to ensure that we are always careful when dereferencing the nfs_open_context state pointer. Signed-off-by: Trond Myklebust commit f7b1aa69be138ad9d7d3f31fa56f4c9407f56b6a Author: Jan Kara Date: Mon Jul 20 12:12:36 2009 +0200 ocfs2: Fix deadlock on umount In commit ea455f8ab68338ba69f5d3362b342c115bea8e13, we moved the dentry lock put process into ocfs2_wq. This causes problems during umount because ocfs2_wq can drop references to inodes while they are being invalidated by invalidate_inodes() causing all sorts of nasty things (invalidate_inodes() ending in an infinite loop, "Busy inodes after umount" messages etc.). We fix the problem by stopping ocfs2_wq from doing any further releasing of inode references on the superblock being unmounted, wait until it finishes the current round of releasing and finally cleaning up all the references in dentry_lock_list from ocfs2_put_super(). The issue was tracked down by Tao Ma . Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 429b2b319af3987e808c18f6b81313104caf782c Author: Andi Kleen Date: Sat Jul 18 08:56:57 2009 +0200 x86-64: Fix bad_srat() to clear all state Need to clear both nodes and nodes_add state for start/end. Signed-off-by: Andi Kleen LKML-Reference: <20090718065657.GA2898@basil.fritz.box> Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit 3c5e10683e684ef45614c9071847e48f633d9806 Author: Tao Ma Date: Tue Jul 21 15:42:05 2009 +0800 ocfs2: Add extra credits and access the modified bh in update_edge_lengths. In normal tree rotation left process, we will never touch the tree branch above subtree_index and ocfs2_extend_rotate_transaction doesn't reserve the credits for them either. But when we want to delete the rightmost extent block, we have to update the rightmost records for all the rightmost branch(See ocfs2_update_edge_lengths), so we have to allocate extra credits for them. What's more, we have to access them also. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit fccba8045537f7e840d0e7565e1989d465e488a3 Author: Trond Myklebust Date: Tue Jul 21 16:48:07 2009 -0400 NFSv4: Fix an NFSv4 mount regression Commit 008f55d0e019943323c20a03493a2ba5672a4cc8 (nfs41: recover lease in _nfs4_lookup_root) forces the state manager to always run on mount. This is a bug in the case of NFSv4.0, which doesn't require us to send a setclientid until we want to grab file state. In any case, this is completely the wrong place to be doing state management. Moving that code into nfs4_init_session... Signed-off-by: Trond Myklebust commit b64aec8d1e1d8482a7b6cca60c8105c756bf1fe4 Author: Trond Myklebust Date: Tue Jul 21 16:47:46 2009 -0400 NFSv4: Fix an Oops in nfs4_free_lock_state The oops http://www.kerneloops.org/raw.php?rawid=537858&msgid= appears to be due to the nfs4_lock_state->ls_state field being uninitialised. This happens if the call to nfs4_free_lock_state() is triggered at the end of nfs4_get_lock_state(). The fix is to move the initialisation of ls_state into the allocator. Signed-off-by: Trond Myklebust commit 86669530d966ca21f4245b9990e7ae188d433d1e Author: Julia Lawall Date: Sun Jul 19 06:09:25 2009 +0000 drivers/net/mlx4: Adjust constant The values in the advertising field are typically ADVERTISED_xxx, not SUPPORTED_xxx. Both SUPPORTED_10000baseT_Full and ADVERTISED_1000baseT_Full have the same value. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct ethtool_cmd E; @@ *E.advertising = SUPPORTED_10000baseT_Full // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 0376d5b25ef11e9b6450ebae20781a32d8985170 Author: Julia Lawall Date: Sun Jul 19 05:26:35 2009 +0000 drivers/net: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E,E1; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E=E1 when != i if (E == NULL||...) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 0021195c40326ac4702faf28c32accd91b331641 Author: Julia Lawall Date: Sun Jul 19 06:13:04 2009 +0000 drivers/net: Move a dereference below a NULL test If the NULL test is necessary, then the dereferences should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E,E1; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E=E1 when != i BUG_ON (E == NULL||...); + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 154839962a582b8eb661cde94ef3af0e03b374d7 Author: Marek Vasut Date: Thu Jul 16 19:19:53 2009 +0200 libertas: Fix problem with broken V4 firmware on CF8381 Firmware V4 on CF8381 reports region code shifted by 1 byte to left. The following patch checks for this and handles it properly. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit 5d2214ac5e7f72c9ae70b2444649e8d1d3e1086d Author: Luis R. Rodriguez Date: Mon Jul 20 08:32:47 2009 -0700 ath: add support for special 0x8000 regulatory domain Two users of ar9170 devices have now reported their cards have been programmed with a regulatory domain of 0x8000. This is not a valid regulatory domain as such these users were unable to use these devices. Since this doesn't seem to be a device EEPROM corruption we must treat it specially. It may have been possible the manufacturer intended to use 0x0 as the regulatory domain and that would ultimately yield to US but since we cannot get confirmationf or this we default this special case to one of our world regulatory domains, specifically 0x64. Reported-by: DavidFreeman on #linux-wireless Reported-by: Joerg Albert Cc: Christian Lamparter , Cc: Stephen Chen Cc: David Quan Cc: Tony Yang Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bfa99bfdda1ce8a60f1f0fba7a04162a66d4ecfa Author: Dan Carpenter Date: Sun Jul 19 21:26:13 2009 +0200 p54spi: fix potential null deref in p54spi.c Fix a potential NULL dereference bug during error handling in p54spi_probe. This bug was discovered by smatch: (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ed5c8ef3bb2de277b7885072e0e981c41a022be5 Author: Alan Jenkins Date: Sun Jul 19 09:48:28 2009 +0100 acer-wmi: fix rfkill conversion Fix another polarity error introduced by the rfkill rewrite, this time in acer_rfkill_set(). Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit acb9c1b2f406d25c381de2b429f65706cc04d3b5 Author: Evgeniy Polyakov Date: Tue Jul 21 12:43:51 2009 -0700 connector: maintainer/mail update. Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 87cf65601e1709e57f7e28f0f7b3eb0a992c1782 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:58:35 2009 +0000 USB host CDC Phonet network interface driver Many Nokia handsets support a Phonet interface to the cellular modem via a vendor-specific USB interface. CDC Phonet follows the Communications Device Class model, with one control interface, and and a pair of inactive and active data alternative interface. The later has two bulk endpoint, one per direction. This was tested against Nokia E61, Nokia N95, and the existing Phonet gadget function for the Linux composite USB gadget framework. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f44aebcc566d1d6275f7191867b9633dc11de2ee Author: Eric Paris Date: Wed Jul 15 15:49:52 2009 -0400 inotify: use GFP_NOFS under potential memory pressure inotify can have a watchs removed under filesystem reclaim. ================================= [ INFO: inconsistent lock state ] 2.6.31-rc2 #16 --------------------------------- inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage. khubd/217 [HC0[0]:SC0[0]:HE1:SE1] takes: (iprune_mutex){+.+.?.}, at: [] invalidate_inodes+0x20/0xe3 {IN-RECLAIM_FS-W} state was registered at: [] __lock_acquire+0x2c9/0xac4 [] lock_acquire+0x9f/0xc2 [] __mutex_lock_common+0x2d/0x323 [] mutex_lock_nested+0x2e/0x36 [] shrink_icache_memory+0x38/0x1b2 [] shrink_slab+0xe2/0x13c [] kswapd+0x3d1/0x55d [] kthread+0x66/0x6b [] kernel_thread_helper+0x7/0x10 [] 0xffffffff Two things are needed to fix this. First we need a method to tell fsnotify_create_event() to use GFP_NOFS and second we need to stop using one global IN_IGNORED event and allocate them one at a time. This solves current issues with multiple IN_IGNORED on a queue having tail drop problems and simplifies the allocations since we don't have to worry about two tasks opperating on the IGNORED event concurrently. Signed-off-by: Eric Paris commit c05594b62125c528d93af3a78229793aae36df7f Author: Eric Paris Date: Mon Jul 13 15:56:55 2009 -0400 fsnotify: fix inotify tail drop check with path entries fsnotify drops new events when they are the same as the tail event on the queue to be sent to userspace. The problem is that if the event comes with a path we forget to break out of the switch statement and fall into the code path which matches on events that do not have any type of file backed information (things like IN_UNMOUNT and IN_Q_OVERFLOW). The problem is that this code thinks all such events should be dropped. Fix is to add a break. Signed-off-by: Eric Paris commit 4a148ba988988b9c400ad0f2cbccc155289b954b Author: Eric Paris Date: Mon Jul 13 15:56:55 2009 -0400 inotify: check filename before dropping repeat events inotify drops events if the last event on the queue is the same as the current event. But it does 2 things wrong. First it is comparing old->inode with new->inode. But after an event if put on the queue the ->inode is no longer allowed to be used. It's possible between the last event and this new event the inode could be reused and we would falsely match the inode's memory address between two differing events. The second problem is that when a file is removed fsnotify is passed the negative dentry for the removed object rather than the postive dentry from immediately before the removal. This mean the (broken) inotify tail drop code was matching the NULL ->inode of differing events. The fix is to check the file name which is stored with events when doing the tail drop instead of wrongly checking the address of the stored ->inode. Reported-by: Scott James Remnant Signed-off-by: Eric Paris commit 520dc2a526fd681337883b6ff1ddcf7c23b1b063 Author: Eric Paris Date: Mon Jul 13 15:56:54 2009 -0400 fsnotify: use def_bool in kconfig instead of letting the user choose fsnotify doens't give the user anything. If someone chooses inotify or dnotify it should build fsnotify, if they don't select one it shouldn't be built. This patch changes fsnotify to be a def_bool=n and makes everything else select it. Also fixes the issue people complained about on lwn where gdm hung because they didn't have inotify and they didn't get the inotify build option..... Signed-off-by: Eric Paris commit 7e790dd5fc937bc8d2400c30a05e32a9e9eef276 Author: Eric Paris Date: Tue Jul 7 10:28:24 2009 -0400 inotify: fix error paths in inotify_update_watch inotify_update_watch could leave things in a horrid state on a number of error paths. We could try to remove idr entries that didn't exist, we could send an IN_IGNORED to userspace for watches that don't exist, and a bit of other stupidity. Clean these up by doing the idr addition before we put the mark on the inode since we can clean that up on error and getting off the inode's mark list is hard. Signed-off-by: Eric Paris commit 75fe2b26394c59c8e16bd7b76f4be5d048103ad1 Author: Eric Paris Date: Tue Jul 7 10:28:23 2009 -0400 inotify: do not leak inode marks in inotify_add_watch inotify_add_watch had a couple of problems. The biggest being that if inotify_add_watch was called on the same inode twice (to update or change the event mask) a refence was taken on the original inode mark by fsnotify_find_mark_entry but was not being dropped at the end of the inotify_add_watch call. Thus if inotify_rm_watch was called although the mark was removed from the inode, the refcnt wouldn't hit zero and we would leak memory. Reported-by: Catalin Marinas Signed-off-by: Eric Paris commit 5549f7cdf84c02939fd368d0842aa2f472bb6e98 Author: Eric Paris Date: Tue Jul 7 10:28:23 2009 -0400 inotify: drop user watch count when a watch is removed The inotify rewrite forgot to drop the inotify watch use cound when a watch was removed. This means that a single inotify fd can only ever register a maximum of /proc/sys/fs/max_user_watches even if some of those had been freed. Signed-off-by: Eric Paris commit 4564cba71637d3b4ea3730f5637b21a9eb3c8999 Author: Finn Thain Date: Tue Jul 21 12:21:49 2009 -0700 macsonic, jazzsonic: fix oops on module unload Set the driver data before using it. Fixes an oops when doing rmmod. Signed-off-by: Finn Thain Signed-off-by: David S. Miller commit 25177476675142d3ebd60849e0cebc46bd1eef8e Author: Uwe Kleine-König Date: Sat Jul 11 20:52:48 2009 +0000 macsonic: move probe function to .devinit.text A pointer to mac_sonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. Various other functions that are called by mac_sonic_probe need to move to .devinit.text, too. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Tested-by: Finn Thain Signed-off-by: David S. Miller commit e9084ec98bb9aa3abc6cf73181177780ce7546f8 Author: Jan Beulich Date: Thu Jul 16 09:45:11 2009 +0100 x86, mce: Fix set_trigger() accessor Fix the condition checking the result of strchr() (which previously could result in an oops), and make the function return the number of bytes actively used. [ Impact: fix oops ] Signed-off-by: Jan Beulich Cc: Andi Kleen LKML-Reference: <4A5F04B7020000780000AB59@vpn.id2.novell.com> Signed-off-by: H. Peter Anvin commit 44f167d376aa42d59d40406036e901a5cf03567f Merge: a9d90c8 34fdeb2 Author: Takashi Iwai Date: Tue Jul 21 19:03:22 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: ca0106 - Fix the max capture buffer size ALSA: OSS sequencer should be initialized after snd_seq_system_client_init ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock commit a9d90c81b536cc0567bdf22a8aaefe180a5b0f7a Merge: 3676683 b04add9 Author: Takashi Iwai Date: Tue Jul 21 19:03:20 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs ALSA: hda - Add quirk for Gateway T6834c laptop ALSA: hda_codec: Check for invalid zero connections commit 36766835ed17f0a10039272693d3c17e8f8a5142 Merge: 15c2ac0 55fe27f Author: Takashi Iwai Date: Tue Jul 21 19:03:19 2009 +0200 Merge branch 'fix/ctxfi' into for-linus * fix/ctxfi: ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2 commit 9e81eccf199d910e5ea8db377a43478e4eccd033 Author: Christian Lamparter Date: Sun Jul 19 05:05:37 2009 +0200 cfg80211: double free in __cfg80211_scan_done This patch fixes a double free corruption in __cfg80211_scan_done: ================================================ BUG kmalloc-512: Object already free ------------------------------------------------ INFO: Allocated in load_elf_binary+0x18b/0x19af age=6 INFO: Freed in load_elf_binary+0x104e/0x19af age=5 INFO: Slab 0xffffea0001bae4c0 objects=14 used=7 INFO: Object 0xffff88007e8a9918 @offset=6424 fp=0xffff88007e8a9488 Bytes b4 0xffff88007e8a9908: 00 00 00 00 00 00 00 00 5a 5a [...] Pid: 28705, comm: rmmod Tainted: P C 2.6.31-rc2-wl #1 Call Trace: [] print_trailer+0x14e/0x16e [] object_err+0x42/0x61 [] __slab_free+0x2af/0x396 [] ? wiphy_unregister+0x92/0x142 [cfg80211] [] kfree+0x13c/0x17a [] ? wiphy_unregister+0x92/0x142 [cfg80211] [] wiphy_unregister+0x92/0x142 [cfg80211] [] ieee80211_unregister_hw+0xc8/0xff [mac80211] [] p54_unregister_common+0x31/0x66 [p54common] [...] FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed The code path which leads to the *funny* double free: request = rdev->scan_req; dev = dev_get_by_index(&init_net, request->ifidx); /* * the driver was unloaded recently and * therefore dev_get_by_index will return NULL! */ if (!dev) goto out; [...] rdev->scan_req = NULL; /* not executed... */ [...] out: kfree(request); Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e56f0975360369347725c49654ecfe3792710429 Author: Alan Jenkins Date: Sat Jul 18 19:20:20 2009 +0100 rfkill: remove too-strict __must_check Some drivers don't need the return value of rfkill_set_hw_state(), so it should not be marked as __must_check. Signed-off-by: Alan Jenkins Acked-by: Johannes Berg Signed-off-by: John W. Linville commit c66284f2a421f6aebbafd56cb8b90b8e6a9cb2de Author: Luis R. Rodriguez Date: Thu Jul 16 10:17:35 2009 -0700 ath9k: Tune ANI function processing on AP mode during ANI reset For AP mode we must tune ANI specially for 2 GHz and for 5 GHz. We mask in only the flags we want to toggle on ath9k_hw_ani_control() through the ah->ani_function bitmask, this will take care of ignoring changes during ANI reset which we were disabling before. Testedy-by: Steven Luo Cc: Bennyam Malavazi Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7adfd5c71693b81e995283805b17aa4a2ee0ecd9 Author: Andy Whitcroft Date: Thu Jul 16 16:28:11 2009 +0100 rt2x00: Fix chipset detection for rt2500usb The commit below changed the semantics of rt2x00_check_rev so that it no longer checked the bottom 4 bits of the rev were non-zero. During that conversion this part of the check was not propogated to the rt2500usb initialisation. commit 358623c22c9fd837b3b1b444377037f72553dc9f Author: Ivo van Doorn Date: Tue May 5 19:46:08 2009 +0200 rt2x00: Simplify rt2x00_check_rev Without this check rt73 devices are miss recognised as rt2500 devices and two drivers are loaded. Preventing the device being used. Reinstate this check. Signed-off-by: Andy Whitcroft Signed-off-by: John W. Linville commit 6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03 Author: Niko Jokinen Date: Wed Jul 15 11:00:53 2009 +0300 nl80211: Memory leak fixed Potential memory leak via msg pointer in nl80211_get_key() function. Signed-off-by: Niko Jokinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3da7429ce92abd79b14e2275a28be144ce2c3013 Author: Larry Finger Date: Tue Jul 14 15:55:16 2009 -0500 rtl8187: Fix for kernel oops when unloading with LEDs enabled When rtl8187 is unloaded and CONFIG_RTL8187_LEDS is set, the kernel may oops when the module is unloaded as the workqueue for led_on was not being cancelled. This patch fixes the problem reported in http://marc.info/?l=linux-wireless&m=124742957615781&w=2. Reported-by: Gábor Stefanik Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 65b5a69860ed3bc4224368b804d381cd9cafa90a Author: Bob Copeland Date: Mon Jul 13 21:57:39 2009 -0400 ath5k: temporarily disable crypto for AP mode Pavel Roskin reported some issues with using AP mode without nohwcrypt=1. Most likely this is similar to the problem fixed some time ago in ath9k by 3f53dd64f192450cb331c0fecfc26ca952fb242f, "ath9k: Fix hw crypto configuration for TKIP in AP mode." That only affects TKIP but it's easiest to just disable that and WEP too until we get a proper fix in. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 35946a571099a50d2595c8866f07617d29558f53 Author: Javier Cardona Date: Mon Jul 13 17:00:10 2009 -0700 mac80211: use correct address for mesh Path Error For forwarded frames, we save the precursor address in addr1 in case it needs to be used to send a Path Error. mesh_path_discard_frame, however, was using addr2 instead of addr1 to send Path Error frames, so correct that and also make the comment regarding this more clear. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit e603d9d824ff0eda98a65708a7e82112becf2dca Author: Johannes Berg Date: Mon Jul 13 13:25:58 2009 +0200 mac80211_hwsim: fix use after free Once the "data" pointer is freed, we can't be iterating to the next item in the list any more so we need to use list_for_each_entry_safe with a temporary variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5d41635195c06fc3116ef3921fe85a9a3ea5ab20 Author: Johannes Berg Date: Mon Jul 13 13:04:30 2009 +0200 mac80211_hwsim: fix unregistration If you rmmod the module while associated, frames might be transmitted during unregistration -- which will crash if the hwsim%d interface is unregistered first, so only do that after all the virtual wiphys are gone. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 48ab3578a65c5168ecaaa3b21292b643b7bcc2d5 Author: Alan Jenkins Date: Sun Jul 12 17:03:13 2009 +0100 rfkill: fix rfkill_set_states() to set the hw state The point of this function is to set the software and hardware state at the same time. When I tried to use it, I found it was only setting the software state. Signed-off-by: Alan Jenkins Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b Author: Pavel Roskin Date: Fri Jul 10 16:42:29 2009 -0400 mac80211: fix injection in monitor mode The location of the 802.11 header is calculated incorrectly due to a wrong placement of parentheses. Found by kmemcheck. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f54c142725ad2ba33c3ee627873cb6966bf05447 Author: Johannes Berg Date: Fri Jul 10 21:41:39 2009 +0200 rfkill: allow toggling soft state in sysfs again Apparently there actually _are_ tools that try to set this in sysfs even though it wasn't supposed to be used this way without claiming first. Guess what: now that I've cleaned it all up it doesn't matter and we can simply allow setting the soft-block state in sysfs. Signed-off-by: Johannes Berg Tested-By: Darren Salt Signed-off-by: John W. Linville commit e2e414d92397c366396d13f627a98a20be92e509 Author: Johannes Berg Date: Fri Jul 10 11:38:14 2009 +0200 mac80211: disable mesh My kvm instance was complaining a lot about sleeping in atomic contexts in the mesh code, and it turns out that both mesh_path_add() and mpp_path_add() need to be able to sleep (they even use synchronize_rcu()!). I put in a might_sleep() to annotate that, but I see no way, at least right now, of actually making sure those functions are only called from process context since they are both called during TX and RX and the mesh code itself even calls them with rcu_read_lock() "held". Therefore, let's disable it completely for now. It's possible that I'm only seeing this because the hwsim's beaconing is broken and thus the peers aren't discovered right away, but it is possible that this happens even if beaconing is working, for a peer that doesn't exist or so. It should be possible to solve this by deferring the freeing of the tables to call_rcu() instead of using synchronize_rcu(), and also using atomic allocations, but maybe it makes more sense to rework the code to not call these from atomic contexts and defer more of the work to the workqueue. Right now, I can't work on either of those solutions though. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7b80ece41aea0b73283c6df5a8f25d40aa13135d Author: Reinette Chatre Date: Thu Jul 9 10:33:39 2009 -0700 iwlwifi: only update byte count table during aggregation The byte count table is only used for aggregation. Updating it in other cases caused fragmented frames to be dropped. This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2004 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 872ed1902f511a8947021c562f5728a5bf0640b5 Author: Reinette Chatre Date: Thu Jul 9 10:33:37 2009 -0700 iwlwifi: only show active power level via sysfs This changes the power_level file to adhere to the "one value per file" sysfs rule. The user will know which power level was requested as it will be the number just written to this file. It is thus not necessary to create a new sysfs file for this value. In addition it fixes a problem where powertop's parsing expects this value to be the first value in this file without any descriptions. Signed-off-by: Reinette Chatre cc: stable@kernel.org Signed-off-by: John W. Linville commit 513a2396d8e8327aff1ce50bea3fb4f16ff3455b Author: Zhu Yi Date: Thu Jul 9 17:24:15 2009 +0800 iwmc3200wifi: fix NULL pointer dereference in iwm_if_free The driver private data is now based on wiphy. So we should not touch the private data after wiphy_free() is called. The patch fixes the potential NULL pointer dereference by making the iwm_wdev_free() the last one on the interface removal path. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 591d2fb02ea80472d846c0b8507007806bdd69cc Author: Thomas Gleixner Date: Tue Jul 21 11:09:39 2009 +0200 genirq: Delegate irq affinity setting to the irq thread irq_set_thread_affinity() calls set_cpus_allowed_ptr() which might sleep, but irq_set_thread_affinity() is called with desc->lock held and can be called from hard interrupt context as well. The code has another bug as it does not hold a ref on the task struct as required by set_cpus_allowed_ptr(). Just set the IRQTF_AFFINITY bit in action->thread_flags. The next time the thread runs it migrates itself. Solves all of the above problems nicely. Add kerneldoc to irq_set_thread_affinity() while at it. Signed-off-by: Thomas Gleixner LKML-Reference: commit f1015c447781729060c415f5133164c638561f25 Author: dingdinghua Date: Wed Jul 15 21:42:05 2009 +0200 jbd: fix race between write_metadata_buffer and get_write_access The function journal_write_metadata_buffer() calls jbd_unlock_bh_state(bh_in) too early; this could potentially allow another thread to call get_write_access on the buffer head, modify the data, and dirty it, and allowing the wrong data to be written into the journal. Fortunately, if we lose this race, the only time this will actually cause filesystem corruption is if there is a system crash or other unclean shutdown of the system before the next commit can take place. Signed-off-by: dingdinghua Acked-by: "Theodore Ts'o" Signed-off-by: Jan Kara commit ebe119cd0929df4878f758ebf880cb435e4dcaaf Author: H. Peter Anvin Date: Mon Jul 20 23:27:39 2009 -0700 x86: Fix movq immediate operand constraints in uaccess.h The movq instruction, generated by __put_user_asm() when used for 64-bit data, takes a sign-extended immediate ("e") not a zero-extended immediate ("Z"). Signed-off-by: H. Peter Anvin Cc: Uros Bizjak Cc: stable@kernel.org commit 032e46cbf5fb1d768d7dec5631c224e22b4be46f Author: Jerone Young Date: Mon Jul 20 22:14:59 2009 -0700 Input: atkbd - add force relese key quirk for Soltech TA12 Netbooks based on the Soltech TA12 do not send a key release for volume keys causing Linux to think the key is constantly being pressed forever. Added quirk data for forced release keys. BugLink: https://bugs.launchpad.net//bugs/397499 Signed-off-by: Jerone Young Signed-off-by: Tim Gardner Signed-off-by: Dmitry Torokhov commit 155b73529583c38f30fd394d692b15a893960782 Author: Uros Bizjak Date: Sun Jul 19 18:06:35 2009 +0200 x86: Fix movq immediate operand constraints in uaccess_64.h arch/x86/include/asm/uaccess_64.h uses wrong asm operand constraint ("ir") for movq insn. Since movq sign-extends its immediate operand, "er" constraint should be used instead. Attached patch changes all uses of __put_user_asm in uaccess_64.h to use "er" when "q" insn suffix is involved. Patch was compile tested on x86_64 with defconfig. Signed-off-by: Uros Bizjak Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit 77f32dfdd97857280ae1ebac64382ff082cd7ea0 Author: Denis Turischev Date: Mon Jul 20 18:48:17 2009 +0300 x86: Add reboot fixup for SBC-fitPC2 The CompuLab SBC-fitPC2 board needs to reboot via BIOS. Signed-off-by: Denis Turischev Signed-off-by: Mike Rapoport Signed-off-by: H. Peter Anvin commit 1f4cea3790bf44137192f441ee84af256e3bf809 Author: Wengang Wang Date: Mon Jul 13 11:38:58 2009 +0800 ocfs2: Fail ocfs2_get_block() immediately when a block needs allocation ocfs2_get_block() does no allocation. Hole filling for writes should have happened farther up in the call chain. We detect this case and print an error, but we then continue with the function. We should be exiting immediately. Signed-off-by: Wengang Wang Signed-off-by: Joel Becker commit cbfa9639aea5007313b75ec43b689d5f9e0c037d Author: Wengang Wang Date: Mon Jul 13 11:38:23 2009 +0800 ocfs2: Fix error return in ocfs2_write_cluster() A typo caused ocfs2_write_cluster() to return 0 in some error cases. Fix it. Signed-off-by: Wengang Wang Signed-off-by: Joel Becker commit aea1f7964ae6cba5eb419a958956deb9016b3341 Merge: 457f82b 04e448d Author: Linus Torvalds Date: Mon Jul 20 16:49:45 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: vmlinux.lds.h: restructure BSS linker script macros kconfig: initialize the screen before using curses(3) functions kconfig: variable argument lists needs `stdarg.h' kbuild, deb-pkg: fix install scripts for posix sh commit 457f82bac659745f6d5052e4c493d92d62722c9c Merge: eb872c1 9c9ad61 Author: Linus Torvalds Date: Mon Jul 20 16:48:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: Fix incorrect parameters to v9fs_file_readn. 9p: Possible regression in p9_client_stat 9p: default 9p transport module fix commit eb872c159f15a7d1b3aa2be9ac4cd66abaac6874 Merge: ae42b9e 90a98b2 Author: Linus Torvalds Date: Mon Jul 20 16:47:30 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: free nativeFileSystem field before allocating a new one [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats commit ae42b9e1ca8969d52e51f5e461b2e89e180943dd Merge: 6cdbf73 6843f40 Author: Linus Torvalds Date: Mon Jul 20 16:46:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (21 commits) Blackfin: define HARDIRQ_BITS again for now arch/blackfin: Add kmalloc NULL tests Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions Blackfin: work around anomaly 05000189 Blackfin: drop per-cpu loops_per_jiffy tracking Blackfin: fix bugs in GPIO resume code Blackfin: bf537-stamp: fix irq decl for AD7142 Blackfin: fix handling of IPEND in interrupt context save Blackfin: drop duplicate runtime checking of anomaly 05000448 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver Blackfin: fix wrong CTS inversion Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) Blackfin: fix early_dma_memcpy() handling of busy channels Blackfin: handle BF561 Core B memory regions better when SMP=n Blackfin: fix miscompilation in lshrdi3 Blackfin: fix silent crash when no uClinux MTD filesystem exists Blackfin: restore exception banner when dumping crash info Blackfin: work around anomaly 05000281 Blackfin: update anomaly lists to match latest sheets/usage Blackfin: drop dead flash_probe call ... commit 6cdbf734493d6e8f5afc6f539b82897772809d43 Author: Nicolas Pitre Date: Sat Jul 18 20:34:37 2009 -0400 mvsdio: fix handling of partial word at the end of PIO transfer Standard data flow for MMC/SD/SDIO cards requires that the mvsdio controller be set for big endian operation. This is causing problems with buffers which length is not a multiple of 4 bytes as the last partial word doesn't get shifted all the way and stored properly in memory. Let's compensate for this. Signed-off-by: Nicolas Pitre CC: stable@kernel.org Signed-off-by: Linus Torvalds commit 0ecf24ef49d4f46ff5d6af357c3b9ec8d798160d Author: Sonic Zhang Date: Mon Jul 20 16:05:37 2009 +0100 blackfin: fix wrong CTS inversion The Blackfin serial headers were inverting the CTS value leading to wrong handling of the CTS line which broke CTS/RTS handling completely. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 23198fda7182969b619613a555f8645fdc3dc334 Author: Alan Cox Date: Mon Jul 20 16:05:27 2009 +0100 tty: fix chars_in_buffers This function does not have an error return and returning an error is instead interpreted as having a lot of pending bytes. Reported by Jeff Harris who provided a list of some of the remaining offenders. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 254702568da63ce6f5ad68e77d83b427da693654 Author: Julia Lawall Date: Mon Jul 20 16:05:07 2009 +0100 specialix.c: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // Signed-off-by: Julia Lawall Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c46a7aec556ffdbdb7357db0b05904b176cb3375 Author: Kay Sievers Date: Mon Jul 20 16:04:55 2009 +0100 vc: create vcs(a) devices for consoles The buffer for the consoles are unconditionally allocated at con_init() time, which miss the creation of the vcs(a) devices. Since 2.6.30 (commit 4995f8ef9d3aac72745e12419d7fbaa8d01b1d81, 'vcs: hook sysfs devices into object lifetime instead of "binding"' to be exact) these devices are no longer created at open() and removed on close(), but controlled by the lifetime of the buffers. Reported-by: Gerardo Exequiel Pozzi Tested-by: Gerardo Exequiel Pozzi Cc: stable@kernel.org Signed-off-by: Kay Sievers Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 44d8e4e1e9b941065eb7578669fe51eb65c73e63 Author: Subrata Modak Date: Tue Jul 14 01:19:31 2009 +0530 ocfs2: Fix compilation warning for fs/ocfs2/xattr.c gcc 4.4.1 generates the following build warning on i386: CC [M] fs/ocfs2/xattr.o fs/ocfs2/xattr.c: In function ‘ocfs2_xattr_block_get’: fs/ocfs2/xattr.c:1055: warning: ‘block_off’ may be used uninitialized in this function The following fix is based on a similar approach by David Howells few days back: http://lkml.org/lkml/2009/7/9/109, Signed-off-by: Subrata Modak, Signed-off-by: Joel Becker commit cefcb800fa9536bb6f29485c53e6c82a65b0c022 Author: Goldwyn Rodrigues Date: Sat Jul 11 10:57:27 2009 -0500 ocfs2: Initialize count in aio_write before generic_write_checks generic_write_checks() expects count to be initialized to the size of the write. Writes to files open with O_DIRECT|O_LARGEFILE write 0 bytes because count is uninitialized. Signed-off-by: Goldwyn Rodrigues Signed-off-by: Joel Becker commit 1b0d92244ff2434a98272f6d2525da32fc230f19 Author: Wolfgang Grandegger Date: Mon Jul 20 04:06:41 2009 +0000 can: switch carrier on if device was stopped while in bus-off state This patch fixes a problem when a device is stopped while in the bus-off state. Then the carrier remains off forever. Signed-off-by: Kurt Van Dijck Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit b3d0df7ca35018ebbc24fd102ed7021cf593ba74 Author: Wolfgang Grandegger Date: Mon Jul 20 04:06:40 2009 +0000 can: restart device even if dev_alloc_skb() fails If dev_alloc_skb() failed in can_restart(), the device was left behind in the bus-off state. This patch restarts the device nevertheless. Signed-off-by: Kurt Van Dijck Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit e2372902d84af3443d421a984d812ec87eeb0758 Author: Wolfgang Grandegger Date: Mon Jul 20 04:06:39 2009 +0000 can: sja1000: remove duplicated includes Remove duplicated #include('s) in drivers/net/can/sja1000/sja1000.c Signed-off-by: Huang Weiyi Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 90a98b2f3f3647fb17667768a348b2b219f2a9f7 Author: Jeff Layton Date: Mon Jul 20 13:40:52 2009 -0400 cifs: free nativeFileSystem field before allocating a new one ...otherwise, we'll leak this memory if we have to reconnect (e.g. after network failure). Signed-off-by: Jeff Layton CC: Stable Signed-off-by: Steve French commit 90cb665937a2aab16d9aa60f22908195c16dcffd Author: Cesar Eduardo Barros Date: Sun Jul 19 08:03:32 2009 +0000 New device ID for sc92031 [1088:2031] rain_maker@root-forum.org wrote: > Hello cesar, > > In a recent thread in a german linux forum, a user reported his PIC > NIC not being recognized by the kernel. > > Fortunately he provided enough information and I was able to help him > and get the device working with the sc92031 driver. > > The device ID is [1088:2031] (Vendor is called "Microcomputer Systems > (M) Son"), here is the respective thread in "ubuntuusers.de" > > http://forum.ubuntuusers.de/topic/lankarte-unter-xubuntu-wird-nicht-erkannt/ > > (Although you might not speak german, the code provided will show > you, that the device is actually working with your driver). > > It would be nice, if you include this new device ID to the > sc92031-driver. > > Regards, > > Axel Köllhofer (aka Rain_Maker) Cc: rain_maker@root-forum.org Signed-off-by: Cesar Eduardo Barros Signed-off-by: David S. Miller commit e445bb4ed677f8df0d4f8c1abc15c668bd182f28 Author: Ken Kawasaki Date: Sun Jul 19 13:08:12 2009 +0000 3c589_cs: re-initialize the multicast in the tc589_reset 3c589_cs: re-initialize the multicast in the tc589_reset, and spin_lock the set_multicast_list function. Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit f249fb783092471a4808e5fc5bda071d2724810d Author: Rémi Denis-Courmont Date: Mon Jul 20 00:47:04 2009 +0000 Fix error return for setsockopt(SO_TIMESTAMPING) I guess it should be -EINVAL rather than EINVAL. I have not checked when the bug came in. Perhaps a candidate for -stable? Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit e4135c2da11c337e3759f98727c4819ba2a849fa Author: Dhananjay Phadke Date: Fri Jul 17 15:27:08 2009 +0000 netxen: fix thermal check and shutdown Check temperature for all PCI functions, that can allow graceful shutdown of all interfaces on the overheated card. Old code was only monitoring temperature for function 0 only. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit b2af9cb06d4de1b507ec0fd779ec2ecedee1480a Author: Dhananjay Phadke Date: Fri Jul 17 15:27:07 2009 +0000 netxen: fix deadlock on dev close netxen: fix deadlock on dev close The tx ring accounting fix in commit cb2107be43d2fc5eadec58b92b ("netxen: fix tx ring accounting") introduced intermittent deadlock when inteface is going down. This was possibly combined effect of speculative tx pause, calling netif_tx_lock instead of queue lock and unclean synchronization with napi which could end up unmasking interrupt. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cf981ffb31e8f41f4899a56560f81322f94f22d1 Author: Dhananjay Phadke Date: Fri Jul 17 15:27:06 2009 +0000 netxen: fix context deletion sequence o Use D3 reset context deletion for NX2031, it cleans up more resources in the firmware. o Release rx buffers after hardware context has been reset. o Delete tx context after rx context, some firmware control commands are sent on tx context, so it should be the last to go. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3ba81f3ece3cfa4ffb06d21ac93b8cad7fbe6a73 Author: Ben Dooks Date: Thu Jul 16 05:24:08 2009 +0000 net: Micrel KS8851 SPI network driver Network driver for the SPI version of the Micrel KS8851 network chip. Signed-off-by: Ben Dooks Signed-off-by: David S. Miller commit 55fe27f7e2c9d24ce870136bd99ae67b020122d1 Author: Frank Roth Date: Mon Jul 20 17:00:14 2009 +0200 ALSA: ctxfi: Swapped SURROUND-SIDE channels on emu20k2 On Soundblaster X-FI Titanium with emu20k2 the SIDE and SURROUND channels were swapped and wrong. I double checked it with connector colors and creative soundblaster windows drivers. So I swapped them to the true order. Now "speaker-test -c6" and "speaker-test -c8" are working fine. Signed-off-by: Frank Roth Signed-off-by: Takashi Iwai commit e547bc1eccf539b7403138d8ded913ffd2b7fd0d Author: John Dykstra Date: Fri Jul 17 09:23:22 2009 +0000 tcp: Use correct peer adr when copying MD5 keys When the TCP connection handshake completes on the passive side, a variety of state must be set up in the "child" sock, including the key if MD5 authentication is being used. Fix TCP for both address families to label the key with the peer's destination address, rather than the address from the listening sock, which is usually the wildcard. Reported-by: Stephen Hemminger Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit e3afe7b75ed8f809c1473ea9b39267487c187ccb Author: John Dykstra Date: Thu Jul 16 05:04:51 2009 +0000 tcp: Fix MD5 signature checking on IPv4 mapped sockets Fix MD5 signature checking so that an IPv4 active open to an IPv6 socket can succeed. In particular, use the correct address family's signature generation function for the SYN/ACK. Reported-by: Stephen Hemminger Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit a50a97d415d839e6db9df288ff0205528e52c03e Author: Wan ZongShun Date: Thu Jul 16 02:55:05 2009 +0000 Add mac driver for w90p910 Add mac driver support for evaluation board based on w90p910. Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 34fdeb2d07102e07ecafe79dec170bd6733f2e56 Author: Takashi Iwai Date: Mon Jul 20 15:42:51 2009 +0200 ALSA: ca0106 - Fix the max capture buffer size The capture buffer size with 64kB seems broken with CA0106. At least, either the update timing or the DMA position is wrong, and this screws up pulseaudio badly. This patch restricts the max buffer size less than that to make life a bit easier. Signed-off-by: Takashi Iwai Cc: commit b04add956616b6d89ff21da749b46ad2bd58ef32 Author: Takashi Iwai Date: Mon Jul 20 08:01:36 2009 +0200 ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs The recent rewrite of the codec parser for STAC9872 caused a regression for some Sony VAIO models that don't give proper pin default configs by BIOS. Even using model=vaio doesn't work because the pin definitions are set after the pin overrides. This patch fixes the pin definitions in patch_stac9872() to be put in the right place before the pin overrides. Also the patch adds the new quirk entry for VAIO F/S to have the correct pin default configs. Signed-off-by: Takashi Iwai Cc: commit 42b95f0c6b524b5a670dd17533a3522db368f600 Author: Hao Song Date: Mon Jul 20 15:01:16 2009 +0800 ALSA: hda - Add quirk for Gateway T6834c laptop Gateway T6834c laptops need EAPD always on while the default behavior for the STAC9205 reference board is to turn it off upon every HP plug. By using the special "eapd" model, which is first introduced for Gateway T1616 laptops for this same reason, this peculiarity can be properly handled. Signed-off-by: Hao Song Cc: Signed-off-by: Takashi Iwai commit 76c317d6e5cb7f58541879006d39774596962715 Author: Julia Lawall Date: Sun Jul 19 17:26:13 2009 +0200 HID: Move dereferences below a NULL test If the NULL test is necessary, then the dereferences should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E,E1; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E=E1 when != i if (E == NULL||...) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Jiri Kosina commit f96e0808212ca284cc9398d7cd3f573786c1d890 Author: Jaswinder Singh Rajput Date: Sun Jul 19 21:58:34 2009 +0530 ALSA: OSS sequencer should be initialized after snd_seq_system_client_init When build SND_SEQUENCER in kernel then OSS sequencer(alsa_seq_oss_init) is initialized before System (snd_seq_system_client_init) which leads to memory leak : unreferenced object 0xf6b0e680 (size 256): comm "swapper", pid 1, jiffies 4294670753 backtrace: [] create_object+0x135/0x204 [] kmemleak_alloc+0x26/0x4c [] kmem_cache_alloc+0x72/0xff [] seq_create_client1+0x22/0x160 [] snd_seq_create_kernel_client+0x72/0xef [] snd_seq_oss_create_client+0x86/0x142 [] alsa_seq_oss_init+0xf6/0x155 [] do_one_initcall+0x4f/0x111 [] kernel_init+0x115/0x166 [] kernel_thread_helper+0x7/0x10 [] 0xffffffff unreferenced object 0xf688a580 (size 64): comm "swapper", pid 1, jiffies 4294670753 backtrace: [] create_object+0x135/0x204 [] kmemleak_alloc+0x26/0x4c [] kmem_cache_alloc+0x72/0xff [] snd_seq_pool_new+0x1c/0xb8 [] seq_create_client1+0x87/0x160 [] snd_seq_create_kernel_client+0x72/0xef [] snd_seq_oss_create_client+0x86/0x142 [] alsa_seq_oss_init+0xf6/0x155 [] do_one_initcall+0x4f/0x111 [] kernel_init+0x115/0x166 [] kernel_thread_helper+0x7/0x10 [] 0xffffffff unreferenced object 0xf6b0e480 (size 256): comm "swapper", pid 1, jiffies 4294670754 backtrace: [] create_object+0x135/0x204 [] kmemleak_alloc+0x26/0x4c [] kmem_cache_alloc+0x72/0xff [] snd_seq_create_port+0x51/0x21c [] snd_seq_ioctl_create_port+0x57/0x13c [] snd_seq_do_ioctl+0x4a/0x69 [] snd_seq_kernel_client_ctl+0x33/0x49 [] snd_seq_oss_create_client+0xf5/0x142 [] alsa_seq_oss_init+0xf6/0x155 [] do_one_initcall+0x4f/0x111 [] kernel_init+0x115/0x166 [] kernel_thread_helper+0x7/0x10 [] 0xffffffff The correct order should be : System (snd_seq_system_client_init) should be initialized before OSS sequencer(alsa_seq_oss_init) which is equivalent to : 1. insmod sound/core/seq/snd-seq-device.ko 2. insmod sound/core/seq/snd-seq.ko 3. insmod sound/core/seq/snd-seq-midi-event.ko 4. insmod sound/core/seq/oss/snd-seq-oss.ko Including sound/core/seq/oss/Makefile after other seq modules fixes the ordering and memory leak. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Takashi Iwai commit 79ef2bb01445400def20c7993b27fbcad27ca95f Author: Thomas Gleixner Date: Sun Jul 19 17:09:12 2009 +0200 clocksource: Prevent NULL pointer dereference Writing a zero length string to sys/.../current_clocksource will cause a NULL pointer dereference if the clock events system is in one shot (highres or nohz) mode. Pointed-out-by: Dan Carpenter LKML-Reference: Signed-off-by: Thomas Gleixner commit fcb2954b9621dfeaca92f6a11dac69cfdfaa6705 Author: Julia Lawall Date: Sat Jul 18 17:26:14 2009 +0200 ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 2e9bf247066a293ebcd4672ddd487808ab5f2d1b Author: Jaroslav Kysela Date: Sat Jul 18 11:48:19 2009 +0200 ALSA: hda_codec: Check for invalid zero connections To prevent "Too many connections" message and the error path for some HDMI codecs (which makes onboard audio unusable), check for invalid zero connections for CONNECT_LIST verb. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 4fbfff76079a5c0e1751b0ddf53160d33f7831e7 Author: Rakib Mullick Date: Fri Jul 17 20:13:22 2009 +0600 virtio_blk: mark virtio_blk with __refdata to kill spurious section mismatch The variable virtio_blk references the function virtblk_probe() (which is in .devinit section) and also references the function virtblk_remove() ( which is in .devexit section). So, virtio_blk simultaneously refers .devinit and .devexit section. To avoid this messup, we mark virtio_blk as __refdata. We were warned by the following warning: LD drivers/block/built-in.o WARNING: drivers/block/built-in.o(.data+0xc8dc): Section mismatch in reference from the variable virtio_blk to the function .devinit.text:virtblk_probe() The variable virtio_blk references the function __devinit virtblk_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: drivers/block/built-in.o(.data+0xc8e0): Section mismatch in reference from the variable virtio_blk to the function .devexit.text:virtblk_remove() The variable virtio_blk references the function __devexit virtblk_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by: Rakib Mullick Signed-off-by: Tejun Heo commit 4841158b26e28e1476eed84c7347c18f11317750 Author: Pavel Roskin Date: Sat Jul 18 16:46:02 2009 -0400 timer: Avoid reading uninitialized data timer->expires may be uninitialized, so check timer_pending() before touching timer->expires to pacify kmemcheck. Signed-off-by: Pavel Roskin LKML-Reference: <20090718204602.5191.360.stgit@mj.roinet.com> Signed-off-by: Thomas Gleixner commit a7571a5c8887b328c0e036fe8cdb60d56809c120 Merge: 78af08d 64e8be6 Author: Linus Torvalds Date: Sat Jul 18 11:59:33 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: Realview & Versatile: Fix i2c_board_info definitions [ARM] 5608/1: Updated U300 defconfig [ARM] 5606/1: Fix ep93xx watchdog driver headers [ARM] 5594/1: Correct U300 VIC init PM setting [ARM] 5595/1: ep93xx: missing header in dma-m2p.c [ARM] Kirkwood: Correct header define [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines backlight: fix pwm_bl.c to notify platform code when suspending [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() [ARM] pxa: correct I2CPWR clock for pxa3xx pxamci: correct DMA flow control ARM: add support for the EET board, based on the i.MX31 pcm037 module pcm037: add MT9T031 camera support Armadillo 500 add NAND flash device support (resend). ARM MXC: Armadillo 500 add NOR flash device support (resend). mx31: remove duplicated #include commit 64e8be6ebdb8212898781fff7722ff2b0eb76131 Author: Russell King Date: Sat Jul 18 15:51:55 2009 +0100 ARM: Realview & Versatile: Fix i2c_board_info definitions Fix i2c_board_info definitions - we were defining the 'type' field of these structures twice since the first argument of I2C_BOARD_INFO sets this field. Move the second definition into I2C_BOARD_INFO(). Signed-off-by: Russell King Acked-by: Jean Delvare Acked-by: Ben Dooks commit 6301cb95c119ebf324bb96ee226fa9ddffad80a7 Author: Thomas Gleixner Date: Fri Jul 17 14:15:47 2009 +0200 sched: fix nr_uninterruptible accounting of frozen tasks really commit e3c8ca8336 (sched: do not count frozen tasks toward load) broke the nr_uninterruptible accounting on freeze/thaw. On freeze the task is excluded from accounting with a check for (task->flags & PF_FROZEN), but that flag is cleared before the task is thawed. So while we prevent that the task with state TASK_UNINTERRUPTIBLE is accounted to nr_uninterruptible on freeze we decrement nr_uninterruptible on thaw. Use a separate flag which is handled by the freezing task itself. Set it before calling the scheduler with TASK_UNINTERRUPTIBLE state and clear it after we return from frozen state. Cc: Signed-off-by: Thomas Gleixner commit a468d389349a7560249b355cdb6d2097ea1616c9 Author: Thomas Gleixner Date: Fri Jul 17 14:15:46 2009 +0200 sched: fix load average accounting vs. cpu hotplug The new load average code clears rq->calc_load_active on CPU_ONLINE. That's wrong as the new onlined CPU might have got a scheduler tick already and accounted the delta to the stale value of the time we offlined the CPU. Clear the value when we cleanup the dead CPU instead. Also move the update of the calc_load_update time for the newly online CPU to CPU_UP_PREPARE to avoid that the CPU plays catch up with the stale update time value. Signed-off-by: Thomas Gleixner commit 8bcdbe427924a1e4b4e4cf68020e92e9f93fe011 Author: Catalin Marinas Date: Tue Jul 14 10:52:55 2009 +0100 x86: Include all of .data.* sections in _edata on 64-bit The .data.read_mostly and .data.cacheline_aligned sections aren't covered by the _sdata .. _edata range on x86-64. This affects kmemleak reporting leading to possible false positives by not scanning the whole data section. Signed-off-by: Catalin Marinas Tested-by: Alexey Fisher Acked-by: Sam Ravnborg Cc: Pekka Enberg LKML-Reference: <1247565175.28240.37.camel@pc1117.cambridge.arm.com> Signed-off-by: Ingo Molnar Cc: Sam Ravnborg commit 6aa542a694dc9ea4344a8a590d2628c33d1b9431 Author: Alexey Fisher Date: Wed Jul 15 14:16:09 2009 +0200 x86: Add quirk for Intel DG45ID board to avoid low memory corruption AMI BIOS with low memory corruption was found on Intel DG45ID board (Bug 13710). Add this board to the blacklist - in the (somewhat optimistic) hope of future boards/BIOSes from Intel not having this bug. Also see: http://bugzilla.kernel.org/show_bug.cgi?id=13736 Signed-off-by: Alexey Fisher Cc: ykzhao Cc: alan@lxorguk.ukuu.org.uk Cc: LKML-Reference: <1247660169-4503-1-git-send-email-bug-track@fisher-privat.net> Signed-off-by: Ingo Molnar commit e5d490b252423605a77c54b2e35b10ea663763df Author: Mel Gorman Date: Wed Jul 15 12:23:11 2009 +0100 profile: Suppress warning about large allocations when profile=1 is specified When profile= is used, a large buffer is allocated early at boot. This can be larger than what the page allocator can provide so it prints a warning. However, the caller is able to handle the situation so this patch suppresses the warning. Signed-off-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Cc: Linux Memory Management List Cc: Heinz Diehl Cc: David Miller Cc: Arnaldo Carvalho de Melo Cc: Mel Gorman Cc: Andrew Morton LKML-Reference: <1247656992-19846-3-git-send-email-mel@csn.ul.ie> Signed-off-by: Ingo Molnar commit 1483b19f8f5e8ad0c8816de368b099322dad4db5 Author: Anton Blanchard Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Make call graph option consistent perf record uses -g for logging call graph data but perf report uses -c to print call graph data. Be consistent and use -g everywhere for call graph data. Also update the help text to reflect the current default - fractal,0.5 Signed-off-by: Anton Blanchard Acked-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <20090716104817.803604373@samba.org> Signed-off-by: Ingo Molnar commit 4bba828dd9bb950ad1fe340ef148a5436a10f131 Author: Anton Blanchard Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Add perf record option to log addresses Add the -d or --data option to log event addresses (eg page faults). Signed-off-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <20090716104817.697698033@samba.org> Signed-off-by: Ingo Molnar commit ed900c054b541254f0ce5cedaf75206e29bd614e Author: Anton Blanchard Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Log vfork as a fork event Right now we don't output vfork events. Even though we should always see an exec after a vfork, we may get perfcounter samples between the vfork and exec. These samples can lead to some confusion when parsing perfcounter data. To keep things consistent we should always log a fork event. It will result in a little more log data, but is less confusing to trace parsing tools. Signed-off-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <20090716104817.589309391@samba.org> Signed-off-by: Ingo Molnar commit 11b5f81e1b0ea0bc84fe32f0a27054e052b2bf84 Author: Anton Blanchard Date: Thu Jul 16 15:44:29 2009 +0200 perf_counter: Synthesize VDSO mmap event perf record synthesizes mmap events for the running process. Right now it just catches file mappings, but we can check for the vdso symbol and add that too. Signed-off-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <20090716104817.517264409@samba.org> Signed-off-by: Ingo Molnar commit 413ee3b48ab582ffea33e7e140c7a2c5ea657e9a Author: Anton Blanchard Date: Thu Jul 16 15:15:52 2009 +0200 perf_counter: Make sure we dont leak kernel memory to userspace There are a few places we are leaking tiny amounts of kernel memory to userspace. This happens when writing out strings because we always align the end to 64 bits. To avoid this we should always use an appropriately sized temporary buffer and ensure it is zeroed. Since d_path assembles the string from the end of the buffer backwards, we need to add 64 bits after the buffer to allow for alignment. We also need to copy arch_vma_name to the temporary buffer, because if we use it directly we may end up copying to userspace a number of bytes after the end of the string constant. Signed-off-by: Anton Blanchard Signed-off-by: Peter Zijlstra LKML-Reference: <20090716104817.273972048@samba.org> Signed-off-by: Ingo Molnar commit 54fdc5816631b43ba55fc3206d7add2d85850bc6 Author: Fabio Checconi Date: Thu Jul 16 12:32:27 2009 +0200 sched: Account for vruntime wrapping I spotted two sites that didn't take vruntime wrap-around into account. Fix these by creating a comparison helper that does do so. Signed-off-by: Fabio Checconi Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 78af08d90b8f745044b1274430bc4bc6b2b27aca Merge: a1cc1ba ecca068 Author: Linus Torvalds Date: Fri Jul 17 21:19:50 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: Move a dereference below a NULL test fb/intelfb: conflict with DRM_I915 and hide by default drm/ttm: fix misplaced parentheses drm/via: Fix vblank IRQ on VIA hardware. drm: drm_gem, check kzalloc retval drm: drm_debugfs, check kmalloc retval drm/radeon: add some missing pci ids commit 287638b2c533165c3c03dfa15196c2ba583cd287 Merge: f6c4338 a1cc1ba Author: Steve French Date: Sat Jul 18 03:13:38 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit ecf763c5677faee04d47333e6ed8e9539a427770 Author: Marek Vasut Date: Thu Jul 16 19:37:29 2009 +0200 [ARM] pxa: add STUART MFP config for PalmTX,T5,LD Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit eb9069119d1c4bc856b4c1339abcad0105691e71 Author: Haojian Zhuang Date: Wed Jul 15 19:47:24 2009 +0800 [ARM] pxa: fix gpio issue in zylonite WARNING: at drivers/gpio/gpiolib.c:83 gpio_ensure_requested+0x58/0xbc() autorequest GPIO-71 Modules linked in: [] (unwind_backtrace+0x0/0xe8) from [] (warn_slowpath_common+0x48/0x78) [] (warn_slowpath_common+0x48/0x78) from [] (warn_slowpath_fmt+0x28/0x38) [] (warn_slowpath_fmt+0x28/0x38) from [] (gpio_ensure_requested+0x58/0xbc) [] (gpio_ensure_requested+0x58/0xbc) from [] (gpio_direction_input+0x80/0xf4) [] (gpio_direction_input+0x80/0xf4) from [] (zylonite_pxa300_init+0x108/0x214) [] (zylonite_pxa300_init+0x108/0x214) from [] (zylonite_init+0x8/0x84) [] (zylonite_init+0x8/0x84) from [] (customize_machine+0x18/0x24) [] (customize_machine+0x18/0x24) from [] (do_one_initcall+0x30/0x1b0) [] (do_one_initcall+0x30/0x1b0) from [] (kernel_init+0xa4/0x11c) [] (kernel_init+0xa4/0x11c) from [] (kernel_thread_exit+0x0/0x8) ---[ end trace 1b75b31a2719ed1c ]--- This issue is caused by using gpio pin without request. Add gpio_request() into zylonite. To simplify the code, error checking is omitted since this is being performed early. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 04e448d9a386640a79a4aa71251aa1cdd314f662 Author: Tim Abbott Date: Sun Jul 12 18:23:33 2009 -0400 vmlinux.lds.h: restructure BSS linker script macros The BSS section macros in vmlinux.lds.h currently place the .sbss input section outside the bounds of [__bss_start, __bss_end]. On all architectures except for microblaze that handle both .sbss and __bss_start/__bss_end, this is wrong: the .sbss input section is within the range [__bss_start, __bss_end]. Relatedly, the example code at the top of the file actually has __bss_start/__bss_end defined twice; I believe the right fix here is to define them in the BSS_SECTION macro but not in the BSS macro. Another problem with the current macros is that several architectures have an ALIGN(4) or some other small number just before __bss_stop in their linker scripts. The BSS_SECTION macro currently hardcodes this to 4; while it should really be an argument. It also ignores its sbss_align argument; fix that. mn10300 is the only user at present of any of the macros touched by this patch. It looks like mn10300 actually was incorrectly converted to use the new BSS() macro (the alignment of 4 prior to conversion was a __bss_stop alignment, but the argument to the BSS macro is a start alignment). So fix this as well. I'd like acks from Sam and David on this one. Also CCing Paul, since he has a patch from me which will need to be updated to use BSS_SECTION(0, PAGE_SIZE, 4) once this gets merged. Signed-off-by: Tim Abbott Cc: Paul Mundt Cc: David Howells Signed-off-by: Sam Ravnborg commit d0e1e09568507ac771072d97f0781af82c935b3e Author: Arnaud Lacombe Date: Mon Jul 6 00:07:28 2009 -0400 kconfig: initialize the screen before using curses(3) functions This is needed on non ncurses based implementation to get a properly initialized `stdscr' in main(). Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 668cdedfdb2eb00d8efe127618bead4d46d9e942 Author: Arnaud Lacombe Date: Mon Jul 6 00:07:14 2009 -0400 kconfig: variable argument lists needs `stdarg.h' Fix build on non GNU based platforms. Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 241ad11f2d2542723136ffa81cd5db61d590156c Author: maximilian attems Date: Sun Jul 5 20:17:34 2009 +0200 kbuild, deb-pkg: fix install scripts for posix sh bash versus dash and posh disagree on expanding $@ within double quotes: export x="$@" see http://bugs.debian.org/381091 for details just use the arglist with $*. dpkg: error processing linux-image-2.6.31-rc1_2.6.31-rc1-18_i386.deb (--install): subprocess pre-installation script returned error exit status 2 export: 6: 2.6.31-rc1-18: bad variable name fixes http://bugzilla.kernel.org/show_bug.cgi?id=13567 seen on Ubuntu as there dash is the default sh, versus bash on Debian. Reported-by: Pauli Cc: Frans Pop Signed-off-by: maximilian attems Acked-By: Andres Salomon commit a1cc1ba7aec1ba41317d227b1fe8d0f8c0cec232 Merge: 499ee07 18282b3 Author: Linus Torvalds Date: Fri Jul 17 11:15:00 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/fyu/linux-2.6: Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h" Add dma_debug_init() for ia64 Fix ia64 compilation IS_ERR and PTE_ERR errors. commit 499ee0710f9881423d807c6ecc451c5e1bd5ff62 Merge: 8e3b3bb 857fdc5 Author: Linus Torvalds Date: Fri Jul 17 10:51:55 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/pci: insert ioapic resource before assigning unassigned resources commit 14d87e6c399f3942d63dff41447ff08a615d9a6b Author: David S. Miller Date: Fri Jul 17 10:28:19 2009 -0700 sparc: Fix cleanup crash in bbc_envctrl_cleanup() If kthread_run() fails or never gets to run we'll have NULL or a pointer encoded error in kenvctrld_task, rather than a legitimate task pointer. So this makes bbc_envctrl_cleanup() crash as it passed this bogus pointer into kthread_stop(). Reported-by: BERTRAND Joël Signed-off-by: David S. Miller commit 673325951ef440ebace311bd542a9378d1b3025b Author: Ralf Baechle Date: Fri Jul 17 04:47:19 2009 +0000 Update Andreas Koensgen's email address The kernel has used a stale email address of Andreas for a few years. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 54a8fa62c94d74a8f2d18f99cff95953e5c623b7 Author: Ralf Baechle Date: Fri Jul 17 04:42:28 2009 +0000 MAINTAINERS entry for STRIP driver The web server does no longer exist, it's not on archive.org nor does there seem to be any mirror. MAINTAINERS | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) Signed-off-by: David S. Miller commit 8e3b3bb5e5ac064f83a8556100f10b7dfa1c719b Merge: 301d95c 15c2ac0 Author: Linus Torvalds Date: Fri Jul 17 08:53:56 2009 -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: ALSA: riptide - proper handling of pci_register_driver for joystick sound: usb-audio: add workaround for Blue Microphones devices ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free commit 301d95c4dade09388f94258ee797d2d650dc00b5 Merge: b983d0d e79f07e Author: Linus Torvalds Date: Fri Jul 17 08:53:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: virtio_net: Sync header with qemu virtio-pci: correctly unregister root device on error virtio_blk: ioctl return value fix virtio_blk: don't bounce highmem requests lguest: restrict CPUID to avoid perf counter wrmsr lguest: remove unnecessary forward struct declaration lguest: fix journey commit b983d0deb0e28f8880cdea79def575d96a27e603 Merge: ecc2e05 04aef32 Author: Linus Torvalds Date: Fri Jul 17 08:53:14 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/function: Fix the return value of ftrace_trace_onoff_callback() commit ecc2e05e739c30870c8e4f252b63a0c4041f2724 Author: Alan Cox Date: Fri Jul 17 16:17:26 2009 +0100 tty_port: Fix return on interrupted use Whoops.. fortunately not many people use this yet. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 18282b36d742347abd9a4bc74fe9fd2432a8335b Author: Aurelien Jarno Date: Fri Jul 17 06:35:05 2009 -0700 Revert "Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h" asm/fpu.h uses the __IA64_UL macro which is declared in asm/types.h, so this include is really required. Without it, GNU libc fails to build. This reverts commit 2678c07b07ac2076675e5d57653bdf02e9af1950. Signed-off-by: Aurelien Jarno Acked-by: Fenghua Yu commit 390bd132b2831a2ad0268e84bffbfc0680debfe5 Author: fujita Date: Thu Jul 9 21:25:05 2009 -0700 Add dma_debug_init() for ia64 The commit 9916219579d078c80377dd3988c2cc213536d868 was supposed to add CONFIG_DMA_API_DEBUG support to IA64 however I forgot to add dma_debug_init(). Signed-off-by: fujita Acked-by: Fenghua Yu commit 6f409461210baf76ade1bfdd9470fd5b98378b36 Author: Fenghua Yu Date: Thu Jul 9 21:23:39 2009 -0700 Fix ia64 compilation IS_ERR and PTE_ERR errors. When building ia64 kernel with CONFIG_XEN_SYS_HYPERVISOR, compiler reports errors: drivers/xen/sys-hypervisor.c: In function ‘uuid_show’: drivers/xen/sys-hypervisor.c:125: error: implicit declaration of function ‘IS_ERR’ drivers/xen/sys-hypervisor.c:126: error: implicit declaration of function ‘PTR_ERR’ This patch fixes the errors. Signed-off-by: Fenghua Yu Acked-by: Isaku Yamahata commit d740d347f856f0fd8baf2f63d8daa600ed135bfd Author: Linus Walleij Date: Thu Jul 16 22:40:26 2009 +0100 [ARM] 5608/1: Updated U300 defconfig Removed the LBD support that isn't of any use right now at least, then remove remnants of the TCM config flags that somehow crept in by mistake (not yet merged patch for 2.6.32) and then the usual defconfig noise from updated menus. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 2653d1d7f0284f3b68f25dafa208d0a013f7e9db Author: Ryan Mallon Date: Wed Jul 15 21:33:22 2009 +0100 [ARM] 5606/1: Fix ep93xx watchdog driver headers Fix a number of build errors in the ep93xx watchdog driver due to missing io.h Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit e79f07e2925b10f09a2621650c16f3d6ea778747 Author: Alex Williamson Date: Tue Jul 7 08:47:10 2009 -0600 virtio_net: Sync header with qemu Qemu added support for a few extra RX modes that Linux doesn't currently make use of. Sync the headers to maintain consistency. Signed-off-by: Alex Williamson Signed-off-by: Rusty Russell commit 4b892e6582e3a4fe01f623aea386907270d5bf83 Author: Mark McLoughlin Date: Tue Jul 7 08:26:45 2009 +0100 virtio-pci: correctly unregister root device on error If pci_register_driver() fails we're incorrectly unregistering the root device with device_unregister() rather than root_device_unregister(). Reported-by: Don Zickus Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit d9ecdea7ed7467db32ec160f4eca46c279255606 Author: Christoph Hellwig Date: Sat Jun 20 21:29:41 2009 +0200 virtio_blk: ioctl return value fix Block driver ioctl methods must return ENOTTY and not -ENOIOCTLCMD if they expect the block layer to handle generic ioctls. This triggered a BLKROSET failure in xfsqa #200. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit 4eff3cae9c9809720c636e64bc72f212258e0bd5 Author: Christoph Hellwig Date: Fri Jul 17 21:47:45 2009 -0600 virtio_blk: don't bounce highmem requests By default a block driver bounces highmem requests, but virtio-blk is perfectly fine with any request that fit into it's 64 bit addressing scheme, mapped in the kernel virtual space or not. Besides improving performance on highmem systems this also makes the reproducible oops in __bounce_end_io go away (but hiding the real cause). Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit 7a5049205f7265620c48781814155f2763e70abb Author: Rusty Russell Date: Fri Jul 17 21:47:44 2009 -0600 lguest: restrict CPUID to avoid perf counter wrmsr Avoid the following: [ 0.012093] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy+0x2f/0x40() Rather than chase each new cpuid-detected feature, just lie about the highest valid CPUID so this code is never run. Signed-off-by: Rusty Russell commit 27de22d03d6808a82bbe9bd7e3cc75d60132ba9e Author: Davide Libenzi Date: Fri Jul 17 21:47:44 2009 -0600 lguest: remove unnecessary forward struct declaration While fixing lg.h to drop the fwd declaration, I noticed there's another one ;) Signed-off-by: Rusty Russell commit 5780888bcac316508eb5f4dd23bbea8b5057647c Author: Matias Zabaljauregui Date: Thu Jun 18 11:44:06 2009 -0300 lguest: fix journey fix: "make Guest" was complaining about duplicated G:032 Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 9cb308ce8d32a1fb3600acab6034e19a90228743 Author: Xiaotian Feng Date: Fri Jul 17 15:26:26 2009 +0800 block: sysfs fix mismatched queue_var_{store,show} in 64bit kernel In blk-sysfs.c, queue_var_store uses unsigned long to store data, but queue_var_show uses unsigned int to show data. This causes, # echo 70000000000 > /sys/block//queue/read_ahead_kb # cat /sys/block//queue/read_ahead_kb => get wrong value Fix it by using unsigned long. While at it, convert queue_rq_affinity_show() such that it uses bool variable instead of explicit != 0 testing. Signed-off-by: Xiaotian Feng Signed-off-by: Tejun Heo commit 8f47428704c2fd6f787a6f340071b9c338b65803 Author: Julia Lawall Date: Mon Jul 13 22:43:41 2009 +0200 ataflop: adjust NULL test dtp is derefenced on the lines above the test !dtp, and so it cannot be NULL at this point. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E,E1; identifier f,l; position p1,p2; @@ *x@p1->f = E1; ... when != x = E when != goto l; ( *x@p2 == NULL | *x@p2 != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: Tejun Heo commit 0a09f4319c6d88c732ed46735f8584bbb95cac65 Author: Tejun Heo Date: Thu Jul 16 15:26:55 2009 +0900 block: fix failfast merge testing in elv_rq_merge_ok() Commit ab0fd1debe730ec9998678a0c53caefbd121ed10 tries to prevent merge of requests with different failfast settings. In elv_rq_merge_ok(), it compares new bio's failfast flags against the merge target request's. However, the flag testing accessors for bio and blk don't return boolean but the tested bit value directly and FAILFAST on bio and blk don't match, so directly comparing them with == results in false negative unnecessary preventing merge of readahead requests. This patch convert the results to boolean by negating them before comparison. Signed-off-by: Tejun Heo Cc: Jens Axboe Cc: Boaz Harrosh Cc: FUJITA Tomonori Cc: James Bottomley Cc: Jeff Garzik commit 04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b Author: Xiao Guangrong Date: Wed Jul 15 12:29:06 2009 +0800 tracing/function: Fix the return value of ftrace_trace_onoff_callback() ftrace_trace_onoff_callback() will return an error even if we do the right operation, for example: # echo _spin_*:traceon:10 > set_ftrace_filter -bash: echo: write error: Invalid argument # cat set_ftrace_filter #### all functions enabled #### _spin_trylock_bh:traceon:count=10 _spin_unlock_irq:traceon:count=10 _spin_unlock_bh:traceon:count=10 _spin_lock_irq:traceon:count=10 _spin_unlock:traceon:count=10 _spin_trylock:traceon:count=10 _spin_unlock_irqrestore:traceon:count=10 _spin_lock_irqsave:traceon:count=10 _spin_lock_bh:traceon:count=10 _spin_lock:traceon:count=10 We want to set _spin_*:traceon:10 to set_ftrace_filter, it complains with "Invalid argument", but the operation is successful. This is because ftrace_process_regex() returns the number of functions that matched the pattern. If the number is not 0, this value is returned by ftrace_regex_write() whereas we want to return the number of bytes virtually written. Also the file offset pointer is not updated in this case. If the number of matched functions is lower than the number of bytes written by the user, this results to a reprocessing of the string given by the user with a lower size, leading to a malformed ftrace regex and then a -EINVAL returned. So, this patch fixes it by returning 0 if no error occured. The fix also applies on 2.6.30 Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Cc: stable@kernel.org Signed-off-by: Frederic Weisbecker commit 7fefe6a88494b00b151b5ca7bb84daaa781bbca7 Author: Vincent CUISSARD Date: Thu Jul 16 06:08:58 2009 +0000 cdc-eem: bad crc checking When the driver received an EEM packet with CRC option enabled, driver must compute and check the CRC of the Ethernet data. Previous version computes CRC on Ethernet data plus the original CRC value. Skbuff is correctly trimed but the old length is used when CRC is computed. Signed-off-by: Vincent CUISSARD Signed-off-by: David S. Miller commit 869f1c54e9aecde1dfd4349832ce9415a596be8e Author: Lucy Liu Date: Thu Jul 16 13:43:31 2009 +0000 ixgbe: Remove DPRINTK messages in DCB mode Remove debug DPRINTK in DCB mode netlink interface. Signed-off-by: Lucy Liu Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 86e713a06ab3e5b15a3189485ce33aa21b9e52ca Author: Lucy Liu Date: Thu Jul 16 13:43:10 2009 +0000 ixgbe: clear mac address data block in DCB mode This change clears the address data block memory space, which is needed for the 82598 which does not have a SAN MAC. Signed-off-by: Lucy Liu Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3d1454dd93e84ad1394b6b1646f13795e9f6928e Author: Stephen Hemminger Date: Thu Jul 16 13:20:57 2009 +0000 sky2: revert shutdown changes The commit changes to shutdown path broke startup on some systems. revert commit c0bad0f2e4366d5bbfe0c4a7a80bca8f4b05272b Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4dc6dc7162c08b9965163c9ab3f9375d4adff2c7 Author: Eric Dumazet Date: Wed Jul 15 23:13:10 2009 +0000 net: sock_copy() fixes Commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1 (net: sk_prot_alloc() should not blindly overwrite memory) took care of not zeroing whole new socket at allocation time. sock_copy() is another spot where we should be very careful. We should not set refcnt to a non null value, until we are sure other fields are correctly setup, or a lockless reader could catch this socket by mistake, while not fully (re)initialized. This patch puts sk_node & sk_refcnt to the very beginning of struct sock to ease sock_copy() & sk_prot_alloc() job. We add appropriate smp_wmb() before sk_refcnt initializations to match our RCU requirements (changes to sock keys should be committed to memory before sk_refcnt setting) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 303d67c288319768b19ed8dbed429fef7eb7c275 Author: Krzysztof Halasa Date: Tue Jul 14 11:01:54 2009 +0000 E100: work around the driver using streaming DMA mapping for RX descriptors. E100 places it's RX packet descriptors inside skb->data and uses them with bidirectional streaming DMA mapping. Unfortunately it fails to transfer skb->data ownership to the device after it reads the descriptor's status, breaking on non-coherent (e.g., ARM) platforms. This have to be converted to use coherent memory for the descriptors. Signed-off-by: Krzysztof Halasa Acked-by: Jeff Kirsher Signed-off-by: David S. Miller commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10 Author: Moni Shoua Date: Wed Jul 15 04:56:31 2009 +0000 bonding: clean muticast addresses when device changes type Bonding device forbids slave device of different types under the same master. However, it is possible for a bonding master to change type during its lifetime. This can be either from ARPHRD_ETHER to ARPHRD_INFINIBAND or the other way arround. The change of type requires device level multicast address cleanup because device level multicast addresses depend on the device type. The patch adds a call to dev_close() before the bonding master changes type and dev_open() just after that. In the example below I enslaved an IPoIB device (ib0) under bond0. Since each bonding master starts as device of type ARPHRD_ETHER by default, a change of type occurs when ib0 is enslaved. This is how /proc/net/dev_mcast looks like without the patch 5 bond0 1 0 00ffffffff12601bffff000000000001ff96ca05 5 bond0 1 0 01005e000116 5 bond0 1 0 01005e7ffffd 5 bond0 1 0 01005e000001 5 bond0 1 0 333300000001 6 ib0 1 0 00ffffffff12601bffff000000000001ff96ca05 6 ib0 1 0 333300000001 6 ib0 1 0 01005e000001 6 ib0 1 0 01005e7ffffd 6 ib0 1 0 01005e000116 6 ib0 1 0 00ffffffff12401bffff00000000000000000001 6 ib0 1 0 00ffffffff12601bffff00000000000000000001 and this is how it looks like after the patch. 5 bond0 1 0 00ffffffff12601bffff000000000001ff96ca05 5 bond0 1 0 00ffffffff12601bffff00000000000000000001 5 bond0 1 0 00ffffffff12401bffff0000000000000ffffffd 5 bond0 1 0 00ffffffff12401bffff00000000000000000116 5 bond0 1 0 00ffffffff12401bffff00000000000000000001 6 ib0 1 0 00ffffffff12601bffff000000000001ff96ca05 6 ib0 1 0 00ffffffff12401bffff00000000000000000116 6 ib0 1 0 00ffffffff12401bffff0000000000000ffffffd 6 ib0 2 0 00ffffffff12401bffff00000000000000000001 6 ib0 2 0 00ffffffff12601bffff00000000000000000001 Signed-off-by: Moni Shoua Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 37b76c697f4ac082e9923dfa8e8aecc8bc54a8e1 Author: roel kluin Date: Sun Jul 12 12:57:38 2009 +0000 atl1c: misplaced parenthesis Fix misplaced parenthesis Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit c5ad4f592e27d782faea0a787d9181f192a69ef0 Author: roel kluin Date: Sun Jul 12 11:40:34 2009 +0000 atl1c: add missing parentheses Parentheses are required or the comparison occurs before the bitand. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 95aa1fe4abfc8d75dcd110bb285b09740214d053 Merge: b13bb2e 941297f Author: David S. Miller Date: Thu Jul 16 17:34:50 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 2a2430f4542467502d39660bfd66b0004fd8d6a9 Author: Jesse Barnes Date: Thu Jul 16 13:01:02 2009 -0700 drm/i915: correct self-refresh calculation in "everything off" case If no planes are enabled, the self-refresh calculation may end up doing a divide by zero. This patch should prevent that by making sure at least one of the CRTCs had a valid hdisplay value. Reported-by: Eric Anholt Tested-by: Eric Anholt Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 390c4dd448b1a5f04ea497c20f5ff664f8eeed01 Author: Jesse Barnes Date: Thu Jul 16 13:01:01 2009 -0700 drm/i915: handle FIFO oversubsription correctly If you're pushing a plane hard (i.e. you need most or all of the FIFO entries just to cover your frame refresh latency), the watermark level may end up being negative. So fix up the signed vs. unsigned math in the calculation function to handle this correctly, giving all available FIFO entries to such a configuration. Reported-by: Eric Anholt Tested-by: Eric Anholt Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 6843f405da9d0adf734d8f695311e29cc92a220c Author: Mike Frysinger Date: Thu Jul 16 13:53:37 2009 -0400 Blackfin: define HARDIRQ_BITS again for now The default values of HARDIRQ_BITS and PREEMPT_BITS in common code leads to build failure: In file included from include/linux/interrupt.h:12, from include/linux/kernel_stat.h:8, from arch/blackfin/kernel/asm-offsets.c:32: include/linux/hardirq.h:66:2: error: #error PREEMPT_ACTIVE is too low! So until that gets resolved, just declare our own default value again. Signed-off-by: Mike Frysinger commit 5381837f125cc62ad703fbcdfcd7566fc81fd404 Author: Tom Peng Date: Wed Jul 1 20:37:26 2009 +0800 [SCSI] libsas: reuse the original port when hotplugging phys in wide ports There's a hotplug problem in the way libsas allocates ports: it loops over the available ports first trying to add to an existing for a wide port and otherwise allocating the next free port. This scheme only works if the port array is packed from zero, which fails if a port gets hot unplugged and the array becomes sparse. In that case, a new port is formed even if there's a wide port it should be part of. Fix this by creating two loops over all the ports: the first to see if the phy should be part of a wide port and the second to form a new port in an empty port slot. Signed-off-by: Tom Peng Signed-off-by: Jack Wang Signed-off-by: Lindar Liu Cc: Stable Tree Signed-off-by: James Bottomley commit 4b0a84043e0c14088958fddb62f416d050368011 Merge: 63f7a33 d07387b Author: Linus Torvalds Date: Thu Jul 16 10:18:29 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched: sched: Fix bug in SCHED_IDLE interaction with group scheduling sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() sched: Reset sched stats on fork() sched_rt: Fix overload bug on rt group scheduling sched: Documentation/sched-rt-group: Fix style issues & bump version commit 63f7a330014ad29b662638caabd8e96fe945b9ed Merge: a132ebc f9f868d Author: Linus Torvalds Date: Thu Jul 16 10:07:37 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timer stats: fix quick check optimization commit a132ebcb454568cc06fbdf3a5629eb9d64c9d578 Merge: 8077088 0115cb5 Author: Linus Torvalds Date: Thu Jul 16 10:05:34 2009 -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: Fix another bug in move of altivec code to vector.S powerpc: Fix booke user_disable_single_step() commit 807708844979ba8c6d5717345a8608454992696d Author: Alan Cox Date: Thu Jul 16 16:07:03 2009 +0100 n_tty: Fix echo race If a tty in N_TTY mode with echo enabled manages to get itself into a state where - echo characters are pending - FASYNC is enabled - tty_write_wakeup is called from either - a device write path (pty) - an IRQ (serial) then it either deadlocks or explodes taking a mutex in the IRQ path. On the serial side it is almost impossible to reproduce because you have to go from a full serial port to a near empty one with echo characters pending. The pty case happens to have become possible to trigger using emacs and ptys, the pty changes having created a scenario which shows up this bug. The code path is n_tty:process_echoes() (takes mutex) tty_io:tty_put_char() pty:pty_write (or serial paths) tty_wakeup (from pty_write or serial IRQ) n_tty_write_wakeup() process_echoes() *KABOOM* Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9237a81a1468d0aca1cc4e244bba2362d6f81b35 Author: Jiri Slaby Date: Thu Jul 16 16:06:18 2009 +0100 tty: nozomi, fix tty refcounting bug Don't forget to drop a tty refererence on fail paths in receive_data(). Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5c9228f0cfb09a098a8a380116b42ae099e967b6 Author: Johannes Weiner Date: Thu Jul 16 16:06:09 2009 +0100 vt: drop bootmem/slab memory distinction Bootmem is not used for the vt screen buffer anymore as slab is now available at the time the console is initialized. Get rid of the now superfluous distinction between slab and bootmem, it's always slab. This also fixes a kmalloc leak which Catalin described thusly: Commit a5f4f52e ("vt: use kzalloc() instead of the bootmem allocator") replaced the alloc_bootmem() with kzalloc() but didn't set vc_kmalloced to 1 and the memory block is later leaked. The corresponding kmemleak trace: unreferenced object 0xdf828000 (size 8192): comm "swapper", pid 0, jiffies 4294937296 backtrace: [] __save_stack_trace+0x17/0x1c [] log_early+0x55/0x84 [] kmemleak_alloc+0x33/0x3c [] __kmalloc+0xd7/0xe4 [] con_init+0xbf/0x1b8 [] console_init+0x11/0x20 [] start_kernel+0x137/0x1e4 Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Tested-by: Catalin Marinas Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ff5392d77bbb0746d1a034e955231f03ffc30b61 Author: Andrew Morton Date: Thu Jul 16 16:05:53 2009 +0100 drivers/serial/bfin_sport_uart.c: remove wrong and unneeded memset dcb314@hotmail.com notes that this memset has its args reversed. It's unneeded anyway, so remove it. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13587 Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8f4256b22c554f713ffdd395c1f2bfd53746cfc9 Author: Uwe Kleine-König Date: Thu Jul 16 16:05:43 2009 +0100 serial: don't add msm_serial's probe function to the driver struct msm_serial_driver is registered using platform_driver_probe which takes care for the probe function itself. So don't pass it in the driver struct, too. Signed-off-by: Uwe Kleine-König Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c8d50041734534e0a4b0ea13df36ed5857fccd56 Author: Alan Cox Date: Thu Jul 16 16:05:08 2009 +0100 tty: fix close/hangup race We can get a situation where a hangup occurs during or after a close. In that case the ldisc gets disposed of by the close and the hangup then explodes. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a3ca86aea507904148870946d599e07a340b39bf Author: Eugene Teo Date: Wed Jul 15 14:59:10 2009 +0800 Add '-fno-delete-null-pointer-checks' to gcc CFLAGS Turning on this flag could prevent the compiler from optimising away some "useless" checks for null pointers. Such bugs can sometimes become exploitable at compile time because of the -O2 optimisation. See http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Optimize-Options.html An example that clearly shows this 'problem' is commit 6bf67672. static void __devexit agnx_pci_remove(struct pci_dev *pdev) { struct ieee80211_hw *dev = pci_get_drvdata(pdev); - struct agnx_priv *priv = dev->priv; + struct agnx_priv *priv; AGNX_TRACE; if (!dev) return; + priv = dev->priv; By reverting this patch, and compile it with and without -fno-delete-null-pointer-checks flag, we can see that the check for dev is compiled away. call printk # - testq %r12, %r12 # dev - je .L94 #, movq %r12, %rdi # dev, Clearly the 'fix' is to stop using dev before it is tested, but building with -fno-delete-null-pointer-checks flag at least makes it harder to abuse. Signed-off-by: Eugene Teo Acked-by: Eric Paris Acked-by: Wang Cong Signed-off-by: Linus Torvalds commit 4a21b8cb3550f19f838f7c48345fbbf6a0e8536b Author: Linus Torvalds Date: Thu Jul 16 09:14:23 2009 -0700 Revert "ppp: Fix throttling bugs" This reverts commit a6540f731d506d9e82444cf0020e716613d4c46c, as requested by Alan: "... as it was wrong, the pty code is now fixed and the fact this isn't reverted is breaking pptp setups." Requested-by: Alan Cox Signed-off-by: Linus Torvalds commit 15c2ac051c730210b7ef2c93807b576e89e129d2 Merge: 9d79b13 8886f33 Author: Takashi Iwai Date: Thu Jul 16 16:35:50 2009 +0200 Merge branch 'fix/usb-audio' into for-linus * fix/usb-audio: sound: usb-audio: add workaround for Blue Microphones devices commit 9d79b136910de2cf9e4f0e37c3048c0fc7d9eab3 Merge: 2688779 cb65c87 Author: Takashi Iwai Date: Thu Jul 16 16:35:48 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: riptide - proper handling of pci_register_driver for joystick commit 26887793b64ae93342c1e2548595d4c6f7dce694 Merge: 9d5b28d 9d30937 Author: Takashi Iwai Date: Thu Jul 16 16:35:47 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking commit 9d5b28d530000aa5a256046f0dd42a3787687cc9 Merge: 6847e15 b7d4de7 Author: Takashi Iwai Date: Thu Jul 16 16:35:46 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free commit 941297f443f871b8c3372feccf27a8733f6ce9e9 Author: Eric Dumazet Date: Thu Jul 16 14:03:40 2009 +0200 netfilter: nf_conntrack: nf_conntrack_alloc() fixes When a slab cache uses SLAB_DESTROY_BY_RCU, we must be careful when allocating objects, since slab allocator could give a freed object still used by lockless readers. In particular, nf_conntrack RCU lookups rely on ct->tuplehash[xxx].hnnode.next being always valid (ie containing a valid 'nulls' value, or a valid pointer to next object in hash chain.) kmem_cache_zalloc() setups object with NULL values, but a NULL value is not valid for ct->tuplehash[xxx].hnnode.next. Fix is to call kmem_cache_alloc() and do the zeroing ourself. As spotted by Patrick, we also need to make sure lookup keys are committed to memory before setting refcount to 1, or a lockless reader could get a reference on the old version of the object. Its key re-check could then pass the barrier. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit aa6a03eb0ae859c1371555ef381de4c96ca1e4e6 Author: Patrick McHardy Date: Thu Jul 16 14:01:54 2009 +0200 netfilter: xt_osf: fix nf_log_packet() arguments The first argument is the address family, the second one the hook number. Signed-off-by: Patrick McHardy commit 994e9a2e01f47f7ce24dec7edc45d70401468370 Author: Julia Lawall Date: Tue Jul 14 03:15:19 2009 +0000 arch/blackfin: Add kmalloc NULL tests Check that the result of kmalloc is not NULL before passing it to other functions. In the first two cases, the new code returns -ENOMEM, which seems compatible with what is done for similar functions for other architectures. In the last two cases, the new code fails silently, ie just returns, because the function has void return type. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 5bc6e3cfe6db5f33c60f042a9ba203431f334756 Author: Graf Yang Date: Fri Jul 10 11:34:51 2009 +0000 Blackfin: add CPLB entries for Core B on-chip L1 SRAM regions The Blackfin SMP port was missing CPLB entries for Core B on-chip L1 SRAM regions. Any code that attempted to use these would wrongly crash due to a CPLB miss. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit f574a76a3b19848ac61814756716e26f85f2c3f7 Author: Robin Getz Date: Thu Jul 9 15:11:52 2009 +0000 Blackfin: work around anomaly 05000189 Similar to anomaly 05000281 but not as bad, we cannot return to the instruction causing a fault otherwise we'll trigger a second false exception. The system can still recover, but it isn't correct. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit c70c754ff916cedd969a73549799d2167ffefcd6 Author: Michael Hennerich Date: Thu Jul 9 09:58:52 2009 +0000 Blackfin: drop per-cpu loops_per_jiffy tracking On Blackfin SMP, a per-cpu loops_per_jiffy is pointless since both cores always run at the same CCLK. In addition, the current implementation has flaws since the main consumer for loops_per_jiffy (asm/delay.h) uses the global kernel loops_per_jiffy and not the per_cpu one. So punt all of the per-cpu handling and go back to the global shared one. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit c03c2a87347b849ec927d7d2ea79a6955e19f492 Author: Michael Hennerich Date: Wed Jul 8 12:04:43 2009 +0000 Blackfin: fix bugs in GPIO resume code Change the bfin_gpio_pm_hibernate_restore() function to: 1) AND restored DATA with DIR (not OR) to get correct final state 2) Restore DATA before setting DIR to avoid glitches Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 4c94c3e09adba9718218d6e3d35b2dfae81f3911 Author: Barry Song Date: Tue Jul 7 07:41:50 2009 +0000 Blackfin: bf537-stamp: fix irq decl for AD7142 The AD7142 add-on card hooks the IRQ line up to PG5, not PF5. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit ad863a9dc9887330b2ab753323063865c59d8db6 Author: Robin Getz Date: Tue Jul 7 02:47:14 2009 +0000 Blackfin: fix handling of IPEND in interrupt context save The interrupt context save logic incorrectly stored the address of the IPEND register rather than its value due to a missing dereference. While we're here, also enable this code for all kernel debugging scenarios and not just when KGDB is enabled. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 3a920accbb5f88d753ab5a6a47d0dd48b6269f84 Author: Robin Getz Date: Mon Jul 6 14:29:08 2009 +0000 Blackfin: drop duplicate runtime checking of anomaly 05000448 We already catch this anomaly at compile time, and the runtime version is such that it ends up checking on all parts rather than just the ones that might actually have it. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit ebd5833327e3fb46eb55553d8f5432b5226bf897 Author: Michael Hennerich Date: Thu Jul 2 11:00:38 2009 +0000 Blackfin: fix incomplete renaming of the bfin-twi-lcd driver The sed used to rename the bfin-twi-lcd only replaced the first instance rather than all which led to the resources not being enabled when the driver was built as a module. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit f1c717fbf89f5a24d539ecf4baa5d4c3888e3bf9 Author: Sonic Zhang Date: Wed Jul 1 07:43:23 2009 +0000 Blackfin: fix wrong CTS inversion The Blackfin serial headers were inverting the CTS value leading to wrong handling of the CTS line which broke CTS/RTS handling completely. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 10a5ecd03f9f5c374f954cf50a4f85d73f8ce338 Author: Graf Yang Date: Wed Jul 1 04:08:01 2009 +0000 Blackfin: update handling of anomaly 364 (wrong rev id in BF527-0.1) This anomaly only applies to the BF527-0.1, not the BF526-0.1, and not any other revision of the BF527. So make sure we don't go returning 0xffff for other cases. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 532f07ca04c6f8ab0555b00cf5d42dc6f72b802f Author: Mike Frysinger Date: Mon Jun 29 22:45:50 2009 +0000 Blackfin: fix early_dma_memcpy() handling of busy channels The early logic to locate a free DMA channel and then set it up was broken in a few ways that only manifested itself when we needed to set up more than 2 on chip SRAM regions (most board defaults setup 1 or 2). First, we checked the wrong status register (the destination gets updated, not the source) and second, we did the ssync before rather than after resetting a DMA config register. Signed-off-by: Mike Frysinger commit fb4b5d3a379824d94fd71fc1aa78e9dbcb15b948 Author: Mike Frysinger Date: Mon Jun 29 14:20:10 2009 -0400 Blackfin: handle BF561 Core B memory regions better when SMP=n Rather than assume Core B is always run with caches turned on, let people load into any of the on-chip memory regions. It is their business how the SRAM/Cache regions are utilized, so don't prevent them from being able to load into them. Signed-off-by: Mike Frysinger commit 8399a74f61c69c7d233924de3dd314ca0effa16a Author: Jie Zhang Date: Sun Jun 28 13:19:36 2009 +0000 Blackfin: fix miscompilation in lshrdi3 The code used in the Blackfin lshrdi3 utilizes gcc constructs. However, the structures declared don't line up with the code gcc generates, so under certain optimizations, we get bad code and things crap out in fun random ways. So rather than trying to maintain different gcc definitions ourselves, just use the ones available in gcclib.h. URL: http://blackfin.uclinux.org/gf/tracker/5286 Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger commit dc437b1b596e310bb583de3868c3d61a6798c81c Author: Robin Getz Date: Fri Jun 26 12:23:51 2009 +0000 Blackfin: fix silent crash when no uClinux MTD filesystem exists Since we need to relocate the attached filesystem with the uClinux MTD map (to handle some anomalies), we need to know its real filesize. If we boot a kernel without a filesystem actually attached, we end up blindly reading and copying garbage (since there is no magic value to detect validity). Often times this results in an early crash and no output. So add a few basic sanity checks before operating on things to catch the majority of cases. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 15627bd35c6f02d159e0cb41d287dcba3a23a135 Author: Mike Frysinger Date: Tue Jun 23 11:21:34 2009 +0000 Blackfin: restore exception banner when dumping crash info Previous unification code put the exception banner behind the "is oops" logic when it should have been printed all the time. Signed-off-by: Mike Frysinger commit 0e4edcf0b0f7d96c4be7788b13bee82e4d3ba0ce Author: Robin Getz Date: Mon Jun 22 20:23:48 2009 +0000 Blackfin: work around anomaly 05000281 Add missing anomaly workaround for anomaly 05000281 - we can't return to instructions which cause hardware errors otherwise we trigger the error again which means we go into an infinite loop of handling, returning, and retriggering. This work around confuses gdb when the error occurs as the PC will seemed to have moved, so a better long term fix will need to be figured out, but for now this is better than an infinite crash loop. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 976119bc5d2253bb47f3255ee178ce1ee605fd3c Author: Graf Yang Date: Wed Jul 1 07:05:40 2009 +0000 Blackfin: update anomaly lists to match latest sheets/usage Signed-off-by: Graf Yang Signed-off-by: Cliff Cai Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit b2dc0a08845af9d6ea990a1a28d4545998707570 Author: Mike Frysinger Date: Sat Jun 20 15:36:09 2009 -0400 Blackfin: drop dead flash_probe call There are no CONFIG_{BLK,CHR}_DEV_FLASH Kconfig options, and there is no flash_probe() function, so not really sure what this code is all about. Seems to be dead code that stretches way back to the start of the Blackfin port. Signed-off-by: Mike Frysinger commit 1997660cea28202ece0956cd44f332ac57700138 Author: Robin Getz Date: Wed Jun 17 15:18:18 2009 +0000 Blackfin: cleanup code a bit with comments and defines Improve the assembly with a few explanatory comments and use symbolic defines rather than numeric values for bit positions. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit f6c43385435640e056424034caac0d765c45e370 Merge: 65bc98b 35b5c55 Author: Steve French Date: Thu Jul 16 04:21:39 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 43237b5490e8f2f4679decd660064ff35ce490cc Author: Jan Kara Date: Wed May 20 18:41:58 2009 +0200 ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() Get rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to be a relict from some old days and setting disksize in this function does not make much sence. Currently it was set only by ext3_getblk(). Since the parameter has some effect only if create == 1, it is easy to check that the three callers which end up calling ext3_getblk() with create == 1 (ext3_append, ext3_quota_write, ext3_mkdir) do the right thing and set disksize themselves. Signed-off-by: Jan Kara commit 1e9fd53b783ea646de3ee09a4574afeb6778d504 Author: Jan Kara Date: Wed Jun 24 17:31:40 2009 +0200 jbd: Fix a race between checkpointing code and journal_get_write_access() The following race can happen: CPU1 CPU2 checkpointing code checks the buffer, adds it to an array for writeback do_get_write_access() ... lock_buffer() unlock_buffer() flush_batch() submits the buffer for IO __jbd_journal_file_buffer() So a buffer under writeout is returned from do_get_write_access(). Since the filesystem code relies on the fact that journaled buffers cannot be written out, it does not take the buffer lock and so it can modify buffer while it is under writeout. That can lead to a filesystem corruption if we crash at the right moment. The similar problem can happen with the journal_get_create_access() path. We fix the problem by clearing the buffer dirty bit under buffer_lock even if the buffer is on BJ_None list. Actually, we clear the dirty bit regardless the list the buffer is in and warn about the fact if the buffer is already journalled. Thanks for spotting the problem goes to dingdinghua . Reported-by: dingdinghua Signed-off-by: Jan Kara commit 9eaaa2d5759837402ec5eee13b2a97921808c3eb Author: Jan Kara Date: Mon Jul 13 20:26:52 2009 +0200 ext3: Fix truncation of symlinks after failed write Contents of long symlinks is written via standard write methods. So when the write fails, we add inode to orphan list. But symlinks don't have .truncate method defined so nobody properly removes them from the orphan list (both on disk and in memory). Fix this by calling ext3_truncate() directly instead of calling vmtruncate() (which is saner anyway since we don't need anything vmtruncate() does except from calling .truncate in these paths). We also add inode to orphan list only if ext3_can_truncate() is true (currently, it can be false for symlinks when there are no blocks allocated) - otherwise orphan list processing will complain and ext3_truncate() will not remove inode from on-disk orphan list. Signed-off-by: Jan Kara commit 7447a668a3860b66b3c9db86fdea91e355ba59ac Author: Jan Kara Date: Wed Jul 15 20:36:08 2009 +0200 jbd: Fail to load a journal if it is too short Due to on disk corruption, it can happen that journal is too short. Fail to load it in such case so that we don't oops somewhere later. Reported-by: Nageswara R Sastry Signed-off-by: Jan Kara commit b13bb2e9933b9dfa25c81d959d847c843481111e Author: Lothar Waßmann Date: Tue Jul 14 23:12:25 2009 +0000 net/can: add module alias to can protocol drivers Add appropriate MODULE_ALIAS() to facilitate autoloading of can protocol drivers Signed-off-by: Lothar Wassmann Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit f7e5cc0c40dff92bad2894153f675c6c542ba2f0 Author: Lothar Waßmann Date: Tue Jul 14 23:10:21 2009 +0000 net/can bugfix: use after free bug in can protocol drivers Fix a use after free bug in can protocol drivers The release functions of the can protocol drivers lack a call to sock_orphan() which leads to referencing freed memory under certain circumstances. This patch fixes a bug reported here: https://lists.berlios.de/pipermail/socketcan-users/2009-July/000985.html Signed-off-by: Lothar Wassmann Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 35b5c55fee08e6e4001ba98060a2d0b82f70b5f4 Merge: e9e961c b2dde6a Author: Linus Torvalds Date: Wed Jul 15 10:29:09 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: add device ID for 82801JI sata controller drivers/ata: Move a dereference below a NULL test libata: implement and use HORKAGE_NOSETXFER, take#2 libata: fix follow-up SRST failure path commit cb65c8732a50f8a145d36dbdac026a1789ad1587 Author: Jaswinder Singh Rajput Date: Wed Jul 15 16:45:40 2009 +0530 ALSA: riptide - proper handling of pci_register_driver for joystick We need to check returning error for pci_register_driver(&joystick_driver) On failure, we should unregister formerly registered audio drivers This also fixed the compiler warning : CC [M] sound/pci/riptide/riptide.o sound/pci/riptide/riptide.c: In function ‘alsa_card_riptide_init’: sound/pci/riptide/riptide.c:2200: warning: ignoring return value of ‘__pci_register_driver’, declared with attribute warn_unused_result Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Takashi Iwai commit 8886f33f25083a47d5fa24ad7b57bb708c5c5403 Author: Clemens Ladisch Date: Mon Jul 13 13:21:58 2009 +0200 sound: usb-audio: add workaround for Blue Microphones devices Blue Microphones USB devices have an alternate setting that sends two channels of data to the computer. Unfortunately, the descriptors of that altsetting have a wrong channel setting, which means that any recorded data from such a device has twice the sample rate from what would be expected. This patch adds a workaround to ignore that altsetting. Since these devices have only one actual channel, no data is lost. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 3dc948da783e713cd3dc8bbd8f293f8795af8f06 Author: Holger Brunck Date: Mon Jul 13 16:47:57 2009 +0200 UBI: fix bug in image sequence number handling This patch fixes a bug in the image seq. number handling in the scanning level. The assignment of the image_seq was incorrect. Signed-off-by: Holger Brunck Signed-off-by: Artem Bityutskiy commit c8cc452501572d4a81331179b00a9bdd5d2bfada Author: Artem Bityutskiy Date: Fri Jul 10 16:59:36 2009 +0300 UBI: gluebi: initialize ubi_num field Do not forget to initialize 'gluebi->ubi_num' because otherwise it will stay 0 even for ubi1 device, and gluebi will open wrong UBI device when 'gluebi_get_device()' is called. Signed-off-by: Artem Bityutskiy commit 0115cb544b0a6709e9cf3de615e150d22e7d9d10 Author: Andreas Schwab Date: Fri Jul 10 11:17:36 2009 +0000 powerpc: Fix another bug in move of altivec code to vector.S When moving load_up_altivec to vector.S a typo in a comment caused a thinko setting the wrong variable. Signed-off-by: Andreas Schwab Signed-off-by: Benjamin Herrenschmidt commit 28477fb1ed1a00c67b382ae8f37f35708e3bf5dd Author: Dave Kleikamp Date: Wed Jul 8 13:46:18 2009 +0000 powerpc: Fix booke user_disable_single_step() On booke processors, gdb is seeing spurious SIGTRAPs when setting a watchpoint. user_disable_single_step() simply quits when the DAC is non-zero. It should be clearing the DBCR0_IC and DBCR0_BT bits from the dbcr0 register and TIF_SINGLESTEP from the thread flag. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit c836e862803b2aa2bd9a354e151316d2b42c44ec Author: Alex Deucher Date: Mon Jul 13 13:51:03 2009 -0400 drm/radeon/kms: fix hotspot handling on pre-avivo chips Need to adjust CUR_OFFSET for yorigin Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit eb1300bcd70b3bffbefb6ae0eab13a571255ee93 Author: Alex Deucher Date: Mon Jul 13 11:09:56 2009 -0400 drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740 Allows us to hit dot clocks much closer, especially on chips with non-27 Mhz reference clocks like most IGP chips. This fixes most flickering and blanking problems with non-exact dot clocks on these chips. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d0e275a90a81b37409a0cfbca77581e3d235f5cf Author: Alex Deucher Date: Mon Jul 13 11:08:18 2009 -0400 drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq This is needed when using fractional feedback dividers on some IGP chips. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b995e4330de0d8b1b8b9e49ce10cc6dc78e2cbba Author: Dave Airlie Date: Tue Jul 14 02:02:32 2009 +1000 drm/radeon/kms: block RN50 from using 3D engine. RN50/ES1000 is a cut-down rv100 chip used in the server market. The 3D engine on these is either not there or unverified so refuse any attempt to configure registers on it. Signed-off-by: Dave Airlie commit 2a0f8918fc34713ecaeb900ffb9afa61df4cb08e Author: Dave Airlie Date: Sat Jul 11 04:44:47 2009 +1000 drm/radeon/kms: fix VRAM sizing like DDX does it. Doing this like the DDX seems like the most sure fire way to avoid having to reinvent it slowly and painfully. At the moment we keep getting things wrong with aper vs vram, so we know the DDX does it right. booted on PCI r100, PCIE rv370, IGP rs400. Signed-off-by: Dave Airlie commit ad49f501867cba87e1e45e5ebae0b12435d68bf1 Author: Dave Airlie Date: Fri Jul 10 22:36:26 2009 +1000 drm/ttm/radeon: add dma32 support. This add support for using dma32 memory on gpus that really need it. Currently IGPs are left without DMA32 but we might need to change that unless we can fix rs690. Signed-off-by: Dave Airlie commit 61b576dbbe6a19d102c025ebc102a0749e2d3c80 Author: Michel Dänzer Date: Wed Jun 24 00:12:55 2009 +1000 drm/radeon: Endianness fixes for radeondrmfb. For now handle it via r/g/b offsets and disallow 16 bpp modes on big endian machines. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 77bd36f014bc5a3f28507a4e86a81b2b3d2439c3 Author: Dave Airlie Date: Fri Jul 10 09:33:00 2009 +1000 drm/radeon/kms: don't swap PCIEGART PTEs in VRAM. On powerpc, since we aren't using any hw swappers, this will get flipped around by default in hw. tested on a G5 + rv515. Signed-off-by: Dave Airlie commit 5176fdc4c5873e52f9cb6e166d80e843847e7eb4 Author: Dave Airlie Date: Tue Jun 30 11:47:14 2009 +1000 drm/radeon/kms: drop zero length CS indirect buffers. If userspace sends a zero length IB, it really shouldn't have bothered so EINVAL it. Signed-off-by: Dave Airlie commit e7168cab5bbac0a0e5413fd55ba0e92555bf860d Author: Dave Airlie Date: Thu Jul 9 16:01:42 2009 +1000 drm/radeon/kms: fix vram vs aper size check. Fix this to be correct like the DDX code, looks like a typo on transfer to the kernel. Signed-off-by: Dave Airlie commit 2007d633d639c896396e4c4b53b38068f3831307 Author: Alex Deucher Date: Wed Jul 8 16:17:23 2009 -0400 drm/radeon/kms: get lvds info for DIG LVTMA and UNIPHY encoders Noticed by Rafał Miłecki on dri-devel. On r6xx/r7xx hardware, laptop panels can be driven by KLDSCP_LVTMA or UNIPHY. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 848577ee27f704231b1860ae987a1be78b88b06e Author: Alex Deucher Date: Wed Jul 8 16:15:30 2009 -0400 drm/radeon/kms: fix quirk for MSI laptop The line mux for the connector in the bios tables is used for enumerating drm connectors. Since this laptop has a quirk where the same line much is listed for both VGA and LVDS, the connectors get combined. Setting the line mux on LVDS to an unused value prevents both encoders from being combined into the same connector. This should fix bko bug 13720. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ae3e8122cbf8f9301369f276f4179aa6ec1b5b9c Author: Thomas Hellstrom Date: Wed Jun 24 19:57:34 2009 +0200 ttm: Fix caching mode selection. A bug caused a new caching state to be selected on each buffer object validation regardless of the current caching state. Moreover, a caching state could be selected that wasn't supported by the memory type. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit d1724078d6a01177c1db4ea0b75fda1ca8a73d57 Author: Thomas Hellstrom Date: Wed Jun 24 19:57:35 2009 +0200 ttm: Make messages more readable. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 531369e62649bb8f31217cc0bf33ee6f89f1dff6 Author: Dave Airlie Date: Mon Jun 29 11:21:25 2009 +1000 drm/radeon: fix support for vline relocations. Userspace sends us a special relocation type to sync video/exa to vlines to avoid tearing, this deals with the relocation in the kernel, it picks the correct crtc and avoids issues where crtcs are disabled. This version also parses the wait until to make sure it isn't trying to do anything evil. Signed-off-by: Dave Airlie commit 3e43d82125952826202a8cd20ba84a66f3ff8808 Author: Dave Airlie Date: Thu Jul 9 15:04:18 2009 +1000 drm/radeon/kms: respect TOM on rs100->rs480 IGP variants. Normally we are free to place VRAM where we want in the GPUs memory address space, however on IGP chips the VRAM is actual RAM, and no special translation or aperture is used inside the GPU MC. So when you move the VRAM aperture away from the TOM register, you actually move it into main memory and can trash things quite badly. This commit makes the code respect the TOM location for MC_FB_LOCATION. Signed-off-by: Dave Airlie commit 4162338a1dab388474d4115289d1d7071623f04d Author: Dave Airlie Date: Thu Jul 9 15:04:19 2009 +1000 drm/radeon/kms: set crtc and cursor offsets correctly on legacy chips. The crtc and cursor offsets on the legacy chips are offset from DISPLAY_BASE_ADDR. The code worked if display base addr was at 0, but otherwise falls to pieces. Signed-off-by: Dave Airlie commit 6cdf65855cf884712532fc72770baaef7bdf1b9a Author: Dave Airlie Date: Mon Jun 29 18:29:13 2009 +1000 drm/radeon/kms: remove IB flushing trick. If there is a problem then this is hiding it, we shouldn't ever need to flush the IB. Either the buffers are: WB - caching just works. WC - no need to do explicit flush, the MB + readback will do it Signed-off-by: Dave Airlie commit 4c9bc75cbc6f2f447a38a123aa6e0605fab3cb7a Author: Dave Airlie Date: Mon Jun 29 18:29:12 2009 +1000 drm/radeon/kms: mmio base/size should be resource_size_t. Unsigned long is incorrect for 64-bit resources on 32-bit hw. Signed-off-by: Dave Airlie commit ed10f95d60d41033d356fdcf88c240d7065bd5b4 Author: Dave Airlie Date: Mon Jun 29 18:29:11 2009 +1000 drm/radeon/kms: fix some GART table entry bugs. 1. rv370 can accept 40-bit addresses - also at 24-bit shift not 4 bits 2. rs480 table can be in 40-bit space. - 4 bit shift for top 8 bits 3. rs480 table entries can be in 40-bit space. Signed-off-by: Dave Airlie commit ecca0683230b83e8f830ff157911fad20bc43015 Author: Julia Lawall Date: Sat Jul 11 09:50:09 2009 +0200 drm: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Dave Airlie commit ba0ab82358a12e7a7f2872d6b65c437157c6888f Author: Jesse Barnes Date: Fri Jul 3 11:24:46 2009 -0700 fb/intelfb: conflict with DRM_I915 and hide by default Users get confused by this driver. It's really a special purpose embedded driver, and causes a lot of problems if enabled. So hide it under EMBEDDED by default, and make sure it doesn't get enabled with the i915 DRM driver. Dave, I'm hoping you can feed this to Linus through your tree. It's appropriate for 2.6.31 I think. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 916635bfcae5fec170ccd36f4b451cf7c5d23b9d Author: Roel Kluin Date: Wed Jul 15 16:00:37 2009 +1000 drm/ttm: fix misplaced parentheses Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 42dd8619940a153e950c4d2301cd5e49f7342f99 Author: Simon Farnsworth Date: Fri Jul 10 11:25:16 2009 +0100 drm/via: Fix vblank IRQ on VIA hardware. via_enable_vblank wasn't setting the VBlank enable bit - instead, it was masking out the rest of the register. At the same time, fix via_disable_vblank to clear the VBlank enable bit. Signed-off-by: Dave Airlie commit 845792d940f5755b7a7837c450a71d9e831a13e2 Author: Jiri Slaby Date: Mon Jul 13 23:20:21 2009 +0200 drm: drm_gem, check kzalloc retval Check kzalloc retval against NULL in drm_gem_object_alloc and bail out appropriately. While at it merge the fail paths and jump to them by gotos at the end of the function. Signed-off-by: Jiri Slaby Signed-off-by: Dave Airlie commit d25e3a6faa82eeaa6e5487c2d2e27cfd938ed108 Author: Jiri Slaby Date: Mon Jul 13 23:20:20 2009 +0200 drm: drm_debugfs, check kmalloc retval Check kmalloc return value in drm_debugfs_create_files and bail out appropriately if the pointer is NULL. Signed-off-by: Jiri Slaby Signed-off-by: Dave Airlie commit 069a9dce384e211784ce6fdfaf1f13921327480d Author: Alex Deucher Date: Wed Jul 1 13:03:52 2009 -0400 drm/radeon: add some missing pci ids Also, fix ordering for a couple others Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b2dde6afe5d29212d521e69492ebc299db235001 Author: Mark Goodwin Date: Fri Jun 26 10:44:11 2009 -0500 ahci: add device ID for 82801JI sata controller Add device ID for Intel 82801JI SATA AHCI controller. Signed-off-by: David Milburn Signed-off-by: Jeff Garzik commit 1e1f421a8137824127a41303a30493356b5da638 Author: Julia Lawall Date: Sat Jul 11 09:49:48 2009 +0200 drivers/ata: Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Jeff Garzik commit d0cb43b35d64877b2944bd37719708be5d7bbf99 Author: Tejun Heo Date: Thu Jul 9 09:27:50 2009 +0900 libata: implement and use HORKAGE_NOSETXFER, take#2 PIONEER DVD-RW DVRTD08 times out SETXFER if no media is present. The device is SATA and simply skipping SETXFER works around the problem. Implement ATA_HORKAGE_NOSETXFER and apply it to the device. Reported by Moritz Rigler in the following thread. http://thread.gmane.org/gmane.linux.ide/36790 and by Lars in bko#9540. Updated to whine and ignore NOSETXFER if PATA component is detected as suggested by Alan Cox. Signed-off-by: Tejun Heo Reported-by: Moritz Rigler Reported-by: Lars Cc: Alan Cox Signed-off-by: Jeff Garzik commit fe2c4d018fc6127610fef677e020b3bb41cfaaaf Author: Tejun Heo Date: Wed Jul 8 12:16:37 2009 +0900 libata: fix follow-up SRST failure path ata_eh_reset() was missing error return handling after follow-up SRST allowing EH to continue the normal probing path after reset failure. This was discovered while testing new WD 2TB drives which take longer than 10 secs to spin up and cause the first follow-up SRST to time out. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c9d4bc289cd1cd43c3cff97b73efe2b0b5098a92 Author: Zhaolei Date: Tue Jul 14 17:59:05 2009 +0800 z2ram: Small cleanup for z2ram.c We should use Z2MINOR_COUNT as range argument in blk_unregister_region() Signed-off-by: Zhao Lei Signed-off-by: Tejun Heo commit e9e961c9a818a2f24711af493b907a8e40a69efc Merge: 8aa651e 5933082 Author: Linus Torvalds Date: Tue Jul 14 18:40:15 2009 -0700 Merge branch 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-for-2631-rc3' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c: Use resource_size i2c-davinci: behave with i2cdetect i2c-davinci: convert clock usage after clkdev conversion commit 8aa651e23e2835b6d64381ce17447c995040ab30 Merge: d878fe2 a89d63a Author: Linus Torvalds Date: Tue Jul 14 18:37:24 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: free socket in error exit path dlm: fix plock use-after-free dlm: Fix uninitialised variable warning in lock.c commit d878fe2331219ff8518192b67f66699cb6d164e2 Merge: 62f4905 92bd3bb Author: Linus Torvalds Date: Tue Jul 14 18:37:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Add new ConnectX EN PCI ID 0x6764 mlx4_core: Handle multi-physical function devices commit 62f49052ac4b68152ddf742b78b2151ba20dbc28 Merge: 5be6717 6ff7041 Author: Linus Torvalds Date: Tue Jul 14 18:35:24 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: Fix migration expiry check hrtimer: migration: do not check expiry time on current CPU commit 5be6717e0d2493a20791d592e2d20fd2b2f62d44 Merge: 989fa94 2ad7664 Author: Linus Torvalds Date: Tue Jul 14 18:35:11 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix warning in pvclock.c x86, apic: Fix false positive section mismatch in numaq_32.c x86: Fix false positive section mismatch in es7000_32.c x86: Remove spurious printk level from segfault message commit 989fa940961faa9d51f073bafa58c2b5653d5969 Merge: c0c50b5 ce2ae53 Author: Linus Torvalds Date: Tue Jul 14 18:35:00 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futexes: Fix infinite loop in get_futex_key() on huge page commit c0c50b541a4b147c5c2572ed051420238c47f57a Merge: a376d44 6ab5d66 Author: Linus Torvalds Date: Tue Jul 14 18:34:32 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing/function-profiler: do not free per cpu variable stat tracing/events: Move TRACE_SYSTEM outside of include guard commit a376d446771710790f5f3425172b467bf8578e22 Merge: 6847e15 252aa9d Author: Linus Torvalds Date: Tue Jul 14 18:33:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." skbuff.h: Fix comment for NET_IP_ALIGN drivers/net: using spin_lock_irqsave() in net_send_packet() NET: phy_device, fix lock imbalance gre: fix ToS/DiffServ inherit bug igb: gcc-3.4.6 fix atlx: duplicate testing of MCAST flag NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. netdev: restore MTU change operation netdev: restore MAC address set and validate operations sit: fix regression: do not release skb->dst before xmit net: ip_push_pending_frames() fix net: sk_prot_alloc() should not blindly overwrite memory commit 593308259bbd335eda9c5280cdd1f7883c746211 Author: Julia Lawall Date: Sun Jul 5 08:37:50 2009 +0200 i2c: Use resource_size Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Signed-off-by: Ben Dooks commit 7605fa3b0aedbb6c77471517ba16753f276156d9 Author: David Brownell Date: Mon Jul 6 15:48:36 2009 -0700 i2c-davinci: behave with i2cdetect Make i2c-davinci cope properly with "i2cdetect": don't spew syslog spam on perfectly normal behaviors, or respond to any address other than the one reserved for the SMBus host. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Ben Dooks commit e164ddeeb82920c5b1470b6585767a000c8b0e45 Author: Kevin Hilman Date: Mon Jul 6 15:48:35 2009 -0700 i2c-davinci: convert clock usage after clkdev conversion DaVinci core code has converted to the new clkdev API so clock name strings are not needed. Instead, just the a 'struct device' pointer is needed. Signed-off-by: Kevin Hilman Signed-off-by: Ben Dooks commit dff33cfcefa31c30b72c57f44586754ea9e8f3e2 Author: Jesse Barnes Date: Tue Jul 14 10:15:56 2009 -0700 drm/i915: FIFO watermark calculation fixes I discovered several bugs in the FIFO code that was recently applied. Some of them fell into the "how did this ever work" category, since in some cases we were using the wrong FIFO size values, and the calculations ended up being way off. This patch fixes all the bugs I found, and works well on my GM45, 915GM and 855GM test machines; but as usual with these sorts of patches broader testing is definitely requested (in particular this patch affects 830, 845 and 865 for which I don't have test hardware). Overall, the patch clarifies the watermark calculation function by adding some comments and debug info, and making the variable names a bit clearer. The "get FIFO size" portion of the code has also been corrected, so we should be able to properly detect the FIFO allocations for each pipe, for use in the watermark calculation. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 9c9ad6162e2aa1e528ed687ccab87fe681ebbef1 Author: Abhishek Kulkarni Date: Tue Jul 14 13:26:52 2009 -0500 9p: Fix incorrect parameters to v9fs_file_readn. Fix v9fs_vfs_readpage. The offset and size parameters to v9fs_file_readn were interchanged and hence passed incorrectly. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit eedfe1c4289216af5a0a7f38e6b2c4d3f07c087f Author: Abhishek Kulkarni Date: Tue Jul 14 13:25:41 2009 -0500 9p: Possible regression in p9_client_stat Fix a possible regression with p9_client_stat where it can try to kfree an ERR_PTR after an erroneous p9pdu_readf. Also remove an unnecessary data buffer increment in p9_client_read. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit a17d1720aa35623a9bef3707b36242706714bca5 Author: Abhishek Kulkarni Date: Tue Jul 14 13:24:10 2009 -0500 9p: default 9p transport module fix The default 9p transport module is not chosen unless an option parameter (any) is passed to mount, which thus returns a ENOPROTOSUPPORT. This fix moves the check out of parse_opts into p9_client_create. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 252aa9d94a04252046f3a382e6aca1b5c95921d8 Author: David S. Miller Date: Tue Jul 14 13:13:41 2009 -0700 Revert "NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines." This reverts commit adeab1afb7de89555c69aab5ca21300c14af6369. As Alan Cox explained, the TTY layer changes that went recently to get rid of the tty->low_latency stuff fixes this already, and even for -stable it's the ->low_latency changes that should go in to fix this, rather than this patch. Signed-off-by: David S. Miller commit 8660c1240ec6016522b882c88751cb4ce40bf0e8 Author: Tobias Klauser Date: Mon Jul 13 22:48:16 2009 +0000 skbuff.h: Fix comment for NET_IP_ALIGN Use the correct function call for skb_reserve in the comment for NET_IP_ALIGN. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 79fbe134832ebb70a49d8802cfeb2401dc35bb38 Author: Dongdong Deng Date: Sun Jul 12 20:27:06 2009 +0000 drivers/net: using spin_lock_irqsave() in net_send_packet() spin_unlock_irq() will enable interrupt in net_send_packet(), this patch changes it to spin_lock_irqsave/spin_lock_irqrestore, so that it doesn't enable interrupts when already disabled, and netconsole would work properly over cs89x0/isa-skeleton. Call trace: netconsole write_msg() { ... -> spin_lock_irqsave(); -> netpoll_send_udp() -> netpoll_send_skb() -> net_send_packet() ->... -> spin_unlock_irqrestore(); ... } Signed-off-by: Dongdong Deng Signed-off-by: David S. Miller commit bc23283c7bc90958927abe26eedc562701743a88 Author: Jiri Slaby Date: Mon Jul 13 11:23:39 2009 +0000 NET: phy_device, fix lock imbalance Don't forget to unlock a mutex in phy_scan_fixups on a fail path. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit a89d63a159b1ba5833be2bef00adf8ad8caac8be Author: Casey Dahlin Date: Tue Jul 14 12:17:51 2009 -0500 dlm: free socket in error exit path In the tcp_connect_to_sock() error exit path, the socket allocated at the top of the function was not being freed. Signed-off-by: Casey Dahlin Signed-off-by: David Teigland commit ee686ca919193d7c1f87f907e732df5e2f942523 Author: Andreas Jaggi Date: Tue Jul 14 09:35:59 2009 -0700 gre: fix ToS/DiffServ inherit bug Fixes two bugs: - ToS/DiffServ inheritance was unintentionally activated when using impair fixed ToS values - ECN bit was lost during ToS/DiffServ inheritance Signed-off-by: Andreas Jaggi Signed-off-by: David S. Miller commit 2ad76643ff58bb8841f391ea8327c14abe273ea3 Author: Dave Jones Date: Mon Jul 13 16:14:37 2009 -0400 x86: Fix warning in pvclock.c when building 32-bit, I see this .. arch/x86/kernel/pvclock.c:63:7: warning: "__x86_64__" is not defined Signed-off-by: Dave Jones LKML-Reference: <20090713201437.GA12165@redhat.com> Signed-off-by: Thomas Gleixner commit f936601471d1454dacbd3b2a961fd4d883090aeb Author: Daniel Mack Date: Mon Jul 13 22:22:49 2009 -0700 Input: fix EVIOCGNAME/JSIOCGNAME regression Commit 3d5cb60e ("Input: simplify name handling for certain input handles") introduced a regression for the EVIOCGNAME/JSIOCGNAME ioctl. Before this, patch, the platform device's name was given back to userspace which was good to identify devices. After this patch, the device is ("event%d", minor) which is not descriptive at all. This fixes the behaviour by taking dev->name. Reported-by: Sven Neumann Signed-off-by: Daniel Mack Reviewed-by: Thadeu Lima de Souza Cascardo Signed-off-by: Dmitry Torokhov commit 4fed598a49c014cbc563179b25f2a4b8565e2a50 Author: Ryusuke Konishi Date: Sun Jul 12 11:13:55 2009 +0900 fs/Kconfig: move nilfs2 out fs/Kconfig file was split into individual fs/*/Kconfig files before nilfs was merged. I've found the current config entry of nilfs is tainting the work. Sorry, I didn't notice. This fixes the violation. Signed-off-by: Ryusuke Konishi Cc: Alexey Dobriyan commit 6847e154e3cd74fca6084124c097980a7634285a Author: Linus Torvalds Date: Mon Jul 13 18:18:52 2009 -0700 Linux 2.6.31-rc3 commit 1cf29683f4414296dc772a87caa207cab16c310c Merge: 4a390e0 96577c4 Author: Linus Torvalds Date: Mon Jul 13 16:39:25 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: jbd2: fix race between write_metadata_buffer and get_write_access ext4: Fix ext4_mb_initialize_context() to initialize all fields ext4: fix null handler of ioctls in no journal mode ext4: Fix buffer head reference leak in no-journal mode ext4: Move __ext4_journalled_writepage() to avoid forward declaration ext4: Fix mmap/truncate race when blocksize < pagesize && !nodellaoc ext4: Fix mmap/truncate race when blocksize < pagesize && delayed allocation ext4: Don't look at buffer_heads outside i_size. ext4: Fix goal inum check in the inode allocator ext4: fix no journal corruption with locale-gen ext4: Calculate required journal credits for inserting an extent properly ext4: Fix truncation of symlinks after failed write jbd2: Fix a race between checkpointing code and journal_get_write_access() ext4: Use rcu_barrier() on module unload. ext4: naturally align struct ext4_allocation_request ext4: mark several more functions in mballoc.c as noinline ext4: Fix potential reclaim deadlock when truncating partial block jbd2: Remove GFP_ATOMIC kmalloc from inside spinlock critical region ext4: Fix type warning on 64-bit platforms in tracing events header commit ed8c754b292f02d0550596481527b7bf2b52d024 Author: Tormod Volden Date: Mon Jul 13 22:26:48 2009 +0200 drm/i915: ignore lvds on AOpen Mini PC MP-915 This motherboard thinks it has an LVDS connected, so without this patch the screen goes blank on the connected VGA monitor. More information (for the non-KMS case) in fd.o bug #18004. Signed-off-by: Tormod Volden Signed-off-by: Eric Anholt commit 5e4d6fa72619aeea271d2ad704757717b06e291a Author: Keith Packard Date: Sun Jul 12 23:53:17 2009 -0700 drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware The 915 and 945 scanout engines can handle frame buffers up to 4096 pixels wide. Pre-9xx hardware has an 8192 byte stride limit, and so we leave the existing 2048 max in place. I'm not sure why we limit the height to the same value; there's no intrinsic hardware limit in the scanout engine. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 8a90523639f49dc4b4fa7ae47bb9c8ed73ea8577 Author: Jesse Barnes Date: Sat Jul 11 16:48:03 2009 -0400 drm/i915: refactor error detection & collection This patch refactors the existing error detection and collection code, placing most of it in i915_handle_error(). Additionally, we introduce a work queue for scheduling post-crash tasks such as generating a uevent. Using the uevent facility, userspace should be able to capture a post-mortem dump for diagnostics. Signed-off-by: Jesse Barnes Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit 832cc28d5bc676331e6376d940ae45d5937aa688 Author: Florian Mickler Date: Mon Jul 13 18:40:32 2009 +0800 drm/i915: Set lvds dual channel according to register from vbios Vbios will set lvds register correctly based on current algorithm for lingle/dual Channel LVDS when system boot, so we can accept this configuration directly, regardless of LVDS enable status. It fixed freedesktop.org bug #22262 Signed-off-by: Florian Mickler Signed-off-by: Eric Anholt commit 96577c43827697ca1af5982fa256a34786d0c720 Author: dingdinghua Date: Mon Jul 13 17:55:35 2009 -0400 jbd2: fix race between write_metadata_buffer and get_write_access The function jbd2_journal_write_metadata_buffer() calls jbd_unlock_bh_state(bh_in) too early; this could potentially allow another thread to call get_write_access on the buffer head, modify the data, and dirty it, and allowing the wrong data to be written into the journal. Fortunately, if we lose this race, the only time this will actually cause filesystem corruption is if there is a system crash or other unclean shutdown of the system before the next commit can take place. Signed-off-by: dingdinghua Signed-off-by: "Theodore Ts'o" commit c8159b2db1b49f6bda4429008c85108e2da60712 Author: Eric Dumazet Date: Mon Jul 13 11:11:41 2009 -0700 igb: gcc-3.4.6 fix forward declaration of inline function should be avoided, or old gcc cannot compile. Reported-by: Teck Choon Giam Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 41796e91a2a30fd82a0fd561022489b61f8a3188 Author: roel kluin Date: Sun Jul 12 13:12:37 2009 +0000 atlx: duplicate testing of MCAST flag Fix duplicate testing of MCAST flag Signed-off-by: Roel Kluin Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit 4a390e07fc53ce9dd615d7b788e9ecc73f87ad94 Merge: a4dc323 f638718 Author: Linus Torvalds Date: Mon Jul 13 10:24:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: stlc45xx: convert config_interface to bss_info_changed, fixing a build error Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board Staging: prevent rtl8192su from crashing dev_ioctl in SIOCGIWNAME Staging: prevent rtl8187se from crashing dev_ioctl() in SIOCGIWNAME Staging: rtl8192su: convert to net_device_ops Staging: serqt_usb2: declare qt_open static in serqt_usb2 Staging: serqt_usb2: fix qt_close parameters in serqt_usb2 Staging: comedi: jr3_pci.c: add required includes Staging: meilhaus: add email address to TODO Staging: rspiusb: use NULL virtual address instead of a bogus one Staging: vt6655: compile fix Staging: rt2870: Add USB ID for Sitecom WL-608 commit a4dc32374ed6dd56e09039ea8b7151c3a3e2307d Merge: 51feb98 38c7dc3 Author: Linus Torvalds Date: Mon Jul 13 10:24:08 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: wm97xx_batery: replace driver_data with dev_get_drvdata() omap: video: remove direct access of driver_data Sound: remove direct access of driver_data driver model: fix show/store prototypes in doc. Firmware: firmware_class, fix lock imbalance Driver Core: remove BUS_ID_SIZE sparc: remove driver-core BUS_ID_SIZE partitions: fix broken uevent_suppress conversion devres: WARN() and return, don't crash on device_del() of uninitialized device commit 51feb98d2547a389be2f666514f5bcd658f79eab Merge: 8f8f013 dc7520c Author: Linus Torvalds Date: Mon Jul 13 10:23:03 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (48 commits) USB: otg: fix module reinsert issue USB: handle zero-length usbfs submissions correctly USB: EHCI: report actual_length for iso transfers USB: option: remove unnecessary and erroneous code USB: cypress_m8: remove invalid Clear-Halt USB: musb_host: undo incorrect change in musb_advance_schedule() USB: fix LANGID=0 regression USB: serial: sierra driver id_table additions USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter. USB: fix race leading to a write after kfree in usbfs USB: Sierra: fix oops upon device close USB: option.c: add A-Link 3GU device id USB: Serial: Add support for Arkham Technology adapters USB: Fix option_ms regression in 2.6.31-rc2 USB: gadget audio: select SND_PCM USB: ftdi: support NDI devices Revert USB: usbfs: deprecate and hide option for !embedded USB: usb.h: fix kernel-doc notation USB: RNDIS gadget, fix issues talking from PXA USB: serial: FTDI with product code FB80 and vendor id 0403 ... commit 8f8f013478133eb98e35e1d669c98c5e39d769c7 Author: Dave Kleikamp Date: Mon Jul 13 11:02:24 2009 -0500 update JFS entry in MAINTAINERS JFS hasn't really been supported for a while. It's still maintained, but saying it's supported is a stretch. Updating my preferred email address as well. Signed-off-by: Dave Kleikamp Signed-off-by: Linus Torvalds commit 5fddcdb70fd9e8fd52d42ed52a572fecb8eb7cde Author: Huang Weiyi Date: Mon Jul 13 15:09:25 2009 +0100 mn10300: remove duplicated #include Remove duplicated #include('s) in arch/mn10300/kernel/sys_mn10300.c Signed-off-by: Huang Weiyi Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 1d03d2bd6e6421224d618b120348bd5ee328d96a Author: Jean Delvare Date: Mon Jul 13 12:39:05 2009 +0200 Fix staging drivers after smp_lock.h redux Commit 405f55712dfe464b3240d7816cc4fe4174831be2 ("headers: smp_lock.h redux") broke the build of two staging drivers. Fix them. Signed-off-by: Jean Delvare Cc: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 833576b362e15c38be3bfe43942cda693e56287c Author: Theodore Ts'o Date: Mon Jul 13 09:45:52 2009 -0400 ext4: Fix ext4_mb_initialize_context() to initialize all fields Pavel Roskin pointed out that kmemcheck indicated that ext4_mb_store_history() was accessing uninitialized values of ac->ac_tail and ac->ac_buddy leading to garbage in the mballoc history. Fix this by initializing the entire structure to all zeros first. Also, two fields were getting doubly initialized by the caller of ext4_mb_initialize_context, so remove them for efficiency's sake. Signed-off-by: "Theodore Ts'o" commit ac046f1d6121ccdda6db66bd88acd52418f489b2 Author: Peng Tao Date: Mon Jul 13 09:30:17 2009 -0400 ext4: fix null handler of ioctls in no journal mode The EXT4_IOC_GROUP_ADD and EXT4_IOC_GROUP_EXTEND ioctls should not flush the journal in no_journal mode. Otherwise, running resize2fs on a mounted no_journal partition triggers the following error messages: BUG: unable to handle kernel NULL pointer dereference at 00000014 IP: [] _spin_lock+0x8/0x19 *pde = 00000000 Oops: 0002 [#1] SMP Signed-off-by: Peng Tao Signed-off-by: "Theodore Ts'o" commit e6b5d30104db5f34110678ecab14988f1f1eff63 Author: Curt Wohlgemuth Date: Mon Jul 13 09:07:20 2009 -0400 ext4: Fix buffer head reference leak in no-journal mode We found a problem with buffer head reference leaks when using an ext4 partition without a journal. In particular, calls to ext4_forget() would not to a brelse() on the input buffer head, which will cause pages they belong to to not be reclaimable. Further investigation showed that all places where ext4_journal_forget() and ext4_journal_revoke() are called are subject to the same problem. The patch below changes __ext4_journal_forget/__ext4_journal_revoke to do an explicit release of the buffer head when the journal handle isn't valid. Signed-off-by: Curt Wohlgemuth Signed-off-by: "Theodore Ts'o" commit 7473727be884293c8171775a148e1d174d1606e6 Author: Rakib Mullick Date: Sun Jul 12 17:07:19 2009 +0600 x86, apic: Fix false positive section mismatch in numaq_32.c The variable apic_numaq placed in noninit section references the function wakeup_secondary_cpu_via_nmi(), which is in __cpuinit section. Thus causes a section mismatch warning. To avoid such mismatch we mark apic_numaq as __refdata. We were warned by the following warning: WARNING: arch/x86/kernel/built-in.o(.data+0x932c): Section mismatch in reference from the variable apic_numaq to the function .cpuinit.text:wakeup_secondary_cpu_via_nmi() Signed-off-by: Rakib Mullick LKML-Reference: Signed-off-by: Ingo Molnar commit 151586d0f70405d99324d89aea13706cf6d7f993 Author: Rakib Mullick Date: Sun Jul 12 17:04:12 2009 +0600 x86: Fix false positive section mismatch in es7000_32.c The variable apic_es7000_cluster references the function __cpuinit wakeup_secondary_cpu_via_mip() from a noninit section. So we've been warned by the following warning. To avoid possible collision between init/noninit, its best to mark the variable as __refdata. We were warned by the following warning: LD arch/x86/kernel/apic/built-in.o WARNING: arch/x86/kernel/apic/built-in.o(.data+0x198c): Section mismatch in reference from the variable apic_es7000_cluster to the function .cpuinit.text:wakeup_secondary_cpu_via_mip() Signed-off-by: Rakib Mullick LKML-Reference: Signed-off-by: Ingo Molnar commit 6ab5d668b131d3c5416f6df1d3ca95b82d4fe8a2 Author: Steven Rostedt Date: Thu Jun 4 00:55:45 2009 -0400 tracing/function-profiler: do not free per cpu variable stat The per cpu variable stat is freeded if we fail to allocate a name on start up. This was due to stat at first being allocated in the initial design. But since then, it has become a static per cpu variable but the free on error was not removed. Also added __init annotation to the function that this is in. [ Impact: prevent possible memory corruption on low mem at boot up ] Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit d0b6e04a4cd8360e3c9c419f7c30a3081a0c142a Author: Li Zefan Date: Mon Jul 13 10:33:21 2009 +0800 tracing/events: Move TRACE_SYSTEM outside of include guard If TRACE_INCLDUE_FILE is defined, will be included and compiled, otherwise it will be So TRACE_SYSTEM should be defined outside of #if proctection, just like TRACE_INCLUDE_FILE. Imaging this scenario: #include -> TRACE_SYSTEM == foo ... #include -> TRACE_SYSTEM == bar ... #define CREATE_TRACE_POINTS #include -> TRACE_SYSTEM == bar !!! and then bar.h will be included and compiled. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A5A9CF1.2010007@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 23cdb5d5171d591ec911aada682e09d53c14a810 Author: Roel Kluin Date: Mon Jul 13 02:25:47 2009 +0200 perf_counter tools: Fix index boundary check Keep index within event_type_descriptors[] Signed-off-by: Roel Kluin Cc: Andrew Morton Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4A5A7F0B.4070106@gmail.com> Signed-off-by: Ingo Molnar commit d4d7d0b9545721d3cabb19d15163bbc66b797707 Author: Chris Wilson Date: Mon Jul 6 09:31:33 2009 +0100 perf_counter: Fix the tracepoint channel to perfcounters Fix a missed rename in EVENT_PROFILE support so that it gets built and allows tracepoint tracing from the 'perf' tool. Fix a typo in the (never before built & enabled) portion in perf_counter.c as well, and update that code to the attr.config changes as well. Signed-off-by: Chris Wilson Cc: Ben Gamari Cc: Jason Baron Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <1246869094-21237-1-git-send-email-chris@chris-wilson.co.uk> Signed-off-by: Ingo Molnar commit f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac Author: Daniel Qarras Date: Sun Jul 12 04:32:40 2009 -0700 perf_counter, x86: Extend perf_counter Pentium M support I've attached a patch to remove the Pentium M special casing of EMON and as noticed at least with my Pentium M the hardware PMU now works: Performance counter stats for '/bin/ls /var/tmp': 1.809988 task-clock-msecs # 0.125 CPUs 1 context-switches # 0.001 M/sec 0 CPU-migrations # 0.000 M/sec 224 page-faults # 0.124 M/sec 1425648 cycles # 787.656 M/sec 912755 instructions # 0.640 IPC Vince suggested that this code was trying to address erratum Y17 in Pentium-M's: http://download.intel.com/support/processors/mobile/pm/sb/25266532.pdf But that erratum (related to IA32_MISC_ENABLES.7) does not affect perfcounters as we dont use this toggle to disable RDPMC and WRMSR/RDMSR access to performance counters. We keep cr4's bit 8 (X86_CR4_PCE) clear so unprivileged RDPMC access is not allowed anyway. Cc: Vince Weaver Cc: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit f0a14de2f82dd6aa13e04816da2091c7ed0f77cf Author: Simon Davie Date: Sun Jul 12 20:44:09 2009 -0700 Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525 This patch enables forced releasing of the Fn+Volume hotkeys on the Fujitsu Siemens Amilo Pi 3525 notebook. Signed-off-by: Simon Davie Signed-off-by: Dmitry Torokhov commit 35db715bfd3805b04aa233b9933b9facfa9a3290 Author: Frans Pop Date: Sun Jul 12 20:51:32 2009 -0700 Input: pcspkr - switch driver to dev_pm_ops Gets rid of the following warning: Platform driver 'pcspkr' needs updating - please use dev_pm_ops Signed-off-by: Frans Pop Signed-off-by: Dmitry Torokhov commit 70a6f2e6d6b8653d394b63210ec57b4c78f3dcd8 Author: Michael Gruber Date: Sun Jul 12 20:51:36 2009 -0700 Input: xpad - don't resend successfully sent outgoing requests This avoids an infinite loop. Signed-off-by: Michael Gruber Signed-off-by: Dmitry Torokhov commit e705cee427e319665969ef7ac664f3612dec8899 Author: Giuseppe Mazzotta Date: Sun Jul 12 21:02:27 2009 -0700 Input: wistron_btns - recognize Maxdata Pro 7000 notebooks This patch adds DMI information to automatically load the correct layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks are clones of Fujitsu Amilo V2000, the hook for the v2000 is being used and I have tested that perfectly works. The immediate result of integrating this patch is that the five special buttons will work on these specific notebook models and that the RF killswitch will not be activated after suspend. This patch definitively obsoletes the fsam7400 module which I was still needing to enable wifi and to fix the RF killswitch suspend problem; in the current 2.6.30 kernel it is necessary to load the wistron_btns module with options 'force=1 keymap=1557/MS2141', which was not anyway a complete workaround. Signed-off-by: Giuseppe Mazzotta Signed-off-by: Dmitry Torokhov commit adeab1afb7de89555c69aab5ca21300c14af6369 Author: Ralf Baechle Date: Sun Jul 12 21:09:20 2009 -0700 NET: Fix locking issues in PPP, 6pack, mkiss and strip line disciplines. Guido Trentalancia reports: I am trying to use the kiss driver in the Linux kernel that is being shipped with Fedora 10 but unfortunately I get the following oops: mkiss: AX.25 Multikiss, Hans Albas PE1AYX mkiss: ax0: crc mode is auto. ADDRCONF(NETDEV_CHANGE): ax0: link becomes ready ------------[ cut here ]------------ WARNING: at kernel/softirq.c:77 __local_bh_disable+0x2f/0x83() (Not tainted) [...] unloaded: microcode] Pid: 0, comm: swapper Not tainted 2.6.27.25-170.2.72.fc10.i686 #1 [] warn_on_slowpath+0x65/0x8b [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? __enqueue_entity+0xe3/0xeb [] ? enqueue_entity+0x203/0x20b [] ? enqueue_task_fair+0x3b/0x3f [] ? resched_task+0x3a/0x6e [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? _spin_lock_bh+0xb/0x16 [] __local_bh_disable+0x2f/0x83 [] local_bh_disable+0xb/0xd [] _spin_lock_bh+0xb/0x16 [] mkiss_receive_buf+0x2fb/0x3a6 [mkiss] [] flush_to_ldisc+0xf7/0x198 [] tty_flip_buffer_push+0x41/0x51 [] ftdi_process_read+0x375/0x4ad [ftdi_sio] [] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio] [] usb_hcd_giveback_urb+0x63/0x93 [] uhci_giveback_urb+0xe5/0x15f [] uhci_scan_schedule+0x52e/0x767 [] ? psmouse_handle_byte+0xc/0xe5 [] ? acpi_ev_gpe_detect+0xd6/0xe1 [] uhci_irq+0x110/0x125 [] usb_hcd_irq+0x40/0xa3 [] handle_IRQ_event+0x2f/0x64 [] handle_level_irq+0x74/0xbe [] ? handle_level_irq+0x0/0xbe [] do_IRQ+0xc7/0xfe [] common_interrupt+0x28/0x30 [] ? acpi_idle_enter_simple+0x162/0x19d [] cpuidle_idle_call+0x60/0x92 [] cpu_idle+0x101/0x134 [] rest_init+0x4e/0x50 ======================= ---[ end trace b7cc8076093467ad ]--- ------------[ cut here ]------------ WARNING: at kernel/softirq.c:136 _local_bh_enable_ip+0x3d/0xc4() [...] Pid: 0, comm: swapper Tainted: G W 2.6.27.25-170.2.72.fc10.i686 [] warn_on_slowpath+0x65/0x8b [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? __enqueue_entity+0xe3/0xeb [] ? enqueue_entity+0x203/0x20b [] ? enqueue_task_fair+0x3b/0x3f [] ? resched_task+0x3a/0x6e [] ? _spin_unlock_irqrestore+0x22/0x38 [] ? _spin_lock_bh+0xb/0x16 [] ? mkiss_receive_buf+0x33d/0x3a6 [mkiss] [] _local_bh_enable_ip+0x3d/0xc4 [] local_bh_enable_ip+0x8/0xa [] _spin_unlock_bh+0x11/0x13 [] mkiss_receive_buf+0x33d/0x3a6 [mkiss] [] flush_to_ldisc+0xf7/0x198 [] tty_flip_buffer_push+0x41/0x51 [] ftdi_process_read+0x375/0x4ad [ftdi_sio] [] ftdi_read_bulk_callback+0x130/0x138 [ftdi_sio] [] usb_hcd_giveback_urb+0x63/0x93 [] uhci_giveback_urb+0xe5/0x15f [] uhci_scan_schedule+0x52e/0x767 [] ? psmouse_handle_byte+0xc/0xe5 [] ? acpi_ev_gpe_detect+0xd6/0xe1 [] uhci_irq+0x110/0x125 [] usb_hcd_irq+0x40/0xa3 [] handle_IRQ_event+0x2f/0x64 [] handle_level_irq+0x74/0xbe [] ? handle_level_irq+0x0/0xbe [] do_IRQ+0xc7/0xfe [] common_interrupt+0x28/0x30 [] ? acpi_idle_enter_simple+0x162/0x19d [] cpuidle_idle_call+0x60/0x92 [] cpu_idle+0x101/0x134 [] rest_init+0x4e/0x50 ======================= ---[ end trace b7cc8076093467ad ]--- mkiss: ax0: Trying crc-smack mkiss: ax0: Trying crc-flexnet The issue was, that the locking code in mkiss was assuming it was only ever being called in process or bh context. Fixed by converting the involved locking code to use irq-safe locks. Review of other networking line disciplines shows that 6pack, both sync and async PPP and STRIP have similar issues. The ppp_async one is the most interesting one as it sorts out half of the issue as far back as 2004 in commit http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=2996d8deaeddd01820691a872550dc0cfba0c37d Signed-off-by: Ralf Baechle Reported-by: Guido Trentalancia Signed-off-by: David S. Miller commit dc7520c17982ca4232233d2781e5cde29e58fbad Author: Ajay Kumar Gupta Date: Fri Jul 3 13:18:45 2009 +0530 USB: otg: fix module reinsert issue Platform_device instance (pd) is not set to NULL in usb_nop_xceiv_unregister() causing usb_nop_xceiv_register() to fail during module reinsert. From: Ajay Kumar Gupta Signed-off-by: Babu Ravi Acked-by: David Brownell commit 9180135bc80ab11199d482b6111e23f74d65af4a Author: Alan Stern Date: Mon Jun 29 11:04:54 2009 -0400 USB: handle zero-length usbfs submissions correctly This patch (as1262) fixes a bug in usbfs: It refuses to accept zero-length transfers, and it insists that the buffer pointer be valid even if there is no data being transferred. The patch also consolidates a bunch of repetitive access_ok() checks into a single check, which incidentally fixes the lack of such a check for Isochronous URBs. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit ec6d67e39f5638c792eb7490bf32586ccb9d8005 Author: Alan Stern Date: Mon Jun 29 14:34:59 2009 -0400 USB: EHCI: report actual_length for iso transfers This patch (as1259b) makes ehci-hcd return the total number of bytes transferred in urb->actual_length for Isochronous transfers. Until now, the actual_length value was unaccountably left at 0. Signed-off-by: Alan Stern Acked-by: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit f092c240494f2d807401d93f95f683909b90af96 Author: Alan Stern Date: Thu Jul 9 12:58:43 2009 -0400 USB: option: remove unnecessary and erroneous code This patch (as1264) removes a bunch of unnecessary and erroneous stuff from the option USB-serial driver. Clearly there's no need to verify that the device pointer stored in the URBs is right or to store the same pointer over again. After all, the pointer can't change once it has been set up. There's also no need to call usb_clear_halt for the IN endpoint multiple times -- in fact, doing so is an error since every time after the first there will be active URBs queued for that endpoint. Since the Clear-Halts don't appear to be needed at all, the patch simply removes them. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4d2fae8b3597bc787f1f1c06637ce5ab8187e5a7 Author: Alan Stern Date: Thu Jul 9 12:59:57 2009 -0400 USB: cypress_m8: remove invalid Clear-Halt This patch (as1265) removes an erroneous call to usb_clear_halt from the cypress_m8 driver. The call isn't valid because it is made from interrupt context whereas usb_clear_halt is a blocking routine. Presumably the code has never been executed; if it did it would cause an oops. So instead treat -EPIPE like any other sort of unexplained error. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1fe975f9302e6c5a8f66401e305685396b2e4577 Author: Sergei Shtylyov Date: Fri Jul 10 20:02:44 2009 +0300 USB: musb_host: undo incorrect change in musb_advance_schedule() Commit c9cd06b3d6ea825c62e277def929cc4315802b48 (musb_host: refactor URB giveback) included due to my overlook the change incorrect in the context of the current kernel -- undo it. Signed-off-by: Sergei Shtylyov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 0cce2eda19923e5e5ccc8b042dec5af87b3ffad0 Author: Daniel Mack Date: Fri Jul 10 11:04:58 2009 +0200 USB: fix LANGID=0 regression commit b7af0bb ("USB: allow malformed LANGID descriptors") broke support for devices without string descriptor support. Reporting string descriptors is optional to USB devices, and a device lets us know it can't deal with strings by responding to the LANGID request with a STALL token. The kernel handled that correctly before b7af0bb came in, but failed hard if the LANGID was reported but broken. More than that, if a device was not able to provide string descriptors, the LANGID was retrieved over and over again at each string read request. This patch changes the behaviour so that a) the LANGID is only queried once b) devices which can't handle string requests are not asked again c) devices with malformed LANGID values have a sane fallback to 0x0409 Signed-off-by: Daniel Mack Acked-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit c5f3d87d61a116fdf2e4a2804d5e32cf8a4eeac7 Author: Elina Pasheva Date: Thu Jul 9 17:55:18 2009 -0700 USB: serial: sierra driver id_table additions - Updated the id_table with all devices that Sierra Wireless currently support - Re-ordered the contents of the id_table for better readability Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 145114125cf07afc91e5b132ec41c353284cdb2a Author: Krzysztof Halasa Date: Fri Jul 10 01:06:23 2009 +0200 USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter. Adds USB ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter. Signed-off-by: Krzysztof Ha³asa Signed-off-by: Greg Kroah-Hartman commit 516a1a07f0219d6672fb6b8e49fb9d5d533c2e89 Author: Oliver Neukum Date: Wed Jul 8 19:09:23 2009 +0200 USB: fix race leading to a write after kfree in usbfs this fixes a race between async_completed() and proc_reapurbnonblock(). CPU A CPU B spin_lock(&ps->lock); list_move_tail(&as->asynclist, &ps->async_completed); spin_unlock(&ps->lock); if (!(as = async_getcompleted(ps))) return -EAGAIN; return processcompl(as, (void __user * __user *)arg); processcompl() calls free_async() which calls kfree(as) as->status = urb->status; if (as->signr) { sinfo.si_signo = as->signr; sinfo.si_errno = as->status; sinfo.si_code = SI_ASYNCIO; sinfo.si_addr = as->userurb; kill_pid_info_as_uid(as->signr, &sinfo, as->pid, as->uid, as->euid, as->secid); } snoop(&urb->dev->dev, "urb complete\n"); snoop_urb(urb, as->userurb); write after kfree Signed-off-by: Oliver Neukum commit 7bae0a070db4bc2761dd9515f450cdfa3f3f248c Author: Alan Stern Date: Tue Jul 7 09:50:14 2009 -0400 USB: Sierra: fix oops upon device close This patch (as1263) fixes a mixup that occurred when conflicting patches for the sierra driver were merged incorrectly. The former sierra_shutdown routine should have been become sierra_release, not sierra_disconnect. The symptom this fixes is an oops when the device file is closed after a Sierra device has been unplugged (Bugzilla #13675). Signed-off-by: Alan Stern Tested-by: Peter Naulls Signed-off-by: Greg Kroah-Hartman commit c3325eb16d36a49f9a5ae09241c418cfd1d3f4f5 Author: Anssi Hannula Date: Mon Jul 6 19:08:59 2009 +0300 USB: option.c: add A-Link 3GU device id Add A-Link 3GU device id 1e0e:9200 into option driver. The device has 4 interfaces, of which 1 is handled by storage and the other 3 by option driver. The device appears first as CD-only 1e0e:f000 device and must be switched to 1e0e:9200 mode either by using "eject CD" or usb_modeswitch. For the record, the device does not work with generic usbserial driver (usb disconnect when sending the ATDT command). Signed-off-by: Anssi Hannula Signed-off-by: Greg Kroah-Hartman commit 0601e116e30caf35520522cb621d05866663cab2 Author: Amit Kucheria Date: Mon Jul 6 14:19:59 2009 +0300 USB: Serial: Add support for Arkham Technology adapters As reported by David Potts from Arkham Technology, the current driver works with their hardware on addition of the device ids. Signed-off-by: Amit Kucheria Signed-off-by: Greg Kroah-Hartman commit 2ab2178c3303583a0551f6b6bf4ba070afbf875f Author: Jonathan McDowell Date: Sun Jul 5 12:29:51 2009 +0100 USB: Fix option_ms regression in 2.6.31-rc2 Commit 32ebbe7b6ad44ae9c276419710b56de6ba705303 which filters the SCSI REZERO command in option_ms based on a SCSI INQUIRY with a vendor of Option breaks my Option Icon 225 (0af0:6971). This device returns a vendor of ZCOPTION for the ZeroCD device. The following trivial patch fixes things for me. Signed-Off-By: Jonathan McDowell Signed-off-by: Greg Kroah-Hartman commit 04950737d6bed9d234483216ee36ed760d9404eb Author: Randy Dunlap Date: Fri Jul 3 13:26:57 2009 -0700 USB: gadget audio: select SND_PCM Fix USB gadget audio: select SND_PCM, like many other sound drivers do, to fix build errors: drivers/built-in.o: In function `f_audio_playback_work': audio.c:(.text+0x15a3e7): undefined reference to `snd_pcm_kernel_ioctl' audio.c:(.text+0x15a471): undefined reference to `snd_pcm_lib_write' drivers/built-in.o: In function `_snd_pcm_hw_param_set': audio.c:(.text+0x15aca7): undefined reference to `snd_interval_refine' drivers/built-in.o: In function `gaudio_setup': (.init.text+0x12adf): undefined reference to `_snd_pcm_hw_params_any' drivers/built-in.o: In function `gaudio_setup': (.init.text+0x12b43): undefined reference to `snd_pcm_kernel_ioctl' Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b760dac290c3482e6883d5f79a2357c82239a3ff Author: Martin Geleynse Date: Thu Jul 2 13:10:35 2009 -0400 USB: ftdi: support NDI devices It enhances the driver for FTDI-based USB serial adapters to recognize and support Northern Digital Inc (NDI) measurement equipment. NDI has been providing this patch for various kernel flavors for several years and we would like to see these changes built in to the driver so that our equipement works without the need for customers to patch the kernel themselves. The patch makes small modifications to 2 files: ./drivers/usb/serial/ftdi_sio.c and ./drivers/usb/serial/ftdi_sio.h. It accomplishes 3 things: 1. Define the VID and PIDs to allow the driver to recognize the NDI devices. 2. Map the 19200 baud rate setting to our higher baud rate of 1.2Mb We would have chosen to map 38400 to the higher rate, similar to what several other vendors have done, but some of our legacy customers actually use 38400, therefore we remap 19200 to the higher rate. 3. We set the default transmit latency in the FTDI chip to 1ms for our devices. Our devices are typically polled at 60Hz and the default ftdi latency seriously affects turn-around time and results in missed data frames. We have created a modprobe option that allows this setting to be increased. This has proven necessary particularly in some virtualized environments. Signed-off-by: Martin P. Geleynse Signed-off-by: Greg Kroah-Hartman commit e12df02a171d1c10ee664e6571c0e4cb7e1b7c92 Author: Greg Kroah-Hartman Date: Thu Jul 9 21:35:49 2009 -0700 Revert USB: usbfs: deprecate and hide option for !embedded This reverts commit cc71329b3b89b4a5be849b617f2c4f151f0b9213, so that Red Hat machines can boot properly. It seems that the Red Hat initrd code tries to watch the /proc/bus/usb/devices file to monitor usb devices showing up. While this task is prone to lots of races and does not show the true state of the system, they seem to like it. So for now, don't move this option under the EMBEDDED config option. Cc: Scott James Remnant Cc: Kay Sievers Cc: Dave Airlie Cc: Peter Jones Cc: Jeff Chua Cc: Dave Jones Signed-off-by: Greg Kroah-Hartman commit e376bbbb6a82cf119c93bde66937f66c72cba27b Author: Randy Dunlap Date: Thu Jun 18 10:39:11 2009 -0700 USB: usb.h: fix kernel-doc notation Fix usb.h kernel-doc warnings: Warning(include/linux/usb.h:918): Excess struct/union/enum/typedef member 'nodename' description in 'usb_device_driver' Warning(include/linux/usb.h:939): No description found for parameter 'nodename' Warning(include/linux/usb.h:1219): No description found for parameter 'sg' Warning(include/linux/usb.h:1219): No description found for parameter 'num_sgs' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 4e19f220d4e84f5728cb7edde36352ab425cfba4 Author: David Brownell Date: Fri Jun 19 03:09:04 2009 -0700 USB: RNDIS gadget, fix issues talking from PXA The reworked Ethernet gadget has an RNDIS interop problem when used with the CDC subset driver ... e.g. on PXA 2xx and 3xx hardware, which currently has a hard time talking to MS-Windows hosts. The issue is that Microsoft requires USB_CLASS_COMM. Fix by tweaking the CDC subset driver to not switch to USB_CLASS_VENDOR_SPEC if RNDIS is used in some other device configuration. [ UPDATED: some "statements" were comma-terminated; fix that. ] Signed-off-by: David Brownell Cc: Aric Blumer Cc: stable Signed-off-by: Greg Kroah-Hartman commit b34efeeab84e0887b30fee101612a72786ddced2 Author: Folkert van Heusden Date: Fri Jun 19 22:14:42 2009 +0200 USB: serial: FTDI with product code FB80 and vendor id 0403 It seems an USB device with vendor id 0403 and product code FB80 has an FTDI serial io chip as well: http://ftdichip.com/Drivers/D2XX.htm This device in fact is a true random generantor by comsci: http://comscire.com/Products/R2000KU/ So the following patch should add support for this device if I am correct. Not tested as I do not own this device (I would like support in the kernel so that my entropybroker application (which distributes entrop data (random values) between servers and clients)). From: Folkert van Heusden Signed-off-by: Greg Kroah-Hartman commit 6e4061210150d1d6d388c5fba05f6b49a306a27e Author: Jason Wessel Date: Mon Jun 22 11:32:20 2009 -0500 USB: console: Fix regression in usb console on kernel boot The commit 335f8514f200e63d689113d29cb7253a5c282967 introduced a regression which stopped usb consoles from working correctly as a kernel boot console as well as interactive login device. The addition of the serial_close() which in turn calls tty_port_close_start() will change the reference count of port.count and warn about it. The usb console code had previously incremented the port.count to indicate it was making use of the device as a console and the forced change causes a double open on the usb device which leads to a non obvious kernel oops later on when the tty is freed. To fix the problem instead make use of port->console to track if the port is in fact an active console port to avoid double initialization of the usb serial device. The port.count is incremented and decremented only with in the scope of usb_console_setup() for the purpose of the low level driver initialization. Signed-off-by: Jason Wessel Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit bf7fbb022f0a3da27a2bcf8d7c973c813d942384 Author: Frans Pop Date: Fri Jun 26 16:10:19 2009 +0200 USB: add missing class descriptions used in usb/devices file Added descriptions (for WIRELESS_CONTROLLER and MISC) were taken from the usb-devices script now included in usbutils. Also sort the classes in the same order as in include/linux/usb/ch9.h for easier comparison for future updates. Signed-off-by: Frans Pop Signed-off-by: Greg Kroah-Hartman commit d794a02111cd3393da69bc7d6dd2b6074bd037cc Author: Oliver Neukum Date: Sun Jun 28 23:34:14 2009 +0200 USB: fix memleak in usbfs This patch fixes a memory leak in devio.c::processcompl If writing to user space fails the packet must be discarded, as it already has been removed from the queue of completed packets. Signed-off-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit ba516de332c0e574457e58fb5aa0293e628b7b10 Author: Alan Stern Date: Mon Jun 29 17:36:14 2009 -0400 USB: EHCI: check for STALL before other errors This patch (as1257) revises the way ehci-hcd detects STALLs. The logic is a little peculiar because there's no hardware status bit specifically meant to indicate a STALL. You just have to guess that a STALL was received if the BABBLE bit (which is fatal) isn't set and the transfer stopped before all its retries were used up. The existing code doesn't do this properly, because it tests for MMF (Missed MicroFrame) and DBE (Data Buffer Error) before testing the retry counter. Thus, if a transaction gets either MMF or DBE the corresponding flag is set and the transaction is retried. If the second attempt receives a STALL then -EPIPE is the correct return value. But the existing code would see the MMF or DBE flag instead and return -EPROTO, -ENOSR, or -ECOMM. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 914b701280a76f96890ad63eb0fa99bf204b961c Author: Alan Stern Date: Mon Jun 29 10:47:30 2009 -0400 USB: EHCI: use the new clear_tt_buffer interface This patch (as1256) changes ehci-hcd and all the other drivers in the EHCI family to make use of the new clear_tt_buffer callbacks. When a Clear-TT-Buffer request is in progress for a QH, the QH is not allowed to be linked into the async schedule until the request is finished. At that time, if there are any URBs queued for the QH, it is linked into the async schedule. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit cb88a1b887bb8908f6e00ce29e893ea52b074940 Author: Alan Stern Date: Mon Jun 29 10:43:32 2009 -0400 USB: fix the clear_tt_buffer interface This patch (as1255) updates the interface for calling usb_hub_clear_tt_buffer(). Even the name of the function is changed! When an async URB (i.e., Control or Bulk) going through a high-speed hub to a non-high-speed device is cancelled or fails, the hub's Transaction Translator buffer may be left busy still trying to complete the transaction. The buffer has to be cleared; that's what usb_hub_clear_tt_buffer() does. It isn't safe to send any more URBs to the same endpoint until the TT buffer is fully clear. Therefore the HCD needs to be told when the Clear-TT-Buffer request has finished. This patch adds a callback method to struct hc_driver for that purpose, and makes the hub driver invoke the callback at the proper time. The patch also changes a couple of names; "hub_tt_kevent" and "tt.kevent" now look rather antiquated. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 87ea8c887905d8b13ae90b537117592ed027632a Author: Oliver Neukum Date: Tue Jun 30 09:44:24 2009 +0200 USB: fix uninitialised variable in ti_do_download Signed-off-by: Oliver Neukum Cc: stable Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 71f9f6cc9eef47fddc05f34b3d32677ab2e0f1fa Author: Dan Williams Date: Tue Jun 30 16:09:28 2009 -0400 USB: option: add Novatel Ovation MC760 Used by Virgin Mobile with the Broadband2Go service, for example. Signed-off-by: Dan Williams Signed-off-by: Greg Kroah-Hartman commit 5186ffee2320942c3dc9745f7930e0eb15329ca6 Author: Arseniy Lartsev Date: Wed Jul 1 16:27:26 2009 +0400 USB: cdc-acm: work around some broken devices This patch introduces a work around for cdc-acm devices which are low speed contrary to the specification, which requires bulk endpoints which are banned in low speed and converted by usbcore to virtual interrupt endpoints if they are used nevertheless. Signed-off-by: Arseniy Lartsev Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 89368d3d11a5b2eff83ad8e752be67f77a372bad Author: David Brownell Date: Wed Jul 1 03:36:16 2009 -0700 USB: musb: silence "suspend as a_wait_vrise is_active" msgs Get rid of some obnoxious and inappropriate messaging, mostly on DaVinci, when usbcore tries to autosuspend a root hub if just a mini/micro-A connector is connected. Symptom: endless stream of messages reading like: musb_bus_suspend 2221: trying to suspend as a_wait_vrise is_active=1 Improve that musb bus suspend primitive a bit. Take advantage of this call to update the OTG state machine if appropriate, moving the device out of the A_WAIT_VRISE state. There's basically no timer for that state transition just now, except with tusb6010; that can make trouble. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6d84599b3c3a7bccc04ec4133220d150b92fe0f8 Author: David Brownell Date: Wed Jul 1 03:43:58 2009 -0700 USB: gadget: pxa25x compiler warning fix Fix config-dependent compiler warning: CC drivers/usb/gadget/pxa25x_udc.o drivers/usb/gadget/pxa25x_udc.c: In function 'pxa25x_udc_irq': drivers/usb/gadget/pxa25x_udc.c:1806: warning: array subscript is above array bounds Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 56a075dcd64b25c828af1752dff0ac1e6833e135 Author: Philipp Zabel Date: Wed Jul 1 03:42:45 2009 -0700 USB: gadget: pxa25x uses gpio_is_valid Use gpio_is_valid instead of assuming that every GPIO number != 0 is valid while 0 is not. Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 30899ca7f20571c4bd64544dec261171f6ec255b Author: Kevin Hilman Date: Wed Jul 1 03:33:46 2009 -0700 USB: musb: davinci dm6446evm GPIO renumbering Numbering for GPIOs on the pcf857x chips on the dm644x EVM board changed when DaVinci chips with more GPIOs were supported. Update the GPIO number used for nVBUS_DRV. Longer term, we need a better abstraction of board-specific setup in this code so we're not hard-coding board specific GPIOs into the driver, but for now this at least gets it back to working with mainline davinci core code. Signed-off-by: Kevin Hilman Signed-off-by: Greg Kroah-Hartman commit d163ef248385fc434e44b04a5151ae5d6a6c2d16 Author: David Brownell Date: Wed Jul 1 03:32:43 2009 -0700 USB: musb: davinci dm355 updates (remainder) Finish merging updates for DM355 chips into musb/davinci.c now that its support is in mainline: kick in new DRVVBUS controls. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Greg Kroah-Hartman commit 6bc2146e2b01654534a1cae127ef96bf4b5f3d53 Author: Qiuping Chen Date: Wed Jul 1 03:49:29 2009 -0700 USB: gadget: rndis conformance tweak Support OID_802_3_MAC_OPTIONS in gen_ndis_query_resp() of rndis.c to make RNDIS gadget pass 1c_SetMulticast subtest in Microsoft NDISTest6: http://www.microsoft.com/whdc/DevTools/tools/NDIStest.mspx The other tests in NDISTest6 are passed. [ dbrownell@users.sourceforge.net: remove OID_802_3_MAXIMUM_LIST_SIZE setting ... it was bogus, this code only handles one entry, not 32. And we don't know what would break if we lied about that... ] Signed-off-by: Helen Chen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ca157c4a51fa6209f28c316f4a63d594adb79518 Author: Oliver Neukum Date: Thu Jul 2 16:41:39 2009 +0200 USB: fix memory leak in usbtmc If an error is returned kfree must also be called. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 45e83889eb291714d3a4727e98e2488074affbf8 Author: Arnd Bergmann Date: Fri Jun 19 05:35:34 2009 -0700 USB: buildfix ppc randconfig We could just make the USB_OHCI_HCD_PPC_OF option implicit and selected only if at least one of USB_OHCI_HCD_PPC_OF_BE and USB_OHCI_HCD_PPC_OF_LE are set. [ dbrownell@users.sourceforge.net: fix patch manglation and dependencies ] Signed-off-by: Arnd Bergmann Tested-by: Subrata Modak Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3c43f27bf57b0502df2478253699559ee1d43f6d Author: Greg Kroah-Hartman Date: Fri Jun 26 08:05:20 2009 -0700 USB: ti_usb_3410_5052: fix duplicate device ids. commit 1a1fab513734b3a4fca1bee8229e5ff7e1cb873c accidentally added the device id to both tables in the driver, which causes problems as this is only a single port device, not a multiple port device. Cc: stable Signed-off-by: Greg Kroah-Hartman commit 05cbc2d58224d01925bfb93a0c3f0ab1f11b1eea Author: Greg Kroah-Hartman Date: Tue Jun 23 16:01:06 2009 -0700 USB: gadget: audio: provide correct device id The audio gadget driver should use a "Linux" device id, instead of relying on NetChip's vendor id. So provide one out of our reserved namespace. Cc: Bryan Wu Cc: Mike Frysinger Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1a74826fa1cd6c2e382f927403b4440675f0f55a Author: Greg Kroah-Hartman Date: Tue Jun 23 15:58:48 2009 -0700 Revert "USB: Add Intel Langwell USB OTG Transceiver Drive" This reverts commit 453f77558810ffa669ed5a510a7173ec49def396. The driver should not have been accepted as the MSRT code is not in the main kernel yet, which this depends on. Cc: Alan Cox Cc: Hao Wu Signed-off-by: Greg Kroah-Hartman commit e3a3174519bae99fe3a3d3b9dfda68d820527b44 Author: Brad Lu Date: Tue Jun 16 18:04:00 2009 +0800 USB: option.c to support Qisda H21/H20 usb modem This patch added Qisda(VID) & H21/H20(PID) into to supporting list. Please help to check this patch, From: Brad Lu Signed-off-by: Greg Kroah-Hartman commit 83dfdaa362fd9f1ed8bfa0bba50fff08c063380b Author: Kai Engert Date: Fri Jun 12 08:51:37 2009 +0200 USB: option.c: add Qualcomm/Option iCON 210 modem Add modem portion of USB device labeled: Model iCON 210, Qualcomm 3G HSDPA, designed in EU by Option Device starts in usb-storage mode (1e0e:f000) and requires the use of a tool like usb_modeswitch to switch it to modem mode (1e0e:9000). Signed-off-by: Kai Engert Signed-off-by: Greg Kroah-Hartman commit 4198e4f7e0b756d8a847e408b0017495833538b3 Author: Mike Frysinger Date: Thu Jun 11 21:59:00 2009 -0400 USB: isp1760: use __devexit_p() for remove function The isp1760_plat_remove function is declared with __devexit, so the .remove assignment needs to be wrapped with __devexit_p(). Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit a455212d19d312f6a99b3a4a86fb79fb91dd76c7 Author: Alan Stern Date: Thu Jun 11 14:56:22 2009 -0400 USB: EHCI: update toggle state for linked QHs This is an update to the "usb-ehci-update-toggle-state-for-linked-qhs" patch. Since an HCD's endpoint_reset method can be called in interrupt context, it mustn't assume that interrupts are enabled or that it can sleep. So we revert to the original way of refreshing QHs' toggle bits. Now the endpoint_reset method merely clears the toggle flag in the device structure (as was done before) and starts an async QH unlink. When the QH is linked again, after the unlink finishes and an URB is queued, the qh_refresh() routine will update the QH's toggle bit. Signed-off-by: Alan Stern Tested-by: David CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9525dcb30f5f412748f58a0537002ea47cfe55de Author: Roel Kluin Date: Wed Jun 10 12:57:35 2009 -0700 USB: fhci: mutually exclusive port_status FHCI_PORT_DISABLED, -LOW and -FULL are mutually exclusive as status. Signed-off-by: Roel Kluin Cc: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9d37ff64567f852a222c78e7d13037bb02395dc7 Author: Jan Capek Date: Wed Jun 10 18:58:52 2009 +0200 USB: ftdi_sio - product ID's for CCS PIC programmers The product ID's for the following devices have been added: - LOAD-n-GO - ICD-U64 - PRIME-8 Signed-off-by: Jan Capek Signed-off-by: Greg Kroah-Hartman commit c03e7d4bc1c39ae74a5e9f7bd7e9fd12898e42b8 Author: Paulius Zaleckas Date: Tue Jun 9 11:11:16 2009 +0300 USB: gadget: fix imx_udc entry in Kconfig Move USB_GADGET_IMX to the right section of Kconfig as this controller is available only as integrated on i.MX CPU. Signed-off-by: Paulius Zaleckas Signed-off-by: Greg Kroah-Hartman commit 8540d66615c39010168ab97eaafb476ec2851298 Author: Gianpaolo Cugola Date: Fri Jun 5 22:57:52 2009 +0200 USB: pl2303: New vendor and product id for the prolific driver I recently bought a PC interface for the Cressi Edy dive computer (www.cressi.it) and discovered that it uses the pl2303 chip, albeit with ad-hoc vendor and product ids (04b8, 0521 respectively). Being in the process of writing a linux software for such device (cressi only provides a windows software), I patched the pl2303 linux driver to have the interface recognized. I am submitting you the patch (very basic) for inclusion in next kernel version. From: Gianpaolo Cugola Signed-off-by: Greg Kroah-Hartman commit 635ecaa70e862f85f652581305fe0074810893be Author: Ben Hutchings Date: Thu Jul 9 17:59:01 2009 +0000 netdev: restore MTU change operation alloc_etherdev() used to install a default implementation of this operation, but it must now be explicitly installed in struct net_device_ops. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 240c102d9c54fee7fdc87a4ef2fabc7eb539e00a Author: Ben Hutchings Date: Thu Jul 9 17:54:35 2009 +0000 netdev: restore MAC address set and validate operations alloc_etherdev() used to install default implementations of these operations, but they must now be explicitly installed in struct net_device_ops. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f6387184f5196242edecbb5385bcc3481fae212a Author: Alexander Beregalov Date: Sat Jun 20 20:58:33 2009 +0400 Staging: stlc45xx: convert config_interface to bss_info_changed, fixing a build error See commit 2d0ddec5b2b (mac80211: unify config_interface and bss_info_changed) This fixes a build error. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 8231eb5672e7a020174eb7ce0436766eea57cae8 Author: Herton Ronaldo Krzesinski Date: Thu Jun 18 14:43:56 2009 -0300 Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board The current s626 comedi driver in staging conflicts with philips SAA7146 media/dvb based cards, because it claims the same vendor:device pci id for all subdevice/subvendor ids. What happens is that for people that have a philips SAA7146 media/dvb based card, s626 if available gets loaded by udev and makes system freeze (https://qa.mandriva.com/show_bug.cgi?id=51445). The s626 driver shouldn't claim all 1131:7146 devices. Fix this by specifying specific known subvendor:subdevice ids in its pci id table list. Also s626_attach is modified to use now pci_get_subsys instead of pci_get_device as reported by Ian Abbott, and now we loop over pci id table entries in case more ids are added in the future. Reference: http://lkml.org/lkml/2009/6/16/552 Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 91fca6da389b897483b4c1edea29885172989fda Author: Dan Aloni Date: Wed Jun 24 22:34:39 2009 +0300 Staging: prevent rtl8192su from crashing dev_ioctl in SIOCGIWNAME (adapted from the rtl8187se patch) ieee80211_wx_get_name() ignores sizeof(wrqu->name) which is IFNAMSIZ (16), and on certain conditions, the concatenated string will be larger than IFNAMSIZ including the terminating zero. length ("802.11" ++ "b" ++ "/g" ++ " linked" ++ "\x00") == 17 This fix uses strl{cpy,cat} in addition to the reduction of the total possible length of the output string by a char. It can be applied to 2.6.30-stable as well. Signed-off-by: Dan Aloni Cc: Bartlomiej Zolnierkiewicz Cc: stable Signed-off-by: Greg Kroah-Hartman commit 02c8baecf5d8850dba40b47cdf003ed2e04e66dd Author: Dan Aloni Date: Sat Jun 20 16:32:22 2009 +0300 Staging: prevent rtl8187se from crashing dev_ioctl() in SIOCGIWNAME I repeatedly get __stack_chk_fail panic()s with this driver before applying the attached fix. ieee80211_wx_get_name() ignores sizeof(wrqu->name) which is IFNAMSIZ (16), and on certain conditions, the concatenated string will be larger than IFNAMSIZ including the terminating zero. length ("802.11" ++ "b" ++ "/g" ++ " linked" ++ "\x00") == 17 This fix uses strl{cpy,cat} in addition to the reduction of the total possible length of the output string by a char. It can be applied to 2.6.30-stable as well. Signed-off-by: Dan Aloni Cc: Bartlomiej Zolnierkiewicz Cc: stable Signed-off-by: Greg Kroah-Hartman commit 77b9288197b6034c44abe2619aff62cba056a713 Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:49:07 2009 +0200 Staging: rtl8192su: convert to net_device_ops commit e3804cbebb67887879102925961d41b503f7fbe3 removed COMPAT_NET_DEV_OPS so this change is needed to make rtl8192su buildable again. Loosely based on Alexander's patch for rtl8187se, untested. Cc: Alexander Beregalov Cc: David S. Miller Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 35e2bed559ab80641f1764aae570d92711ddc2fa Author: Bill Pemberton Date: Fri Jun 19 12:32:57 2009 -0400 Staging: serqt_usb2: declare qt_open static in serqt_usb2 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d9dea3c1c0814a87cc579b425e9776b8ed46b31f Author: Bill Pemberton Date: Fri Jun 19 12:32:56 2009 -0400 Staging: serqt_usb2: fix qt_close parameters in serqt_usb2 The parameter list for qt_close() was from the old non usb-serial driver. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9b5de0a0a79111445d99ff7e4c6c1125523f84df Author: Alexander Beregalov Date: Sat Jun 20 03:52:47 2009 +0400 Staging: comedi: jr3_pci.c: add required includes Fix this build errors: jr3_pci.c:739: error: 'jiffies' undeclared jr3_pci.c:748: error: implicit declaration of function 'msecs_to_jiffies' jr3_pci.c:763: error: implicit declaration of function 'add_timer' jr3_pci.c:790: error: implicit declaration of function 'init_timer' jr3_pci.c:951: error: implicit declaration of function 'del_timer_sync' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit e5a85d2179d0150688c1c4343c3c1b4a71bf6588 Author: Greg Kroah-Hartman Date: Thu Jul 2 12:55:39 2009 -0700 Staging: meilhaus: add email address to TODO Meilhaus Support also wants to be notified of changes to these drivers. Cc: David Kiliani Cc: Meilhaus Support Signed-off-by: Greg Kroah-Hartman commit aea0d43bdec32cc4a7ba53d6c82616de3964357a Author: Pete Zaitcev Date: Wed Jun 10 14:44:14 2009 -0600 Staging: rspiusb: use NULL virtual address instead of a bogus one The main problem here is that I just cannot see how this could ever be correct: usb_fill_bulk_urb(pdx->PixelUrb[frameInfo][i], pdx->udev, epAddr, (dma_addr_t *) sg_dma_address(&pdx->sgl[frameInfo][i]), sg_dma_len(&pdx->sgl[frameInfo][i]), You cannot take a DMA address, cast it to a _pointer to_ a DMA address, and then regard it as a virtual address of the transfer buffer. However, finding the right virtual address was too hard for me, so I just stubbed it with NULL. At least usbmon won't oops then (it will not show any data but it's better than crashing). Also, too big a buffer was allocated elsewhere. And since we're at it, drop clearly unnecessary usb_buffer_alloc too, leaving it where it may be useful. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit f408adeb517e1b17102acd889251d5ab60c1fb88 Author: Alan Cox Date: Wed Jun 10 17:30:49 2009 +0100 Staging: vt6655: compile fix At least make it compile Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8dfb00571819ce491ce1760523d50e85bcd2185f Author: Jorrit Schippers Date: Wed Jun 10 15:34:26 2009 +0200 Staging: rt2870: Add USB ID for Sitecom WL-608 Add the USB id 0x0DF6,0x003F to the rt2870.h file such that the Sitecom WL-608 device will be recognized by this driver. Signed-off-by: Jorrit Schippers Signed-off-by: Greg Kroah-Hartman commit 38c7dc373029e4666b17850054dd43c1c96bb264 Author: Alexander Beregalov Date: Tue Jun 23 17:50:06 2009 +0400 wm97xx_batery: replace driver_data with dev_get_drvdata() direct access of driver_data is going away. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 5e9a8bd65761bf0c1ee26d8514ef3e9ff22ee465 Author: Greg Kroah-Hartman Date: Tue Jun 23 08:31:46 2009 -0700 omap: video: remove direct access of driver_data dev_set/get_drvdata() should be used instead, as driver_data is going away. Cc: Imre Deak Cc: Russell King Cc: Andrew Morton Acked-by: Trilok Soni Cc: Tony Lindgren Cc: Felipe Contreras Signed-off-by: Greg Kroah-Hartman commit 864e1e8db436dfd784340d0aef18ea303d157bcb Author: Greg Kroah-Hartman Date: Mon Jun 22 15:46:03 2009 -0700 Sound: remove direct access of driver_data This is the last in-kernel direct usage of driver_data, replace it with the proper dev_get/set_drvdata() calls. Cc: Takashi Iwai Cc: Jaroslav Kysela Acked-by: Mark Brown Cc: Liam Girdwood Signed-off-by: Greg Kroah-Hartman commit 909662e1e7290945fa3bca038bc3b7bb5d19499f Author: vibi sreenivasan Date: Wed Jul 8 15:37:03 2009 -0700 driver model: fix show/store prototypes in doc. FIX prototypes for show & store method in struct driver_attribute Signed-off-by: vibi sreenivasan Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 308975fa7ab2a8e0b91186158128668c823790ce Author: Jiri Slaby Date: Sun Jun 21 23:57:31 2009 +0200 Firmware: firmware_class, fix lock imbalance Add omitted unlock in firmware_data_read. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 4ead0a2b6b3aa0b527871ec978c3ef12aafb6bfb Author: Kay Sievers Date: Thu Jul 2 23:25:44 2009 +0200 Driver Core: remove BUS_ID_SIZE The name size limit is gone from the driver-core, this is the removal of the last left-over. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 08f42877aff6b966a386c47e0aeb98e7645db2a9 Author: Kay Sievers Date: Thu Jul 2 23:27:22 2009 +0200 sparc: remove driver-core BUS_ID_SIZE The name size limit is gone from the driver-core, the BUS_ID_SIZE value will be removed. Cc: David S. Miller Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f8c73c790c588fd70fda1632c8927a87b3d31dcd Author: Heiko Carstens Date: Thu Jun 11 15:14:40 2009 +0200 partitions: fix broken uevent_suppress conversion git commit f67f129e "Driver core: implement uevent suppress in kobject" contains this chunk for fs/partitions/check.c: /* suppress uevent if the disk supresses it */ - if (!ddev->uevent_suppress) + if (!dev_get_uevent_suppress(pdev)) kobject_uevent(&pdev->kobj, KOBJ_ADD); However that should have been - if (!ddev->uevent_suppress) + if (!dev_get_uevent_suppress(ddev)) Signed-off-by: Heiko Carstens Acked-by: Ming Lei Cc: stable Signed-off-by: Greg Kroah-Hartman commit eb8d3c604fe7496323efb9a858bef84c489ca584 Author: Benjamin Herrenschmidt Date: Wed Jun 10 12:43:02 2009 -0700 devres: WARN() and return, don't crash on device_del() of uninitialized device I just debugged an obscure crash caused by a device_del() of a all NULL'd out struct device (in usb-serial) and found that a patch like this one would have saved me time (in addition to improved chances of a bug report from users hitting similar driver bugs). [akpm@linux-foundation.org: cleanup] Signed-off-by: Benjamin Herrenschmidt Cc: Kay Sievers Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7638d5322bd89d49e013a03fe2afaeb6d214fabd Merge: dd0d9a4 264ef8a Author: Linus Torvalds Date: Sun Jul 12 12:24:35 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Remove alloc_bootmem annotations introduced in the past kmemleak: Add callbacks to the bootmem allocator kmemleak: Allow partial freeing of memory blocks kmemleak: Trace the kmalloc_large* functions in slub kmemleak: Scan objects allocated during a scanning episode kmemleak: Do not acquire scan_mutex in kmemleak_open() kmemleak: Remove the reported leaks number limitation kmemleak: Add more cond_resched() calls in the scanning thread kmemleak: Renice the scanning thread to +10 commit dd0d9a46f573b086a67522f819566427dba9c4c7 Author: Artem Bityutskiy Date: Thu Jul 9 10:44:30 2009 +0100 AFS: Fix compilation warning Fix the following warning: fs/afs/dir.c: In function 'afs_d_revalidate': fs/afs/dir.c:567: warning: 'fid.vnode' may be used uninitialized in this function fs/afs/dir.c:567: warning: 'fid.unique' may be used uninitialized in this function by marking the 'fid' variable as an uninitialized_var. The problem is that gcc doesn't always manage to work out that fid is always set on the path through the function that uses it. Cc: linux-afs@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Artem Bityutskiy Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 405f55712dfe464b3240d7816cc4fe4174831be2 Author: Alexey Dobriyan Date: Sat Jul 11 22:08:37 2009 +0400 headers: smp_lock.h redux * Remove smp_lock.h from files which don't need it (including some headers!) * Add smp_lock.h to files which do need it * Make smp_lock.h include conditional in hardirq.h It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT This will make hardirq.h inclusion cheaper for every PREEMPT=n config (which includes allmodconfig/allyesconfig, BTW) Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit f9fabcb58a6d26d6efde842d1703ac7cfa9427b6 Author: Julien Tinnes Date: Fri Jun 26 20:27:40 2009 +0200 personality: fix PER_CLEAR_ON_SETID We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO. The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE. We believe it is important to add MMAP_PAGE_ZERO, because by using this personality it is possible to have the first page mapped inside a process running as setuid root. This could be used in those scenarios: - Exploiting a NULL pointer dereference issue in a setuid root binary - Bypassing the mmap_min_addr restrictions of the Linux kernel: by running a setuid binary that would drop privileges before giving us control back (for instance by loading a user-supplied library), we could get the first page mapped in a process we control. By further using mremap and mprotect on this mapping, we can then completely bypass the mmap_min_addr restrictions. Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added since on x86 32bits it will in practice disable most of the address space layout randomization (only the stack will remain randomized). Signed-off-by: Julien Tinnes Signed-off-by: Tavis Ormandy Cc: stable@kernel.org Acked-by: Christoph Hellwig Acked-by: Kees Cook Acked-by: Eugene Teo [ Shortened lines and fixed whitespace as per Christophs' suggestion ] Signed-off-by: Linus Torvalds commit a137802ee839ace40079bebde24cfb416f73208a Author: Linus Torvalds Date: Sun Jul 12 11:25:04 2009 -0700 Don't use '-fwrapv' compiler option: it's buggy in gcc-4.1.x This causes kernel images that don't run init to completion with certain broken gcc versions. This fixes kernel bugzilla entry: http://bugzilla.kernel.org/show_bug.cgi?id=13012 I suspect the gcc problem is this: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230 Fix the problem by using the -fno-strict-overflow flag instead, which not only does not exist in the known-to-be-broken versions of gcc (it was introduced later than fwrapv), but seems to be much less disturbing to gcc too: the difference in the generated code by -fno-strict-overflow are smaller (compared to using neither flag) than when using -fwrapv. Reported-by: Barry K. Nathan Pushed-by: Frans Pop Cc: Andrew Morton Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit f2ba025b2036e52a176cddcf91b15ac2b10c644a Author: Sascha Hlusiak Date: Sat Jul 11 20:30:52 2009 -0700 sit: fix regression: do not release skb->dst before xmit The sit module makes use of skb->dst in it's xmit function, so since 93f154b594fe47 ("net: release dst entry in dev_hard_start_xmit()") sit tunnels are broken, because the flag IFF_XMIT_DST_RELEASE is not unset. This patch unsets that flag for sit devices to fix this regression. Signed-off-by: Sascha Hlusiak Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e51a67a9c8a2ea5c563f8c2ba6613fe2100ffe67 Author: Eric Dumazet Date: Wed Jul 8 14:20:42 2009 +0000 net: ip_push_pending_frames() fix After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) we do not take any more references on sk->sk_refcnt on outgoing packets. I forgot to delete two __sock_put() from ip_push_pending_frames() and ip6_push_pending_frames(). Reported-by: Emil S Tantilov Signed-off-by: Eric Dumazet Tested-by: Emil S Tantilov Signed-off-by: David S. Miller commit e912b1142be8f1e2c71c71001dc992c6e5eb2ec1 Author: Eric Dumazet Date: Wed Jul 8 19:36:05 2009 +0000 net: sk_prot_alloc() should not blindly overwrite memory Some sockets use SLAB_DESTROY_BY_RCU, and our RCU code correctness depends on sk->sk_nulls_node.next being always valid. A NULL value is not allowed as it might fault a lockless reader. Current sk_prot_alloc() implementation doesnt respect this hypothesis, calling kmem_cache_alloc() with __GFP_ZERO. Just call memset() around the forbidden field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8b9f2caa02e96bb92327e3b4557adbb3f1203dc7 Merge: 81e4e1b ec05a8d Author: Linus Torvalds Date: Sat Jul 11 11:32:28 2009 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT hwmon: (sht15) Remove unnecessary semicolon hwmon: (max6650) Fix lock imbalance commit 81e4e1ba7ed4a1fdcf0e2ee944f1575010471464 Author: Linus Torvalds Date: Sat Jul 11 11:22:34 2009 -0700 Revert "fuse: Fix build error" as unnecessary This reverts commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21. Trond had a better fix, which is the parent of this one ("Fix compile error due to congestion_wait() changes") Requested-by: Trond Myklebust Acked-by: Larry Finger Signed-off-by: Linus Torvalds commit 373c0a7ed3ea3b34efedb7c83ffb521adff7c894 Author: Trond Myklebust Date: Sat Jul 11 10:06:54 2009 -0400 Fix compile error due to congestion_wait() changes Move the definition of BLK_RW_ASYNC/BLK_RW_SYNC into linux/backing-dev.h so that it is available to all callers of set/clear_bdi_congested(). This replaces commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21 ("fuse: Fix build error"), which will be reverted. Signed-off-by: Trond Myklebust Acked-by: Larry Finger Cc: Jens Axboe Cc: Miklos Szeredi Signed-off-by: Linus Torvalds commit e3d7e183dc276df2fcaf02af173a49ad119ba9f9 Author: Arnaldo Carvalho de Melo Date: Sat Jul 11 12:18:37 2009 -0300 perf report: Introduce -n/--show-nr-samples [acme@doppio pahole]$ perf report -ns comm,dso,symbol -d /lib64/libc-2.10.1.so -C pahole | head -17 21.94% 32101 [.] _int_malloc 20.10% 29402 [.] __GI_strcmp 16.77% 24533 [.] __tsearch 12.61% 18450 [.] malloc_consolidate 6.42% 9394 [.] _int_free 6.28% 9191 [.] __tfind 4.56% 6678 [.] __GI___libc_free 4.46% 6520 [.] _IO_vfprintf_internal 2.59% 3786 [.] __malloc 1.17% 1716 [.] __GI_memcpy [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1247325517-12272-5-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit a25e46c46311316cd1b3f27f8bb036df1693c032 Author: Arnaldo Carvalho de Melo Date: Sat Jul 11 12:18:36 2009 -0300 perf_counter tools: PLT info is stripped in -debuginfo packages So we need to get the richer .symtab from the debuginfo packages but the PLT info from the original DSO where we have just the leaner .dynsym symtab. Example: | [acme@doppio pahole]$ perf report --sort comm,dso,symbol > before | [acme@doppio pahole]$ perf report --sort comm,dso,symbol > after | [acme@doppio pahole]$ diff -U1 before after | --- before 2009-07-11 11:04:22.688595741 -0300 | +++ after 2009-07-11 11:04:33.380595676 -0300 | @@ -80,3 +80,2 @@ | 0.07% pahole ./build/pahole [.] pahole_stealer | - 0.06% pahole /usr/lib64/libdw-0.141.so [.] 0x00000000007140 | 0.06% pahole /usr/lib64/libdw-0.141.so [.] __libdw_getabbrev | @@ -91,2 +90,3 @@ | 0.06% pahole [kernel] [k] free_hot_cold_page | + 0.06% pahole /usr/lib64/libdw-0.141.so [.] tfind@plt | 0.05% pahole ./build/libdwarves.so.1.0.0 [.] ftype__add_parameter | @@ -242,2 +242,3 @@ | 0.01% pahole [kernel] [k] account_group_user_time | + 0.01% pahole /usr/lib64/libdw-0.141.so [.] strlen@plt | 0.01% pahole ./build/pahole [.] strcmp@plt | [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1247325517-12272-4-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 021191b35cdfb1b5ee6e78ed5ae010114a40902c Author: Arnaldo Carvalho de Melo Date: Sat Jul 11 12:18:35 2009 -0300 perf report: Make the output more compact When we filter by column content we may end up with a column that has the same value for all the lines. So remove that column and tell its unique value on the top, as a comment. Example: [acme@doppio pahole]$ perf report --sort comm,dso,symbol -d ./build/libdwarves.so.1.0.0 -C pahole | head -15 # dso: ./build/libdwarves.so.1.0.0 # comm: pahole # Samples: 58409 # # Overhead Symbol # ........ ...... # 20.93% [.] tag__recode_dwarf_type 14.94% [.] namespace__recode_dwarf_types 10.38% [.] cu__table_add_tag 6.69% [.] __die__process_tag 5.05% [.] die__process_function 4.70% [.] list__for_all_tags 3.68% [.] tag__init 3.48% [.] die__create_new_parameter [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1247325517-12272-3-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 27d0fd410c3cee00ece2e55f4354a7a9ec1a6a6a Author: Arnaldo Carvalho de Melo Date: Sat Jul 11 12:18:34 2009 -0300 strlist: Introduce strlist__entry and strlist__nr_entries methods The strlist__entry method allows accessing strlists like an array, will be used in the 'perf report' to access the first entry. We now keep the nr_entries so that we can check if we have just one entry, will be used in 'perf report' to improve the output by showing just at the top when we have just, say, one DSO. While at it use nr_entries to optimize strlist__is_empty by not using the far more costly rb_first based implementation. Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1247325517-12272-2-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 60c1baf1248e00d423604f018c8af1cf750ad885 Author: Arnaldo Carvalho de Melo Date: Sat Jul 11 12:18:33 2009 -0300 perf report: Tidy up reporting of symbols not found Always printing the level info about if it is in the kernel, hypervisor or userspace as that is in the hist_entry. Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1247325517-12272-1-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit ec05a8d75d0777cd221f61a88437a31e4cfb83d8 Author: Alistair John Strachan Date: Sat Jul 11 13:42:38 2009 +0200 hwmon: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT Switch the AB9, AB9 QuadQT and IX38 QuadGT over from port probing to the preferred DMI probe method. Signed-off-by: Alistair John Strachan Tested-by: dan Tested-by: Nygel Lyndley Tested-by: Dmitriy Fedchenko Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 24205e0850dd8a79c597e366daafdd5f31a24656 Author: Joe Perches Date: Sat Jul 11 13:42:37 2009 +0200 hwmon: (sht15) Remove unnecessary semicolon Signed-off-by: Joe Perches Signed-off-by: Jean Delvare commit 025dc740d01f99ccba945df1f9ef9e06b1c15d96 Author: Jiri Slaby Date: Sat Jul 11 13:42:37 2009 +0200 hwmon: (max6650) Fix lock imbalance Add omitted update_lock to one switch/case in set_div. Signed-off-by: Jiri Slaby Acked-by: Hans J. Koch Signed-off-by: Jean Delvare commit ce2ae53b750abfaa012ce408e93da131a5b5649b Author: Sonny Rao Date: Fri Jul 10 18:13:13 2009 -0500 futexes: Fix infinite loop in get_futex_key() on huge page get_futex_key() can infinitely loop if it is called on a virtual address that is within a huge page but not aligned to the beginning of that page. The call to get_user_pages_fast will return the struct page for a sub-page within the huge page and the check for page->mapping will always fail. The fix is to call compound_head on the page before checking that it's mapped. Signed-off-by: Sonny Rao Acked-by: Thomas Gleixner Cc: stable@kernel.org Cc: anton@samba.org Cc: rajamony@us.ibm.com Cc: speight@us.ibm.com Cc: mstephen@us.ibm.com Cc: grimm@us.ibm.com Cc: mikey@ozlabs.au.ibm.com LKML-Reference: <20090710231313.GA23572@us.ibm.com> Signed-off-by: Ingo Molnar commit 52d422de22b26d96bbdfbc605eb31c2994df6d0b Author: Arnaldo Carvalho de Melo Date: Fri Jul 10 22:47:28 2009 -0300 perf report: Adjust column width to the values sampled Auto-adjust column width of perf report output to the longest occuring string length. Example: [acme@doppio pahole]$ perf report --sort comm,dso,symbol | head -13 12.79% pahole /usr/lib64/libdw-0.141.so [.] __libdw_find_attr 8.90% pahole /lib64/libc-2.10.1.so [.] _int_malloc 8.68% pahole /usr/lib64/libdw-0.141.so [.] __libdw_form_val_len 8.15% pahole /lib64/libc-2.10.1.so [.] __GI_strcmp 6.80% pahole /lib64/libc-2.10.1.so [.] __tsearch 5.54% pahole ./build/libdwarves.so.1.0.0 [.] tag__recode_dwarf_type [acme@doppio pahole]$ [acme@doppio pahole]$ perf report --sort comm,dso,symbol -d /lib64/libc-2.10.1.so | head -10 21.92% pahole /lib64/libc-2.10.1.so [.] _int_malloc 20.08% pahole /lib64/libc-2.10.1.so [.] __GI_strcmp 16.75% pahole /lib64/libc-2.10.1.so [.] __tsearch [acme@doppio pahole]$ Also add these extra options to control the new behaviour: -w, --field-width Force each column width to the provided list, for large terminal readability. -t, --field-separator: Use a special separator character and don't pad with spaces, replacing all occurances of this separator in symbol names (and other output) with a '.' character, that thus it's the only non valid separator. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090711014728.GH3452@ghostprotocols.net> Signed-off-by: Ingo Molnar commit d07387b490b1c43bfcb9f3900faf96f2dafb2630 Author: Paul Turner Date: Fri Jul 10 17:05:16 2009 -0700 sched: Fix bug in SCHED_IDLE interaction with group scheduling One of the isolation modifications for SCHED_IDLE is the unitization of sleeper credit. However the check for this assumes that the sched_entity we're placing always belongs to a task. This is potentially not true with group scheduling and leaves us rummaging randomly when we try to pull the policy. Signed-off-by: Paul Turner Cc: peterz@infradead.org LKML-Reference: Signed-off-by: Ingo Molnar commit a1a08d1cb0ab148fd74216e4c0b4d4db18fe62c6 Author: Roland Dreier Date: Sat Jul 11 00:10:04 2009 -0700 x86: Remove spurious printk level from segfault message Since commit 5fd29d6c ("printk: clean up handling of log-levels and newlines"), the kernel logs segfaults like: <6>gnome-power-man[24509]: segfault at 20 ip 00007f9d4950465a sp 00007fffbb50fc70 error 4 in libgobject-2.0.so.0.2103.0[7f9d494f7000+45000] with the extra "<6>" being KERN_INFO. This happens because the printk in show_signal_msg() started with KERN_CONT and then used "%s" to pass in the real level; and KERN_CONT is no longer an empty string, and printk only pays attention to the level at the very beginning of the format string. Therefore, remove the KERN_CONT from this printk, since it is now actively causing problems (and never really made any sense). Signed-off-by: Roland Dreier Cc: Linus Torvalds LKML-Reference: <874otjitkj.fsf@shaolin.home.digitalvampire.org> Signed-off-by: Ingo Molnar commit f00caa76297a534e30c3ec85382fbc3fd0dcbc69 Merge: 8711c67 3ae3079 Author: Linus Torvalds Date: Fri Jul 10 19:19:09 2009 -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: ALSA: hda - targa and targa-2ch fix ALSA: hda - fix beep tone calculation for IDT/STAC codecs ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC) ALSA: hda - Disable AMD SB600 64bit address support only ALSA: hda - Check widget types while parsing capture source in patch_via.c ALSA: hda - Fix capture source selection in patch_via.c ALSA: hda - Add missing EAPD initialization for VIA codecs ALSA: hda - Clean up VT170x dig-in initialization code ALSA: hda - Fix error path in the sanity check in azx_pcm_open() ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section ASoC: Fix wm8753 register cache size and initialization ASoC: add locking to mpc5200-psc-ac97 driver ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared ASoC: Fix register cache initialisation for WM8753 commit 8711c67bee675b4f7a378c71ad5a59c981ec3df0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 10 12:34:27 2009 +0200 isofs: fix Joliet regression commit 5404ac8e4418ab3d254950ee4f9bcafc1da20b4a ("isofs: cleanup mount option processing") missed conversion of joliet option flag resulting in non-working Joliet support. CC: walt Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jan Kara Signed-off-by: Linus Torvalds commit d4fc4a7bfc2dee626f4fec1e209e58eaa4312de6 Author: Alan Cox Date: Thu Jul 9 13:36:58 2009 +0100 tty: Fix the PL2303 private methods for sysrq PL2303 has private data shovelling methods that also have no fast path. Fix them to work the same way as the default handler. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 24a15a62dcb1968bf4ffdae55c88fa934d971180 Author: Alan Cox Date: Thu Jul 9 13:36:22 2009 +0100 tty: Fix USB kref leak The sysrq code acquired a kref leak. Fix it by passing the tty separately from the caller (thus effectively using the callers kref which all the callers hold anyway) Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4cd1de0afaaa45309f34d7282ea4c07d9b56a3ff Author: Alan Cox Date: Thu Jul 9 13:35:52 2009 +0100 tty: Sort out the USB sysrq changes that wrecked performance We can't go around calling all sorts of magic per character functions at full rate 3G data speed. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d6be791cbd4d6a96f0ec1c8c44166038c76d1330 Merge: 44c695b 83c2099 Author: Linus Torvalds Date: Fri Jul 10 19:15:34 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: UBI: fix compilation warnings UBI: fix NOR flash recovery UBI: nicify image sequence number handling UBI: add image sequence number to EC header UBI: remove bogus debugging checks UBI: add empty eraseblocks verification commit 44c695b13bee558c73a89bc79f6253a4ba637386 Merge: eee33ab 0611254 Author: Linus Torvalds Date: Fri Jul 10 19:14:48 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: fix corruption dump UBIFS: clean up free space checking UBIFS: small amendments in the LEB scanning code UBIFS: dump a little more in case of corruptions MAINTAINERS: update ahunter's e-mail address UBIFS: allow more than one volume to be mounted UBIFS: fix assertion warning UBIFS: minor spelling and grammar fixes UBIFS: fix 64-bit divisions in debug print UBIFS: few spelling fixes UBIFS: set write-buffer timout to 3-5 seconds UBIFS: slightly optimize write-buffer timer usage UBIFS: improve debugging messaged UBIFS: fix integer overflow warning commit eee33abe592da1763550e6e55b1cfb7fdc6a9b4c Merge: 04eef90 0760630 Author: Linus Torvalds Date: Fri Jul 10 19:12:51 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] define KTIME_SCALAR for 32-bit s390 [S390] add generic atomic64 support for 31 bit [S390] improve suspend/resume error messages [S390] set SCHED_OMIT_FRAME_POINTER for s390 [S390] add __ucmpdi2() helper function [S390] perf_counter build fix [S390] shutdown actions: save/return rc from init function [S390] dasd: correct debugfeature sense dump [S390] udelay: disable lockdep to avoid false positives [S390] monreader: fix dev_set_drvdata conversion [S390] sclp: fix compile error for !SCLP_CONSOLE commit 04eef90c2e2fb860db71bff5f60d5ff0ec4c6dea Merge: bb8ad28 bc47df0 Author: Linus Torvalds Date: Fri Jul 10 19:12:24 2009 -0700 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd * 'for-linus' of git://git.open-osd.org/linux-open-osd: osdblk: Adjust queue limits to lower device's limits osdblk: a Linux block device for OSD objects MAINTAINERS: Add osd maintained files (F:) exofs: Avoid using file_fsync() exofs: Remove IBM copyrights exofs: Fix bio leak in error handling path (sync read) commit bb8ad2815a1210bfa56b8f8ebf0e40fbdf9198ff Merge: c368b49 5019914 Author: Linus Torvalds Date: Fri Jul 10 19:10:59 2009 -0700 Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: (22 commits) drm/i915: Fix for LVDS VBT change on IGDNG drm/i915: Zap the GTT mapping when transitioning from untiled to tiled. drm/i915: Refactor calls to unmap_mapping_range drm/i915: Avoid saving/restore the modesetting registers twice in KMS mode drm: Disable the unused connectors explicitly when resuming with KMS. drm/i915: Restore the KMS modeset for every activated CRTC drm/i915: Fix harmless warning from patch merged after i2c rework. drm/i915: Disable GEM when a broken video BIOS takes up the whole aperture. drm/i915: Check the LID device to decide whether the LVDS should be initialized drm/i915: Move lock to more reasonable location drm/i915: Add gtt_offset to gem object list debugfs output drm/i915: Remove gtt_bound from drm_i915_gem_object drm/i915: Disable VGA output when doing DRM_MODE_DPMS_OFF. drm/i915: crt fetch EDID by DVI-I converter on G4x platform drm/i915: Don't update display FIFO watermark on IGDNG drm/i915: Adjust DisplayPort clocks to use 96MHz reference drm/i915: Make driver less chatty drm/i915: fix up a raw 64bit divide drm/i915: enable sdvo lvds scaling function. drm/i915: Set SSC frequency for 8xx chips correctly ... commit c368b4921bc6e309aba2fbee0efcbbc965008d9f Author: Amerigo Wang Date: Fri Jul 10 15:02:44 2009 -0700 Doc: move Documentation/exception.txt into x86 subdir exception.txt only explains the code on x86, so it's better to move it into Documentation/x86 directory. And also rename it to exception-tables.txt which looks much more reasonable. This patch is on top of the previous one. Signed-off-by: WANG Cong Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 3697cd9aa80125f7717c3c7e7253cfa49a39a388 Author: Amerigo Wang Date: Fri Jul 10 15:02:41 2009 -0700 Doc: update Documentation/exception.txt Update Documentation/exception.txt. Remove trailing whitespaces in it. Signed-off-by: WANG Cong Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21 Author: Larry Finger Date: Fri Jul 10 20:06:42 2009 -0500 fuse: Fix build error When building v2.6.31-rc2-344-g69ca06c, the following build errors are found due to missing includes: CC [M] fs/fuse/dev.o fs/fuse/dev.c: In function ‘request_end’: fs/fuse/dev.c:289: error: ‘BLK_RW_SYNC’ undeclared (first use in this function) ... fs/nfs/write.c: In function ‘nfs_set_page_writeback’: fs/nfs/write.c:207: error: ‘BLK_RW_ASYNC’ undeclared (first use in this function) Signed-off-by: Larry Finger@lwfinger.net> Signed-off-by: Linus Torvalds commit 812e7a6a43fc34bc8f70c2b80db4ea5997d66ea8 Author: Wengang Wang Date: Fri Jul 10 13:26:04 2009 +0800 ocfs2: log the actual return value of ocfs2_file_aio_write() in ocfs2_file_aio_write(), log_exit() could don't log the value which is really returned. this patch fixes it. Signed-off-by: Wengang Wang Signed-off-by: Joel Becker commit 69ca06c9454169c4a9303e8834adae9080f94859 Merge: 9f2d8be 32f2e80 Author: Linus Torvalds Date: Fri Jul 10 14:29:58 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: reset oom_cfqq in cfq_set_request() block: fix sg SG_DXFER_TO_FROM_DEV regression block: call blk_scsi_ioctl_init() Fix congestion_wait() sync/async vs read/write confusion commit 9f2d8be4266f8861af806d964ae5db2949b670f3 Merge: ac3f482 d9a0a34 Author: Linus Torvalds Date: Fri Jul 10 14:27:21 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix disorder in cp count on error during deleting checkpoints nilfs2: fix lockdep warning between regular file and inode file nilfs2: fix incorrect KERN_CRIT messages in case of write failures nilfs2: fix hang problem of log writer which occurs after write failures nilfs2: remove unlikely directive causing mis-conversion of error code commit ac3f482236793c75caae2c2ebb3f3e5f8b7393e1 Merge: 85be928 f39d1b9 Author: Linus Torvalds Date: Fri Jul 10 14:25:59 2009 -0700 Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: dma-debug: Fix the overlap() function to be correct and readable oprofile: reset bt_lost_no_mapping with other stats x86/oprofile: rename kernel parameter for architectural perfmon to arch_perfmon signals: declare sys_rt_tgsigqueueinfo in syscalls.h rcu: Mark Hierarchical RCU no longer experimental dma-debug: Put all hash-chain locks into the same lock class dma-debug: fix off-by-one error in overlap function commit 85be928c4101670f99cdd7c927798aa4dcbb3168 Merge: d86ee48 805d127 Author: Linus Torvalds Date: Fri Jul 10 14:25:03 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits) perf report: Add "Fractal" mode output - support callchains with relative overhead rate perf_counter tools: callchains: Manage the cumul hits on the fly perf report: Change default callchain parameters perf report: Use a modifiable string for default callchain options perf report: Warn on callchain output request from non-callchain file x86: atomic64: Inline atomic64_read() again x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative() x86: atomic64: Improve atomic64_xchg() x86: atomic64: Export APIs to modules x86: atomic64: Improve atomic64_read() x86: atomic64: Code atomic(64)_read and atomic(64)_set in C not CPP x86: atomic64: Fix unclean type use in atomic64_xchg() x86: atomic64: Make atomic_read() type-safe x86: atomic64: Reduce size of functions x86: atomic64: Improve atomic64_add_return() x86: atomic64: Improve cmpxchg8b() x86: atomic64: Improve atomic64_read() x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file x86: atomic64: The atomic64_t data type should be 8 bytes aligned on 32-bit too perf report: Annotate variable initialization ... commit d86ee4809d0329d4aa0d0f2c76c2295a16862799 Author: Peter Zijlstra Date: Fri Jul 10 14:57:57 2009 +0200 sched: optimize cond_resched() Optimize cond_resched() by removing one conditional. Currently cond_resched() checks system_state == SYSTEM_RUNNING in order to avoid scheduling before the scheduler is running. We can however, as per suggestion of Matt, use PREEMPT_ACTIVE to accomplish that very same. Suggested-by: Matt Mackall Signed-off-by: Peter Zijlstra Acked-by: Matt Mackall Signed-off-by: Linus Torvalds commit c99e6efe1ba04561e7d93a81f0be07e37427e835 Author: Peter Zijlstra Date: Fri Jul 10 14:57:56 2009 +0200 sched: INIT_PREEMPT_COUNT Pull the initial preempt_count value into a single definition site. Maintainers for: alpha, ia64 and m68k, please have a look, your arch code is funny. The header magic is a bit odd, but similar to the KERNEL_DS one, CPP waits with expanding these macros until the INIT_THREAD_INFO macro itself is expanded, which is in arch/*/kernel/init_task.c where we've already included sched.h so we're good. Cc: tony.luck@intel.com Cc: rth@twiddle.net Cc: geert@linux-m68k.org Signed-off-by: Peter Zijlstra Acked-by: Matt Mackall Signed-off-by: Linus Torvalds commit 5019914ca3b7517b2d82db2e92e3f683ac48e535 Author: Zhenyu Wang Date: Fri Jul 10 14:39:59 2009 +0800 drm/i915: Fix for LVDS VBT change on IGDNG IGDNG mobile chip's LVDS data block removes panel fitting register definition. So this fixes offset for LVDS timing block parsing. Thanks for Michael Fu to catch this. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit d05ca301997c94c2ef3c112b15319d13fa8cddab Author: Eric Anholt Date: Fri Jul 10 13:02:26 2009 -0700 drm/i915: Zap the GTT mapping when transitioning from untiled to tiled. As of 52dc7d32b88156248167864f77a9026abe27b432, we could leave an old linear GTT mapping in place, so that apps trying to GTT-mapped write in tiled data wouldn't get the fence added, and garbage would get displayed. Signed-off-by: Eric Anholt commit 901782b21ecb2af4dde1598b3142bf0e80b20853 Author: Chris Wilson Date: Fri Jul 10 08:18:50 2009 +0100 drm/i915: Refactor calls to unmap_mapping_range As we call unmap_mapping_range() twice in identical fashion, refactor and attempt to explain why we need to call unmap_mapping_range(). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit f39d1b9792881ce4eb982ec8cc65258bf95674b5 Author: Ingo Molnar Date: Fri Jul 10 21:38:02 2009 +0200 dma-debug: Fix the overlap() function to be correct and readable Linus noticed how unclean and buggy the overlap() function is: - It uses convoluted (and bug-causing) positive checks for range overlap - instead of using a more natural negative check. - Even the positive checks are buggy: a positive intersection check has four natural cases while we checked only for three, missing the (addr < start && addr2 == end) case for example. - The variables are mis-named, making it non-obvious how the check was done. - It needlessly uses u64 instead of unsigned long. Since these are kernel memory pointers and we explicitly exclude highmem ranges anyway we cannot ever overflow 32 bits, even if we could. (and on 64-bit it doesnt matter anyway) All in one, this function needs a total revamp. I used Linus's suggestions minus the paranoid checks (we cannot overflow really because if we get totally bad DMA ranges passed far more things break in the systems than just DMA debugging). I also fixed a few other small details i noticed. Reported-by: Linus Torvalds Cc: Joerg Roedel Signed-off-by: Ingo Molnar commit 857fdc53a0a90c3ba7fcf5b1fb4c7a62ae03cf82 Author: Yinghai Lu Date: Fri Jul 10 09:36:20 2009 -0700 x86/pci: insert ioapic resource before assigning unassigned resources Stephen reported that his DL585 G2 needed noapic after 2.6.22 (?) Dann bisected it down to: commit 30a18d6c3f1e774de656ebd8ff219d53e2ba4029 Date: Tue Feb 19 03:21:20 2008 -0800 x86: multi pci root bus with different io resource range, on 64-bit It turns out that: 1. that AMD-based systems have two HT chains. 2. BIOS doesn't allocate resources for BAR 6 of devices under 8132 etc 3. that multi-peer-root patch will try to split root resources to peer root resources according to PCI conf of NB 4. PCI core assigns unassigned resources, but they overlap with BARs that are used by ioapic addr of io4 and 8132. The reason: at that point ioapic address are not inserted yet. Solution is to insert ioapic resources into the tree a bit earlier. Reported-by: Stephen Frost Reported-and-Tested-by: dann frazier Signed-off-by: Yinghai Lu Cc: stable@kernel.org Signed-off-by: Jesse Barnes commit fccdaba4317604602e5802c3afc4021f2fb8132e Author: Zhao Yakui Date: Wed Jul 8 14:13:14 2009 +0800 drm/i915: Avoid saving/restore the modesetting registers twice in KMS mode In KMS mode we now use the normal mode-setting paths to set the modes back to the current configuration, so we don't need to also run the more limited non-KMS implementation of modesetting for resume. Signed-off-by: Zhao Yakui Acked-by: Jesse Barnes Signed-off-by: Eric Anholt commit af4fcb574efa90373b02ae0bb8b54d710c32eeb4 Author: Zhao Yakui Date: Wed Jul 8 14:13:13 2009 +0800 drm: Disable the unused connectors explicitly when resuming with KMS. Signed-off-by: Zhao Yakui Acked-by: Jesse Barnes Acked-by: Dave Airlie Signed-off-by: Eric Anholt commit 354ff96772540d2e836194bf14dd9c05c274055c Author: Zhao Yakui Date: Wed Jul 8 14:13:12 2009 +0800 drm/i915: Restore the KMS modeset for every activated CRTC Restore the modeset for every activated CRTC in course of resume. This is realized by calling the function of drm_helper_resume_force_mode. Note: it is meaningful only for the KMS mode. https://bugs.freedesktop.org/show_bug.cgi?id=21719 https://bugs.freedesktop.org/show_bug.cgi?id=21708 https://bugs.freedesktop.org/show_bug.cgi?id=22285 https://bugs.freedesktop.org/show_bug.cgi?id=22263 Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 883e860daf5c75a0035c33cb6f8881ee62d6efaf Author: Eric Anholt Date: Fri Jul 10 12:28:30 2009 -0700 drm/i915: Fix harmless warning from patch merged after i2c rework. Signed-off-by: Eric Anholt commit 2a34f5e6b61c7e8f3b6f25847bcda88511b0ead4 Author: Eric Anholt Date: Thu Jul 2 09:30:50 2009 -0700 drm/i915: Disable GEM when a broken video BIOS takes up the whole aperture. This is seen on some G41 systems, where the BIOS will consume all but a few KB of the aperture. This should be bad for all operating systems, as it means that the OS can't dynamically manage memory between graphics and the rest of the system, and OSes that did static memory management statically add memory in addition to the BIOS allocation anyway. So, instead of working around it, just fail out verbosely. fd.o bug #21574 Signed-off-by: Eric Anholt Reviewed-by: Ian Romanick commit 2a6f86bc5ed4af2ff04bc927eb77789c70e53a1e Merge: b690a37 e1af3ae Author: Linus Torvalds Date: Fri Jul 10 11:41:41 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix trace_print_seq() kprobes: No need to unlock kprobe_insn_mutex tracing/fastboot: Document the need of initcall_debug trace_export: Repair missed fields tracing: Fix stack tracer sysctl handling commit 32f2e807a3938b24d0831211e6094f9e44b2fc83 Author: Vivek Goyal Date: Thu Jul 9 22:13:16 2009 +0200 cfq-iosched: reset oom_cfqq in cfq_set_request() In case memory is scarce, we now default to oom_cfqq. Once memory is available again, we should allocate a new cfqq and stop using oom_cfqq for a particular io context. Once a new request comes in, check if we are using oom_cfqq, and if yes, try to allocate a new cfqq. Tested the patch by forcing the use of oom_cfqq and upon next request thread realized that it was using oom_cfqq and it allocated a new cfqq. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit ecb554a846f8e9d2a58f6d6c118168a63ac065aa Author: FUJITA Tomonori Date: Thu Jul 9 14:46:53 2009 +0200 block: fix sg SG_DXFER_TO_FROM_DEV regression I overlooked SG_DXFER_TO_FROM_DEV support when I converted sg to use the block layer mapping API (2.6.28). Douglas Gilbert explained SG_DXFER_TO_FROM_DEV: http://www.spinics.net/lists/linux-scsi/msg37135.html = The semantics of SG_DXFER_TO_FROM_DEV were: - copy user space buffer to kernel (LLD) buffer - do SCSI command which is assumed to be of the DATA_IN (data from device) variety. This would overwrite some or all of the kernel buffer - copy kernel (LLD) buffer back to the user space. The idea was to detect short reads by filling the original user space buffer with some marker bytes ("0xec" it would seem in this report). The "resid" value is a better way of detecting short reads but that was only added this century and requires co-operation from the LLD. = This patch changes the block layer mapping API to support this semantics. This simply adds another field to struct rq_map_data and enables __bio_copy_iov() to copy data from user space even with READ requests. It's better to add the flags field and kills null_mapped and the new from_user fields in struct rq_map_data but that approach makes it difficult to send this patch to stable trees because st and osst drivers use struct rq_map_data (they were converted to use the block layer in 2.6.29 and 2.6.30). Well, I should clean up the block layer mapping API. zhou sf reported this regiression and tested this patch: http://www.spinics.net/lists/linux-scsi/msg37128.html http://www.spinics.net/lists/linux-scsi/msg37168.html Reported-by: zhou sf Tested-by: zhou sf Cc: stable@kernel.org Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 76da03467a1a78811777561bbb1fa56175ee4778 Author: FUJITA Tomonori Date: Thu Jul 9 09:48:28 2009 +0200 block: call blk_scsi_ioctl_init() Currently, blk_scsi_ioctl_init() is not called since it lacks an initcall marking. This causes the command table to be unitialized, hence somce commands are block when they should not have been. This fixes a regression introduced by commit 018e0446890661504783f92388ecce7138c1566d Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0 Author: Jens Axboe Date: Thu Jul 9 14:52:32 2009 +0200 Fix congestion_wait() sync/async vs read/write confusion Commit 1faa16d22877f4839bd433547d770c676d1d964c accidentally broke the bdi congestion wait queue logic, causing us to wait on congestion for WRITE (== 1) when we really wanted BLK_RW_ASYNC (== 0) instead. Signed-off-by: Jens Axboe commit f9f868dbcca961ed62f1df1d114abd0c38c47dce Author: Heiko Carstens Date: Thu Jul 9 11:24:26 2009 +0200 timer stats: fix quick check optimization git commit 507e1231 "timer stats: Optimize by adding quick check to avoid function calls" added one wrong check so that one unnecessary function call isn't elimated. time_stats_account_hrtimer() checks if timer->start_pid isn't initialized in order to find out if timer_stats_update_stats() should be called. However start_pid is initialized with -1 instead of 0, so that the function call always happens. Check timer->start_site like in timer_stats_account_timer() to fix this. Signed-off-by: Heiko Carstens Signed-off-by: Thomas Gleixner commit 6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6 Author: Thomas Gleixner Date: Fri Jul 10 14:57:05 2009 +0200 hrtimer: Fix migration expiry check The timer migration expiry check should prevent the migration of a timer to another CPU when the timer expires before the next event is scheduled on the other CPU. Migrating the timer might delay it because we can not reprogram the clock event device on the other CPU. But the code implementing that check has two flaws: - for !HIGHRES the check compares the expiry value with the clock events device expiry value which is wrong for CLOCK_REALTIME based timers. - the check is racy. It holds the hrtimer base lock of the target CPU, but the clock event device expiry value can be modified nevertheless, e.g. by an timer interrupt firing. The !HIGHRES case is easy to fix as we can enqueue the timer on the cpu which was selected by the load balancer. It runs the idle balancing code once per jiffy anyway. So the maximum delay for the timer is the same as when we keep the tick on the current cpu going. In the HIGHRES case we can get the next expiry value from the hrtimer cpu_base of the target CPU and serialize the update with the cpu_base lock. This moves the lock section in hrtimer_interrupt() so we can set next_event to KTIME_MAX while we are handling the expired timers and set it to the next expiry value after we handled the timers under the base lock. While the expired timers are processed timer migration is blocked because the expiry time of the timer is always <= KTIME_MAX. Also remove the now useless clockevents_get_next_event() function. Signed-off-by: Thomas Gleixner commit 65bc98b0059360e458aebd208587be44641227c1 Author: Steve French Date: Fri Jul 10 15:27:25 2009 +0000 [CIFS] Distinguish posix opens and mkdirs from legacy mkdirs in stats Acked-by: Jeff Layton Signed-off-by: Steve French commit 7e0c5086c172ecf8b0c2ad860b02a586967d17d0 Author: Thomas Gleixner Date: Thu Jul 9 13:52:32 2009 +0200 hrtimer: migration: do not check expiry time on current CPU The timer migration code needs to check whether the expiry time of the timer is before the programmed clock event expiry time when the timer is enqueued on another CPU because we can not reprogram the timer device on the other CPU. The current logic checks the expiry time even if we enqueue on the current CPU when nohz_get_load_balancer() returns current CPU. This might lead to an endless loop in the expiry check code when the expiry time of the timer is before the current programmed next event. Check whether nohz_get_load_balancer() returns current CPU and skip the expiry check if this is the case. The bug was triggered from the networking code. The patch fixes the regression http://bugzilla.kernel.org/show_bug.cgi?id=13738 (Soft-Lockup/Race in networking in 2.6.31-rc1+195) Cc: Arun Bharadwaj Tested-by: Andres Freund Signed-off-by: Thomas Gleixner commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 Author: Jaroslav Kysela Date: Fri Jul 10 12:27:31 2009 +0200 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking On some IbexPeak systems with ALC889A errors like "azx_get_response timeout, switching to polling mode: last cmd=0xaf9f000b" are produced, because non-existent codec #10 is wrongly accessed. The problem is that snd_hda_get_connections() returns out-of-range result for NID 0x1c (something like 0xf8f9 or 0xffff). This patch adds a check to alc880_parse_auto_config() to avoid using of this out-of-range NIDs. A better fix maybe to improve snd_hda_get_connections() routine to check for valid NID ranges if NIDs are expected as result. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2b8777ca0c944bf6498c45ed9c5c246bd63a719e Author: Maynard Johnson Date: Wed May 27 10:15:08 2009 -0500 oprofile: reset bt_lost_no_mapping with other stats The bt_lost_no_mapping is not getting reset at the start of a profiling run, thus the oprofiled.log shows erroneous values for this statistic. The attached patch fixes this problem. Signed-off-by: Maynard Johnson Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 3ae30796663cc8e144e5b586198b10bc97f1ec38 Merge: f371f12 005b107 Author: Takashi Iwai Date: Fri Jul 10 11:17:12 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - targa and targa-2ch fix ALSA: hda - fix beep tone calculation for IDT/STAC codecs ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC) ALSA: hda - Disable AMD SB600 64bit address support only ALSA: hda - Check widget types while parsing capture source in patch_via.c ALSA: hda - Fix capture source selection in patch_via.c ALSA: hda - Add missing EAPD initialization for VIA codecs ALSA: hda - Clean up VT170x dig-in initialization code ALSA: hda - Fix error path in the sanity check in azx_pcm_open() ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section commit f371f12f3e9840771026aa6a9312b554c5bfd6ec Merge: 7ce1695 637a935 Author: Takashi Iwai Date: Fri Jul 10 11:17:11 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Fix wm8753 register cache size and initialization ASoC: add locking to mpc5200-psc-ac97 driver ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared ASoC: Fix register cache initialisation for WM8753 commit c20b08e3986c2dbfa6df1e880bf4f7159994d199 Author: Fabio Checconi Date: Mon Jun 15 20:56:38 2009 +0200 sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq() init_rt_rq() initializes only rq->rt.pushable_tasks, and not the pushable_tasks field of the passed rt_rq. The plist is not used uninitialized since the only pushable_tasks plists used are the ones of root rt_rqs; anyway reinitializing the list on every group creation corrupts the root plist, losing its previous contents. Signed-off-by: Fabio Checconi Signed-off-by: Peter Zijlstra LKML-Reference: <20090615185638.GK21741@gandalf.sssup.it> CC: Gregory Haskins Signed-off-by: Ingo Molnar commit 7793527b90d9418211f4fe8464cc1dcb1631ea1b Author: Lucas De Marchi Date: Thu Jul 9 13:57:20 2009 +0200 sched: Reset sched stats on fork() The sched_stat fields are currently not reset upon fork. Ingo's recent commit 6c594c21fcb02c662f11c97be4d7d2b73060a205 did reset nr_migrations, but it didn't reset any of the others. This patch resets all sched_stat fields on fork. Signed-off-by: Lucas De Marchi Signed-off-by: Peter Zijlstra LKML-Reference: <193b0f820907090457s7a3662f4gcdecdc22fcae857b@mail.gmail.com> Signed-off-by: Ingo Molnar commit a1ba4d8ba9f06a397e97cbd67a93ee306860b40a Author: Peter Zijlstra Date: Wed Apr 1 18:40:15 2009 +0200 sched_rt: Fix overload bug on rt group scheduling Fixes an easily triggerable BUG() when setting process affinities. Make sure to count the number of migratable tasks in the same place: the root rt_rq. Otherwise the number doesn't make sense and we'll hit the BUG in set_cpus_allowed_rt(). Also, make sure we only count tasks, not groups (this is probably already taken care of by the fact that rt_se->nr_cpus_allowed will be 0 for groups, but be more explicit) Tested-by: Thomas Gleixner CC: stable@kernel.org Signed-off-by: Peter Zijlstra Acked-by: Gregory Haskins LKML-Reference: <1247067476.9777.57.camel@twins> Signed-off-by: Ingo Molnar commit 71a851b4d2a815adcfac09c1adda7ef6811fde66 Author: Peter Zijlstra Date: Fri Jul 10 09:06:56 2009 +0200 perf_counter: Stop open coding unclone_ctx Instead of open coding the unclone context thingy, put it in a common function. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 984b838ce69c063a91b87550598ab7f3439dd94a Author: Peter Zijlstra Date: Fri Jul 10 09:59:56 2009 +0200 perf_counter: Clean up global vs counter enable Ingo noticed that both AMD and P6 call x86_pmu_disable_counter() on *_pmu_enable_counter(). This is because we rely on the side effect of that call to program the event config but not touch the EN bit. We change that for AMD by having enable_all() simply write the full config in, and for P6 by explicitly coding it. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 9c74fb50867e8fb5f3be3be06716492c0f79309e Author: Peter Zijlstra Date: Wed Jul 8 10:21:41 2009 +0200 perf_counter: Fix up P6 PMU details The P6 doesn't seem to support cache ref/hit/miss counts, so we extend the generic hardware event codes to have 0 and -1 mean the same thing as for the generic cache events. Furthermore, it turns out the 0 event does not count (that is, its reported that on PPro it actually does count something), therefore use a event configuration that's specified not to count to disable the counters. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 11d1578f9454159c43499d1d8fe8a7d728c176a3 Author: Vince Weaver Date: Wed Jul 8 17:46:14 2009 -0400 perf_counter: Add P6 PMU support Add basic P6 PMU support. The P6 uses the EVNTSEL0 EN bit to enable/disable both its counters. We use this for the global enable/disable, and clear all config bits (except EN) to disable individual counters. Actual ia32 hardware doesn't support lfence, so use a locked op without side-effect to implement a full barrier. perf stat and perf record seem to function correctly. [a.p.zijlstra@chello.nl: cleanups and complete the enable/disable code] Signed-off-by: Vince Weaver Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 9590b7ba3fefdfe0c7741f5e2f61faf2ffcea19c Author: Anton Blanchard Date: Mon Jul 6 22:01:31 2009 +1000 perf_counter tools: Rename cache events to remove $ The cache events contain '$' which will hit shell variable expansion. To avoid confusion change this to 'cache', ie L1-d$-loads becomes L1-dcache-loads. Signed-off-by: Anton Blanchard Cc: Roland Dreier Cc: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <20090706120131.GB4391@kryten> Signed-off-by: Ingo Molnar commit b690a3770e99497982d48a93e30cb7de549aead8 Merge: 016d356 cf1eaab Author: Linus Torvalds Date: Thu Jul 9 20:45:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] w83627hf_wdt.c: add support for the W83627EHF support [WATCHDOG] SA1100 watchdog maximum timeout [WATCHDOG] w83697ug, fix lock imbalance [WATCHDOG] drivers/watchdog/bcm47xx_wdt.c: Remove unnecessary semicolons commit 016d3569bf7b21375451d91be6ee2ad4ffff5211 Author: Krzysztof Helt Date: Thu Jul 9 20:14:10 2009 +0200 mx3fb: fix regression with uninitalized fb_info->mm_lock mutex Remove call to the mx3fb_set_par() and the mx3fb_blank() before the register_framebuffer(). This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit afecb0d02ad5554cb59c2a30c262da200beaa002 Author: Krzysztof Helt Date: Thu Jul 9 20:15:44 2009 +0200 sm501fb: fix regression with uninitalized fb_info->mm_lock mutex Remove call to the fb_set_par() before the register_framebuffer(). This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit c2cc49a2f8a479dde96a599646d30b6cc9dbed78 Merge: e864561 d0c280d Author: Linus Torvalds Date: Thu Jul 9 20:40:58 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: when ATTR_READONLY is set, only clear write bits on non-directories cifs: remove cifsInodeInfo->inUse counter cifs: convert cifs_get_inode_info and non-posix readdir to use cifs_iget [CIFS] update cifs version number cifs: add and use CIFSSMBUnixSetFileInfo for setattr calls cifs: make a separate function for filling out FILE_UNIX_BASIC_INFO cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo cifs: add pid of initiating process to spnego upcall info cifs: fix regression with O_EXCL creates and optimize away lookup cifs: add new cifs_iget function and convert unix codepath to use it commit e864561c12bc743789eab76242b8314d394daa52 Merge: 42359da e594e96 Author: Linus Torvalds Date: Thu Jul 9 20:33:18 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits) cxgb3: Fix crash caused by stashing wrong netdev_queue ixgbe: Fix coexistence of FCoE and Flow Director in 82599 memory barrier: adding smp_mb__after_lock net: adding memory barrier to the poll and receive callbacks netpoll: Fix carrier detection for drivers that are using phylib includecheck fix: include/linux, rfkill.h p54: tx refused but queue active Atheros Kconfig needs to be dependent on WLAN_80211 mac80211: fix docbook mac80211_hwsim: avoid NULL access ssb: Add support for 4318E b43: Add support for 4318E zd1211rw: adding SONY IFU-WLM2 (054c:0257) as a zd1211b device zd1211rw: 07b8:6001 is a ZD1211B r6040: bump driver version to 0.24 and date to 08 July 2009 r6040: restore MIER register correctly when IRQ line is shared ipv4: Fix fib_trie rebalancing, part 4 (root thresholds) davinci_emac: fix kernel oops when changing MAC address while interface is down igb: set lan id prior to configuring phy mac80211: minstrel: avoid accessing negative indices in rix_to_ndx() ... commit 42359da44112565e12a5209befb36dc6b6d6cd9c Author: Dave Jones Date: Thu Jul 9 21:54:39 2009 -0400 Fix compile error in bmac.c Looks like the change in ad361c9884e809340f6daca80d56a9e9c871690a wasn't compile tested. Signed-off-by: Dave Jones Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 8d7ff4f2a0b22b7d6d7bc3982257d1dadea22824 Author: Robert Richter Date: Tue Jun 23 11:48:14 2009 +0200 x86/oprofile: rename kernel parameter for architectural perfmon to arch_perfmon The short name of the achitecture is 'arch_perfmon'. This patch changes the kernel parameter to use this name. Cc: Andi Kleen Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit e594e96e8a14101a6decabf6746bd5186287debc Author: Roland Dreier Date: Thu Jul 9 09:30:25 2009 +0000 cxgb3: Fix crash caused by stashing wrong netdev_queue Commit c3a8c5b6 ("cxgb3: move away from LLTX") exposed a bug in how cxgb3 looks up the netdev_queue it stashes away in a qset during initialization. For multiport devices, the TX queue index it uses is offset by the first_qset index of each port. This leads to a crash once LLTX is removed, since hard_start_xmit is called with one TX queue lock held, while the TX reclaim timer task grabs a different (wrong) TX queue lock when it frees skbs. Fix this by removing the first_qset offset used to look up the TX queue passed into t3_sge_alloc_qset() from setup_sge_qsets(). Signed-off-by: Roland Dreier Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 8faa2a786a5337683109d77ccf880339fdcdb332 Author: Yi Zou Date: Thu Jul 9 02:29:50 2009 +0000 ixgbe: Fix coexistence of FCoE and Flow Director in 82599 Fix coexistence of Fiber Channel over Ethernet (FCoE) and Flow Director (FDIR) in 82599 and remove the disabling of FDIR when FCoE is enabled. Currently, FDIR is turned off when FCoE is enabled under the assumption that FCoE is always enabled with DCB being turned on. However, FDIR does not have to be turned off all the time when FCoE is enabled since FCoE can be enabled without DCB being turned on, e.g., use link pause only. This patch makes sure that when DCB is turned on or off, FDIR is turned on or off correspondingly; and when FCoE is enabled, it does not disable FDIR, rather, it will have FDIR set up properly so FCoE and FDIR can coexist regardless of DCB being on or off. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ad46276952f1af34cd91d46d49ba13d347d56367 Author: Jiri Olsa Date: Wed Jul 8 12:10:31 2009 +0000 memory barrier: adding smp_mb__after_lock Adding smp_mb__after_lock define to be used as a smp_mb call after a lock. Making it nop for x86, since {read|write|spin}_lock() on x86 are full memory barriers. Signed-off-by: Jiri Olsa Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a57de0b4336e48db2811a2030bb68dba8dd09d88 Author: Jiri Olsa Date: Wed Jul 8 12:09:13 2009 +0000 net: adding memory barrier to the poll and receive callbacks Adding memory barrier after the poll_wait function, paired with receive callbacks. Adding fuctions sock_poll_wait and sk_has_sleeper to wrap the memory barrier. Without the memory barrier, following race can happen. The race fires, when following code paths meet, and the tp->rcv_nxt and __add_wait_queue updates stay in CPU caches. CPU1 CPU2 sys_select receive packet ... ... __add_wait_queue update tp->rcv_nxt ... ... tp->rcv_nxt check sock_def_readable ... { schedule ... if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) wake_up_interruptible(sk->sk_sleep) ... } If there was no cache the code would work ok, since the wait_queue and rcv_nxt are opposit to each other. Meaning that once tp->rcv_nxt is updated by CPU2, the CPU1 either already passed the tp->rcv_nxt check and sleeps, or will get the new value for tp->rcv_nxt and will return with new data mask. In both cases the process (CPU1) is being added to the wait queue, so the waitqueue_active (CPU2) call cannot miss and will wake up CPU1. The bad case is when the __add_wait_queue changes done by CPU1 stay in its cache, and so does the tp->rcv_nxt update on CPU2 side. The CPU1 will then endup calling schedule and sleep forever if there are no more data on the socket. Calls to poll_wait in following modules were ommited: net/bluetooth/af_bluetooth.c net/irda/af_irda.c net/irda/irnet/irnet_ppp.c net/mac80211/rc80211_pid_debugfs.c net/phonet/socket.c net/rds/af_rds.c net/rfkill/core.c net/sunrpc/cache.c net/sunrpc/rpc_pipe.c net/tipc/socket.c Signed-off-by: Jiri Olsa Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d0c280d26de9422c9c943f8f486b9830cd9bea70 Author: Jeff Layton Date: Thu Jul 9 01:46:44 2009 -0400 cifs: when ATTR_READONLY is set, only clear write bits on non-directories cifs: when ATTR_READONLY is set, only clear write bits on non-directories On windows servers, ATTR_READONLY apparently either has no meaning or serves as some sort of queue to certain applications for unrelated behavior. This MS kbase article has details: http://support.microsoft.com/kb/326549/ Don't clear the write bits directory mode when ATTR_READONLY is set. Reported-by: pouchat@peewiki.net Signed-off-by: Jeff Layton Signed-off-by: Steve French commit aeaaf253c4dee7ff9af2f3f0595f3bb66964e944 Author: Jeff Layton Date: Thu Jul 9 01:46:39 2009 -0400 cifs: remove cifsInodeInfo->inUse counter cifs: remove cifsInodeInfo->inUse counter It was purported to be a refcounter of some sort, but was never used that way. It never served any purpose that wasn't served equally well by the I_NEW flag. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit 0b8f18e358384a52c1ed7fa7129c08e7eaf86bb6 Author: Jeff Layton Date: Thu Jul 9 01:46:37 2009 -0400 cifs: convert cifs_get_inode_info and non-posix readdir to use cifs_iget cifs: convert cifs_get_inode_info and non-posix readdir to use cifs_iget Rather than allocating an inode and filling it out, have cifs_get_inode_info fill out a cifs_fattr and call cifs_iget. This means a pretty hefty reorganization of cifs_get_inode_info. For the readdir codepath, add a couple of new functions for filling out cifs_fattr's from different FindFile response infolevels. Finally, remove cifs_new_inode since there are no more callers. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit e99da35f060f9a3407f7def474a1df31f3b8643a Author: Zhao Yakui Date: Fri Jun 26 09:46:18 2009 +0800 drm/i915: Check the LID device to decide whether the LVDS should be initialized On some boxes the mobile chipset is used and there is no LVDS device. In such case we had better not initialize the LVDS output device so that one pipe can be used for other output device. For example: E-TOP. But unfortunately the LVDS device is still initialized on the boxes based on mobile chipset in KMS mode. It brings that this pipe occupied by LVDS can't be used for other output device. After checking the acpidump we find that there is no LID device on such boxes. In such case we can use the LID device to decide whether the LVDS device should be initialized. If there is no LID device, we can think that there is no LVDS device. It is unnecessary to initialize the LVDS output device. If there exists the LID device, it will continue the current flowchart. Maybe on some boxes there is no LVDS device but the LID device is found. In such case it should be added to the quirk list. http://bugs.freedesktop.org/show_bug.cgi?id=21496 http://bugs.freedesktop.org/show_bug.cgi?id=21856 http://bugs.freedesktop.org/show_bug.cgi?id=21127 Signed-off-by: Zhao Yakui Reviewed-by: Jesse Barnes [anholt: squashed in style fixups] Signed-off-by: Eric Anholt commit b77863bfa153e886f9f8faf1a791ba57a36efed0 Author: Steve French Date: Thu Jul 9 22:51:38 2009 +0000 [CIFS] update cifs version number Signed-off-by: Steve French commit 3bbeeb3c93a961bd01b969dd4395ecac0c09db8d Author: Jeff Layton Date: Thu Jul 9 20:02:50 2009 -0400 cifs: add and use CIFSSMBUnixSetFileInfo for setattr calls cifs: add and use CIFSSMBUnixSetFileInfo for setattr calls When there's an open filehandle, SET_FILE_INFO is apparently preferred over SET_PATH_INFO. Add a new variant that sets a FILE_UNIX_INFO_BASIC infolevel via SET_FILE_INFO and switch cifs_setattr_unix to use the new call when there's an open filehandle available. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 654cf14ac0a71c56c1f0032140c3403382ca076b Author: Jeff Layton Date: Thu Jul 9 20:02:49 2009 -0400 cifs: make a separate function for filling out FILE_UNIX_BASIC_INFO cifs: make a separate function for filling out FILE_UNIX_BASIC_INFO The SET_FILE_INFO variant will need to do the same thing here. Break this code out into a separate function that both variants can call. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 01ea95e3b6b16573a491ef98ad63f7a1bdcb504f Author: Jeff Layton Date: Thu Jul 9 20:02:49 2009 -0400 cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo ...in preparation of adding a SET_FILE_INFO variant. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit c4c1bff64dfff4e6dd0936a0340f56b9284512c8 Author: Jeff Layton Date: Thu Jul 9 20:02:48 2009 -0400 cifs: add pid of initiating process to spnego upcall info cifs: add pid of initiating process to spnego upcall info This will allow the upcall to poke in /proc//environ and get the value of the $KRB5CCNAME env var for the process. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit cf1eaab2525e8ae1d53eaf923981c96cb31e57c8 Author: Slobodan Tomić Date: Sun Jun 28 21:20:36 2009 +0200 [WATCHDOG] w83627hf_wdt.c: add support for the W83627EHF support Add support for the W83627EHF/EF and W83627EHG/EG chipsets. Signed-off-by: Slobodan Tomić Signed-off-by: Wim Van Sebroeck commit a6f052e39c3832b5842c4f44d9b3a4295dacfc4a Author: Raphael Assenat Date: Mon Jun 29 13:56:52 2009 -0400 [WATCHDOG] SA1100 watchdog maximum timeout This patch replaces the hardcoded 255 seconds limit for a real limit based on oscr_freq. Also, the 'firmware_version' field is changed to '1' to allow the user space application to easily detect that this driver supports a higher maximum timeout. Signed-off-by: Raphael Assenat Signed-off-by: Wim Van Sebroeck commit db5d2d8a5dfe0ae3e83ac618fd953ecc621adcdf Author: Jiri Slaby Date: Mon Jun 29 18:00:39 2009 +0200 [WATCHDOG] w83697ug, fix lock imbalance Don't forget to unlock io_lock when w83697ug_select_wd_register fails in wdt_ctrl. Signed-off-by: Jiri Slaby Signed-off-by: Wim Van Sebroeck commit b86a6c6c7b0bfc26b3e8d4f48e16ee0b13716385 Author: Joe Perches Date: Sun Jun 28 09:26:57 2009 -0700 [WATCHDOG] drivers/watchdog/bcm47xx_wdt.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Wim Van Sebroeck commit 005b10769c05fb16db70f7689ffb5ba17e3fc324 Author: David Heidelberger Date: Thu Jul 9 18:45:46 2009 +0200 ALSA: hda - targa and targa-2ch fix Simplify ALC882_TARGA and return gpio3 to ALC883_TARGA_DIG and ALC883_TARGA_2ch_DIG, which I accidentally removed in commit id 64a8be74357477558183b43156c5536b642de134 Signed-off-by: David Heidelberger Signed-off-by: Takashi Iwai commit 264ef8a904943ed7d0b04fa958894d7a5c2b2c61 Author: Catalin Marinas Date: Tue Jul 7 10:33:01 2009 +0100 kmemleak: Remove alloc_bootmem annotations introduced in the past kmemleak_alloc() calls were added in some places where alloc_bootmem was called. Since now kmemleak tracks bootmem allocations, these explicit calls should be run. Signed-off-by: Catalin Marinas Cc: Ingo Molnar Acked-by: Pekka Enberg commit 6860107a46c8762d35eb7bf71bcf6c6510793b76 Author: Linus Walleij Date: Mon Jul 6 18:04:28 2009 +0100 [ARM] 5594/1: Correct U300 VIC init PM setting This makes the VIC resume from suspend flagged IRQ:s identical to the flags indicating all possible interrupts. This is perhaps not the optimal setting but setting it to 0 makes the system suspend and never come back again (all IRQ sources masked off). Signed-off-by: Linus Walleij Signed-off-by: Russell King commit a0b98ec87d7a293a7d9ab8e45935c53a68f3094a Author: Hartley Sweeten Date: Mon Jul 6 22:17:54 2009 +0100 [ARM] 5595/1: ep93xx: missing header in dma-m2p.c was getting included by , is should be included by this file. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 39bd8064ab3648bc38b1a3ef507031ee6a477966 Merge: db78450 574ec54 Author: Russell King Date: Thu Jul 9 16:08:59 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit db78450abdb88b44322c551fc2868d1b2383355b Merge: 4e66a0f e2ce0e7 Author: Russell King Date: Thu Jul 9 16:08:14 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 4e66a0f536ad449a71de75bc81f4a830ef38d538 Merge: 34f2547 22fe843 Author: Russell King Date: Thu Jul 9 16:07:22 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit b7d4de7ff03085fda8310b2983b907166dd40f43 Author: Daniel Mack Date: Wed Jul 8 19:24:26 2009 +0200 ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free Check for rtd->params->drcmr != NULL before accessing it. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 369693dc93533097c0ca7243affb4f3244c336e8 Author: Paul Vojta Date: Wed Jul 8 23:57:46 2009 -0700 ALSA: hda - fix beep tone calculation for IDT/STAC codecs In the beep tone calculation for IDT/STAC codecs, lower numbers correspond to higher frequencies and vice versa. The current code has this backwards, resulting in beep frequencies which are way too high (and sound bad on tinny laptop speakers, resulting in complaints). [Also added hz <= 0 check by tiwai] Signed-off-by: Paul Vojta Signed-off-by: Takashi Iwai commit 061125476039a9a998878468a6abe235b1cee347 Author: Artem Bityutskiy Date: Mon Jun 29 19:27:14 2009 +0300 UBIFS: fix corruption dump In the 'ubifs_recover_leb()' function, when we find corrupted empty space, we dump 8K starting from the offset where the last node ends. This is OK if the corrupted empty space is somewhere near that offset. But if the corruption is far at the end of the LEB, we will dump all 0xFF bytes and complitely ignore the interesting data. This is observed on a PPC ("kilauea") with NOR flash. This patch changes the behavior and teaches UBIFS to print only interesting data. I.e., now we find where corruption starts and start dumping from that offset. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit 431102fed3effe4e4e19678830ddab7f05c34bf9 Author: Artem Bityutskiy Date: Mon Jun 29 18:58:34 2009 +0300 UBIFS: clean up free space checking recovery.c has 'is_empty()' helper and it is better to use this helper instead of re-implementing it in several places. This patch does this and removes some amount of unneeded code. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit ed43f2f06cc1cec7ec2dc235c908530bc8c796eb Author: Artem Bityutskiy Date: Mon Jun 29 17:59:23 2009 +0300 UBIFS: small amendments in the LEB scanning code This patch fixes few minor things I've spotted while going through code: 1. Better document return codes 2. If 'ubifs_scan_a_node()' returns some thing we do not expect, treat this as an error. 3. Try to do recovery only when 'ubifs_scan()' returns %-EUCLEAN, not on any error. 4. If empty space starts at a non-aligned address, print a message. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit 086b3640c10ab448a6993c4bae1508f496f530c4 Author: Artem Bityutskiy Date: Mon Jun 29 16:25:33 2009 +0300 UBIFS: dump a little more in case of corruptions In case of corruptions, dump 8192 bytes instead of 4096. The largest node is 4096+ bytes, so it is better to see a node boundary, which is not always possible when only 4096 bytes are printed. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit 34f25476ace556263784ea2f8173e22b25557a13 Merge: 2e31673 5e1596f Author: Linus Torvalds Date: Wed Jul 8 20:59:13 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix compile failure in cpufreq.c commit 1b614fb9a00e97b1eab54d4e442d405229c059dd Author: Anton Vorontsov Date: Wed Jul 8 20:09:44 2009 -0700 netpoll: Fix carrier detection for drivers that are using phylib Using early netconsole and gianfar driver this error pops up: netconsole: timeout waiting for carrier It appears that net/core/netpoll.c:netpoll_setup() is using cond_resched() in a loop waiting for a carrier. The thing is that cond_resched() is a no-op when system_state != SYSTEM_RUNNING, and so drivers/net/phy/phy.c's state_queue is never scheduled, therefore link detection doesn't work. I belive that the main problem is in cond_resched()[1], but despite how the cond_resched() story ends, it might be a good idea to call msleep(1) instead of cond_resched(), as suggested by Andrew Morton. [1] http://lkml.org/lkml/2009/7/7/463 Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit d2daeabf62a5fb205d413c35cf604021db17536b Merge: c3b8542 1ce822f Author: David S. Miller Date: Wed Jul 8 18:13:13 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 2e3167308048ca6c810733384d8289082f7e4ec1 Author: Roland Dreier Date: Wed Jul 8 17:05:32 2009 -0700 fealnx: Fix build breakage -- PR_CONT should be KERN_CONT Commit ad361c98 ("Remove multiple KERN_ prefixes from printk formats") broke the build for fealnx because it added some "printk(PR_CONT ..." calls, when PR_CONT doesn't exist; it should be "printk(KERN_CONT ..." Signed-off-by: Roland Dreier Cc: Joe Perches Signed-off-by: Linus Torvalds commit 5e1596f75395e7a402e1059c518e633d2732dcf8 Author: Dave Jones Date: Wed Jul 8 16:14:23 2009 -0400 [CPUFREQ] Fix compile failure in cpufreq.c managed_policy is out of scope for the non-smp case. Declare it locally where used (twice) Signed-off-by: Dave Jones commit 17ae26b669886efe237b77439e43eb390fceb119 Author: Jeff Liu Date: Tue Jul 7 15:51:40 2009 +0800 ocfs2: trivial fix for s/migrate/migration/ in dlmrecovery.c logging in dlmrecovery.c:1121, replace 'migrate' to 'migration' to keep the consistency by comparing to other lines with the similar log info in the same file. Signed-off-by: Jeff Liu Signed-off-by: Joel Becker commit 8b712cd58adfe6aeeb0be4ecc011dc35620719e7 Author: Jeff Mahoney Date: Tue Jul 7 17:22:12 2009 -0400 ocfs2: Fixup orphan scan cleanup after failed mount If the mount fails for any reason, ocfs2_dismount_volume calls ocfs2_orphan_scan_stop. It requires that ocfs2_orphan_scan_init be called to setup the mutex and work queues, but that doesn't happen if the mount has failed and we oops accessing an uninitialized work queue. This patch splits the init and startup of the orphan scan, eliminating the oops. Signed-off-by: Jeff Mahoney Signed-off-by: Joel Becker commit 5ddf1e0ff00fd808c048d0b920784828276cc516 Author: Jeff Layton Date: Sun Jul 5 11:01:02 2009 -0400 cifs: fix regression with O_EXCL creates and optimize away lookup cifs: fix regression with O_EXCL creates and optimize away lookup Signed-off-by: Jeff Layton Tested-by: Shirish Pargaonkar CC: Stable Kernel Signed-off-by: Steve French commit 1d01e83557105e7b3bf1623ad2b814d55e1c2990 Author: Krzysztof Helt Date: Wed Jul 8 22:26:16 2009 +0200 atmel_lcdfb: fix regression with uninitalized fb_info->mm_lock mutex Remove not needed locking of the fb_info->mm_lock mutex before a frambuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit b5daa70a4a55a807e893fe7f94289c61c50a6e5f Author: Krzysztof Helt Date: Wed Jul 8 21:59:17 2009 +0200 fsl-diu-fb: fix regression with uninitalized fb_info->mm_lock mutex Remove call to the fsl_diu_set_par before the register_framebuffer(). This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Tested-by: "Kai Jiang" Signed-off-by: Linus Torvalds commit 1ce822fa04fd6878f079461a4b8affe4bb5ec27b Author: Jaswinder Singh Rajput Date: Wed Jul 8 21:25:54 2009 +0530 includecheck fix: include/linux, rfkill.h fix the following 'make includecheck' warning: include/linux/rfkill.h: linux/types.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: John W. Linville commit 47ab3840a389ff1b9959734995123e5bc94c3443 Author: Larry Finger Date: Wed Jul 8 08:33:02 2009 -0500 p54: tx refused but queue active In the mainline kernel, p54usb will fail because the TX queue length can become < 0. This problem has been reported as Bugzilla #13725. The failure is expressed by the following message in the logs: WARNING: at net/mac80211/tx.c:1325 ieee80211_tx+0x23c/0x298 [mac80211]() Hardware name: HP Pavilion dv2700 Notebook PC tx refused but queue active This problem has been recently observed in the wireless-testing tree, where a full solution is being tested. That fix is too invasive for 2.6.31-rcX, but the simple change supplied here will prevent the failure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 804ef71ee183121de5e9bca1d70d114c97300e17 Author: Jay Sternberg Date: Tue Jul 7 11:18:46 2009 -0700 Atheros Kconfig needs to be dependent on WLAN_80211 Atheros top level menu needs a "depends WLAN_80211" to properly indent within menuconfig and xconfig interfaces. This is purely a visual issue but it effects all subsequent drivers. The issue is the top level menu does not include a dependency on WLAN_80211 so within the tree structure, Atheros is at the same level as WLAN_80211 but when WLAN_80211 collapsed, the menu disappears along with all subsequent drives, so it is really a subordinate. Signed-off-by: Jay Sternberg Signed-off-by: John W. Linville commit b9744d19e35d74f965fb94bd55f9313d3a7d9e54 Author: Johannes Berg Date: Tue Jul 7 11:10:12 2009 +0200 mac80211: fix docbook These two functions no longer exist in mac80211, so trying to insert them generates warnings in the document. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4ff176674e75bdee9022dded415fb805f15700ad Author: Johannes Berg Date: Tue Jul 7 03:43:02 2009 +0200 mac80211_hwsim: avoid NULL access There's a race condition -- started can be set to true before channel is set due to the way mac80211 callbacks currently work (->start should probably pass the channel we would like to have initially). For now simply add a check to hwsim to avoid dereferencing the NULL channel pointer. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2fbddeb5c409c90be4706ea2beb7f1fc02100c72 Author: Clyde McPherson Date: Tue Jun 30 22:39:43 2009 -0500 ssb: Add support for 4318E Added support for the Broadcom 4318E chipset on PCMCIA/CF cards. The 4318E can do 802.11A/B/G, only B and G mode are supported in b43. Signed-off-by: Clyde McPherson Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cff782cd94df7adea84af6aa9516c8088f7ea950 Author: Clyde McPherson Date: Tue Jun 30 22:39:28 2009 -0500 b43: Add support for 4318E Added support for the Broadcom 4318E chipset on PCMCIA/CF cards. The 4318E can do 802.11A/B/G, only B and G mode are supported in b43. Signed-off-by: Clyde McPherson Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 8b339d05805fb91cc0b5179af5b4d05d9f8b949c Author: Hin-Tak Leung Date: Fri Jun 26 05:28:15 2009 +0100 zd1211rw: adding SONY IFU-WLM2 (054c:0257) as a zd1211b device Yevgen Kotikov reported success on the sourceforge zd1211-devs list with the following details: Brand/retail: SONY IFU-WLM2 USB-IDs: Vendor: 0x054C Device: 0x0257 chip ID: zd1211b chip 054c:0257 v4802 high 00-0b-6b AL2230_RF pa0 ----- FCC ID: unknown Signed-off-by: Hin-Tak Leung Tested-by: Yevgen Kotikov Signed-off-by: John W. Linville commit b4b223cdd5981f776491134faa7bc4ac342b44d4 Author: Pascal Terjan Date: Thu Jun 18 17:54:03 2009 +0200 zd1211rw: 07b8:6001 is a ZD1211B On a shuttle machine here we got 07b8:6001 device, handled by zd1211rw, which does not work. Scanning is OK but association does not work, we get "direct probe to AP xxx timed out" It appears that this simple patch makes the device work perfectly. This id was already there in initial import of the driver so I don't know if it has ever been working as ZD1211 (which would mean they changed it and kept the id :( ). Signed-off-by: Pascal Terjan Signed-off-by: John W. Linville commit c3b85423072c0739d76b7c54080d3f3ccc5dad4d Author: Florian Fainelli Date: Wed Jul 8 03:05:48 2009 +0000 r6040: bump driver version to 0.24 and date to 08 July 2009 Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 35976d4d557c5017c2180a083e8bd970cf73f3d5 Author: Florian Fainelli Date: Wed Jul 8 03:05:14 2009 +0000 r6040: restore MIER register correctly when IRQ line is shared When the r6040 device IRQ line is shared we will enter the driver interrupt service routine, mask off the device interrupt enable register (MIER) and return with IRQ_NONE, we would then leave the device with interrupts disabled, this patch fixes that issue. Reported-by: Steve Holland Signed-off-by: Joe Chou Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 345aa031207d02d7438c1aa96ed9315911ecd745 Author: Jarek Poplawski Date: Tue Jul 7 19:39:16 2009 -0700 ipv4: Fix fib_trie rebalancing, part 4 (root thresholds) Pawel Staszewski wrote:
Some time ago i report this: http://bugzilla.kernel.org/show_bug.cgi?id=6648 and now with 2.6.29 / 2.6.29.1 / 2.6.29.3 and 2.6.30 it back dmesg output: oprofile: using NMI interrupt. Fix inflate_threshold_root. Now=15 size=11 bits ... Fix inflate_threshold_root. Now=15 size=11 bits cat /proc/net/fib_triestat Basic info: size of leaf: 40 bytes, size of tnode: 56 bytes. Main: Aver depth: 2.28 Max depth: 6 Leaves: 276539 Prefixes: 289922 Internal nodes: 66762 1: 35046 2: 13824 3: 9508 4: 4897 5: 2331 6: 1149 7: 5 9: 1 18: 1 Pointers: 691228 Null ptrs: 347928 Total size: 35709 kB
It seems, the current threshold for root resizing is too aggressive, and it causes misleading warnings during big updates, but it might be also responsible for memory problems, especially with non-preempt configs, when RCU freeing is delayed long after call_rcu. It should be also mentioned that because of non-atomic changes during resizing/rebalancing the current lookup algorithm can miss valid leaves so it's additional argument to shorten these activities even at a cost of a minimally longer searching. This patch restores values before the patch "[IPV4]: fib_trie root node settings", commit: 965ffea43d4ebe8cd7b9fee78d651268dd7d23c5 from v2.6.22. Pawel's report:
I dont see any big change of (cpu load or faster/slower routing/propagating routes from bgpd or something else) - in avg there is from 2% to 3% more of CPU load i dont know why but it is - i change from "preempt" to "no preempt" 3 times and check this my "mpstat -P ALL 1 30" always avg cpu load was from 2 to 3% more compared to "no preempt" [...] cat /proc/net/fib_triestat Basic info: size of leaf: 20 bytes, size of tnode: 36 bytes. Main: Aver depth: 2.44 Max depth: 6 Leaves: 277814 Prefixes: 291306 Internal nodes: 66420 1: 32737 2: 14850 3: 10332 4: 4871 5: 2313 6: 942 7: 371 8: 3 17: 1 Pointers: 599098 Null ptrs: 254865 Total size: 18067 kB
According to this and other similar reports average depth is slightly increased (~0.2), and root nodes are shorter (log 17 vs. 18), but there is no visible performance decrease. So, until memory handling is improved or added parameters for changing this individually, this patch resets to safer defaults. Reported-by: Pawel Staszewski Reported-by: Jorge Boncompte [DTI2] Signed-off-by: Jarek Poplawski Tested-by: Pawel Staszewski Signed-off-by: David S. Miller commit 64c8165b44a91c09b19afb4110610ed242286639 Author: Pablo Bitton Date: Tue Jul 7 19:11:10 2009 -0700 davinci_emac: fix kernel oops when changing MAC address while interface is down Check that network interface is running before changing its MAC address. Otherwise, rxch is accessed when it's NULL - causing a kernel oops. Moreover, check that the new MAC address is valid. Signed-off-by: Pablo Bitton Signed-off-by: Chaithrika U S Tested-by: Chaithrika U S [tested on DM6467 EVM] Signed-off-by: David S. Miller commit 19e588e7d156cc4415585edd8c27c3075f62eaf8 Author: Alexander Duyck Date: Tue Jul 7 13:01:55 2009 +0000 igb: set lan id prior to configuring phy The igb driver was defaulting to using the lock for pci-e function 0 for all of the phys due to the fact that the lan id was not being set prior to initialization. This change makes it so that the function id is set prior to checking for the phy id. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 44b572809581d5a10dbe35aa6bf689f32b9c5ad6 Author: Yinghai Lu Date: Wed Jul 8 09:50:19 2009 -0700 x86: don't clear nodes_states[N_NORMAL_MEMORY] when numa is not compiled in Alex found that specjbb2005 still can not run with hugepages on an x86-64 machine. This only happens when numa is not compiled in. The root cause: node_set_state will not set it back for us in that case, so don't clear that when numa is not select in config [ v2: use node_clear_state instead ] Reported-and-Tested-by: Alex Shi Signed-off-by: Yinghai Lu Reviewed-by: Christoph Lameter Signed-off-by: Linus Torvalds commit ad361c9884e809340f6daca80d56a9e9c871690a Author: Joe Perches Date: Mon Jul 6 13:05:40 2009 -0700 Remove multiple KERN_ prefixes from printk formats Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean up handling of log-levels and newlines") changed printk semantics. printk lines with multiple KERN_ prefixes are no longer emitted as before the patch. is now included in the output on each additional use. Remove all uses of multiple KERN_s in formats. Signed-off-by: Joe Perches Signed-off-by: Linus Torvalds commit e3288775ff63900fbb7db505f2b9a1bee98f07df Author: Alan Cox Date: Tue Jul 7 16:39:54 2009 +0100 tty: maintainers data was edited wrongly by someone Move tty entries to tty not trivial. Noted by David Brownell. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d945cb9cce20ac7143c2de8d88b187f62db99bdc Author: Alan Cox Date: Tue Jul 7 16:39:41 2009 +0100 pty: Rework the pty layer to use the normal buffering logic This fixes the ppp problems and various other issues with call locking caused by one side of a pty called in one locking context trying to match another with differing rules on the other side. We also get a big slack space to work with that means we can bury the flow control deadlock case for any conceivable real world situation. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b4b21cac88caa4078f5755b0bd3770af5fe9c146 Merge: 728b690 a2e1b4c Author: Linus Torvalds Date: Wed Jul 8 09:36:46 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Powernow-k8: support family 0xf with 2 low p-states [CPUFREQ] fix (utter) cpufreq_add_dev mess [CPUFREQ] Cleanup locking in conservative governor [CPUFREQ] Cleanup locking in ondemand governor [CPUFREQ] Mark policy_rwsem as going static in cpufreq.c wont be exported [CPUFREQ] Eliminate the recent lockdep warnings in cpufreq commit 728b690fd5c185c639a5db0819bd6e0385b14188 Merge: ed7ba2e d01730d Author: Linus Torvalds Date: Wed Jul 8 09:35:50 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: quota: Fix possible deadlock during parallel quotaon and quotaoff commit ed7ba2ef09254b2fd9698708b407f4652d26e36a Merge: 4b99d35 886a7a3 Author: Linus Torvalds Date: Wed Jul 8 09:35:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM: Clear -EAGAIN in dpm_prepare x86: Fix resume from suspend when CONFIG_CC_STACKPROTECTOR commit 4b99d3527041bec1abe9903263a3a1b7d2ba0c4a Author: Sheng Yang Date: Wed Jul 8 11:52:52 2009 +0100 intel-iommu: Fix intel_iommu_unmap_range() with size 0 After some API change, intel_iommu_unmap_range() introduced a assumption that parameter size != 0, otherwise the dma_pte_clean_range() would have a overflowed argument. But the user like KVM don't have this assumption before, then some BUG() triggered. Fix it by ignoring size = 0. Signed-off-by: Sheng Yang Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 0f2f2221b4ad816567394a52643963428fd353cd Author: Catalin Marinas Date: Wed Jul 8 11:17:40 2009 +0100 Free struct device in fw_dev_release() The f_dev in _request_firmware() is allocated via the fw_setup_device() and fw_register_device() calls and its class set to firmware_class (the class release function is fw_dev_release). Commit 6acf70f078ca replaced the kfree(dev) in fw_dev_release() with a put_device() call but my understanding is that the release function is called via put_device -> kobject_put -> kref_put -> koject_release etc. and it should call kfree since it's the last to see this device structure alive. Because of that, the _request_firmware() function on its -ENOENT error path only calls device_unregister(f_dev) which would eventually call fw_dev_release() but there is no kfree (the subsequent put_device call would just make the kref negative). Signed-off-by: Catalin Marinas Acked-by: Cornelia Huck Acked-by: Ming Lei Signed-off-by: Linus Torvalds commit d5ce5b40bc66880d1732461d4b47d7fc3331ed30 Author: Catalin Marinas Date: Wed Jul 8 11:17:34 2009 +0100 Free the memory allocated by memdup_user() in fs/sysfs/bin.c Commit 1c8542c7bb replaced kmalloc() with memdup_user() in the write() function but also dropped the kfree(temp). The memdup_user() function allocates memory which is never freed. Signed-off-by: Catalin Marinas Cc: Parag Warudkar Signed-off-by: Linus Torvalds commit 5e75c5f5d723074b1ceefe916c3005888e431d12 Merge: d6d4655 eeafa5e Author: Linus Torvalds Date: Wed Jul 8 09:32:41 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: gpio_mouse - use standard driver registration method Input: mark serio and i8042 as suspended when hibernating too Input: add support for generic GPIO-based matrix keypad Input: arrange keyboards alphabetically Input: gpio-keys - avoid possibility of sleeping in timer function Input: gpio-keys - revert 'change timer to workqueue' Input: dm355evm_keys - fix kconfig symbol names Input: wacom - add DTF720a support and fix rotation on Intuos3 Input: i8042 - more reset quirks for MSI Wind-clone netbooks commit d6d4655172f9c5b9402bb453ed9145a7ab5c46d0 Merge: b43f3cb ea96025 Author: Linus Torvalds Date: Wed Jul 8 09:32:20 2009 -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: Don't use alloc_bootmem() in init_IRQ() path powerpc: Fix spin_event_timeout() to be robust over context switches powerpc: Use pr_devel() in do_dcache_icache_coherency() powerpc/cell: Use pr_devel() in axon_msi.c powerpc: Use pr_devel() in arch/powerpc/mm/gup.c powerpc: Cleanup & use pr_devel() in arch/powerpc/mm/slb.c powerpc/perf_counter: Remove duplicated #include powerpc: Use pr_devel() in arch/powerpc/mm/mmu_context_nohash.c powerpc/pseries: Use pr_devel() in xics.c powerpc: Remove unnecessary semicolons powerpc/pseries: Use pr_devel() in pseries LPAR HPTE routines powerpc/44x: Fix build error with -Werror for Warp platform powerpc/4xx: Have Warp take advantage of GPIO LEDs default-state = keep powerpc/44x: Update Warp defconfig commit b43f3cbd21ffbd719fd4fa6642bfe6af255ded34 Author: Alexey Dobriyan Date: Wed Jul 8 01:54:37 2009 +0400 headers: mnt_namespace.h redux Fix various silly problems wrt mnt_namespace.h: - exit_mnt_ns() isn't used, remove it - done that, sched.h and nsproxy.h inclusions aren't needed - mount.h inclusion was need for vfsmount_lock, but no longer - remove mnt_namespace.h inclusion from files which don't use anything from mnt_namespace.h Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 622f8061a68d3f7a576c20a47b7f3bae7c8cfbef Merge: 6c96895 dd4da3a Author: Linus Torvalds Date: Wed Jul 8 09:24:01 2009 -0700 Merge branch 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: serial: sh-sci: fix sci interrupt handler video: hitfb: Move over to dev_pm_ops. video: hitfb: Convert to framebuffer_alloc(). video: sh_mobile_lcdcfb: Convert to framebuffer_alloc(). sh: add r8a66597 usb0 host to the se7724 board usb: allow sh7724 to enable on-chip r8a66597 sh-sci: update receive error handling for muxed irqs sh: define PERF_COUNTER_INDEX_OFFSET. commit 6c96895e999f5c44a95a5cad6a6e32e7bd6e28b6 Author: Linus Torvalds Date: Wed Jul 8 09:20:11 2009 -0700 Revert "fb: Initialize fb_info mutexes in framebuffer_alloc()" This reverts commit 4148df9b0f38bdd362dd91d52076926c11cbe5a9. Let's hope that the mm_lock initialization is now correct with all drivers, following Krzysztof's patches. Requested-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit 99f5d48b98fb52db6da379c1b1fd6c87438ee45a Author: Krzysztof Helt Date: Tue Jul 7 22:34:13 2009 +0200 matroxfb: fix regression with uninitalized fb_info->mm_lock mutex (second head) Remove redundant locking by the mm_lock mutex before a second head of matrox framebuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit d7272e5bd9ead4389849db9749b8c4dabd459dd1 Author: Krzysztof Helt Date: Tue Jul 7 22:06:48 2009 +0200 matroxfb: fix regression with uninitalized fb_info->mm_lock mutex Remove redundant call to the matroxfb_update_fix() before matrox frambuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit f1b9c339bf30c90114b7c8f285d25e67c7080f90 Author: Krzysztof Helt Date: Tue Jul 7 19:24:54 2009 +0200 w100fb: fix regression with uninitalized fb_info->mm_lock mutex Remove redundant call to the w100fb_set_par() before w100 frambuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit feaa61e49b126c2206051a234b8f14ccc75b9f61 Author: Krzysztof Helt Date: Tue Jul 7 19:15:16 2009 +0200 atafb: fix regression with uninitalized fb_info->mm_lock mutex Remove redundant locking of the fb_info->mm_lock mutex before the frambuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit 0c8ddf7f8bf770cf49086af85078c4660d387c55 Author: Krzysztof Helt Date: Tue Jul 7 19:07:57 2009 +0200 i810fb: fix regression with uninitalized fb_info->mm_lock mutex Remove redundant call to the encode_fix() before i810 frambuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Signed-off-by: Linus Torvalds commit e9bf0cc7cbfbf3952cdf8028aa0d348d09ecdba1 Author: Parag Warudkar Date: Wed Jul 8 11:46:02 2009 -0400 elfcore.h : Fix UML build breakage Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 broke the UML build with the following error - In file included from fs/proc/kcore.c:17: include/linux/elfcore.h: In function 'elf_core_copy_task_regs': include/linux/elfcore.h:129: error: implicit declaration of function 'task_pt_regs' Fix this by restoring the previous behavior of returning 0 for all arches like UML that don't define task_pt_regs. Signed-off-by: Parag Warudkar Acked-by: Amerigo Wang Signed-off-by: Linus Torvalds commit 508f711090e06477081fd94cb9298b1b14dda9ff Author: Darren Salt Date: Wed Jul 8 15:29:49 2009 +0100 ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC) There is a regression, introduced in aa202455eec51699e44f658530728162cefa1307 (in alsa-kernel) which I noticed when trying to use the headphone socket on my EeeCPC 901: the output was *very* quiet, practically silent. This patch corrects the control types to that which was obviously intended in the referenced commit. Signed-off-by: Darren Salt Signed-off-by: Takashi Iwai commit ec3a354bd46cbdaa7933ba57a142ee2d2dbde0e5 Author: Catalin Marinas Date: Tue Jul 7 10:33:01 2009 +0100 kmemleak: Add callbacks to the bootmem allocator This patch adds kmemleak_alloc/free callbacks to the bootmem allocator. This would allow scanning of such blocks and help avoiding a whole class of false positives and more kmemleak annotations. Signed-off-by: Catalin Marinas Cc: Ingo Molnar Acked-by: Pekka Enberg Reviewed-by: Johannes Weiner commit 53238a60dd4a679f6fe5613a7ed46899587205cf Author: Catalin Marinas Date: Tue Jul 7 10:33:00 2009 +0100 kmemleak: Allow partial freeing of memory blocks Functions like free_bootmem() are allowed to free only part of a memory block. This patch adds support for this via the kmemleak_free_part() callback which removes the original object and creates one or two additional objects as a result of the memory block split. Signed-off-by: Catalin Marinas Cc: Ingo Molnar Acked-by: Pekka Enberg commit e4f7c0b44a8ac8935f223195af9ea637d0c08091 Author: Catalin Marinas Date: Tue Jul 7 10:32:59 2009 +0100 kmemleak: Trace the kmalloc_large* functions in slub The kmalloc_large() and kmalloc_large_node() functions were missed when adding the kmemleak hooks to the slub allocator. However, they should be traced to avoid false positives. Signed-off-by: Catalin Marinas Cc: Christoph Lameter Acked-by: Pekka Enberg commit 2587362eaf5c9df4e08de11e6340e3c4a88ed4c8 Author: Catalin Marinas Date: Tue Jul 7 10:32:58 2009 +0100 kmemleak: Scan objects allocated during a scanning episode Many of the false positives in kmemleak happen on busy systems where objects are allocated during a kmemleak scanning episode. These objects aren't scanned by default until the next memory scan. When such object is added, for example, at the head of a list, it is possible that all the other objects in the list become unreferenced until the next scan. This patch adds checking for newly allocated objects at the end of the scan and repeats the scanning on these objects. If Linux allocates new objects at a higher rate than their scanning, it stops after a predefined number of passes. Signed-off-by: Catalin Marinas commit b87324d082d9d898e3c06b2a07a2b94b2430b8ba Author: Catalin Marinas Date: Tue Jul 7 10:32:58 2009 +0100 kmemleak: Do not acquire scan_mutex in kmemleak_open() Initially, the scan_mutex was acquired in kmemleak_open() and released in kmemleak_release() (corresponding to /sys/kernel/debug/kmemleak operations). This was causing some lockdep reports when the file was closed from a different task than the one opening it. This patch moves the scan_mutex acquiring in kmemleak_write() or kmemleak_seq_start() with releasing in kmemleak_seq_stop(). Signed-off-by: Catalin Marinas commit 288c857d66a400ca4846dd700eb1c4820d738bb9 Author: Catalin Marinas Date: Tue Jul 7 10:32:57 2009 +0100 kmemleak: Remove the reported leaks number limitation Since the leaks are no longer printed to the syslog, there is no point in keeping this limitation. All the suspected leaks are shown on /sys/kernel/debug/kmemleak file. Signed-off-by: Catalin Marinas commit 886a7a3371da8ee46a13f8e598a536bd8765b837 Author: Sebastian Ott Date: Wed Jul 8 13:26:05 2009 +0200 PM: Clear -EAGAIN in dpm_prepare When the last device in the dpm list is unregistered directly after its prepare() callback returned with -EAGAIN, the return code is passed to the calling function, resulting in a suspend failure. Prevent this by clearing the return code after -EAGAIN. Signed-off-by: Sebastian Ott Signed-off-by: Rafael J. Wysocki commit 00024be9689963c55cf2ab10ce3fb4502016c09a Author: Peter Chubb Date: Wed Jul 8 13:20:13 2009 +0200 x86: Fix resume from suspend when CONFIG_CC_STACKPROTECTOR Patch 08687aec71bc9134fe336e561f6did877bacf74fc0a (x86: unify power/cpu_(32|64).c) renamed cpu_32.c to cpu.c, but did not update the special compilation flags for the file for the new name. This patch fixes the compilation flags, and therefore fixes resume from suspend on my Acer Aspire One. [rjw: The regression from 2.6.30 fixed by this patch is tracked as http://bugzilla.kernel.org/show_bug.cgi?id=13661] Signed-off-by: Peter Chubb Signed-off-by: Rafael J. Wysocki commit 83c2099f5e1f0a4621ed4f20fc539069c636a24b Author: Artem Bityutskiy Date: Wed Jul 8 10:15:41 2009 +0300 UBI: fix compilation warnings The recent "UBI: fix NOR flash recovery" introduced compilation warnings which were immediately spotted by our linux-next keeper. This patch fixes them. Reported-by: Stephen Rothwell Signed-off-by: Artem Bityutskiy commit dc4c2e6bde77735071dbef7aca6bd6c0116102b3 Author: Andiry Brienza Date: Wed Jul 8 13:55:31 2009 +0800 ALSA: hda - Disable AMD SB600 64bit address support only HDA driver disabled HD audio 64bit address support for all AMD SB600/SB700/SB800 platforms with commit 09240cf429505891d6123ce14a29f58f2a60121e due to one SB600 issue reported by community, but we do not see the similar issue on SB700/SB800 platforms. This patch is to refine the workaround for SB600 only. Signed-off-by: Andiry Xu Signed-off-by: Takashi Iwai commit eeafa5ef6de5acf678624a21f7dba7d43ba73845 Author: Saeed Bishara Date: Tue Jul 7 22:11:52 2009 -0700 Input: gpio_mouse - use standard driver registration method This patch is needed when the gpio's became available only at late stages, for example, when using i2c gpio expander. Signed-off-by: Saeed Bishara Signed-off-by: Dmitry Torokhov commit ddaa43433dd77535e4e132787f199f58ce224f44 Author: Thadeu Lima de Souza Cascardo Date: Tue Jul 7 22:10:02 2009 -0700 Input: mark serio and i8042 as suspended when hibernating too Serio ports are not being restarted any longer because resume operations after hibernate do nothing, since the device has not been marked as suspended. This happens because suspend is only considering the SUSPEND event but not the FREEZE event. Note that this driver has still to migrate to dev_pm_ops, but this fixes this particular bug now. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Dmitry Torokhov commit 1c55d521f4e58be55735d7ac47e8197d6791fa9a Author: Takashi Iwai Date: Wed Jul 8 07:45:46 2009 +0200 ALSA: hda - Check widget types while parsing capture source in patch_via.c Check the widget type and don't take invalid widgets while parsing the capture source in patch_via.c. Also, fixed some compile warnings introduced in the previous commit. Signed-off-by: Takashi Iwai commit ea96025a26ab8949adab1a8e81419202f92f3f7f Author: Anton Vorontsov Date: Wed Jul 1 10:59:57 2009 +0000 powerpc: Don't use alloc_bootmem() in init_IRQ() path This patch fixes various badnesses like this for all interrupt controllers: ------------[ cut here ]------------ Badness at c04db9dc [verbose debug info unavailable] NIP: c04db9dc LR: c04db9ac CTR: 00000000 REGS: c053de30 TRAP: 0700 Not tainted (2.6.31-rc1-00432-ge69b2b5-dirty) MSR: 00021000 CR: 22020084 XER: 00000000 TASK = c0500480[0] 'swapper' THREAD: c053c000 GPR00: 00000001 c053dee0 c0500480 00000000 00000050 00000020 3fffffff 00000000 GPR08: 00000001 c0540000 e0080080 00000000 22000084 64183600 3ff8f800 00000000 GPR16: 841b0240 449a0303 00000000 00000000 00000000 00000000 00000000 c04f5bf4 GPR24: 00000000 00000000 00000000 00000050 00000020 00000000 3fffffff 00000050 NIP [c04db9dc] alloc_arch_preferred_bootmem+0x48/0x74 LR [c04db9ac] alloc_arch_preferred_bootmem+0x18/0x74 Call Trace: [c053dee0] [c000a5a4] __of_address_to_resource+0x44/0xd0 (unreliable) [c053def0] [c04dba58] ___alloc_bootmem_nopanic+0x50/0x108 [c053df20] [c04dbb28] ___alloc_bootmem+0x18/0x50 [c053df30] [c04d5de0] qe_ic_init+0x5c/0x1b0 [c053df70] [c04d77b0] mpc85xx_mds_pic_init+0xb8/0x10c [c053dfb0] [c04cf374] init_IRQ+0x28/0x3c p.s. commit 85355bb272db31a3f2dd99d547eef794805e1319 ("powerpc: Fix mpic alloc warning") missed some alloc_bootmem() instances, this is now fixed. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: Benjamin Herrenschmidt commit ad9064d5e22a6a24f828dad63c4775c4d7280bd4 Author: Grant Likely Date: Mon Jun 29 13:40:51 2009 +0000 powerpc: Fix spin_event_timeout() to be robust over context switches Current implementation of spin_event_timeout can be interrupted by an IRQ or context switch after testing the condition, but before checking the timeout. This can cause the loop to report a timeout when the condition actually became true in the middle. This patch adds one final check of the condition upon exit of the loop if the last test of the condition was still false. Signed-off-by: Grant Likely Acked-by: Timur Tabi Signed-off-by: Benjamin Herrenschmidt commit 30c5af435b2e3e5700b0e4a53ac37a39b3b3516e Author: Michael Ellerman Date: Wed Jun 17 18:13:52 2009 +0000 powerpc: Use pr_devel() in do_dcache_icache_coherency() pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 2036 368 8 2412 96c arch/powerpc/mm/pgtable.o size after: text data bss dec hex filename 1677 248 8 1933 78d arch/powerpc/mm/pgtable.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 33875f03307452650309a7d071678b2ca5f2fc26 Author: Michael Ellerman Date: Wed Jun 17 18:13:53 2009 +0000 powerpc/cell: Use pr_devel() in axon_msi.c pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 7083 1616 0 8699 21fb arch/powerpc/../axon_msi.o size after: text data bss dec hex filename 5772 1208 0 6980 1b44 arch/powerpc/../axon_msi.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 29e5fa59e5ebe06d6bd7e04e7752a47ead23f89e Author: Michael Ellerman Date: Wed Jun 17 18:13:51 2009 +0000 powerpc: Use pr_devel() in arch/powerpc/mm/gup.c pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 3252 384 0 3636 e34 arch/powerpc/mm/gup.o size after: text data bss dec hex filename 2576 96 0 2672 a70 arch/powerpc/mm/gup.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 651e2dd2a1c47bb078d446f123a9ae950ba7a1f0 Author: Michael Ellerman Date: Wed Jun 17 18:13:51 2009 +0000 powerpc: Cleanup & use pr_devel() in arch/powerpc/mm/slb.c pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 3261 416 4 3681 e61 arch/powerpc/mm/slb.o size after: text data bss dec hex filename 2861 248 4 3113 c29 arch/powerpc/mm/slb.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 3665ee36fac936b2ad0ab170d101a3e2c8eb3fd2 Author: Huang Weiyi Date: Sat Jun 20 13:37:00 2009 +0000 powerpc/perf_counter: Remove duplicated #include Remove duplicated #include('s) in arch/powerpc/kernel/mpc7450-pmu.c arch/powerpc/kernel/ppc970-pmu.c Signed-off-by: Huang Weiyi Signed-off-by: Benjamin Herrenschmidt commit a1ac38ab98e8a79ce225347b725f3b9751c70f1e Author: Michael Ellerman Date: Wed Jun 17 18:13:54 2009 +0000 powerpc: Use pr_devel() in arch/powerpc/mm/mmu_context_nohash.c pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 1508 48 28 1584 630 powerpc/mm/mmu_context_nohash.o size after: text data bss dec hex filename 1088 0 28 1116 45c powerpc/mm/mmu_context_nohash.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit b69e9e931d2c6116921fdb260684e0546285c3c8 Author: Michael Ellerman Date: Wed Jun 17 18:13:53 2009 +0000 powerpc/pseries: Use pr_devel() in xics.c pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 7720 5488 296 13504 34c0 platforms/pseries/xics.o size after: text data bss dec hex filename 7535 5456 296 13287 33e7 platforms/pseries/xics.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit d258e64ef595792d6f749518354b69583e9a97f4 Author: Joe Perches Date: Sun Jun 28 06:26:10 2009 +0000 powerpc: Remove unnecessary semicolons Signed-off-by: Joe Perches Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 551a232c87b7781712c57c31f3e0851303d9f591 Author: Michael Ellerman Date: Wed Jun 17 18:13:50 2009 +0000 powerpc/pseries: Use pr_devel() in pseries LPAR HPTE routines pr_debug() can now result in code being generated even when DEBUG is not defined. That's not really desirable in some places. In particular, pSeries_lpar_hpte_insert() goes from 185 instructions to 77 instructions as a result of this patch. Luckily that code isn't called very often ... With CONFIG_DYNAMIC_DEBUG=y: size before: text data bss dec hex filename 7284 1552 296 9132 23ac platforms/pseries/lpar.o size after: text data bss dec hex filename 5806 1096 296 7198 1c1e platforms/pseries/lpar.o Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 01cc82623aea0b96ee2cba4534d1954ad793cfc3 Merge: faf80d6 a22ebd0 Author: Benjamin Herrenschmidt Date: Wed Jul 8 13:49:38 2009 +1000 Merge commit 'jwb/merge' into merge commit a17458fc9d9edc98b7c5865cdc42681cf9059f1c Author: Ben Gamari Date: Wed Jul 1 15:01:36 2009 -0400 drm/i915: Move lock to more reasonable location Make this consistent with the unlock statement. Also fix a minor typo in debugfs formatting Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit a01c75b338d7c743a8982011f01a4714ad2956de Author: Ben Gamari Date: Wed Jul 1 15:01:35 2009 -0400 drm/i915: Add gtt_offset to gem object list debugfs output This is quite useful for verifying that objects are actually mapped when they need to be. Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit b5323599af68caa2da08b7041400b62049afb91e Author: Ben Gamari Date: Wed Jul 1 15:01:34 2009 -0400 drm/i915: Remove gtt_bound from drm_i915_gem_object This wasn't even used as far as I could tell and will only confuse people (like me). Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit febc7694a55277b70cd662de05ed8a957685959c Author: ling.ma@intel.com Date: Thu Jun 25 11:55:57 2009 +0800 drm/i915: Disable VGA output when doing DRM_MODE_DPMS_OFF. Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit 8e4d36b993898b344f9176147f1dfeca583f81fd Author: ling.ma@intel.com Date: Tue Jun 30 11:35:34 2009 +0800 drm/i915: crt fetch EDID by DVI-I converter on G4x platform Usually crt mainly get modes via GPIOA ports. However on G4X platform we need to probe possible ports for DVI-I, which could be wired to GPIOD, then fetch our desired EDID, i.e on DG45ID platform we successfully fetch EDID by GPIOD port. It fixed freedesktop.org bug #21084 Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit 22bd50c5b9aaf46476cade52c4ae9afa21c44e15 Author: Zhenyu Wang Date: Mon Jul 6 17:27:52 2009 +0800 drm/i915: Don't update display FIFO watermark on IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 3938b45c1c75e53d45eb65ac253f12e86239c9ba Author: Luciano Coelho Date: Fri Jul 3 08:25:08 2009 +0300 mac80211: minstrel: avoid accessing negative indices in rix_to_ndx() If rix is not found in mi->r[], i will become -1 after the loop. This value is eventually used to access arrays, so we were accessing arrays with a negative index, which is obviously not what we want to do. This patch fixes this potential problem. Signed-off-by: Luciano Coelho Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 2dce4c2b5f0b43bd25bf9ea6ded06b7f8a54c91f Author: Johannes Berg Date: Thu Jul 2 15:46:41 2009 +0200 cfg80211: fix refcount leak The code in cfg80211's cfg80211_bss_update erroneously grabs a reference to the BSS, which means that it will never be freed. Signed-off-by: Johannes Berg Cc: stable@kernel.org [2.6.29, 2.6.30] Signed-off-by: John W. Linville commit 76d8b64e536362e16e38ee1c279c965ebfe094cc Author: Johannes Berg Date: Mon Jun 29 10:53:53 2009 +0200 hp-wmi: fix rfkill bug Fix the third (I think) polarity error I accidentally introduced in the rfkill rewrite to make wireless work again on (certain?) HP laptops. Signed-off-by: Johannes Berg Tested-by: Maciej Rutecki Signed-off-by: John W. Linville commit 59615b5f9d1323898ca94e88e595b5b04115076a Author: Andrey Yurovsky Date: Thu Jun 25 16:07:42 2009 -0700 mac80211: fix allocation in mesh_queue_preq We allocate a PREQ queue node in mesh_queue_preq, however the allocation may cause us to sleep. Use GFP_ATOMIC to prevent this. [ 1869.126498] BUG: scheduling while atomic: ping/1859/0x10000100 [ 1869.127164] Modules linked in: ath5k mac80211 ath [ 1869.128310] Pid: 1859, comm: ping Not tainted 2.6.30-wl #1 [ 1869.128754] Call Trace: [ 1869.129293] [] __schedule_bug+0x48/0x4d [ 1869.129866] [] __schedule+0x77/0x67a [ 1869.130544] [] ? release_console_sem+0x17d/0x185 [ 1869.131568] [] ? mesh_queue_preq+0x2b/0x165 [mac80211] [ 1869.132318] [] schedule+0x8/0x1f [ 1869.132807] [] __cond_resched+0x16/0x2f [ 1869.133478] [] _cond_resched+0x27/0x32 [ 1869.134191] [] kmem_cache_alloc+0x1c/0xcf [ 1869.134714] [] ? printk+0x15/0x17 [ 1869.135670] [] mesh_queue_preq+0x2b/0x165 [mac80211] [ 1869.136731] [] mesh_nexthop_lookup+0xee/0x12d [mac80211] [ 1869.138130] [] ieee80211_xmit+0xe6/0x2b2 [mac80211] [ 1869.138935] [] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k] [ 1869.139831] [] ? ath5k_tasklet_rx+0xba/0x506 [ath5k] [ 1869.140863] [] ieee80211_subif_start_xmit+0x6c9/0x6e4 [mac80211] [ 1869.141665] [] ? handle_level_irq+0x78/0x9d [ 1869.142390] [] dev_hard_start_xmit+0x168/0x1c7 [ 1869.143092] [] __qdisc_run+0xe1/0x1b7 [ 1869.143612] [] qdisc_run+0x18/0x1a [ 1869.144248] [] dev_queue_xmit+0x16a/0x25a [ 1869.144785] [] ? _read_unlock_bh+0xe/0x10 [ 1869.145465] [] neigh_resolve_output+0x19c/0x1c7 [ 1869.146182] [] ? ip_finish_output+0x0/0x51 [ 1869.146697] [] ip_finish_output2+0x182/0x1bc [ 1869.147358] [] ip_finish_output+0x4d/0x51 [ 1869.147863] [] ip_output+0x80/0x85 [ 1869.148515] [] dst_output+0x9/0xb [ 1869.149141] [] ip_local_out+0x17/0x1a [ 1869.149632] [] ip_push_pending_frames+0x1f3/0x255 [ 1869.150343] [] raw_sendmsg+0x5e6/0x667 [ 1869.150883] [] ? insert_work+0x6a/0x73 [ 1869.151834] [] ? ieee80211_invoke_rx_handlers+0x17da/0x1ae8 [mac80211] [ 1869.152630] [] inet_sendmsg+0x3b/0x48 [ 1869.153232] [] __sock_sendmsg+0x45/0x4e [ 1869.153740] [] sock_sendmsg+0xb8/0xce [ 1869.154519] [] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k] [ 1869.155289] [] ? autoremove_wake_function+0x0/0x30 [ 1869.155859] [] ? __copy_from_user_ll+0x11/0xce [ 1869.156573] [] ? copy_from_user+0x31/0x54 [ 1869.157235] [] ? verify_iovec+0x40/0x6e [ 1869.157778] [] sys_sendmsg+0x14d/0x1a5 [ 1869.158714] [] ? __ieee80211_rx+0x49e/0x4ee [mac80211] [ 1869.159641] [] ? ath5k_rxbuf_setup+0x6d/0x8d [ath5k] [ 1869.160543] [] ? ath5k_hw_setup_rx_desc+0x0/0x66 [ath5k] [ 1869.161434] [] ? ath5k_hw_get_rxdp+0xe/0x10 [ath5k] [ 1869.162319] [] ? ath5k_tasklet_rx+0xba/0x506 [ath5k] [ 1869.163063] [] ? enable_8259A_irq+0x40/0x43 [ 1869.163594] [] ? __dequeue_entity+0x23/0x27 [ 1869.164793] [] ? __switch_to+0x2b/0x105 [ 1869.165442] [] ? finish_task_switch+0x5b/0x74 [ 1869.166129] [] sys_socketcall+0x14b/0x17b [ 1869.166612] [] syscall_call+0x7/0xb Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit a7a4e41ed62a6a1fce6eb503c920f615eca27f02 Author: Samuel Ortiz Date: Wed Jun 24 16:07:22 2009 +0200 iwmc3200wifi: add Kconfig help We're missing a Kconfig help for the iwmc3200wifi driver. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit cbfe89c67b58e2bd1b47f6986b3b793f06f3d9b0 Author: Vasanthakumar Thiagarajan Date: Wed Jun 24 18:58:47 2009 +0530 ath9k: Fix leak in tx descriptor When we reclaim the tx desc, we always assume that the last desc is a holding desc, which is not true, and skip it. If the tx queue is drained during channel change, internal reset and etc, the last descriptor may not be the holding descriptor and we fail to reclaim them. This results in the following two issues. 1. Tx stuck - We drop all the frames coming from upper layer due to shortage in tx desc. 2. Crash - If we fail to reclaim a tx descriptor, we miss to update the tx BA window with the seq number of the frame associated to that desc, which, at some point, result in the following crash due to an assert failure in ath_tx_addto_baw(). This patch fixes these two issues. kernel BUG at ../drivers/net/wireless/ath/ath9k/xmit.c:180! [155064.304164] invalid opcode: 0000 [#1] SMP Call Trace: [] ? ath9k_tx+0xeb/0x160 [ath9k] [] ipv6? __ieee80211_tx+0x41/0x120 [mac80211] [] ? aes_i586ieee80211_master_start_xmit+0x28e/0x560 [mac80211] [] aes_generic? _spin_lock_irqsave+0x31/0x40 [] ? dev_hard_start_xmit+0x16b/0x1c0 [] ? __qdisc_run+0x1b5/0x200 [] ? af_packetieee80211_select_queue+0xa/0x100 [mac80211] [] ? i915dev_queue_xmit+0x2e7/0x3f0 [] ? ieee80211_subif_start_xmit+0x369/0x7a0 [mac80211] [] ? ip_output+0x55/0xb0 [] ? show_memcpy_count+0x18/0x60 [] ? __kfree_skb+0x36/0x90 [] ? binfmt_miscdev_queue_xmit_nit+0xd2/0x110 [] ? dev_hard_start_xmit+0x16b/0x1c0 [] ? __qdisc_run+0x1b5/0x200 [] ? scoarp_create+0x57/0x2a0 [] ? bridgedev_queue_xmit+0x2e7/0x3f0 [] ? eth_header+0x0/0xc0 [] stp? arp_xmit+0x5f/0x70 [] ? arp_send+0x5f/0x70 [] bnep? arp_solicit+0x105/0x210 [] ? neigh_timer_handler+0x19a/0x390 [] ? run_timer_softirq+0x138/0x210 [] ? ppdevneigh_timer_handler+0x0/0x390 [] ? neigh_timer_handler+0x0/0x390 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit fd4973c56f8d9baac8d269791a90e5119ce30a0e Author: Larry Finger Date: Sat Jun 20 12:58:11 2009 -0500 b43/b43legacy: fix radio LED initialization Fix condition in which radio LED did not initialize correctly, and remove 4 compilation warnings. After the recent changes in rfkill, the radio LED used by b43/b43legacy did not always initialize correctly. Both b43 and b43legacy used the deprecated variable radio_enabled in struct ieee80211_conf. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1f5fc70a250cc18f066072119e9fbbc20dad865f Author: Jiri Slaby Date: Sat Jun 20 12:31:11 2009 +0200 Wireless: nl80211, fix lock imbalance Don't forget to unlock cfg80211_mutex in one fail path of nl80211_set_wiphy. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 337b9d02b4873ceac91565272545fb6fd446d939 Author: Takashi Iwai Date: Tue Jul 7 18:18:59 2009 +0200 ALSA: hda - Fix capture source selection in patch_via.c The fixed widget NIDs in patch_via.c seem wrong for some codecs, and it resulted in the invalid capture source selection. This patch adds the code to parse the topology instead of using fixed numbers in order to get the right MUX widget id corresponding to the ADCs. Signed-off-by: Takashi Iwai commit d01730d74d2b0155da50d44555001706294014f7 Author: Jiaying Zhang Date: Tue Jul 7 18:15:21 2009 +0200 quota: Fix possible deadlock during parallel quotaon and quotaoff The following test script triggers a deadlock on ext2 filesystem: while true; do quotaon /dev/hda >&/dev/null; usleep $RANDOM; done & while true; do quotaoff /dev/hda >&/dev/null; usleep $RANDOM; done & I found there is a potential deadlock between quotaon and quotaoff (or quotasync). Basically, all of quotactl operations need to be protected by dqonoff_mutex. vfs_quota_off and vfs_quota_sync also call sb->s_op->quota_write that needs to grab the i_mutex of the quota file. But in vfs_quota_on_inode (called from quotaon operation), the current code tries to grab the i_mutex of the quota file first before getting quonoff_mutex. Reverse the order in which we take locks in vfs_quota_on_inode(). Jan Kara: Changed changelog to be more readable, made lockdep happy with I_MUTEX_QUOTA. Signed-off-by: Jiaying Zhang Signed-off-by: Jan Kara commit 07606309ff5a9136e340b9ca87c831650c1ec47a Author: Martin Schwidefsky Date: Tue Jul 7 16:37:13 2009 +0200 [S390] define KTIME_SCALAR for 32-bit s390 32-bit s390 has efficient support for 64/32-bit conversions, define KTIME_SCALAR to enable the use of the plain scalar nanosecond based representation of ktime. Signed-off-by: Martin Schwidefsky commit 25ca1251dc55673da1f3c6ddc1bf93fbb7fc83fc Author: Heiko Carstens Date: Tue Jul 7 16:37:12 2009 +0200 [S390] add generic atomic64 support for 31 bit Performance counters need 64 bit atomic operations. To keep the patch small we use the simple generic atomic64_t implementation. The native implementation follows with the next kernel. Fixes this build bug: In file included from kernel/sched.c:42: include/linux/perf_counter.h:427: error: expected specifier-qualifier-list before 'atomic64_t' Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2c48c4d631970b70d60a4f926b0f68f194a0d559 Author: Christian Borntraeger Date: Tue Jul 7 16:37:11 2009 +0200 [S390] improve suspend/resume error messages From: Michael Holzheu Signed-off-by: Michael Holzheu Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit fca3e357d5de31e484c3e0ec7f356e4fc488eb7f Author: Martin Schwidefsky Date: Tue Jul 7 16:37:10 2009 +0200 [S390] set SCHED_OMIT_FRAME_POINTER for s390 The frame pointer is useless for s390 in the sched.c code. Signed-off-by: Martin Schwidefsky commit 5075baca2e95840d76210c3cfda56134007462c9 Author: Heiko Carstens Date: Tue Jul 7 16:37:09 2009 +0200 [S390] add __ucmpdi2() helper function Provide __ucmpdi2() helper function on 31 bit so we don't run again and again in compile errors like this one: kernel/built-in.o: In function `T.689': perf_counter.c:(.text+0x56c86): undefined reference to `__ucmpdi2' Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2651fa2bcb1a7b06793441d50dcbf98efda592c6 Author: Heiko Carstens Date: Tue Jul 7 16:37:08 2009 +0200 [S390] perf_counter build fix Add PERF_COUNTER_INDEX_OFFSET define to fix this build bug: kernel/perf_counter.c: In function 'perf_counter_index': kernel/perf_counter.c:1889: error: 'PERF_COUNTER_INDEX_OFFSET' undeclared Same fix as for FRV since s390 doesn't support hw counters. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 81088819d588ba4d2dce3bf083fafc91974b14e0 Author: Frank Munzert Date: Tue Jul 7 16:37:07 2009 +0200 [S390] shutdown actions: save/return rc from init function We always returned -EINVAL when setting of a shutdown action failed. This was misleading, if for example the hardware did not support the shutdown action. Now we save each shutdown action's init return code and return it when the action is being set. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit aeec92ca3a1d5ca96efe76988fd4df943a90300d Author: Stefan Haberland Date: Tue Jul 7 16:37:06 2009 +0200 [S390] dasd: correct debugfeature sense dump remove loop, add some debug data and use get_sense function Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit bb8c29caffdda55d3df0315ff2485f7df7290b1d Author: Heiko Carstens Date: Tue Jul 7 16:37:05 2009 +0200 [S390] udelay: disable lockdep to avoid false positives Our udelay implementation enables interrupts to receive a special timer interrupt regardless of the context it is called from. This might lead to false positive lockdep reports. Since lockdep isn't aware of the fact that only a single interrupt source is enabled it warns about possible deadlocks that in reality won't happen, like the one below. To fix this disable lockdep before enabling interrupts. [ 254.040888] ================================= [ 254.040904] [ INFO: inconsistent lock state ] [ 254.040910] 2.6.30 #9 [ 254.040914] --------------------------------- [ 254.040920] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. [ 254.040927] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes: [ 254.040934] (sch->lock){?.-...}, at: [<00000000002e4778>] ccw_device_timeout+0x48/0x2f0 [ 254.040961] {IN-HARDIRQ-W} state was registered at: [ 254.040969] [<0000000000096f74>] __lock_acquire+0x9d4/0x188c [ 254.040985] [<0000000000097f68>] lock_acquire+0x13c/0x16c [ 254.040998] [<00000000004527e0>] _spin_lock+0x74/0xb8 [ 254.041016] [<0000000000457eb2>] do_IRQ+0xde/0x208 [ 254.041031] [<000000000002d190>] io_return+0x0/0x8 [ 254.041049] [<0000000000029faa>] vtime_stop_cpu+0xbe/0x114 [ 254.041066] irq event stamp: 259629 [ 254.041076] hardirqs last enabled at (259628): [<000000000045238e>] _spin_unlock_irq+0x5e/0x9c [ 254.041095] hardirqs last disabled at (259629): [<000000000045292e>] _spin_lock_irq+0x4a/0xc4 [ 254.041126] softirqs last enabled at (259614): [<000000000006500e>] __do_softirq+0x296/0x2b0 [ 254.041137] softirqs last disabled at (259619): [<0000000000024cf6>] do_softirq+0x102/0x108 [ 254.041147] [ 254.041148] other info that might help us debug this: [ 254.041153] 2 locks held by swapper/0: [ 254.041157] #0: (&priv->timer){+.-...}, at: [<000000000006bf9a>] run_timer_softirq+0x19a/0x340 [ 254.041170] #1: (sch->lock){?.-...}, at: [<00000000002e4778>] ccw_device_timeout+0x48/0x2f0 [ 254.041182] [ 254.041310] Call Trace: [ 254.041313] ([<00000000000174fc>] show_trace+0x16c/0x170) [ 254.041321] [<0000000000017578>] show_stack+0x78/0x104 [ 254.041327] [<000000000044d0ca>] dump_stack+0xc6/0xd4 [ 254.041342] [<00000000000949b4>] print_usage_bug+0x1c8/0x1fc [ 254.041353] [<0000000000094e8a>] mark_lock+0x4a2/0x670 [ 254.041364] [<00000000000950e2>] mark_held_locks+0x8a/0xb4 [ 254.041375] [<0000000000095398>] trace_hardirqs_on_caller+0x74/0x1ac [ 254.041388] [<00000000000954fa>] trace_hardirqs_on+0x2a/0x38 [ 254.041402] [<000000000025f1ec>] __udelay_disabled+0xac/0xfc [ 254.041419] [<000000000025f432>] __udelay+0x12a/0x148 [ 254.041433] [<00000000002d64d8>] cio_commit_config+0x170/0x290 [ 254.041451] [<00000000002d6978>] cio_disable_subchannel+0x120/0x1cc [ 254.041468] [<00000000002e32a4>] ccw_device_recog_done+0x54/0x2f4 [ 254.041485] [<00000000002e3638>] ccw_device_sense_id_done+0x50/0x90 [ 254.041508] [<00000000002e615a>] snsid_callback+0xfa/0x3a8 [ 254.041515] [<00000000002dd96c>] ccwreq_stop+0x80/0x90 [ 254.041523] [<00000000002dda8e>] ccw_request_timeout+0xc2/0xd0 [ 254.041530] [<00000000002e2f70>] ccw_device_request_event+0x58/0x90 [ 254.041537] [<00000000002e47ae>] ccw_device_timeout+0x7e/0x2f0 [ 254.041555] [<000000000006c02a>] run_timer_softirq+0x22a/0x340 [ 254.041566] [<0000000000064eb0>] __do_softirq+0x138/0x2b0 [ 254.041578] [<0000000000024cf6>] do_softirq+0x102/0x108 [ 254.041590] [<00000000000647ce>] irq_exit+0xee/0x114 [ 254.041603] [<0000000000457d88>] do_extint+0x130/0x17c [ 254.041617] [<000000000002d41e>] ext_no_vtime+0x1e/0x22 [ 254.041631] [<0000000000029faa>] vtime_stop_cpu+0xbe/0x114 [ 254.041646] ([<0000000000029f58>] vtime_stop_cpu+0x6c/0x114) [ 254.041662] [<000000000001d842>] cpu_idle+0x122/0x1c0 [ 254.041679] [<00000000004482c6>] start_secondary+0xce/0xe0 [ 254.041696] [<0000000000000000>] 0x0 [ 254.041715] [<0000000000000000>] 0x0 [ 254.041745] INFO: lockdep is turned off. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9935774217afd4cdda81ffd70e56dc6406710b06 Author: Heiko Carstens Date: Tue Jul 7 16:37:04 2009 +0200 [S390] monreader: fix dev_set_drvdata conversion Fix this: drivers/s390/char/monreader.c: In function 'mon_open': drivers/s390/char/monreader.c:323: warning: passing argument 1 of 'dev_set_drvdata' from incompatible pointer type include/linux/device.h:457: note: expected 'struct device *' but argument is of type 'struct device **' drivers/s390/char/monreader.c: In function 'monreader_freeze': drivers/s390/char/monreader.c:466: warning: passing argument 1 of 'dev_get_drvdata' from incompatible pointer type include/linux/device.h:452: note: expected 'const struct device *' but argument is of type 'struct device **' Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c9568fddf130cfa0d61eb1205342dbc5ab0ed394 Author: Heiko Carstens Date: Tue Jul 7 16:37:03 2009 +0200 [S390] sclp: fix compile error for !SCLP_CONSOLE Define an empty static inline version of sclp_console_pm_event() to fix the build error below for !SCLP_CONSOLE. drivers/s390/built-in.o: In function `sclp_rw_pm_event': sclp_rw.c:(.text+0x12f68): undefined reference to `sclp_console_pm_event' Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d3a11e601a51291fbdd40c47f6af6769b6e905ef Author: Takashi Iwai Date: Tue Jul 7 13:43:35 2009 +0200 ALSA: hda - Add missing EAPD initialization for VIA codecs If the output pin is used and EAPD capability is present, turn on the EAPD bit. This fixes the silent output problem on ASUS laptops with VT1708S codec. Signed-off-by: Takashi Iwai commit 55d1d6c1ef630dddd3cb5354c32a5aca954399e8 Author: Takashi Iwai Date: Tue Jul 7 13:39:03 2009 +0200 ALSA: hda - Clean up VT170x dig-in initialization code Minor clean up for initializing the digital-in pin. No functional changes. Signed-off-by: Takashi Iwai commit 4b8a96744c0c27ab94fb4e8155d4384c3b399e27 Author: Catalin Marinas Date: Tue Jul 7 10:32:56 2009 +0100 kmemleak: Add more cond_resched() calls in the scanning thread Following recent fix to no longer reschedule in the scan_block() function, the system may become unresponsive with !PREEMPT. This patch re-adds the cond_resched() call to scan_block() but conditioned by the allow_resched parameter. Signed-off-by: Catalin Marinas Cc: Ingo Molnar commit bf2a76b317c6ccc6f7b6b1dc09664c5b6a155c61 Author: Catalin Marinas Date: Tue Jul 7 10:32:55 2009 +0100 kmemleak: Renice the scanning thread to +10 This is a long-running thread but not high-priority. So it makes sense to renice it to +10. Signed-off-by: Catalin Marinas commit 7afdbf23c3acdec3eaf1b94f87132fff3d81ce73 Author: Arnd Bergmann Date: Tue Jul 7 10:23:43 2009 +0200 signals: declare sys_rt_tgsigqueueinfo in syscalls.h sys_rt_tgsigqueueinfo needs to be declared in linux/syscalls.h so that architectures defining the system call table in C can reference it. Signed-off-by: Arnd Bergmann LKML-Reference: <200907071023.44008.arnd@arndb.de> Signed-off-by: Thomas Gleixner commit ebf53f421308c2f59c9bcbad4c5c297a0d00199a Author: Artem Bityutskiy Date: Mon Jul 6 08:57:53 2009 +0300 UBI: fix NOR flash recovery This commit fixes NOR flash recovery issues observed with Spansion S29GL512N NOR. When NOR erases, it first fills PEBs with zeroes, then sets all bytes to 0xFF. Filling with zeroes starts from the end of the PEB. And when power is cut, this results in PEBs containing correct EC and VID headers but corrupted with zeros at the end. This confuses UBI and it mistakinly accepts these PEBs and associate them with LEBs. Fis this issue by zeroing EC and VID magics before erasing PEBs, to make UBI later refuse zem. Signed-off-by: Artem Bityutskiy commit dd4da3a55f99efbfd46674ebefdcc2878a57ef2a Author: SUGIOKA Toshinobu Date: Tue Jul 7 05:32:07 2009 +0000 serial: sh-sci: fix sci interrupt handler Fix up the error bit handling on SCI ports. Signed-off-by: SUGIOKA Toshinobu Signed-off-by: Paul Mundt commit e2ce0e718ee72e5915d35a6f4af40fa249cd626d Author: Simon Kagstrom Date: Tue Jun 30 21:42:00 2009 -0400 [ARM] Kirkwood: Correct header define Correct define typo (. -> ,) Signed-off-by: Simon Kagstrom Signed-off-by: Nicolas Pitre commit 2b5c0c72ea404d6b554a8284031dd78748314b9e Merge: 2dbc8a2 dc53fff Author: Paul Mundt Date: Tue Jul 7 11:55:05 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh/for-2.6.31 commit 2dbc8a23cc2e677422f6dea991aca4e3d31ab65f Author: Paul Mundt Date: Tue Jul 7 11:50:57 2009 +0900 video: hitfb: Move over to dev_pm_ops. A trivial update to move hitfb over to dev_pm_ops. Signed-off-by: Paul Mundt commit 684dcd056178a04374c71459dbd2b18c6d958ef7 Author: Paul Mundt Date: Tue Jul 7 11:44:56 2009 +0900 video: hitfb: Convert to framebuffer_alloc(). Follows the sh_mobile_lcdcfb change. Also fixes up a memory leak with cmap allocation. Signed-off-by: Paul Mundt commit e33afddca174171a68d57476ead8947476ab9240 Author: Paul Mundt Date: Tue Jul 7 11:24:32 2009 +0900 video: sh_mobile_lcdcfb: Convert to framebuffer_alloc(). All fb_info structures need to be allocated with framebuffer_alloc() due to special initialization. Switch over to it. Signed-off-by: Paul Mundt commit 5ca1ea23c4581f961afaddf1599970e6f05d02dc Author: Greg Ungerer Date: Mon Jul 6 15:23:34 2009 +0000 fec: fix definition of 5272 version of FEC_X_DES_ACTIVE register fec: fix definition of 5272 version of FEC_X_DES_ACTIVE register The ColdFire 5272 FEC driver has a different register address map than other users of the FEC driver. And its definition of the FEC_X_DES_ACTIVE register is incorrect, it should be 0x14. The fec interface cannot transmit data with the old value. Signed-off-by: Greg Ungerer ---- Signed-off-by: David S. Miller commit 9ff1a91c027145a53bec618c8255a7bd0a89794b Author: Greg Ungerer Date: Mon Jul 6 18:10:25 2009 -0700 fec: remove extra ";" from definition names Signed-off-by: Greg Ungerer Signed-off-by: David S. Miller commit a2e1b4c31257c07f148a89eb7eea7ca959fd0642 Author: Mark Langsdorf Date: Sun Jul 26 10:55:25 2009 -0500 [CPUFREQ] Powernow-k8: support family 0xf with 2 low p-states Provide support for family 0xf processors with 2 P-states below the elevator voltage. Remove the checks that prevent this configuration from being supported and increase the transition voltage to prevent errors during the transition. Signed-off-by: Mark Langsdorf Signed-off-by: Dave Jones commit 3f4a782b5ce2698b1870b5a7b573cd721d4fce33 Author: Mathieu Desnoyers Date: Fri Jul 3 11:25:16 2009 -0400 [CPUFREQ] fix (utter) cpufreq_add_dev mess OK, I've tried to clean it up the best I could, but please test this with concurrent cpu hotplug and cpufreq add/remove in loops. I'm sure we will make other interesting findings. This is step one of fixing the overall locking dependency mess in cpufreq. Signed-off-by: Mathieu Desnoyers CC: Venkatesh Pallipadi CC: rjw@sisk.pl CC: mingo@elte.hu CC: Shaohua Li CC: Pekka Enberg CC: Dave Young CC: "Rafael J. Wysocki" CC: Rusty Russell CC: sven.wegener@stealer.net CC: cpufreq@vger.kernel.org CC: Thomas Renninger Signed-off-by: Dave Jones commit ee88415caf736b89500f16e0a545614541a45005 Author: venkatesh.pallipadi@intel.com Date: Thu Jul 2 17:08:33 2009 -0700 [CPUFREQ] Cleanup locking in conservative governor Redesign the locking inside conservative driver. Make dbs_mutex handle all the global state changes inside the driver and invent a new percpu mutex to serialize percpu timer and frequency limit change. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 5a75c82828e7c088ca6e7b4827911dc29cc8e774 Author: venkatesh.pallipadi@intel.com Date: Thu Jul 2 17:08:32 2009 -0700 [CPUFREQ] Cleanup locking in ondemand governor Redesign the locking inside ondemand driver. Make dbs_mutex handle all the global state changes inside the driver and invent a new percpu mutex to serialize percpu timer and frequency limit change. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 37c90e8887efd218dc4af949b7f498ca2da4af9f Author: venkatesh.pallipadi@intel.com Date: Thu Jul 2 17:08:31 2009 -0700 [CPUFREQ] Mark policy_rwsem as going static in cpufreq.c wont be exported lock_policy_rwsem_* and unlock_policy_rwsem_* routines in cpufreq.c are currently exported to drivers. Improper use of those locks can result in deadlocks and it is better to keep the locks localized. Two previous in-kernel users of these interfaces (ondemand and conservative), do not use this interfaces any more. Schedule them for removal. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 7d26e2d5e2da37e92c6c7644b26b294dedd8c982 Author: venkatesh.pallipadi@intel.com Date: Thu Jul 2 17:08:30 2009 -0700 [CPUFREQ] Eliminate the recent lockdep warnings in cpufreq Commit b14893a62c73af0eca414cfed505b8c09efc613c although it was very much needed to properly cleanup ondemand timer, opened-up a can of worms related to locking dependencies in cpufreq. Patch here defines the need for dbs_mutex and cleans up its usage in ondemand governor. This also resolves the lockdep warnings reported here http://lkml.indiana.edu/hypermail/linux/kernel/0906.1/01925.html http://lkml.indiana.edu/hypermail/linux/kernel/0907.0/00820.html and few others.. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit faf80d62e44dc627efb741f48db50c1858d1667c Merge: eca4ee0 febe04d Author: Linus Torvalds Date: Mon Jul 6 17:45:44 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix usage of bios intcall() x86: Remove unused function lapic_watchdog_ok() x86: Remove unused variable disable_x2apic x86, kvm: Fix section mismatches in kvm.c x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user x86: Fix fixmap page order for FIX_TEXT_POKE0,1 amd-iommu: set evt_buf_size correctly amd-iommu: handle alias entries correctly in init code x86: Fix printk call in print_local_apic() x86: Declare check_efer() before it gets used x86: Mark device_nb as static and fix NULL noise x86: Remove double declaration of MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1 xen: Use kcalloc() in xen_init_IRQ() x86: Fix fixmap ordering x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c commit eca4ee0d1615c4fb01e437f674163542ec2dd072 Merge: e5a7675 557dca5 Author: Linus Torvalds Date: Mon Jul 6 16:47:54 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] amba: fix amba device resources [ARM] pgtable: file pte layout documentation [ARM] pgtable: swp pte layout documentation, definitions, and check [ARM] export __cpu_flush_dcache_page [ARM] 5576/1: Update kb9202_defconfig [ARM] 5581/1: U300 clock updates [ARM] 5579/1: Updated U300 defconfig commit e5a7675dd503f778987ba1f181799ba5aadde319 Merge: eeaecb8 3503e0a Author: Linus Torvalds Date: Mon Jul 6 16:47:15 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: Revert "ide: improve handling of Power Management requests" commit eeaecb8619fb679006ab24a11ed292e37c74703c Merge: dc53fff 0ca1b08 Author: Linus Torvalds Date: Mon Jul 6 16:46:57 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (39 commits) Revert "p54: Use SKB list handling helpers instead of by-hand code." sctp: fix warning at inet_sock_destruct() while release sctp socket tun/tap: Fix crashes if open() /dev/net/tun and then poll() it. dsa: fix 88e6xxx statistics counter snapshotting forcedeth: Fix NAPI race. drivers/net/smsc911x.c: Fix resource size off by 1 error pcnet_cs: add new id bnx2x: Fix the maximal values of coalescing timeouts. bnx2x: Disable HC coalescing when setting timeout to zero. tun: Fix device unregister race be2net: fix spurious interrupt handling in intx mode e1000e: disable K1 at 1000Mbps for 82577/82578 e1000e: delay second read of PHY_STATUS register on failure of first read e1000e: prevent NVM corruption on sectors larger than 4K e1000e: do not write SmartSpeed register bits on parts without support e1000e: delay after LCD reset and proper checks for PHY configuration done e1000e: PHY loopback broken on 82578 ixgbe: Not allow 8259x unsupported wol options change from ethtool ixgbe: fix inconsistent SFP/SFP+ failure results. ixgbe: fix regression on some 82598 adapters ... commit 92bd3bbfbe644ea0860cfe84cf175fffa5246423 Author: Yevgeny Petrilin Date: Mon Jul 6 16:10:40 2009 -0700 mlx4_core: Add new ConnectX EN PCI ID 0x6764 Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit cc4ac2e7fb90dfbbbd5a42df0879733f787e4690 Author: Yevgeny Petrilin Date: Mon Jul 6 16:10:03 2009 -0700 mlx4_core: Handle multi-physical function devices MT26468 (PCI ID 0x6764) devices can expose multiple physical functions. The current driver only handles the primary physical function. For other functions, the QUERY_FW firmware command will fail with the CMD_STAT_MULTI_FUNC_REQ error code. Don't try to drive such devices, but print a message saying the driver is skipping those devices rather than just "QUERY_FW command failed." Signed-off-by: Yevgeny Petrilin [ Rather than keeping unsupported devices bound to the driver, simply print a more informative error message and exit - Roland ] Signed-off-by: Roland Dreier commit dc53fffc105f68cb08ca872acd51550e89aa2e67 Merge: f560902 46b952a Author: Linus Torvalds Date: Mon Jul 6 14:07:00 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: Fix IRQ swizzling for ARI-enabled devices ia64/PCI: adjust section annotation for pcibios_setup() x86/PCI: get root CRS before scanning children x86/PCI: fix boundary checking when using root CRS PCI MSI: Fix restoration of MSI/MSI-X mask states in suspend/resume PCI MSI: Unmask MSI if setup failed PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names PCI: make pci_name() take const argument PCI: More PATA quirks for not entering D3 PCI: fix kernel-doc warnings PCI: check if bus has a proper bridge device before triggering SBR PCI: remove pci_dac_dma_... APIs on mn10300 PCI ECRC: Remove unnecessary semicolons PCI MSI: Return if alloc_msi_entry for MSI-X failed commit f560902c2d39c255bd67c0211f5dd80edb97a712 Merge: 9861df1 db6e3f9 Author: Linus Torvalds Date: Mon Jul 6 14:05:57 2009 -0700 Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix cast warning for init.c microblaze: Wire up new syscalls microblaze: use generic syscalls.h microblaze: clean up signal handling microblaze: convert all simple headers to use asm-generic microblaze: use the generic lib/checksum.c microblaze: fall back on generic header files for the ABI commit 9861df15f44d98eb6fa9a839b558633ecee87194 Merge: 8871b20 67fc25e Author: Linus Torvalds Date: Mon Jul 6 14:05:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: SLAB: Fix lockdep annotations fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b commit 8871b201da6e443b7ab2967050e3064360d0604f Merge: 085ff82 0a68434 Author: Linus Torvalds Date: Mon Jul 6 14:04:25 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (25 commits) V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic V4L/DVB (12203): radio-si470x: fix lock imbalance V4L/DVB (12202): em28xx, fix lock imbalance V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix V4L/DVB (12171): em28xx: fix webcam usage with different output formats V4L/DVB (12169): em28xx-video: fix VIDIOC_G_FMT and VIDIOC_ENUMFMT with webcams V4L/DVB (12156): em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version) V4L/DVB (12139): em28xx: add other video formats V4L/DVB (12138): em28xx: add support for Silvercrest Webcam V4L/DVB (12174): mt9v011: let's stick with datasheet values where it works V4L/DVB (12173): mt9v011: properly calculate image resolution registers V4L/DVB (12137): mt9v011: CodingStyle fixes V4L/DVB (12136): mt9v011: Some fixes at the register initialization table V4L/DVB (12135): Add a driver for mt9v011 sensor V4L/DVB (12166): cx23885: add FIXME comment above set_frontend override V4L/DVB (12165): cx23885: override set_frontend to allow rf input path switching on the HVR1275 V4L/DVB (12148): move V4L2_PIX_FMT_SGRBG8 to the proper place V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353 V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction V4L/DVB (12180): cx18: Update Yuan MPC-718 card entry with better information and guesses ... commit 085ff82c9c615d502d1e6754879d8d4ff590d143 Merge: f63bafe5 3dfc813 Author: Linus Torvalds Date: Mon Jul 6 14:03:59 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: intel-iommu: Don't use identity mapping for PCI devices behind bridges intel-iommu: Use iommu_should_identity_map() at startup time too. intel-iommu: No mapping for non-PCI devices intel-iommu: Restore DMAR_BROKEN_GFX_WA option for broken graphics drivers intel-iommu: Add iommu_should_identity_map() function intel-iommu: Fix reattaching of devices to identity mapping domain intel-iommu: Don't set identity mapping for bypassed graphics devices intel-iommu: Fix dma vs. mm page confusion with aligned_nrpages() commit f63bafe55654caf3a62f73500eafd1b89ca6f7ff Merge: 4148df9 ebbb16b Author: Linus Torvalds Date: Mon Jul 6 14:03:44 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: sbp2: add support for disks >2 TB (and 16 bytes long CDBs) firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs) firewire: core: do not DMA-map stack addresses commit 4148df9b0f38bdd362dd91d52076926c11cbe5a9 Author: Paul Mundt Date: Mon Jul 6 00:25:57 2009 +0900 fb: Initialize fb_info mutexes in framebuffer_alloc() This way they'll be properly initialized early enough for users that may touch them before the framebuffer has been registered. Drivers that allocate their fb_info structure some other way (like matrocfb's broken static allocation) need to be fixed up appropriately. Signed-off-by: Paul Mundt Signed-off-by: Linus Torvalds commit 793285fcafce4719a05e0c99fa74b188157fe7fe Author: Oleg Nesterov Date: Sun Jul 5 12:08:26 2009 -0700 cred_guard_mutex: do not return -EINTR to user-space do_execve() and ptrace_attach() return -EINTR if mutex_lock_interruptible(->cred_guard_mutex) fails. This is not right, change the code to return ERESTARTNOINTR. Perhaps we should also change proc_pid_attr_write(). Signed-off-by: Oleg Nesterov Cc: David Howells Acked-by: Roland McGrath Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82e3310ace59794ecf0f531eca94647b2863dfda Author: Tobias Doerffel Date: Sun Jul 5 12:08:23 2009 -0700 linux/sysrq.h needs linux/errno.h In include/linux/sysrq.h the constant EINVAL is being used but is undefined if include/linux/errno.h is not included before. Fix this by adding #include at the beginning. Signed-off-by: Tobias Doerffel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 600ce1a0faafeed1ce6bcfd421bc040b941cbbc1 Author: InKi Dae Date: Sun Jul 5 12:08:21 2009 -0700 drivers/video/s3c-fb.c: fix clock setting for Samsung SoC Framebuffer Correct the CLKVAL_F field value of VIDEO MAIN CONTROLLER 0 REGITSTER. Frame Rate is 1 / [ { (VSPW+1) + (VBPD+1) + (LIINEVAL + 1) + (VFPD+1) } x {(HSPW+1) + (HBPD +1) + (HFPD+1) + (HOZVAL + 1) } x { ( CLKVAL+1 ) / ( Frequency of Clock source ) } ] and VCLK = Video Clock Source / (CLKVAL +1). therefore CLKVAL_F should be "CLKVAL_F = Frequency of Clock source / pixel clock * refresh". for this, I added refresh value in platform data like below. static struct s3c_fb_pd_win xxx_fb_win0 = { /* this is to ensure we use win0 */ .win_mode = { .refresh = 60, .pixclock = (66+4+2+480)*(15+5+3+800), .left_margin = 66, .right_margin = 2, .upper_margin = 15, .lower_margin = 3, .hsync_len = 4, .vsync_len = 5, .xres = 480, .yres = 800, }, .max_bpp = 32, .default_bpp = 24, }; static struct s3c_fb_platdata xxx_lcd_pdata __initdata = { .win[0] = &xxx_fb_win0, .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC | VIDCON1_INV_VCLK | VIDCON1_INV_VDEN, .setup_gpio = s5pc1xx_fb_gpio_setup_24bpp, }; xxx_machine_init() { . . . s3c_fb_set_platdata(&xxx_lcd_pdata); } platform data defined in machine code should be setting using s3c_fb_set_platdata(). Signed-off-by: InKi Dae Cc: Kyungmin Park Cc: Krzysztof Helt Cc: Marek Szyprowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bfd7560979062ad75c9805c1719cec990b5db29 Author: Kevin Cernekee Date: Sun Jul 5 12:08:19 2009 -0700 Fix virt_to_phys() warnings These warnings were observed on MIPS32 using 2.6.31-rc1 and gcc-4.2.0: mm/page_alloc.c: In function 'alloc_pages_exact': mm/page_alloc.c:1986: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast drivers/usb/mon/mon_bin.c: In function 'mon_alloc_buff': drivers/usb/mon/mon_bin.c:1264: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast [akpm@linux-foundation.org: fix kernel/perf_counter.c too] Signed-off-by: Kevin Cernekee Cc: Andi Kleen Cc: Ralf Baechle Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8236db9cd7aa492dcfcdcca702638e704abed49 Author: Josef Bacik Date: Sun Jul 5 12:08:18 2009 -0700 mm: mark page accessed before we write_end() In testing a backport of the write_begin/write_end AOPs, a 10% re-read regression was noticed when running iozone. This regression was introduced because the old AOPs would always do a mark_page_accessed(page) after the commit_write, but when the new AOPs where introduced, the only place this was kept was in pagecache_write_end(). This patch does the same thing in the generic case as what is done in pagecache_write_end(), which is just to mark the page accessed before we do write_end(). Signed-off-by: Josef Bacik Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 Author: Hui Zhu Date: Sun Jul 5 12:08:15 2009 -0700 elf: fix multithreaded program core dumping on arm Fix the multithread program core thread message error. This issue affects arches with neither has CORE_DUMP_USE_REGSET nor ELF_CORE_COPY_TASK_REGS, ARM is one of them. The thread message of core file is generated in elf_dump_thread_status. The register values is set by elf_core_copy_task_regs in this function. If an arch doesn't define ELF_CORE_COPY_TASK_REGS, elf_core_copy_task_regs() will do nothing. Then the core file will not have the register message of thread. So add elf_core_copy_regs to set regiser values if ELF_CORE_COPY_TASK_REGS doesn't define. The following is how to reproduce this issue: cat 1.c #include #include #include void td1(void * i) { while (1) { printf ("1\n"); sleep (1); } return; } void td2(void * i) { while (1) { printf ("2\n"); sleep (1); } return; } int main(int argc,char *argv[],char *envp[]) { pthread_t t1,t2; pthread_create(&t1, NULL, (void*)td1, NULL); pthread_create(&t2, NULL, (void*)td2, NULL); sleep (10); assert(0); return (0); } arm-xxx-gcc -g -lpthread 1.c -o 1 copy 1.c and 1 to a arm board. Goto this board. ulimit -c 1800000 ./1 # ./1 1 2 1 ... ... 1 1: 1.c:37: main: Assertion `0' failed. Aborted (core dumped) Then you can get a core file. gdb 1 core.xxx Without the patch: (gdb) info threads 3 process 909 0x00000000 in ?? () 2 process 908 0x00000000 in ?? () * 1 process 907 0x4a6e2238 in raise () from /lib/libc.so.6 You can found that the pc of 909 and 908 is 0x00000000. With the patch: (gdb) info threads 3 process 885 0x4a749974 in nanosleep () from /lib/libc.so.6 2 process 884 0x4a749974 in nanosleep () from /lib/libc.so.6 * 1 process 883 0x4a6e2238 in raise () from /lib/libc.so.6 The pc of 885 and 884 is right. Signed-off-by: Hui Zhu Cc: Amerigo Wang Cc: Al Viro Cc: David Howells Cc: Roland McGrath Cc: Jakub Jelinek Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3beab0b42413e83a7907db7176b54c840fc75a81 Author: Zhang, Yanmin Date: Sun Jul 5 12:08:08 2009 -0700 sys_sync(): fix 16% performance regression in ffsb create_4k test I run many ffsb test cases on JBODs (typically 13/12 disks). Comparing with kernel 2.6.30, 2.6.31-rc1 has about 16% regression with ffsb_create_4k. The sub test case creates files continuously for 10 minitues and every file is 1MB. Bisect located below patch. 5cee5815d1564bbbd505fea86f4550f1efdb5cd0 is first bad commit commit 5cee5815d1564bbbd505fea86f4550f1efdb5cd0 Author: Jan Kara Date: Mon Apr 27 16:43:51 2009 +0200 vfs: Make sys_sync() use fsync_super() (version 4) It is unnecessarily fragile to have two places (fsync_super() and do_sync()) doing data integrity sync of the filesystem. Alter __fsync_super() to accommodate needs of both callers and use it. So after this patch __fsync_super() is the only place where we gather all the calls needed to properly send all data on a filesystem to disk. As a matter of fact, ffsb calls sys_sync in the end to make sure all data is flushed to disks and the flushing is counted into the result. vmstat shows ffsb is blocked when syncing for a long time. With 2.6.30, ffsb is blocked for a short time. I checked the patch and did experiments to recover the original methods. Eventually, the root cause is the patch deletes the calling to wakeup_pdflush when syncing, so only ffsb is blocked on disk I/O. wakeup_pdflush could ask pdflush to write back pages with ffsb at the same time. [akpm@linux-foundation.org: restore comment too] Signed-off-by: Zhang Yanmin Cc: Jan Kara Cc: Al Viro Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f386c61fe1a1f36f0e434f1b577e6b112698caf7 Author: Peter Oberparleiter Date: Sun Jul 5 12:08:06 2009 -0700 gcov: exclude code operating in userspace from profiling Fix for this issue on x86_64: rostedt@goodmis.org wrote: > On bootup of the latest kernel my init segfaults. Debugging it, > I found that vread_tsc (a vsyscall) increments some strange > kernel memory: > > 0000000000000000 : > 0: 55 push %rbp > 1: 48 ff 05 00 00 00 00 incq 0(%rip) > # 8 > 4: R_X86_64_PC32 .bss+0x3c > 8: 48 89 e5 mov %rsp,%rbp > b: 66 66 90 xchg %ax,%ax > e: 48 ff 05 00 00 00 00 incq 0(%rip) > # 15 > 11: R_X86_64_PC32 .bss+0x44 > 15: 66 66 90 xchg %ax,%ax > 18: 48 ff 05 00 00 00 00 incq 0(%rip) > # 1f > 1b: R_X86_64_PC32 .bss+0x4c > 1f: 0f 31 rdtsc > > > Those "incq" is very bad to happen in vsyscall memory, since > userspace can not modify it. You need to make something prevent > profiling of vsyscall memory (like I do with ftrace). Signed-off-by: Peter Oberparleiter Cc: Ingo Molnar Reported-by: Steven Rostedt Tested-by: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28df30e61b46a33d1f0bb60757747396886ef687 Author: Jiri Slaby Date: Sun Jul 5 12:08:03 2009 -0700 rtc: ds1374, fix lock imbalance When i2c_smbus_read_byte_data fails in ds1374_work, we forgot to unlock the held lock. Fix that. Signed-off-by: Jiri Slaby Cc: Alessandro Zummo Cc: Scott Wood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc0cfa6d16103bd72a7c398f1321816b635370f Author: Florian Fainelli Date: Sun Jul 5 12:08:02 2009 -0700 vlynq: fix typo in Kconfig to enable debugging Fix a typo in the VLYNQ bus driver Kconfig which prevented to turn on VLYNQ bus debugging. Signed-off-by: Florian Fainelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e2db5c90a25acf7657edb3687b8d5813ccddfee Author: Robert P. J. Day Date: Sun Jul 5 12:08:00 2009 -0700 vlynq: correct typo of missing "CONFIG_" prefix in ifdef Fix a typo in the vlynq bus driver which was missing the CONFIG_ prefix to turn on debugging code. Signed-off-by: Robert P. J. Day Signed-off-by: Florian Fainelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbad1cbb51d92c0b5c3f47ef9dbf125de81fae08 Author: Krzysztof Helt Date: Mon Jul 6 21:11:24 2009 +0200 sisfb: fix regression with uninitalized fb_info->mm_lock mutex Remove redundant call to the sisfb_get_fix() before sis frambuffer is registered. This fixes a problem with uninitialized the fb_info->mm_lock mutex introduced by the commit 537a1bf059f " fbdev: add mutex for fb_mmap locking" Signed-off-by: Krzysztof Helt Tested-by: Wu Zhangjin Signed-off-by: Linus Torvalds commit 0ca1b08eba627b4245efd0f71b55a062bf163777 Author: David S. Miller Date: Mon Jul 6 12:49:18 2009 -0700 Revert "p54: Use SKB list handling helpers instead of by-hand code." This reverts commit a1091aae19b1d9c85d91c86915a611387f67a26b. commit 1bc4ee4088c9a502db0e9c87f675e61e57fa1734 Author: Wei Yongjun Date: Sun Jul 5 19:45:48 2009 +0000 sctp: fix warning at inet_sock_destruct() while release sctp socket Commit 'net: Move rx skb_orphan call to where needed' broken sctp protocol with warning at inet_sock_destruct(). Actually, sctp can do this right with sctp_sock_rfree_frag() and sctp_skb_set_owner_r_frag() pair. sctp_sock_rfree_frag(skb); sctp_skb_set_owner_r_frag(skb, newsk); This patch not revert the commit d55d87fdff8252d0e2f7c28c2d443aee17e9d70f, instead remove the sctp_sock_rfree_frag() function. ------------[ cut here ]------------ WARNING: at net/ipv4/af_inet.c:151 inet_sock_destruct+0xe0/0x142() Modules linked in: sctp ipv6 dm_mirror dm_region_hash dm_log dm_multipath scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan] Pid: 1808, comm: sctp_test Not tainted 2.6.31-rc2 #40 Call Trace: [] warn_slowpath_common+0x6a/0x81 [] ? inet_sock_destruct+0xe0/0x142 [] warn_slowpath_null+0x12/0x15 [] inet_sock_destruct+0xe0/0x142 [] __sk_free+0x19/0xcc [] sk_free+0x18/0x1a [] sctp_close+0x192/0x1a1 [sctp] [] inet_release+0x47/0x4d [] sock_release+0x19/0x5e [] sock_close+0x21/0x25 [] __fput+0xde/0x189 [] fput+0x18/0x1a [] filp_close+0x56/0x60 [] put_files_struct+0x5d/0xa1 [] exit_files+0x39/0x3d [] do_exit+0x1a5/0x5dd [] ? d_kill+0x35/0x3b [] ? dequeue_signal+0xa6/0x115 [] do_group_exit+0x63/0x8a [] get_signal_to_deliver+0x2e1/0x2f9 [] do_notify_resume+0x7c/0x6b5 [] ? autoremove_wake_function+0x0/0x34 [] ? __d_free+0x3d/0x40 [] ? d_free+0x2a/0x3c [] ? vfs_write+0x103/0x117 [] ? sys_socketcall+0x178/0x182 [] work_notifysig+0x13/0x19 ---[ end trace 9db92c463e789fba ]--- Signed-off-by: Wei Yongjun Acked-by: Herbert Xu Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3c8a9c63d5fd738c261bd0ceece04d9c8357ca13 Author: Mariusz Kozlowski Date: Sun Jul 5 19:48:35 2009 +0000 tun/tap: Fix crashes if open() /dev/net/tun and then poll() it. Fix NULL pointer dereference in tun_chr_pool() introduced by commit 33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554 ("tun: Limit amount of queued packets per device") and triggered by this code: int fd; struct pollfd pfd; fd = open("/dev/net/tun", O_RDWR); pfd.fd = fd; pfd.events = POLLIN | POLLOUT; poll(&pfd, 1, 0); Reported-by: Eugene Kapun Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 3503e0acbfab0dbcd24ccadd5fe841f3f8290e81 Author: David S. Miller Date: Mon Jul 6 12:39:27 2009 -0700 Revert "ide: improve handling of Power Management requests" This reverts commit a1317f714af7aed60ddc182d0122477cbe36ee9b. commit 22fe84394f405c673b362d23dcc2d5d095ab5f6c Author: Mike Rapoport Date: Mon Jul 6 08:56:51 2009 +0300 [ARM] pxa: fix ULPI_{DIR,NXT,STP} MFP defines Attepmpt to configure ULPI pins gives the following compile error: CC arch/arm/mach-pxa/cm-x300.o arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_AF0' undeclared here (not in a function) arch/arm/mach-pxa/cm-x300.c:155: error: 'MFP_MFP_DS01X' undeclared here (not in a function) make[2]: *** [arch/arm/mach-pxa/cm-x300.o] Error 1 make[1]: *** [arch/arm/mach-pxa] Error 2 make: *** [sub-make] Error 2 Fix it. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit db6e3f91efd2cf61b9965f722902199cf54adc4f Author: Michal Simek Date: Mon Jul 6 08:21:09 2009 +0200 microblaze: Fix cast warning for init.c Signed-off-by: Michal Simek commit 4ae78338157a1fe2d7a398d86bb9f9043d600d2b Author: Michal Simek Date: Wed Jul 1 15:32:14 2009 +0200 microblaze: Wire up new syscalls Wire up new syscalls rt_tgsigqueueinfo and perf_counter_open. Signed-off-by: Michal Simek commit e513588f75912f022677866244de6b19b98b8d9a Author: Arnd Bergmann Date: Thu Jun 18 19:55:30 2009 +0200 microblaze: use generic syscalls.h The prototypes in syscalls.h all make sense for microblaze, but for some of them, the actual implementation in sys_microblaze.c needs to be adapted. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 3183e06863f49a500fc76427db4d60825a26f81b Author: Arnd Bergmann Date: Thu Jun 18 19:55:29 2009 +0200 microblaze: clean up signal handling When legacy signal handling is disabled, the arch/microblaze/kernel/signal.c implementation can be much simpler, as most of it is handled generically from kernel/signal.c. This is also a prerequisite for using the generic asm/unistd.h, which does not provide __NR_sigreturn, because this macro is referenced by the current signal.c implementation. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 0a58458341fd571e521be542ff746a4a8995980c Author: Remis Lima Baima Date: Thu Jun 18 19:55:33 2009 +0200 microblaze: convert all simple headers to use asm-generic All the simple microblaze header files were adapted to use their asm-generic implementations. These files are more simple and were quite straightforward to change. fb.h, vga.h and parport.h previously did not exist, using the generic version makes it possible to build more drivers successfully in allyesonfig. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 14f8738976991d2f8fb6ab6e10e9003562c3d6bb Author: Remis Lima Baima Date: Thu Jun 18 19:55:32 2009 +0200 microblaze: use the generic lib/checksum.c The microblaze checksum code is mostly identical to the asm-generic+lib version, so use that instead. Signed-off-by: Remis Lima Baima Signed-off-by: Michal Simek commit 81d8279ea31a3fc6d4ffacd87119a04c561ca62e Author: Arnd Bergmann Date: Thu Jun 18 19:55:27 2009 +0200 microblaze: fall back on generic header files for the ABI Almost all of the ABI relevant header files now have generic versions, so use those now in order to reduce the amount of architecture specific code. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 67fc25ef34a27dc43ce6dfc98a8b249db304d641 Merge: 8e4a718 ec5a36f Author: Pekka Enberg Date: Mon Jul 6 10:51:54 2009 +0300 Merge branch 'slab/urgent' into for-linus commit 1ded3f59f35a2642852b3e2a1c0fa8a97777e9af Author: Stephane Contri Date: Thu Jul 2 23:26:48 2009 +0000 dsa: fix 88e6xxx statistics counter snapshotting The bit that tells us whether a statistics counter snapshot operation has completed is located in the GLOBAL register block, not in the GLOBAL2 register block, so fix up mv88e6xxx_stats_wait() to poll the right register address. Signed-off-by: Stephane Contri Signed-off-by: Lennert Buytenhek Cc: stable@kernel.org Signed-off-by: David S. Miller commit 78c29bd95bd8d2c3bcf7932cb3ab8ae01cd8f58f Author: Eric Dumazet Date: Thu Jul 2 04:04:45 2009 +0000 forcedeth: Fix NAPI race. Eric Dumazet a écrit : > Ingo Molnar a écrit : >>> The following changes since commit 52989765629e7d182b4f146050ebba0abf2cb0b7: >>> Linus Torvalds (1): >>> Merge git://git.kernel.org/.../davem/net-2.6 >>> >>> are available in the git repository at: >>> >>> master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master >> Hm, something in this lot quickly wrecked networking here - see the >> tx timeout dump below. It starts with: >> >> [ 351.004596] WARNING: at net/sched/sch_generic.c:246 dev_watchdog+0x10b/0x19c() >> [ 351.011815] Hardware name: System Product Name >> [ 351.016220] NETDEV WATCHDOG: eth0 (forcedeth): transmit queue 0 timed out >> >> Config attached. Unfortunately i've got no time to do bisection >> today. > > > > forcedeth might have a problem, in its netif_wake_queue() logic, but > I could not see why a recent patch could make this problem visible now. > > CPU0/1: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ stepping 02 > is not a new cpu either :) > > forcedeth uses an internal tx_stop without appropriate barrier. > > Could you try following patch ? > > (random guess as I dont have much time right now) We might have a race in napi_schedule(), leaving interrupts disabled forever. I cannot test this patch, I dont have the hardware... Tested-by: Ingo Molnar Signed-off-by: David S. Miller commit 3942453948015228d6b1ae9835a6f6ca3e842aaa Author: Julia Lawall Date: Sat Jul 4 11:31:47 2009 +0000 drivers/net/smsc911x.c: Fix resource size off by 1 error The call resource_size(res) returns res->end - res->start + 1 and thus the second change is semantics-preserving. res_size is then used as the second argument of a call to request_mem_region, and the memory allocated by this call appears to be the same as what is released in the two calls to release_mem_region. So the size argument for those calls should be resource_size(size) as well. Alternatively, in the second call to release_mem_region, the second argument could be res_size, as that variable has already been initialized at the point of this call. The problem was found using the following semantic patch: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) @@ struct resource *res; @@ - res->end - res->start + BAD(resource_size(res)) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 4c3dd308adbda61f2ab46a14a0adcca8e1338ea5 Author: Ken Kawasaki Date: Sat Jul 4 14:17:10 2009 +0000 pcnet_cs: add new id add new id (RIOS System PC CARD3 ETHERNET). Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 1e9d9987598fa58f4bd8e72ee152c879136d6723 Author: Eilon Greenstein Date: Sun Jul 5 04:18:14 2009 +0000 bnx2x: Fix the maximal values of coalescing timeouts. This patch properly defines the maximum values for rx/tx coalescing timeouts. Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3799cf47e3497a472b05f88e7a52a14931597d78 Author: Eilon Greenstein Date: Sun Jul 5 04:18:12 2009 +0000 bnx2x: Disable HC coalescing when setting timeout to zero. Problem reported by Flavio Leitner : When setting rx/tx coalescing timeout to the values less than 12 traffic was stopped. The FW supports coalescing in 12us granularity, and so value of less then 12 should be interpreted as disabling coalescing Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit d23e43658aed286b885d398ff0810f04f6aae97f Author: Herbert Xu Date: Thu Jul 2 23:03:55 2009 +0000 tun: Fix device unregister race It is currently possible for an asynchronous device unregister to cause the same tun device to be unregistered twice. This is because the unregister in tun_chr_close only checks whether __tun_get(tfile) != NULL. This however has nothing to do with whether the device has already been unregistered. All it tells you is whether __tun_detach has been called. This patch fixes this by using the most obvious thing to test whether the device has been unregistered. It also moves __tun_detach outside of rtnl_unlock since nothing that it does requires that lock. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0a6843483c256c859cd9542361812a29403f0fb5 Author: Andy Walls Date: Sun Jul 5 16:22:45 2009 -0300 V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic The extraction routine for the MPC718 "firmware" had 2 bugs in it, where one bug masked the effect of the other. The loop iteration should have set $prevlen = $currlen at the end of the loop, and the if() check should have used && instead of || for deciding if the firmware length is reasonable. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a5ca3a1bc719cb9056acc6f24340a1e2674f21a0 Author: Jiri Slaby Date: Sun Jul 5 15:44:20 2009 -0300 V4L/DVB (12203): radio-si470x: fix lock imbalance There is one path with omitted unlock in si470x_fops_release. Fix that. Cc: Tobias Lorenz Signed-off-by: Jiri Slaby Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 11b79ea75ada39b7f1efdebdad520c93c3ac1f0e Author: Jiri Slaby Date: Sun Jul 5 14:06:41 2009 -0300 V4L/DVB (12202): em28xx, fix lock imbalance There is one omitted unlock in em28xx_usb_probe. Fix that. Signed-off-by: Jiri Slaby Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 791a08fc01aaa293a73c9dce260327fdee288faf Author: Mauro Carvalho Chehab Date: Fri Jul 3 15:36:18 2009 -0300 V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix Signed-off-by: Mauro Carvalho Chehab commit 58fc1ce37aba8e6371e1ec8a90d650b1965ee6c8 Author: Mauro Carvalho Chehab Date: Fri Jul 3 02:54:18 2009 -0300 V4L/DVB (12171): em28xx: fix webcam usage with different output formats Discovered the bug that were limiting the output format to just RGB565. Now, it is possible to output image at Bayer format (the original one, as generated by Silvercrest sensor, and two others), and also on YUY. Adds Bayer formats also to the driver. Signed-off-by: Mauro Carvalho Chehab commit 557dca5f48a45df88a73e69ee0700cfd4e2358c9 Author: Russell King Date: Sun Jul 5 22:39:08 2009 +0100 [ARM] amba: fix amba device resources AMBA device resources were being reported as: 10004000-10004fff : This is because dev_name() was returning NULL prior to device_register. Ensure that the struct device is properly initialized, and the name is set before adding it to the device tree. Signed-off-by: Russell King commit ed5f1431ebeeba8cc6739e9cd905a7895b66184c Author: Mauro Carvalho Chehab Date: Thu Jul 2 17:34:04 2009 -0300 V4L/DVB (12169): em28xx-video: fix VIDIOC_G_FMT and VIDIOC_ENUMFMT with webcams Webcams have different constraints than other v4l devices. This patch makes the format ioctls to behave better. It also fixes a bug at open() handler, that were always reseting resolution to the maximum available one. Signed-off-by: Mauro Carvalho Chehab commit f797608cc4f19b44b83ec39c87e14af6fa07826d Author: Devin Heitmueller Date: Mon Jun 22 22:32:32 2009 -0300 V4L/DVB (12156): em28xx: Fix tuning for Terratec Cinergy T XS USB (zl10353 version) Fix the code so that the zl10353 version of the Terratec Cinergy T XS USB starts working again. This includes fixing what must have been a typo in the GPIO definition for the digital side of the board, and setting of the disable_i2c_gate_ctrl property for the zl10353 config, so that the i2c bus doesn't get wedged the first time something tries to close the gate. Also, add a printk() making clear that the mt352 version still isn't supported. This issue is still being actively debugged, but in the meantime at least the dmesg output will show a very clear error... Thanks to Jelle de Jong for providing sample hardware to test with. Thanks to Simon Kenyon for testing various patches and providing SSH access to his environment so I could debug with access to a valid signal source. Cc: Jelle de Jong Cc: Simon Kenyon Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 43cb9fe3291bb96390c1d188eb61c2d1581bb61e Author: Mauro Carvalho Chehab Date: Tue Jun 30 08:36:17 2009 -0300 V4L/DVB (12139): em28xx: add other video formats Add suppport for the teste RGB565 format (16 bits/pixel). Currently, webcam support works only at RGB565, at 640x480. Signed-off-by: Mauro Carvalho Chehab commit 02e7804b2135ff941b8846f5820cf48fbfdadd54 Author: Mauro Carvalho Chehab Date: Mon Jun 29 11:35:05 2009 -0300 V4L/DVB (12138): em28xx: add support for Silvercrest Webcam This webcam uses a em2710 chipset, that identifies itself as em2820, plus a mt9v011 sensor, and a DY-301P lens. It needs a few different initializations than a normal em28xx device. Thanks to Hans de Goede and Douglas Landgraf for providing the acces for the webcam during this weekend, I could make a patch for it while returning back from FISL/Fudcom LATAM 2009. Signed-off-by: Mauro Carvalho Chehab commit 6934e6fface7b7d5fe7e578c3f43cbe8f23af2d4 Author: Mauro Carvalho Chehab Date: Sat Jul 4 08:15:11 2009 -0300 V4L/DVB (12174): mt9v011: let's stick with datasheet values where it works The original driver for Silvercrest cameras were using some values that are different from what datasheet says. As result, it was taken very less snapshots per second than expected. A test with the datasheet values showed that they work fine and give a better frame rate. So, let's stick with datasheet values. Signed-off-by: Mauro Carvalho Chehab commit 27fe4a30a211a0561c72b0e519997e91fa91c452 Author: Mauro Carvalho Chehab Date: Sat Jul 4 08:03:48 2009 -0300 V4L/DVB (12173): mt9v011: properly calculate image resolution registers Instead of working with a table of precalculated values, fill them with the proper values. Also, adds format functions that allow changing the resolution, by cropping the image to the center of the sensor. While here, move the sensor version check to the probe routine, to indicate to the caller if the sensor is not supported by this driver. Also, fixes a stupid bug where we're using &buffer[] instead of buffer[]. Signed-off-by: Mauro Carvalho Chehab commit fbe2800c932573e90e38a9c703165839e0c00515 Author: Mauro Carvalho Chehab Date: Mon Jun 29 11:12:05 2009 -0300 V4L/DVB (12137): mt9v011: CodingStyle fixes Signed-off-by: Mauro Carvalho Chehab commit afe09f821ffa733d1cbfbf4e7cc41bd1cb8dcffb Author: Mauro Carvalho Chehab Date: Mon Jun 29 11:03:22 2009 -0300 V4L/DVB (12136): mt9v011: Some fixes at the register initialization table Signed-off-by: Mauro Carvalho Chehab commit 7dfba00d05f3c7db9510f3b54a472981cf1521af Author: Mauro Carvalho Chehab Date: Mon Jun 29 05:41:26 2009 -0300 V4L/DVB (12135): Add a driver for mt9v011 sensor Adds driver for mt9v011 based on its datasheet, available at: http://download.micron.com/pdf/datasheets/imaging/MT9V011.pdf The driver was tested with a webcam that will be added on a next patch. Signed-off-by: Mauro Carvalho Chehab commit b179bc4579f67c6f1df524c48b28cacf0c7a1b91 Author: Michael Krufky Date: Tue Jun 16 17:08:17 2009 -0300 V4L/DVB (12166): cx23885: add FIXME comment above set_frontend override add FIXME comment to indicate that the set_frontend override is a temporary hack. This will be done a better way in the next kernel. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f35b9e8039c04f0cb9fe3a051ce941b1524a8798 Author: Michael Krufky Date: Fri May 8 22:39:24 2009 -0300 V4L/DVB (12165): cx23885: override set_frontend to allow rf input path switching on the HVR1275 Use separate RF input spigots for Antennae and Cable. Reviewed-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 509dd025a4ac6f32921211557cfd434b81d8d7a7 Author: Mauro Carvalho Chehab Date: Tue Jun 30 16:07:26 2009 -0300 V4L/DVB (12148): move V4L2_PIX_FMT_SGRBG8 to the proper place Instead of defining a new pif format on an internal header, move it to the V4L2 API header. Signed-off-by: Mauro Carvalho Chehab commit ff861fb21e44ab178eddc6a1dd7c5478e3eb2ec5 Author: Andy Walls Date: Fri Jul 3 11:54:40 2009 -0300 V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353 Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353 demodulator. There are apparently some units with a DiBcom demodulator which could be supported by one of the dib7000 modules - but this is not implemented in the cx18 driver (yet). Due to lack of porgramming details for the MT352 and the mt352 module requiring a "demod_init" function, a "firmware" must be obtained and loaded to get DVB-T working for Yuan MPC-718 cards with an MT352. Tested-by: Steve Firth Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9f38a920b232800fd4000ba3d4617b41198e017e Author: Andy Walls Date: Fri Jul 3 11:33:17 2009 -0300 V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction Add routine to support extracting the MT352 DVB-T demodulator initialization sequence for Yuan MPC718 cards for use by the cx18 driver. This routine uses a hueristic for extracting a good sequence. It should work on all different versions of the "yuanrap.sys" file, given the way the MT352 tuning sequences are stored in all versions of that file I have seen so far. However, the current patch simply looks for one specific archive URL. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 637fb3d70b1e53a127cba5ffae5aa3b2b9f57df6 Author: Andy Walls Date: Fri Jul 3 11:30:27 2009 -0300 V4L/DVB (12180): cx18: Update Yuan MPC-718 card entry with better information and guesses Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6e707b4c6d1fcf0fca6a4525e0ff66d35e21a517 Author: Andy Walls Date: Thu Jun 11 07:57:50 2009 -0300 V4L/DVB (12167): tuner-xc2028: Fix 7 MHz DVB-T The following patch should fix 7 MHz DVB-T with the XC3028 using the DTV7 firmware from the xc3028-v27.fw firmware image. Tested-by: Terry Wu [mchehab@redhat.com: thanks to John Ferlito, we have a real test in Australia] Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c06950ae4dccf59566fec7ae269aaeb24685c16c Author: Guennadi Liakhovetski Date: Wed Jun 24 10:31:25 2009 -0300 V4L/DVB (12160): soc-camera: fix missing clean up on error path If soc_camera_init_user_formats() fails in soc_camera_probe(), we have to call client's .remove() method to unregister the video device. Reported-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 14df2ccead8f6da5a9c8f904fc629aaf849b7e55 Author: Stefan Herbrechtsmeier Date: Wed Jun 24 10:31:25 2009 -0300 V4L/DVB (12159): soc_camera: Fix debug output of supported formats count The supported formats count must be set to 0 after debug output right before the second pass. Signed-off-by: Stefan Herbrechtsmeier Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 3175da83a0a85fa03c9c34061906a9ca0725af0d Author: Hans Verkuil Date: Fri Jun 26 15:35:04 2009 -0300 V4L/DVB (12153): ttpci: config TTPCI_EEPROM depends on I2C If I2C is not enabled, then we shouldn't build ttpci_eeprom.c. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fe96efc1a3c049f0a1bcd9b65e0faeb751ce5ec6 Author: Artem Bityutskiy Date: Tue Jun 30 16:11:59 2009 +0300 UBI: nicify image sequence number handling Move the image seq. number handling from I/O level to the scanning lever, where it really belongs to. Move the @image_seq_set variable to the @struct ubi_scan_info structure, which exists only during scanning. Signed-off-by: Artem Bityutskiy commit 0c6c7fa1313fcb69cae35e34168d2e83b8da854a Author: Adrian Hunter Date: Fri Jun 26 14:58:01 2009 +0300 UBI: add image sequence number to EC header An image sequence number is added to the UBI erase-counter header to be able determine if the root file system contains a mixture of old and new images (because the flashing failed to complete). A change to nolo is also needed for this to take effect. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 1398788fe7b730db10e97dcb9f838603e41922d5 Author: Artem Bityutskiy Date: Mon Jun 29 15:58:36 2009 +0300 UBI: remove bogus debugging checks The 'paranoid_check_empty()' is bogus because, which is easilly seen on NOR flash, which has long erase cycles, and which may easilly end-up with half-erased eraseblocks. In this case the paranoid check fails. I is just wrong to assume that PEBs which do not have EC headers always contain all 0xFF. Such assumption should not be made on the I/O level, which is quite low. Thus, just kill the check. Signed-off-by: Artem Bityutskiy commit 40a71a87fa8e0cb3ec0fca4d152263734b203eb2 Author: Artem Bityutskiy Date: Sun Jun 28 19:16:55 2009 +0300 UBI: add empty eraseblocks verification This patch adds code which makes sure eraseblocks contain all 0xFF bytes before starting using them. The verification is done only when debugging checks are enabled. Signed-off-by: Artem Bityutskiy commit 8f6035732a0484a84a1c9cd85312de234ddaa309 Author: Artem Bityutskiy Date: Fri Jul 3 11:21:54 2009 +0300 MAINTAINERS: update ahunter's e-mail address Signed-off-by: Artem Bityutskiy commit 7fcd9c3ecbf09c0a77db7ba01aac75b32fb79a93 Author: Daniel Mack Date: Thu Jul 2 17:15:47 2009 +0200 UBIFS: allow more than one volume to be mounted UBIFS uses a bdi device per volume, but does not care to hand out unique names to each of them. This causes an error when trying to mount more than one volumes. Append the UBI volume and device ID to avoid that. [Amended a bit by Artem Bityutskiy] Signed-off-by: Daniel Mack Cc: Artem Bityutskiy Cc: Adrian Hunter Cc: linux-mtd@lists.infradead.org Signed-off-by: Artem Bityutskiy commit 1fb8bd01ed0af0d0577e010e8c6b4234de583fa6 Author: Artem Bityutskiy Date: Sun Jun 28 18:31:58 2009 +0300 UBIFS: fix assertion warning When debugging is enabled and an unclean file-system is mounter, the following assertion is triggered: UBIFS assert failed in ubifs_tnc_start_commit at 805 (pid 1081) Call Trace: [cfaffbd0] [c0006cf8] show_stack+0x44/0x16c (unreliable) [cfaffc10] [c011b738] ubifs_tnc_start_commit+0xbb8/0xd18 [cfaffc90] [c0112670] do_commit+0x150/0xa44 [cfaffd10] [c0125234] ubifs_rcvry_gc_commit+0xd8/0x544 [cfaffd60] [c0100e9c] ubifs_fill_super+0xe78/0x15f8 [cfaffdf0] [c0102118] ubifs_get_sb+0x20c/0x320 [cfaffe70] [c007f764] vfs_kern_mount+0x58/0xe0 [cfaffe90] [c007f83c] do_kern_mount+0x40/0xf8 [cfaffeb0] [c0095c24] do_mount+0x550/0x758 [cfafff10] [c0095ebc] sys_mount+0x90/0xe0 [cfafff40] [c000ed4c] ret_from_syscall+0x0/0x3c The reason is that we initialize 'c->min_leb_idx' early, and do not re-calculate it after journal replay. Signed-off-by: Artem Bityutskiy commit 681947d2fa1a00629de33c4df3ca72c39f06a14c Author: Adrian Hunter Date: Wed Jun 24 09:59:38 2009 +0300 UBIFS: minor spelling and grammar fixes Signed-off-by: Adrian Hunter commit 44737589442bf69d811e003d9d0064b8fc1541d6 Author: Adrian Hunter Date: Wed Jun 24 10:15:12 2009 +0300 UBIFS: fix 64-bit divisions in debug print Signed-off-by: Adrian Hunter commit cb54ef8b1304fe25f3d57031e0f85558a043239f Author: Artem Bityutskiy Date: Tue Jun 23 20:30:32 2009 +0300 UBIFS: few spelling fixes Signed-off-by: Artem Bityutskiy commit 2a35a3a8ab3e94afd631ed4b45878ceb98f7ab28 Author: Artem Bityutskiy Date: Tue Jun 23 20:26:33 2009 +0300 UBIFS: set write-buffer timout to 3-5 seconds This patch cleans up write-buffer timeout initialization and sets it to 3-5 interval. Signed-off-by: Artem Bityutskiy commit 0b335b9d7d5f0b832e90ac469480789c07be80ad Author: Artem Bityutskiy Date: Tue Jun 23 12:30:43 2009 +0300 UBIFS: slightly optimize write-buffer timer usage This patch adds the following minor optimization: 1. If write-buffer does not use the timer, indicate it with the wbuf->no_timer variable, instead of using the wbuf->softlimit variable. This is better because wbuf->softlimit is of ktime_t type, and the ktime_to_ns function contains 64-bit multiplication. 2. Do not call the 'hrtimer_cancel()' function for write-buffers which do not use timers. 3. Do not cancel the timer in 'ubifs_put_super()' because the synchronization function does this. This patch also removes a confusing comment. Signed-off-by: Artem Bityutskiy commit 70aee2f153972f70fad5f7025134fec063f9efbe Author: Artem Bityutskiy Date: Thu Jun 18 13:37:15 2009 +0300 UBIFS: improve debugging messaged 1. Make the I/O debugging message print the journal head number. 2. Add prints to timer functions. Signed-off-by: Artem Bityutskiy commit e3dc5a665d39112e98cfd5bbc7fda2963c00c12c Author: Adrian Hunter Date: Mon Jun 22 17:31:09 2009 +0300 UBIFS: fix integer overflow warning Fix the following warning: fs/ubifs/io.c: In function 'ubifs_wbuf_init': fs/ubifs/io.c:860: warning: integer overflow in expression And limit maximum hrtimer delta to ULONG_MAX because the argument is 'unsigned long'. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 65b1bfc13e8f50034187e339aa12b81cd6785bd5 Author: Russell King Date: Sun Jul 5 11:52:21 2009 +0100 [ARM] pgtable: file pte layout documentation Document the layout of our file PTE entries. Signed-off-by: Russell King commit fb93a1c75eb646fde35985e9af23da936775ae52 Author: Russell King Date: Sun Jul 5 11:30:15 2009 +0100 [ARM] pgtable: swp pte layout documentation, definitions, and check Document the layout of our swp PTE entries, adding definitions for the bit masks/shifts/sizes, and implement MAX_SWAPFILES_CHECK() such that we fail to build if we are unable to properly encode the swp type field. Signed-off-by: Russell King commit ba9b42e4ff5eb68f9c946378229d7e45299d7151 Author: Russell King Date: Sun Jul 5 10:50:37 2009 +0100 [ARM] export __cpu_flush_dcache_page Now required for libsas: Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready Building modules, stage 2. MODPOST 1096 modules ERROR: "xscale_flush_kern_dcache_page" [drivers/scsi/libsas/libsas.ko] undefined! Signed-off-by: Russell King commit a22ebd069d5b533392e9bef77b73147a2f82b30b Author: Josh Boyer Date: Sun Jul 5 10:02:15 2009 -0400 powerpc/44x: Fix build error with -Werror for Warp platform With -Werror enabled during the build, the warp.c file fails to build due to the temp_isr function not containing a return statement. This fixes the build error and documents that the function never returns. Signed-off-by: Josh Boyer commit ba703e1a7a0b32f740bcfba8e60ad193afa4e723 Author: Sean MacLennan Date: Sun Jun 28 11:22:51 2009 +0000 powerpc/4xx: Have Warp take advantage of GPIO LEDs default-state = keep The GPIO LEDS driver now has a default state of "keep". Update the Warp DTS and platform file to take advantage of this new state. This removes the hardcoding of the two LEDs on the Warp. Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 7c3a742a86055df1d18aac25bb8652735b3491ef Author: Sean MacLennan Date: Tue Jun 16 05:24:35 2009 +0000 powerpc/44x: Update Warp defconfig * Enable GPIO LEDS and LED triggers * Move to SLUB * Enable HOTPLUG * Enable timestamps on printks * Enable UBIFS * Enable in-kernel config Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit c285addb3991c9b73b8d1a2b652ce0f1f67e90e1 Author: Mauro Carvalho Chehab Date: Thu Jun 25 16:28:23 2009 -0300 V4L/DVB (12134): vivi: bug: don't assume that S_STD will be called before streaming precalculate_bars() improved vivi performance. However, it assumed that always before streaming, the driver would call VIDIOC_S_STD. This is not an API requirement, and the testing apps don't do that. Due to that, a regression were caused by the patch that added it. This patch moves the precalculate_bars to the proper place of the code, calling it at buffer_prepare() callback. Signed-off-by: Mauro Carvalho Chehab commit aba6653617754e12763a0d3c9dda332b66190a50 Author: Takashi Iwai Date: Sun Jul 5 11:44:46 2009 +0200 ALSA: hda - Fix error path in the sanity check in azx_pcm_open() Release resources cleanly after errors in the sanity check in azx_pcm_open(). Signed-off-by: Takashi Iwai commit 805d127d62472f17c7d79baa001a7651afe2fa47 Author: Frederic Weisbecker Date: Sun Jul 5 07:39:21 2009 +0200 perf report: Add "Fractal" mode output - support callchains with relative overhead rate The current callchain displays the overhead rates as absolute: relative to the total overhead. This patch provides relative overhead percentage, in which each branch of the callchain tree is a independant instrumentated object. This provides a 'fractal' view of the call-chain profile: each sub-graph looks like a profile in itself - relative to its parent. You can produce such output by using the "fractal" mode that you can abbreviate via f, fr, fra, frac, etc... ./perf report -s sym -c fractal Example: 8.46% [k] copy_user_generic_string | |--52.01%-- generic_file_aio_read | do_sync_read | vfs_read | | | |--97.20%-- sys_pread64 | | system_call_fastpath | | pread64 | | | --2.81%-- sys_read | system_call_fastpath | __read | |--39.85%-- generic_file_buffered_write | __generic_file_aio_write_nolock | generic_file_aio_write | do_sync_write | reiserfs_file_write | vfs_write | | | |--97.05%-- sys_pwrite64 | | system_call_fastpath | | __pwrite64 | | | --2.95%-- sys_write | system_call_fastpath | __write_nocancel [...] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246772361-9960-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e05b876c222178bc6abcfa9f23d8311731691046 Author: Frederic Weisbecker Date: Sun Jul 5 07:39:20 2009 +0200 perf_counter tools: callchains: Manage the cumul hits on the fly The cumul hits are the number of hits of every childs of a node plus the hits of the current nodes, required for percentage computing of a branch. Theses numbers are calculated during the sorting of the branches of the callchain tree using a depth first postfix traversal, so that cumulative hits are propagated in the right order. But if we plan to implement percentages relative to the parent and not absolute percentages (relative to the whole overhead), we need to know the cumulative hits of the parent before computing the children because the relative minimum acceptable number of entries (ie: minimum rate against the cumulative hits from the parent) is the basis to filter the children against a given rate. Then we need to handle the cumul hits on the fly to prepare the implementation of relative overhead rates. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246772361-9960-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 94a8eb028a57854157a936c7e66b09e2559f115a Author: Frederic Weisbecker Date: Sun Jul 5 07:39:19 2009 +0200 perf report: Change default callchain parameters The default callchain parameters are set to use the flat mode and never filter any overhead threshold of backtrace. But flat mode is boring compared to graph mode. Also the number of callchains may be very high if none is filtered. Let's change this to set the graph view and a minimum overhead of 0.5% as default parameters. Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246772361-9960-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit be9038859e56f729cc9d3b070a35fb8829a73696 Author: Frederic Weisbecker Date: Sun Jul 5 07:39:18 2009 +0200 perf report: Use a modifiable string for default callchain options If the user doesn't provide options to tune his callchain output (ie: if he uses -c without arguments) then the default value passed in the OPT_CALLBACK_DEFAULT() macro is used. But it's parsed later by strtok() which will replace comma separators to a zero. This may segfault as we are using a read-only string. Use a modifiable one instead, and also fix the "100%" default minimum threshold value by turning it into a 0 (output every callchains) as it was intended in the origin. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246772361-9960-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 91b4eaea93f5be95f4477554399680a53aff2343 Author: Frederic Weisbecker Date: Sun Jul 5 07:39:17 2009 +0200 perf report: Warn on callchain output request from non-callchain file perf report segfaults while trying to handle callchains from a non callchain data file. Instead of a segfault, print a useful message to the user. Reported-by: Jens Axboe Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246772361-9960-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit d9a0a345ab7a58a30ec38e5bb7401a28714914d2 Author: Jiro SEKIBA Date: Sat Jul 4 23:00:53 2009 +0900 nilfs2: fix disorder in cp count on error during deleting checkpoints This fixes a bug that checkpoint count gets wrong on errors when deleting a series of checkpoints. The count error is persistent since the checkpoint count is stored on disk. Some userland programs refer to the count via ioctl, and this bugfix is needed to prevent malfunction of such programs. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi Cc: stable@kernel.org commit ff54de363afa4583e2a6249f25fe21dfaeb11ea2 Author: Ryusuke Konishi Date: Fri Jun 19 02:53:56 2009 +0900 nilfs2: fix lockdep warning between regular file and inode file This will fix the following false positive of recursive locking which lockdep has detected: ============================================= [ INFO: possible recursive locking detected ] 2.6.30-nilfs #42 --------------------------------------------- nilfs_cleanerd/10607 is trying to acquire lock: (&bmap->b_sem){++++-.}, at: [] nilfs_bmap_lookup_at_level+0x1a/0x74 [nilfs2] but task is already holding lock: (&bmap->b_sem){++++-.}, at: [] nilfs_bmap_truncate+0x19/0x6a [nilfs2] other info that might help us debug this: 2 locks held by nilfs_cleanerd/10607: #0: (&nilfs->ns_segctor_sem){++++.+}, at: [] nilfs_transaction_begin+0xb6/0x10c [nilfs2] #1: (&bmap->b_sem){++++-.}, at: [] nilfs_bmap_truncate+0x19/0x6a [nilfs2] Signed-off-by: Ryusuke Konishi commit 4a52df779700080de4afb0436d9dd9188514a69b Author: Ryusuke Konishi Date: Thu Jun 18 23:53:25 2009 +0900 nilfs2: fix incorrect KERN_CRIT messages in case of write failures In case of write-failure retries, the following KERN_CRIT level messages are mistakenly output by nilfs_dat_commit_start() function: nilfs_dat_commit_start: vbn = 408463, start = 12506, end = 18446744073709551615, pbn = 530210 nilfs_dat_commit_start: vbn = 408515, start = 12506, end = 18446744073709551615, pbn = 530211 nilfs_dat_commit_start: vbn = 408464, start = 12506, end = 18446744073709551615, pbn = 530212 ... This suppresses these messages. Signed-off-by: Ryusuke Konishi Cc: stable@kernel.org commit 8227b29722fdbac72357aae155d171a5c777670c Author: Ryusuke Konishi Date: Thu Jun 18 23:52:23 2009 +0900 nilfs2: fix hang problem of log writer which occurs after write failures Leandro Lucarella gave me a report that nilfs gets stuck after its write function fails. The problem turned out to be caused by bugs which leave writeback flag on pages. This fixes the problem by ensuring to clear the writeback flag in error path. Reported-by: Leandro Lucarella Signed-off-by: Ryusuke Konishi Cc: stable@kernel.org commit 0cfae3d8795f388f9de78adb0171520d19da77e9 Author: Ryusuke Konishi Date: Thu Jun 18 11:42:53 2009 +0900 nilfs2: remove unlikely directive causing mis-conversion of error code The following error code handling in nilfs_segctor_write() function wrongly converted negative error codes to a truth value (i.e. 1): err = unlikely(err) ? : res; which originaly meant to be err = err ? : res; This mis-conversion caused that write or sync functions receive the unexpected error code. This fixes the bug by removing the unlikely directive. Signed-off-by: Ryusuke Konishi Cc: stable@kernel.org commit febe04de3be4bf66f9339d8847db2806d99fd164 Author: Akinobu Mita Date: Wed Jul 1 11:13:07 2009 +0900 x86: fix usage of bios intcall() Some intcall() misuses the input biosregs as output in cf06de7b9cdd3efee7a59dced1977b3c21d43732 This fixes the problem vga=ask boot option doesn't show enough modes. Signed-off-by: Akinobu Mita LKML-Reference: <20090701021307.GA3127@localhost.localdomain> Signed-off-by: H. Peter Anvin commit 3dfc813d94bba2046c6aed216e0fd69ac93a8e03 Author: David Woodhouse Date: Sat Jul 4 19:11:08 2009 +0100 intel-iommu: Don't use identity mapping for PCI devices behind bridges Our current strategy for pass-through mode is to put all devices into the 1:1 domain at startup (which is before we know what their dma_mask will be), and only _later_ take them out of that domain, if it turns out that they really can't address all of memory. However, when there are a bunch of PCI devices behind a bridge, they all end up with the same source-id on their DMA transactions, and hence in the same IOMMU domain. This means that we _can't_ easily move them from the 1:1 domain into their own domain at runtime, because there might be DMA in-flight from their siblings. So we have to adjust our pass-through strategy: For PCI devices not on the root bus, and for the bridges which will take responsibility for their transactions, we have to start up _out_ of the 1:1 domain, just in case. This fixes the BUG() we see when we have 32-bit-capable devices behind a PCI-PCI bridge, and use the software identity mapping. It does mean that we might end up using 'normal' mapping mode for some devices which could actually live with the faster 1:1 mapping -- but this is only for PCI devices behind bridges, which presumably aren't the devices for which people are most concerned about performance. Signed-off-by: David Woodhouse commit 6941af2810c6fc970b88f7c0d52ba4e286acbee5 Author: David Woodhouse Date: Sat Jul 4 18:24:27 2009 +0100 intel-iommu: Use iommu_should_identity_map() at startup time too. At boot time, the dma_mask won't have been set on any devices, so we assume that all devices will be 64-bit capable (and thus get a 1:1 map). Signed-off-by: David Woodhouse commit 8e4a718ff38d8539938ec3421935904c27e00c39 Author: Linus Torvalds Date: Sat Jul 4 10:58:48 2009 -0700 Linux 2.6.31-rc2 commit f50bf2b2f5e83b794e0bdb2f3f589f55ef0d52d0 Author: Paul Mundt Date: Fri Jul 3 15:45:56 2009 +0900 video: sm501fb: Early initialization of mm_lock mutex. Commit 537a1bf059fa312355696fa6db80726e655e7f17 (fbdev: add mutex for fb_mmap locking) introduces a ->mm_lock mutex for protecting smem assignments. Unfortunately in the case of sm501fb these happen quite early in the initialization code, well before the mutex_init() that takes place in register_framebuffer(), leading to: Badness at kernel/mutex.c:207 Pid : 1, Comm: swapper CPU : 0 Not tainted (2.6.31-rc1-00284-g529ba0d-dirty #2273) PC is at __mutex_lock_slowpath+0x72/0x1bc PR is at __mutex_lock_slowpath+0x66/0x1bc ... matroxfb appears to have the same issue and has solved it with an early mutex_init(), so we do the same for sm501fb. Signed-off-by: Paul Mundt Cc: Krzysztof Helt Signed-off-by: Linus Torvalds commit de481ba925e880764e38b8756c93c05006892507 Merge: dd0888c 64daa44 Author: Linus Torvalds Date: Sat Jul 4 10:35:12 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: (27 commits) parisc: use generic atomic64 on 32-bit parisc: superio: fix build breakage parisc: Fix PCI resource allocation on non-PAT SBA machines parisc: perf: wire up sys_perf_counter_open parisc: add task_pt_regs macro parisc: wire sys_perf_counter_open to sys_ni_syscall parisc: inventory.c, fix bloated stack frame parisc: processor.c, fix bloated stack frame parisc: fix compile warning in mm/init.c parisc: remove dead code from sys_parisc32.c parisc: wire up rt_tgsigqueueinfo parisc: ensure broadcast tlb purge runs single threaded parisc: fix "delay!" timer handling parisc: fix mismatched parenthesis in memcpy.c parisc: Fix gcc 4.4 warning in lba_pci.c parisc: add parameter to read_cr16() parisc: decode_exc.c should include kernel.h parisc: remove obsolete hw_interrupt_type parisc: fix irq compile bugs in arch/parisc/kernel/irq.c parisc: advertise PCI devs after "assign_resources" ... Manually fixed up trivial conflicts in tools/perf/perf.h due to addition of SH vs HPPA perf-counter support. commit dd0888c264c0d5feb5d86eb69c1fdbcdb42566af Merge: 14c1b7c 1c90ea2 Author: Linus Torvalds Date: Sat Jul 4 10:31:26 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: fix pcap adc locking mfd: sm501, fix lock imbalance commit 14c1b7c212de7c7c9231d5a676eb96f28c088338 Merge: 4806626 033a666 Author: Linus Torvalds Date: Sat Jul 4 10:11:38 2009 -0700 Merge branch 'for-2.6.31' of git://linux-nfs.org/~bfields/linux * 'for-2.6.31' of git://linux-nfs.org/~bfields/linux: NFSD: Don't hold unrefcounted creds over call to nfsd_setuser() commit 4806626782b4408e468ef686229556899be345c8 Merge: f1a7457 baf9227 Author: Linus Torvalds Date: Sat Jul 4 09:47:01 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Fix CONFIG_FLATMEM version of pfn_valid() MIPS: Reorganize Cavium OCTEON PCI support. Update Yoichi Yuasa's e-mail address MIPS: Allow suspend and hibernation again on uniprocessor kernels. MIPS: 64-bit: Fix o32 core dump MIPS: BC47xx: Fix SSB irq setup MIPS: CMP: Update sync-r4k for current kernel MIPS: CMP: Move gcmp_probe to before the SMP ops MIPS: CMP: activate CMP support MIPS: CMP: Extend IPI handling to CPU number MIPS: CMP: Extend the GIC IPI interrupts beyond 32 MIPS: Define __arch_swab64 for all mips r2 cpus MIPS: Update VR41xx GPIO driver to use gpiolib MIPS: Hookup new syscalls sys_rt_tgsigqueueinfo and sys_perf_counter_open. MIPS: Malta: Remove unnecessary function prototypes MIPS: MT: Remove unnecessary semicolons MIPS: Add support for Texas Instruments AR7 System-on-a-Chip commit f1a745710f001e8c2eec6d525396083e1f4c389a Merge: 29f3177 7ce1695 Author: Linus Torvalds Date: Sat Jul 4 09:46:13 2009 -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: do not set DEVNAME for OSS devices ALSA: hda - Add sanity check in PCM open callback ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callback ALSA: hda - Avoid invalid formats and rates with shared SPDIF ALSA: hda - Improve ASUS eeePC 1000 mixer ALSA: hda - Add GPIO1 control at muting with HP laptops ALSA: usx2y - reparent sound device ALSA: snd_usb_caiaq: reparent sound device sound: virtuoso: fix Xonar D1/DX silence after resume ASoC: Only disable pxa2xx-i2s clocks if we enabled them ALSA: hda - Add quirk for HP 6930p ALSA: hda - Add missing static to patch_ca0110() ASoC: OMAP: fix OMAP1510 broken PCM pointer callback ASoC: remove BROKEN from Efika and pcm030 fabric drivers ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfig commit 29f31773e07772e73e3177a4af147244cd080554 Merge: 59107c6 1129423 Author: Linus Torvalds Date: Sat Jul 4 09:46:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: finally remove the obsolete variable $TOPDIR gitignore: ignore scripts/ihex2fw Kbuild: Disable the -Wformat-security gcc flag gitignore: ignore gcov output files kbuild: deb-pkg ship changelog Add new __init_task_data macro to be used in arch init_task.c files. asm-generic/vmlinux.lds.h: shuffle INIT_TASK* macro names in vmlinux.lds.h Add new macros for page-aligned data and bss sections. asm-generic/vmlinux.lds.h: Fix up RW_DATA_SECTION definition. commit 59107c6525c0d325649eae807905d34772d5a664 Merge: 746a99a ab0fd1d Author: Linus Torvalds Date: Sat Jul 4 09:45:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: don't merge requests of different failfast settings cciss: Ignore stale commands after reboot commit 9731f4a202f29ff402ea2ddad7ff6f3a559c0c82 Author: Magnus Damm Date: Fri Jul 3 09:40:03 2009 +0000 sh: add r8a66597 usb0 host to the se7724 board Add USB host support for port CN27 on the Solution Engine 7724 board. The r8a66597-hcd driver is hooked up as a platform device and some registers are configured to enable the USB host function. The hardware driving the USB port is the on-chip USB0 block in the sh7724 processor configured as USB host controller. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 64614e66fbfcaa57598c1678d699520dfbf4f531 Author: Magnus Damm Date: Fri Jul 3 09:12:46 2009 +0000 usb: allow sh7724 to enable on-chip r8a66597 The sh7724 processor has two on-chip r8a66597 blocks, so add it to the list of processors for SUPERH_ON_CHIP_R8A66597. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 736768325efcbee7b0861d62670d01a54c2d158b Author: David Woodhouse Date: Sat Jul 4 14:08:36 2009 +0100 intel-iommu: No mapping for non-PCI devices This should fix kernel.org bug #11821, where the dcdbas driver makes up a platform device and then uses dma_alloc_coherent() on it, in an attempt to get memory < 4GiB. Signed-off-by: David Woodhouse commit 02358fcfa54ce018a0bb56ca9f5a898de574a9d3 Author: Herton Ronaldo Krzesinski Date: Sat Jul 4 01:44:59 2009 -0300 ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper section Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 62edf5dc4a524e4cb525e6020b955a1ad593d9ba Author: David Woodhouse Date: Sat Jul 4 10:59:46 2009 +0100 intel-iommu: Restore DMAR_BROKEN_GFX_WA option for broken graphics drivers We need to give people a little more time to fix the broken drivers. Re-introduce this, but tied in properly with the 'iommu=pt' support this time. Change the config option name and make it default to 'no' too. Signed-off-by: David Woodhouse commit 40e4aa34324bff3938a900014254f88943d05e15 Author: David Woodhouse Date: Sat Jul 4 10:55:41 2009 +0100 intel-iommu: Add iommu_should_identity_map() function We do this twice, and it's about to get more complicated. This makes the code slightly clearer about what it's doing, too. Signed-off-by: David Woodhouse commit 1b7bc0a1618b4de1e6f55c6d95b790f4ab6fcd9e Author: David Woodhouse Date: Sat Jul 4 10:49:46 2009 +0100 intel-iommu: Fix reattaching of devices to identity mapping domain When we reattach a device to the si_domain (because it's been removed from a VM), we weren't calling domain_context_mapping() to actually tell the hardware about that. We should really put the call to domain_context_mapping() into domain_add_dev_info() -- we never call the latter without also doing the former, and we can keep the error paths simple that way. But that's a cleanup which can wait for 2.6.32 now. Signed-off-by: David Woodhouse commit a79f0da80a508448434476b77f9d3d1a469eab67 Author: Eric Dumazet Date: Fri Jul 3 16:50:10 2009 +0200 x86: atomic64: Inline atomic64_read() again Now atomic64_read() is light weight (no register pressure and small icache), we can inline it again. Also use "=&A" constraint instead of "+A" to avoid warning about unitialized 'res' variable. (gcc had to force 0 in eax/edx) $ size vmlinux.prev vmlinux.after text data bss dec hex filename 4908667 451676 1684868 7045211 6b805b vmlinux.prev 4908651 451676 1684868 7045195 6b804b vmlinux.after Signed-off-by: Eric Dumazet Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: <4A4E1AA2.30002@gmail.com> [ Also fix typo in atomic64_set() export ] Signed-off-by: Ingo Molnar commit 1e4c64c46d413de84cc0b786bd6a9b555ba7d111 Author: David Woodhouse Date: Sat Jul 4 10:40:38 2009 +0100 intel-iommu: Don't set identity mapping for bypassed graphics devices We should check iommu_dummy() _first_, because that means it's attached to an iommu that we've just disabled completely. At the moment, we might try to put the device into the identity mapping domain. Signed-off-by: David Woodhouse commit 5a5e02a614e59db7536cd11029e6674adc41b191 Author: David Woodhouse Date: Sat Jul 4 09:35:44 2009 +0100 intel-iommu: Fix dma vs. mm page confusion with aligned_nrpages() The aligned_nrpages() function rounds up to the next VM page, but returns its result as a number of DMA pages. Purely theoretical except on IA64, which doesn't boot with VT-d right now anyway. Signed-off-by: David Woodhouse commit c001c213b109c8baeeb6d012b422bf059b18368f Author: Sathya Perla Date: Wed Jul 1 01:06:07 2009 +0000 be2net: fix spurious interrupt handling in intx mode Occasionally we may see an interrupt without an event in the eq. In intx, we currently see the event queue and return IRQ_NONE causing a the irq to be disabled ("no one cared".) Instead, read the CEV_ISR reg to check the existence of the interrupt. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 7d3cabbcc86f7f69c47cb20c23ee84350ae6cfbb Author: Bruce Allan Date: Wed Jul 1 13:29:08 2009 +0000 e1000e: disable K1 at 1000Mbps for 82577/82578 This workaround is required for an issue in hardware where noise on the interconnect between the MAC and PHY could be generated by a lower power mode (K1) at 1000Mbps resulting in bad packets. Disable K1 while at 1000 Mbps but keep it enabled for 10/100Mbps and when the cable is disconnected. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 906e8d9792b1c4a8b58c1383f4c00fc4c9936fc3 Author: Bruce Allan Date: Wed Jul 1 13:28:50 2009 +0000 e1000e: delay second read of PHY_STATUS register on failure of first read Some PHYs may require two reads of the PHY_STATUS register to determine the link status. If the PHY is being accessed by another thread it is possible the first read could timeout and fail. In this case, put a delay in so the second read will pick up the correct link status. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 28c9195a570a32de2760310ca278d44a4fd060a4 Author: Bruce Allan Date: Wed Jul 1 13:28:32 2009 +0000 e1000e: prevent NVM corruption on sectors larger than 4K Limit NVM writes to 4K sections to prevent NVM corruption on larger sector allocations (up to 64K). Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 60f1292fcbdff03ef5caea56404d3d81d05026f6 Author: Bruce Allan Date: Wed Jul 1 13:28:14 2009 +0000 e1000e: do not write SmartSpeed register bits on parts without support The driver was accessing register bits for features on parts that do not support that feature. This could cause problems in the hardware. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fc0c7760aea07c74af3395ad18f96ba62eecac36 Author: Bruce Allan Date: Wed Jul 1 13:27:55 2009 +0000 e1000e: delay after LCD reset and proper checks for PHY configuration done A previous workaround for 82578 to avoid link stall causes some PHY registers to get cleared inadvertently. Add a delay after all LCD resets to make sure PHY registers are in a stable state before continuing. Also, after resets check the EEC register for the state of PHY configuration performed by the MAC for ICH9 and earlier parts (as done before), but check the LAN_INIT_DONE bit in the STATUS register for ICH10 and newer parts (EEC doesn't exist in these newer parts). Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e65fa87c225fadd1980068b7d360e08ac0e985dd Author: Bruce Allan Date: Wed Jul 1 13:27:31 2009 +0000 e1000e: PHY loopback broken on 82578 PHY loopback on 82578 fails to work as a result of flushing the packets in the FIFO buffer in the link stall workaround. Don't perform the workaround if in PHY loopback mode. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e5d57af52464f37dd3c67906a493a6400bc51b43 Author: Mallikarjuna R Chilakala Date: Thu Jul 2 12:51:10 2009 +0000 ixgbe: Not allow 8259x unsupported wol options change from ethtool Wake-on-lan is currently only supported by 82599 KX4 devices, in all other cases return a proper value from ixgbe_wol_exclusion function call. Otherwise from ethtool we will be able to change wol options of unsupported 8259x devices. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5da43c1a78cbc16518017dfb058da6ec4829781b Author: Don Skidmore Date: Thu Jul 2 12:50:52 2009 +0000 ixgbe: fix inconsistent SFP/SFP+ failure results. Currently if we loaded the driver, insert an unsupported module, and then attempt to "ifconfig up" the device it will be brought down but the netdev would not be unregistered. This behavior is different than all other code paths. This patch corrects that by down'ing the device and then scheduling the sfp_config_module_task tasklet. The tasklet will detect this condition (like it does with other code paths) and do the unregister_netdev(). I also removed the log message as this condition (an unsupported SFP+ module) will be logged in sfp_config_module_task. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 19343de279d28e4ed039c8ad00510d19dc4d6d12 Author: Don Skidmore Date: Thu Jul 2 12:50:31 2009 +0000 ixgbe: fix regression on some 82598 adapters The change to check the SFP+ module again on open() was causing the XFP (non-SFP+) adapters to be rejected. We only want to try and re-identify the SFP+ module if the original probe found that this device was an SFP+ device. So for this code path (driver loaded with SFP module, module inserted, ifconfig up of the device) the type will be ixgbe_phy_unknown for an unidentified SFP+ module. So we only check if that is the case. This problem also shows up on Copper devices. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 63d6e1d80a8c3118be2ca0f1f21ba883f282060c Author: Don Skidmore Date: Thu Jul 2 12:50:12 2009 +0000 ixgbe: fix issues with failing to detect insert of unsupported module Several small fixes around negative test case of the insertion of a IXGBE_ERR_NOT_SUPPORTED module. - mdio45_probe call was always failing due to mdio.prtad not being set. The function set to mdio.mdio_read was still working as we just happen to always be at prtad == 0. This will allow us to set the phy_id and phy.type correctly now. - There was timing issue with i2c calls when initiated from a tasklet. A small delay was added to allow the electrical oscillation to calm down. - Logic change in ixgbe_sfp_task that allows NOT_SUPPORTED condition to be recognized. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e332471c035708441de89d4c59f7f7cdc2700c0d Author: Ron Mercer Date: Thu Jul 2 06:06:13 2009 +0000 qlge: Fix sizeof usage. Some usage was only sizing a pointer rather than the data type. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 6a47330892e697ae27d2d56a3c4c7fec2015be93 Author: Ron Mercer Date: Thu Jul 2 06:06:12 2009 +0000 qlge: Add/use function for link up/down. We need to set/clear the mac address register when the link goes up/down respectively. Without this both ports of a 2-port device can end up with the same mac address in a bonding scenario. The new ql_link_on() and ql_link_off() will also be used in handling certain firmware events. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 7fab3bfe08a2c5c4221685499ec4fef83ad82f83 Author: Ron Mercer Date: Thu Jul 2 06:06:11 2009 +0000 qlge: Fix MAC address bonding issue. This addes functionality to set/clear the MAC address in the hardware when the link goes up/down. The MAC address register is persistent across function resets. In bonding the same address can bounce from one port to the other. This can cause packets to be delivered to the wrong port. This patch clears the MAC address in the hardware when the link is down and sets it when the link comes up. It was found that pulling/pushing the cable from one port to another causes the same MAC address to be in both ports. The next patch in this series will use this functionality as well. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 13cfd5be53d01a9316907512f17f34d3858450e8 Author: Ron Mercer Date: Thu Jul 2 06:06:10 2009 +0000 qlge: Fix tx byte counter. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 6e9e4795e688fd61fa83f7f4cad4992939fd4ca3 Author: Ron Mercer Date: Thu Jul 2 06:06:09 2009 +0000 qlge: Fix redundant call to free resources. The caller will free acquired resouces if a failure occurs. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 8b007de19026e91991ae70ca0def31c42435e008 Author: Ron Mercer Date: Thu Jul 2 06:06:08 2009 +0000 qlge: Fix carrier on condition. We were turning on the carrier without verifying the link was up. This adds link up to the link initialize check before turning carrier on. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a5f59dc926844bf95be2261c1bb0a24597b7a8c5 Author: Ron Mercer Date: Thu Jul 2 06:06:07 2009 +0000 qlge: Clear frame to queue routing before reset. Not clearing the routing bits can cause frames to erroneously get routed to management processor. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 4322c5bee85ed58042ec04235ec7086065ad5074 Author: Ron Mercer Date: Thu Jul 2 06:06:06 2009 +0000 qlge: Expand coverage of hw lock for config register. The hardware semaphore covers the configuration register as well as the ICB registers. The ICB high and low regs contain the address of the initialization control block and the config register is used to signal the hardware that a block is ready to be downloaded. Currently we were only protecting the ICB regs. This changes expands to cover the config register as well. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a1ed05263b74921742b454ef52c30b609ec6940f Author: Brian Haley Date: Thu Jul 2 07:10:52 2009 +0000 IPv6: preferred lifetime of address not getting updated There's a bug in addrconf_prefix_rcv() where it won't update the preferred lifetime of an IPv6 address if the current valid lifetime of the address is less than 2 hours (the minimum value in the RA). For example, If I send a router advertisement with a prefix that has valid lifetime = preferred lifetime = 2 hours we'll build this address: 3: eth0: mtu 1500 qlen 1000 inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic valid_lft 7175sec preferred_lft 7175sec If I then send the same prefix with valid lifetime = preferred lifetime = 0 it will be ignored since the minimum valid lifetime is 2 hours: 3: eth0: mtu 1500 qlen 1000 inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic valid_lft 7161sec preferred_lft 7161sec But according to RFC 4862 we should always reset the preferred lifetime even if the valid lifetime is invalid, which would cause the address to immediately get deprecated. So with this patch we'd see this: 5: eth0: mtu 1500 qlen 1000 inet6 2001:1890:1109:a20:21f:29ff:fe5a:ef04/64 scope global deprecated dynamic valid_lft 7163sec preferred_lft 0sec The comment winds-up being 5x the size of the code to fix the problem. Update the preferred lifetime of IPv6 addresses derived from a prefix info option in a router advertisement even if the valid lifetime in the option is invalid, as specified in RFC 4862 Section 5.5.3e. Fixes an issue where an address will not immediately become deprecated. Reported by Jens Rosenboom. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 59cae0092e4da753b5a2adb32933e0d1b223bcc5 Author: Wei Yongjun Date: Thu Jul 2 16:59:49 2009 +0000 xfrm6: fix the proto and ports decode of sctp protocol The SCTP pushed the skb above the sctp chunk header, so the check of pskb_may_pull(skb, nh + offset + 1 - skb->data) in _decode_session6() will never return 0 and the ports decode of sctp will always fail. (nh + offset + 1 - skb->data < 0) Signed-off-by: Wei Yongjun Acked-by: Herbert Xu Signed-off-by: David S. Miller commit c615c9f3f3cea60279b1bb38e8ef27bd575ecd0c Author: Wei Yongjun Date: Thu Jul 2 16:57:23 2009 +0000 xfrm4: fix the ports decode of sctp protocol The SCTP pushed the skb data above the sctp chunk header, so the check of pskb_may_pull(skb, xprth + 4 - skb->data) in _decode_session4() will never return 0 because xprth + 4 - skb->data < 0, the ports decode of sctp will always fail. Signed-off-by: Wei Yongjun Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 7ce1695c40e765e99cd790f55fc68037bc05d080 Merge: 854ace9 954a973 Author: Takashi Iwai Date: Fri Jul 3 23:50:47 2009 +0200 Merge branch 'fix/soundcore' into for-linus * fix/soundcore: sound: do not set DEVNAME for OSS devices commit 854ace9c40d2b121191e1644aa4b0b68c4a226d3 Merge: dbe45d0 c470331 Author: Takashi Iwai Date: Fri Jul 3 23:50:45 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Add sanity check in PCM open callback ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callback ALSA: hda - Avoid invalid formats and rates with shared SPDIF ALSA: hda - Improve ASUS eeePC 1000 mixer ALSA: hda - Add GPIO1 control at muting with HP laptops commit 954a973cab37ad5df3f87f08964166abd956cc17 Author: Kay Sievers Date: Fri Jul 3 20:56:05 2009 +0200 sound: do not set DEVNAME for OSS devices Signed-off-by: Kay Sievers Signed-off-by: Takashi Iwai commit c470331e69bd54d11a9ea3c27a0e4ad783d02d6b Author: Takashi Iwai Date: Fri Jul 3 23:10:23 2009 +0200 ALSA: hda - Add sanity check in PCM open callback Add some sanity checks of struct snd_pcm_hardware fields in the PCM open callback of hda driver. This makes a bit easier to debug any PCM setup errors in the codec side. Signed-off-by: Takashi Iwai commit 70d321e6380f128096429d6e5b678f94ab0cef5d Author: Takashi Iwai Date: Fri Jul 3 23:06:45 2009 +0200 ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callback The PCM rates bit field may have been changed by the codec open callback. In that case, we need to reset rate_min and rate_max. So, simply call snd_pcm_lib_hw_rates() again after the codec open callback. Signed-off-by: Takashi Iwai commit 022b466fc353d3dc7a152451144be656248666ce Author: Takashi Iwai Date: Fri Jul 3 23:03:30 2009 +0200 ALSA: hda - Avoid invalid formats and rates with shared SPDIF Check whether formats and rates don't result in zero due to the restriction of SPDIF sharing. If any of them can be zero, disable the SPDIF sharing mode instead. Otherwise it will lead to a PCM configuration error. Signed-off-by: Takashi Iwai commit ddf9a003d32f720805ac30bcc15755e9289073de Author: Ingo Molnar Date: Fri Jul 3 20:11:30 2009 +0200 x86: atomic64: Clean up atomic64_sub_and_test() and atomic64_add_negative() Linus noticed that the variable name 'old_val' is confusingly named in these functions - the correct naming is 'new_val'. Reported-by: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit ab0fd1debe730ec9998678a0c53caefbd121ed10 Author: Tejun Heo Date: Fri Jul 3 12:56:18 2009 +0200 block: don't merge requests of different failfast settings Block layer used to merge requests and bios with different failfast settings. This caused regular IOs to fail prematurely when they were merged into failfast requests for readahead. Niel Lambrechts could trigger the problem semi-reliably on ext4 when resuming from STR. ext4 uses readahead when reading inodes and combined with the deterministic extra SATA PHY exception cycle during resume on the specific configuration, non-readahead inode read would fail causing ext4 errors. Please read the following thread for details. http://lkml.org/lkml/2009/5/23/21 This patch makes block layer reject merging if the failfast settings don't match. This is correct but likely to lower IO performance by preventing regular IOs from mingling into surrounding readahead requests. Changes to allow such mixed merges and handle errors correctly will be added later. Signed-off-by: Tejun Heo Reported-by: Niel Lambrechts Cc: Theodore Tso Signed-off-by: Jens Axboe commit b59e64d0ddb756af57ea032383bfd393a286a8e8 Author: Hannes Reinecke Date: Thu Jul 2 22:02:06 2009 +0200 cciss: Ignore stale commands after reboot When doing an unexpected shutdown like kexec the cciss firmware might still have some commands in flight, which it is trying to complete. The driver is doing it's best on resetting the HBA, but sadly there's a firmware issue causing the firmware _not_ to abort or drop old commands. So the firmware will send us commands which we haven't accounted for, causing the driver to panic. With this patch we're just ignoring these commands as there is nothing we could be doing with them anyway. Signed-off-by: Hannes Reinecke Acked-by: Mike Miller Signed-off-by: Jens Axboe commit 3a8d1788b37435baf6c296f4ea8beb4fa4955f44 Author: Ingo Molnar Date: Fri Jul 3 19:56:36 2009 +0200 x86: atomic64: Improve atomic64_xchg() Remove the read-first logic from atomic64_xchg() and simplify the loop. This function was the last user of __atomic64_read() - remove it. Also, change the 'real_val' assumption from the somewhat quirky 1ULL << 32 value to the (just as arbitrary, but simpler) value of 0. Reported-by: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 1fde902d52ee13ab9fab155bbae757fdf7daf0c1 Author: Ingo Molnar Date: Fri Jul 3 17:28:57 2009 +0200 x86: atomic64: Export APIs to modules atomic64_t primitives are used by a handful of drivers, so export the APIs consistently. These were inlined before. Also mark atomic64_32.o a core object, so that the symbols are available even if not linked to core kernel pieces. Cc: Eric Dumazet Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit baf922780251d12bc1c24c83df60c4c278abb745 Author: Ralf Baechle Date: Fri Jul 3 07:11:15 2009 +0100 MIPS: Fix CONFIG_FLATMEM version of pfn_valid() For systems which do not define PHYS_OFFSET as 0 pfn_valid() may falsely have returned 0 on most configurations. Bug introduced by commit 752fbeb2e3555c0d236e992f1195fd7ce30e728d (linux-mips.org) rsp. 6f284a2ce7b8bc49cb8455b1763357897a899abb (kernel.org) titled "[MIPS] FLATMEM: introduce PHYS_OFFSET." Signed-off-by: Ralf Baechle commit 01a6221a6a51ec47b9ae3ed42c396f98dd488c7e Author: David Daney Date: Mon Jun 29 17:18:51 2009 -0700 MIPS: Reorganize Cavium OCTEON PCI support. Move the cavium PCI files to the arch/mips/pci directory. Also cleanup comment formatting and code layout. Code from pci-common.c, was moved into other files. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit ada8e9514b5880f81cdbbd212d121380ceef7acc Author: Yoichi Yuasa Date: Fri Jul 3 00:39:38 2009 +0900 Update Yoichi Yuasa's e-mail address Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3f5b3e17f791ba27f91fc4fdc514e7704d4d6273 Author: Ralf Baechle Date: Thu Jul 2 11:48:07 2009 +0100 MIPS: Allow suspend and hibernation again on uniprocessor kernels. Signed-off-by: Ralf Baechle Acked-by: Pavel Machek commit cad9bc69048b073023366ebb0878c1dd64a2c4d9 Author: Yong Zhang Date: Wed Jul 1 09:35:39 2009 +0800 MIPS: 64-bit: Fix o32 core dump If an o32 process generates a core dump on a 64 bit kernel, the core file will not be correctly recognized. This is because ELF_CORE_COPY_REGS and ELF_CORE_COPY_TASK_REGS are not correctly defined for o32 and will use the default register set which would be CONFIG_64BIT in asm/elf.h. So we'll switch to use the right register defines in this situation by checking for WANT_COMPAT_REG_H and use the right defines of ELF_CORE_COPY_REGS and ELF_CORE_COPY_TASK_REGS. [Ralf: made ELF_CORE_COPY_TASK_REGS() bullet-proof against funny arguments.] Signed-off-by: Yong Zhang Signed-off-by: Ralf Baechle commit ea4bbfd0048c53c24f72ef668b39f1247bc243c0 Author: matthieu castet Date: Tue Jun 30 23:04:55 2009 +0200 MIPS: BC47xx: Fix SSB irq setup The current ssb irq setup in ssb_mipscore_init has the problem that it configures some device on some irq without checking that the irq is not taken by an other device. For example in my case PCI host is on irq 0 and IPSEC on irq 3. The current code: - store in dev->irq that IPSEC irq is 3 + 2 - do a set_irq 0->3 on PCI host But now IPSEC irq is not routed anymore to the mips code and dev->irq is wrong. This causes a problem described in [1]. This patch tries to solve the problem by making set_irq configure the device we want to take the irq on the shared irq0. The previous example becomes: - store in dev->irq that IPSEC irq is 3 + 2 - do a set_irq 0->3 on PCI host: - irq 3 is already taken by IPSEC. do a set_irq 3->0 on IPSEC I also added some code to print the irq configuration after irq setup to allow easier debugging. And I add extra checking in ssb_mips_irq to report device without irq or device with not routed irq. [1] http://www.danm.de/files/src/bcm5365p/REPORTED_DEVICES Signed-off-by: Matthieu CASTET Acked-by : Michael Buesch Tested-by: Florian Fainelli Signed-off-by: Ralf Baechle commit eb9b5141a9815ef898ef6b6441f733e81c272600 Author: Tim Anderson Date: Wed Jun 17 16:40:34 2009 -0700 MIPS: CMP: Update sync-r4k for current kernel This revises the sync-4k so it will boot and operate since the removal of expirelo from the timer code. Signed-off-by: Tim Anderson Signed-off-by: Ralf Baechle commit 47b178bb69ea4d0043f2df509c714bc5b287f375 Author: Tim Anderson Date: Wed Jun 17 16:25:18 2009 -0700 MIPS: CMP: Move gcmp_probe to before the SMP ops This is to move the gcmp_probe call to before the use of and selection of the smp_ops functions. This allows malta with 1004K to work. Signed-off-by: Tim Anderson Signed-off-by: Ralf Baechle commit 0365070f05f12f1648b4adf22cfb52ec7a8a371c Author: Tim Anderson Date: Wed Jun 17 16:22:53 2009 -0700 MIPS: CMP: activate CMP support Most of the CMP support was added before, this mostly correct compile problems but adds a platform specific translation for the interrupt number based on cpu number. Signed-off-by: Tim Anderson Signed-off-by: Ralf Baechle commit a214cef9a5d06894785dca1f967c9c324cc84c17 Author: Tim Anderson Date: Wed Jun 17 16:22:25 2009 -0700 MIPS: CMP: Extend IPI handling to CPU number This takes the current IPI interrupt assignment from the fix number of 4 to the number of CPUs defined in the system. Signed-off-by: Tim Anderson Signed-off-by: Ralf Baechle commit 9306c8def6abc2dbde4ac75eb6c631606b8fc1dd Author: Tim Anderson Date: Wed Jun 17 16:21:19 2009 -0700 MIPS: CMP: Extend the GIC IPI interrupts beyond 32 This patch extends the GIC interrupt handling beyond the current 32 bit range as well as extending the number of interrupts based on the number of CPUs. Signed-off-by: Tim Anderson Signed-off-by: Ralf Baechle commit b53d4d1f8d522342e66f79b8b49a19835071fed4 Author: David Daney Date: Mon Jun 29 09:54:15 2009 -0700 MIPS: Define __arch_swab64 for all mips r2 cpus Some CPUs implement mipsr2, but because they are a super-set of mips64r2 do not define CONFIG_CPU_MIPS64_R2. Cavium OCTEON falls into this category. We would still like to use the optimized implementation, so since we have already checked for CONFIG_CPU_MIPSR2, checking for CONFIG_64BIT instead of CONFIG_CPU_MIPS64_R2 is sufficient. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 27fdd325dace4a1ebfa10e93ba6f3d25f25df674 Author: Yoichi Yuasa Date: Mon Jun 29 11:11:05 2009 +0900 MIPS: Update VR41xx GPIO driver to use gpiolib Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 69f16c9a8630edc64cb1d6f1bfca4ee7bc16279f Author: David Daney Date: Fri Jun 26 09:53:57 2009 -0700 MIPS: Hookup new syscalls sys_rt_tgsigqueueinfo and sys_perf_counter_open. [Ralf: I fixed up the numbering in the comment in scall64-n32.S.] Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit d7e014db374d987c6bcff0b9abab2c6796f8e793 Author: Dmitri Vorobiev Date: Fri Jun 26 19:59:25 2009 +0300 MIPS: Malta: Remove unnecessary function prototypes Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 52a7a27cd8f6c57817da99fef019e37b9c303c4e Author: Joe Perches Date: Sun Jun 28 09:26:09 2009 -0700 MIPS: MT: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Ralf Baechle commit 7ca5dc145bc7daddd8aed8bbda46b74af9cebefc Author: Florian Fainelli Date: Wed Jun 24 11:12:57 2009 +0200 MIPS: Add support for Texas Instruments AR7 System-on-a-Chip This patch adds support for the Texas Instruments AR7 System-on-a-Chip. It supports the TNETD7100, 7200 and 7300 versions of the SoC. Signed-off-by: Matteo Croce Signed-off-by: Felix Fietkau Signed-off-by: Eugene Konev Signed-off-by: Nicolas Thill Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 033a666ccb842ab4134fcd0c861d5ba9f5d6bf3a Author: David Howells Date: Thu Jul 2 14:35:32 2009 +0100 NFSD: Don't hold unrefcounted creds over call to nfsd_setuser() nfsd_open() gets an unrefcounted pointer to the current process's effective credentials at the top of the function, then calls nfsd_setuser() via fh_verify() - which may replace and destroy the current process's effective credentials - and then passes the unrefcounted pointer to dentry_open() - but the credentials may have been destroyed by this point. Instead, the value from current_cred() should be passed directly to dentry_open() as one of its arguments, rather than being cached in a variable. Possibly fh_verify() should return the creds to use. This is a regression introduced by 745ca2475a6ac596e3d8d37c2759c0fbe2586227 "CRED: Pass credentials through dentry_open()". Signed-off-by: David Howells Tested-and-Verified-By: Steve Dickson Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit 637a935aaba2f05e2178c9d1b714d7a2c36c8b44 Author: Lars-Peter Clausen Date: Fri Jul 3 01:04:16 2009 +0200 ASoC: Fix wm8753 register cache size and initialization Register cache space was not being allocated for the final register, causing bugs when it was used. Allocate space for it. Also ensure that the final register is displayed in sysfs. [Commit message rewritten to document actual issue. -- broonie] Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit aa202455eec51699e44f658530728162cefa1307 Author: Takashi Iwai Date: Fri Jul 3 15:00:54 2009 +0200 ALSA: hda - Improve ASUS eeePC 1000 mixer The mixer elements created for ASUS eeePC 1000 with ALC269 aren't standard but strange words like "LineOut". Rename the element names to follow the standard one like "Headphone" and "Speaker". Also, split the volumes to each so that the virtual master can control them. The alc269_fujitsu_mixer is removed because it's now identical with the new eeepc mixer. Signed-off-by: Takashi Iwai commit 099db17e66294b02814dee01c81d9abbbeece93e Author: Takashi Iwai Date: Thu Jul 2 16:10:23 2009 +0200 ALSA: hda - Add GPIO1 control at muting with HP laptops HP laptops with AD1984A codecs (at least mobile models) need to set GPIO1 appropriately to indicate the mute state. The BIOS checks this bit to judge whether the mute on or off is sent via F8 key. Without changing this bit, the BIOS can be confused and may toggle the mute wrongly. Reference: Novell bnc#515266 https://bugzilla.novell.com/show_bug.cgi?id=515266 Signed-off-by: Takashi Iwai commit 67d7178f8fc64b7f68d7dd8a1b21dfa0d42c220c Author: Eric Dumazet Date: Fri Jul 3 13:23:02 2009 +0200 x86: atomic64: Improve atomic64_read() Optimize atomic64_read() as a special open-coded cmpxchg8b variant. This generates nicer code: arch/x86/lib/atomic64_32.o: text data bss dec hex filename 435 0 0 435 1b3 atomic64_32.o.before 431 0 0 431 1af atomic64_32.o.after md5: bd8ab95e69c93518578bfaf0ea3be4d9 atomic64_32.o.before.asm 2bdfd4bd1f6b7b61b7fc127aef90ce3b atomic64_32.o.after.asm Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 8e049ef054f1cc765f05f13e1396bb9a17c19e66 Author: Paul Mackerras Date: Thu Jul 2 08:57:12 2009 +1000 x86: atomic64: Code atomic(64)_read and atomic(64)_set in C not CPP Occasionally we get bugs where atomic_read or atomic_set are used on atomic64_t variables or vice versa. These bugs don't generate warnings on x86 because atomic_read and atomic_set are coded as macros rather than C functions, so we don't get any type-checking on their arguments; similarly for atomic64_read and atomic64_set in 64-bit kernels. This converts them to C functions so that the arguments are type-checked and bugs like this will get caught more easily. It also converts atomic_cmpxchg and atomic_xchg, and atomic64_cmpxchg and atomic64_xchg on 64-bit, so we get type-checking on their arguments too. Compiling a typical 64-bit x86 config, this generates no new warnings, and the vmlinux text is 86 bytes smaller. Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 22a26e6663008e1fc4d1467aaff7e775124bce31 Merge: c7210e1 1bc6f83 Author: Ingo Molnar Date: Fri Jul 3 14:35:02 2009 +0200 Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit c7210e1ff8a95a0a6dba0d04a95b3ddd9d165fab Author: Jaswinder Singh Rajput Date: Thu Jul 2 22:35:35 2009 +0530 x86: Remove unused function lapic_watchdog_ok() lapic_watchdog_ok() is a global function but no one is using it. Signed-off-by: Jaswinder Singh Rajput Cc: Andi Kleen Cc: Yinghai Lu LKML-Reference: <1246554335.2242.29.camel@jaswinder.satnam> Signed-off-by: Ingo Molnar commit 23d0cd8e718723f1ddda37637bc6b7c34caec64a Author: Jaswinder Singh Rajput Date: Thu Jul 2 22:33:59 2009 +0530 x86: Remove unused variable disable_x2apic setup_nox2apic() is writing 1 to disable_x2apic but no one is reading it. Signed-off-by: Jaswinder Singh Rajput Cc: Yinghai Lu Cc: Cyrill Gorcunov LKML-Reference: <1246554239.2242.27.camel@jaswinder.satnam> Signed-off-by: Ingo Molnar commit d3ac88157c1e9153f37cd2b9313117ae11735063 Author: Rakib Mullick Date: Thu Jul 2 11:40:36 2009 +0600 x86, kvm: Fix section mismatches in kvm.c The function paravirt_ops_setup() has been refering the variable no_timer_check, which is a __initdata. Thus generates the following warning. paravirt_ops_setup() function is called from kvm_guest_init() which is a __init function. So to fix this we mark paravirt_ops_setup as __init. The sections-check output that warned us about this was: LD arch/x86/built-in.o WARNING: arch/x86/built-in.o(.text+0x166ce): Section mismatch in reference from the function paravirt_ops_setup() to the variable .init.data:no_timer_check The function paravirt_ops_setup() references the variable __initdata no_timer_check. This is often because paravirt_ops_setup lacks a __initdata annotation or the annotation of no_timer_check is wrong. Signed-off-by: Rakib Mullick Acked-by: Avi Kivity Cc: Andrew Morton LKML-Reference: Signed-off-by: Ingo Molnar commit 3fd382cedfb4fb742a8cc17ba15288ec03131db1 Author: Mike Galbraith Date: Thu Jul 2 07:27:20 2009 +0200 x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user While examining symbol generation in perf_counter tools, I noticed that copy_to_user() had no size in vmlinux's symtab. Signed-off-by: Mike Galbraith Acked-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov LKML-Reference: <1246512440.13293.3.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 12b9d7ccb841805e347fec8f733f368f43ddba40 Author: Mathieu Desnoyers Date: Wed Jul 1 17:37:22 2009 -0400 x86: Fix fixmap page order for FIX_TEXT_POKE0,1 Masami reported: > Since the fixmap pages are assigned higher address to lower, > text_poke() has to use it with inverted order (FIX_TEXT_POKE1 > to FIX_TEXT_POKE0). I prefer to just invert the order of the fixmap declaration. It's simpler and more straightforward. Backward fixmaps seems to be used by both x86 32 and 64. It's really rare but a nasty bug, because it only hurts when instructions to patch are crossing a page boundary. If this happens, the fixmap write accesses will spill on the following fixmap, which may very well crash the system. And this does not crash the system, it could leave illegal instructions in place. Thanks Masami for finding this. It seems to have crept into the 2.6.30-rc series, so this calls for a -stable inclusion. Signed-off-by: Mathieu Desnoyers Acked-by: Masami Hiramatsu Cc: LKML-Reference: <20090701213722.GH19926@Krystal> Signed-off-by: Ingo Molnar commit 199e23780a7e75c63a9e3d1108804e3af450ea3e Author: Ingo Molnar Date: Fri Jul 3 13:02:39 2009 +0200 x86: atomic64: Fix unclean type use in atomic64_xchg() Linus noticed that atomic64_xchg() uses atomic_read(), which happens to work because atomic_read() is a macro so the .counter value gets u64-read on 32-bit too - but this is really bogus and serious bugs are waiting to happen. Fix atomic64_xchg() to use __atomic64_read() instead. No code changed: arch/x86/lib/atomic64_32.o: text data bss dec hex filename 435 0 0 435 1b3 atomic64_32.o.before 435 0 0 435 1b3 atomic64_32.o.after md5: bd8ab95e69c93518578bfaf0ea3be4d9 atomic64_32.o.before.asm bd8ab95e69c93518578bfaf0ea3be4d9 atomic64_32.o.after.asm Reported-by: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 3217120873598533234b6dedda9c371ce30001d0 Author: Ingo Molnar Date: Fri Jul 3 13:06:01 2009 +0200 x86: atomic64: Make atomic_read() type-safe Linus noticed that atomic64_xchg() uses atomic_read(), which happens to work because atomic_read() is a macro so the .counter value gets u64-read on 32-bit too - but this is really bogus and serious bugs are waiting to happen. Change atomic_read() to be a type-safe inline, and this exposes the atomic64 bogosity as well: arch/x86/lib/atomic64_32.c: In function ‘atomic64_xchg’: arch/x86/lib/atomic64_32.c:39: warning: passing argument 1 of ‘atomic_read’ from incompatible pointer type Reported-by: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 3ac805d2afd3fa4a07cb5bcf352fd7fa83f28935 Author: Ingo Molnar Date: Fri Jul 3 12:51:19 2009 +0200 x86: atomic64: Reduce size of functions cmpxchg8b is a huge instruction in terms of register footprint, we almost never want to inline it, not even within the same code module. GCC 4.3 still messes up for two functions, under-judging the true cost of this instruction - so annotate two key functions to reduce the bloat: arch/x86/lib/atomic64_32.o: text data bss dec hex filename 1763 0 0 1763 6e3 atomic64_32.o.before 435 0 0 435 1b3 atomic64_32.o.after Cc: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 824975ef190e7dcb77718d1cc2cb53769b16d918 Author: Ingo Molnar Date: Fri Jul 3 12:39:07 2009 +0200 x86: atomic64: Improve atomic64_add_return() Linus noted (based on Eric Dumazet's numbers) that we would probably be better off not trying an atomic_read() in atomic64_add_return() but intead intentionally let the first cmpxchg8b fail - to get a cache-friendly 'give me ownership of this cacheline' transaction. That can then be followed by the real cmpxchg8b which sets the value local to the CPU. Reported-by: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit 69237f94e65d3d7f539f1adb98ef68685c595004 Author: Eric Dumazet Date: Fri Jul 3 13:26:41 2009 +0200 x86: atomic64: Improve cmpxchg8b() Rewrite cmpxchg8b() to not use %edi register but a generic "+m" constraint, to increase compiler freedom in code generation and possibly better code. Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit aacf682fd8c66b57383c407eecd9d4a28264ee91 Author: Eric Dumazet Date: Fri Jul 3 12:14:27 2009 +0200 x86: atomic64: Improve atomic64_read() Linus noticed that the 32-bit version of atomic64_read() was being overly complex with re-reading the value and doing a retry loop over that. Instead we can just rely on cmpxchg8b returning either the new value or returning the current value. We can use any 'old' value, which will be faster as it can be loaded via immediates. Using some value that is not equal to the real value in memory the instruction gets faster. This also has the advantage that the CPU could avoid dirtying the cacheline. Reported-by: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit b7882b7c65abb00194bdb3d4a22d27d70fcc59ba Author: Ingo Molnar Date: Fri Jul 3 13:26:39 2009 +0200 x86: atomic64: Move the 32-bit atomic64_t implementation to a .c file Linus noted that the atomic64_t primitives are all inlines currently which is crazy because these functions have a large register footprint anyway. Move them to a separate file: arch/x86/lib/atomic64_32.c Also, while at it, rename all uses of 'unsigned long long' to the much shorter u64. This makes the appearance of the prototypes a lot nicer - and it also uncovered a few bugs where (yet unused) API variants had 'long' as their return type instead of u64. [ More intrusive changes are not yet done in this patch. ] Reported-by: Linus Torvalds Cc: Eric Dumazet Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: Signed-off-by: Ingo Molnar commit bbf2a330d92c5afccfd17592ba9ccd50f41cf748 Author: Eric Dumazet Date: Fri Jul 3 00:08:26 2009 +0200 x86: atomic64: The atomic64_t data type should be 8 bytes aligned on 32-bit too Locked instructions on two cache lines at once are painful. If atomic64_t uses two cache lines, my test program is 10x slower. The chance for that is significant: 4/32 or 12.5%. Make sure an atomic64_t is 8 bytes aligned. Signed-off-by: Eric Dumazet Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: David Howells Cc: Andrew Morton Cc: Arnd Bergmann LKML-Reference: [ changed it to __aligned(8) as per Andrew's suggestion ] Signed-off-by: Ingo Molnar commit 029e5b1636d0511ef143af3a20c83c48e44c03f3 Author: Ingo Molnar Date: Fri Jul 3 13:17:28 2009 +0200 perf report: Annotate variable initialization Certain versions of GCC dont see the initialization that is done here: builtin-report.c: In function ‘__cmd_report’: builtin-report.c:1038: warning: ‘syms’ may be used uninitialized in this function So annotate it with a NULL initialization. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1c90ea2c7eb3b24a07a2f82164323588fb029bc1 Author: Daniel Ribeiro Date: Tue Jun 23 12:30:58 2009 -0300 mfd: fix pcap adc locking Release the lock on error. Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit 992bb253cd6f08129edcb42b90e6c388ebf605f8 Author: Jiri Slaby Date: Mon Jun 22 00:00:02 2009 +0200 mfd: sm501, fix lock imbalance Add omitted unlock in sm501_unit_power. Signed-off-by: Jiri Slaby Signed-off-by: Samuel Ortiz commit 0827d6ba0b76be398a3c4298afd41f4965d2cdcb Author: Grant Likely Date: Thu Jul 2 11:57:25 2009 -0600 ASoC: add locking to mpc5200-psc-ac97 driver AC97 bus register read/write hooks need to provide locking, but the mpc5200-psc-ac97 driver does not. This patch adds a mutex around the register access routines. Signed-off-by: Grant Likely Acked-by: Jon Smirl Signed-off-by: Mark Brown commit 07573534b0b030226ee5ab560e53aac7e6c0dd84 Author: Grant Likely Date: Thu Jul 2 11:57:19 2009 -0600 ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared When doing register reads, it is possible for there to be a stale data ready bit set which will cause subsequent reads to return prematurely with incorrect data. This patch fixes the issues by ensuring stale data is cleared before starting another transaction. Signed-off-by: Grant Likely Acked-by: Jon Smirl Signed-off-by: Mark Brown commit 1df892cba45f9856d369a6a317ad2d1e44bca423 Author: Mark Brown Date: Fri Jul 3 10:33:39 2009 +0100 ASoC: Fix register cache initialisation for WM8753 The wrong register cache variable was being used to provide the size for the memcpy(), resulting in a copy of only a void * of data. Reported-by: Lars-Peter Clausen Signed-off-by: Mark Brown Cc: stable@kernel.org commit c222dce48cb2adf5ed68201fb2a59d00544b9a74 Merge: f6faac7 b0a5b83 Author: Ingo Molnar Date: Fri Jul 3 11:03:10 2009 +0200 Merge branch 'dma-debug/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/urgent commit 44e18e9eda1f5c318a888989d929188eea93c8dc Author: Magnus Damm Date: Fri Jul 3 08:39:34 2009 +0000 sh-sci: update receive error handling for muxed irqs This patch updates the receive error code for muxed interrupts in the sh-sci driver. Receive error interrupts may be generated by the hardware if RE or REIE bits in SCSCR are set. Update the muxed interrupt handling code to acknowledge error interrupts if RE or REIE is set, instead of only acknowledging if REIE is set. Without this patch error interrupts may be generated but never acked resulting in a "nobody cared" crash. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 30d7a77dd5a9720430af72f6f62f5156fe073e55 Author: Arnaldo Carvalho de Melo Date: Thu Jul 2 21:24:14 2009 -0300 perf_counter tools: Adjust symbols in ET_EXEC files too Ingo Molnar wrote: > i just bisected a 'perf report' bug that would cause us to not > resolve all user-space symbols in a 'git gc' run to: > > f5812a7a336fb952d819e4427b9a2dce02368e82 is first bad commit > commit f5812a7a336fb952d819e4427b9a2dce02368e82 > Author: Arnaldo Carvalho de Melo > Date: Tue Jun 30 11:43:17 2009 -0300 > > perf_counter tools: Adjust only prelinked symbol's addresses Rename ->prelinked to ->adjust_symbols and making what was done only for prelinked libraries also to ET_EXEC binaries, such as /usr/bin/git: [acme@doppio pahole]$ readelf -h /usr/bin/git | grep Type Type: EXEC (Executable file) [acme@doppio pahole]$ And after installing the 'git-debuginfo' package, I get correct results: [acme@doppio linux-2.6-tip]$ perf report --sort comm,dso,symbol -d /usr/bin/git | head -20 # # (1139614 samples) # # Overhead Command Shared Object Symbol # ........ ................ ......................... ...... # 34.98% git /usr/bin/git [.] send_sideband 33.39% git /usr/bin/git [.] enter_repo 6.81% git /usr/bin/git [.] diff_opt_parse 4.95% git /usr/bin/git [.] is_repository_shallow 3.24% git /usr/bin/git [.] odb_mkstemp 1.39% git /usr/bin/git [.] output 1.34% git /usr/bin/git [.] xmmap 1.25% git /usr/bin/git [.] receive_pack_config 1.16% git /usr/bin/git [.] git_pathdup 0.90% git /usr/bin/git [.] read_object_with_reference 0.86% git /usr/bin/git [.] show_patch_diff 0.85% git /usr/bin/git 0x00000000095e2e 0.69% git /usr/bin/git [.] display [acme@doppio linux-2.6-tip]$ I'll check what are the last cases where we can't resolve symbols, like this 0x00000000095e2e later. And I guess this will fix the problems Mike were seeing too: [acme@doppio linux-2.6-tip]$ readelf -h ../build/perf/vmlinux | grep Type Type: EXEC (Executable file) [acme@doppio linux-2.6-tip]$ Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 82e8b54229fb121946151b82e8ff3c3284bd723f Author: Marc Zyngier Date: Fri Jun 19 10:50:54 2009 +0200 backlight: fix pwm_bl.c to notify platform code when suspending When suspending, pwm-bl sets duty cycle to 0, and shuts down the pwm device. This patch ensure that the platform code is called before that (through the notify callback_, leaving a chance for the platform code to configure GPIOs (shutting off the backlight, for example), much like it is done during normal operations. Signed-off-by: Marc Zyngier Signed-off-by: Eric Miao commit 4aa78264d14bb0e87897acb90941c368248e20ce Author: Daniel Mack Date: Fri Jun 19 22:56:09 2009 +0200 [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() As slab is available early now, use kzalloc() rather than alloc_bootmem_low() in pxa_init_gpio_chip(). This removes the following boot time warning: <4>------------[ cut here ]------------ <4>WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x2c/0x54() Modules linked in: [] (unwind_backtrace+0x0/0xdc) from [] (warn_slowpath_common+0x4c/0x80) [] (warn_slowpath_common+0x4c/0x80) from [] (alloc_arch_preferred_bootmem+0x2c/0x54) [] (alloc_arch_preferred_bootmem+0x2c/0x54) from [] (___alloc_bootmem_nopanic+0x34/0xd0) [] (___alloc_bootmem_nopanic+0x34/0xd0) from [] (___alloc_bootmem+0xc/0x34) [] (___alloc_bootmem+0xc/0x34) from [] (pxa_init_gpio+0x48/0x228) [] (pxa_init_gpio+0x48/0x228) from [] (init_IRQ+0x34/0x44) [] (init_IRQ+0x34/0x44) from [] (start_kernel+0x144/0x264) [] (start_kernel+0x144/0x264) from [] (0xa0008034) <4>---[ end trace 1b75b31a2719ed1c ]--- Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 5c68b09900f04c3de55af43155435b9392f03844 Author: Daniel Mack Date: Mon Jun 22 21:01:58 2009 +0200 [ARM] pxa: correct I2CPWR clock for pxa3xx In commit f23d4911319fd, the pwr-i2c device name changed due to the newly introduced device table. This patch fixes the clock so the driver's probe will succeed again. Signed-off-by: Daniel Mack Acked-by: Russell King Signed-off-by: Eric Miao commit 7eeff4814224646c896303ba2c2b7ac3c4240cd2 Author: Matt Reimer Date: Mon Jun 15 13:21:25 2009 -0700 pxamci: correct DMA flow control The DMA flow control in pxamci_setup_data() is backwards; fix it. Signed-off-by: Matt Reimer Acked-by: Robert Jarzmik Signed-off-by: Eric Miao commit 47220f623c3216ca276bad517ed208ea2ffceaa2 Author: Paul Mundt Date: Fri Jul 3 13:08:28 2009 +0900 sh: define PERF_COUNTER_INDEX_OFFSET. Fixes up recent build breakage. Signed-off-by: Paul Mundt commit 64daa4435a40aa1b7d0ece598ae783b89dda13ee Author: Kyle McMartin Date: Thu Jul 2 13:10:29 2009 -0400 parisc: use generic atomic64 on 32-bit Somewhat redundant since our atomic_t uses hashed-locks on 32-bit anyway... Maybe we can clean those up to be generic too someday. Signed-off-by: Kyle McMartin commit 0c5cb79198d80eaea273f3e91cb418d559f13462 Author: Alexander Beregalov Date: Thu Apr 16 14:45:59 2009 +0000 parisc: superio: fix build breakage Usage of parport_pc_probe_port was changed in 28783eb52 (parport: Fix various uses of parport_pc). It introduced this build error: drivers/parisc/superio.c: In function 'superio_parport_init': drivers/parisc/superio.c:437: error: too few arguments to function 'parport_pc_probe_port' Fix it. Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit ca0844e347cf0fc9719c825ea1959501117b7f89 Author: Matthew Wilcox Date: Fri Jun 26 17:44:18 2009 +0000 parisc: Fix PCI resource allocation on non-PAT SBA machines We weren't marking the resources as memory resources, so they weren't being found by pci_claim_resource(). Signed-off-by: Matthew Wilcox Reviewed-by: Grant Grundler Signed-off-by: Kyle McMartin commit 2d4618dce6a318ff4ec78dfe492cc3793015d540 Author: Kyle McMartin Date: Tue Jun 23 21:38:49 2009 -0400 parisc: perf: wire up sys_perf_counter_open Signed-off-by: Kyle McMartin commit abf1e11a0dcf5514139cb76ed8eb050107653abd Author: Kyle McMartin Date: Tue Jun 23 21:32:18 2009 -0400 parisc: add task_pt_regs macro needed for perf_counters. Signed-off-by: Kyle McMartin commit 538e23615fe78b6da151ef136e3f7c6ad1fda2c1 Author: Kyle McMartin Date: Tue Jun 23 20:22:06 2009 -0400 parisc: wire sys_perf_counter_open to sys_ni_syscall Reserve a syscall slot for sys_perf_counter_open. Signed-off-by: Kyle McMartin commit 0d56d1aa0e756f077b700420c54e1a52140e73b4 Author: Kyle McMartin Date: Tue Jun 23 13:11:22 2009 -0400 parisc: inventory.c, fix bloated stack frame The pa_pdc_cell struct can be kmalloc'd, so do that instead. Signed-off-by: Kyle McMartin commit 64a0cdb026666cd9911fa045b863fb1f0f255dd8 Author: Kyle McMartin Date: Tue Jun 23 13:10:03 2009 -0400 parisc: processor.c, fix bloated stack frame The pa_pdc_cell struct can be kmalloc'd, so do that instead. Signed-off-by: Kyle McMartin commit 20dbc9f724e02c26e30d89cf50e7ce259ab46da4 Author: Kyle McMartin Date: Tue Jun 23 11:51:43 2009 -0400 parisc: fix compile warning in mm/init.c arch/parisc/mm/init.c: In function 'free_initmem': 381: warning: passing argument 1 of 'memset' makes pointer from integer without a cast Signed-off-by: Kyle McMartin commit c3301ab4fb64cf84321d35a8e94f68c94c816dc1 Author: Christoph Hellwig Date: Tue Jun 23 11:47:07 2009 -0400 parisc: remove dead code from sys_parisc32.c Unless I'm totally missing something get_fd_set32/set_fd_set32 are completely unused. Signed-off-by: Christoph Hellwig Acked-by: Grant Grundler Signed-off-by: Kyle McMartin commit 4435607e986c792a8753f8850b570fdd80b21b10 Author: Kyle McMartin Date: Tue Jun 23 11:40:37 2009 -0400 parisc: wire up rt_tgsigqueueinfo Signed-off-by: Kyle McMartin commit e82a3b75127188f20c7780bec580e148beb29da7 Author: Helge Deller Date: Tue Jun 16 20:51:48 2009 +0000 parisc: ensure broadcast tlb purge runs single threaded The TLB flushing functions on hppa, which causes PxTLB broadcasts on the system bus, needs to be protected by irq-safe spinlocks to avoid irq handlers to deadlock the kernel. The deadlocks only happened during I/O intensive loads and triggered pretty seldom, which is why this bug went so long unnoticed. Signed-off-by: Helge Deller [edited to use spin_lock_irqsave on UP as well since we'd been locking there all this time anyway, --kyle] Signed-off-by: Kyle McMartin commit 84be31be3727d11b2a91781306b642e801c5a379 Author: Grant Grundler Date: Mon Jun 1 00:20:23 2009 +0000 parisc: fix "delay!" timer handling Rewrote timer_interrupt() to properly handle the "delayed!" case. If we used floating point math to compute the number of ticks that had elapsed since the last timer interrupt, it could take up to 12K cycles (emperical!) to handle the interrupt. Existing code assumed it would never take more than 8k cycles. We end up programming Interval Timer to a value less than "current" cycle counter. Thus have to wait until Interval Timer "wrapped" and would then get the "delayed!" printk that I moved below. Since we don't really know what the upper limit is, I prefer to read CR16 again after we've programmed it to make sure we won't have to wait for CR16 to wrap. Further, the printk was between reading CR16 (cycle couner) and writing CR16 (the interval timer). This would cause us to continue to set the interval timer to a value that was "behind" the cycle counter. Rinse and repeat. So no printk's between reading CR16 and setting next interval timer. Tested on A500 (550 Mhz PA8600). Signed-off-by: Grant Grundler Tested-by: Kyle McMartin Signed-off-by: Kyle McMartin ---- Kyle, Helge, and other parisc's, Please test on 32-bit before committing. I think I have it right but recognize I might not. TODO: I wanted to use "do_div()" in order to get both remainder and value back with one division op. That should help with the latency alot but can be applied seperately from this patch. thanks, grant commit 87451d850c895470a122308086069b7c326c914b Author: Randolph Chung Date: Tue Jun 23 14:53:26 2009 +0000 parisc: fix mismatched parenthesis in memcpy.c >>>> I think this is what was intended? Note that this patch may affect >>>> profiling. >>> it really should be >>> >>> - if (likely(t1 & (sizeof(unsigned int)-1)) == 0) { >>> + if (likely((t1 & (sizeof(unsigned int)-1)) == 0)) { >>> >>> randolph Reported-by: Roel Kluin Signed-off-by: Randolph Chung Signed-off-by: Kyle McMartin commit e957f608f321a97a60d065bccd01949590eef52e Author: Grant Grundler Date: Tue Jun 23 11:03:11 2009 -0400 parisc: Fix gcc 4.4 warning in lba_pci.c gcc 4.4 warns about: drivers/parisc/lba_pci.c: In function 'lba_pat_resources': drivers/parisc/lba_pci.c:1099: warning: the frame size of 8280 bytes is larger than 4096 bytes The problem is we declare two large structures on the stack. They don't need to be on the stack since they are only used during LBA initialization (which is serialized). Moving to be "static". Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit ebc30a0f67a4d6a9470556f4311478b3b04c2b1f Author: Coly Li Date: Thu Apr 30 22:43:46 2009 +0000 parisc: add parameter to read_cr16() This patch modifies parameter of au1x_counter1_read() from 'void' to 'struct clocksource *cs', which fixes compile warning for incompatible parameter type. Signed-off-by: Coly Li Signed-off-by: Helge Deller Cc: Ingo Molnar Signed-off-by: Kyle McMartin commit e9b2601073aa57ffde7259afbe86f405060058e3 Author: Alexander Beregalov Date: Mon Apr 6 09:29:58 2009 +0000 parisc: decode_exc.c should include kernel.h Fix this build error: arch/parisc/math-emu/decode_exc.c:351: undefined reference to `printk' Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit dfe07565021959f0f646e9e775810c1bfbe0f6d6 Author: Thomas Gleixner Date: Wed Jun 10 19:56:04 2009 +0000 parisc: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 47b4150baa003fb83b93365f3eadd4c373e4fa6c Author: Helge Deller Date: Sat Jun 6 21:54:28 2009 +0000 parisc: fix irq compile bugs in arch/parisc/kernel/irq.c Fix miscompilation in arch/parisc/kernel/irq.c: 123: warning: passing arg 1 of `cpumask_setall' from incompatible pointer type 141: warning: passing arg 1 of `cpumask_copy' from incompatible pointer type 300: warning: passing arg 1 of `cpumask_copy' from incompatible pointer type 357: warning: passing arg 2 of `cpumask_copy' from incompatible pointer type Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit fed99b1e86f5ff4f1b41e37264bb869da67d3174 Author: Grant Grundler Date: Mon Apr 20 04:28:22 2009 +0000 parisc: advertise PCI devs after "assign_resources" Alex Chiang asked me why PARISC was calling pci_bus_add_devices() and pci_bus_assign_resources() in the opposite order from everyone else. No reason and I couldn't see any data dependency. Patch below applies cleanly to 2.6.30-rc2. Later, I suspected the code worked only because no drivers would be loaded/ready until much later in the system initialization sequence. Tested "LBA" code on J6000 (32-bit) and A500 (64-bit SMP) with 2.6.30-rc2. Not tested with any Dino controllers. Not tested with PCI-PCI Bridge (TBD). Reported-by: Alex Chiang Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit 7d17e2763129ea307702fcdc91f6e9d114b65c2d Author: Helge Deller Date: Thu Apr 30 21:39:45 2009 +0000 parisc: fix ldcw inline assembler There are two reasons to expose the memory *a in the asm: 1) To prevent the compiler from discarding a preceeding write to *a, and 2) to prevent it from caching *a in a register over the asm. The change has had a few days testing with a SMP build of 2.6.22.19 running on a rp3440. This patch is about the correctness of the __ldcw() macro itself. The use of the macro should be confined to small inline functions to try to limit the effect of clobbering memory on GCC's optimization of loads and stores. Signed-off-by: Dave Anglin Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 4fb11781a044552dded5342e1a78cf92a74683db Author: Kyle McMartin Date: Sun Apr 5 02:53:47 2009 +0000 parisc: kill WARN in free_initmem when DEBUG_KERNEL Doing an IPI with local interrupts off triggers a warning. We don't need to be quite so ridiculously paranoid. Also, clean up a bit of the code a little. Signed-off-by: Kyle McMartin commit 692c14a5931341a37e4fbfca5fa96751187a108f Author: Bastian Blank Date: Sat Apr 4 20:54:26 2009 +0000 parisc: Remove casts from atomic macros The atomic operations on parisc are defined as macros. The macros includes casts which disallows the use of some syntax elements and produces error like this: net/phonet/pep.c: In function 'pipe_rcv_status': net/phonet/pep.c:262: error: lvalue required as left operand of assignment The patch removes this superfluous casts. Signed-off-by: Bastian Blank Signed-off-by: Kyle McMartin commit 071327ec9005e9a826d088d37021ed2c88e683f7 Author: Alexander Beregalov Date: Fri Apr 3 01:49:22 2009 +0000 parisc: remove CVS keywords Signed-off-by: Alexander Beregalov Acked-by: Matthew Wilcox Acked-by: Grant Grundler Signed-off-by: Kyle McMartin commit 8d2d00ddeff2c2d1164d96e2d1b53e45ceb528c8 Author: Alexander Beregalov Date: Fri Apr 3 12:08:54 2009 +0000 parisc: ccio-dma: fix build failure without procfs Fix this build error when CONFIG_PROC_FS is not set: drivers/parisc/ccio-dma.c:1574: error: 'ccio_proc_info_fops' undeclared Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit 17085a934592585bd878884dee04b850a367be10 Author: Alexander Beregalov Date: Fri Apr 3 13:33:32 2009 +0000 parisc: stifb: should depend on STI_CONSOLE Fix this build error when CONFIG_STI_CONSOLE is not set drivers/video/stifb.c:1337: undefined reference to `sti_get_rom' Signed-off-by: Alexander Beregalov Signed-off-by: Kyle McMartin commit 90eab5e09de20e8d991bbb11f6edfb573f906352 Author: Kyle McMartin Date: Mon Apr 27 08:29:12 2009 -0400 parisc: wire up preadv/pwritev syscalls Generic compat handlers look appropriate, so use those. Signed-off-by: Kyle McMartin commit 746a99a5af60ee676afa2ba469ccd1373493c7e7 Merge: 5291a12 bdae997 Author: Linus Torvalds Date: Thu Jul 2 16:54:07 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: fs/notify/inotify: decrement user inotify count on close commit 5291a12f0503e31e0b8e90ee8e4997d59c1c3aad Merge: c7cba06 68f5a38 Author: Linus Torvalds Date: Thu Jul 2 16:52:38 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: fix error message formatting Btrfs: fix use after free in btrfs_start_workers fail path Btrfs: honor nodatacow/sum mount options for new files Btrfs: update backrefs while dropping snapshot Btrfs: account for space we may use in fallocate Btrfs: fix the file clone ioctl for preallocated extents Btrfs: don't log the inode in file_write while growing the file commit c7cba0623fc17fe766063d492810632366790763 Merge: 405d7ca a222ad1 Author: Linus Torvalds Date: Thu Jul 2 16:52:25 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] cxgb3i: fix connection error when vlan is enabled [SCSI] FC transport: Locking fix for common-code FC pass-through patch [SCSI] zalon: fix oops on attach failure [SCSI] fnic: use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK [SCSI] fnic: remove redundant BUG_ONs and fix checks on unsigned [SCSI] ibmvscsi: Fix module load hang commit 405d7ca51597645f3be850574d6c10f01be11e8d Merge: 7c5371c 6a43e57 Author: Linus Torvalds Date: Thu Jul 2 16:51:09 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: (38 commits) intel-iommu: Don't keep freeing page zero in dma_pte_free_pagetable() intel-iommu: Introduce first_pte_in_page() to simplify PTE-setting loops intel-iommu: Use cmpxchg64_local() for setting PTEs intel-iommu: Warn about unmatched unmap requests intel-iommu: Kill superfluous mapping_lock intel-iommu: Ensure that PTE writes are 64-bit atomic, even on i386 intel-iommu: Make iommu=pt work on i386 too intel-iommu: Performance improvement for dma_pte_free_pagetable() intel-iommu: Don't free too much in dma_pte_free_pagetable() intel-iommu: dump mappings but don't die on pte already set intel-iommu: Combine domain_pfn_mapping() and domain_sg_mapping() intel-iommu: Introduce domain_sg_mapping() to speed up intel_map_sg() intel-iommu: Simplify __intel_alloc_iova() intel-iommu: Performance improvement for domain_pfn_mapping() intel-iommu: Performance improvement for dma_pte_clear_range() intel-iommu: Clean up iommu_domain_identity_map() intel-iommu: Remove last use of PHYSICAL_PAGE_MASK, for reserving PCI BARs intel-iommu: Make iommu_flush_iotlb_psi() take pfn as argument intel-iommu: Change aligned_size() to aligned_nrpages() intel-iommu: Clean up intel_map_sg(), remove domain_page_mapping() ... commit b3d254955fb5797232ec329b136c363aa4fdaa05 Author: Keith Packard Date: Wed Jun 24 23:09:15 2009 -0700 drm/i915: Adjust DisplayPort clocks to use 96MHz reference For some reason, the DP clocks were based off a 100MHz reference instead of the standard 96MHz reference. This caused some DP monitors to fail to lock to the signal. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 66d9e2102af038bcd3286a6efce83e1877e5997b Author: Matthias Kaehlcke Date: Sun Jun 28 11:19:39 2009 +0100 [ARM] 5576/1: Update kb9202_defconfig The default configuration file for the KwikByte kb9202 board was based on a 2.6.13-rc2 kernel and doesn't produce a bootable kernel. Update the configuration in order to produce a bootable image. Signed-off-by: Matthias Kaehlcke Signed-off-by: Russell King commit 15da4b1612d608a47e095439b3dd1d77ffe20e0c Author: Abhishek Kulkarni Date: Wed Jul 1 08:50:54 2009 +0000 net/9p: Fix crash due to bad mount parameters. It is not safe to use match_int without checking the token type returned by match_token (especially when the token type returned is Opt_err and args is empty). Fix it. Signed-off-by: Abhishek Kulkarni Signed-off-by: David S. Miller commit 887b5ea3683ce04966e35fa2e5fe215bedcde73c Author: Alexander Duyck Date: Wed Jul 1 13:38:26 2009 +0000 if_ether: add define for 1588 aka Timesync This patch adds ETH_P_1588 protocol ID define. Signed-off-by: Alexander Duyck Signed-off-by: David S. Miller commit 42caa074042e22f873c408a0d13be657b16192f1 Author: Wade Farnsworth Date: Wed Jul 1 13:00:34 2009 +0000 phylib: fixes for PHY_RESUMING state changes The PHY_HALTED state disables phydev->link, but the link will not be updated upon entering PHY_RESUMING. Add a call to phy_read_status() to update the link before entering PHY_RUNNING. If the link is not up at this point, enter the PHY_NOLINK state instead. Also, when transitioning from PHY_RESUMING to PHY_RUNNING, calls to netif_carrier_on() and phydev->adjust_link() are missing. Add the calls similar to the other transitions to PHY_RUNNING. Signed-off-by: Wade Farnsworth Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 67c38fc61af930fa03b042932b6b14fbf8126222 Author: Dhananjay Phadke Date: Wed Jul 1 11:41:43 2009 +0000 netxen: avoid frequent firmware reset Restrict firmware reset to following cases - o chip rev is NX2031 (firmare doesn't support heartbit). o firmware is dead. o previous attempt to init firmware had failed. o we have got newer file firmware. This speeds up module load tremendously (by upto 8 sec), also avoids downtime for NCSI (management) pass-thru traffic. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 98e31bb00983a5b6d638a31e4ff77e5ca1ccf93e Author: Dhananjay Phadke Date: Wed Jul 1 11:41:42 2009 +0000 netxen: fix the version code macro Correct firmware encoding is 8 bit major, 8 bit minor and 16 bit subversion. Flash has sizes rightly set, but original driver submission messed it leaving 16 bit major and 8 bit subversion. Also fix a infinite loop when cut-thru file firmware is invalid. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c56bd0c39ce31e694b6f32223c15bdd582263a3f Author: Tilman Schmidt Date: Wed Jul 1 11:20:57 2009 +0000 gigaset: drop pointless check Drop a sanity check which doesn't serve any useful purpose anymore. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit bceb0f126f25184eaec3f3c8f00c92b0d899e5de Author: Tilman Schmidt Date: Wed Jul 1 11:20:57 2009 +0000 gigaset: accept connection establishment messages in any order ISDN connection setup failed if the "connection active" and "B channel up" messages from the device arrived in a different order than expected. Modify the state machine to accept them in any order. Impact: bugfix Signed-off-by: Tilman Schmidt CC: stable Signed-off-by: David S. Miller commit 24b57c6988c5791628c89a8838910991abc9cc1e Author: Frederic Weisbecker Date: Thu Jul 2 20:14:35 2009 +0200 perf_counter tools: Display percents of hits in callchain with overhead colors This adds the use of colors to signal at a glance the important overhead thresholds in callchains hit rates. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246558475-10624-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1e11fd82d247e4e48a1d6c49402214434538d3fd Author: Frederic Weisbecker Date: Thu Jul 2 20:14:34 2009 +0200 perf_counter tools: Provide helper to print percents color Among perf annotate, perf report and perf top, we can find the common colored printing of percents according to the following rules: High overhead = > 5%, colored in red Mid overhead = > 0.5%, colored in green Low overhead = < 0.5%, default color Factorize these multiple checks in a single function named percent_color_fprintf() and also provide a get_percent_color() for sites which print percentages and other things at the same time. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246558475-10624-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c20ab37ef30f4a874cf27e84c12c73e584e6f5cc Author: Frederic Weisbecker Date: Thu Jul 2 20:14:33 2009 +0200 perf_counter tools: Set the minimum percent for callchains to be displayed Callchains output may become a burden on a trace because even rarely hit site are exposed. This can be too much information. Let the user set a threshold as a minimum percent of hits using the new pattern for the -c option: -c mode,min_percent Example: $ perf report -s sym -c flat,4 8.25% [k] copy_user_generic_string 4.19% copy_user_generic_string generic_file_aio_read do_sync_read vfs_read sys_pread64 system_call_fastpath pread64 5.39% [k] search_by_key 4.63% 0x00000000009e0a 2.36% [k] memcpy_c [...] $ perf report -s sym -c graph,2 8.25% [k] copy_user_generic_string | |--4.31%-- generic_file_aio_read | do_sync_read | vfs_read | | | --4.19%-- sys_pread64 | system_call_fastpath | pread64 | --3.24%-- generic_file_buffered_write __generic_file_aio_write_nolock generic_file_aio_write do_sync_write reiserfs_file_write vfs_write | --3.14%-- sys_pwrite64 system_call_fastpath __pwrite64 5.39% [k] search_by_key | --2.23%-- reiserfs_update_sd_size 4.63% 0x00000000009e0a 2.36% [k] memcpy_c [...] You can also omit it and it will default to 0. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246558475-10624-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ebbb16bffa646f853899ef3fdc0ac7abab888703 Author: Stefan Richter Date: Tue Jun 30 20:28:31 2009 +0200 ieee1394: sbp2: add support for disks >2 TB (and 16 bytes long CDBs) Increase the command ORB data structure to transport up to 16 bytes long CDBs (instead of 12 bytes), and tell the SCSI mid layer about it. This is notably necessary for READ CAPACITY(16) and friends, i.e. support of large disks. Signed-off-by: Stefan Richter commit af2719415a5ceae06f2a6d33e78b555e64697fc8 Author: Stefan Richter Date: Tue Jun 30 20:27:59 2009 +0200 firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs) Increase the command ORB data structure to transport up to 16 bytes long CDBs (instead of 12 bytes), and tell the SCSI mid layer about it. This is notably necessary for READ CAPACITY(16) and friends, i.e. support of large disks. Signed-off-by: Stefan Richter commit 7c5371c403abb29f01bc6cff6c5096abdf2dc524 Author: Yinghai Lu Date: Wed Jul 1 12:32:18 2009 -0700 x86: add boundary check for 32bit res before expand e820 resource to alignment fix hang with HIGHMEM_64G and 32bit resource. According to hpa and Linus, use (resource_size_t)-1 to fend off big ranges. Analyzed by hpa Reported-and-tested-by: Mikael Pettersson Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit 43644679a1e80f53e6e0155ab75b1093ba3c0365 Author: Linus Torvalds Date: Thu Jul 2 12:05:10 2009 -0700 x86: fix power-of-2 round_up/round_down macros These macros had two bugs: - the type of the mask was not correctly expanded to the full size of the argument being expanded, resulting in possible loss of high bits when mixing types. - the alignment argument was evaluated twice, despite the macro looking like a fancy function (but it really does need to be a macro, since it works on arbitrary integer types) Noticed by Peter Anvin, and with a fix that is a modification of his suggestion (bug noticed by Yinghai Lu). Cc: Peter Anvin Cc: Yinghai Lu Signed-off-by: Linus Torvalds commit 4eb3e4788b8a5e220a0aeb590f88c28850726ebe Author: Frederic Weisbecker Date: Thu Jul 2 17:58:21 2009 +0200 perf report: Add support for callchain graph output Currently, the printing of callchains is done in a single vertical level, this is the "flat" mode: 8.25% [k] copy_user_generic_string 4.19% copy_user_generic_string generic_file_aio_read do_sync_read vfs_read sys_pread64 system_call_fastpath pread64 This patch introduces a new "graph" mode which provides a hierarchical output of factorized paths recursively sorted: 8.25% [k] copy_user_generic_string | |--4.31%-- generic_file_aio_read | do_sync_read | vfs_read | | | |--4.19%-- sys_pread64 | | system_call_fastpath | | pread64 | | | --0.12%-- sys_read | system_call_fastpath | __read | |--3.24%-- generic_file_buffered_write | __generic_file_aio_write_nolock | generic_file_aio_write | do_sync_write | reiserfs_file_write | vfs_write | | | |--3.14%-- sys_pwrite64 | | system_call_fastpath | | __pwrite64 | | | --0.10%-- sys_write [...] The command line has then changed. By providing the -c option, the callchain will output in the flat mode by default. But you can override it: perf report -c graph or perf report -c flat You can also pass the abreviated mode: perf report -c g or perf report -c gra will both make use of the graph mode. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246550301-8954-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5a4b181721375700124513cdd9f97056e1c66675 Author: Frederic Weisbecker Date: Thu Jul 2 17:58:20 2009 +0200 perf_counter tools: Add new OPT_CALLBACK_DEFAULT option There is no predefined macro to create an option that can have a custom value or a default one if none is given. This patch provides a new helper OPT_CALLBACK_DEFAULT() which defines such kind of option. For example, considering an option -c, we want to get the default value in the following cases: perf command -c -d perf command -d -c And the foo value when it's given: perf command -c foo -d perf command -d -c foo That's also why PARSE_OPT_LASTARG_DEFAULT is extended here to support default values whatever the position of the option, not only in the end. Should it now be renamed to PARSE_OPT_ARG_DEFAULT ? Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo Cc: git@vger.kernel.org LKML-Reference: <1246550301-8954-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 14f4654cbd531d48651e005cf05907c14bddb193 Author: Frederic Weisbecker Date: Thu Jul 2 17:58:19 2009 +0200 perf_counter tools: Create new chain_for_each_child() iterator Iterating through children of a node in the callchain tree shows something that may be quite confusing at a first glance. The head is the children field of the parent and the list nodes are in the brothers field of the children. This is because the childs are linked to the parent as a list of "brothers" using the "children" list of the parent as a head: --------------- | Parent (head) |------------------------------------- --------------- | | | children | | | ----------- ----------- | | 1st child |---brother---| 2nd child |---brother----- ----------- ----------- This makes the following strange pattern often occuring: list_for_each_entry(child, &parent->children, brothers) { // do something with children } Abstract it to chain_for_each_child() to factorize and simplify this pattern. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246550301-8954-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 68f5a38c3ea4ae9cc7a40f86ff6d6d031583d93a Author: Hu Tao Date: Thu Jul 2 13:55:45 2009 -0400 Btrfs: fix error message formatting Make an error msg look nicer by inserting a space between number and word. Signed-off-by: Hu Tao Signed-off-by: Jiri Kosina Signed-off-by: Chris Mason commit 9b627e9bf49ebfeb060dfae0435bdba06cf27cb8 Author: Jiri Slaby Date: Thu Jul 2 13:50:58 2009 -0400 Btrfs: fix use after free in btrfs_start_workers fail path worker memory is already freed on one fail path in btrfs_start_workers, but is still dereferenced. Switch the dereference and kfree. Signed-off-by: Jiri Slaby Signed-off-by: Chris Mason commit 9427216476d4fa75103f39d4b228c47d56ba20da Author: Chris Mason Date: Thu Jul 2 12:26:06 2009 -0400 Btrfs: honor nodatacow/sum mount options for new files The btrfs attr patches unconditionally inherited the inode flags field without honoring nodatacow and nodatasum. This fix makes sure we properly record the nodatacow/sum mount options in new inodes. Signed-off-by: Chris Mason commit 2c47e605a91dde6b0514f689645e7ab336c8592a Author: Yan Zheng Date: Sat Jun 27 21:07:35 2009 -0400 Btrfs: update backrefs while dropping snapshot The new backref format has restriction on type of backref item. If a tree block isn't referenced by its owner tree, full backrefs must be used for the pointers in it. When a tree block loses its owner tree's reference, backrefs for the pointers in it should be updated to full backrefs. Current btrfs_drop_snapshot misses the code that updates backrefs, so it's unsafe for general use. This patch adds backrefs update code to btrfs_drop_snapshot. It isn't a problem in the restricted form btrfs_drop_snapshot is used today, but for general snapshot deletion this update is required. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit a970b0a16cc416a509d5ae8b1d70978664e6f4fe Author: Josef Bacik Date: Sat Jun 27 21:07:34 2009 -0400 Btrfs: account for space we may use in fallocate Using Eric Sandeen's xfstest for fallocate, you can easily trigger a ENOSPC panic on btrfs. This is because we do not account for data we may use when doing the fallocate. This patch fixes the problem by properly reserving space, and then just freeing it when we are done. The reservation stuff was made with delalloc in mind, so its a little crude for this case, but it keeps the box from panicing. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit c8a894d77de4a1e0a544577fd4eabc9aacd453a8 Author: Chris Mason Date: Sat Jun 27 21:07:03 2009 -0400 Btrfs: fix the file clone ioctl for preallocated extents commit f597bb19ccd034cbcf05e1194238e2c8d9505a8a Author: Chris Mason Date: Sat Jun 27 21:06:22 2009 -0400 Btrfs: don't log the inode in file_write while growing the file commit 1bc6f83813441d15a74dfa97966fb68fa1bdec76 Author: Joerg Roedel Date: Thu Jul 2 18:32:05 2009 +0200 amd-iommu: set evt_buf_size correctly The setting of this variable got lost during the suspend/resume implementation. But keeping this variable zero causes a divide-by-zero error in the interrupt handler. This patch fixes this. Signed-off-by: Joerg Roedel commit 4ebfc3dba59fb84b315ebb0059347dc9342a32f1 Author: Linus Walleij Date: Thu Jul 2 00:27:57 2009 +0100 [ARM] 5581/1: U300 clock updates This adds a few default locks to the clocks (the clocks were used before the locks were initialized by code), then renames the clocks a bit to fit with the latest driver names (some changed during review). Lastly it moves the initialization of the clock debugfs entry to module_init() initcall level since the debugfs isn't up in core_initcall(). Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 9be4b17c4c900f634ab9be3d13e116aa31edb7cb Author: Linus Walleij Date: Wed Jul 1 23:41:12 2009 +0100 [ARM] 5579/1: Updated U300 defconfig This defconfig update selects all the new U300 drivers merged for 2.6.31-rc1 in the merge window and add defaults for the new config options. It compiles and boots nicely from initramfs on the U300. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit dbe45d0ce394732cc06187e929697fc0fb16aa53 Merge: 4413c8d 8263907 Author: Takashi Iwai Date: Thu Jul 2 17:48:34 2009 +0200 Merge branch 'fix/oxygen' into for-linus * fix/oxygen: sound: virtuoso: fix Xonar D1/DX silence after resume commit 4413c8d2be530d7310feaceaae28350b316b2068 Merge: cfbc780 ff84847 Author: Takashi Iwai Date: Thu Jul 2 17:48:33 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Add quirk for HP 6930p ALSA: hda - Add missing static to patch_ca0110() commit cfbc78003e2b12e60a1d594ce192c30aea44eb2a Merge: dc8a4f3 3f5d346 Author: Takashi Iwai Date: Thu Jul 2 17:48:32 2009 +0200 Merge branch 'fix/caiaq' into for-linus * fix/caiaq: ALSA: usx2y - reparent sound device ALSA: snd_usb_caiaq: reparent sound device commit dc8a4f3fc3c32954c9fd46cb027b959380be2d65 Merge: 9ea5ca7 da9ff1f Author: Takashi Iwai Date: Thu Jul 2 17:48:31 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Only disable pxa2xx-i2s clocks if we enabled them ASoC: OMAP: fix OMAP1510 broken PCM pointer callback ASoC: remove BROKEN from Efika and pcm030 fabric drivers ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfig commit bdae997f44535ac4ebe1e055ffe59eeee946f453 Author: Keith Packard Date: Wed Jul 1 21:56:38 2009 -0700 fs/notify/inotify: decrement user inotify count on close The per-user inotify_devs value is incremented each time a new file is allocated, but never decremented. This led to inotify_init failing after a limited number of calls. Signed-off-by: Keith Packard Signed-off-by: Eric Paris commit 6a43e574c5af7d9bd084992b1c9c3cdbc3b6c0e9 Author: David Woodhouse Date: Thu Jul 2 12:02:34 2009 +0100 intel-iommu: Don't keep freeing page zero in dma_pte_free_pagetable() Check dma_pte_present() and only free the page if there _is_ one. Kind of surprising that there was no warning about this. Signed-off-by: David Woodhouse commit 75e6bf9638992dfc0fec9c3ca10444c8e0d6a638 Author: David Woodhouse Date: Thu Jul 2 11:21:16 2009 +0100 intel-iommu: Introduce first_pte_in_page() to simplify PTE-setting loops On Wed, 2009-07-01 at 16:59 -0700, Linus Torvalds wrote: > I also _really_ hate how you do > > (unsigned long)pte >> VTD_PAGE_SHIFT == > (unsigned long)first_pte >> VTD_PAGE_SHIFT Kill this, in favour of just looking to see if the incremented pte pointer has 'wrapped' onto the next page. Which means we have to check it _after_ incrementing it, not before. Signed-off-by: David Woodhouse commit 7a6a3a086fe60bb3b739f66e47dc5bbc8f530d32 Author: Joerg Roedel Date: Thu Jul 2 12:23:23 2009 +0200 amd-iommu: handle alias entries correctly in init code An alias entry in the ACPI table means that the device can send requests to the IOMMU with both device ids, its own and the alias. This is not handled properly in the ACPI init code. This patch fixes the issue. Signed-off-by: Joerg Roedel commit 3f5d3465be8f6e04f43d9b6d543fe28d4be07d78 Author: Takashi Iwai Date: Thu Jul 2 11:51:44 2009 +0200 ALSA: usx2y - reparent sound device Fix the parent device to be the USB interface, not the USB device. A similiar commit like 563c2bf59d392357bcc1d99642933cc88c687964. Signed-off-by: Takashi Iwai commit 563c2bf59d392357bcc1d99642933cc88c687964 Author: Daniel Mack Date: Thu Jul 2 10:46:35 2009 +0200 ALSA: snd_usb_caiaq: reparent sound device The sound device instance needs to be a child of the USB interface, not the USB device. Newer udev versions pay attention to that. Signed-off-by: Daniel Mack Reported-by: Lennart Poettering Signed-off-by: Takashi Iwai commit 826390796d09444b93e1f957582f8970ddfd9b3d Author: Clemens Ladisch Date: Thu Jul 2 08:31:30 2009 +0200 sound: virtuoso: fix Xonar D1/DX silence after resume When resuming, we better take the DACs out of the reset state before trying to use them. Reference: kernel bug #13599 http://bugzilla.kernel.org/show_bug.cgi?id=13599 Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 251e1e44b97852aa5e53e71c4b47e55b2dfd054e Author: Ingo Molnar Date: Thu Jul 2 08:54:01 2009 +0200 x86: Fix printk call in print_local_apic() Instead of this: [ 75.690022] <7>printing local APIC contents on CPU#0/0: [ 75.704406] ... APIC ID: 00000000 (0) [ 75.707905] ... APIC VERSION: 00060015 [ 75.722551] ... APIC TASKPRI: 00000000 (00) [ 75.725473] ... APIC PROCPRI: 00000000 [ 75.728592] ... APIC LDR: 00000001 [ 75.742137] ... APIC SPIV: 000001ff [ 75.744101] ... APIC ISR field: [ 75.746648] 0123456789abcdef0123456789abcdef [ 75.746649] <7>00000000000000000000000000000000 Improve the code to be saner and simpler and just print out the bitfield in a single line using hexa values - not as a (rather pointless) binary bitfield. Partially reused Linus's initial fix for this. Reported-and-Tested-by: Yinghai Lu Signed-off-by: Yinghai Lu Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <4A4C43BC.90506@kernel.org> Signed-off-by: Ingo Molnar commit e1af3aec3e2e7d21d4b3054323779d478c19d907 Author: Xiao Guangrong Date: Wed Jul 1 16:50:25 2009 +0800 tracing: Fix trace_print_seq() We will lose something if trace_seq->buffer[0] is 0, because the copy length is calculated by strlen() in seq_puts(), so using seq_write() instead of seq_puts(). There have a example: after reboot: # echo kmemtrace > current_tracer # echo 0 > options/kmem_minimalistic # cat trace # tracer: kmemtrace # # Nothing is exported, because the first byte of trace_seq->buffer[ ] is KMEMTRACE_USER_ALLOC. ( the value of KMEMTRACE_USER_ALLOC is zero, seeing kmemtrace_print_alloc_user() in kernel/trace/kmemtrace.c) Signed-off-by: Xiao Guangrong Acked-by: Frederic Weisbecker Acked-by: Pekka Enberg Acked-by: Eduard - Gabriel Munteanu Cc: Steven Rostedt LKML-Reference: <4A4B2351.5010300@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 429764873cf3fc3e73142872a674bb27cda589c1 Author: Mike Galbraith Date: Thu Jul 2 08:09:46 2009 +0200 perf_counter tools: Enable kernel module symbol loading in tools Add the -m/--modules option to perf report and perf annotate, which enables live module symbol/image loading. To be used with -k/--vmlinux. (Also give perf annotate a -P/--full-paths option.) Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246514986.13293.48.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 6cfcc53ed4f3ecb9319e73a03f34f1eddcb644dd Author: Mike Galbraith Date: Thu Jul 2 08:08:36 2009 +0200 perf_counter tools: Connect module support infrastructure to symbol loading infrastructure Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246514916.13293.46.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 208b4b4a59351011b7f212e273f2b7bc47a9c482 Author: Mike Galbraith Date: Thu Jul 2 08:07:10 2009 +0200 perf_counter tools: Add infrastructure to support loading of kernel module symbols Add infrastructure for module path discovery and section load addresses. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246514830.13293.44.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 9974f496782b7612e36a143bedda858f1cb953d4 Author: Mike Galbraith Date: Thu Jul 2 08:05:58 2009 +0200 perf_counter tools: Make symbol loading consistently return number of loaded symbols perf_counter tools: Make symbol loading consistently return number of loaded symbols. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246514758.13293.42.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 42ca4fb69126dd9d0e25112edca1cacf846aa5c3 Author: David Howells Date: Thu Jul 2 00:46:21 2009 +0100 FRV: Add basic performance counter support Add basic performance counter support to the FRV arch. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 00460f41fffc0435dbb6ab4b058a190163d57ce6 Author: David Howells Date: Thu Jul 2 00:46:16 2009 +0100 FRV: Implement atomic64_t Implement atomic64_t and its ops for FRV. Tested with the following patch: diff --git a/arch/frv/kernel/setup.c b/arch/frv/kernel/setup.c index 55e4fab..086d50d 100644 --- a/arch/frv/kernel/setup.c +++ b/arch/frv/kernel/setup.c @@ -746,6 +746,52 @@ static void __init parse_cmdline_early(char *cmdline) } /* end parse_cmdline_early() */ +static atomic64_t xxx; + +static void test_atomic64(void) +{ + atomic64_set(&xxx, 0x12300000023LL); + + mb(); + BUG_ON(atomic64_read(&xxx) != 0x12300000023LL); + mb(); + if (atomic64_inc_return(&xxx) != 0x12300000024LL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != 0x12300000024LL); + mb(); + if (atomic64_sub_return(0x36900000050LL, &xxx) != -0x2460000002cLL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != -0x2460000002cLL); + mb(); + if (atomic64_dec_return(&xxx) != -0x2460000002dLL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != -0x2460000002dLL); + mb(); + if (atomic64_add_return(0x36800000001LL, &xxx) != 0x121ffffffd4LL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != 0x121ffffffd4LL); + mb(); + if (atomic64_cmpxchg(&xxx, 0x123456789abcdefLL, 0x121ffffffd4LL) != 0x121ffffffd4LL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != 0x121ffffffd4LL); + mb(); + if (atomic64_cmpxchg(&xxx, 0x121ffffffd4LL, 0x123456789abcdefLL) != 0x121ffffffd4LL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != 0x123456789abcdefLL); + mb(); + if (atomic64_xchg(&xxx, 0xabcdef123456789LL) != 0x123456789abcdefLL) + BUG(); + mb(); + BUG_ON(atomic64_read(&xxx) != 0xabcdef123456789LL); + mb(); +} + /*****************************************************************************/ /* * @@ -845,6 +891,8 @@ void __init setup_arch(char **cmdline_p) // asm volatile("movgs %0,timerd" :: "r"(10000000)); // __set_HSR(0, __get_HSR(0) | HSR0_ETMD); + test_atomic64(); + } /* end setup_arch() */ #if 0 Note that this doesn't cover all the trivial wrappers, but does cover all the substantial implementations. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 1ae8c0a56eeb3ed358b78ccadd024d6b721f26bc Author: Keith Packard Date: Sun Jun 28 15:42:17 2009 -0700 drm/i915: Make driver less chatty Convert many printk calls to DRM_DEBUG calls to reduce kernel log noise for normal activities. Switch other printk calls to DRM_ERROR or DRM_INFO. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 956dba3caaf66b84fe5f6180e0e4dd03902c7980 Author: Andy Whitcroft Date: Wed Jul 1 15:20:59 2009 +0100 drm/i915: fix up a raw 64bit divide We are seeing compilation failures on i386 in some environments due to an undefined reference as below: ERROR: "__udivdi3" [drivers/gpu/drm/i915/i915.ko] undefined! This is generated due to a raw 64 bit divide in the i915 driver. Fix up this raw divide. Signed-off-by: Andy Whitcroft Acked-by: Jesse Barnes Signed-off-by: Eric Anholt commit daf4219dbcbb2efcd638fcd3c29a622e1c18cc38 Author: Dan Williams Date: Wed Jul 1 16:12:53 2009 -0700 dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA On HIGHMEM64G systems dma_addr_t is known to be larger than (void *) which precludes async_xor from performing dma address conversions by reusing the input parameter address list. However, other parts of the dmaengine infrastructure do not suffer this constraint, so the HIGHMEM64G restriction can be down-levelled. Signed-off-by: Dan Williams commit cc0bad7552308e8905d6ea56e6b7811fa67e716d Author: Jeff Layton Date: Thu Jun 25 00:56:52 2009 -0400 cifs: add new cifs_iget function and convert unix codepath to use it cifs: add new cifs_iget function and convert unix codepath to use it In order to unify some codepaths, introduce a common cifs_fattr struct for storing inode attributes. The different codepaths (unix, legacy, normal, etc...) can fill out this struct with inode info. It can then be passed as an arg to a common set of routines to get and update inodes. Add a new cifs_iget function that uses iget5_locked to identify inodes. This will compare inodes based on the uniqueid value in a cifs_fattr struct. Rather than filling out an already-created inode, have cifs_get_inode_info_unix instead fill out cifs_fattr and hand that off to cifs_iget. cifs_iget can then properly look for hardlinked inodes. On the readdir side, add a new cifs_readdir_lookup function that spawns populated dentries. Redefine FILE_UNIX_INFO so that it's basically a FILE_UNIX_BASIC_INFO that has a few fields wrapped around it. This allows us to more easily use the same function for filling out the fattr as the non-readdir codepath. With this, we should then have proper hardlink detection and can eventually get rid of some nasty CIFS-specific hacks for handing them. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit 46b952a3c3a94afa339bd4961a4f3d1482436599 Author: Matthew Wilcox Date: Wed Jul 1 14:24:30 2009 -0700 PCI: Fix IRQ swizzling for ARI-enabled devices For many purposes, including interrupt-swizzling, devices with ARI enabled behave as if they have one device (number 0) and 256 functions. This probably hasn't bitten us in practice because all ARI devices I've seen are also IOV devices, and IOV devices are required to use MSI. This isn't guaranteed, and there are legitimate reasons to use ARI without IOV, and hence potentially use pin-based interrupts. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit a92bef0f216bbf3d05c0c0709ea02e267f2b920e Author: Frederic Weisbecker Date: Wed Jul 1 21:02:10 2009 +0200 perf stat: Handle pipe read failures in perf stat Building builtin-stat.c reports the following errors: cc1: warnings being treated as errors builtin-stat.c: In function ‘run_perf_stat’: builtin-stat.c:242: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result builtin-stat.c:255: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result make: *** [builtin-stat.o] Erreur 1 This patch handles the possible pipe read failures. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246474930-6088-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0406ca6d8e849d9dd027c8cb6791448e81411aef Author: Frederic Weisbecker Date: Wed Jul 1 21:02:09 2009 +0200 perf_counter: Ignore the nmi call frames in the x86-64 backtraces About every callchains recorded with perf record are filled up including the internal perfcounter nmi frame: perf_callchain perf_counter_overflow intel_pmu_handle_irq perf_counter_nmi_handler notifier_call_chain atomic_notifier_call_chain notify_die do_nmi nmi We want ignore this frame as it's not interesting for instrumentation. To solve this, we simply ignore every frames from nmi context. New example of "perf report -s sym -c" after this patch: 9.59% [k] search_by_key 4.88% search_by_key reiserfs_read_locked_inode reiserfs_iget reiserfs_lookup do_lookup __link_path_walk path_walk do_path_lookup user_path_at vfs_fstatat vfs_lstat sys_newlstat system_call_fastpath __lxstat 0x406fb1 3.19% search_by_key search_by_entry_key reiserfs_find_entry reiserfs_lookup do_lookup __link_path_walk path_walk do_path_lookup user_path_at vfs_fstatat vfs_lstat sys_newlstat system_call_fastpath __lxstat 0x406fb1 [...] For now this patch only solves the problem in x86-64. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246474930-6088-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5da50258584469ddfee6545feb4eb2252a8d7e7b Author: Arnaldo Carvalho de Melo Date: Wed Jul 1 14:46:08 2009 -0300 perf_counter tools: Share list.h with the kernel The copy we were using came from another copy I did for the dwarves (pahole) package, that came from the kernel years ago. The only function that is used by the perf tools and that isn't in the kernel is list_del_range, that I'm leaving in the perf tools only for now. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090701174608.GA5823@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 43cbcd8acb4c992cbd22d1ec8a08c0591be5d719 Author: Arnaldo Carvalho de Melo Date: Wed Jul 1 12:28:37 2009 -0300 perf_counter tools: Share rbtree.with the kernel The tools/perf/util/rbtree.c copy already drifted by three csets: 4b324126e0c6c3a5080ca3ec0981e8766ed6f1ee 4c60117811171d867d4f27f17ea07d7419d45dae 16c047add3ceaf0ab882e3e094d1ec904d02312d So remove the copy and use the lib/rbtree.c directly, sharing the source code while still generating a separate object file, since tools/perf uses a far more agressive -O6 switch. Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090701152837.GG15682@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 7766a3fb905f0b078b05f5d6a6be8df4c64b9f51 Author: David Woodhouse Date: Wed Jul 1 20:27:03 2009 +0100 intel-iommu: Use cmpxchg64_local() for setting PTEs Signed-off-by: David Woodhouse commit 85b98276f2ffa66b25ae6328b00bfadfd74b74e7 Author: David Woodhouse Date: Wed Jul 1 19:27:53 2009 +0100 intel-iommu: Warn about unmatched unmap requests This would have found the bug in i386 pci_unmap_addr() a long time ago. We shouldn't just silently return without doing anything. Signed-off-by: David Woodhouse commit 5a475ce4692f668b2615ae4ea1365c7c2d93f1dd Merge: d960eea 1c6a307 Author: Linus Torvalds Date: Wed Jul 1 11:46:30 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: LCDC dcache flush for deferred io sh: Fix compiler error and include the definition of IS_ERR_VALUE sh: re-add LCDC fbdev support to the Migo-R defconfig sh: fix se7724 ceu names sh: ms7724se: Enable sh_eth in defconfig. arch/sh/boards/mach-se/7206/io.c: Remove unnecessary semicolons sh: ms7724se: Add sh_eth support nommu: provide follow_pfn(). sh: Kill off unused DEBUG_BOOTMEM symbol. perf_counter tools: add cpu_relax()/rmb() definitions for sh. sh64: Hook up page fault events for software perf counters. sh: Hook up page fault events for software perf counters. sh: make set_perf_counter_pending() static inline. clocksource: sh_tmu: Make undefined TCOR behaviour less undefined. commit 12682a971160959072c4970da9b7778709f60bc9 Author: ling.ma@intel.com Date: Tue Jun 30 11:35:35 2009 +0800 drm/i915: enable sdvo lvds scaling function. Currently we implemented basic sdvo lvds function, But except for sdvo lvds fixed mode, we can not switch to other modes, otherwise display get black. The patch handle three operations to enable sdvo lvds. At first duplicate sdvo fixed mode for adjustment, then according to fixed mode line valid all modes, at last adjust input mode to fit our requirement. Acked by Li Peng Signed-off-by: Ma Ling Reviewed-by: Ian Romanick Signed-off-by: Eric Anholt commit 206a73c102fc480ba072a9388bc2142c303113aa Author: David Woodhouse Date: Wed Jul 1 19:30:28 2009 +0100 intel-iommu: Kill superfluous mapping_lock Since we're using cmpxchg64() anyway (because that's the only way to do an atomic 64-bit store on i386), we might as well ditch the extra locking and just use cmpxchg64() to ensure that we don't add the page twice. Signed-off-by: David Woodhouse commit 1c6a307a54668eda556f499c94e75086aaf8f80f Author: Paul Mundt Date: Wed Jul 1 06:50:31 2009 +0000 sh: LCDC dcache flush for deferred io Since writenotify on uncached vmas is unsupported in 2.6.31, live with cached framebuffer memory in the deferred io case for now and flush the dcache before forcing refresh. Signed-off-by: Paul Mundt Acked-by: Magnus damm commit 34e19ada994fb9cb3d11873f2b734602e2135f3a Author: Matt Fleming Date: Wed Jul 1 18:14:18 2009 +0000 sh: Fix compiler error and include the definition of IS_ERR_VALUE When arch/sh/include/asm/syscall_32.h is included from a file that doesn't also include linux/err.h the following error is produced, In file included from /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/syscall.h:5, from kernel/trace/trace_syscalls.c:3: /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/syscall_32.h: In function 'syscall_get_error': /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/syscall_32.h:28: error: implicit declaration of function 'IS_ERR_VALUE' make[2]: *** [kernel/trace/trace_syscalls.o] Error 1 make[1]: *** [kernel/trace] Error 2 make: *** [kernel] Error 2 Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit d960eea974f5e500c0dcb95a934239cc1f481cfd Author: Randy Dunlap Date: Mon Jun 29 14:54:11 2009 -0700 kernel-doc: move ignoring kmemcheck Somehow I managed to generate a diff that put these 2 lines into the wrong function: should have been in dump_struct() instead of in dump_enum(). Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 5c5d4e8eafd0e54c2134c23296b1d7996c304fe1 Merge: fa172f4 c276aca Author: Linus Torvalds Date: Wed Jul 1 11:25:46 2009 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: mtd: nand: fix build failure and incorrect return from omap_wait() mtd: Use BLOCK_NIL consistently in NFTL/INFTL mtd: m25p80 timeout too short for worst-case m25p16 devices mtd: atmel_nand: Fix typo s/parititions/partitions/ mtd: cmdlineparts: Use 64-bit format when printing a debug message. mtd: maps: Remove BUS_ID_SIZE from integrator_flash jffs2: fix another potential leak on error path in scan.c commit c85994e4771025ef2a66533eb1a4c6c2217b9cda Author: David Woodhouse Date: Wed Jul 1 19:21:24 2009 +0100 intel-iommu: Ensure that PTE writes are 64-bit atomic, even on i386 Signed-off-by: David Woodhouse commit fa172f40068b50f0ad7ae352a2466d0acc579e00 Merge: a15a519 3b463ae Author: Linus Torvalds Date: Wed Jul 1 11:20:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: invalidation reverse calls fuse: allow umask processing in userspace fuse: fix bad return value in fuse_file_poll() fuse: fix return value of fuse_dev_write() commit 6ff4fd05676bc5b5c930bef25901e489f7843660 Author: ling.ma@intel.com Date: Thu Jun 25 10:59:22 2009 +0800 drm/i915: Set SSC frequency for 8xx chips correctly All 8xx class chips have the 66/48 split, not just 855. Signed-off-by: Ma Ling Reviewed-by: Jesse Barnes Signed-off-by: Eric Anholt commit a15a519ed6e5e644f5a33c213c00b0c1d3cfe683 Author: David Woodhouse Date: Wed Jul 1 18:49:06 2009 +0100 Fix iommu address space allocation This fixes kernel.org bug #13584. The IOVA code attempted to optimise the insertion of new ranges into the rbtree, with the unfortunate result that some ranges just didn't get inserted into the tree at all. Then those ranges would be handed out more than once, and things kind of go downhill from there. Introduced after 2.6.25 by ddf02886cbe665d67ca750750196ea5bf524b10b ("PCI: iova RB tree setup tweak"). Signed-off-by: David Woodhouse Cc: mark gross Cc: Andrew Morton Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 788d84bba47ea3eb377f7a3ae4fd1ee84b84877b Author: David Woodhouse Date: Wed Jul 1 18:34:52 2009 +0100 Fix pci_unmap_addr() et al on i386. We can run a 32-bit kernel on boxes with an IOMMU, so we need pci_unmap_addr() etc. to work -- without it, drivers will leak mappings. To be honest, this whole thing looks like it's more pain than it's worth; I'm half inclined to remove the no-op #else case altogether. But this is the minimal fix, which just does the right thing if CONFIG_DMAR is set. Signed-off-by: David Woodhouse Cc: stable@kernel.org [ for 2.6.30 ] Signed-off-by: Linus Torvalds commit 7662c8bd6545c12ac7b2b39e4554c3ba34789c50 Author: Shaohua Li Date: Fri Jun 26 11:23:55 2009 +0800 drm/i915: add FIFO watermark support This patch from jbarnes and myself adds FIFO watermark control to the driver. This is needed for both power saving features on new platforms with the so-called "big FIFO" and for controlling FIFO allocation between pipes in multi-head configurations. It's also necessary infrastructure to support things like framebuffer compression and configuration supportability checks (i.e. checking a configuration against available bandwidth). Signed-off-by: Jesse Barnes Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit e2dbe12557d85d81f4527879499f55681c3cca4f Author: Amerigo Wang Date: Wed Jul 1 01:06:26 2009 -0400 elf: fix one check-after-use Check before use it. Signed-off-by: WANG Cong Cc: Alexander Viro Cc: David Howells Acked-by: Roland McGrath Acked-by: James Morris Signed-off-by: Linus Torvalds commit 3238c0c4d68d9a9022b411a11a4b933fbdb53a14 Author: David Woodhouse Date: Wed Jul 1 18:56:16 2009 +0100 intel-iommu: Make iommu=pt work on i386 too Signed-off-by: David Woodhouse commit 63eeaf38251183ec2b1caee11e4a2c040cb5ce6c Author: Jesse Barnes Date: Thu Jun 18 16:56:52 2009 -0700 drm/i915: enable error detection & state collection This patch enables error detection by enabling several types of error interrupts. When an error interrupt is received, the interrupt handler captures the error state; hopefully resulting in an accurate set of error data (error type, active head pointer, etc.). The new record is then available from sysfs. The current code will also dump the error state to the system log. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 2027bd9f9290ede1664d5fa18b3fbd6c5f7401d3 Merge: 544ae5f b706f64 Author: Linus Torvalds Date: Wed Jul 1 10:41:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: remove redundant check for NULL cfqq in cfq_set_request() blocK: Restore barrier support for md and probably other virtual devices. block: get rid of queue-private command filter block: Create bip slabs with embedded integrity vectors cfq-iosched: get rid of the need for __GFP_NOFAIL in cfq_find_alloc_queue() cfq-iosched: move cfqq initialization out of cfq_find_alloc_queue() Trivial typo fixes in Documentation/block/data-integrity.txt. commit da9ff1f796e81976935407251815838bef9868d4 Author: Mark Brown Date: Wed Jul 1 18:23:26 2009 +0100 ASoC: Only disable pxa2xx-i2s clocks if we enabled them The clock API can't cope with unbalanced enables and disables and we only enable in hw_params() but try to disable in shutdown. Signed-off-by: Mark Brown commit 544ae5f96e14998cabc637fa20cf409eb92a0dd0 Merge: 7b85425 e62e58a Author: Linus Torvalds Date: Wed Jul 1 10:31:26 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: use interruptible wait when duration is controlled by userspace. md/raid5: suspend shouldn't affect read requests. md: tidy up error paths in md_alloc md: fix error path when duplicate name is found on md device creation. md: avoid dereferencing NULL pointer when accessing suspend_* sysfs attributes. md: Use new topology calls to indicate alignment and I/O sizes commit 7b85425fac72588674d5c71604af618f690c91d7 Merge: 57d81f6 f8a68e7 Author: Linus Torvalds Date: Wed Jul 1 10:29:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits) Revert "ipv4: arp announce, arp_proxy and windows ip conflict verification" igb: return PCI_ERS_RESULT_DISCONNECT on permanent error e1000e: io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT e1000: return PCI_ERS_RESULT_DISCONNECT on permanent error e1000: fix unmap bug igb: fix unmap length bug ixgbe: fix unmap length bug ixgbe: Fix link capabilities during adapter resets ixgbe: Fix device capabilities of 82599 single speed fiber NICs. ixgbe: Fix SFP log messages usbnet: Remove private stats structure usbnet: Use netdev stats structure smsc95xx: Use netdev stats structure rndis_host: Use netdev stats structure net1080: Use netdev stats structure dm9601: Use netdev stats structure cdc_eem: Use netdev stats structure ipv4: Fix fib_trie rebalancing, part 3 bnx2x: Fix the behavior of ethtool when ONBOOT=no sctp: xmit sctp packet always return no route error ... commit 57d81f6f393b245894ca0cd828f80ce7e3294f39 Author: Ingo Molnar Date: Wed Jul 1 09:43:53 2009 +0200 kmemleak: Fix scheduling-while-atomic bug One of the kmemleak changes caused the following scheduling-while-holding-the-tasklist-lock regression on x86: BUG: sleeping function called from invalid context at mm/kmemleak.c:795 in_atomic(): 1, irqs_disabled(): 0, pid: 1737, name: kmemleak 2 locks held by kmemleak/1737: #0: (scan_mutex){......}, at: [] kmemleak_scan_thread+0x45/0x86 #1: (tasklist_lock){......}, at: [] kmemleak_scan+0x1a9/0x39c Pid: 1737, comm: kmemleak Not tainted 2.6.31-rc1-tip #59266 Call Trace: [] ? __debug_show_held_locks+0x1e/0x20 [] __might_sleep+0x10a/0x111 [] scan_yield+0x17/0x3b [] scan_block+0x39/0xd4 [] kmemleak_scan+0x1bb/0x39c [] ? kmemleak_scan_thread+0x0/0x86 [] kmemleak_scan_thread+0x4a/0x86 [] kthread+0x6e/0x73 [] ? kthread+0x0/0x73 [] kernel_thread_helper+0x7/0x10 kmemleak: 834 new suspected memory leaks (see /sys/kernel/debug/kmemleak) The bit causing it is highly dubious: static void scan_yield(void) { might_sleep(); if (time_is_before_eq_jiffies(next_scan_yield)) { schedule(); next_scan_yield = jiffies + jiffies_scan_yield; } } It called deep inside the codepath and in a conditional way, and that is what crapped up when one of the new scan_block() uses grew a tasklist_lock dependency. This minimal patch removes that yielding stuff and adds the proper cond_resched(). The background scanning thread could probably also be reniced to +10. Signed-off-by: Ingo Molnar Acked-by: Pekka Enberg Signed-off-by: Linus Torvalds commit ff84847171508a3c76eb7e483204d1be7738729b Author: Takashi Iwai Date: Wed Jul 1 18:08:01 2009 +0200 ALSA: hda - Add quirk for HP 6930p Added a quirk model=laptop for HP 6930p (103c:30dc) with AD1984A codec. Signed-off-by: Takashi Iwai commit 76c06927f2a78143763dcff9b4c362d15eb29cc2 Author: Jaswinder Singh Rajput Date: Wed Jul 1 19:54:23 2009 +0530 x86: Declare check_efer() before it gets used This sparse warning: arch/x86/mm/init.c:83:16: warning: symbol 'check_efer' was not declared. Should it be static? triggers because check_efer() is not decalared before using it. asm/proto.h includes the declaration of check_efer(), so including asm/proto.h to fix that - this also addresses the sparse warning. Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton LKML-Reference: <1246458263.6940.22.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit b25ae679f613ed04aaf6ccbfdb9122fce668e4bb Author: Jaswinder Singh Rajput Date: Wed Jul 1 19:53:14 2009 +0530 x86: Mark device_nb as static and fix NULL noise This sparse warning: arch/x86/kernel/amd_iommu.c:1195:23: warning: symbol 'device_nb' was not declared. Should it be static? triggers because device_nb is global but is only used in a single .c file. change device_nb to static to fix that - this also addresses the sparse warning. This sparse warning: arch/x86/kernel/amd_iommu.c:1766:10: warning: Using plain integer as NULL pointer triggers because plain integer 0 is used in place of a NULL pointer. change 0 to NULL to fix that - this also address the sparse warning. Signed-off-by: Jaswinder Singh Rajput Cc: Joerg Roedel LKML-Reference: <1246458194.6940.20.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit 73c24cb86c51ff6445b292d9914d31236204393b Author: Jaswinder Singh Rajput Date: Wed Jul 1 18:36:18 2009 +0530 perf list: Add cache events After: $ ./perf list List of pre-defined events (to be used in -e): cpu-cycles OR cycles [Hardware event] instructions [Hardware event] cache-references [Hardware event] cache-misses [Hardware event] branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cpu-clock [Software event] task-clock [Software event] page-faults OR faults [Software event] minor-faults [Software event] major-faults [Software event] context-switches OR cs [Software event] cpu-migrations OR migrations [Software event] L1-d$-loads [Hardware cache event] L1-d$-load-misses [Hardware cache event] L1-d$-stores [Hardware cache event] L1-d$-store-misses [Hardware cache event] L1-d$-prefetches [Hardware cache event] L1-d$-prefetch-misses [Hardware cache event] L1-i$-loads [Hardware cache event] L1-i$-load-misses [Hardware cache event] L1-i$-prefetches [Hardware cache event] L1-i$-prefetch-misses [Hardware cache event] LLC-loads [Hardware cache event] LLC-load-misses [Hardware cache event] LLC-stores [Hardware cache event] LLC-store-misses [Hardware cache event] LLC-prefetches [Hardware cache event] LLC-prefetch-misses [Hardware cache event] dTLB-loads [Hardware cache event] dTLB-load-misses [Hardware cache event] dTLB-stores [Hardware cache event] dTLB-store-misses [Hardware cache event] dTLB-prefetches [Hardware cache event] dTLB-prefetch-misses [Hardware cache event] iTLB-loads [Hardware cache event] iTLB-load-misses [Hardware cache event] branch-loads [Hardware cache event] branch-load-misses [Hardware cache event] rNNN [raw hardware event descriptor] Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1246453578.3072.1.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 44973998a111dfda09b952aa0f27cad326a97793 Author: Jaswinder Singh Rajput Date: Wed Jul 1 17:49:38 2009 +0530 x86: Remove double declaration of MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1 MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1 is already declared in msr-index.h. Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1246450778.6940.8.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit b9ebdcc0ce1c676ebf5dc4f6df6b440d8fcf88ab Author: Jaswinder Singh Rajput Date: Wed Jul 1 15:05:09 2009 +0530 perf stat: Define MATCH_EVENT for easy attr checking MATCH_EVENT is useful: 1. for multiple attrs checking 2. avoid repetition of PERF_TYPE_ and PERF_COUNT_ and save space 3. avoids line breakage Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1246440909.3403.5.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit f37a291c527c954df4da568de718ebb36b8261c0 Author: Ingo Molnar Date: Wed Jul 1 12:37:06 2009 +0200 perf_counter tools: Add more warnings and fix/annotate them Enable -Wextra. This found a few real bugs plus a number of signed/unsigned type mismatches/uncleanlinesses. It also required a few annotations All things considered it was still worth it so lets try with this enabled for now. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit b706f64281b24d8b1fdc8ae883700131d365c412 Author: Shan Wei Date: Wed Jul 1 12:41:14 2009 +0200 cfq-iosched: remove redundant check for NULL cfqq in cfq_set_request() With the changes for falling back to an oom_cfqq, we never fail to find/allocate a queue in cfq_get_queue(). So remove the check. Signed-off-by: Shan Wei Signed-off-by: Jens Axboe commit 3f1f7cf08ddf10ef7fbf06d881582c95b9747f4e Author: Joe Perches Date: Wed Jul 1 11:32:10 2009 +0200 netfilter: add netfilter git to MAINTAINERS Signed-off-by: Joe Perches Signed-off-by: Patrick McHardy commit a70c352a37671fe1ebcbd317b439aa4760f4ccb7 Author: Pekka Enberg Date: Wed Jul 1 11:51:18 2009 +0300 xen: Use kcalloc() in xen_init_IRQ() The init_IRQ() function is now called with slab allocator initialized. Therefore, we must not use the bootmem allocator in xen_init_IRQ(). Fixes the following boot-time warning: ------------[ cut here ]------------ WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x27/0x45() Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.30 #1 Call Trace: [] ? warn_slowpath_common+0x73/0xb0 [] ? pvclock_clocksource_read+0x49/0x90 [] ? alloc_arch_preferred_bootmem+0x27/0x45 [] ? ___alloc_bootmem_nopanic+0x39/0xc9 [] ? ___alloc_bootmem+0x9/0x2f [] ? xen_init_IRQ+0x25/0x61 [] ? start_kernel+0x1b5/0x29e ---[ end trace 4eaa2a86a8e2da22 ]--- Acked-by: Jeremy Fitzhardinge Tested-by: Christian Kujau Reported-by: Christian Kujau Signed-off-by: Pekka Enberg Cc: lists@nerdbynature.de Cc: jeremy.fitzhardinge@citrix.com LKML-Reference: <1246438278.22417.28.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 88a69dfbc6ab1e3b51bba8c9103055e21089ebb9 Author: Ingo Molnar Date: Wed Jul 1 11:17:20 2009 +0200 perf report: Fix HV bit mismerge Fix: builtin-report.c: In function ‘hist_entry__add’: builtin-report.c:1015: error: case label not within a switch statement builtin-report.c:1017: error: break statement not within loop or switch Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit db64f680ba4b5c56c4be59f0698000df89ff0281 Author: NeilBrown Date: Tue Jun 30 09:35:44 2009 +0200 blocK: Restore barrier support for md and probably other virtual devices. The next_ordered flag is only meaningful for devices that use __make_request. So move the test against next_ordered out of generic code and in to __make_request Since this test was added, barriers have not worked on md or any devices that don't use __make_request and so don't bother to set next_ordered. (dm explicitly sets something other than QUEUE_ORDERED_NONE since commit 99360b4c18f7675b50d283301d46d755affe75fd but notes in the comments that it is otherwise meaningless). Cc: Ken Milmore Cc: stable@kernel.org Signed-off-by: NeilBrown Signed-off-by: Jens Axboe commit 018e0446890661504783f92388ecce7138c1566d Author: Jens Axboe Date: Fri Jun 26 16:27:10 2009 +0200 block: get rid of queue-private command filter The initial patches to support this through sysfs export were broken and have been if 0'ed out in any release. So lets just kill the code and reclaim some space in struct request_queue, if anyone would later like to fixup the sysfs bits, the git history can easily restore the removed bits. Signed-off-by: Jens Axboe commit 7878cba9f0037f5599004b03a1260b32d9050360 Author: Martin K. Petersen Date: Fri Jun 26 15:37:49 2009 +0200 block: Create bip slabs with embedded integrity vectors This patch restores stacking ability to the block layer integrity infrastructure by creating a set of dedicated bip slabs. Each bip slab has an embedded bio_vec array at the end. This cuts down on memory allocations and also simplifies the code compared to the original bvec version. Only the largest bip slab is backed by a mempool. The pool is contained in the bio_set so stacking drivers can ensure forward progress. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 6118b70b3a0b4c583439bb77600194c82f220ce3 Author: Jens Axboe Date: Tue Jun 30 09:34:12 2009 +0200 cfq-iosched: get rid of the need for __GFP_NOFAIL in cfq_find_alloc_queue() Setup an emergency fallback cfqq that we allocate at IO scheduler init time. If the slab allocation fails in cfq_find_alloc_queue(), we'll just punt IO to that cfqq instead. This ensures that cfq_find_alloc_queue() never fails without having to ensure free memory. On cfqq lookup, always try to allocate a new cfqq if the given cfq io context has the oom_cfqq assigned. This ensures that we only temporarily punt to this shared queue. Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit d5036d770f871bd34c9cfd955e6dee692e1e8e81 Author: Jens Axboe Date: Fri Jun 26 10:44:34 2009 +0200 cfq-iosched: move cfqq initialization out of cfq_find_alloc_queue() We're going to be needing that init code outside of that function to get rid of the __GFP_NOFAIL in cfqq allocation. Reviewed-by: Jeff Moyer Signed-off-by: Jens Axboe commit 61fd21670d048017c81e62f60894ef1b04b481db Author: Andre Noll Date: Thu Jun 25 13:03:04 2009 +0200 Trivial typo fixes in Documentation/block/data-integrity.txt. Signed-off-by: Andre Noll Acked-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 4a2bb6fcc80e6330ca2f2393e98605052cc7780b Author: Masami Hiramatsu Date: Tue Jun 30 17:08:09 2009 -0400 kprobes: No need to unlock kprobe_insn_mutex Remove needless kprobe_insn_mutex unlocking during safety check in garbage collection, because if someone releases a dirty slot during safety check (which ensures other cpus doesn't execute all dirty slots), the safety check must be fail. So, we need to hold the mutex while checking safety. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli LKML-Reference: <20090630210809.17851.28781.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 61c45981ddbd718136d49464f00d2f11938aaa6e Author: Paul Mackerras Date: Wed Jul 1 13:04:34 2009 +1000 perf_counter tools: Rework event string parsing/syntax This reworks the parser for event descriptors to make it more consistent in what it accepts. It is now structured as a recursive descent parser for the following grammar: events ::= event ( ("," | space) space* event )* event ::= ( raw_event | numeric_event | symbolic_event | generic_hw_event ) [ event_modifier ] raw_event ::= "r" hex_number numeric_event ::= number ":" number number ::= decimal_number | "0x" hex_number | "0" octal_number symbolic_event ::= string_from_event_symbols_array generic_hw_event::= cache_type ( "-" ( cache_op | cache_result ) )* event_modifier ::= ":" ( "u" | "k" | "h" )+ with the extra restriction that you can have at most one cache_op and at most one cache_result. We pass the current string pointer by reference (i.e. as a const char **) to the various parsing functions so that they can advance the pointer to indicate how much they consumed. They return 0 if they didn't recognize the thing at the pointer or 1 if they did (and advance the pointer past it). This also fixes parse_aliases to take the longest matching alias from the table, not the first one. Otherwise "l1-data" would match the "l1-d" alias and the "ata" would not be consumed. This allows event modifiers indicating what processor modes to count in to be applied to any event, not just numeric events, and adds a ":h" modifier to indicate counting in hypervisor mode. Specifying ":u" now sets both exclude_kernel and exclude_hv, and so on. Multiple modes can be specified, e.g. ":uk" will count in user or hypervisor mode (i.e. only exclude_kernel will be set). Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <19018.53826.843815.189847@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 0a456fc58fb8ef3c53d18297ab5cd5d2a70d146b Author: Anton Blanchard Date: Wed Jul 1 13:07:01 2009 +1000 powerpc/perf_counter: Enable alternate PR/HV bits for POWER7 POWER7 has the same PR/HV bit layout as POWER6, so set the flag. Signed-off-by: Anton Blanchard Acked-by: Paul Mackerras Cc: a.p.zijlstra@chello.nl Cc: benh@kernel.crashing.org LKML-Reference: <20090701030701.GI3563@kryten> Signed-off-by: Ingo Molnar commit deac911cbdcb124fa0cee47c588e0cb0400b23b7 Author: Frederic Weisbecker Date: Wed Jul 1 05:35:15 2009 +0200 perf_counter tools: Various fixes for callchains The symbol resolving has of course revealed some bugs in the callchain tree handling. This patch fixes some of them, including: - inherit the children from the parents while splitting a node - fix list range moving - fix indexes setting in callchains - create a child on the current node if the path doesn't match in the existent children (was only done on the root) - compare using symbols when possible so that we can match a function using any ip inside by referring to its start address. The practical effects are: - remove double callchains - fix upside down or any random order of callchains - fix wrong paths - fix bad hits and percentage accounts Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246419315-9968-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4424961ad6621a02c6b4c9093e801002c1bb9f65 Author: Frederic Weisbecker Date: Wed Jul 1 05:35:14 2009 +0200 perf_counter tools: Resolve symbols in callchains This patch resolves the names, when possible, of each ip present in the callchains while using the -c option with perf report. Example: 5.40% [k] __d_lookup 5.37% perf_callchain perf_counter_overflow intel_pmu_handle_irq perf_counter_nmi_handler notifier_call_chain atomic_notifier_call_chain notify_die do_nmi nmi do_lookup __link_path_walk path_walk do_path_lookup user_path_at sys_faccessat sys_access system_call_fastpath 0x7fb609846f77 0.01% perf_callchain perf_counter_overflow intel_pmu_handle_irq perf_counter_nmi_handler notifier_call_chain atomic_notifier_call_chain notify_die do_nmi nmi do_lookup __link_path_walk path_walk do_path_lookup user_path_at sys_faccessat Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246419315-9968-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 9198aa77b69647d1d91207f8075763abe7dc0bf4 Author: Frederic Weisbecker Date: Wed Jul 1 05:35:13 2009 +0200 perf_counter tools: Fix storage size allocation of callchain list Fix a confusion while giving the size of a callchain list during its allocation. We are using the wrong structure size. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Anton Blanchard Cc: Arnaldo Carvalho de Melo LKML-Reference: <1246419315-9968-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 087021ba41e9481202103d51d3dd0c4706899a2b Merge: fb9c818 e83c2b0 Author: Ingo Molnar Date: Wed Jul 1 09:56:10 2009 +0200 Merge branch 'linus' into perfcounters/urgent Merge reason: this branch was on a .30-ish base before, update it to an almost-.31-rc2 upstream base to pick up fixes. Signed-off-by: Ingo Molnar commit 1e1689536f346a431b748dc8ad9ac0828d2c065d Author: Takashi Iwai Date: Wed Jul 1 08:34:32 2009 +0200 ALSA: hda - Add missing static to patch_ca0110() Signed-off-by: Takashi Iwai commit 0802d9e55cc6be6bd1b13f9dc9ef5aa6d24bca77 Author: Magnus Damm Date: Wed Jul 1 05:16:31 2009 +0000 sh: re-add LCDC fbdev support to the Migo-R defconfig Re-add LCDC fbdev support to the Migo-R defconfig. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 84f7597c116f811cfcb762e645fa258b7e585155 Author: Magnus Damm Date: Wed Jul 1 04:55:35 2009 +0000 sh: fix se7724 ceu names Use "ceu0" and "ceu1" as CEU names instead of "ceu". This fixes "memchunk" kernel command line selection on the solution engine 7724 board. With this patch applied use "memchunk.ceu0=1m" or "memchunk.ceu1=1m" on kernel command line to override physically memory size to one meg for CEU0 or CEU1. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e62e58a5ffdc98ac28d8dbd070c857620d541f99 Author: NeilBrown Date: Wed Jul 1 13:15:35 2009 +1000 md: use interruptible wait when duration is controlled by userspace. User space can set various limits on an md array so that resync waits when it gets to a certain point, or so that I/O is blocked for a short while. When md is waiting against one of these limit, it should use an interruptible wait so as not to add to the load average, and so are not to trigger a warning if the wait goes on for too long. Signed-off-by: NeilBrown commit a5c308d4d1659b1f4833b863394e3e24cdbdfc6e Author: NeilBrown Date: Wed Jul 1 13:15:35 2009 +1000 md/raid5: suspend shouldn't affect read requests. md allows write to regions on an array to be suspended temporarily. This allows user-space to participate is aspects of reshape. In particular, data can be copied with not risk of a race. We should not be blocking read requests though, so don't. Cc: stable@kernel.org Signed-off-by: NeilBrown commit f8a68e752bc4e39644843403168137663c984524 Author: Eric W. Biederman Date: Tue Jun 30 16:27:17 2009 +0000 Revert "ipv4: arp announce, arp_proxy and windows ip conflict verification" This reverts commit 73ce7b01b4496a5fbf9caf63033c874be692333f. After discovering that we don't listen to gratuitious arps in 2.6.30 I tracked the failure down to this commit. The patch makes absolutely no sense. RFC2131 RFC3927 and RFC5227. are all in agreement that an arp request with sip == 0 should be used for the probe (to prevent learning) and an arp request with sip == tip should be used for the gratitous announcement that people can learn from. It appears the author of the broken patch got those two cases confused and modified the code to drop all gratuitous arp traffic. Ouch! Cc: stable@kernel.org Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 59ed6eecff4aa00c5c5d18ffd180acac108d596e Author: Alexander Duyck Date: Tue Jun 30 12:46:34 2009 +0000 igb: return PCI_ERS_RESULT_DISCONNECT on permanent error PCI drivers that implement the io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for igb. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c93b5a76d58656158d195a7df507ebc660010969 Author: Mike Mason Date: Tue Jun 30 12:45:53 2009 +0000 e1000e: io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This state is not checked in many of the network drivers. This patch fixes the omission in the e1000e driver. Signed-off-by: Mike Mason Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eab633021c26025b34f36f79f0311d3d99f40ceb Author: Andre Detsch Date: Tue Jun 30 12:46:13 2009 +0000 e1000: return PCI_ERS_RESULT_DISCONNECT on permanent error PCI drivers that implement the io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This state is not checked in many of the network drivers. The patch fixes the omission in the e1000 driver. Based on Mike Mason's similar patch for e1000e. Signed-off-by: Andre Detsch CC: Mike Mason Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 679be3ba0c493eb66d22c206273729ce50925e85 Author: Jesse Brandeburg Date: Tue Jun 30 12:45:34 2009 +0000 e1000: fix unmap bug as reported by kerneloops.org [ 121.781161] ------------[ cut here ]------------ [ 121.781171] WARNING: at lib/dma-debug.c:793 check_unmap+0x14e/0x577() [ 121.781173] Hardware name: S5520HC [ 121.781177] e1000 0000:0a:00.0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000001d688b0fa] [size=1522 bytes] [ 121.781180] Modules linked in: e1000 mdio dca [last unloaded: ixgbe] [ 121.781187] Pid: 4793, comm: bash Tainted: P 2.6.30-master-06161113 #3 [ 121.781190] Call Trace: [ 121.781195] [] ? check_unmap+0x14e/0x577 [ 121.781201] [] warn_slowpath_common+0x77/0x8f [ 121.781205] [] warn_slowpath_fmt+0x9f/0xa1 [ 121.781212] [] ? _spin_lock_irqsave+0x3f/0x49 [ 121.781216] [] ? get_hash_bucket+0x28/0x33 [ 121.781220] [] check_unmap+0x14e/0x577 [ 121.781225] [] ? check_bytes_and_report+0x38/0xcb [ 121.781230] [] debug_dma_unmap_page+0x80/0x92 [ 121.781234] [] ? unmap_single+0x1a/0x4e [ 121.781239] [] ? __kfree_skb+0x74/0x78 [ 121.781250] [] pci_unmap_single+0x64/0x6d [e1000] [ 121.781259] [] e1000_clean_rx_ring+0x4c/0xbf [e1000] [ 121.781268] [] e1000_clean_all_rx_rings+0x28/0x36 [e1000] [ 121.781277] [] e1000_down+0x138/0x141 [e1000] [ 121.781286] [] __e1000_shutdown+0x6b/0x198 [e1000] [ 121.781296] [] e1000_suspend+0x17/0x50 [e1000] [ 121.781301] [] pci_legacy_suspend+0x3b/0xbe [ 121.781305] [] pci_pm_suspend+0x3e/0xf1 [ 121.781310] [] pm_op+0x57/0xde [ 121.781314] [] dpm_suspend_start+0x31e/0x470 [ 121.781319] [] suspend_devices_and_enter+0x3e/0x1a2 [ 121.781323] [] enter_state+0xd1/0x127 [ 121.781327] [] state_store+0xa7/0xc9 [ 121.781332] [] kobj_attr_store+0x17/0x19 [ 121.781336] [] sysfs_write_file+0xe5/0x121 [ 121.781341] [] vfs_write+0xab/0x105 [ 121.781344] [] sys_write+0x47/0x6d [ 121.781349] [] system_call_fastpath+0x16/0x1b [ 121.781352] ---[ end trace 97bacaaac2ed7786 ]--- Fix is to correctly zero out internal ->dma value when unmapping and make sure never to unmap unless there specifically was a mapping done. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 91615f765a2935b6cbae424b9eee1585ed681ae6 Author: Jesse Brandeburg Date: Tue Jun 30 12:45:15 2009 +0000 igb: fix unmap length bug driver was mixing NET_IP_ALIGN count bytes in map/unmap calls unevenly. Only map the bytes that the hardware might dma into also fix unmap related bug where ->dma was not being cleared after unmap Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4f57ca6e17edfc56ddde5c87eb893e47e0d2d343 Author: Jesse Brandeburg Date: Tue Jun 30 11:44:56 2009 +0000 ixgbe: fix unmap length bug This patch addresses three WARN_ON statements from DMA-API debug code ixgbe is mapping more than it unmaps, reduce the length of the map call and remove the "used once" local variable. found by Joerg Roedel in 2.6.30, so is a candidate for -stable. in addition, fix missing ->dma = 0 after unmap to prevent double free with pci_unmap_single and lastly, don't unmap (half) pages that aren't mapped. Signed-off-by: Jesse Brandeburg CC: Joerg Roedel Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a1f25324b93ecdab1cbb27d3e9c4cafecb06ceda Author: Mallikarjuna R Chilakala Date: Tue Jun 30 11:44:36 2009 +0000 ixgbe: Fix link capabilities during adapter resets Adapter link advertisement capabilities were not persistent during adapter resets. While configuring multispeed fiber link check for phy autoneg_advertised settings before overwriting with default link capabilities Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a380137900fca5c79e6daa9500bdb6ea5649188e Author: Mallikarjuna R Chilakala Date: Tue Jun 30 11:44:16 2009 +0000 ixgbe: Fix device capabilities of 82599 single speed fiber NICs. 82599 single speed fiber modules only support 10G/Full. Return proper device capabilities while querrying the adapter and error while changing device advertisement/speed/duplex capabilities. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 88d2b81f4ee8f9ea3798dbe6105beb5609844317 Author: Don Skidmore Date: Tue Jun 30 11:43:55 2009 +0000 ixgbe: Fix SFP log messages We had a wide range of log messages for the same sort of SFP failure. This patch makes them all more similar and less confusing along with converting them to dev_err. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d9d62f3f2c6fa609883714f6fd6cd710a83d307f Author: Herbert Xu Date: Mon Jun 29 16:54:12 2009 +0000 usbnet: Remove private stats structure Now that nothing uses the private stats structure we can remove it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7963837f933df8a8ada56fa8f8205ebab40f84d0 Author: Herbert Xu Date: Mon Jun 29 16:53:28 2009 +0000 usbnet: Use netdev stats structure Now that netdev has its own stats structure we should use that instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 80667ac13a6cf2c3a3ff275a2a72809671299acb Author: Herbert Xu Date: Mon Jun 29 16:53:00 2009 +0000 smsc95xx: Use netdev stats structure Now that netdev has its own stats structure we should use that instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 58e2e7d5913e7a2a6d87ef30d3b52e66b88e6e1d Author: Herbert Xu Date: Mon Jun 29 16:52:26 2009 +0000 rndis_host: Use netdev stats structure Now that netdev has its own stats structure we should use that instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a22d2b36a2c4ca58c5914072a88704377bbd34f8 Author: Herbert Xu Date: Mon Jun 29 16:51:40 2009 +0000 net1080: Use netdev stats structure Now that netdev has its own stats structure we should use that instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9612101cb33862cc160069cc8423926d61db51f8 Author: Herbert Xu Date: Mon Jun 29 16:50:51 2009 +0000 dm9601: Use netdev stats structure Now that netdev has its own stats structure we should use that instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit eaea43abf30c8ccb447c190e7c94b46b5f75eae6 Author: Herbert Xu Date: Mon Jun 29 16:49:40 2009 +0000 cdc_eem: Use netdev stats structure Now that netdev has its own stats structure we should use that instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0909dc448c98ed5021c87ffdfc09fb473aa464ab Author: NeilBrown Date: Wed Jul 1 12:27:21 2009 +1000 md: tidy up error paths in md_alloc As the recent bug in md_alloc showed, having a single exit path for unlocking and putting is a good idea. So restructure md_alloc to have a single mutex_unlock and mddev_put, and use gotos where necessary. Found-by: Jiri Slaby Signed-off-by: NeilBrown commit 1ec22eb2b4a2e1a763106bce36b11c02eaa84e61 Author: NeilBrown Date: Wed Jul 1 12:27:21 2009 +1000 md: fix error path when duplicate name is found on md device creation. When an md device is created by name (rather than number) we need to check that the name is not already in use. If this check finds a duplicate, we return an error without dropping the lock or freeing the newly create mddev. This patch fixes that. Cc: stable@kernel.org Found-by: Jiri Slaby Signed-off-by: NeilBrown commit e83c2b0ff325f52dda1aff3572d0e1516216c54b Merge: 9fcfc91 12de38b Author: Linus Torvalds Date: Tue Jun 30 19:04:53 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Inform kmemleak about pid_hash kmemleak: Do not warn if an unknown object is freed kmemleak: Do not report new leaked objects if the scanning was stopped kmemleak: Slightly change the policy on newly allocated objects kmemleak: Do not trigger a scan when reading the debug/kmemleak file kmemleak: Simplify the reports logged by the scanning thread kmemleak: Enable task stacks scanning by default kmemleak: Allow the early log buffer to be configurable. commit 9fcfc91bda04259abb9af2fd83bbf48d19da8502 Merge: 55bcab4 ea9df47 Author: Linus Torvalds Date: Tue Jun 30 19:04:14 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm table: fix blk_stack_limits arg to use bytes not sectors dm exception store: really fix type lookup commit 55bcab46955644d5a8149a9b3cc9752a336e02f8 Merge: 58580c8 7bec7a9 Author: Linus Torvalds Date: Tue Jun 30 19:02:59 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (47 commits) perf report: Add --symbols parameter perf report: Add --comms parameter perf report: Add --dsos parameter perf_counter tools: Adjust only prelinked symbol's addresses perf_counter: Provide a way to enable counters on exec perf_counter tools: Reduce perf stat measurement overhead/skew perf stat: Use percentages for scaling output perf_counter, x86: Update x86_pmu after WARN() perf stat: Micro-optimize the code: memcpy is only required if no event is selected and !null_run perf stat: Improve output perf stat: Fix multi-run stats perf stat: Add -n/--null option to run without counters perf_counter tools: Remove dead code perf_counter: Complete counter swap perf report: Print sorted callchains per histogram entries perf_counter tools: Prepare a small callchain framework perf record: Fix unhandled io return value perf_counter tools: Add alias for 'l1d' and 'l1i' perf-report: Add bare minimum PERF_EVENT_READ parsing perf-report: Add modes for inherited stats and no-samples ... commit 58580c86450bc09ff101f0d23fd8a162c146bc64 Merge: 6086071 fadfd2b Author: Linus Torvalds Date: Tue Jun 30 19:01:52 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: Add Fenghua Yu as temporary co-maintainer for ia64 [IA64] address compiler warnings perfmon.c/salinfo.c [IA64] Remove unnecessary semicolons [IA64] sprintf should not be used with same source & destination address commit 6086071005674eb982d898c75269c931240154cf Author: David Howells Date: Tue Jun 30 22:33:15 2009 +0100 MN10300: Wire up new syscalls Wire up new syscalls rt_tgsigqueueinfo and perf_counter_open. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit aee3ff1b413cff44e7d91dd1901cacd8988ce9cf Author: David Howells Date: Tue Jun 30 22:24:54 2009 +0100 FRV: Wire up new syscalls Wire up new syscalls rt_tgsigqueueinfo and perf_counter_open. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 752fa51e4c5182c3c257f1cede90577a7e213c58 Author: Wolfgang Illmeyer Date: Tue Jun 30 11:41:44 2009 -0700 hostfs: set maximum filesize in superblock for proper LFS support Maximum file size for hostfs mounts defaults to 2GB, so bigger files cannot be read/written through hostfs. This patch initializes the maximum file size to MAX_LFS_SIZE. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13531 Signed-off-by: Wolfgang Illmeyer Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8516a500029890a72622d245f8ed32c4e30969b7 Author: Jiri Slaby Date: Tue Jun 30 11:41:44 2009 -0700 floppy: fix lock imbalance A crappy macro prevents us unlocking on a fail path. Expand the macro and unlock appropriatelly. Signed-off-by: Jiri Slaby Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9980060bad5607ca6db7fb8683de671b522e56a4 Author: Mike Frysinger Date: Tue Jun 30 11:41:43 2009 -0700 bfin: delay IRQ registration until driver is ready Make sure we do not actually request the RTC IRQ until the device driver is fully ready to handle and process any interrupt. This way a spurious interrupt won't crash the system (which may happen if the bootloader was poking the RTC right before booting Linux). Signed-off-by: Mike Frysinger Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee905d0c58a440a5bd10c845e8305f6f7f706be2 Author: Ville Syrjala Date: Tue Jun 30 11:41:42 2009 -0700 atyfb: fix alignment for block writes Block writes require 64 byte alignment. Since block writes could be used with SGRAM or WRAM also refine the memory type detection to check for either type before deciding to use the 64 byte alignment. Signed-off-by: Ville Syrjala Tested-by: Mikulas Patocka Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eafad22a05fdaca60f06433ffe8810aaa920d539 Author: Ville Syrjala Date: Tue Jun 30 11:41:40 2009 -0700 atyfb: fix HP OmniBook 500 reboot hang Apparently HP OmniBook 500's BIOS doesn't like the way atyfb reprograms the hardware. The BIOS will simply hang after a reboot. Fix the problem by restoring the hardware to it's original state on reboot. Signed-off-by: Ville Syrjala Cc: Mikulas Patocka Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50efacf6711e6c75595afd9b92aa15c1e4f7c79d Author: Baruch Siach Date: Tue Jun 30 11:41:39 2009 -0700 gpio: pl061: fix IRQ handling for GPIOs >= PL061_GPIO_NR IRQ handling is wrong for any GPIO >= PL061_GPIO_NR. Fix this by implementing and using a proper .to_irq method. Signed-off-by: Baruch Siach Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79d7f4ee23d41571d9e4663521b5e6604c55729a Author: Baruch Siach Date: Tue Jun 30 11:41:38 2009 -0700 gpio: pl061: fix probe error handling code Note that IRQ has not been initialized when kmalloc() fails. Also, use DECLARE_BITMAP() to make the code clearer. Signed-off-by: Baruch Siach Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66918dcdf91ad101194c749c18099e836ba3de2b Author: Yinghai Lu Date: Tue Jun 30 11:41:37 2009 -0700 x86: only clear node_states for 64bit Nathan reported that | commit 73d60b7f747176dbdff826c4127d22e1fd3f9f74 | Author: Yinghai Lu | Date: Tue Jun 16 15:33:00 2009 -0700 | | page-allocator: clear N_HIGH_MEMORY map before we set it again | | SRAT tables may contains nodes of very small size. The arch code may | decide to not activate such a node. However, currently the early boot | code sets N_HIGH_MEMORY for such nodes. These nodes therefore seem to be | active although these nodes have no present pages. | | For 64bit N_HIGH_MEMORY == N_NORMAL_MEMORY, so that works for 64 bit too unintentionally and incorrectly clears the cpuset.mems cgroup attribute on an i386 kvm guest, meaning that cpuset.mems can not be used. Fix this by only clearing node_states[N_NORMAL_MEMORY] for 64bit only. and need to do save/restore for that in find_zone_movable_pfn Reported-by: Nathan Lynch Tested-by: Nathan Lynch Signed-off-by: Yinghai Lu Cc: Christoph Lameter Cc: Ingo Molnar , Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b37f2d4de6dfce4bfd6df311af80e4d61458ee1e Author: Nikanth Karthikesan Date: Tue Jun 30 11:41:36 2009 -0700 cpusets: document adding/removing cpus to cpuset elaborately By writing a tasks's pid to the file, a process adds that task to that cgroup/cpuset. But to add a cpu/mem to a cpuset, the new list of cpus should be written to the cpuset.mems file which would replace the old list of cpus. Make this clearer in the documentation. Signed-off-by: Nikanth Karthikesan Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7831a0bdf06b9f722b947bb0c205ff7d77cebd8 Author: Richard Kennedy Date: Tue Jun 30 11:41:35 2009 -0700 mm: prevent balance_dirty_pages() from doing too much work balance_dirty_pages can overreact and move all of the dirty pages to writeback unnecessarily. balance_dirty_pages makes its decision to throttle based on the number of dirty plus writeback pages that are over the calculated limit,so it will continue to move pages even when there are plenty of pages in writeback and less than the threshold still dirty. This allows it to overshoot its limits and move all the dirty pages to writeback while waiting for the drives to catch up and empty the writeback list. A simple fio test easily demonstrates this problem. fio --name=f1 --directory=/disk1 --size=2G -rw=write --name=f2 --directory=/disk2 --size=1G --rw=write --startdelay=10 This is the simplest fix I could find, but I'm not entirely sure that it alone will be enough for all cases. But it certainly is an improvement on my desktop machine writing to 2 disks. Do we need something more for machines with large arrays where bdi_threshold * number_of_drives is greater than the dirty_ratio ? Signed-off-by: Richard Kennedy Acked-by: Peter Zijlstra Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df279ca8966c3de83105428e3391ab17690802a9 Author: Renaud Lottiaux Date: Tue Jun 30 11:41:34 2009 -0700 bsdacct: fix access to invalid filp in acct_on() The file opened in acct_on and freshly stored in the ns->bacct struct can be closed in acct_file_reopen by a concurrent call after we release acct_lock and before we call mntput(file->f_path.mnt). Record file->f_path.mnt in a local variable and use this variable only. Signed-off-by: Renaud Lottiaux Signed-off-by: Louis Rilling Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4f90189dc2c7a7e6926ea480ae3404ec3de4581 Author: Joe Perches Date: Tue Jun 30 11:41:32 2009 -0700 MAINTAINERS: STARFIRE/DURALAN update Ion's cs.columbia.edu email address no longer works. Signed-off-by: Joe Perches Acked-by: Ion Badulescu Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bc1ad7dd301b7ca7454013519fa92e8c53655ff Author: Zhang Rui Date: Tue Jun 30 11:41:31 2009 -0700 kernel/resource.c: fix sign extension in reserve_setup() When the 32-bit signed quantities get assigned to the u64 resource_size_t, they are incorrectly sign-extended. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13253 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9905 Signed-off-by: Zhang Rui Reported-by: Leann Ogasawara Cc: Pierre Ossman Reported-by: Tested-by: Cc: Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 529ba0d9669386157457a1cb96294d2fe79b3f88 Author: David Brownell Date: Tue Jun 30 11:41:30 2009 -0700 spi: bitbang bugfix in message setup Bugfix to spi_bitbang infrastructure: make sure to always set transfer parameters on the first pass through the message's per-transfer loop. This can matter with drivers that replace the per-word or per-buffer transfer primitives, on busses with multiple SPI devices. Previously, this could have started messages using the settings left after previous messages. The problem was observed when a high speed chip (m25p80 type flash) was running very slowly because a low speed device (avr8 microcontroller) had previously used the bus. Similar faults could have driven the low speed device too fast, or used an unexpected word size. Acked-by: Steven A. Falco Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 537a1bf059fa312355696fa6db80726e655e7f17 Author: Krzysztof Helt Date: Tue Jun 30 11:41:29 2009 -0700 fbdev: add mutex for fb_mmap locking Add a mutex to avoid a circular locking problem between the mm layer semaphore and fbdev ioctl mutex through the fb_mmap() call. Also, add mutex to all places where smem_start and smem_len fields change so the mutex inside the fb_mmap() is actually used. Changing of these fields before calling the framebuffer_register() are not mutexed. This is 2.6.31 material. It removes one lockdep (fb_mmap() and register_framebuffer()) but there is still another one (fb_release() and register_framebuffer()). It also cleans up handling of the smem_start and smem_len fields used by mutexed section of the fb_mmap(). Signed-off-by: Krzysztof Helt Cc: Peter Zijlstra Cc: "Rafael J. Wysocki" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70d6027ff2bc8bab180273b77e7ab3e8a62cca51 Author: David Brownell Date: Tue Jun 30 11:41:27 2009 -0700 spi: add spi_master flag word Add a new spi_master.flags word listing constraints relevant to that controller. Define the first constraint bit: a half duplex restriction. Include that constraint in the OMAP1 MicroWire controller driver. Have the mmc_spi host be the first customer of this flag. Its coding relies heavily on full duplex transfers, so it must fail when the underlying controller driver won't perform them. (The spi_write_then_read routine could use it too: use the temporarily-withdrawn full-duplex speedup unless this flag is set, in which case the existing code applies. Similarly, any spi_master implementing only SPI_3WIRE should set the flag.) Signed-off-by: David Brownell Cc: Marek Szyprowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55f627feeb9d48fdbde3835e18afbc76712e49b Author: David Brownell Date: Tue Jun 30 11:41:26 2009 -0700 spi: new spi->mode bits Add two new spi_device.mode bits to accomodate more protocol options, and pass them through to usermode drivers: * SPI_NO_CS ... a second 3-wire variant, where the chipselect line is removed instead of a data line; transfers are still full duplex. This obviously has STRONG protocol implications since the chipselect transitions can't be used to synchronize state transitions with the SPI master. * SPI_READY ... defines open drain signal that's pulled low to pause the clock. This defines a 5-wire variant (normal 4-wire SPI plus READY) and two 4-wire variants (READY plus each of the 3-wire flavors). Such hardware flow control can be a big win. There are ADC converters and flash chips that expose READY signals, but not many host controllers support it today. The spi_bitbang code should be changed to use SPI_NO_CS instead of its current nonportable hack. That's a mode most hardware can easily support (unlike SPI_READY). Signed-off-by: David Brownell Cc: "Paulraj, Sandeep" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c49568235dd7b4a2ffad63aa950562f4ffb9455f Author: Thomas Gleixner Date: Tue Jun 30 11:41:25 2009 -0700 dmapools: protect page_list walk in show_pools() show_pools() walks the page_list of a pool w/o protection against the list modifications in alloc/free. Take pool->lock to avoid stomping into nirvana. Signed-off-by: Thomas Gleixner Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d6c13f87db12ae1ce35ea6a15688ac72419b133 Author: Bryan Donlan Date: Tue Jun 30 11:41:24 2009 -0700 ext2: return -EIO not -ESTALE on directory traversal through deleted inode ext2_iget() returns -ESTALE if invoked on a deleted inode, in order to report errors to NFS properly. However, in ext[234]_lookup(), this -ESTALE can be propagated to userspace if the filesystem is corrupted such that a directory entry references a deleted inode. This leads to a misleading error message - "Stale NFS file handle" - and confusion on the part of the admin. The bug can be easily reproduced by creating a new filesystem, making a link to an unused inode using debugfs, then mounting and attempting to ls -l said link. This patch thus changes ext2_lookup to return -EIO if it receives -ESTALE from ext2_iget(), as ext2 does for other filesystem metadata corruption; and also invokes the appropriate ext*_error functions when this case is detected. Signed-off-by: Bryan Donlan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341c87bf346f57748230628c5ad6ee69219250e8 Author: KAMEZAWA Hiroyuki Date: Tue Jun 30 11:41:23 2009 -0700 elf: limit max map count to safe value With ELF, at generating coredump, some more headers other than used vmas are added. When max_map_count == 65536, a core generated by following kinds of code can be unreadable because the number of ELF's program header is written in 16bit in Ehdr (please see elf.h) and the number overflows. == ... = mmap(); (munmap, mprotect, etc...) if (failed) abort(); == This can happen in mmap/munmap/mprotect/etc...which calls split_vma(). I think 65536 is not safe as _default_ and reduce it to 65530 is good for avoiding unexpected corrupted core. Anyway, max_map_count can be enlarged by sysctl if a user is brave.. Signed-off-by: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Jakub Jelinek Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1cfebc9231a69d46d66982a2c856ba41ef6d6b9 Author: Yang Shi Date: Tue Jun 30 11:41:22 2009 -0700 edac: add DDR3 memory type for MPC85xx EDAC Since some new MPC85xx SOCs support DDR3 memory now, so add DDR3 memory type for MPC85xx EDAC. Signed-off-by: Yang Shi Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4285b47b0514e2103584ee829246f813e7ae323 Author: Michael Buesch Date: Tue Jun 30 11:41:21 2009 -0700 parport/serial: add support for NetMos 9901 Multi-IO card Add support for the PCI-Express NetMos 9901 Multi-IO card. 0001:06:00.0 Serial controller [0700]: NetMos Technology Device [9710:9901] (prog-if 02 [16550]) Subsystem: Device [a000:1000] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel driver in use: serial Kernel modules: 8250_pci 0001:06:00.1 Serial controller [0700]: NetMos Technology Device [9710:9901] (prog-if 02 [16550]) Subsystem: Device [a000:1000] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel driver in use: serial Kernel modules: 8250_pci 0001:06:00.2 Parallel controller [0701]: NetMos Technology Device [9710:9901] (prog-if 03 [IEEE1284]) Subsystem: Device [a000:2000] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Region 2: Memory at 80101000 (32-bit, non-prefetchable) [size=4K] Region 4: Memory at 80100000 (32-bit, non-prefetchable) [size=4K] Capabilities: Kernel driver in use: parport_pc Kernel modules: parport_pc [ 16.760181] PCI parallel port detected: 416c:0100, I/O at 0x812010(0x0), IRQ 65 [ 16.760225] parport0: PC-style at 0x812010, irq 65 [PCSPP,TRISTATE,EPP] [ 16.851842] serial 0001:06:00.0: enabling device (0004 -> 0007) [ 16.883776] 0001:06:00.0: ttyS0 at I/O 0x812030 (irq = 65) is a ST16650V2 [ 16.893832] serial 0001:06:00.1: enabling device (0004 -> 0007) [ 16.926537] 0001:06:00.1: ttyS1 at I/O 0x812020 (irq = 65) is a ST16650V2 Signed-off-by: Michael Buesch Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 972c71a3183ab41c0b1a9e50842be7e3e980954f Author: Peter Oberparleiter Date: Tue Jun 30 11:41:20 2009 -0700 gcov: fix documentation Commonly available versions of cp and tar don't work well with special files created using seq_file. Mention this problem in the gcov documentation and update the helper script example to work around these problems. Signed-off-by: Peter Oberparleiter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b01e8dc34379f4ba2f454390e340a025edbaaa7e Author: Tejun Heo Date: Tue Jun 30 11:41:18 2009 -0700 alpha: fix percpu build breakage alpha percpu access requires custom SHIFT_PERCPU_PTR() definition for modules to work around addressing range limitation. This is done via generating inline assembly using C preprocessing which forces the assembler to generate external reference. This happens behind the compiler's back and makes the compiler think that static percpu variables in modules are unused. This used to be worked around by using __unused attribute for percpu variables which prevent the compiler from omitting the variable; however, recent declare/definition attribute unification change broke this as __used can't be used for declaration. Also, in the process, PER_CPU_ATTRIBUTES definition in alpha percpu.h got broken. This patch adds PER_CPU_DEF_ATTRIBUTES which is only used for definitions and make alpha use it to add __used for percpu variables in modules. This also fixes the PER_CPU_ATTRIBUTES double definition bug. Signed-off-by: Tejun Heo Tested-by: maximilian attems Acked-by: Ivan Kokshaysky Cc: Richard Henderson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15e3252464432a29c5461325cb5243471bd2a219 Author: Stephen Rothwell Date: Tue Jun 30 11:41:15 2009 -0700 fbdev: work around old compiler bug When building with a 4.1.x compiler on powerpc64 (at least) we get this error: drivers/video/logo/logo_linux_mono.c:81: error: logo_linux_mono causes a section type conflict This was introduced by commit ae52bb2384f721562f15f719de1acb8e934733cb ("fbdev: move logo externs to header file"). This is a partial revert of that commit sufficient to not hit the compiler bug. Also convert _clut arrays from __initconst to __initdata. Sam said: Al analysed this some time ago. When we say something is const then _sometimes_ gcc annotate the section as const(?) - sometimes not. So if we have two variables/functions annotated __*const and gcc decides to annotate the section const only in one case we get a section type conflict. Signed-off-by: Stephen Rothwell Cc: Sam Ravnborg Cc: Krzysztof Helt Cc: Geert Uytterhoeven Cc: Kyle McMartin Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c15e504bd008aedfcd2219051055b66bffdb6148 Author: Joe Perches Date: Tue Jun 30 11:41:13 2009 -0700 MAINTAINERS: update EDAC-I82975X As per Ranganathan's request. Signed-off-by: Joe Perches Cc: Ranganathan Desikan Cc: Arvind R. Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a2325e6e8a3782795fb520220c36fd805775972 Author: Heiko Carstens Date: Tue Jun 30 11:41:13 2009 -0700 gcov: fix __ctors_start alignment The ctors section for each object file is eight byte aligned (on 64 bit). However the __ctors_start symbol starts at an arbitrary address dependent on the size of the previous sections. Therefore the linker may add some zeroes after __ctors_start to make sure the ctors contents are properly aligned. However the extra zeroes at the beginning aren't expected by the code. When walking the functions pointers contained in there and extra zeroes are added this may result in random jumps. So make sure that the __ctors_start symbol is always aligned as well. Fixes this crash on an allyesconfig on s390: [ 0.582482] Kernel BUG at 0000000000000012 [verbose debug info unavailable] [ 0.582489] illegal operation: 0001 [#1] SMP DEBUG_PAGEALLOC [ 0.582496] Modules linked in: [ 0.582501] CPU: 0 Tainted: G W 2.6.31-rc1-dirty #273 [ 0.582506] Process swapper (pid: 1, task: 000000003f218000, ksp: 000000003f2238e8) [ 0.582510] Krnl PSW : 0704200180000000 0000000000000012 (0x12) [ 0.582518] R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 [ 0.582524] Krnl GPRS: 0000000000036727 0000000000000010 0000000000000001 0000000000000001 [ 0.582529] 00000000001dfefa 0000000000000000 0000000000000000 0000000000000040 [ 0.582534] 0000000001fff0f0 0000000001790628 0000000002296048 0000000002296048 [ 0.582540] 00000000020c438e 0000000001786000 0000000002014a66 000000003f223e60 [ 0.582553] Krnl Code:>0000000000000012: 0000 unknown [ 0.582559] 0000000000000014: 0000 unknown [ 0.582564] 0000000000000016: 0000 unknown [ 0.582570] 0000000000000018: 0000 unknown [ 0.582575] 000000000000001a: 0000 unknown [ 0.582580] 000000000000001c: 0000 unknown [ 0.582585] 000000000000001e: 0000 unknown [ 0.582591] 0000000000000020: 0000 unknown [ 0.582596] Call Trace: [ 0.582599] ([<0000000002014a46>] kernel_init+0x622/0x7a0) [ 0.582607] [<0000000000113e22>] kernel_thread_starter+0x6/0xc [ 0.582615] [<0000000000113e1c>] kernel_thread_starter+0x0/0xc [ 0.582621] INFO: lockdep is turned off. [ 0.582624] Last Breaking-Event-Address: [ 0.582627] [<0000000002014a64>] kernel_init+0x640/0x7a0 Cc: Peter Oberparleiter Cc: Ingo Molnar Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 133890103b9de08904f909995973e4b5c08a780e Author: Davide Libenzi Date: Tue Jun 30 11:41:11 2009 -0700 eventfd: revised interface and cleanups Change the eventfd interface to de-couple the eventfd memory context, from the file pointer instance. Without such change, there is no clean way to racely free handle the POLLHUP event sent when the last instance of the file* goes away. Also, now the internal eventfd APIs are using the eventfd context instead of the file*. This patch is required by KVM's IRQfd code, which is still under development. Signed-off-by: Davide Libenzi Cc: Gregory Haskins Cc: Rusty Russell Cc: Benjamin LaHaise Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8d966efd9a46a9a35beac50cbff6e30565125ef Author: NeilBrown Date: Wed Jul 1 11:14:04 2009 +1000 md: avoid dereferencing NULL pointer when accessing suspend_* sysfs attributes. If we try to modify one of the md/ sysfs files suspend_lo or suspend_hi when the array is not active, we dereference a NULL. Protect against that. Cc: stable@kernel.org Signed-off-by: NeilBrown commit 8f6c2e4b325a8e9f8f47febb2fd0ed4fae7d45a9 Author: Martin K. Petersen Date: Wed Jul 1 11:13:45 2009 +1000 md: Use new topology calls to indicate alignment and I/O sizes Switch MD over to the new disk_stack_limits() function which checks for aligment and adjusts preferred I/O sizes when stacking. Also indicate preferred I/O sizes where applicable. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Snitzer Signed-off-by: NeilBrown commit 944c54e7fc5ccf961bef2b5449958436b85de459 Author: Ingo Molnar Date: Wed Jul 1 00:10:16 2009 +0200 ia64/PCI: adjust section annotation for pcibios_setup() Should be __init. Acked-by: Tony Luck Signed-off-by: Jesse Barnes commit fb9c818873a788c5c01c9868cc6050df96e2c7df Author: Anton Blanchard Date: Wed Jul 1 09:00:49 2009 +1000 perf report: Add hypervisor dso Add a dso for hypervisor samples. We don't get any symbol information on the ppc64 hypervisor but this at least gives us a high level summary of the time spent in there. Signed-off-by: Anton Blanchard Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230141.182536873@samba.org> Signed-off-by: Ingo Molnar commit d8db1b57d31a6b30ea2f0df318eab50fc92b38d6 Author: Anton Blanchard Date: Wed Jul 1 09:00:48 2009 +1000 perf report: Fix reporting of hypervisor PERF_EVENT_MISC_* is not a bitmask, so we have to mask and compare. Signed-off-by: Anton Blanchard Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230141.088394681@samba.org> Signed-off-by: Ingo Molnar commit 3a3393ef75a14ae259a82f3f38624efa17884168 Author: Anton Blanchard Date: Wed Jul 1 09:00:47 2009 +1000 perf top: Add ppc64 specific skip symbols and strip ppc64 . prefix Filter out some ppc64 specific idle loop functions and remove leading '.' on ppc64 text symbols. Signed-off-by: Anton Blanchard Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230140.995643441@samba.org> Signed-off-by: Ingo Molnar commit 2ab52083ffc057014e502cf3473adc41436922fa Author: Anton Blanchard Date: Wed Jul 1 09:00:46 2009 +1000 perf top: Move skip symbols to an array Move the list of symbols we skip into an array, making it easier to add new ones. Signed-off-by: Anton Blanchard Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230140.904782938@samba.org> Signed-off-by: Ingo Molnar commit 6717534ddc328ae5cdf89f1ef802db83fc451f19 Author: Anton Blanchard Date: Wed Jul 1 09:00:45 2009 +1000 perf_counter tools: Remove zlib dependency The zlib devel libraries may not be installed and since we aren't using zlib we may as well remove it. Signed-off-by: Anton Blanchard Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230140.802078956@samba.org> Signed-off-by: Ingo Molnar commit 1f208ea67821703fd4de056ea6f0baa81f4ad4a5 Author: Anton Blanchard Date: Wed Jul 1 09:00:44 2009 +1000 perf report: Fix -z option Fix a copy and paste error, -z was setting the group option. Signed-off-by: Anton Blanchard Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230140.714204656@samba.org> Signed-off-by: Ingo Molnar commit bfdb46ce8494eae30dbaae65c81e684e6db6228b Author: Ryan Mallon Date: Thu Jun 18 11:26:26 2009 +1200 Add ds2782 battery gas gauge driver This patch adds a driver for ds2782 battery devices. Signed-off-by: Ryan Mallon Signed-off-by: Anton Vorontsov commit 8f7e57985fa794ab6afdcd3642581d9e1fe6de31 Author: Andres Salomon Date: Tue Jun 30 02:16:17 2009 -0400 olpc_battery: Ensure that the TRICKLE bit is checked There are times when the battery is present but trickle charging, and the EC sets only the TRICKLE bit. So we must check for the bit when we're checking the charging/present status. Signed-off-by: Andres Salomon Signed-off-by: Anton Vorontsov commit 04a820ead0838c76e9c1242feb5e71048bf3e9dc Author: Andres Salomon Date: Tue Jun 30 02:14:00 2009 -0400 olpc_battery: Fix up eeprom read function The eeprom read function was placing values into the wrong place in 'buf'; we were starting from buf[off], rather than buf[0]. Also, the for loop that we were using was much uglier than it needed to be. This cleans it up a bit. Signed-off-by: Andres Salomon Signed-off-by: Anton Vorontsov commit 789d03f584484af85dbdc64935270c8e45f36ef7 Author: Jan Beulich Date: Tue Jun 30 11:52:23 2009 +0100 x86: Fix fixmap ordering The merge of the 32- and 64-bit fixmap headers made a latent bug on x86-64 a real one: with the right config settings it is possible for FIX_OHCI1394_BASE to overlap the FIX_BTMAP_* range. Signed-off-by: Jan Beulich Cc: # for 2.6.30.x LKML-Reference: <4A4A0A8702000078000082E8@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 7bec7a9134c25cecb0d7029199b59f7b1bef35b8 Author: Arnaldo Carvalho de Melo Date: Tue Jun 30 19:01:22 2009 -0300 perf report: Add --symbols parameter So that we can filter by symbol name. The 'pfunct' utility in the 'dwarves' package can be used to create a file with the functions one wants. Example: [acme@doppio pahole]$ pfunct /usr/lib/debug/usr/lib64/libdw-0.141.so.debug | grep dwarf > /tmp/dwarf.symbols [acme@doppio pahole]$ wc -l /tmp/dwarf.symbols 93 /tmp/dwarf.symbols [acme@doppio pahole]$ head -3 /tmp/dwarf.symbols dwfl_addrdwarf dwfl_module_getdwarf dwfl_getdwarf [acme@doppio pahole]$ perf report --sort comm,dso,symbol --comms pahole --dsos /usr/lib64/libdw-0.141.so --symbols file:///tmp/dwarf.symbols 33.99% pahole /usr/lib64/libdw-0.141.so [.] dwarf_tag 29.07% pahole /usr/lib64/libdw-0.141.so [.] dwarf_decl_file 27.71% pahole /usr/lib64/libdw-0.141.so [.] dwarf_getsrclines 4.54% pahole /usr/lib64/libdw-0.141.so 0x00000000007400 3.93% pahole /usr/lib64/libdw-0.141.so [.] dwarf_decl_line 0.46% pahole /usr/lib64/libdw-0.141.so [.] dwarf_getlocation 0.18% pahole /usr/lib64/libdw-0.141.so [.] __libdwarf_next_prime 0.13% pahole /usr/lib64/libdw-0.141.so [.] dwarf_diecu [acme@doppio pahole]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1246399282-20934-4-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit cc8b88b15ab8e5ae162a46c4b6b286b555190dd1 Author: Arnaldo Carvalho de Melo Date: Tue Jun 30 19:01:21 2009 -0300 perf report: Add --comms parameter So that we can filter by comm. Symbols in other comms won't be accounted for. Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1246399282-20934-3-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 25903407da21552419e0955705d6d8c8e601cb2e Author: Arnaldo Carvalho de Melo Date: Tue Jun 30 19:01:20 2009 -0300 perf report: Add --dsos parameter So that we can filter by dso. Symbols in other dsos won't be accounted for. Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1246399282-20934-2-git-send-email-acme@redhat.com> Signed-off-by: Ingo Molnar commit 9e314996e3dc5189b9b36dce67088e882e989897 Author: Mike Galbraith Date: Tue Jun 30 15:00:20 2009 +0200 x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c Noticed the zero-sized function symbol while looking at 'perf' profiles, it causes the profiler to display those addresses in hexa. Turns out that this was wrong/bogus for an eternity. Signed-off-by: Mike Galbraith Acked-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov LKML-Reference: <1246366820.6538.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit fadfd2b6ba8838a6cc458dbae214993a177a3ee9 Author: Tony Luck Date: Tue Jun 30 14:28:54 2009 -0700 Add Fenghua Yu as temporary co-maintainer for ia64 I'm taking my sabbatical from Intel for July/August 2009. Fenghua Yu will handle ia64 architecture while I'm gone. Signed-off-by: Tony Luck commit fa276f36f3d8743295e067fb483b42dca8bd1ece Author: Jan Beulich Date: Tue Jun 30 12:01:57 2009 +0100 [IA64] address compiler warnings perfmon.c/salinfo.c perfmon.c has a dubious cast directly from "int" to "void *". Add an intermediate cast to "long" to keep gcc happy. salinfo.c uses "down_trylock()" in a highly creative way (explained in the comments in the file) ... but it does kick out this warning: arch/ia64/kernel/salinfo.c:195: warning: ignoring return value of 'down_trylock' which people occasionally try to "fix" in ways that do not work. Use some casts to keep gcc quiet. Signed-off-by: Jan Beulich Signed-off-by: Tony Luck commit 58782b34e9ffcc04619634efe9658263344ed188 Author: Joe Perches Date: Sun Jun 28 09:26:07 2009 -0700 [IA64] Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Tony Luck commit 2be8412c6cef97b01dfaae71c04bf585d3d93a3b Author: Alan Cox Date: Tue Jun 30 14:02:00 2009 -0700 [IA64] sprintf should not be used with same source & destination address This happens to work at the moment but isn't a good idea so fix it the simple way. Resolves-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13576 Signed-off-by: Alan Cox Signed-off-by: Tony Luck commit 626fdfec1588ac1341a37805809d03a719d977e0 Author: Yinghai Lu Date: Wed Jun 24 20:00:12 2009 -0700 x86/PCI: get root CRS before scanning children This allows us to remove adjust_transparent_bridge_resources and give x86_pci_root_bus_res_quirks a chance when _CRS is not used or not there. Acked-by: Gary Hade Tested-by: Gary Hade Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 2cdb3f1d834aab27a927be7555fbf4f9e43e9261 Author: Yinghai Lu Date: Wed Jun 24 19:01:19 2009 -0700 x86/PCI: fix boundary checking when using root CRS Don't touch info->res_num if we are out of space. Acked-by: Gary Hade Tested-by: Gary Hade Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit f7c2df9b55212d5ec94169a4de11e44c683e0af4 Author: Jiri Slaby Date: Tue Jun 30 21:10:13 2009 +0100 AFS: Fix lock imbalance Don't unlock on vfs_rejected_lock path in afs_do_setlk, since the lock is unlocked after abort_attempt label. Signed-off-by: Jiri Slaby Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 008440e3ad4b72f5048d1b1f6f5ed894fdc5ad08 Author: Jarek Poplawski Date: Tue Jun 30 12:47:19 2009 -0700 ipv4: Fix fib_trie rebalancing, part 3 Alas current delaying of freeing old tnodes by RCU in trie_rebalance is still not enough because we can free a top tnode before updating a t->trie pointer. Reported-by: Pawel Staszewski Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 01e532981460594fffbf9b992ecfc96a78369924 Author: Naohiro Ooiwa Date: Tue Jun 30 12:44:19 2009 -0700 bnx2x: Fix the behavior of ethtool when ONBOOT=no This is the same fix as commit 7959ea254ed18faee41160b1c50b3c9664735967 ("bnx2: Fix the behavior of ethtool when ONBOOT=no"), but for bnx2x: -------------------- When configure in ifcfg-eth* is ONBOOT=no, the behavior of ethtool command is wrong. # grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth2 ONBOOT=no # ethtool eth2 | tail -n1 Link detected: yes I think "Link detected" should be "no". -------------------- Signed-off-by: Naohiro Ooiwa Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3b463ae0c6264f70e5d4c0a9c46af20fed43c96e Author: John Muir Date: Sun May 31 11:13:57 2009 -0400 fuse: invalidation reverse calls Add notification messages that allow the filesystem to invalidate VFS caches. Two notifications are added: 1) inode invalidation - invalidate cached attributes - invalidate a range of pages in the page cache (this is optional) 2) dentry invalidation - try to invalidate a subtree in the dentry cache Care must be taken while accessing the 'struct super_block' for the mount, as it can go away while an invalidation is in progress. To prevent this, introduce a rw-semaphore, that is taken for read during the invalidation and taken for write in the ->kill_sb callback. Cc: Csaba Henk Cc: Anand Avati Signed-off-by: Miklos Szeredi commit e0a43ddcc08c34dbd666d93600fd23914505f4aa Author: Miklos Szeredi Date: Tue Jun 30 20:12:23 2009 +0200 fuse: allow umask processing in userspace This patch lets filesystems handle masking the file mode on creation. This is needed if filesystem is using ACLs. - The CREATE, MKDIR and MKNOD requests are extended with a "umask" parameter. - A new FUSE_DONT_MASK flag is added to the INIT request/reply. With this the filesystem may request that the create mode is not masked. CC: Jean-Pierre André Signed-off-by: Miklos Szeredi commit 201fa69a2849536ef2912e8e971ec0b01c04eff4 Author: Miklos Szeredi Date: Tue Jun 30 20:06:24 2009 +0200 fuse: fix bad return value in fuse_file_poll() Fix fuse_file_poll() which returned a -errno value instead of a poll mask. Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit b4c458b3a23d76936e76678f2074b1528f129f7a Author: Csaba Henk Date: Mon Jun 29 03:26:53 2009 +0200 fuse: fix return value of fuse_dev_write() On 64 bit systems -- where sizeof(ssize_t) > sizeof(int) -- the following test exposes a bug due to a non-careful return of an int or unsigned value: implement a FUSE filesystem which sends an unsolicited notification to the kernel with invalid opcode. The respective write to /dev/fuse will return (1 << 32) - EINVAL with errno == 0 instead of -1 with errno == EINVAL. Signed-off-by: Miklos Szeredi CC: stable@kernel.org commit f5812a7a336fb952d819e4427b9a2dce02368e82 Author: Arnaldo Carvalho de Melo Date: Tue Jun 30 11:43:17 2009 -0300 perf_counter tools: Adjust only prelinked symbol's addresses I.e. we can't handle these two kinds of files in the same way: 1) prelinked system library: [acme@doppio pahole]$ readelf -s /usr/lib64/libdw-0.141.so | egrep 'FUNC.+GLOBAL.+dwfl_report_elf' 278: 00000030450105a0 261 FUNC GLOBAL DEFAULT 12 dwfl_report_elf@@ELFUTILS_0.122 2) not prelinked library with debug information from a -debuginfo package: [acme@doppio pahole]$ readelf -s /usr/lib/debug/usr/lib64/libdw-0.141.so.debug | egrep 'FUNC.+GLOBAL.+dwfl_report_elf' 629: 00000000000105a0 261 FUNC GLOBAL DEFAULT 12 dwfl_report_elf [acme@doppio pahole]$ Now the numbers I got for a pahole perf run are in line with the numbers I get from oprofile. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090630144317.GB12663@ghostprotocols.net> Signed-off-by: Ingo Molnar commit ea9df47cc92573b159ef3b4fda516c32cba9c4fd Author: Mike Snitzer Date: Tue Jun 30 15:18:17 2009 +0100 dm table: fix blk_stack_limits arg to use bytes not sectors The offset passed to blk_stack_limits() must be in bytes not sectors. Fixes false warnings like the following: device-mapper: table: 254:1: target device sda6 is misaligned Signed-off-by: Mike Snitzer Reported-by: Frans Pop Tested-by: Frans Pop Signed-off-by: Alasdair G Kergon commit 874d2f61d31e596c36af7732dc1b3aa2dc233824 Author: Milan Broz Date: Tue Jun 30 15:18:14 2009 +0100 dm exception store: really fix type lookup Fix exception store name handling. We need to reference exception store by zero terminated string. Fixes regression introduced in commit f6bd4eb73cdf2a5bf954e497972842f39cabb7e3 Cc: Yi Yang Cc: Jonathan Brassow Cc: stable@kernel.org Cc: Andrew Morton Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 57e7986ed142417498155ebcd5eaf617ac37136d Author: Paul Mackerras Date: Tue Jun 30 16:07:19 2009 +1000 perf_counter: Provide a way to enable counters on exec This provides a way to mark a counter to be enabled on the next exec. This is useful for measuring the total activity of a program without including overhead from the process that launches it. This also changes the perf stat command to use this new facility. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <19017.43927.838745.689203@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 1bdd7419910c1506151e7b9e2d60c6980e015f76 Author: Janusz Krzysztofik Date: Sun Jun 28 00:21:05 2009 +0200 ASoC: OMAP: fix OMAP1510 broken PCM pointer callback This patch tries to work around the problem of broken OMAP1510 PCM playback pointer calculation by replacing DMA function call that incorrectly tries to read the value form DMA hardware with a value computed locally from an already maintained variable omap_runtime_data.period_index. Tested on OMAP5910 based Amstrad Delta (E3) using work in progress ASoC driver. Based on linux-2.6-asoc.git v2.6.31-rc1. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 40d9ec14e7e1f62d2379ecc1b5ee00ddfc2a5d0c Author: Grant Likely Date: Sun Jun 28 01:42:06 2009 -0600 ASoC: remove BROKEN from Efika and pcm030 fabric drivers The needed spin_event_timeout() macro is now merged in from the powerpc tree, so these drivers are no longer broken. This reverts commit 0c0e09e21a9e7bc6ca54e06ef3d497255ca26383 (ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved) Tested against 2.6.31-rc1. Signed-off-by: Grant Likely Acked-by: Jon Smirl Signed-off-by: Mark Brown commit 6a84c234da06a4ac0c1b4c819b83cf264674c2d8 Author: Grant Likely Date: Sun Jun 28 01:41:52 2009 -0600 ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfig ALSA SoC drivers should be specify SND_SOC_AC97_BUS instead, not AC97_BUS. Without SND_SOC_AC97_BUS defined, an AC97 device will not get correctly registered on the AC97 bus, which prevents thinks like the WM9712 touchscreen driver from getting probed. Tested against 2.6.31-rc1. Signed-off-by: Grant Likely Acked-by: Jon Smirl Signed-off-by: Mark Brown commit 5a4f13fad1ab5bd08dea78fc55321e429d83cddf Merge: ec9c45d e18ed14 Author: Linus Torvalds Date: Mon Jun 29 20:07:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide: memory overrun in ide_get_identity_ioctl() on big endian machines using ioctl HDIO_OBSOLETE_IDENTITY ide: fix resume for CONFIG_BLK_DEV_IDEACPI=y ide-cd: handle fragmented packet commands gracefully ide: always kill the whole request on error ide: fix ide_kill_rq() for special ide-{floppy,tape} driver requests commit f3a0a52fff4dbfdea2dccc908d00c038481d888e Author: David Woodhouse Date: Tue Jun 30 03:40:07 2009 +0100 intel-iommu: Performance improvement for dma_pte_free_pagetable() As with other functions, batch the CPU data cache flushes and don't keep recalculating PTE addresses. Signed-off-by: David Woodhouse commit 3d7b0e4154b4963d6bd39991ec8eaa09caeb3994 Author: David Woodhouse Date: Tue Jun 30 03:38:09 2009 +0100 intel-iommu: Don't free too much in dma_pte_free_pagetable() The loop condition was wrong -- we should free a PMD only if its _entire_ range is within the range we're intending to clear. The early-termination condition was right, but not the loop. Signed-off-by: David Woodhouse commit 1bf20f0dc5629032ddd07617139d9fbca66c1642 Author: David Woodhouse Date: Mon Jun 29 22:06:43 2009 +0100 intel-iommu: dump mappings but don't die on pte already set Signed-off-by: David Woodhouse commit 9051aa0268dc1c3e42cd79a802b0af1f2bfcadae Author: David Woodhouse Date: Mon Jun 29 12:30:54 2009 +0100 intel-iommu: Combine domain_pfn_mapping() and domain_sg_mapping() Signed-off-by: David Woodhouse commit e1605495c716ef4eebdb7606bcd1b593f28e2837 Author: David Woodhouse Date: Mon Jun 29 11:17:38 2009 +0100 intel-iommu: Introduce domain_sg_mapping() to speed up intel_map_sg() Instead of calling domain_pfn_mapping() repeatedly with single or small numbers of pages, just pass the sglist in. It can optimise the number of cache flushes like domain_pfn_mapping() does, and gives a huge speedup for large scatterlists. Signed-off-by: David Woodhouse commit ff0ac74afb5b9916641723a78796d4ee7937c2ea Author: Wei Yongjun Date: Sun Jun 28 22:49:37 2009 +0000 sctp: xmit sctp packet always return no route error Commit 'net: skb->dst accessors'(adf30907d63893e4208dfe3f5c88ae12bc2f25d5) broken the sctp protocol stack, the sctp packet can never be sent out after Eric Dumazet's patch, which have typo in the sctp code. Signed-off-by: Wei Yongjun Acked-by: Eric Dumazet Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit d51e9b0d94336db56a13fdc65bb30751e3ea33b7 Author: Graf Yang Date: Mon Jun 29 09:34:20 2009 +0000 net/irda: convert bfin_sir to net_device_ops Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 1802571b9865c0fc1d8d0fa39cf73275f3a75af3 Author: Wei Yongjun Date: Sun Jun 28 18:42:53 2009 +0000 xfrm: use xfrm_addr_cmp() instead of compare addresses directly Clean up to use xfrm_addr_cmp() instead of compare addresses directly. Signed-off-by: Wei Yongjun Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 6828b92bd21acd65113dfe0541f19f5df0d9668f Author: Herbert Xu Date: Sun Jun 28 18:06:41 2009 +0000 tcp: Do not tack on TSO data to non-TSO packet If a socket starts out on a non-TSO route, and then switches to a TSO route, then we will tack on data to the tail of the tx queue even if it started out life as non-TSO. This is suboptimal because all of it will then be copied and checksummed unnecessarily. This patch fixes this by ensuring that skb->ip_summed is set to CHECKSUM_PARTIAL before appending extra data beyond the MSS. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8e5b9dda99cc86bdbd822935fcc37c5808e271b3 Author: Herbert Xu Date: Sun Jun 28 18:03:30 2009 +0000 tcp: Stop non-TSO packets morphing into TSO If a socket starts out on a non-TSO route, and then switches to a TSO route, then the tail on the tx queue can morph into a TSO packet, causing mischief because the rest of the stack does not expect a partially linear TSO packet. This patch fixes this by ensuring that skb->ip_summed is set to CHECKSUM_PARTIAL before declaring a packet as TSO. Reported-by: Johannes Berg Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e18ed145c7f556f1de8350c32739bf35b26df705 Author: Christian Engelmayer Date: Mon Jun 29 19:31:41 2009 -0700 ide: memory overrun in ide_get_identity_ioctl() on big endian machines using ioctl HDIO_OBSOLETE_IDENTITY This patch fixes a memory overrun in function ide_get_identity_ioctl() which chooses the size of a memory buffer depending on the ioctl command that led to the function call, however, passes that buffer to a function which needs the buffer size to be always chosen unconditionally. Due to conditional compilation the memory overrun can only happen on big endian machines. The error can be triggered using ioctl HDIO_OBSOLETE_IDENTITY. Usage of ioctl HDIO_GET_IDENTITY is safe. Signed-off-by: Christian Engelmayer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 9c0346bd0891eb009f5cd08b868ff41c65804dbe Merge: 53bd972 dfd06fe Author: David S. Miller Date: Mon Jun 29 19:23:53 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 53bd9728bf9be7fc3b3147e821dbeb71d767c354 Merge: bd46cb6 d6d3f08 Author: David S. Miller Date: Mon Jun 29 19:22:31 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 2bf427b25b79eb7cea27963a66c3d4684cae0e0c Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 29 19:20:42 2009 -0700 ide: fix resume for CONFIG_BLK_DEV_IDEACPI=y commit 2f0d0fd2a605666d38e290c5c0d2907484352dc4 ("ide-acpi: cleanup do_drive_get_GTF()") didn't account for the lack of hwif->acpidata check in generic_ide_suspend() [ indirect user of do_drive_get_GTF() through ide_acpi_exec_tfs() ] resulting in broken resume when ACPI support is enabled but ACPI data is unavailable. Fix it by adding ide_port_acpi() helper for checking if port needs ACPI handling and cleaning generic_ide_{suspend,resume}() to use it instead of hiding hwif->acpidata and ide_noacpi checks in IDE ACPI helpers (this should help in preventing similar bugs in the future). While at it: - kill superfluous debugging printks in ide_acpi_{get,push}_timing() Reported-and-tested-by: Etienne Basset Also-reported-and-tested-by: Jeff Chua Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit ec9c45d456fd7f1e400c75e6c8040d1deb9d4fff Merge: aa221cb 59c5fe6 Author: Linus Torvalds Date: Mon Jun 29 16:18:19 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits) [ARM] 5562/2: at91: add gpio button support for at91sam9g20ek [ARM] 5563/1: at91: at91sam9rlek lcd interface correction [ARM] 5565/2: Use PAGE_SIZE and RO_DATA() in link script [ARM] 5560/1: Avoid buffer overrun in case of an invalid IRQ [ARM] GTA02: build fixes (s3c2410_nand_set usage) [ARM] MINI2440: Add missing flash_bbt flat to NAND [ARM] s3c2410_defconfig: add MINI2440 machine to build [ARM] S3C: Fix S3C24XX build to not include s3c64xx IIS devices [ARM] S3C24XX: Fix missing s3c_iis_device. [ARM] MINI2440: remove duplicated #include [ARM] S3C24XX: Fix spi-bus configuration build errors OMAP: Fix IOMEM macro for assembly [ARM] S3C: Remove unused CONFIG_DEBUG_S3C_PORT [ARM] S3C24XX: Fix use of CONFIG_S3C24XX_PWM OMAP2/3: Initialize gpio debounce register OMAP: IOMMU: function flush_iotlb_page is not flushing correct entry OMAP3: RX51: Use OneNAND sync read / write OMAP2/3: gpmc-onenand: correct use of async timings OMAP3: DMA: Enable idlemodes for DMA OCP OMAP3: SRAM size fix for HS/EMU devices ... commit 051ae7f7344f453616b6b10332d4d8e1d40ed823 Author: Paul Mackerras Date: Mon Jun 29 21:13:21 2009 +1000 perf_counter tools: Reduce perf stat measurement overhead/skew Vince Weaver reported a 'perf stat' measurement overhead in the count of retired instructions, which can amount to a +6000 instructions inflated count in the reported count. At present, perf stat creates its counters on the perf process. Thus the counters count the fork and various other activity in both the parent and child, such as the resolver overhead for resolving PLT entries for any libc functions that haven't been called before, such as execvp. This reduces the overhead by creating the counters on the child process after the fork, using a couple of pipes to synchronize so that the child process waits until the parent has created the counters before doing the exec. To eliminate the PLT resolution overhead on calling execvp, this does a dummy execvp first which will always fail. With this, the overhead of executing a program goes down from over 4800 instructions to about 90 instructions on powerpc (32-bit). This was measured with a statically-linked program written in assembler which only does the 3 instructions needed to call _exit(0). Before: $ perf stat -e 0:1:u ./three Performance counter stats for './three': 4858 instructions 0.001274523 seconds time elapsed After: $ perf stat -e 0:1:u ./three Performance counter stats for './three': 92 instructions 0.000468153 seconds time elapsed Reported-by: Vince Weaver Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <19016.41425.814043.870352@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit aa221cb61792b941234ab458020c93ed97810161 Merge: 2bfdd79 e6ce306 Author: Linus Torvalds Date: Mon Jun 29 13:09:39 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: fs: allow d_instantiate to be called with negative parent dentry commit 210ad39fb7ef0bc0494483f517f42524f16bb2a7 Author: Ingo Molnar Date: Mon Jun 29 21:50:54 2009 +0200 perf stat: Use percentages for scaling output Peter expressed a strong preference for percentage based display of scaled values - so revert to that from the recently introduced multiplication-factor unit. Reported-by: Peter Zijlstra Cc: Jaswinder Singh Rajput Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 12abb8ba8444f7c9b355bbdd44a6d0839f7a41b6 Author: Hidetoshi Seto Date: Wed Jun 24 12:08:09 2009 +0900 PCI MSI: Fix restoration of MSI/MSI-X mask states in suspend/resume There are 2 problems on mask states in suspend/resume. [1]: It is better to restore the mask states of MSI/MSI-X to initial states (MSI is unmasked, MSI-X is masked) when we release the device. The pci_msi_shutdown() does the restoration of mask states for MSI, while the msi_free_irqs() does it for MSI-X. In other words, in the "disable" path both of MSI and MSI-X are handled, but in the "shutdown" path only MSI is handled. MSI: pci_disable_msi() => pci_msi_shutdown() [ mask states for MSI restored ] => msi_set_enable(dev, pos, 0); => msi_free_irqs() MSI-X: pci_disable_msix() => pci_msix_shutdown() => msix_set_enable(dev, 0); => msix_free_all_irqs => msi_free_irqs() [ mask states for MSI-X restored ] This patch moves the masking for MSI-X from msi_free_irqs() to pci_msix_shutdown(). This change has some positive side effects: - It prevents OS from touching mask states before reading preserved bits in the register, which can be happen if msi_free_irqs() is called from error path in msix_capability_init(). - It also prevents touching the register after turning off MSI-X in "disable" path, which can be a problem on some devices. [2]: We have cache of the mask state in msi_desc, which is automatically updated when msi/msix_mask_irq() is called. This cached states are used for the resume. But since what need to be restored in the resume is the states before the shutdown on the suspend, calling msi/msix_mask_irq() from pci_msi/msix_shutdown() is not appropriate. This patch introduces __msi/msix_mask_irq() that do mask as same as msi/msix_mask_irq() but does not update cached state, for use in pci_msi/msix_shutdown(). [updated: get rid of msi/msix_mask_irq_nocache() (proposed by Matthew Wilcox)] Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 7ba1930db02fc3118165338ef4e562869f575583 Author: Hidetoshi Seto Date: Tue Jun 23 17:39:27 2009 +0900 PCI MSI: Unmask MSI if setup failed The initial state of mask register of MSI is unmasked. We set it masked before calling arch_setup_msi_irqs(). If arch_setup_msi_irq() fails, it is better to restore the state of the mask register. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 2c21fd4b333e4c780a46edcd6d1e85bfc6cdf371 Author: Hidetoshi Seto Date: Tue Jun 23 17:40:04 2009 +0900 PCI MSI: shorten PCI_MSIX_ENTRY_* symbol names These names are too long! Drop _OFFSET to save some bytes/lines. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 2fc90f6133a87da8177636866557d4cc5f56e661 Author: Alexey Zaytsev Date: Wed Jun 24 16:22:30 2009 +0400 PCI: make pci_name() take const argument Since this function should never modify it (saves warnings when called with const args too). Signed-off-by: Alexey Zaytsev Signed-off-by: Jesse Barnes commit 7a661c6f1082693a7e9627e9ad2d1546a9337fdc Author: Alan Cox Date: Wed Jun 24 16:02:27 2009 +0100 PCI: More PATA quirks for not entering D3 The ALi loses some state if it goes into D3. Unfortunately even with the chipset documents I can't figure out how to restore some bits of it. The VIA one saves/restores apparently fine but the ACPI _GTM methods break on some platforms if we do this and this causes cable misdetections. These are both effectively regressions as historically nothing matched the devices and then decided not to bind to them. Nowdays something is binding to all sorts of devices and a result they get dumped into D3. Signed-off-by: Alan Cox Acked-by: Jeff Garzik Signed-off-by: Jesse Barnes commit 503998ca4a295f7da233689850ba4b9d13cf41e7 Author: Randy Dunlap Date: Wed Jun 24 09:18:14 2009 -0700 PCI: fix kernel-doc warnings Add documentation for missing parameters in PCI hotplug code. Signed-off-by: Randy Dunlap Signed-off-by: Jesse Barnes commit 654b75e044119bf8e7d773bce41ea039281bbfbe Author: Yu Zhao Date: Fri Jun 26 14:04:46 2009 +0800 PCI: check if bus has a proper bridge device before triggering SBR For devices attached to the root bus, we can't trigger Secondary Bus Reset because there is no bridge device associated with the bus. So need to check bus->self again NULL first before using it. Reviewed-by: Kenji Kaneshige Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 977badb2f385db14d8ba3fcf02fbd7ead8e63d0f Author: Fernando Luis Vázquez Cao Date: Fri Jun 26 11:27:41 2009 +0900 PCI: remove pci_dac_dma_... APIs on mn10300 It seems that mn10300 made it upstream after Jan Beulich's pci_dac_dma_* cleanup work and still defines pci_dac_dma_supported(). This API is not required by the PCI subsystem anymore, so remove it. Acked-by: David Howells Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jesse Barnes commit 50e5628a4ac465a52f0d4ca6567343be029731a0 Author: Joe Perches Date: Sun Jun 28 09:26:40 2009 -0700 PCI ECRC: Remove unnecessary semicolons Acked-by: Andrew Patterson Signed-off-by: Joe Perches Signed-off-by: Jesse Barnes commit 0d07348931daef854aca8c834a89f1a99ba4ff2b Author: Hidetoshi Seto Date: Wed Jun 24 12:08:27 2009 +0900 PCI MSI: Return if alloc_msi_entry for MSI-X failed In current code it continues setup even if alloc_msi_entry() for MSI-X is failed due to lack of memory. It means arch_setup_msi_irqs() might be called with msi_desc entries less than its argument nvec. At least x86's arch_setup_msi_irqs() uses list_for_each_entry() for dev->msi_list that suspected to have entries same numbers as nvec, and it doesn't check the number of allocated vectors and passed arg nvec. Therefore it will result in success of pci_enable_msix(), with less vectors allocated than requested. This patch fixes the error route to return -ENOMEM, instead of continuing the setup (proposed by Matthew Wilcox). Note that there is no iounmap in msi_free_irqs() if no msi_disc is allocated. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 2bfdd79eaa0043346e773ba5f6cfd811ea31b73d Merge: bb1e9b8 9ea5ca7 Author: Linus Torvalds Date: Mon Jun 29 09:46:12 2009 -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: OSS: mpu401, fix deadlock ALSA: hda - Add missing initializations for ALC268 and ALC269 ALSA: cmi8330: fix MPU-401 PnP init copy&paste bug ALSA: hda - Line In for Acer Inspire 6530G model sound: oxygen: make mic volume control mono MAINTAINERS: Add entry for twl4030 series soc codec driver ALSA: lx6464es - configure ethersound io channels sound: Use PCI_VDEVICE for CREATIVE and ECTIVA sound: Use PCI_VDEVICE ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G ALSA: hda - Fix acer-aspire-6530g model quirk ALSA: hda - Add pin-sense trigger when needed for Realtek codecs ALSA: hda - Fix support for Samsung P50 with AD1986A codec ALSA: hda - Generalize the pin-detect quirk for Lenovo N100 ALSA: hda - Simplify AD1986A mixer definitions commit bb1e9b844b989fc9a4dfffbf7a064703cda2a6a6 Merge: e717f33 94e5d71 Author: Linus Torvalds Date: Mon Jun 29 09:44:44 2009 -0700 Merge branch 'bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: integrity: add ima_counts_put (updated) integrity: ima audit hash_exists fix integrity: ima mq_open imbalance msg fix commit e717f33e989dbe6446547d7ca97489a980056f3c Merge: 1bfd4d5 ff8a4ba Author: Linus Torvalds Date: Mon Jun 29 09:42:01 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: Revert "x86: cap iomem_resource to addressable physical memory" commit 1bfd4d586057e7f608501de62bacdc82974c7cfa Merge: 44b3615 1d469c6 Author: Linus Torvalds Date: Mon Jun 29 09:41:12 2009 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Fix tdo24m crash on kmalloc commit 44b3615b8cb3b016a49eb7ef4236e77a77793cec Author: Ingo Molnar Date: Mon Jun 29 10:07:54 2009 +0200 eeepc-laptop: Fix build failure with HOTPLUG_PCI && !SYSFS FYI, there's a post-rc1 build regression with certain configs: drivers/built-in.o: In function `pci_hp_deregister': (.text+0xb166): undefined reference to `pci_hp_remove_module_link' drivers/built-in.o: In function `pci_hp_deregister': (.text+0xb19f): undefined reference to `pci_destroy_slot' drivers/built-in.o: In function `__pci_hp_register': (.text+0xb583): undefined reference to `pci_create_slot' drivers/built-in.o: In function `__pci_hp_register': (.text+0xb5b1): undefined reference to `pci_hp_create_module_link' make: *** [.tmp_vmlinux1] Error 1 Caused by: | 2b121bc262fa03c94e653b2d44356c2f86c1bcdc is first bad commit | commit 2b121bc262fa03c94e653b2d44356c2f86c1bcdc | Date: Thu Jun 25 13:25:36 2009 +0200 | | eeepc-laptop: Register as a pci-hotplug device which changed the driver to use the PCI hotplug infrastructure, but didn't do a good job on the Kconfig rules. Signed-off-by: Ingo Molnar Acked-by: Randy Dunlap Acked-by: Len Brown Signed-off-by: Linus Torvalds commit aef29bc2603014cb28dfe39bab8d888546fe18e7 Author: Alan Cox Date: Mon Jun 29 15:21:47 2009 +0100 tty: Fix the leak in tty_ldisc_release Currently we reinit the ldisc on final tty close which is what the old code did to ensure that if the device retained its termios settings then it had the right ldisc. tty_ldisc_reinit does that but also leaves us with the reset ldisc reference which is then leaked. At this point we know the port will be recycled so we can kill the ldisc off completely rather than try and add another ldisc free up when the kref count hits zero. At this point it is safe to keep the ldisc closed as tty_ldisc waiting methods are only used from the user side, and as the final close we are the last such reference. Interrupt/driver side methods will always use the non wait version and get back a NULL. Found with kmemleak and investigated/identified by Catalin Marinas. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 12de38b186c2af97bf0b4a1f907f766df46b1def Author: Catalin Marinas Date: Mon Jun 29 17:13:55 2009 +0100 kmemleak: Inform kmemleak about pid_hash Kmemleak does not track alloc_bootmem calls but the pid_hash allocated in pidhash_init() would need to be scanned as it contains pointers to struct pid objects. Signed-off-by: Catalin Marinas commit b6e687221eb840bacd4d4a991e5f8e7ed3ae910a Author: Catalin Marinas Date: Mon Jun 29 17:13:57 2009 +0100 kmemleak: Do not warn if an unknown object is freed vmap'ed memory blocks are not tracked by kmemleak (yet) but they may be released with vfree() which is tracked. The corresponding kmemleak warning is only enabled in debug mode. Future patch will add support for ioremap and vmap. Signed-off-by: Catalin Marinas commit 17bb9e0d906b625f86e9d31740bb1c35bc0f63d7 Author: Catalin Marinas Date: Mon Jun 29 17:13:56 2009 +0100 kmemleak: Do not report new leaked objects if the scanning was stopped If the scanning was stopped with a signal, it is possible that some objects are left with a white colour (potential leaks) and reported. Add a check to avoid reporting such objects. Signed-off-by: Catalin Marinas commit 9ea5ca75a2aebb7172094a7d77acf6ff7600cc56 Author: Jiri Slaby Date: Mon Jun 29 18:03:34 2009 +0200 sound: OSS: mpu401, fix deadlock mpu401_chk_version is called with a spin lock already held. Don't take it again. Signed-off-by: Jiri Slaby Signed-off-by: Takashi Iwai commit 580c9d373ce7ccfbc5227e985fca761f8f039af3 Merge: e2cb0d9 0d7392e Author: Takashi Iwai Date: Mon Jun 29 18:05:09 2009 +0200 Merge branch 'fix/pci-vdevice' into for-linus * fix/pci-vdevice: sound: Use PCI_VDEVICE for CREATIVE and ECTIVA sound: Use PCI_VDEVICE commit e2cb0d95ba9fbd4603375032d37e9c0e288897b8 Merge: 7d489c4 14744d7 Author: Takashi Iwai Date: Mon Jun 29 18:05:07 2009 +0200 Merge branch 'fix/oxygen' into for-linus * fix/oxygen: sound: oxygen: make mic volume control mono commit 7d489c460ee798be16ca135276fe23262baf038c Merge: 0baddbc c2a30d7 Author: Takashi Iwai Date: Mon Jun 29 18:05:06 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: cmi8330: fix MPU-401 PnP init copy&paste bug commit 0baddbc895a8646b8ce28473897cfb7bb212d4ef Merge: cdae219 7e895cf Author: Takashi Iwai Date: Mon Jun 29 18:05:05 2009 +0200 Merge branch 'fix/lx6464es' into for-linus * fix/lx6464es: ALSA: lx6464es - configure ethersound io channels commit cdae219cec501ae4fba60e92c7a2a3aad1625b8d Merge: ae77b4e c912e7a Author: Takashi Iwai Date: Mon Jun 29 18:05:04 2009 +0200 Merge branch 'fix/hda-samsung-p50' into for-linus * fix/hda-samsung-p50: ALSA: hda - Fix support for Samsung P50 with AD1986A codec ALSA: hda - Generalize the pin-detect quirk for Lenovo N100 ALSA: hda - Simplify AD1986A mixer definitions commit ae77b4ed4fd11e67f8b02ca7ee882a636ee20a97 Merge: 10121a1 1d955eb Author: Takashi Iwai Date: Mon Jun 29 18:05:02 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Add missing initializations for ALC268 and ALC269 ALSA: hda - Line In for Acer Inspire 6530G model ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G ALSA: hda - Fix acer-aspire-6530g model quirk ALSA: hda - Add pin-sense trigger when needed for Realtek codecs commit dfd06fe8246c0425f8d6850b8e2c872b0d691ec3 Author: Dmitry Eremin-Solenikov Date: Fri Jun 19 17:02:09 2009 +0400 nl802154: add module license and description Signed-off-by: Dmitry Eremin-Solenikov commit 932c1329acebc03ef5efa3647c9c3a967b59d0c4 Author: Dmitry Eremin-Solenikov Date: Fri Jun 19 17:00:08 2009 +0400 nl802154: fix Oops in ieee802154_nl_get_dev ieee802154_nl_get_dev() lacks check for the existance of the device that was returned by dev_get_XXX, thus resulting in Oops for non-existing devices. Fix it. Signed-off-by: Dmitry Eremin-Solenikov commit e0af6062aa4f89081afb8a1a4269605775d354de Author: Dmitry Eremin-Solenikov Date: Thu Jun 18 13:05:49 2009 +0400 MAINTAINERS: ieee802154 lists are moderated for non-subscribers. Note that our mailing list is moderated for non-subscribers. Signed-off-by: Dmitry Eremin-Solenikov commit e6ce3066010a21bde961d8f8cefe0b69cae78a0f Author: Jeremy Kerr Date: Mon Jun 29 14:31:58 2009 +0800 fs: allow d_instantiate to be called with negative parent dentry The new fsnotify infrastructure (starting at 90586523) causes an oops in spufs, where we populate a directory with files before instantiating the directory itself. The new changes seem to have introduced an assumption that a dentry's parent will be positive when instantiating. This change makes it once again possible to d_instantiate a dentry with a negative parent, and brings __fsnotify_d_instantiate() into line with inotify_d_instantiate(), which already has this NULL check. Signed-off-by: Jeremy Kerr Signed-off-by: Eric Paris commit 875764de6f0ddb23d270c29357d5a339232a0488 Author: David Woodhouse Date: Sun Jun 28 21:20:51 2009 +0100 intel-iommu: Simplify __intel_alloc_iova() There's no need for the separate iommu_alloc_iova() function, and certainly not for it to be global. Remove the underscores while we're at it. Signed-off-by: David Woodhouse commit 6f6a00e40aa3fdd3b29c30e3ef1fc9690506bc03 Author: David Woodhouse Date: Sun Jun 28 20:38:49 2009 +0100 intel-iommu: Performance improvement for domain_pfn_mapping() As with dma_pte_clear_range(), don't keep flushing a single PTE at a time. And also micro-optimise the setting of PTE values rather than using the helper functions to do all the masking. Signed-off-by: David Woodhouse commit 310a5ab93cb4ce29367238f682affd9ac352f4d0 Author: David Woodhouse Date: Sun Jun 28 18:52:20 2009 +0100 intel-iommu: Performance improvement for dma_pte_clear_range() It's a bit silly to repeatedly call domain_flush_cache() for each PTE individually, as we clear it. Instead, batch them up and flush a whole range at a time. We might as well refrain from recalculating the PTE address from scratch each time round the loop too. Signed-off-by: David Woodhouse commit c5395d5c4a82159889cb650de93b591ea51d8c56 Author: David Woodhouse Date: Sun Jun 28 16:35:56 2009 +0100 intel-iommu: Clean up iommu_domain_identity_map() Signed-off-by: David Woodhouse commit 1a4a45516d7a57de0691352d899d7008f2e090d1 Author: David Woodhouse Date: Sun Jun 28 16:00:42 2009 +0100 intel-iommu: Remove last use of PHYSICAL_PAGE_MASK, for reserving PCI BARs This is fairly broken anyway -- it doesn't take hotplug into account. We should probably be checking page_is_ram() instead. Signed-off-by: David Woodhouse commit 03d6a2461ab1704c171ce21081c5022378ef7a91 Author: David Woodhouse Date: Sun Jun 28 15:33:46 2009 +0100 intel-iommu: Make iommu_flush_iotlb_psi() take pfn as argument Most of its callers are having to shift for themselves anyway, so we might as well do it in iommu_flush_iotlb_psi(). Signed-off-by: David Woodhouse commit 88cb6a7424d9465faf6caaaadff5af0766c93991 Author: David Woodhouse Date: Sun Jun 28 15:03:06 2009 +0100 intel-iommu: Change aligned_size() to aligned_nrpages() Signed-off-by: David Woodhouse commit b536d24d212c994a7d98469ea3a8891573d45fd4 Author: David Woodhouse Date: Sun Jun 28 14:49:31 2009 +0100 intel-iommu: Clean up intel_map_sg(), remove domain_page_mapping() Signed-off-by: David Woodhouse commit ad05122162b67f64d5a1c6d35e001f7a88619b88 Author: David Woodhouse Date: Sun Jun 28 14:22:28 2009 +0100 intel-iommu: Use domain_pfn_mapping() in intel_iommu_map_range() Signed-off-by: David Woodhouse commit 0ab36de274ab094c3992b50c9c48c5c89072ec94 Author: David Woodhouse Date: Sun Jun 28 14:01:43 2009 +0100 intel-iommu: Use domain_pfn_mapping() in __intel_map_single() Signed-off-by: David Woodhouse commit 61df744314079e8cb8cdec75f517cf0e704e41ef Author: David Woodhouse Date: Sun Jun 28 11:55:58 2009 +0100 intel-iommu: Introduce domain_pfn_mapping() ... and use it in the trivial cases; the other callers want individual (and bisectable) attention, since I screwed them up the first time... Make the BUG_ON() happen on too-large virtual address rather than physical address, too. That's the one we care about. Signed-off-by: David Woodhouse commit 1c5a46ed49e37f56f8aa9000bb1c2ac59670c372 Author: David Woodhouse Date: Sun Jun 28 10:53:37 2009 +0100 intel-iommu: Clean up address handling in domain_page_mapping() No more masking and alignment; just use pfns. Signed-off-by: David Woodhouse commit b026fd28ea23af24a3eea6e5be3f3d0193a8e87d Author: David Woodhouse Date: Sun Jun 28 10:37:25 2009 +0100 intel-iommu: Change addr_to_dma_pte() to pfn_to_dma_pte() Signed-off-by: David Woodhouse commit d6d3f08b0fd998b647a05540cedd11a067b72867 Author: Jan Engelhardt Date: Mon Jun 29 14:31:46 2009 +0200 netfilter: xtables: conntrack match revision 2 As reported by Philip, the UNTRACKED state bit does not fit within the 8-bit state_mask member. Enlarge state_mask and give status_mask a few more bits too. Reported-by: Philip Craig References: http://markmail.org/thread/b7eg6aovfh4agyz7 Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 163cc52ccd2cc5c5ae4e1c886f6fde8547feed2a Author: David Woodhouse Date: Sun Jun 28 00:51:17 2009 +0100 intel-iommu: Clean up intel_iommu_unmap_range() Use unaligned address for domain->max_addr. That algorithm isn't ideal anyway -- we should probably just look at the last iova in the tree. Signed-off-by: David Woodhouse commit d794dc9b302c2781c571c10dedb8094e223d31b8 Author: David Woodhouse Date: Sun Jun 28 00:27:49 2009 +0100 intel-iommu: Make dma_pte_free_pagetable() take pfns as argument With some cleanup of intel_unmap_page(), intel_unmap_sg() and vm_domain_exit() to no longer play with 64-bit addresses. Signed-off-by: David Woodhouse commit 6660c63a79a639b86e3a709e25a8c4fc3ab24770 Author: David Woodhouse Date: Sat Jun 27 22:41:00 2009 +0100 intel-iommu: Make dma_pte_free_pagetable() use pfns Signed-off-by: David Woodhouse commit 8a3af79361e85db6fec4173ef1916322471c19e3 Author: Jaswinder Singh Rajput Date: Mon Jun 29 14:28:27 2009 +0200 netfilter: headers_check fix: linux/netfilter/xt_osf.h fix the following 'make headers_check' warnings: usr/include/linux/netfilter/xt_osf.h:40: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Patrick McHardy commit 595badf5d65d50300319e6178e6df005ea501f70 Author: David Woodhouse Date: Sat Jun 27 22:09:11 2009 +0100 intel-iommu: Make dma_pte_clear_range() take pfns as argument Noting that this is now an _inclusive_ range. Signed-off-by: David Woodhouse commit 04b18e65dd5a3e544f07f4bcfa8fb52704a1833b Author: David Woodhouse Date: Sat Jun 27 19:15:01 2009 +0100 intel-iommu: Make dma_pte_clear_range() use pfns Signed-off-by: David Woodhouse commit a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272 Author: Patrick McHardy Date: Mon Jun 29 14:07:56 2009 +0200 netfilter: tcp conntrack: fix unacknowledged data detection with NAT When NAT helpers change the TCP packet size, the highest seen sequence number needs to be corrected. This is currently only done upwards, when the packet size is reduced the sequence number is unchanged. This causes TCP conntrack to falsely detect unacknowledged data and decrease the timeout. Fix by updating the highest seen sequence number in both directions after packet mangling. Tested-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy commit 66eae8469e4e4ba6f4ca7ef82103c78f6d645583 Author: David Woodhouse Date: Sat Jun 27 19:00:32 2009 +0100 intel-iommu: Don't just mask out too-big physical addresses; BUG() instead Signed-off-by: David Woodhouse commit a75f7cf94f01717c5103138319b96752ee2a2be9 Author: David Woodhouse Date: Sat Jun 27 17:44:39 2009 +0100 intel-iommu: Make dma_pte_clear_one() take pfn not address Signed-off-by: David Woodhouse commit 90dcfb5eb2fd427b16135a14f176a6902750b6b4 Author: David Woodhouse Date: Sat Jun 27 17:14:59 2009 +0100 intel-iommu: Change dma_addr_level_pte() to dma_pfn_level_pte() Signed-off-by: David Woodhouse commit 77dfa56c94d2855a25ff552b74980a5538e129f8 Author: David Woodhouse Date: Sat Jun 27 16:40:08 2009 +0100 intel-iommu: Change address_level_offset() to pfn_level_offset() We're shifting the inputs for now, but that'll change... Signed-off-by: David Woodhouse commit dd4e831960e4f0214480fa96a53ca9bb7dd04927 Author: David Woodhouse Date: Sat Jun 27 16:21:20 2009 +0100 intel-iommu: Change dma_set_pte_addr() to dma_set_pte_pfn() Add some helpers for converting between VT-d and normal system pfns, since system pages can be larger than VT-d pages. Signed-off-by: David Woodhouse commit c7ab48d2acaf959e4d59c3f55d12fdb7ca9afd7c Author: David Woodhouse Date: Fri Jun 26 19:10:36 2009 +0100 intel-iommu: Clean up identity mapping code, remove CONFIG_DMAR_GFX_WA There's no need for the GFX workaround now we have 'iommu=pt' for the cases where people really care about performance. There's no need to have a special case for just one type of device. This also speeds up the iommu=pt path and reduces memory usage by setting up the si_domain _once_ and then using it for all devices, rather than giving each device its own private page tables. Signed-off-by: David Woodhouse commit b213203e475212a69ad6fedfb73464087e317148 Author: David Woodhouse Date: Fri Jun 26 18:50:28 2009 +0100 intel-iommu: Create new iommu_domain_identity_map() function We'll want to do this to a _domain_ (the si_domain) rather than a PCI device. Signed-off-by: David Woodhouse commit bf92df30df909710c498d05620e2df1be1ef779b Author: Yu Zhao Date: Mon Jun 29 11:31:45 2009 +0800 intel-iommu: Only avoid flushing device IOTLB for domain ID 0 in caching mode In caching mode, domain ID 0 is reserved for non-present to present mapping flush. Device IOTLB doesn't need to be flushed in this case. Previously we were avoiding the flush for domain zero, even if the IOMMU wasn't in caching mode and domain zero wasn't special. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit 59c5fe6d848cae8fd51498d17532f5aad3866f98 Author: Nicolas Ferre Date: Mon Jun 29 12:11:50 2009 +0100 [ARM] 5562/2: at91: add gpio button support for at91sam9g20ek This adds input keyboard gpio support on at91sam9g20ek board. It adds button 3 and 4. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 1d955ebd4db7961dc4e772a23288b3d5c6f191be Author: Takashi Iwai Date: Mon Jun 29 11:33:53 2009 +0200 ALSA: hda - Add missing initializations for ALC268 and ALC269 During the changes to clean up / fix the realtek codec initialization routines in commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51, I forgot to add the check for ALC268 and ALC269. This resulted in the missing EAPD and COEF setup for these codecs. This patch adds the missing checks for these codecs. Reference: bko#13633 http://bugzilla.kernel.org/show_bug.cgi?id=13633 Signed-off-by: Takashi Iwai commit 238a24f626628cb16a3015f332d649f08246ca89 Author: Li Zefan Date: Mon Jun 29 15:55:10 2009 +0800 tracing/fastboot: Document the need of initcall_debug To use boot tracer, one should pass initcall_debug as well as ftrace=initcall to the command line. Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A48735E.9050002@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 4078c444cf667f018c3fc7ebf141131a2b7c9480 Author: Yinghai Lu Date: Mon Jun 29 00:41:11 2009 -0700 perf_counter, x86: Update x86_pmu after WARN() The print out should read the value before changing the value. Signed-off-by: Yinghai Lu Cc: Peter Zijlstra LKML-Reference: <4A487017.4090007@kernel.org> Signed-off-by: Ingo Molnar commit ec87805c63a96e8863385d79c864801a572a4ab8 Author: Kuninori Morimoto Date: Mon Jun 29 07:40:00 2009 +0000 sh: ms7724se: Enable sh_eth in defconfig. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 9a660a6e1a0ebef72cf792583777234483a40022 Author: Joe Perches Date: Sun Jun 28 16:26:13 2009 +0000 arch/sh/boards/mach-se/7206/io.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Paul Mundt commit bab7614d6d1b1fc96ec6c5a7ca34c8641060e659 Author: Eric Miao Date: Mon Jun 29 00:20:52 2009 -0700 Input: add support for generic GPIO-based matrix keypad Original patch by Marek Vasut, modified by Eric in: 1. use delayed work to simplify the debouncing 2. combine col_polarity/row_polarity into a single active_low field 3. use a generic bit array based XOR algorithm to detect key press/release, which should make the column assertion time shorter and code a bit cleaner 4. remove the ALT_FN handling, which is no way generic, the ALT_FN key should be treated as no different from other keys, and translation will be done by user space by commands like 'loadkeys'. 5. explicitly disable row IRQs and flush potential pending work, and schedule an immediate scan after resuming as suggested by Uli Luckas 6. incorporate review comments from many others Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad controller, I have to configure those pins as generic GPIO to use this driver, works quite well, though), and Sharp Zaurus model SL-C7x0 and SL-C1000. [dtor@mail.ru: fix error unwinding path, support changing keymap from userspace] Signed-off-by: Marek Vasut Reviewed-by: Trilok Soni Reviewed-by: Uli Luckas Reviewed-by: Russell King Reviewed-by: Robert Jarzmik Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit cb589529f74d69abc111887b45308f333f950ade Author: Dmitry Torokhov Date: Mon Jun 29 00:00:52 2009 -0700 Input: arrange keyboards alphabetically Hopefully it will reduce conflicts when merging patches. Signed-off-by: Dmitry Torokhov commit da0d03fe6cecde837f113a8a587f5a872d0fade0 Author: Jani Nikula Date: Sun Jun 28 22:38:56 2009 -0700 Input: gpio-keys - avoid possibility of sleeping in timer function The gpio_get_value function may sleep, so it should not be called in a timer function. Move gpio_get_value calls to workqueue. Signed-off-by: Jani Nikula Signed-off-by: Dmitry Torokhov commit ca865a77b5949f5c403e0f13de5a5a9cd499a11e Author: Jani Nikula Date: Sun Jun 28 22:38:44 2009 -0700 Input: gpio-keys - revert 'change timer to workqueue' This reverts commit 0b346838c5862bfe911432956a106d602535d030. This commit breaks GPIO debouncing by replacing the original mod_timer with schedule_delayed_work in the interrupt handler. The latter does not kick the timer further on GPIO line changes as it should to perform debouncing. Signed-off-by: Jani Nikula Signed-off-by: Dmitry Torokhov commit 00b8ac409cad653137f087e3ff69c020174cbc15 Author: David Brownell Date: Sun Jun 28 22:30:56 2009 -0700 Input: dm355evm_keys - fix kconfig symbol names The keypad driver for the DM355 EVM got slightly broken as it merged, since it moved from input/keyboard to input/misc and its Kconfig symbol changed. This patch copes with the changed Kconfig symbol. Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit c413ec446188ae53276eb60a60311b430448c6b0 Author: Ping Cheng Date: Sun Jun 28 22:50:58 2009 -0700 Input: wacom - add DTF720a support and fix rotation on Intuos3 This patch adds DTF720a support and fixes an Intuos3 rotation pen out-proximity bug. Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 9230ccb1071d2d7e4ecb6314e67203b9f7f08140 Author: Yan Li Date: Sun Jun 28 22:30:56 2009 -0700 Input: i8042 - more reset quirks for MSI Wind-clone netbooks When testing Moblin on various netbooks, we've got reports that many MSI Wind clones need the i8042 reset quirks for the keyboard and/or touchpad's proper function. Signed-off-by: Yan Li Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit ec5a36f94e7ca4b1f28ae4dd135cd415a704e772 Author: Pekka Enberg Date: Mon Jun 29 09:57:10 2009 +0300 SLAB: Fix lockdep annotations Commit 8429db5... ("slab: setup cpu caches later on when interrupts are enabled") broke mm/slab.c lockdep annotations: [ 11.554715] ============================================= [ 11.555249] [ INFO: possible recursive locking detected ] [ 11.555560] 2.6.31-rc1 #896 [ 11.555861] --------------------------------------------- [ 11.556127] udevd/1899 is trying to acquire lock: [ 11.556436] (&nc->lock){-.-...}, at: [] kmem_cache_free+0xcd/0x25b [ 11.557101] [ 11.557102] but task is already holding lock: [ 11.557706] (&nc->lock){-.-...}, at: [] kfree+0x137/0x292 [ 11.558109] [ 11.558109] other info that might help us debug this: [ 11.558720] 2 locks held by udevd/1899: [ 11.558983] #0: (&nc->lock){-.-...}, at: [] kfree+0x137/0x292 [ 11.559734] #1: (&parent->list_lock){-.-...}, at: [] __drain_alien_cache+0x3b/0xbd [ 11.560442] [ 11.560443] stack backtrace: [ 11.561009] Pid: 1899, comm: udevd Not tainted 2.6.31-rc1 #896 [ 11.561276] Call Trace: [ 11.561632] [] __lock_acquire+0x15ec/0x168f [ 11.561901] [] ? __lock_acquire+0x1676/0x168f [ 11.562171] [] ? trace_hardirqs_on_caller+0x113/0x13e [ 11.562490] [] ? trace_hardirqs_on_thunk+0x3a/0x3f [ 11.562807] [] lock_acquire+0xc1/0xe5 [ 11.563073] [] ? kmem_cache_free+0xcd/0x25b [ 11.563385] [] _spin_lock+0x31/0x66 [ 11.563696] [] ? kmem_cache_free+0xcd/0x25b [ 11.563964] [] kmem_cache_free+0xcd/0x25b [ 11.564235] [] ? __free_pages+0x1b/0x24 [ 11.564551] [] slab_destroy+0x57/0x5c [ 11.564860] [] free_block+0xd8/0x123 [ 11.565126] [] __drain_alien_cache+0xa2/0xbd [ 11.565441] [] kfree+0x14c/0x292 [ 11.565752] [] skb_release_data+0xc6/0xcb [ 11.566020] [] __kfree_skb+0x19/0x86 [ 11.566286] [] consume_skb+0x2b/0x2d [ 11.566631] [] skb_free_datagram+0x14/0x3a [ 11.566901] [] netlink_recvmsg+0x164/0x258 [ 11.567170] [] sock_recvmsg+0xe5/0xfe [ 11.567486] [] ? might_fault+0xaf/0xb1 [ 11.567802] [] ? autoremove_wake_function+0x0/0x38 [ 11.568073] [] ? core_sys_select+0x3d/0x2b4 [ 11.568378] [] ? __lock_acquire+0x1676/0x168f [ 11.568693] [] ? sockfd_lookup_light+0x1b/0x54 [ 11.568961] [] sys_recvfrom+0xa3/0xf8 [ 11.569228] [] ? trace_hardirqs_on+0xd/0xf [ 11.569546] [] system_call_fastpath+0x16/0x1b# Fix that up. Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13654 Tested-by: Venkatesh Pallipadi Signed-off-by: Pekka Enberg commit c2a30d711852e4f39c8a79135b3caa701f7a8e02 Author: Ondrej Zary Date: Sat Jun 27 16:17:08 2009 +0200 ALSA: cmi8330: fix MPU-401 PnP init copy&paste bug Fix copy&paste bug in PnP MPU-401 initialization. Signed-off-by: Ondrej Zary Cc: Signed-off-by: Takashi Iwai commit 684a88429c5ab04d8b1894de9a1ef62de6f601b7 Author: Tony Vroon Date: Fri Jun 26 09:27:50 2009 +0100 ALSA: hda - Line In for Acer Inspire 6530G model The Line In connector is set up as PIN_IN by default, using VREF_HIZ. It is connected to both ADCs, so add it to both input selectors. Also add the ability to use the input mix (on a SoundBlaster one would call this "What You Hear"). Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit 52989765629e7d182b4f146050ebba0abf2cb0b7 Merge: 9a8fb9e bd46cb6 Author: Linus Torvalds Date: Sun Jun 28 19:57:31 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: be2net: Fix to avoid a crash seen on PPC with LRO and Jumbo frames. gro: Flush GRO packets in napi_disable_pending path inet: Call skb_orphan before tproxy activates mac80211: Use rcu_barrier() on unload. sunrpc: Use rcu_barrier() on unload. bridge: Use rcu_barrier() instead of syncronize_net() on unload. ipv6: Use rcu_barrier() on module unload. decnet: Use rcu_barrier() on module unload. sky2: Fix checksum endianness mdio add missing GPL flag sh_eth: remove redundant test on unsigned fsl_pq_mdio: Fix fsl_pq_mdio to work with modules ipv6: avoid wraparound for expired preferred lifetime tcp: missing check ACK flag of received segment in FIN-WAIT-2 state atl1*: add device_set_wakeup_enable to atl1*_set_wol Phonet: generate Netlink RTM_DELADDR when destroying a device Phonet: publicize the Netlink notification function Revert "veth: prevent oops caused by netdev destructor" cpmac: fix compilation failure introduced with netdev_ops conversion ipsec: Fix name of CAST algorithm commit bd46cb6cf11867130a41ea9546dd65688b71f3c2 Author: Ajit Khaparde Date: Fri Jun 26 02:51:07 2009 +0000 be2net: Fix to avoid a crash seen on PPC with LRO and Jumbo frames. While testing the driver on PPC, we ran into a crash with LRO, Jumbo frames. With CONFIG_PPC_64K_PAGES configured (a default in PPC), MAX_SKB_FRAGS drops to 3 and we were crossing the array limits on skb_shinfo(skb)->frags[]. Now we coalesce the frags from the same physical page into one slot in skb_shinfo(skb)->frags[] and go to the next index when the frag is from different physical page. This patch is against the net-2.6 tree. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 94e5d714f604d4cb4cb13163f01ede278e69258b Author: Mimi Zohar Date: Fri Jun 26 14:05:27 2009 -0400 integrity: add ima_counts_put (updated) This patch fixes an imbalance message as reported by J.R. Okajima. The IMA file counters are incremented in ima_path_check. If the actual open fails, such as ETXTBSY, decrement the counters to prevent unnecessary imbalance messages. Reported-by: J.R. Okajima Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 79b854c549c62c54fa27f87e04465c01db889f8d Author: Mimi Zohar Date: Fri Jun 26 11:25:00 2009 -0400 integrity: ima audit hash_exists fix Audit the file name, not the template name. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 46690f3718d95e9bb712b6f2b5c869f8494521de Author: Mimi Zohar Date: Fri Jun 26 11:24:05 2009 -0400 integrity: ima mq_open imbalance msg fix This patch fixes an imbalance message as reported by Sanchin Sant. As we don't need to measure the message queue, just increment the counters. Reported-by: Sanchin Sant Signed-off-by: Mimi Zohar Acked-by: Serge Hallyn Signed-off-by: James Morris commit 9a8fb9ee7a80f5280388b98dc7636d537866fa72 Merge: 4142ac6 bde8922 Author: Linus Torvalds Date: Sun Jun 28 11:12:52 2009 -0700 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: shut up uninit compiler warning in paging_tmpl.h KVM: Ignore reads to K7 EVNTSEL MSRs KVM: VMX: Handle vmx instruction vmexits KVM: s390: Allow stfle instruction in the guest KVM: kvm/x86_emulate.c toggle_interruptibility() should be static KVM: ia64: fix ia64 build due to missing kallsyms_lookup() and double export KVM: protect concurrent make_all_cpus_request KVM: MMU: Allow 4K ptes with bit 7 (PAT) set KVM: Fix dirty bit tracking for slots with large pages commit 4142ac678a864972ce1dfad6d9cb22f075fee5de Merge: a679128 f0a71eb Author: Linus Torvalds Date: Sun Jun 28 11:08:09 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: fix fh_mutex locking in cifs_reopen_file commit a679128d30d0303bbf5cac839c8f6f45793ea775 Merge: 8326e28 7e25a24 Author: Linus Torvalds Date: Sun Jun 28 11:06:11 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: intel-iommu: fix Identity Mapping to be arch independent commit 8326e284f8deb75eee3d32b973464dd96e120843 Merge: 187dd31 e888d7f Author: Linus Torvalds Date: Sun Jun 28 11:05:28 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, delay: tsc based udelay should have rdtsc_barrier x86, setup: correct include file in x86, setup: Fix typo "CONFIG_x86_64" in x86, mce: percpu mcheck_timer should be pinned x86: Add sysctl to allow panic on IOCK NMI error x86: Fix uv bau sending buffer initialization x86, mce: Fix mce resume on 32bit x86: Move init_gbpages() to setup_arch() x86: ensure percpu lpage doesn't consume too much vmalloc space x86: implement percpu_alloc kernel parameter x86: fix pageattr handling for lpage percpu allocator and re-enable it x86: reorganize cpa_process_alias() x86: prepare setup_pcpu_lpage() for pageattr fix x86: rename remap percpu first chunk allocator to lpage x86: fix duplicate free in setup_pcpu_remap() failure path percpu: fix too lazy vunmap cache flushing x86: Set cpu_llc_id on AMD CPUs commit 187dd317f0169142e4adf6263852f93c3b6f6a3c Merge: 9b71272 507e123 Author: Linus Torvalds Date: Sun Jun 28 11:05:16 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timer stats: Optimize by adding quick check to avoid function calls timers: Fix timer_migration interface which accepts any number as input commit 9b71272b6ad4966481d73e6abf3ae4bbc3bdabd5 Merge: 61abfd2 0296e42 Author: Linus Torvalds Date: Sun Jun 28 11:05:04 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ftrace: Fix the output of profile ring-buffer: Make it generally available ftrace: Remove duplicate newline tracing: Fix trace_buf_size boot option ftrace: Fix t_hash_start() ftrace: Don't manipulate @pos in t_start() ftrace: Don't increment @pos in g_start() tracing: Reset iterator in t_start() trace_stat: Don't increment @pos in seq start() tracing_bprintk: Don't increment @pos in t_start() tracing/events: Don't increment @pos in s_start() commit 61abfd2df8aa43a137ae58446dd0638a2385586e Merge: 4075ea8 a1dd8c6 Author: Linus Torvalds Date: Sun Jun 28 11:02:32 2009 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Futher document blink_set leds: Add options to have GPIO LEDs start on or keep their state leds: LED driver for National Semiconductor LP3944 Funlight Chip leds: pca9532 - Indent using tabs, not spaces. leds: Remove an orphan Kconfig entry leds: Further document parameters for blink_set() leds: alix-leds2 fixed for Award BIOS leds: leds-gpio - fix a section mismatch leds: add the sysfs interface into the leds-bd2802 driver for changing wave pattern and led current. leds: change the license information leds: fix led-bd2802 errors while resuming commit c3043569dc8fbe9228b76174f15d1a7152c48a20 Author: Jaswinder Singh Rajput Date: Sat Jun 27 23:49:09 2009 +0530 perf stat: Micro-optimize the code: memcpy is only required if no event is selected and !null_run Set attrs and nr_counters if no event is selected and !null_run. Setting of attrs should depend on number of counters, so we need to memcpy only for sizeof(default_attrs) Also set nr_counters as ARRAY_SIZE(default_attrs) in place of hardcoded value. Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1246126749.32198.16.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit bde892232532ed522bb56b04576d07f91e59b3c7 Author: Jaswinder Singh Rajput Date: Wed May 20 09:59:35 2009 +0530 KVM: shut up uninit compiler warning in paging_tmpl.h Dixes compilation warning: CC arch/x86/kernel/io_delay.o arch/x86/kvm/paging_tmpl.h: In function ‘paging64_fetch’: arch/x86/kvm/paging_tmpl.h:279: warning: ‘sptep’ may be used uninitialized in this function arch/x86/kvm/paging_tmpl.h: In function ‘paging32_fetch’: arch/x86/kvm/paging_tmpl.h:279: warning: ‘sptep’ may be used uninitialized in this function warning is bogus (always have a least one level), but need to shut the compiler up. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit 9e6996240afcbe61682eab8eeaeb65c34333164d Author: Amit Shah Date: Mon Jun 15 13:25:34 2009 +0530 KVM: Ignore reads to K7 EVNTSEL MSRs In commit 7fe29e0faacb650d31b9e9f538203a157bec821d we ignored the reads to the P6 EVNTSEL MSRs. That fixed crashes on Intel machines. Ignore the reads to K7 EVNTSEL MSRs as well to fix this on AMD hosts. This fixes Kaspersky antivirus crashing Windows guests on AMD hosts. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit e3c7cb6ad7191e92ba89d00a7ae5f5dd1ca0c214 Author: Avi Kivity Date: Tue Jun 16 14:19:52 2009 +0300 KVM: VMX: Handle vmx instruction vmexits IF a guest tries to use vmx instructions, inject a #UD to let it know the instruction is not implemented, rather than crashing. This prevents guest userspace from crashing the guest kernel. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit ef50f7ac7e234f9696555e41eab3de69c3d86166 Author: Christian Borntraeger Date: Tue Jun 23 17:24:07 2009 +0200 KVM: s390: Allow stfle instruction in the guest 2.6.31-rc introduced an architecture level set checker based on facility bits. e.g. if the kernel is compiled to run only on z9, several facility bits are checked very early and the kernel refuses to boot if a z9 specific facility is missing. Until now kvm on s390 did not implement the store facility extended (STFLE) instruction. A 2.6.31-rc kernel that was compiled for z9 or higher did not boot in kvm. This patch implements stfle. This patch should go in before 2.6.31. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit a3f9d3981cd82d65232b733eb792382237d686bd Author: Jaswinder Singh Rajput Date: Thu Jun 18 16:53:25 2009 +0530 KVM: kvm/x86_emulate.c toggle_interruptibility() should be static toggle_interruptibility() is used only by same file, it should be static. Fixed following sparse warning : arch/x86/kvm/x86_emulate.c:1364:6: warning: symbol 'toggle_interruptibility' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit ffdfa071bd6fa8f5e5964569bef41e067540d424 Author: Jes Sorensen Date: Wed Jun 17 11:08:08 2009 +0200 KVM: ia64: fix ia64 build due to missing kallsyms_lookup() and double export Fix problem with double export of certain symbols from vsprintf.c which we do not wish to export from the kvm-intel.ko module. In addition, we do not have access to kallsyms_lookup() from the module, so make sure to #undef CONFIG_KALLSYMS Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 84261923d3dddb766736023bead6fa07b7e218d5 Author: Marcelo Tosatti Date: Wed Jun 17 10:53:47 2009 -0300 KVM: protect concurrent make_all_cpus_request make_all_cpus_request contains a race condition which can trigger false request completed status, as follows: CPU0 CPU1 if (test_and_set_bit(req,&vcpu->requests)) .... if (test_and_set_bit(req,&vcpu->requests)) .. return proceed to smp_call_function_many(wait=1) Use a spinlock to serialize concurrent CPUs. Cc: stable@kernel.org Signed-off-by: Andrea Arcangeli Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 29a4b9333bf9ffef12b3dd7cbf2e3dbe01152968 Author: Avi Kivity Date: Tue May 19 13:29:27 2009 +0300 KVM: MMU: Allow 4K ptes with bit 7 (PAT) set Bit 7 is perfectly legal in the 4K page leve; it is used for the PAT. Signed-off-by: Avi Kivity commit e244584fe3a5c20deddeca246548ac86dbc6e1d1 Author: Izik Eidus Date: Wed Jun 10 19:23:24 2009 +0300 KVM: Fix dirty bit tracking for slots with large pages When slot is already allocated and being asked to be tracked we need to break the large pages. This code flush the mmu when someone ask a slot to start dirty bit tracking. Cc: stable@kernel.org Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit c276aca46d26aa2347320096f8ecdf5016795c14 Author: vimal singh Date: Sat Jun 27 11:07:06 2009 +0530 mtd: nand: fix build failure and incorrect return from omap_wait() We need to include jiffies.h manually in some cases, and the status returned from omap_wait() was broken in two separate ways. Also add cond_resched() to the loop. Signed-off-by: Vimal Singh Signed-off-by: David Woodhouse commit ff8a4bae459a9b6455504127fcb78fdbc8e50e4c Author: H. Peter Anvin Date: Sat Jun 27 12:22:27 2009 -0700 Revert "x86: cap iomem_resource to addressable physical memory" This reverts commit 95ee14e4379c5e19c0897c872350570402014742. Mikael Petterson reported that at least one of his systems will not boot as a result. We have ruled out the detection algorithm malfunctioning, so it is not a matter of producing the incorrect bitmasks; rather, something in the application of them fails. Revert the commit until we can root cause and correct this problem. -stable team: this means the underlying commit should be rejected. Reported-and-isolated-by: Mikael Petterson Signed-off-by: H. Peter Anvin LKML-Reference: <200906261559.n5QFxJH8027336@pilspetsen.it.uu.se> Cc: stable@kernel.org Cc: Grant Grundler commit f0a71eb820596bd8f6abf64beb4cb181edaa2341 Author: Jeff Layton Date: Sat Jun 27 07:04:55 2009 -0400 cifs: fix fh_mutex locking in cifs_reopen_file Fixes a regression caused by commit a6ce4932fbdbcd8f8e8c6df76812014351c32892 When this lock was converted to a mutex, the locks were turned into unlocks and vice-versa. Signed-off-by: Jeff Layton Acked-by: Shirish Pargaonkar Cc: Stable Tree Signed-off-by: Steve French commit a222ad1a4b2e3ca177a538482c99c519c1ce94d1 Author: Karen Xie Date: Fri Jun 26 15:17:29 2009 -0700 [SCSI] cxgb3i: fix connection error when vlan is enabled There is a bug when VLAN is configured on the cxgb3 interface, the iscsi conn. would be denied with message "cxgb3i: NOT going through cxgbi device." This patch adds code to get the real egress net_device when vlan is configured. Signed-off-by: Karen Xie Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 6e750a8fc009fd0ae98704525d1d8e80d60e8cc9 Author: Jaswinder Singh Rajput Date: Sat Jun 27 03:02:07 2009 +0530 perf stat: Improve output Increase size for event name to handle bigger names like 'L1-d$-prefetch-misses' Changed scaled counters from percentage to a multiplicative factor because the latter is more expressive. Also aligned the scaling factor, otherwise sometimes it looks like: 384 iTLB-load-misses (4.74x scaled) 452029 branch-loads (8.00x scaled) 5892 branch-load-misses (20.39x scaled) 972315 iTLB-loads (3.24x scaled) Before: 150708 L1-d$-stores (scaled from 23.57%) 428804 L1-d$-prefetches (scaled from 23.47%) 314446 L1-d$-prefetch-misses (scaled from 23.42%) 252626137 L1-i$-loads (scaled from 23.24%) 5297550 dTLB-load-misses (scaled from 23.96%) 106992392 branch-loads (scaled from 23.67%) 5239561 branch-load-misses (scaled from 23.43%) After: 1731713 L1-d$-loads ( 14.25x scaled) 44241 L1-d$-prefetches ( 3.88x scaled) 21076 L1-d$-prefetch-misses ( 3.40x scaled) 5789421 L1-i$-loads ( 3.78x scaled) 29645 dTLB-load-misses ( 2.95x scaled) 461474 branch-loads ( 6.52x scaled) 7493 branch-load-misses ( 26.57x scaled) Reported-by: Ingo Molnar Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1246051927.2988.10.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit 9a24ee03aebc55cec00cc388b6727bff24ed433f Author: Nicolas Ferre Date: Wed Jun 24 17:13:48 2009 +0100 [ARM] 5563/1: at91: at91sam9rlek lcd interface correction Here is a little update to the at91sam9rlek lcd interface. This will correct the power pin of the LCD. It will also add precision to the struct atmel_lcdfb_info scructure: backlight enabling and wiring mode correction: RGB wiring on the -EK board. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 70ec3bb8ea3f8c55b255f41d122c7d4d8c0d00b4 Author: Julia Lawall Date: Sat Jun 27 09:55:32 2009 +0200 mtd: Use BLOCK_NIL consistently in NFTL/INFTL Use BLOCK_NIL consistently rather than sometimes 0xffff and sometimes BLOCK_NIL. The semantic patch that finds this issue is below (http://www.emn.fr/x-info/coccinelle/). On the other hand, the changes were made by hand, in part because drivers/mtd/inftlcore.c contains dead code that causes spatch to ignore a relevant function. Specifically, the function INFTL_findwriteunit contains a do-while loop, but always takes a return that leaves the loop on the first iteration. // @r exists@ identifier f,C; @@ f(...) { ... return C; } @s@ identifier r.C; expression E; @@ @@ identifier r.f,r.C,I; expression s.E; @@ f(...) { <... ( I | - E + C ) ...> } // Signed-off-by: Julia Lawall Signed-off-by: David Woodhouse commit 566747e6298289c5cb02d4939cb3abf1c4fe7e5a Author: Ingo Molnar Date: Sat Jun 27 06:24:32 2009 +0200 perf stat: Fix multi-run stats In multi-run (-r/--repeat) printouts, print out the noise of the wall-clock average as well. Also, fix a bug in printing out scaled counters: if it was not scaled then we should not update the average with -1. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 0cfb7a13b8e4e0afd4b856156ab16a182de7505b Author: Ingo Molnar Date: Sat Jun 27 06:10:30 2009 +0200 perf stat: Add -n/--null option to run without counters Allow a no-counters run. This can be useful to measure just elapsed wall-clock time - or to assess the raw overhead of perf stat itself, without running any counters. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit fde953c1c67986e1c381fa50d8207b1578b5cefa Author: Ingo Molnar Date: Sat Jun 27 06:06:39 2009 +0200 perf_counter tools: Remove dead code Vince Weaver reported that there's a handful of #ifdef __MINGW32__ sections in the code. Remove them as they are in essence dead code - as unlike upstream Git, the perf tool is unlikely to be ported to Windows. Reported-by: Vince Weaver Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ff780cd8f2fa928b193554f593b36d1243554212 Author: Herbert Xu Date: Fri Jun 26 19:27:04 2009 -0700 gro: Flush GRO packets in napi_disable_pending path When NAPI is disabled while we're in net_rx_action, we end up calling __napi_complete without flushing GRO packets. This is a bug as it would cause the GRO packets to linger, of course it also literally BUGs to catch error like this :) This patch changes it to napi_complete, with the obligatory IRQ reenabling. This should be safe because we've only just disabled IRQs and it does not materially affect the test conditions in between. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 71f9dacd2e4d233029e9e956ca3f79531f411827 Author: Herbert Xu Date: Fri Jun 26 19:22:37 2009 -0700 inet: Call skb_orphan before tproxy activates As transparent proxying looks up the socket early and assigns it to the skb for later processing, we must drop any existing socket ownership prior to that in order to distinguish between the case where tproxy is active and where it is not. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 112942353992d95099fb5b71c679ff1046fccfcf Author: Amerigo Wang Date: Fri Jun 19 03:40:26 2009 -0400 kbuild: finally remove the obsolete variable $TOPDIR TOPDIR is obsolete, it can be finally removed now. Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit c512d2544c688ff1fab18a530860a9c7440a71b7 Author: Jaswinder Singh Rajput Date: Sat Jun 20 18:25:25 2009 +0530 gitignore: ignore scripts/ihex2fw scripts/ihex2fw is a generated binary and should be ignored Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Sam Ravnborg commit a8735821d198675dd326cc5847e79df79c735119 Author: Floris Kraak Date: Mon Jun 15 08:54:02 2009 +0300 Kbuild: Disable the -Wformat-security gcc flag Some distributions have enabled the gcc flag -Wformat-security by default. This results in a number of warnings about format arguments to functions, sometimes in cases where fixing the warning is not likely to actually fix a bug. Instead of hand patching a dozens of places (possibly more) that produce warnings that get ignored anyway we just turn off the flag in the Makefile. Signed-off-by: Floris Kraak Signed-off-by: Pekka Enberg Signed-off-by: Sam Ravnborg commit 7a6b1f1c0c492a6bb6f778dff0f9f5facb90d1a1 Author: Amerigo Wang Date: Mon Jun 22 17:18:32 2009 +0800 gitignore: ignore gcov output files Ignore *.gcno files which are generated by gcov. Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit 1ab18486e4e8bf9554d8439207b97422d7466d77 Author: maximilian attems Date: Fri Jun 26 20:04:36 2009 +0200 kbuild: deb-pkg ship changelog In the series for 2.6.31 it was noticed to ship the copyright, but the generated changelog got lost somehow. As bonus the generated linux-image deb packages are Lenny lintian clean. Cc: Frans Pop Cc: Andres Salomon Signed-off-by: maximilian attems Signed-off-by: Sam Ravnborg commit 857eceebd2803c9a3459f784acf45e5266921e4d Author: Tim Abbott Date: Tue Jun 23 19:59:36 2009 -0400 Add new __init_task_data macro to be used in arch init_task.c files. This patch is preparation for replacing most ".data.init_task" in the kernel with macros, so that the section name can later be changed without having to touch a lot of the kernel. The long-term goal here is to be able to change the kernel's magic section names to those that are compatible with -ffunction-sections -fdata-sections. This requires renaming all magic sections with names of the form ".data.foo". Signed-off-by: Tim Abbott Signed-off-by: Sam Ravnborg commit 39a449d96ac3db9b6d498b6ffbf4c763746d5e8b Author: Tim Abbott Date: Tue Jun 23 18:53:15 2009 -0400 asm-generic/vmlinux.lds.h: shuffle INIT_TASK* macro names in vmlinux.lds.h We recently added a INIT_TASK(align) in include/asm-generic/vmlinux.lds.h, but there is already a macro INIT_TASK in include/linux/init_task.h, which is quite confusing. We should switch the macro in the linker script to INIT_TASK_DATA. (Sorry that I missed this in reviewing the patch). Since the macros are new, there is only one user of the INIT_TASK in vmlinux.lds.h, arch/mn10300/kernel/vmlinux.lds.S. However, we are currently using INIT_TASK_DATA for laying down an entire .data.init_task section. So rename that to INIT_TASK_DATA_SECTION. I would be worried about changing the meaning of INIT_TASK_DATA, but the old INIT_TASK_DATA implementation had no users, and in fact if anyone had tried to use it, it would have failed to compile because it didn't pass the alignment to the old INIT_TASK. Signed-off-by: Tim Abbott Cc: David Howells Cc: Jesper Nilsson commit d2af12aeadaedf657c9fb9c3df984d2c5ab25f4c Author: Tim Abbott Date: Tue Jun 23 19:59:35 2009 -0400 Add new macros for page-aligned data and bss sections. This patch is preparation for replacing most uses of ".bss.page_aligned" and ".data.page_aligned" in the kernel with macros, so that the section name can later be changed without having to touch a lot of the kernel. The long-term goal here is to be able to change the kernel's magic section names to those that are compatible with -ffunction-sections -fdata-sections. This requires renaming all magic sections with names of the form ".data.foo". Signed-off-by: Tim Abbott Acked-by: David Howells Signed-off-by: Sam Ravnborg commit 73f1d9391a6aa72efdcea2f302ee7bfcd313c631 Author: Paul Mundt Date: Wed Jun 24 01:04:36 2009 +0900 asm-generic/vmlinux.lds.h: Fix up RW_DATA_SECTION definition. RW_DATA_SECTION is defined to take 4 different alignment parameters, while NOSAVE_DATA currently uses a fixed PAGE_SIZE alignment as noted in the comments. There are presently no in-tree users of this at present, and I just stumbled across this while implementing the simplified script on a new architecture port, which subsequently resulted in a syntax error. Signed-off-by: Paul Mundt Signed-off-by: Sam Ravnborg commit 4a27096bbe2cad4c6e78802a0d9dfe0e598a1129 Author: Jesper Dangaard Brouer Date: Fri Jun 26 10:45:53 2009 +0000 mac80211: Use rcu_barrier() on unload. The mac80211 module uses rcu_call() thus it should use rcu_barrier() on module unload. The rcu_barrier() is placed in mech.c ieee80211_stop_mesh() which is invoked from ieee80211_stop() in case vif.type == NL80211_IFTYPE_MESH_POINT. Acked-by: Paul E. McKenney Acked-by: Johannes Berg Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 75de874f5c35f679c6370fccc2bf4930e638ef3b Author: Jesper Dangaard Brouer Date: Fri Jun 26 10:45:58 2009 +0000 sunrpc: Use rcu_barrier() on unload. The sunrpc module uses rcu_call() thus it should use rcu_barrier() on module unload. Have not verified that the possibility for new call_rcu() callbacks has been disabled. As a hint for checking, the functions calling call_rcu() (unx_destroy_cred and generic_destroy_cred) are registered as crdestroy function pointer in struct rpc_credops. Acked-by: Paul E. McKenney Acked-by: Trond Myklebust Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 473c22d759e73cbbe604f41105b497817cc2ee8e Author: Jesper Dangaard Brouer Date: Fri Jun 26 10:45:48 2009 +0000 bridge: Use rcu_barrier() instead of syncronize_net() on unload. When unloading modules that uses call_rcu() callbacks, then we must use rcu_barrier(). This module uses syncronize_net() which is not enough to be sure that all callback has been completed. Acked-by: Paul E. McKenney Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 1f2ccd00f224a4e2d6d26f590f3e6851f3deef99 Author: Jesper Dangaard Brouer Date: Fri Jun 26 10:46:03 2009 +0000 ipv6: Use rcu_barrier() on module unload. The ipv6 module uses rcu_call() thus it should use rcu_barrier() on module unload. Acked-by: Paul E. McKenney Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 10e85448019097e4fcfa535f612f51d0d31a34f4 Author: Jesper Dangaard Brouer Date: Fri Jun 26 10:46:08 2009 +0000 decnet: Use rcu_barrier() on module unload. The decnet module unloading as been disabled with a '#if 0' statement, because it have had issues. We add a rcu_barrier() anyhow for correctness. The maintainer (Chrissie Caulfield) will look into the unload issue when time permits. Acked-by: Paul E. McKenney Acked-by: Chrissie Caulfield Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 82d5308127c3e3404ffbf41e503853c68660b18b Author: Lai Jiangshan Date: Fri Jun 26 17:07:02 2009 +0800 trace_export: Repair missed fields Some fields for struct ftrace_graph_ret are missed when they are exported to user. Signed-off-by: Lai Jiangshan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A448FB6.5000302@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit a32c7765e2796395aec49f699bd25c407155e9c5 Author: Li Zefan Date: Fri Jun 26 16:55:51 2009 +0800 tracing: Fix stack tracer sysctl handling This made my machine completely frozen: # echo 1 > /proc/sys/kernel/stack_tracer_enabled # echo 2 > /proc/sys/kernel/stack_tracer_enabled The cause is register_ftrace_function() was called twice. Also fix ftrace_enabled sysctl, though seems nothing bad happened as I tested it. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A448D17.9010305@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9c72ebef5aabf3532469d602a9d87beceea268b1 Author: Borislav Petkov Date: Fri Jun 26 11:22:37 2009 -0700 ide-cd: handle fragmented packet commands gracefully There are some devices in the wild that clear the DRQ bit during the last word of a packet command and therefore could use a "second chance" for that last word of data to be xferred instead of simply failing the request. Do that by attempting to suck in those last bytes in PIO mode. In addition, the ATA_ERR bit has to be cleared for we cannot be sure the data is valid otherwise. See http://bugzilla.kernel.org/show_bug.cgi?id=13399 for details. Signed-off-by: Borislav Petkov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 89bb871e96cdc3d78b7f69f0bacc94b21bbaccfd Author: Steven A. Falco Date: Fri Jun 26 12:42:47 2009 -0400 mtd: m25p80 timeout too short for worst-case m25p16 devices The m25p16 data sheet from numonyx lists the worst-case bulk erase time (tBE) as 40 seconds. Signed-off-by: Steven A. Falco Signed-off-by: David Woodhouse commit 4075ea8c54a7506844a69f674990241e7766357b Merge: 919a6d1 37da045 Author: Linus Torvalds Date: Fri Jun 26 09:39:40 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: misc small cleanups amd64_edac: fix ecc_enable_override handling amd64_edac: check only ECC bit in amd64_determine_edac_cap commit 919a6d10fdd9e256dfcd31937fb0b18d1c066be6 Merge: cf2acfb fd0cca7 Author: Linus Torvalds Date: Fri Jun 26 09:39:02 2009 -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: (29 commits) powerpc/rtas: Fix watchdog driver temperature read functionality powerpc/mm: Fix potential access to freed pages when using hugetlbfs powerpc/440: Fix warning early debug code powerpc/of: Fix usage of dev_set_name() in of_device_alloc() powerpc/pasemi: Use raw spinlock in SMP TB sync powerpc: Use one common impl. of RTAS timebase sync and use raw spinlock powerpc/rtas: Turn rtas lock into a raw spinlock powerpc: Add irqtrace support for 32-bit powerpc powerpc/BSR: Fix BSR to allow mmap of small BSR on 64k kernel powerpc/BSR: add 4096 byte BSR size powerpc: Map more memory early on 601 processors powerpc/pmac: Fix DMA ops for MacIO devices powerpc/mm: Make k(un)map_atomic out of line powerpc: Fix mpic alloc warning powerpc: Fix output from show_regs powerpc/pmac: Fix issues with PowerMac "PowerSurge" SMP powerpc/amigaone: Limit ISA I/O range to 4k in the device tree powerpc/warp: Platform fix for i2c change powerpc: Have git ignore generated files from dtc compile powerpc/mpic: Fix mapping of "DCR" based MPIC variants ... commit acf4968ec9dea49387ca8b3d36dfaa0850bdb2d5 Author: Catalin Marinas Date: Fri Jun 26 17:38:29 2009 +0100 kmemleak: Slightly change the policy on newly allocated objects Newly allocated objects are more likely to be reported as false positives. Kmemleak ignores the reporting of objects younger than 5 seconds. However, this age was calculated after the memory scanning completed which usually takes longer than 5 seconds. This patch make the minimum object age calculation in relation to the start of the memory scanning. Signed-off-by: Catalin Marinas commit 4698c1f2bbe44ce852ef1a6716973c1f5401a4c4 Author: Catalin Marinas Date: Fri Jun 26 17:38:27 2009 +0100 kmemleak: Do not trigger a scan when reading the debug/kmemleak file Since there is a kernel thread for automatically scanning the memory, it makes sense for the debug/kmemleak file to only show its findings. This patch also adds support for "echo scan > debug/kmemleak" to trigger an intermediate memory scan and eliminates the kmemleak_mutex (scan_mutex covers all the cases now). Signed-off-by: Catalin Marinas commit bab4a34afc301fdb81b6ea0e3098d96fc356e03a Author: Catalin Marinas Date: Fri Jun 26 17:38:26 2009 +0100 kmemleak: Simplify the reports logged by the scanning thread Because of false positives, the memory scanning thread may print too much information. This patch changes the scanning thread to only print the number of newly suspected leaks. Further information can be read from the /sys/kernel/debug/kmemleak file. Signed-off-by: Catalin Marinas commit e0a2a1601bec01243bcad44414d06f59dae2eedb Author: Catalin Marinas Date: Fri Jun 26 17:38:25 2009 +0100 kmemleak: Enable task stacks scanning by default This is to reduce the number of false positives reported. Signed-off-by: Catalin Marinas commit cf2acfb2051fc67804162eebc5ebc8f55d3b7e2c Merge: aada1bc 412af97 Author: Linus Torvalds Date: Fri Jun 26 09:37:52 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: video: prevent NULL deref in acpi_get_pci_dev() eeepc-laptop: add rfkill support for the 3G modem in Eee PC 901 Go eeepc-laptop: get the right value for CMSG eeepc-laptop: makes get_acpi() returns -ENODEV eeepc-laptop: right parent device eeepc-laptop: rfkill refactoring eeepc-laptop.c: use pr_fmt and pr_ eeepc-laptop: Register as a pci-hotplug device commit aada1bc92797434cdf31e76fc2c6ab29307a5f48 Merge: 7e0d8a8 71a394f Author: Linus Torvalds Date: Fri Jun 26 09:37:19 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] remove unknown mount option warning message [CIFS] remove bkl usage from umount begin cifs: Fix incorrect return code being printed in cFYI messages [CIFS] cleanup asn handling for ntlmssp [CIFS] Copy struct *after* setting the port, instead of before. cifs: remove rw/ro options cifs: fix problems with earlier patches cifs: have cifs parse scope_id out of IPv6 addresses and use it [CIFS] Do not send tree disconnect if session is already disconnected [CIFS] Fix build break cifs: display scopeid in /proc/mounts cifs: add new routine for converting AF_INET and AF_INET6 addrs cifs: have cifs_show_options show forceuid/forcegid options cifs: remove unneeded NULL checks from cifs_show_options commit b9389796fa4c87fbdff33816e317cdae5f36dd0b Author: Anton Vorontsov Date: Fri Jun 26 09:28:42 2009 -0700 sky2: Fix checksum endianness sky2 driver on PowerPC targets floods kernel log with following errors: eth1: hw csum failure. Call Trace: [ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable) [ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c [ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84 [ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24 [ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8 [ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210 [ef84b960] [c031a788] ip_rcv+0x38c/0x534 [ef84b990] [c0300338] netif_receive_skb+0x260/0x36c [ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8 [ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144 The NIC is Yukon-2 EC chip revision 1. Converting checksum field from le16 to CPU byte order fixes the issue. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 19d2e755436054dfc2be640bffc32e427c37ac3d Author: Peter Zijlstra Date: Fri Jun 26 13:10:23 2009 +0200 perf_counter: Complete counter swap Complete the counter swap by indeed switching the times too and updating the userpage after modifying the counter values. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1246014623.31755.195.camel@twins> Signed-off-by: Ingo Molnar commit 7e0d8a838834beb2cce9df48dacf67f4e8e699cb Merge: 987fed3 8944146 Author: Linus Torvalds Date: Fri Jun 26 08:48:42 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc32: Fix makefile not generating required files sparc32: Fix tftpboot.img Makefile sparc: fix tftpboot.img build sparc32: Fix obvious build issues for tftpboot.img build. sparc64: Fix build warnings in piggyback_64.c sparc64: Don't use alloc_bootmem() in init_IRQ() code paths. commit 39562e783928e3ea9ee2cbce99a756ab48d3c06a Author: Christof Schmitt Date: Fri Jun 26 16:30:43 2009 +0200 [SCSI] FC transport: Locking fix for common-code FC pass-through patch Fix this: ------------[ cut here ]------------ Badness at block/blk-core.c:244 CPU: 0 Tainted: G W 2.6.31-rc1-00004-gd3a263a #3 Process zfcp_wq (pid: 901, task: 000000002fb7a038, ksp: 000000002f02bc78) Krnl PSW : 0704300180000000 00000000002141ba (blk_remove_plug+0xb2/0xb8) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:3 PM:0 EA:3 Krnl GPRS: 0000000000000001 0000000000000001 0000000022811440 0000000022811798 000000000027ff4e 0000000000000000 0000000000000000 000000002f00f000 070000000006a0f4 000000002af70000 000000002af2a800 00000000228d1c00 0000000022811440 000000000050c708 000000002f02bca8 000000002f02bc80 Krnl Code: 00000000002141b0: b9140022 lgfr %r2,%r2 00000000002141b4: 07fe bcr 15,%r14 00000000002141b6: a7f40001 brc 15,2141b8 >00000000002141ba: a7f4ffbe brc 15,214136 00000000002141be: 0707 bcr 0,%r7 00000000002141c0: ebaff0680024 stmg %r10,%r15,104(%r15) 00000000002141c6: c0d00017c2a9 larl %r13,50c718 00000000002141cc: a7f13fc0 tmll %r15,16320 Call Trace: ([<000000000050e7d8>] C.272.16122+0x88/0x110) [<00000000002141ec>] __blk_run_queue+0x2c/0x154 [<000000000028013a>] fc_remote_port_add+0x85e/0x95c [<000000000037596e>] zfcp_scsi_rport_work+0xe6/0x148 [<000000000006908c>] worker_thread+0x25c/0x318 [<000000000006f10c>] kthread+0x94/0x9c [<000000000001c2b2>] kernel_thread_starter+0x6/0xc [<000000000001c2ac>] kernel_thread_starter+0x0/0xc INFO: lockdep is turned off. Last Breaking-Event-Address: [<00000000002141b6>] blk_remove_plug+0xae/0xb8 The FC pass-through support triggers the WARN_ON(!irqs_disabled()) in blk_plug_device. Since blk_plug_device requires being called with disabled interrupts, use spin_lock_irqsave in fc_bsg_goose_queue to disable the interrupts before calling into the block layer. Signed-off-by: Christof Schmitt Acked-by: James Smart Signed-off-by: James Bottomley commit f55c555226b1010b249730ec6b232e5470286950 Author: Frederic Weisbecker Date: Fri Jun 26 16:28:01 2009 +0200 perf report: Print sorted callchains per histogram entries Use the newly created callchains radix tree to gather the chains stats from the recorded events and then print the callchains for all of them, sorted by hits, using the "-c" parameter with perf report. Example: 66.15% [k] atm_clip_exit 63.08% 0xffffffffffffff80 0xffffffff810196a8 0xffffffff810c14c8 0xffffffff8101a79c 0xffffffff810194f3 0xffffffff8106ab7f 0xffffffff8106abe5 0xffffffff8106acde 0xffffffff8100d94b 0xffffffff8153e7ea [...] 1.54% 0xffffffffffffff80 0xffffffff810196a8 0xffffffff810c14c8 0xffffffff8101a79c [...] Symbols are not yet resolved. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1246026481-8314-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8cb76d99d715741637b6d0884f389e17e9cb05d2 Author: Frederic Weisbecker Date: Fri Jun 26 16:28:00 2009 +0200 perf_counter tools: Prepare a small callchain framework We plan to display the callchains depending on some user-configurable parameters. To gather the callchains stats from the recorded stream in a fast way, this patch introduces an ad hoc radix tree adapted for callchains and also a rbtree to sort these callchains once we have gathered every events from the stream. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1246026481-8314-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 37da045067b4e923190662e21029005ea53bfaa1 Author: Borislav Petkov Date: Wed Jun 10 17:36:57 2009 +0200 amd64_edac: misc small cleanups - cleanup debug calls - shorten function names - cleanup error exit paths Signed-off-by: Borislav Petkov commit 30c875cbc1836a03a1acc6c998fa8a04f29f8f73 Author: Borislav Petkov Date: Mon Jun 22 19:42:24 2009 +0200 amd64_edac: fix ecc_enable_override handling amd64_check_ecc_enabled() returns non-zero status when ECC checking/correcting is disabled and this fails further loading of the driver even when 'ecc_enable_override' boot param is used. Fix that by clearing return status in that case. Signed-off-by: Borislav Petkov commit 584fcff428bde3b9985ba21498764e9dba2fd3ce Author: Borislav Petkov Date: Wed Jun 10 18:29:54 2009 +0200 amd64_edac: check only ECC bit in amd64_determine_edac_cap Checking whether the machine is using ECC enabled DRAM is done through testing the DimmEccEn bit in the DRAM Cfg Low register (F2x[1,0]90). Do that instead of testing all bits from the DimmEccEn upwards. Also, remove mci->edac_cap assignment and use value returned from amd64_determine_edac_cap(). Signed-off-by: Borislav Petkov commit 7e25a2422987a37729706b18583d177966919d2a Author: Chris Wright Date: Thu Jun 25 18:52:05 2009 -0700 intel-iommu: fix Identity Mapping to be arch independent Drop the e820 scanning and use existing function for finding valid RAM regions to add to 1:1 mapping. Signed-off-by: Chris Wright Signed-off-by: David Woodhouse commit 7ed9f7e5db58c6e8c2b4b738a75d5dcd8e17aad5 Author: Paul E. McKenney Date: Thu Jun 25 12:31:37 2009 -0700 fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b Jesper noted that kmem_cache_destroy() invokes synchronize_rcu() rather than rcu_barrier() in the SLAB_DESTROY_BY_RCU case, which could result in RCU callbacks accessing a kmem_cache after it had been destroyed. Cc: Acked-by: Matt Mackall Reported-by: Jesper Dangaard Brouer Signed-off-by: Paul E. McKenney Signed-off-by: Pekka Enberg commit 0296e4254f3318e0dcad9706fa1daf8e5addc1e9 Author: Li Zefan Date: Fri Jun 26 11:15:37 2009 +0800 ftrace: Fix the output of profile The first entry of the ftrace profile was always skipped when reading trace_stat/functionX. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A443D59.4080307@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit a80cad950f2a562e60db1869dd29bc007c5a4b66 Author: Kuninori Morimoto Date: Fri Jun 26 07:05:39 2009 +0000 sh: ms7724se: Add sh_eth support Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit fd0cca754f3f6756bfdafe500e4f49b1b9e9723f Merge: 5ba762c 66c6b85 Author: Benjamin Herrenschmidt Date: Fri Jun 26 16:58:01 2009 +1000 Merge commit 'kumar/next' into merge commit 5e955245d6cf49c5ed26c7add7392ff5a6762bf4 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 11:27:27 2009 +0000 ide: always kill the whole request on error * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_kill_rq() and ide_floppy_do_request() for failed requests. [ bugfix part ] * Use blk_rq_bytes() instead of obsolete ide_rq_bytes() in ide_do_devset() and ide_complete_drive_reset(). Then remove ide_rq_bytes(). [ cleanup part ] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 789547508f22e482825f52f813b59680408ec2c7 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 11:26:06 2009 +0000 ide: fix ide_kill_rq() for special ide-{floppy,tape} driver requests Such requests should be failed with -EIO (like all other requests in this function) instead of being completed successfully. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 5ba762c9bb3ce2cc11e9e111cb3c476e84b91668 Author: Adrian Reber Date: Thu Mar 26 02:05:42 2009 +0000 powerpc/rtas: Fix watchdog driver temperature read functionality Using the RTAS watchdog driver to read out the temperature crashes on a PXCAB: Unable to handle kernel paging request for data at address 0xfe347b50 Faulting instruction address: 0xc00000000001af64 Oops: Kernel access of bad area, sig: 11 [#1] The wrong usage of "(void *)__pa(&temperature)" in rtas_call() is removed by using the function rtas_get_sensor() which does the right thing. Signed-off-by: Adrian Reber Acked-by: Utz Bacher Signed-off-by: Benjamin Herrenschmidt commit 6c16a74d423f584ed80815ee7b944f5b578dd37a Author: Benjamin Herrenschmidt Date: Mon Jun 15 16:53:43 2009 +0000 powerpc/mm: Fix potential access to freed pages when using hugetlbfs When using 64k page sizes, our PTE pages are split in two halves, the second half containing the "extension" used to keep track of individual 4k pages when not using HW 64k pages. However, our page tables used for hugetlb have a slightly different format and don't carry that "second half". Our code that batched PTEs to be invalidated unconditionally reads the "second half" (to put it into the batch), which means that when called to invalidate hugetlb PTEs, it will access unrelated memory. It breaks when CONFIG_DEBUG_PAGEALLOC is enabled. This fixes it by only accessing the second half when the _PAGE_COMBO bit is set in the first half, which indicates that we are dealing with a "combo" page which represents 16x4k subpages. Anything else shouldn't have this bit set and thus not require loading from the second half. Signed-off-by: Benjamin Herrenschmidt commit f694cda89250f38782a5fd0b2d32fe33a39dcf37 Author: Benjamin Herrenschmidt Date: Tue Jun 16 15:55:19 2009 +0000 powerpc/440: Fix warning early debug code The function udbg_44x_as1_flush() has the wrong prototype causing a warning when enabling 440 early debug. Signed-off-by: Benjamin Herrenschmidt commit 03c01aa740d4137ea2884328f2c29956c6084834 Author: Benjamin Herrenschmidt Date: Tue Jun 16 15:55:18 2009 +0000 powerpc/of: Fix usage of dev_set_name() in of_device_alloc() dev_set_name() takes a format string, so use it properly and avoid a warning with recent gcc's Signed-off-by: Benjamin Herrenschmidt commit 6893ce6c1cdcf489b7ca8e6b6596208aa971a083 Author: Benjamin Herrenschmidt Date: Tue Jun 16 16:42:51 2009 +0000 powerpc/pasemi: Use raw spinlock in SMP TB sync spin_lock() can hang if called while the timebase is frozen, so use a raw lock instead, also disable interrupts while at it. Signed-off-by: Benjamin Herrenschmidt commit c4007a2fbf5f82b7e694c22b5929c87e38415a56 Author: Benjamin Herrenschmidt Date: Tue Jun 16 16:42:50 2009 +0000 powerpc: Use one common impl. of RTAS timebase sync and use raw spinlock Several platforms use their own copy of what is essentially the same code, using RTAS to synchronize the timebases when bringing up new CPUs. This moves it all into a single common implementation and additionally turns the spinlock into a raw spinlock since the former can rely on the timebase not being frozen when spinlock debugging is enabled, and finally masks interrupts while the timebase is disabled. Signed-off-by: Benjamin Herrenschmidt commit f97bb36f705da0a86b3ea77bfeee3415fee0b025 Author: Benjamin Herrenschmidt Date: Tue Jun 16 16:42:49 2009 +0000 powerpc/rtas: Turn rtas lock into a raw spinlock RTAS currently uses a normal spinlock. However it can be called from contexts where this is not necessarily a good idea. For example, it can be called while syncing timebases, with the core timebase being frozen. Unfortunately, that will deadlock in case of lock contention when spinlock debugging is enabled as the spin lock debugging code will try to use __delay() which ... relies on the timebase being enabled. Also RTAS can be used in some low level IRQ handling code path so it may as well be a raw spinlock for -rt sake. Signed-off-by: Benjamin Herrenschmidt commit 5d38902c483881645ba16058cffaa478b81e5cfa Author: Benjamin Herrenschmidt Date: Wed Jun 17 17:43:59 2009 +0000 powerpc: Add irqtrace support for 32-bit powerpc Based on initial work from: Dale Farnsworth Add the low level irq tracing hooks for 32-bit powerpc needed to enable full lockdep functionality. The approach taken to deal with the code in entry_32.S is that we don't trace all the transitions of MSR:EE when we just turn it off to peek at TI_FLAGS without races. Only when we are calling into C code or returning from exceptions with a state that have changed from what lockdep thinks. There's a little bugger though: If we take an exception that keeps interrupts enabled (such as an alignment exception) while interrupts are enabled, we will call trace_hardirqs_on() on the way back spurriously. Not a big deal, but to get rid of it would require remembering in pt_regs that the exception was one of the type that kept interrupts enabled which we don't know at this stage. (Well, we could test all cases for regs->trap but that sucks too much). Signed-off-by: Benjamin Herrenschmidt Tested-by: Kumar Gala commit 04a85d1234d7e1682a612565e663e6b760918643 Author: Sonny Rao Date: Thu Jun 18 15:13:04 2009 +0000 powerpc/BSR: Fix BSR to allow mmap of small BSR on 64k kernel On Mon, Nov 17, 2008 at 01:26:13AM -0600, Sonny Rao wrote: > On Fri, Nov 07, 2008 at 04:28:29PM +1100, Paul Mackerras wrote: > > Sonny Rao writes: > > > > > Fix the BSR driver to allow small BSR devices, which are limited to a > > > single 4k space, on a 64k page kernel. Previously the driver would > > > reject the mmap since the size was smaller than PAGESIZE (or because > > > the size was greater than the size of the device). Now, we check for > > > this case use remap_4k_pfn(). Also, take out code to set vm_flags, > > > as the remap_pfn functions will do this for us. > > > > Thanks. > > > > Do we know that the BSR size will always be 4k if it's not a multiple > > of 64k? Is it possible that we could get 8k, 16k or 32k or BSRs? > > If it is possible, what does the user need to be able to do? Do they > > just want to map 4k, or might then want to map the whole thing? > > > Hi Paul, I took a look at changing the driver to reject a request for > mapping more than a single 4k page, however the only indication we get > of the requested size in the mmap function is the vma size, and this > is always one page at minimum. So, it's not possible to determine if > the user wants one 4k page or more. As I noted in my first response, > there is only one case where this is even possible and I don't think > it is a significant concern. > > I did notice that I left out the check to see if the user is trying to > map more than the device length, so I fixed that. Here's the revised > patch. Alright, I've reworked this now so that if we get one of these cases where there's a bsr that's > 4k and < 64k on a 64k kernel we'll only advertise that it is a 4k BSR to userspace. I think this is the best solution since user programs are only supposed to look at sysfs to determine how much can be mapped, and libbsr does this as well. Please consider for 2.6.31 as a fix, thanks. Signed-off-by: Benjamin Herrenschmidt commit e4031d52c57b17c76bbdb15fcf1a32a9f87d9756 Author: Sonny Rao Date: Thu Jun 18 15:14:36 2009 +0000 powerpc/BSR: add 4096 byte BSR size Add a 4096 byte BSR size which will be used on new machines. Also, remove the warning when we run into an unknown size, as this can spam the kernel log excessively. Signed-off-by: Sonny Rao Signed-off-by: Benjamin Herrenschmidt commit 4a5cbf17c49a6024a6d7baf03efdffb8ed252bb1 Author: Benjamin Herrenschmidt Date: Thu Jun 18 19:17:39 2009 +0000 powerpc: Map more memory early on 601 processors The 32-bit kernel relies on some memory being mapped covering the kernel text,data and bss at least, early during boot before the full MMU setup is done. On 32-bit "classic" processors, this is done using BAT registers. On 601, the size of BATs is limited to 8M and we use 2 of them for that initial mapping. This can become quite tight when enabling features like lockdep, so let's use a 3rd one to bump that mapping from 16M to 24M. We keep the 4th BAT free as it can be useful for debugging early boot code to map things like serial ports. Signed-off-by: Benjamin Herrenschmidt commit 3514141aedc16c7344117d5bd79ec1310edf8fb3 Author: Benjamin Herrenschmidt Date: Thu Jun 18 19:20:51 2009 +0000 powerpc/pmac: Fix DMA ops for MacIO devices The macio_dev's created to map devices inside the MacIO ASICs don't have proper dma_ops. This causes crashes on some machines since the SCSI code calls dma_map_* on our behalf using the device we hang from. This fixes it by copying the parent PCI device dma_ops into the macio_dev when creating it. Signed-off-by: Benjamin Herrenschmidt commit 850f6ac316cf84bba63fdb775c897834eccbfaa3 Author: Benjamin Herrenschmidt Date: Thu Jun 18 19:25:00 2009 +0000 powerpc/mm: Make k(un)map_atomic out of line Those functions are way too big to be inline, besides, kmap_atomic() wants to call debug_kmap_atomic() which isn't exported for modules and causes module link failures. Signed-off-by: Benjamin Herrenschmidt commit 85355bb272db31a3f2dd99d547eef794805e1319 Author: Kumar Gala Date: Thu Jun 18 22:01:20 2009 +0000 powerpc: Fix mpic alloc warning Since we can use kmalloc earlier we are getting the following since the mpic_alloc() code calls alloc_bootmem(). Move to using kzalloc() to remove the warning. ------------[ cut here ]------------ Badness at c0583248 [verbose debug info unavailable] NIP: c0583248 LR: c0583210 CTR: 00000004 REGS: c0741de0 TRAP: 0700 Not tainted (2.6.30-06736-g12a31df) MSR: 00021000 CR: 22024024 XER: 00000000 TASK = c070d3b8[0] 'swapper' THREAD: c0740000 CPU: 0 <6>GPR00: 00000001 c0741e90 c070d3b8 00000001 00000210 00000020 3fffffff 00000000 <6>GPR08: 00000000 c0c85700 c04f8c40 0000002d 22044022 1004a388 7ffd9400 00000000 <6>GPR16: 00000000 7ffcd100 7ffcd100 7ffcd100 c04f8c40 00000000 c059f62c c075a0c0 <6>GPR24: c059f648 00000000 0000000f 00000210 00000020 00000000 3fffffff 00000210 NIP [c0583248] alloc_arch_preferred_bootmem+0x50/0x80 LR [c0583210] alloc_arch_preferred_bootmem+0x18/0x80 Call Trace: [c0741e90] [c07343b0] devtree_lock+0x0/0x24 (unreliable) [c0741ea0] [c0583b14] ___alloc_bootmem_nopanic+0x54/0x108 [c0741ee0] [c0583e18] ___alloc_bootmem+0x18/0x50 [c0741ef0] [c057b9cc] mpic_alloc+0x48/0x710 [c0741f40] [c057ecf4] mpc85xx_ds_pic_init+0x190/0x1b8 [c0741f90] [c057633c] init_IRQ+0x24/0x34 [c0741fa0] [c05738b8] start_kernel+0x260/0x3dc [c0741ff0] [c00003c8] skpinv+0x2e0/0x31c Instruction dump: 409e001c 7c030378 80010014 83e1000c 38210010 7c0803a6 4e800020 3d20c0c8 39295700 80090004 7c000034 5400d97e <0f000000> 2f800000 409e001c 38800000 BenH: Changed to use GFP_KERNEL, the allocator will do the right thing Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit a2367194183d6ab6b05e5d7d9b40db6ba48afc06 Author: Kumar Gala Date: Thu Jun 18 22:29:55 2009 +0000 powerpc: Fix output from show_regs For some reason we've had an explicit KERN_INFO for GPR dumps. With recent changes we get output like: <6>GPR00: 00000000 ef855eb0 ef858000 00000001 000000d0 f1000000 ffbc8000 ffffffff The KERN_INFO is causing the <6>. Don't see any reason to keep it around. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 7ccbe504b5ee766d33211a507189a06f3079b29b Author: Benjamin Herrenschmidt Date: Thu Jun 18 23:30:07 2009 +0000 powerpc/pmac: Fix issues with PowerMac "PowerSurge" SMP The old PowerSurge SMP (ie, dual or quad 604 machines) code has numerous issues in modern world. One is cpu_possible_map is set too late (the device-tree is bogus) so we fail to allocate the interrupt stacks and crash. Another problem is the fact the timebase is frozen by the bringup of the second CPU so the delays in the generic code will hang, we need to move some of the calling procedure to inside the powermac code. This makes it boot again for me Signed-off-by: Benjamin Herrenschmidt commit 6bb2ae535f2eee0334802724a542701bd969d055 Author: Gerhard Pircher Date: Fri Jun 19 11:42:36 2009 +0000 powerpc/amigaone: Limit ISA I/O range to 4k in the device tree The kernel reserves the I/O address space from 0x0 to 0xfff for legacy ISA devices. Change the ranges property for the PCI2ISA bridge to match the kernels behavior, even if the ranges property isn't used for now. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit 3984114f056203d833251af85501721f7b00fd18 Author: Sean MacLennan Date: Fri Jun 19 19:43:59 2009 +0000 powerpc/warp: Platform fix for i2c change A change to the i2c subsystem breaks the warp platform code. The patch is cleaner anyway, the old way was a bit crufty. For those with keen eyes, the gratuitous change in the string from PIKA to Warp is just so the logs look a bit nicer. The following two lines tend to be printed one after another. Warp POST OK Warp DTM thread running. Yeah, this will be the third patch to warp.c submitted in this release.... Cheers, Sean The i2c_client struct changed, breaking the code that looked for the ad7414 chip. Use the new of_find_i2c_device_by_node function added in 2.6.29. Signed-off-by: Sean MacLennan Signed-off-by: Benjamin Herrenschmidt commit b810c6ec5c659c80b3641580b112db877a0f1f45 Author: Jon Smirl Date: Sun Jun 21 15:28:00 2009 +0000 powerpc: Have git ignore generated files from dtc compile Have git ignore generated files from dtc compile Signed-off-by: Jon Smirl Acked-by: David Gibson Acked-by: Sean MacLennan Signed-off-by: Benjamin Herrenschmidt commit 5a2642f620eb6e40792822fa0eafe23046fbb55e Author: Benjamin Herrenschmidt Date: Mon Jun 22 16:47:59 2009 +0000 powerpc/mpic: Fix mapping of "DCR" based MPIC variants Commit 31207dab7d2e63795eb15823947bd2f7025b08e2 "Fix incorrect allocation of interrupt rev-map" introduced a regression crashing on boot on machines using a "DCR" based MPIC, such as the Cell blades. The reason is that the irq host data structure is initialized much later as a result of that patch, causing our calls to mpic_map() do be done before we have a host setup. Unfortunately, this breaks _mpic_map_dcr() which uses the mpic->irqhost to get to the device node. This fixes it by, instead, passing the device node explicitely to mpic_map(). Signed-off-by: Benjamin Herrenschmidt Acked-by: Akira Tsukamoto commit 6f0b1c6094b3e8eeeb13f8f16c1b2ef452a6f519 Author: Michael Ellerman Date: Mon Jun 22 23:13:48 2009 +0000 powerpc: Swiotlb breaks pseries Turning on SWIOTLB selects or enables PPC_NEED_DMA_SYNC_OPS, which means we get the non empty versions of dma_sync_* in asm/dma-mapping.h On my pseries machine the dma_ops have no such routines and we die with a null pointer - this patch gets it booting, is there a more elegant way to do it? Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 412af97838828bc6d035a1902c8974f944663da6 Author: Troy Moure Date: Thu Jun 25 17:05:35 2009 -0600 ACPI: video: prevent NULL deref in acpi_get_pci_dev() ref: http://thread.gmane.org/gmane.linux.kernel/857228/focus=857468 When the ACPI video driver initializes, it does a namespace walk looking for for supported devices. When we find an appropriate handle, we walk up the ACPI tree looking for a PCI root bus, and then walk back down the PCI bus, assuming that every device inbetween is a P2P bridge. This assumption is not correct, and is reported broken on at least: Dell Latitude E6400 ThinkPad X61 Dell XPS M1330 Add a NULL deref check to prevent boot panics. Reported-by: Alessandro Suardi Signed-off-by: Troy Moure Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 3cd530b5aaffd27b231f9717730f2f6684c00bda Author: Corentin Chary Date: Thu Jun 25 13:25:42 2009 +0200 eeepc-laptop: add rfkill support for the 3G modem in Eee PC 901 Go Signed-off-by: Janne Grunau Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit dbfa3ba90dfe353a56e107cff5bce9fb7976f06f Author: Corentin Chary Date: Thu Jun 25 13:25:41 2009 +0200 eeepc-laptop: get the right value for CMSG CMSG is an ACPI method used to find features available on an Eee PC. But some features are never repported, even if present. If the getter of a feature is present, this patch will set the corresponding bit in cmsg. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit f36509e7248631671d02f48d1a88f56cdeb54ed8 Author: Corentin Chary Date: Thu Jun 25 13:25:40 2009 +0200 eeepc-laptop: makes get_acpi() returns -ENODEV If there is there is no getter defined, get_acpi() will return -ENODEV. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 1ddec2f9435e77b4d3f50eced68c4c942f2bcd4b Author: Corentin Chary Date: Thu Jun 25 13:25:39 2009 +0200 eeepc-laptop: right parent device Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 7de39389d8f61aa517ce2a8b4d925acc62696ae5 Author: Corentin Chary Date: Thu Jun 25 13:25:38 2009 +0200 eeepc-laptop: rfkill refactoring Refactor rfkill code, because we'll add another rfkill for wwan3g later. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 19b532892834b7f1c04b2940ac73177dc566fed5 Author: Joe Perches Date: Thu Jun 25 13:25:37 2009 +0200 eeepc-laptop.c: use pr_fmt and pr_ Convert the unusual printk(EEEPC_ uses to the more standard pr_fmt and pr_(. Signed-off-by: Joe Perches Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 2b121bc262fa03c94e653b2d44356c2f86c1bcdc Author: Corentin Chary Date: Thu Jun 25 13:25:36 2009 +0200 eeepc-laptop: Register as a pci-hotplug device The eee contains a logically (but not physically) hotpluggable PCIe slot. Currently this is handled by adding or removing the PCI device in response to rfkill events, but if a user has forced pciehp to bind to it (with the force=1 argument) then both drivers will try to handle the event and hilarity (in the form of oopses) will ensue. This can be avoided by having eee-laptop register the slot as a hotplug slot. Only one of pciehp and eee-laptop will successfully register this, avoiding the problem. Signed-off-by: Matthew Garrett Signed-off-by: Corentin Chary Tested-by: Darren Salt Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit 71a394faaad07090af5de5c075ec2f5bca0fbb35 Author: Steve French Date: Fri Jun 26 04:07:18 2009 +0000 [CIFS] remove unknown mount option warning message Jeff's previous patch which removed the unneeded rw/ro parsing can cause a minor warning in dmesg (about the unknown rw or ro mount option) at mount time. This patch makes cifs ignore them in kernel to remove the warning (they are already handled in the mount helper and VFS). Signed-off-by: Steve French commit ad8034f19792736db5c259103c2eaaf72887bbb4 Author: Steve French Date: Fri Jun 26 03:25:49 2009 +0000 [CIFS] remove bkl usage from umount begin The lock_kernel call moved into the fs for umount_begin is not needed. This adds a check to make sure we don't call umount_begin twice on the same fs. umount_begin for cifs is probably not needed and may eventually be able to be removed, but in the meantime this smaller patch is safe and gets rid of the bkl from this path which provides some benefit. Acked-by: Jeff Layton Signed-off-by: Steve French commit 30767636e5896c650f33db5f7f0a9b0e82f3e8c4 Author: Nicolas Reinecke Date: Thu Jun 25 02:55:31 2009 +0000 mdio add missing GPL flag Add missing GPL flag and description. mdio: module license 'unspecified' taints kernel. Disabling lock debugging due to kernel taint Signed-off-by: Nicolas Reinecke das-labor.org> Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 37c8ae3acf39108b3b7866897f1e3e9f277efc50 Author: roel kluin Date: Mon Jun 22 07:38:00 2009 +0000 sh_eth: remove redundant test on unsigned Unsigned boguscnt cannot be less than 0. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit e2a61fa31382b1ac2b22f76f9c439892e5dc4b86 Author: Ionut Nicu Date: Wed Jun 24 22:23:39 2009 +0000 fsl_pq_mdio: Fix fsl_pq_mdio to work with modules This patch fixes the case when ucc_geth or gianfar are compiled as modules. Without this patch the call to phy_connect() fails. Signed-off-by: Ionut Nicu Acked-by: Andy Fleming Signed-off-by: David S. Miller commit a1faa69810b2af562b70b2a71c116c7d03575dd3 Author: Jens Rosenboom Date: Thu Jun 25 04:55:50 2009 +0000 ipv6: avoid wraparound for expired preferred lifetime Avoid showing wrong high values when the preferred lifetime of an address is expired. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit 1ac530b3553e0b4dc1e18a32bed57cfa84cd57cb Author: Wei Yongjun Date: Wed Jun 24 22:29:31 2009 +0000 tcp: missing check ACK flag of received segment in FIN-WAIT-2 state RFC0793 defined that in FIN-WAIT-2 state if the ACK bit is off drop the segment and return[Page 72]. But this check is missing in function tcp_timewait_state_process(). This cause the segment with FIN flag but no ACK has two diffent action: Case 1: Node A Node B <------------- FIN,ACK (enter FIN-WAIT-1) ACK -------------> (enter FIN-WAIT-2) FIN -------------> discard (move sk to tw list) Case 2: Node A Node B <------------- FIN,ACK (enter FIN-WAIT-1) ACK -------------> (enter FIN-WAIT-2) (move sk to tw list) FIN -------------> <------------- ACK This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 8944146daa2c38dd85bc489d1b84fb9abc108837 Author: Julian Calaby Date: Tue Jun 23 01:45:46 2009 +0000 sparc32: Fix makefile not generating required files The tftpboot build was failing with missing file errors. It turns out that $(obj)/image wasn't being generated which was causing the a.out conversion to be skipped and hence piggyback to be called with nonexistent files. Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 3e05c5e2ce40066582dc34aa8335baa328815a09 Author: Julian Calaby Date: Sun Jun 21 16:45:01 2009 +0000 sparc32: Fix tftpboot.img Makefile Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 52da82cfb569b44e26e15395a6727277758580fe Author: Sam Ravnborg Date: Sun Jun 21 16:46:10 2009 +0000 sparc: fix tftpboot.img build Kjetil Oftedal mentioned that piggyback_32 was failing when building a sparc image. I tracked this down to the fact that the kernel no longer provided an absolute symbol named "end". Commit 86ed40bd6fe511d26bb8f3fa65a84cb65c235366 ("sparc: unify sections.h") renamed end to _end but failed to update piggyback_32. Signed-off-by: Sam Ravnborg Cc: Kjetil Oftedal Cc: Robert Reif Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 22b096a8907e5184f25fafd1b73f0b3633d52495 Author: Robert Reif Date: Sun Jun 21 16:45:44 2009 +0000 sparc32: Fix obvious build issues for tftpboot.img build. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 413ee282a510afb2f18975a189501f39d279a906 Author: Julian Calaby Date: Sun Jun 21 16:44:13 2009 +0000 sparc64: Fix build warnings in piggyback_64.c This patch fixes the following build warnings: arch/sparc/boot/piggyback_64.c: In function 'main': arch/sparc/boot/piggyback_64.c:44: warning: 'end' may be used uninitialized in this function arch/sparc/boot/piggyback_64.c:44: warning: 'start' may be used uninitialized in this function Signed-off-by: Julian Calaby Signed-off-by: David S. Miller commit 14a2ff6ed28931f796d2c2c8a440227a5d90f441 Author: David S. Miller Date: Thu Jun 25 19:00:47 2009 -0700 sparc64: Don't use alloc_bootmem() in init_IRQ() code paths. The page allocator and SLAB are available at this point now, and if we still try to use bootmem allocations here the kernel spits out warnings. Signed-off-by: David S. Miller commit 987fed3bf6982f2627d4fa242caa9026ef61132a Merge: ed4fc72 8b169b5 Author: Linus Torvalds Date: Thu Jun 25 17:04:37 2009 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (28 commits) drm: remove unused #include 's drm/radeon: fix driver initialization order so radeon kms can be builtin drm: Fix shifts which were miscalculated when converting from bitfields. drm/radeon: Clear surface registers at initialization time. drm/radeon: Don't initialize acceleration related fields of struct fb_info. drm/radeon: fix radeon kms framebuffer device drm/i915: initialize fence registers to zero when loading GEM drm/i915: Fix HDMI regression introduced in new chipset support drm/i915: fix LFP data fetch drm/i915: set TV detection mode when tv is already connected drm/i915: Catch up to obj_priv->page_list rename in disabled debug code. drm/i915: Fix size_t handling in off-by-default debug printfs drm/i915: Don't change the blank/sync width when calculating scaled modes drm/i915: Add support for changing LVDS panel fitting using an output property. drm/i915: correct suspend/resume ordering drm/i915: Add missing dependency on Intel AGP support. drm/i915: Generate 2MHz clock for display port aux channel I/O. Retry I/O. drm/i915: Clarify error returns from display port aux channel I/O drm/i915: Add CLKCFG register definition drm/i915: Split array of DAC limits into separate structures. ... commit e888d7facd1f1460a638151036d15b6cfb3ccc74 Author: Pallipadi, Venkatesh Date: Thu Jun 25 16:44:31 2009 -0700 x86, delay: tsc based udelay should have rdtsc_barrier delay_tsc needs rdtsc_barrier to provide proper delay. Output from a test driver using hpet to cross check delay provided by udelay(). Before: [ 86.794363] Expected delay 5us actual 4679ns [ 87.154362] Expected delay 5us actual 698ns [ 87.514162] Expected delay 5us actual 4539ns [ 88.653716] Expected delay 5us actual 4539ns [ 94.664106] Expected delay 10us actual 9638ns [ 95.049351] Expected delay 10us actual 10126ns [ 95.416110] Expected delay 10us actual 9568ns [ 95.799216] Expected delay 10us actual 9638ns [ 103.624104] Expected delay 10us actual 9707ns [ 104.020619] Expected delay 10us actual 768ns [ 104.419951] Expected delay 10us actual 9707ns After: [ 50.983320] Expected delay 5us actual 5587ns [ 51.261807] Expected delay 5us actual 5587ns [ 51.565715] Expected delay 5us actual 5657ns [ 51.861171] Expected delay 5us actual 5587ns [ 52.164704] Expected delay 5us actual 5726ns [ 52.487457] Expected delay 5us actual 5657ns [ 52.789338] Expected delay 5us actual 5726ns [ 57.119680] Expected delay 10us actual 10755ns [ 57.893997] Expected delay 10us actual 10615ns [ 58.261287] Expected delay 10us actual 10755ns [ 58.620505] Expected delay 10us actual 10825ns [ 58.941035] Expected delay 10us actual 10755ns [ 59.320903] Expected delay 10us actual 10615ns [ 61.306311] Expected delay 10us actual 10755ns [ 61.520542] Expected delay 10us actual 10615ns Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin commit 658dbfeb5e7ab35d440c665d643a6285e43fddcd Author: H. Peter Anvin Date: Thu Jun 25 15:16:06 2009 -0700 x86, setup: correct include file in needs , not in order to resolve PMD_SHIFT. Also, correct a +1 which really should be + THREAD_ORDER. This is a build error which was masked by a typoed #ifdef. Signed-off-by: H. Peter Anvin commit 22f4319d6bc0155e6c0ae560729baa6c09dc09e7 Author: Robert P. J. Day Date: Thu Jun 25 16:20:48 2009 -0400 x86, setup: Fix typo "CONFIG_x86_64" in CONFIG_X86_64 was misspelled (wrong case), which caused the x86-64 kernel to advertise itself as more relocatable than it really is. This could in theory cause boot failures once bootloaders start support the new relocation fields. Signed-off-by: Robert P. J. Day Signed-off-by: H. Peter Anvin commit 5be6066a7f8d917db347d94f1b359b9b70dcb572 Author: Hidetoshi Seto Date: Wed Jun 24 09:21:10 2009 +0900 x86, mce: percpu mcheck_timer should be pinned If CONFIG_NO_HZ + CONFIG_SMP, timer added via add_timer() might be migrated on other cpu. Use add_timer_on() instead. Avoids the following failure: Maciej Rutecki wrote: > > After normal boot I try: > > > > echo 1 > /sys/devices/system/machinecheck/machinecheck0/check_interval > > > > I found this in dmesg: > > > > [ 141.704025] ------------[ cut here ]------------ > > [ 141.704039] WARNING: at arch/x86/kernel/cpu/mcheck/mce.c:1102 > > mcheck_timer+0xf5/0x100() Reported-by: Maciej Rutecki Signed-off-by: Hidetoshi Seto Tested-by: Maciej Rutecki Acked-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 3928ddbe994cce1da1b6365b0db04d5765f254f4 Author: Frederic Weisbecker Date: Thu Jun 25 22:21:27 2009 +0200 perf record: Fix unhandled io return value Building latest perfcounter fails on the following error: builtin-record.c: In function ‘create_counter’: builtin-record.c:451: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result make: *** [builtin-record.o] Erreur 1 Just check if we successfully read the perf file descriptor. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1245961287-5327-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5211a242d0cbdded372aee59da18f80552b0a80a Author: Kurt Garloff Date: Wed Jun 24 14:32:11 2009 -0700 x86: Add sysctl to allow panic on IOCK NMI error This patch introduces a new sysctl: /proc/sys/kernel/panic_on_io_nmi which defaults to 0 (off). When enabled, the kernel panics when the kernel receives an NMI caused by an IO error. The IO error triggered NMI indicates a serious system condition, which could result in IO data corruption. Rather than contiuing, panicing and dumping might be a better choice, so one can figure out what's causing the IO error. This could be especially important to companies running IO intensive applications where corruption must be avoided, e.g. a bank's databases. [ SuSE has been shipping it for a while, it was done at the request of a large database vendor, for their users. ] Signed-off-by: Kurt Garloff Signed-off-by: Roberto Angelino Signed-off-by: Greg Kroah-Hartman Cc: "Eric W. Biederman" LKML-Reference: <20090624213211.GA11291@kroah.com> Signed-off-by: Ingo Molnar commit 4418351f06d9ce73acc846158c20186965f920f3 Author: Jaswinder Singh Rajput Date: Thu Jun 25 21:27:42 2009 +0530 perf_counter tools: Add alias for 'l1d' and 'l1i' Add 'l1d' and 'l1i' aliases again as shortcuts - just dont make them the primary display alias. Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1245945462.9157.11.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit e9ea2fde7a07ae60a119171a2946ed2ae778271e Author: Peter Zijlstra Date: Wed Jun 24 22:46:04 2009 +0200 perf-report: Add bare minimum PERF_EVENT_READ parsing Provide the basic infrastructure to provide per task stats. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 649c48a9e7fafcc72bfcc99471d9dea98d789d59 Author: Peter Zijlstra Date: Wed Jun 24 21:12:48 2009 +0200 perf-report: Add modes for inherited stats and no-samples Now that we can collect per task statistics, add modes that make use of that facility. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e6e18ec79b023d5fe84226cef533cf0e3770ce93 Author: Peter Zijlstra Date: Thu Jun 25 11:27:12 2009 +0200 perf_counter: Rework the sample ABI The PERF_EVENT_READ implementation made me realize we don't actually need the sample_type int the output sample, since we already have that in the perf_counter_attr information. Therefore, remove the PERF_EVENT_MISC_OVERFLOW bit and the event->type overloading, and imply put counter overflow samples in a PERF_EVENT_SAMPLE type. This also fixes the issue that event->type was only 32-bit and sample_type had 64 usable bits. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit bfbd3381e63aa2a14c6706afb50ce4630aa0d9a2 Author: Peter Zijlstra Date: Wed Jun 24 21:11:59 2009 +0200 perf_counter: Implement more accurate per task statistics With the introduction of PERF_EVENT_READ we have the possibility to provide accurate counter values for individual tasks in a task hierarchy. However, due to the lazy context switching used for similar counter contexts our current per task counts are way off. In order to maintain some of the lazy switch benefits we don't disable it out-right, but simply iterate the active counters and flip the values between the contexts. This only reads the counters but does not need to reprogram the full PMU. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 38b200d67636a30cb8dc1508137908e7a649b5c9 Author: Peter Zijlstra Date: Tue Jun 23 20:13:11 2009 +0200 perf_counter: Add PERF_EVENT_READ Provide a read() like event which can be used to log the counter value at specific sites such as child->parent folding on exit. In order to be useful, we log the counter parent ID, not the actual counter ID, since userspace can only relate parent IDs to perf_counter_attr constructs. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 194002b274e9169a04beb1b23dcc132159bb566c Author: Peter Zijlstra Date: Mon Jun 22 16:35:24 2009 +0200 perf_counter, x86: Add mmap counter read support Update the mmap control page with the needed information to use the userspace RDPMC instruction for self monitoring. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7f8b4e4e0988dadfd22330fd147ad2453e19f510 Author: Peter Zijlstra Date: Mon Jun 22 14:34:35 2009 +0200 perf_counter: Add scale information to the mmap control page Add the needed time scale to the self-profile mmap information. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 41f95331b972a039f519ae0c70f051b7121f7346 Author: Peter Zijlstra Date: Tue Jun 23 17:55:18 2009 +0200 perf_counter: Split the mmap control page in two parts Since there are two distinct sections to the control page, move them apart so that possible extentions don't overlap. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7c6a1c65bbd3be688e581511f45818663efc1877 Author: Peter Zijlstra Date: Thu Jun 25 17:05:54 2009 +0200 perf_counter tools: Rework the file format Create a structured file format that includes the full perf_counter_attr and all its relevant counter IDs so that the reporting program has full information. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit dfc2f91ac29f5ef50e74bf15a1a6b6aa6b952e62 Author: Paul Mundt Date: Fri Jun 26 04:31:57 2009 +0900 nommu: provide follow_pfn(). With the introduction of follow_pfn() as an exported symbol, modules have begun making use of it. Unfortunately this was not reflected on nommu at the time, so the in-tree users have subsequently all blown up with link errors there. This provides a simple follow_pfn() that just returns addr >> PAGE_SHIFT, which will do the right thing on nommu. There is no need to do range checking within the vma, as the find_vma() case will already take care of this. Signed-off-by: Paul Mundt commit 0f3bc09ee1b7fcadd5bfdc5ed2e1643f658fe23d Author: Suresh Jayaraman Date: Thu Jun 25 18:12:34 2009 +0530 cifs: Fix incorrect return code being printed in cFYI messages FreeXid() along with freeing Xid does add a cifsFYI debug message that prints rc (return code) as well. In some code paths where we set/return error code after calling FreeXid(), incorrect error code is being printed when cifsFYI is enabled. This could be misleading in few cases. For eg. In cifs_open() if cifs_fill_filedata() returns a valid pointer to cifsFileInfo, FreeXid() prints rc=-13 whereas 0 is actually being returned. Fix this by setting rc before calling FreeXid(). Basically convert FreeXid(xid); rc = -ERR; return -ERR; => FreeXid(xid); return rc; [Note that Christoph would like to replace the GetXid/FreeXid calls, which are primarily used for debugging. This seems like a good longer term goal, but although there is an alternative tracing facility, there are no examples yet available that I know of that we can use (yet) to convert this cifs function entry/exit logging, and for creating an identifier that we can use to correlate all dmesg log entries for a particular vfs operation (ie identify all log entries for a particular vfs request to cifs: e.g. a particular close or read or write or byte range lock call ... and just using the thread id is harder). Eventually when a replacement for this is available (e.g. when NFS switches over and various samples to look at in other file systems) we can remove the GetXid/FreeXid macro but in the meantime multiple people use this run time configurable logging all the time for debugging, and Suresh's patch fixes a problem which made it harder to notice some low memory problems in the log so it is worthwhile to fix this problem until a better logging approach is able to be used] Acked-by: Jeff Layton Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit ed4fc720e1912eb36ca654d03c88c48845ed39b2 Merge: f4fa446 aa71528 Author: Linus Torvalds Date: Thu Jun 25 11:25:00 2009 -0700 Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: request only one page from get_user_pages() commit f4fa446883959c1c5f314a043e750dbfe3728c55 Author: Thadeu Lima de Souza Cascardo Date: Thu Jun 25 14:41:37 2009 +0100 usb_serial: Fix oops when unexisting usb serial device is opened. This commit 335f8514f200e63d689113d29cb7253a5c282967 has stopped properly checking if there is any usb serial associated with the tty in the close function. It happens the close function is called by releasing the terminal right after opening the device fails. As an example, open fails with a non-existing device, when probe has never been called, because the device has never been plugged. This is common in systems with static modules and no udev. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 922b13565b6a826a925f9f91f053dc9cb0d6210e Author: Thadeu Lima de Souza Cascardo Date: Thu Jun 25 14:41:30 2009 +0100 acm: Fix oops when closing ACM tty device right after open has failed. This commit 10077d4a6674f535abdbe25cdecb1202af7948f1 has stopped checking if there was a valid acm device associated to the tty, which is not true right after open fails and tty subsystem tries to close the device. As an example, open fails with a non-existing device, when probe has never been called, because the device has never been plugged. This is common in systems with static modules and no udev. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 42dd2aa6496a2e87e496aac5494d2e1d6096c85b Author: Thadeu Lima de Souza Cascardo Date: Thu Jun 25 14:41:24 2009 +0100 acm: Return ENODEV instead of EINVAL when trying to open ACM device. This is required, otherwise a user will get a EINVAL while opening a non-existing device, instead of ENODEV. This is what I get with this patch applied now instead of an "Invalid argument". cascardo@vespa:~$ cat /dev/ttyACM0 cat: /dev/ttyACM0: No such device cascardo@vespa:~$ Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a37f6b84c4f3d3ca61634a7b36bf64c6ea452271 Merge: 9d73777 d7e2f36 Author: Linus Torvalds Date: Thu Jun 25 11:23:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide cs5520: Initialize second port's interrupt number. ide: improve handling of Power Management requests ide: add QUANTUM FIREBALLct20 30 with firmware APL.090 to ivb_list[] ide: relax DMA info validity checking ide-cd: Improve "weird block size" error message ide-cd: Don't warn on bogus block size unless it actually matters. ide: fix handling of unexpected IRQs vs request_irq() commit 9d73777e500929b71dcfed16eec05f6760e345a6 Author: Peter Zijlstra Date: Thu Jun 25 11:58:55 2009 +0200 clarify get_user_pages() prototype Currently the 4th parameter of get_user_pages() is called len, but its in pages, not bytes. Rename the thing to nr_pages to avoid future confusion. Signed-off-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit ab420e6d9c2511b862d753b70efb4e979faa0714 Author: Paul Menage Date: Thu Jun 25 00:17:15 2009 -0700 UML: Fix some apparent bitrot UML: Fix some apparent bitrot - migration of net_device methods into net_device_ops - dma_sync_single() changes Signed-off-by: Paul Menage Acked-by: Amerigo Wang -- This version is split from my earlier patch, including just the portions that ar required for Linus' tree. Fixes the following compile errors: include/linux/dma-mapping.h:113: error: redefinition of 'dma_sync_single' arch/um/include/asm/dma-mapping.h:84: error: previous definition of 'dma_sync_single' was here include/linux/dma-mapping.h: In function 'dma_sync_single': include/linux/dma-mapping.h:117: error: implicit declaration of function 'dma_sync_single_for_cpu' include/linux/dma-mapping.h: At top level: include/linux/dma-mapping.h:120: error: redefinition of 'dma_sync_sg' arch/um/include/asm/dma-mapping.h:91: error: previous definition of 'dma_sync_sg' was here include/linux/dma-mapping.h: In function 'dma_sync_sg': include/linux/dma-mapping.h:124: error: implicit declaration of function 'dma_sync_sg_for_cpu' arch/um/drivers/slirp_kern.c: In function 'slirp_init': arch/um/drivers/slirp_kern.c:35: error: 'struct net_device' has no member named 'init' Signed-off-by: Linus Torvalds commit 47749b14e55cd167632f9a27a4fc439e591e5268 Author: Ingo Molnar Date: Thu Jun 25 08:27:14 2009 +0200 i2c: fix build bug in i2c-designware.c This build error triggers on x86: drivers/built-in.o: In function `i2c_dw_init': i2c-designware.c:(.text+0x4e37ca): undefined reference to `clk_get_rate' drivers/built-in.o: In function `dw_i2c_probe': i2c-designware.c:(.devinit.text+0x51f5e): undefined reference to `clk_get' i2c-designware.c:(.devinit.text+0x51f76): undefined reference to `clk_enable' i2c-designware.c:(.devinit.text+0x520ff): undefined reference to `clk_disable' i2c-designware.c:(.devinit.text+0x52108): undefined reference to `clk_put' Because this new driver uses the clk_*() facilities which is an ARM-only thing currently. Signed-off-by: Ingo Molnar Acked-by: Baruch Siach Signed-off-by: Linus Torvalds commit 6fdc03709433ccc2005f0f593ae9d9dd04f7b485 Author: Stefan Richter Date: Sat Jun 20 13:23:59 2009 +0200 firewire: core: do not DMA-map stack addresses The DMA mapping API cannot map on-stack addresses, as explained in Documentation/DMA-mapping.txt. Convert the two cases of on-stack packet payload buffers in firewire-core (payload of lock requests in the bus manager work and in iso resource management) to slab-allocated memory. There are a number on-stack buffers for quadlet write or quadlet read requests in firewire-core and firewire-sbp2. These are harmless; they are copied to/ from card driver internal DMA buffers since quadlet payloads are inlined with packet headers. Signed-off-by: Stefan Richter commit d3a263a8168f78874254ea9da9595cfb0f3e96d7 Author: James Bottomley Date: Wed Jun 24 19:55:22 2009 +0000 [SCSI] zalon: fix oops on attach failure I recently discovered on my zalon that if the attachment fails because of a bus misconfiguration (I scrapped my HVD array, so the card is now unterminated) then the system oopses. The reason is that if ncr_attach() returns NULL (signalling failure) that NULL is passed by the goto failed straight into ncr_detach() which oopses. The fix is just to return -ENODEV in this case. Cc: Stable Tree Signed-off-by: James Bottomley commit e3f47cc74bddea8121560026185ede4770170043 Author: Abhijeet Joglekar Date: Wed Jun 24 07:42:25 2009 -0700 [SCSI] fnic: use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK Robert Love reported warning while building fnic_main.c: drivers/scsi/fnic/fnic_main.c:478: warning: `DMA_nnBIT_MASK' is deprecated. Replaced use of DMA_nnBIT_MASK by DMA_BIT_MASK(nn) Signed-off-by: Abhijeet Joglekar Signed-off-by: James Bottomley commit 87a2d34b0372dcf6bc4caf4d97a7889f5e62a1af Author: Roel Kluin Date: Tue Jun 23 01:06:40 2009 +0200 [SCSI] fnic: remove redundant BUG_ONs and fix checks on unsigned The shost sg tablesize is set to FNIC_MAX_SG_DESC_CNT and fnic uses scsi_dma_map, so both BUG_ONs can be removed. scsi_dma_map may return -ENOMEM, sg_count should be int to catch that. Signed-off-by: Roel Kluin Signed-off-by: James Bottomley commit e08afeb7e69f45e4ab9fbb8530fe433484b96606 Author: Brian King Date: Tue Jun 23 17:14:01 2009 -0500 [SCSI] ibmvscsi: Fix module load hang Fixes a regression seen in the ibmvscsi driver when using the VSCSI server in SLES 9 and SLES 10. The VSCSI server in these releases has a bug in it in which it does not send responses to unknown MADs. Check the OS Type field in the adapter info response and do not send these unsupported commands when talking to an older server. Signed-off-by: Brian King Signed-off-by: James Bottomley commit e5c59547791f171b280bc4c4b2c3ff171824c1a3 Author: Jaswinder Singh Rajput Date: Thu Jun 25 18:25:22 2009 +0530 perf_counter tools: Shorten names for events Added new alias for events. On AMD box: $ ./perf stat -e l1d -e l1d-misses -e l1d-write -e l1d-prefetch -e l1d-prefetch-miss -e l1i -e l1i-misses -e l1i-prefetch -e l2 -e l2-misses -e l2-write -e dtlb -e dtlb-misses -e itlb -e itlb-misses -e bpu -e bpu-misses -- ls -lR /usr/include/ > /dev/null Before : Performance counter stats for 'ls -lR /usr/include/': 248064467 L1-data-Cache-Load-Referencees (scaled from 23.27%) 1001433 L1-data-Cache-Load-Misses (scaled from 23.34%) 153691 L1-data-Cache-Store-Referencees (scaled from 23.34%) 423248 L1-data-Cache-Prefetch-Referencees (scaled from 23.33%) 302138 L1-data-Cache-Prefetch-Misses (scaled from 23.25%) 251217546 L1-instruction-Cache-Load-Referencees (scaled from 23.25%) 5757005 L1-instruction-Cache-Load-Misses (scaled from 23.23%) 93435 L1-instruction-Cache-Prefetch-Referencees (scaled from 23.24%) 6496073 L2-Cache-Load-Referencees (scaled from 23.32%) 609485 L2-Cache-Load-Misses (scaled from 23.45%) 6876991 L2-Cache-Store-Referencees (scaled from 23.71%) 248922840 Data-TLB-Cache-Load-Referencees (scaled from 23.94%) 5828386 Data-TLB-Cache-Load-Misses (scaled from 24.17%) 257613506 Instruction-TLB-Cache-Load-Referencees (scaled from 24.20%) 6833 Instruction-TLB-Cache-Load-Misses (scaled from 23.88%) 109043606 Branch-Cache-Load-Referencees (scaled from 23.64%) 5552296 Branch-Cache-Load-Misses (scaled from 23.42%) 0.413702461 seconds time elapsed. After : Peformance counter stats for 'ls -lR /usr/include/': 266590464 L1-d$-loads (scaled from 23.03%) 1222273 L1-d$-load-misses (scaled from 23.58%) 146204 L1-d$-stores (scaled from 23.83%) 406344 L1-d$-prefetches (scaled from 24.09%) 283748 L1-d$-prefetch-misses (scaled from 24.10%) 249650965 L1-i$-loads (scaled from 23.80%) 3353961 L1-i$-load-misses (scaled from 23.82%) 104599 L1-i$-prefetches (scaled from 23.68%) 4836405 LLC-loads (scaled from 23.67%) 498214 LLC-load-misses (scaled from 23.66%) 4953994 LLC-stores (scaled from 23.64%) 243354097 dTLB-loads (scaled from 23.77%) 6468584 dTLB-load-misses (scaled from 23.74%) 249719549 iTLB-loads (scaled from 23.25%) 5060 iTLB-load-misses (scaled from 23.00%) 112343016 branch-loads (scaled from 22.76%) 5528876 branch-load-misses (scaled from 22.54%) 0.427154051 seconds time elapsed. Reported-by : Ingo Molnar Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245934522.5308.39.camel@hpdv5.satnam> Signed-off-by: Ingo Molnar commit 308ff823ebd749a94d3b6ac26b95bc0eb114c39e Author: Jesper Dangaard Brouer Date: Thu Jun 25 16:32:52 2009 +0200 nf_conntrack: Use rcu_barrier() RCU barriers, rcu_barrier(), is inserted two places. In nf_conntrack_expect.c nf_conntrack_expect_fini() before the kmem_cache_destroy(). Firstly to make sure the callback to the nf_ct_expect_free_rcu() code is still around. Secondly because I'm unsure about the consequence of having in flight nf_ct_expect_free_rcu/kmem_cache_free() calls while doing a kmem_cache_destroy() slab destroy. And in nf_conntrack_extend.c nf_ct_extend_unregister(), inorder to wait for completion of callbacks to __nf_ct_ext_free_rcu(), which is invoked by __nf_ct_ext_add(). It might be more efficient to call rcu_barrier() in nf_conntrack_core.c nf_conntrack_cleanup_net(), but thats make it more difficult to read the code (as the callback code in located in nf_conntrack_extend.c). Signed-off-by: Jesper Dangaard Brouer Signed-off-by: Patrick McHardy commit 14744d7da2e6ab5c6d8e82c84dc280e3c0dd8552 Author: Clemens Ladisch Date: Thu Jun 25 14:28:49 2009 +0200 sound: oxygen: make mic volume control mono The microphone input and its volume register have only one channel, so we have to make the corresponding mixer control a mono control. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 10121a12e2380fb34b6e646a8e367add06d036c3 Merge: 28d0325 dd5e8e6 Author: Takashi Iwai Date: Thu Jun 25 15:28:14 2009 +0200 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc Conflicts: MAINTAINERS commit f6430a938dc6d77e33722aaf6a58382b3423935d Author: Linus Walleij Date: Wed Jun 24 23:38:56 2009 +0100 [ARM] 5565/2: Use PAGE_SIZE and RO_DATA() in link script Update the link script for ARM to use PAGE_SIZE instead of hard- coded 4096. Also the old RODATA macro is deprecated for the RO_DATA(PAGE_SIZE) macro. As a consequence the PAGE_SIZE was changed from (1UL << PAGE_SHIFT) to (_AC(1,UL) << PAGE_SHIFT) because the linker does not understand the "UL" suffix to numeric constants. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 7aa5514e7170c6179272bc638a980adc1738fd29 Author: Aaro Koskinen Date: Mon Jun 22 09:23:36 2009 +0100 [ARM] 5560/1: Avoid buffer overrun in case of an invalid IRQ handle_bad_irq() expects the IRQ number to be valid (used for statistics), so it cannot be called with an illegal vector. The problem was reported by a static analysis tool. The change makes bad_irq_desc redundant, so delete it. Signed-off-by: Aaro Koskinen Signed-off-by: Russell King commit dd5e8e6b1d4c218d2bafe002231ec460459ab5c4 Author: Peter Ujfalusi Date: Thu Jun 25 13:26:09 2009 +0300 MAINTAINERS: Add entry for twl4030 series soc codec driver New MAINTAINERS entry for twl4030 series soc codec driver with Peter Ujfalusi as maintainer. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 8fd3ec6309dc3c8b6addc9015458bfae87592a1f Merge: f9bfccf 76609a6 Author: Russell King Date: Thu Jun 25 13:49:07 2009 +0100 Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux commit f9bfccf11df33dae874aac58b0926004ae833167 Merge: 28d0325 503dcbe Author: Russell King Date: Thu Jun 25 13:47:21 2009 +0100 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit aa715284b4d28cabde6c25c568d769a6be712bc8 Author: Thomas Gleixner Date: Thu Jun 25 14:27:58 2009 +0200 futex: request only one page from get_user_pages() Yanmin noticed that fault_in_user_writeable() requests 4 pages instead of one. That's the result of blindly trusting Linus' proposal :) I even looked up the prototype to verify the correctness: the argument in question is confusingly enough named "len" while in reality it means number of pages. Pointed-out-by: Yanmin Zhang Signed-off-by: Thomas Gleixner commit 1fbcf37128cc19bd67d9a736fb634dc444e907d7 Author: Paul Mundt Date: Thu Jun 25 21:17:19 2009 +0900 sh: Kill off unused DEBUG_BOOTMEM symbol. This was killed off in generic code some time ago, kill off the left over symbol. Signed-off-by: Paul Mundt commit 06813f6c743420c16f9248ab59bd2e68a2de57ba Author: Jaswinder Singh Rajput Date: Thu Jun 25 17:16:07 2009 +0530 perf_counter tools: Check for valid cache operations Made new table for cache operartion stat 'hw_cache_stat' as: L1I : Read and prefetch only ITLB and BPU : Read-only introduce is_cache_op_valid() for cache operation validity And checks for valid cache operations. Reported-by : Ingo Molnar Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245930367.5308.33.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit d8146bb23ea045fb75c56b4e3b53f0964eed4076 Author: Brandon Philips Date: Wed Jun 24 14:09:14 2009 +0000 atl1*: add device_set_wakeup_enable to atl1*_set_wol Tell PCI core that atl1* device can wakeup the system when WOL is enabled by calling device_set_wakeup_enable. Joerg noted that his atl1e device WOL fine after enabling it with ethtool and changing /sys/class/net/eth0/device/power/wakeup to enabled Tested on atl1e: https://bugzilla.novell.com/show_bug.cgi?id=493214 Tested by: Joerg Reuter Signed-off-by: Brandon Philips Signed-off-by: David S. Miller commit 2be6fa4c7e5731375cc5e70843a3444293c27514 Author: Rémi Denis-Courmont Date: Wed Jun 24 01:07:45 2009 +0000 Phonet: generate Netlink RTM_DELADDR when destroying a device Netlink address deletion events were not sent when a network device vanished neither when Phonet was unloaded. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit c7a1a4c80f873d5d6ecd173035bb80eba489f380 Author: Rémi Denis-Courmont Date: Wed Jun 24 01:07:44 2009 +0000 Phonet: publicize the Netlink notification function Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 11687a1099583273a8a98ec42af62b5bb5a69e45 Author: David S. Miller Date: Thu Jun 25 02:45:42 2009 -0700 Revert "veth: prevent oops caused by netdev destructor" This reverts commit ae0e8e82205c903978a79ebf5e31c670b61fa5b4. This change had two problems: 1) Since it frees the stats in the drivers' close method, we can OOPS in the transmit routine. 2) stats are no longer remembered across ifdown/ifup which disagrees with how every other device operates. Thanks to analysis and test patch from Serge E. Hallyn and initial OOPS report by Sachin Sant. Signed-off-by: David S. Miller commit 76c64c5e4c47b6d28deb3cae8dfa07a93c2229dc Author: Johannes Weiner Date: Wed Jun 24 21:08:36 2009 +0200 perf record: Fix filemap pathname parsing in /proc/pid/maps Looking backward for the first space from the end of a line in /proc/pid/maps does not find the start of the pathname of the mapped file if it contains a space. Since the only slashes we have in this file occur in the (absolute!) pathname column of file mappings, looking for the first slash in a line is a safe method to find the name. Signed-off-by: Johannes Weiner Cc: Stefani Seibold Cc: Andrew Morton Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Peter Zijlstra LKML-Reference: <20090624190835.GA25548@cmpxchg.org> Signed-off-by: Ingo Molnar commit a9d9058abab4ac17b79d500506e6c74bd16cecdc Author: Catalin Marinas Date: Thu Jun 25 10:16:11 2009 +0100 kmemleak: Allow the early log buffer to be configurable. (feature suggested by Sergey Senozhatsky) Kmemleak needs to track all the memory allocations but some of these happen before kmemleak is initialised. These are stored in an internal buffer which may be exceeded in some kernel configurations. This patch adds a configuration option with a default value of 400 and also removes the stack dump when the early log buffer is exceeded. Signed-off-by: Catalin Marinas Acked-by: Sergey Senozhatsky commit 1155de47cd66d0c496d5a6fb2223e980ef1285b2 Author: Paul Mundt Date: Thu Jun 25 14:30:12 2009 +0900 ring-buffer: Make it generally available In hunting down the cause for the hwlat_detector ring buffer spew in my failed -next builds it became obvious that folks are now treating ring_buffer as something that is generic independent of tracing and thus, suitable for public driver consumption. Given that there are only a few minor areas in ring_buffer that have any reliance on CONFIG_TRACING or CONFIG_FUNCTION_TRACER, provide stubs for those and make it generally available. Signed-off-by: Paul Mundt Cc: Jon Masters Cc: Steven Rostedt LKML-Reference: <20090625053012.GB19944@linux-sh.org> Signed-off-by: Ingo Molnar commit 00e54d087afb3867b0b461aef6c1ff433d0df564 Author: Li Zefan Date: Thu Jun 25 14:05:27 2009 +0800 ftrace: Remove duplicate newline Before: # echo 'sys_open:traceon:' > set_ftrace_filter # echo 'sys_close:traceoff:5' > set_ftrace_filter # cat set_ftrace_filter #### all functions enabled #### sys_open:traceon:unlimited sys_close:traceoff:count=0 After: # cat set_ftrace_filter #### all functions enabled #### sys_open:traceon:unlimited sys_close:traceoff:count=0 Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4313A7.7030105@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7e895cfaad51c862932ea7db0c428761076412e5 Author: Tim Blechmann Date: Thu Jun 25 09:41:46 2009 +0200 ALSA: lx6464es - configure ethersound io channels as long as the io channel number is not set by the driver, the card is not visible from the ethersound network Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit ae27a7ab2c74f9c075e03730c5f493163d048c62 Author: Thadeu Lima de Souza Cascardo Date: Wed Jun 24 18:40:46 2009 -0300 mtd: atmel_nand: Fix typo s/parititions/partitions/ Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: David Woodhouse commit 342ba1039ad7cf464c7927ddf1ddc10d48a3716b Author: Thadeu Lima de Souza Cascardo Date: Wed Jun 24 18:39:09 2009 -0300 mtd: cmdlineparts: Use 64-bit format when printing a debug message. Commit 69423d99fc182a81f3c5db3eb5c140acc6fc64be ("[MTD] update internal API to support 64-bit device size") has changed some structure values to 64-bit and has not updated this debug message, since it's not built by default. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: David Woodhouse commit 0d7392e54435476243ce08ba57745ab52d639cbb Author: Joe Perches Date: Wed Jun 24 23:18:02 2009 -0700 sound: Use PCI_VDEVICE for CREATIVE and ECTIVA Here's a patch on top of the others to use CREATIVE and ECTIVA Signed-off-by: Joe Perches Signed-off-by: Takashi Iwai commit 28d27aae9432c300857722a917be4065c6d7abff Author: Joe Perches Date: Wed Jun 24 22:13:35 2009 -0700 sound: Use PCI_VDEVICE Signed-off-by: Joe Perches Signed-off-by: Takashi Iwai commit dde6535686aa4e78e8b85850d1f3fccd8a581622 Author: Takashi Iwai Date: Thu Jun 25 08:25:35 2009 +0200 ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G For Acer Aspire 6930G (1025:015e), acre-aspire-6530g model matches obviously better. Signed-off-by: Takashi Iwai commit 320d592001acbfd76bf856b5370319f144285489 Author: Emilio López Date: Thu Jun 25 08:18:44 2009 +0200 ALSA: hda - Fix acer-aspire-6530g model quirk Fix the following bugs of acer-aspire-6530g model with ALC888: - HP jack to mute all speaker outputs including LFE - Make digital built-in mic working Signed-off-by: Emilio López Signed-off-by: Takashi Iwai commit 261c2407401ca26fa17f05667ea68f51e12c5303 Author: Takashi Iwai Date: Thu Jun 25 08:13:40 2009 +0200 ALSA: hda - Add pin-sense trigger when needed for Realtek codecs Realtek codecs require the pin-sense trigger call before actually reading the pin-sense. Without this, the pin-detection might not be done accurately. This patch adds the pin-capability check and issues the trigger call if required. Signed-off-by: Takashi Iwai commit febe8345353e8873e43f2c2c9792d062c770b22b Author: Paul Mundt Date: Thu Jun 25 14:41:57 2009 +0900 perf_counter tools: add cpu_relax()/rmb() definitions for sh. Simple cpu_relax()/rmb() stubs that perf needs, which were inadvertently omitted from the sh HAVE_PERF_COUNTERS patch. Signed-off-by: Paul Mundt commit f46c7234e472ceee39afea4fb5a4365843e1850a Author: Steve French Date: Thu Jun 25 03:04:20 2009 +0000 [CIFS] cleanup asn handling for ntlmssp Also removes obsolete distinction between rawntlmssp and ntlmssp (in asn/SPNEGO) since as jra noted we can always send raw ntlmssp in session setup now. remove check for experimental runtime flag (/proc/fs/cifs/Experimental) in ntlmssp path. Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 6debdbc0ba6253ac519cd5a3d22e30f1f9f1dd12 Author: Simo Leone Date: Thu Jun 25 02:44:43 2009 +0000 [CIFS] Copy struct *after* setting the port, instead of before. Acked-by: Jeff Layton Signed-off-by: Simo Leone Signed-off-by: Steve French commit 6459340cfcc6f6d165b27c3dd955aeb55a1b73d3 Author: Jeff Layton Date: Thu Jun 25 00:56:55 2009 -0400 cifs: remove rw/ro options cifs: remove rw/ro options These options are handled at the VFS layer. They only ever set the option in the smb_vol struct. Nothing was ever done with them afterward anyway. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit b48a485884b5afb3e33b1871bcbd246b67491923 Author: Jeff Layton Date: Thu Jun 25 00:56:54 2009 -0400 cifs: fix problems with earlier patches cifs: fix problems with earlier patches cifs_show_address hasn't been introduced yet, and fix a typo that was silently fixed by a later patch in the series. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 681bf72e4893a187cf6b6b62c08fc193f81c8c2f Author: Jeff Layton Date: Thu Jun 11 10:27:31 2009 -0400 cifs: have cifs parse scope_id out of IPv6 addresses and use it This patch has CIFS look for a '%' in an IPv6 address. If one is present then it will try to treat that value as a numeric interface index suitable for stuffing into the sin6_scope_id field. This should allow people to mount servers on IPv6 link-local addresses. Signed-off-by: Jeff Layton Acked-by: David Holder Signed-off-by: Steve French commit 6a9b6546164fb380a019f92ca4d76443202fdc4f Author: Florian Fainelli Date: Wed Jun 24 16:32:33 2009 -0700 cpmac: fix compilation failure introduced with netdev_ops conversion This patch fixes and obvious typo in the netdev_ops initialization: ndo_so_ioctl should be ndo_do_ioctl. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 245acb87729bc76ba65c7476665c01837e0cdccb Author: Herbert Xu Date: Wed Jun 24 03:55:41 2009 -0700 ipsec: Fix name of CAST algorithm Our CAST algorithm is called cast5, not cast128. Clearly nobody has ever used it :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 268875b9d1dd1bf0b523c59e736da9bc20c8ce1f Author: Steve French Date: Thu Jun 25 00:29:21 2009 +0000 [CIFS] Do not send tree disconnect if session is already disconnected Noticed this when tree connect timed out (due to Samba server crash) - we try to send a tree disconnect for a tid that does not exist since we don't have a valid tree id yet. This checks that the session is valid before sending the tree disconnect to handle this case. Signed-off-by: Steve French commit 28d0325ce6e0a52f53d8af687e6427fee59004d3 Author: Linus Torvalds Date: Wed Jun 24 16:25:37 2009 -0700 Linux 2.6.31-rc1 commit 236e946b53ffd5e2f5d7e6abebbe72a9f0826d15 Author: Linus Torvalds Date: Wed Jun 24 16:23:03 2009 -0700 Revert "PCI: use ACPI _CRS data by default" This reverts commit 9e9f46c44e487af0a82eb61b624553e2f7118f5b. Quoting from the commit message: "At this point, it seems to solve more problems than it causes, so let's try using it by default. It's an easy revert if it ends up causing trouble." And guess what? The _CRS code causes trouble. Signed-off-by: Linus Torvalds commit f27884aeadff9654f4a1e8a05dd92f4b140afe29 Merge: c622304 a35d01a Author: Linus Torvalds Date: Wed Jun 24 14:35:57 2009 -0700 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: da9030_battery: Fix race between event handler and monitor Add MAX17040 Fuel Gauge driver w1: ds2760_battery: add support for sleep mode feature w1: ds2760: add support for EEPROM read and write ds2760_battery: cleanups in ds2760_battery_probe() commit c6223048259006759237d826219f0fa4f312fb47 Merge: bd453cd d5bb68a 3a6a6c1 Author: Linus Torvalds Date: Wed Jun 24 14:17:14 2009 -0700 Merge branches 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/{vfs-2.6,audit-current} * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: another race fix in jfs_check_acl() Get "no acls for this inode" right, fix shmem breakage inline functions left without protection of ifdef (acl) * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: audit: inode watches depend on CONFIG_AUDIT not CONFIG_AUDIT_SYSCALL commit d5bb68adda7cc179e8efadeaa3a283cb470f13a6 Author: Al Viro Date: Wed Jun 24 17:02:42 2009 -0400 another race fix in jfs_check_acl() Signed-off-by: Al Viro commit 72c04902d1e27c8a324014cff1d4475c11b1cecd Author: Al Viro Date: Wed Jun 24 16:58:48 2009 -0400 Get "no acls for this inode" right, fix shmem breakage Signed-off-by: Al Viro commit 3a6a6c16be78472a52f6dd7d88913373b42ad0f7 Author: Eric Paris Date: Wed Jun 24 16:09:01 2009 -0400 audit: inode watches depend on CONFIG_AUDIT not CONFIG_AUDIT_SYSCALL Even though one cannot make use of the audit watch code without CONFIG_AUDIT_SYSCALL the spaghetti nature of the audit code means that the audit rule filtering requires that it at least be compiled. Thus build the audit_watch code when we build auditfilter like it was before cfcad62c74abfef83762dc05a556d21bdf3980a2 Clearly this is a point of potential future cleanup.. Reported-by: Frans Pop Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 641cf4a668e9e69d2bc061e953422ff72a91f86e Author: Markus Trippelsdorf Date: Wed Jun 24 22:28:52 2009 +0200 inline functions left without protection of ifdef (acl) Signed-off-by: Al Viro commit bd453cd487ac7116a269517779b83c1061debbec Merge: ba52270 d072599 Author: Linus Torvalds Date: Wed Jun 24 13:33:19 2009 -0700 Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Fix the write access fault problem for real commit d0725992c8a6fb63a16bc9e8b2a50094cc4db3cd Author: Thomas Gleixner Date: Thu Jun 11 23:15:43 2009 +0200 futex: Fix the write access fault problem for real commit 64d1304a64 (futex: setup writeable mapping for futex ops which modify user space data) did address only half of the problem of write access faults. The patch was made on two wrong assumptions: 1) access_ok(VERIFY_WRITE,...) would actually check write access. On x86 it does _NOT_. It's a pure address range check. 2) a RW mapped region can not go away under us. That's wrong as well. Nobody can prevent another thread to call mprotect(PROT_READ) on that region where the futex resides. If that call hits between the get_user_pages_fast() verification and the actual write access in the atomic region we are toast again. The solution is to not rely on access_ok and get_user() for any write access related fault on private and shared futexes. Instead we need to fault it in with verification of write access. There is no generic non destructive write mechanism which would fault the user page in trough a #PF, but as we already know that we will fault we can as well call get_user_pages() directly and avoid the #PF overhead. If get_user_pages() returns -EFAULT we know that we can not fix it anymore and need to bail out to user space. Remove a bunch of confusing comments on this issue as well. Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit ba52270d18fb17ce2cf176b35419dab1e43fe4a3 Author: Pekka Enberg Date: Wed Jun 24 21:59:51 2009 +0300 SLUB: Don't pass __GFP_FAIL for the initial allocation SLUB uses higher order allocations by default but falls back to small orders under memory pressure. Make sure the GFP mask used in the initial allocation doesn't include __GFP_NOFAIL. Signed-off-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 4923abf9f1a4c1864af438a57c1f3686548230e9 Author: Linus Torvalds Date: Wed Jun 24 12:16:49 2009 -0700 Don't warn about order-1 allocations with __GFP_NOFAIL Traditionally, we never failed small orders (even regardless of any __GFP_NOFAIL flags), and slab will allocate order-1 allocations even for small allocations that could fit in a single page (in order to avoid excessive fragmentation). Maybe we should remove this warning entirely, but before making that judgement, at least limit it to bigger allocations. Acked-by: Pekka Enberg Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 1b173f77dd0d5fd4f0ff18034aaa79e30da068b9 Author: Ingo Molnar Date: Wed Jun 24 19:54:29 2009 +0200 perf_counter tools: Add CREDITS file for Git contributors Much of perf's libraries comes from the Git project. I noticed that the files (in tools/perf/util/*.[ch] and elsewhere) are quite spartan wrt. credits, so lets add a CREDITS file that includes an (incomplete!) list of main contributors. Thanks guys, these libraries are really useful. Special thanks go to Johannes Schindelin and Junio C Hamano for coming up with this list. List-Composed-By: Johannes Schindelin Cc: Junio C Hamano Signed-off-by: Ingo Molnar commit 163b2f0ba93e9298b3d5fff2337d860c3872ec60 Author: Paul Mundt Date: Thu Jun 25 02:49:03 2009 +0900 sh64: Hook up page fault events for software perf counters. sh64 can use these as well, so tie them up there as well. Signed-off-by: Paul Mundt commit c82e6d450fda56cb2d4f68534173d3cd11b32f9f Merge: c3cb5e1 a620c16 Author: Linus Torvalds Date: Wed Jun 24 10:47:38 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: Staging: octeon-ethernet: Fix race freeing transmit buffers. Staging: octeon-ethernet: Convert to use net_device_ops. MIPS: Cavium: Add CPU hotplugging code. MIPS: SMP: Allow suspend and hibernation if CPU hotplug is available MIPS: Add arch generic CPU hotplug DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set MIPS: Sibyte: Fix build error if CONFIG_SERIAL_SB1250_DUART is undefined. MIPS: MIPSsim: Fix build error if MSC01E_INT_BASE is undefined. MIPS: Hibernation: Remove SMP TLB and cacheflushing code. MIPS: Build fix - include into all smp_processor_id() users. MIPS: bug.h Build fix - include . commit a620c1632629b42369e78448acc7b384fe1faf48 Author: David Daney Date: Tue Jun 23 16:20:56 2009 -0700 Staging: octeon-ethernet: Fix race freeing transmit buffers. The existing code had the following race: Thread-1 Thread-2 inc/read in_use inc/read in_use inc tx_free_list[qos].len inc tx_free_list[qos].len The actual in_use value was incremented twice, but thread-1 is going to free memory based on its stale value, and will free one too many times. The result is that memory is freed back to the kernel while its packet is still in the transmit buffer. If the memory is overwritten before it is transmitted, the hardware will put a valid checksum on it and send it out (just like it does with good packets). If by chance the TCP flags are clobbered but not the addresses or ports, the result can be a broken TCP stream. The fix is to track the number of freed packets in a single location (a Fetch-and-Add Unit register). That way it can never get out of sync with itself. We try to free up to MAX_SKB_TO_FREE (currently 10) buffers at a time. If fewer are available we adjust the free count with the difference. The action of claiming buffers to free is atomic so two threads cannot claim the same buffers. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f696a10838ffab85e5bc07e7cff0d0e1870a30d7 Author: David Daney Date: Tue Jun 23 11:34:08 2009 -0700 Staging: octeon-ethernet: Convert to use net_device_ops. Convert the driver to use net_device_ops as it is now mandatory. Also compensate for the removal of struct sk_buff's dst field. The changes are mostly mechanical, the content of ethernet-common.c was moved to ethernet.c and ethernet-common.{c,h} are removed. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 773cb77d0e32f0a3c36edf5aaeb9642c18038cd2 Author: Ralf Baechle Date: Tue Jun 23 10:36:38 2009 +0100 MIPS: Cavium: Add CPU hotplugging code. Thanks to Cavium Inc. for the code contribution and help. Signed-off-by: Ralf Baechle commit 9801b321ecdb6708365b6825bf728c8e433fca00 Author: Ralf Baechle Date: Tue Jun 23 10:20:56 2009 +0100 MIPS: SMP: Allow suspend and hibernation if CPU hotplug is available The SMP implementation of suspend and hibernate depends on CPU hotplugging. In the past we didn't have CPU hotplug so suspend and hibernation were not possible on SMP systems. Signed-off-by: Ralf Baechle commit 1b2bc75c1bde6581d2694cb3ed7fb06b69685008 Author: Ralf Baechle Date: Tue Jun 23 10:00:31 2009 +0100 MIPS: Add arch generic CPU hotplug Each platform has to add support for CPU hotplugging itself by providing suitable definitions for the cpu_disable and cpu_die of the smp_ops methods and setting SYS_SUPPORTS_HOTPLUG_CPU. A platform should only set SYS_SUPPORTS_HOTPLUG_CPU once all it's smp_ops definitions have the necessary changes. This patch contains the changes to the dummy smp_ops definition for uni-processor systems. Parts of the code contributed by Cavium Inc. Signed-off-by: Ralf Baechle commit 4ac4aa5cc3b00cc558575065ae71043e92d1a69a Author: Atsushi Nemoto Date: Wed Jun 17 13:08:31 2009 -0700 DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set This patch does not change actual behaviour since dma_unmap_page is just an alias of dma_unmap_single on MIPS. Signed-off-by: Atsushi Nemoto Cc: Ralf Baechle Acked-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit 2e25406fb878e2313a9d8e302ed7ff3c2831198f Author: Ralf Baechle Date: Mon Jun 22 16:17:52 2009 +0100 MIPS: Sibyte: Fix build error if CONFIG_SERIAL_SB1250_DUART is undefined. This fixes kernel.org bugzilla 13596, see http://bugzilla.kernel.org/show_bug.cgi?id=13596 Reported-by: dvice_null@yahoo.com Signed-off-by: Ralf Baechle commit ab7f6f3010a6c5ae147541168705a446cee511e7 Author: Ralf Baechle Date: Mon Jun 22 15:48:27 2009 +0100 MIPS: MIPSsim: Fix build error if MSC01E_INT_BASE is undefined. This fixes kernel.org bugzilla 13595, see http://bugzilla.kernel.org/show_bug.cgi?id=13595 Reported-by: dvice_null@yahoo.com Signed-off-by: Ralf Baechle commit 44eeab67416711db9b84610ef18c99a60415dff8 Author: Ralf Baechle Date: Fri Jun 19 15:01:44 2009 +0100 MIPS: Hibernation: Remove SMP TLB and cacheflushing code. We can't perform any flushes on SMP from swsusp_arch_resume because interrupts are disabled. A cross-CPU flush is unnecessary anyway because all but the local CPU have already been disabled. A local flush is not needed either because we didn't change any mappings. So just delete the code. Signed-off-by: Ralf Baechle commit 631330f5847b3f8a7ea67d689e9f7c56833ccaa6 Author: Ralf Baechle Date: Fri Jun 19 14:05:26 2009 +0100 MIPS: Build fix - include into all smp_processor_id() users. Some of the were relying into smp.h being dragged in by another header which of course is fragile. uses smp_processor_id() only in macros and including smp.h there leads to an include loop, so don't change cpu-info.h. Signed-off-by: Ralf Baechle commit 0ca5921e791fb2011d4d6de787f6485b3900703d Author: Ralf Baechle Date: Fri Jun 19 13:51:28 2009 +0100 MIPS: bug.h Build fix - include . In the past this file somehow used to be dragged in. Signed-off-by: Ralf Baechle commit 7433ab770327b471399f7b5baacad78e160b5393 Author: Paul Mundt Date: Thu Jun 25 02:30:10 2009 +0900 sh: Hook up page fault events for software perf counters. This adds page fault instrumentation for the software performance counters. Follows the x86 and powerpc changes. Signed-off-by: Paul Mundt commit c3cb5e193937c7aa50c323e7933507020bd26340 Merge: ea94b50 f40c67f Author: Linus Torvalds Date: Wed Jun 24 10:26:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (48 commits) dm mpath: change to be request based dm: disable interrupt when taking map_lock dm: do not set QUEUE_ORDERED_DRAIN if request based dm: enable request based option dm: prepare for request based option dm raid1: add userspace log dm: calculate queue limits during resume not load dm log: fix create_log_context to use logical_block_size of log device dm target:s introduce iterate devices fn dm table: establish queue limits by copying table limits dm table: replace struct io_restrictions with struct queue_limits dm table: validate device logical_block_size dm table: ensure targets are aligned to logical_block_size dm ioctl: support cookies for udev dm: sysfs add suspended attribute dm table: improve warning message when devices not freed before destruction dm mpath: add service time load balancer dm mpath: add queue length load balancer dm mpath: add start_io and nr_bytes to path selectors dm snapshot: use barrier when writing exception store ... commit ea94b5034bbebc964115f119d6cd330757fce7f9 Merge: 650a10d b81c087 Author: Linus Torvalds Date: Wed Jun 24 10:26:24 2009 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: allow WLP to be used with IPv6. uwb: event_size should be signed commit 650a10dc484f067883fc05a2d4116e1ee3f909c0 Merge: 9937ac0 916d757 Author: Linus Torvalds Date: Wed Jun 24 10:22:57 2009 -0700 Merge branch 'audit.b63' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b63' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: Fix rule eviction order for AUDIT_DIR Audit: clean up all op= output to include string quoting Audit: move audit_get_nd completely into audit_watch audit: seperate audit inode watches into a subfile Audit: clean up audit_receive_skb Audit: cleanup netlink mesg handling Audit: unify the printk of an skb when auditd not around Audit: dereferencing krule as if it were an audit_watch Audit: better estimation of execve record length Audit: fix audit watch use after free commit 9937ac0cc087b03d6d73f46a5d6b38c43626e60e Author: Jesper Nilsson Date: Wed Jun 24 09:33:19 2009 +0200 MAINTAINERS: Change mailing list info for CRIS Posting to the dev-etrax mailing list is only allowed for subscribers, and the list is more geared toward user applications than kernel developers. Change to newly created mailing list for CRIS. Signed-off-by: Jesper Nilsson Signed-off-by: Linus Torvalds commit 0c26d7cc31cd81a82be3b9d7687217d49fe9c47e Merge: 936940a 21ab01e Author: Linus Torvalds Date: Wed Jun 24 10:17:07 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (72 commits) asus-laptop: remove EXPERIMENTAL dependency asus-laptop: use pr_fmt and pr_ eeepc-laptop: cpufv updates eeepc-laptop: sync eeepc-laptop with asus_acpi asus_acpi: Deprecate in favor of asus-laptop acpi4asus: update MAINTAINER and KConfig links asus-laptop: platform dev as parent for led and backlight eeepc-laptop: enable camera by default ACPI: Rename ACPI processor device bus ID acerhdf: Acer Aspire One fan control ACPI: video: DMI workaround broken Acer 7720 BIOS enabling display brightness ACPI: run ACPI device hot removal in kacpi_hotplug_wq ACPI: Add the reference count to avoid unloading ACPI video bus twice ACPI: DMI to disable Vista compatibility on some Sony laptops ACPI: fix a deadlock in hotplug case Show the physical device node of backlight class device. ACPI: pdc init related memory leak with physical CPU hotplug ACPI: pci_root: remove unused dev/fn information ACPI: pci_root: simplify list traversals ACPI: pci_root: use driver data rather than list lookup ... commit 936940a9c7e3d99b25859bf1ff140d8c2480183a Merge: 09ce42d 1cbd20d Author: Linus Torvalds Date: Wed Jun 24 10:03:12 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (23 commits) switch xfs to generic acl caching helpers helpers for acl caching + switch to those switch shmem to inode->i_acl switch reiserfs to inode->i_acl switch reiserfs to usual conventions for caching ACLs reiserfs: minimal fix for ACL caching switch nilfs2 to inode->i_acl switch btrfs to inode->i_acl switch jffs2 to inode->i_acl switch jfs to inode->i_acl switch ext4 to inode->i_acl switch ext3 to inode->i_acl switch ext2 to inode->i_acl add caching of ACLs in struct inode fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls cleanup __writeback_single_inode ... and the same for vfsmount id/mount group id Make allocation of anon devices cheaper update Documentation/filesystems/Locking devpts: remove module-related code ... commit 09ce42d3167e3f20b501fa780c2415332330fac5 Merge: d7ed9c0 7959ea2 Author: Linus Torvalds Date: Wed Jun 24 10:01:12 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: bnx2: Fix the behavior of ethtool when ONBOOT=no qla3xxx: Don't sleep while holding lock. qla3xxx: Give the PHY time to come out of reset. ipv4 routing: Ensure that route cache entries are usable and reclaimable with caching is off net: Move rx skb_orphan call to where needed ipv6: Use correct data types for ICMPv6 type and code net: let KS8842 driver depend on HAS_IOMEM can: let SJA1000 driver depend on HAS_IOMEM netxen: fix firmware init handshake netxen: fix build with without CONFIG_PM netfilter: xt_rateest: fix comparison with self netfilter: xt_quota: fix incomplete initialization netfilter: nf_log: fix direct userspace memory access in proc handler netfilter: fix some sparse endianess warnings netfilter: nf_conntrack: fix conntrack lookup race netfilter: nf_conntrack: fix confirmation race condition netfilter: nf_conntrack: death_by_timeout() fix commit d7ed9c05ebf56c04811276207d7110706debe09f Merge: 4d8d4d2 3391faa Author: Linus Torvalds Date: Wed Jun 24 09:57:10 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: remove redundant tests on unsigned udf: Use device size when drive reported bogus number of written blocks commit 4d8d4d251df8eaaa3dae71c8cfa7fbf4510d967d Author: Chuck Ebbert Date: Wed Jun 24 18:35:13 2009 +0100 Remove low_latency flag setting from nozomi and mxser drivers The kernel oopses if this flag is set. [and neither driver should set it as they call tty_flip_buffer_push from IRQ paths so have always been buggy] Signed-off-by: Chuck Ebbert Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6af9a43d58f2ec455b752fb9534cf05c7e855dbe Author: Jiri Slaby Date: Wed Jun 24 18:35:05 2009 +0100 tty: fix tty_port_block_til_ready waiting Since commit 3e3b5c087799e536871c8261b05bc28e4783c8da ("tty: use prepare/finish_wait"), tty_port_block_til_ready() is using prepare_to_wait()/finish_wait(). Those functions require that the wait_queue_t be initialised with .func=autoremove_wake_function, via DEFINE_WAIT(). But the conversion from DECLARE_WAITQUEUE() to DEFINE_WAIT() was not made, so this code will oops in finish_wait(). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 24ed3abaa13a9499d7454a1ed9830bb53b689b94 Author: Arjan van de Ven Date: Wed Jun 24 18:34:58 2009 +0100 pci: use pci_ioremap_bar() in drivers/serial Use the newly introduced pci_ioremap_bar() function in drivers/serial. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ce89294c056805019d8369b3b74bb52ef51b4708 Author: Paul Fulghum Date: Wed Jun 24 18:34:51 2009 +0100 synclink_gt: fix transmit race and timeout Fix race condition when adding transmit data to active DMA buffer ring that can cause transmit stall. Update transmit timeout when adding data to active DMA buffer ring. Base transmit timeout on amount of buffered data instead of using fixed value. Signed-off-by: Paul Fulghum Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2a13373cf84477460365c32842cda9a6374b845d Author: Andrew Morton Date: Wed Jun 24 18:34:43 2009 +0100 jsm: clean up "serial: jsm: correctly support 4 8 port boards" Remove unneeded casts. Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a10b32db34898d0db58a58ef76a70c374931bbff Author: Atsushi Nemoto Date: Wed Jun 24 18:34:34 2009 +0100 kgdb: kgdboc console poll hooks for serial_txx9 uart Implement the serial polling hooks for the serial_txx9 uart for use with kgdboc. This patch once got SOB from Jason on Jul 2008 and (perhaps) merged into kgdb-next branch, but lost somewhere then. I resend it now with Jason's Acked-by. Signed-off-by: Atsushi Nemoto Acked-by: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9c26f52b900f7207135bafc8789e1a4f5d43e096 Author: Cliff Wickman Date: Wed Jun 24 09:41:59 2009 -0500 x86: Fix uv bau sending buffer initialization The initialization of the UV Broadcast Assist Unit's sending buffers was making an invalid assumption about the initialization of an MMR that defines its address. The BIOS will not be providing that MMR. So uv_activation_descriptor_init() should unconditionally set it. Tested on UV simulator. Signed-off-by: Cliff Wickman Cc: # for v2.6.30.x LKML-Reference: Signed-off-by: Ingo Molnar commit 17659c60629618c0aa67eb3cb6a77d2c52486d2e Author: David Woodhouse Date: Wed Jun 24 15:35:15 2009 +0100 mtd: maps: Remove BUS_ID_SIZE from integrator_flash Signed-off-by: David Woodhouse Tested-by: Catalin Marinas commit d94d4adb7dd05b4e25f3c317a1b932ec74272a12 Author: Paul Mundt Date: Wed Jun 24 22:35:30 2009 +0900 sh: make set_perf_counter_pending() static inline. Fixes up a recently introduced build error. Reported-by: Kyle McMartin Signed-off-by: Paul Mundt commit f6faac71d502be1c29c81b2f45657662c3b84470 Author: Paul E. McKenney Date: Tue Jun 23 17:24:40 2009 -0700 rcu: Mark Hierarchical RCU no longer experimental Removes the warnings about Hierarchical RCU being experimental, given that it has gone through almost six months of being the default RCU in mainline for the x86 with very little trouble. This makes hierarchical-RCU bootup look less scary. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: dipankar@in.ibm.com Cc: dhowells@redhat.com Cc: lethal@linux-sh.org Cc: kernel@wantstofly.org Cc: cl@linux-foundation.org Cc: schamp@sgi.com Signed-off-by: Ingo Molnar commit 3d63259583278262d9153316094e315f73ebfcb5 Author: Jaswinder Singh Rajput Date: Wed Jun 24 18:19:34 2009 +0530 perf stat: Remove dead code Remove dead code and do some code alignment. Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245847774.2681.2.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 1cbd20d820c36f52543e3e4cd0067ebf52aa388f Author: Al Viro Date: Tue Jun 9 13:29:39 2009 -0400 switch xfs to generic acl caching helpers Signed-off-by: Al Viro commit 073aaa1b142461d91f83da66db1184d7c1b1edea Author: Al Viro Date: Tue Jun 9 12:11:54 2009 -0400 helpers for acl caching + switch to those helpers: get_cached_acl(inode, type), set_cached_acl(inode, type, acl), forget_cached_acl(inode, type). ubifs/xattr.c needed includes reordered, the rest is a plain switchover. Signed-off-by: Al Viro commit 06b16e9f68edaa1e71aee943d3c030bcf7380af1 Author: Al Viro Date: Mon Jun 8 19:56:00 2009 -0400 switch shmem to inode->i_acl Signed-off-by: Al Viro commit 281eede0328c84a8f20e0e85b807d5b51c3de4f2 Author: Al Viro Date: Mon Jun 8 21:07:04 2009 -0400 switch reiserfs to inode->i_acl Signed-off-by: Al Viro commit 7a77b15d9294749809de918e24bebc39e0fbc9ab Author: Al Viro Date: Mon Jun 8 21:01:13 2009 -0400 switch reiserfs to usual conventions for caching ACLs Signed-off-by: Al Viro commit e68888bcb60ccba4dc21df9f2d8cd7325b64dce7 Author: Al Viro Date: Mon Jun 8 20:46:54 2009 -0400 reiserfs: minimal fix for ACL caching reiserfs uses NULL as "unknown" and ERR_PTR(-ENODATA) as "no ACL"; several codepaths store the former instead of the latter. All those codepaths go through iset_acl() and all cases when it's called with NULL acl are for the second variety, so the minimal fix is to teach iset_acl() to deal with that. Proper fix is to switch to more usual conventions and avoid back and forth between internally used ERR_PTR(-ENODATA) and NULL expected by the rest of the kernel. Signed-off-by: Al Viro commit d441b1c293149212045de00f346c8ea6cd41cce4 Author: Al Viro Date: Mon Jun 8 19:56:34 2009 -0400 switch nilfs2 to inode->i_acl Actually, get rid of private analog, since nothing in there is using ACLs at all so far. Signed-off-by: Al Viro commit 5affd88a104af43f0063a12ad1ee4c7a587945dc Author: Al Viro Date: Mon Jun 8 19:55:32 2009 -0400 switch btrfs to inode->i_acl Signed-off-by: Al Viro commit 290c263bf83cd78e53b1aa3b42165f588163f2be Author: Al Viro Date: Mon Jun 8 19:55:12 2009 -0400 switch jffs2 to inode->i_acl Signed-off-by: Al Viro commit 05fc0790b6c9c611129f2f712d00b6a8a364e8d2 Author: Al Viro Date: Mon Jun 8 19:54:52 2009 -0400 switch jfs to inode->i_acl Signed-off-by: Al Viro commit d4bfe2f76d785cc77611a4bda8cedaff358d8c7d Author: Al Viro Date: Mon Jun 8 19:54:26 2009 -0400 switch ext4 to inode->i_acl Signed-off-by: Al Viro commit 6582a0e6f6bc7bf64817b9e1a424782855292ab0 Author: Al Viro Date: Mon Jun 8 19:53:58 2009 -0400 switch ext3 to inode->i_acl Signed-off-by: Al Viro commit 5e78b435683daaaacadad1b2aeefb8904cf6acfb Author: Al Viro Date: Mon Jun 8 19:52:55 2009 -0400 switch ext2 to inode->i_acl Signed-off-by: Al Viro commit f19d4a8fa6f9b6ccf54df0971c97ffcaa390b7b0 Author: Al Viro Date: Mon Jun 8 19:50:45 2009 -0400 add caching of ACLs in struct inode No helpers, no conversions yet. Signed-off-by: Al Viro commit 3e63cbb1efca7dd3137de1bb475e2e068e38ef23 Author: Ankit Jain Date: Fri Jun 19 14:28:07 2009 -0400 fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls This patch adds ioctls to vfs for compatibility with legacy XFS pre-allocation ioctls (XFS_IOC_*RESVP*). The implementation effectively invokes sys_fallocate for the new ioctls. Also handles the compat_ioctl case. Note: These legacy ioctls are also implemented by OCFS2. [AV: folded fixes from hch] Signed-off-by: Ankit Jain Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 01c031945f2755c7afaaf456088543312f2b72ea Author: Christoph Hellwig Date: Mon Jun 8 13:35:40 2009 +0200 cleanup __writeback_single_inode There is no reason to for the split between __writeback_single_inode and __sync_single_inode, the former just does a couple of checks before tail-calling the latter. So merge the two, and while we're at it split out the I_SYNC waiting case for data integrity writers, as it's logically separate function. Finally rename __writeback_single_inode to writeback_single_inode. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f21f62208a6f60e2e05440b2e438d9541822dc4d Author: Al Viro Date: Wed Jun 24 03:12:00 2009 -0400 ... and the same for vfsmount id/mount group id Signed-off-by: Al Viro commit c63e09ecccb50f930e899d7005edc5411ee86d4f Author: Al Viro Date: Wed Jun 24 02:05:18 2009 -0400 Make allocation of anon devices cheaper Standard trick - add a new variable (start) such that for each n < start n is known to be busy. Allocation can skip checking everything in [0..start) and if it returns n, we can set start to n + 1. Freeing below start sets start to what we'd just freed. Of course, it still sucks if we do something like free 0 allocate allocate in a loop - still O(n^2) time. However, on saner loads it improves the things a lot and the entire thing is not worth the trouble of switching to something with better worst-case behaviour. Signed-off-by: Al Viro commit 7e325d3a6b117c7288bfc0755410e9d9d2b71326 Author: Christoph Hellwig Date: Fri Jun 19 20:22:37 2009 +0200 update Documentation/filesystems/Locking The rules for locking in many superblock operations has changed significantly, so update the documentation for it. Also correct some older updates and ommissions. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f6cc746bbb3b8a8ceb8514a7906ba582607a8cf7 Author: H. Peter Anvin Date: Tue Jun 16 21:15:04 2009 -0700 devpts: remove module-related code These days, the devpts filesystem is closely integrated with the pty memory management, and cannot be built as a module, even less removed from the kernel. Accordingly, remove all module-related stuff from this filesystem. [ v2: only remove code that's actually dead ] Signed-off-by: H. Peter Anvin Signed-off-by: Al Viro commit 3b22edc5730b87d360ee7dd7143397ba09b73a47 Author: Trond Myklebust Date: Tue Jun 23 17:29:49 2009 -0400 VFS: Switch init_mount_tree() to use the new create_mnt_ns() helper Eliminates some duplicated code... Signed-off-by: Trond Myklebust Signed-off-by: Al Viro commit 654f562c526cf9dfb8d453f687341fe0777ee454 Author: J. R. Okajima Date: Thu Jun 18 23:30:15 2009 +0900 vfs: fix nd->root leak in do_filp_open() commit 2a737871108de9ba8930f7650d549f1383767f8b "Cache root in nameidata" introduced a new member nd->root, but forgot to put it in do_filp_open(). Signed-off-by: J. R. Okajima Signed-off-by: Al Viro commit b5450d9c84bdd38b261922057cd167da51dfae93 Author: Christoph Hellwig Date: Fri Jun 19 10:30:07 2009 +0200 reiserfs: remove stray unlock_super in reiserfs_resize Reiserfs doesn't use lock_super anywhere internally, and ->remount_fs which calls reiserfs_resize does have it currently but also expects it to be held on return, so there's no business for the unlock_super here. Signed-off-by: Christoph Hellwig Acked by Edward Shishkin Signed-off-by: Al Viro commit c912e7a58054304575fe88574c776be7e684098e Author: Takashi Iwai Date: Wed Jun 24 14:14:34 2009 +0200 ALSA: hda - Fix support for Samsung P50 with AD1986A codec Samsung P50 requires the HP auto-muting unlike other Samsung models. Added a new model=samsung-p50 to support this. Signed-off-by: Takashi Iwai commit 03c405ad314d3c4e049b8d04500e54e833d16747 Author: Takashi Iwai Date: Wed Jun 24 14:10:15 2009 +0200 ALSA: hda - Generalize the pin-detect quirk for Lenovo N100 Add a new flag to ad_spec struct so that the same hack can be used for any other models (if any). This also allows other models to reuse the auto-mute functions. Signed-off-by: Takashi Iwai commit 6f4b67b8ff707147e14ee71045ab25aa286520f2 Author: Shin-ichiro KAWASAKI Date: Sun Jun 21 10:56:22 2009 +0000 clocksource: sh_tmu: Make undefined TCOR behaviour less undefined. Avoid undocumented vague TMU behavior when zero value is set to TCOR. This primarily fixes up issues encountered under qemu with a zero-length period, while the hardware itself is fairly ambivalent one way or the other. Signed-off-by: Shin-ichiro KAWASAKI Acked-by: Magnus Damm Signed-off-by: Paul Mundt commit 16d11a829ed197b719723f81d82e7f1a42f5c681 Author: Takashi Iwai Date: Wed Jun 24 14:07:53 2009 +0200 ALSA: hda - Simplify AD1986A mixer definitions Split mixer element arrays of AD1986A models to several pieces so that each model can share the same mixer arrays. This removes lots of duplicated data. Signed-off-by: Takashi Iwai commit 3391faa4f18e4e33666d3d24e90e3086fcf9b922 Author: Roel Kluin Date: Mon Jun 22 23:12:29 2009 +0200 udf: remove redundant tests on unsigned first_block and goal are unsigned. When negative they are wrapped and caught by the other test. Signed-off-by: Roel Kluin Signed-off-by: Jan Kara commit 9d612beff5089b89a295a2331883a8ce3fff08c1 Author: Li Zefan Date: Wed Jun 24 17:33:15 2009 +0800 tracing: Fix trace_buf_size boot option We should be able to specify [KMG] when setting trace_buf_size boot option, as documented in kernel-parameters.txt Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A41F2DB.4020102@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d7e2f36d9a92284754ed5254562766cb3d61c7ca Author: David S. Miller Date: Wed Jun 24 02:36:17 2009 -0700 ide cs5520: Initialize second port's interrupt number. In 86ccf37c6acd74cf7e4b7751ee045de19943c5a0 the driver was modified to deal with the removal of the pciirq argument to ide_pci_setup_ports(). But in the conversion only the first port's IRQ gets setup. Inspired by a patch by Bartlomiej Zolnierkiewicz., and with help from Alan Cox. Signed-off-by: David S. Miller commit bc47df0fa705887242c26c7b040e7cf0170ab1f1 Author: Boaz Harrosh Date: Wed May 20 18:50:34 2009 +0300 osdblk: Adjust queue limits to lower device's limits call blk_queue_stack_limits() to copy queue limits from the underline osd scsi_device. This is absolutely needed because osdblk cannot sleep when allocating a lower-request and therefore cannot be bouncing. TODO: Dynamic changes of limits to the lower device queue will not reflect in the upper driver Signed-off-by: Boaz Harrosh commit 2a13877c5ef3207a2a5c56250742e60808677f90 Author: Jeff Garzik Date: Fri Apr 10 07:50:45 2009 -0400 osdblk: a Linux block device for OSD objects Submitted driver exports a block device of the form /dev/osdblkX, where X is a decimal number. It does that by mounting a stacking block device on top of an osd object. For example, if you create a 2G object on an OSD device, you can then use this module to present that 2G object as a Linux block device. See inside patch for exact documentation. [Sitting at linux-next helped fix proper Kconfig dependency for this driver, thanks to Randy Dunlap] Signed-off-by: Jeff Garzik Signed-off-by: Boaz Harrosh commit 507e123151149e578c9aae33eb876c49824da5f8 Author: Heiko Carstens Date: Tue Jun 23 17:38:15 2009 +0200 timer stats: Optimize by adding quick check to avoid function calls When the kernel is configured with CONFIG_TIMER_STATS but timer stats are runtime disabled we still get calls to __timer_stats_timer_set_start_info which initializes some fields in the corresponding struct timer_list. So add some quick checks in the the timer stats setup functions to avoid function calls to __timer_stats_timer_set_start_info when timer stats are disabled. In an artificial workload that does nothing but playing ping pong with a single tcp packet via loopback this decreases cpu consumption by 1 - 1.5%. This is part of a modified function trace output on SLES11: perl-2497 [00] 28630647177732388 [+ 125]: sk_reset_timer <-tcp_v4_rcv perl-2497 [00] 28630647177732513 [+ 125]: mod_timer <-sk_reset_timer perl-2497 [00] 28630647177732638 [+ 125]: __timer_stats_timer_set_start_info <-mod_timer perl-2497 [00] 28630647177732763 [+ 125]: __mod_timer <-mod_timer perl-2497 [00] 28630647177732888 [+ 125]: __timer_stats_timer_set_start_info <-__mod_timer perl-2497 [00] 28630647177733013 [+ 93]: lock_timer_base <-__mod_timer Signed-off-by: Heiko Carstens Cc: Andrew Morton Cc: Martin Schwidefsky Cc: Mustafa Mesanovic Cc: Arjan van de Ven LKML-Reference: <20090623153811.GA4641@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit d82d62444f87e5993af2fa82ed636b2206e052ea Author: Li Zefan Date: Wed Jun 24 09:54:54 2009 +0800 ftrace: Fix t_hash_start() When the output of set_ftrace_filter is larger than PAGE_SIZE, t_hash_start() will be called the 2nd time, and then we start from the head of a hlist, which is wrong and causes some entries to be outputed twice. The worse is, if the hlist is large enough, reading set_ftrace_filter won't stop but in a dead loop. Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A41876E.2060407@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 694ce0a544fba37a60025a6803ee6265be8a2a22 Author: Li Zefan Date: Wed Jun 24 09:54:19 2009 +0800 ftrace: Don't manipulate @pos in t_start() It's rather confusing that in t_start(), in some cases @pos is incremented, and in some cases it's decremented and then incremented. This patch rewrites t_start() in a much more general way. Thus we fix a bug that if ftrace_filtered == 1, functions have tracer hooks won't be printed, because the branch is always unreachable: static void *t_start(...) { ... if (!p) return t_hash_start(m, pos); return p; } Before: # echo 'sys_open' > /mnt/tracing/set_ftrace_filter # echo 'sys_write:traceon:4' >> /mnt/tracing/set_ftrace_filter sys_open After: # echo 'sys_open' > /mnt/tracing/set_ftrace_filter # echo 'sys_write:traceon:4' >> /mnt/tracing/set_ftrace_filter sys_open sys_write:traceon:count=4 Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A41874B.4090507@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 85951842a1020669f0a9eb0f0d1853b41341f097 Author: Li Zefan Date: Wed Jun 24 09:54:00 2009 +0800 ftrace: Don't increment @pos in g_start() It's wrong to increment @pos in g_start(). It causes some entries lost when reading set_graph_function, if the output of the file is larger than PAGE_SIZE. Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A418738.7090401@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit f129e965bef40c6153e4fe505f1e408286213424 Author: Li Zefan Date: Wed Jun 24 09:53:44 2009 +0800 tracing: Reset iterator in t_start() The iterator is m->private, but it's not reset to trace_types in t_start(). If the output is larger than PAGE_SIZE and t_start() is called the 2nd time, things will go wrong. Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A418728.5020506@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2961bf345fd1b736c3db46cad0f69855f67fbe9c Author: Li Zefan Date: Wed Jun 24 09:53:26 2009 +0800 trace_stat: Don't increment @pos in seq start() It's wrong to increment @pos in stat_seq_start(). It causes some stat entries lost when reading stat file, if the output of the file is larger than PAGE_SIZE. Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A418716.90209@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c8961ec6da22ea010bf4470a8e0fb3fdad0f11c4 Author: Li Zefan Date: Wed Jun 24 09:52:58 2009 +0800 tracing_bprintk: Don't increment @pos in t_start() It's wrong to increment @pos in t_start(), otherwise we'll lose some entries when reading printk_formats, if the output is larger than PAGE_SIZE. Reported-by: Lai Jiangshan Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4186FA.1020106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e1c7e2a6e67fe9db19dd15e71614526a31b5fdb1 Author: Li Zefan Date: Wed Jun 24 09:52:29 2009 +0800 tracing/events: Don't increment @pos in s_start() While testing syscall tracepoints posted by Jason, I found 3 entries were missing when reading available_events. The output size of available_events is < 4 pages, which means we lost 1 entry per page. The cause is, it's wrong to increment @pos in s_start(). Actually there's another bug here -- reading avaiable_events/set_events can race with module unload: # cat available_events | s_start() | s_stop() | | # rmmod foo.ko s_start() | call = list_entry(m->private) | @call might be freed and accessing it will lead to crash. Reviewed-by: Liming Wang Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4186DD.6090405@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c14dab5c0782ef632742963a66276a195418a63c Author: Yong Wang Date: Wed Jun 24 10:13:24 2009 +0800 perf_counter, x86: Set global control MSR correctly Previous code made an assumption that the power on value of global control MSR has enabled all fixed and general purpose counters properly. However, this is not the case for certain Intel processors, such as Atom - and it might also be firmware dependent. Each enable bit in IA32_PERF_GLOBAL_CTRL is AND'ed with the enable bits for all privilege levels in the respective IA32_PERFEVTSELx or IA32_PERF_FIXED_CTR_CTRL MSRs to start/stop the counting of respective counters. Counting is enabled if the AND'ed results is true; counting is disabled when the result is false. The end result is that all fixed counters are always disabled on Atom processors because the assumption is just invalid. Fix this by not initializing the ctrl-mask out of the global MSR, but setting it to perf_counter_mask. Reported-by: Stephane Eranian Signed-off-by: Yong Wang Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <20090624021324.GA2788@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit f7679dabfaf69840b000d238a020cee7157aca17 Author: Roel Kluin Date: Mon Jun 22 18:42:33 2009 +0200 perf_counter tools: Fix strbuf_fread() error path handling size_t res cannot be less than 0 - fread returns 0 on error. [ Updated by: René Scharfe ] Reported-by: Ingo Molnar Signed-off-by: Roel Kluin Cc: Andrew Morton Cc: Junio C Hamano LKML-Reference: <4A3FB479.2090902@lsrfire.ath.cx> Signed-off-by: Ingo Molnar commit a1317f714af7aed60ddc182d0122477cbe36ee9b Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 23:52:17 2009 -0700 ide: improve handling of Power Management requests Make hwif->rq point to PM request during PM sequence and do not allow any other types of requests to slip in (the old comment was never correct as there should be no such requests generated during PM sequence). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit ba9413bd284e79ea43b0ae406a7a29526aaf82b3 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 16:11:10 2009 -0700 ide: add QUANTUM FIREBALLct20 30 with firmware APL.090 to ivb_list[] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 346c17a6cf60375323adfaa4b8a9d841049f890e Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 22 07:38:26 2009 +0000 ide: relax DMA info validity checking There are some broken devices that report multiple DMA xfer modes enabled at once (ATA spec doesn't allow it) but otherwise work fine with DMA so just delete ide_id_dma_bug(). [ As discovered by detective work by Frans and Bart, due to how handling of the ID block was handled before commit c419993 ("ide-iops: only clear DMA words on setting DMA mode") this check was always seeing zeros in the fields or other similar garbage. Therefore this check wasn't actually checking anything. Now that the tests actually check the real bits, all we see are devices that trigger the check yet work perfectly fine, therefore killing this useless check is the best thing to do. -DaveM ] Reported-by: Frans Pop Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit d9ae62433e46909fc9e7d97ce74202c2851667b8 Author: Frans Pop Date: Tue Jun 23 16:02:58 2009 -0700 ide-cd: Improve "weird block size" error message Currently the error gets repeated too frequently, for example each time HAL polls the device when a disc is present. Avoid that by using printk_once instead of printk. Also join the error and corrective action messages into a single line. Signed-off-by: Frans Pop Acked-by: Borislav Petkov Signed-off-by: David S. Miller commit af054ed0018f0a69f8ea6f7546cbf34385edf13b Author: David S. Miller Date: Tue Jun 23 16:01:06 2009 -0700 ide-cd: Don't warn on bogus block size unless it actually matters. Frans Pop reported that his CDROM drive reports a blocksize of 2352, and this causes new warnings due to commit e8e7b9eb11c34ee18bde8b7011af41938d1ad667 ("ide-cd: fix oops when using growisofs"). What we're trying to do is make sure that "blocklen >> SECTOR_BITS" is something the block layer won't choke on. And for Frans' case "2352 >> SECTOR_BITS" is equal to "2048 >> SECTOR_BITS", and thats "4". So warning in this case gives no real benefit. Reported-by: Frans Pop Tested-by: Frans Pop Signed-off-by: David S. Miller commit ffc36c7610731115c77700dcc53901920361c235 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 03:43:00 2009 -0700 ide: fix handling of unexpected IRQs vs request_irq() Add ide_host_enable_irqs() helper and use it in ide_host_register() before registering ports. Then remove no longer needed IRQ unmasking from in init_irq(). This should fix the problem with "screaming" shared IRQ on the first port (after request_irq() call while we have the unexpected IRQ pending on the second port) which was uncovered by my rework of the serialized interfaces support. Reported-by: Frans Pop Tested-by: Frans Pop Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 7959ea254ed18faee41160b1c50b3c9664735967 Author: Ooiwa Naohiro Date: Wed Jun 24 00:19:06 2009 -0700 bnx2: Fix the behavior of ethtool when ONBOOT=no I found a little bug. When configure in ifcfg-eth* is ONBOOT=no, the behavior of ethtool command is wrong. # grep ONBOOT /etc/sysconfig/network-scripts/ifcfg-eth2 ONBOOT=no # ethtool eth2 | tail -n1 Link detected: yes I think "Link detected" should be "no". Signed-off-by: Ooiwa Naohiro Acked-by: Michael Chan Signed-off-by: David S. Miller commit 8b169b5f1f46da8ece1ce7304cda7155fffe3892 Author: Huang Weiyi Date: Wed Jun 24 16:31:50 2009 +1000 drm: remove unused #include 's Remove unused #include ('s) in drivers/gpu/drm/ttm/ttm_bo_util.c drivers/gpu/drm/ttm/ttm_bo_vm.c drivers/gpu/drm/ttm/ttm_tt.c Signed-off-by: Huang Weiyi Signed-off-by: Dave Airlie commit 5b6345be1b41db5e70f90c3559c3b40c8abcde8b Merge: 176f613 b5aa8a0 Author: Dave Airlie Date: Wed Jun 24 16:20:19 2009 +1000 Merge remote branch 'origin/drm-intel-next' of ../drm-intel into drm-fixes commit 176f613e60b63f2d77e6c69f036cfc754f3aaac6 Author: Jerome Glisse Date: Mon Jun 22 18:16:13 2009 +0200 drm/radeon: fix driver initialization order so radeon kms can be builtin TTM need to be initialized before radeon if KMS is enabled otherwise the kernel will crash hard. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit e14cbee401cd00779a5267128371506b22c77bc9 Author: Michel Dänzer Date: Tue Jun 23 12:36:32 2009 +0200 drm: Fix shifts which were miscalculated when converting from bitfields. Looks like I managed to mess up most shifts when converting from bitfields. :( The patch below works on my Thinkpad T500 (as well as on my PowerBook, where the previous change worked as well, maybe out of luck...). I'd appreciate more testing and eyes looking over it though. Signed-off-by: Michel Dänzer Tested-by: Michael Pyne Signed-off-by: Dave Airlie commit b1e3a6d1c4d0ac75ad8289bcfd69efcc9b1bc6e5 Author: Michel Dänzer Date: Tue Jun 23 16:12:54 2009 +0200 drm/radeon: Clear surface registers at initialization time. Some PowerMac firmwares set up a tiling surface at the beginning of VRAM which messes us up otherwise. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 696d4df1dbfe0b054e94c1990b49c1727ffc1ff0 Author: Michel Dänzer Date: Tue Jun 23 16:12:53 2009 +0200 drm/radeon: Don't initialize acceleration related fields of struct fb_info. Might lure userspace into trying silly things otherwise. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit f92e93eb5f4d56d73215f089580d53597bacd468 Author: Jerome Glisse Date: Mon Jun 22 18:15:58 2009 +0200 drm/radeon: fix radeon kms framebuffer device smem.start is a physical address which kernel can remap to access video memory of the fb buffer. We now pin the fb buffer into vram by doing so we are loosing vram but fbdev need to be reworked to allow change in framebuffer address. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 21ab01e2fcbfcc0d1faba2b7336b3c0f7f3c1ac8 Author: Corentin Chary Date: Fri Jun 19 14:52:11 2009 +0200 asus-laptop: remove EXPERIMENTAL dependency Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 2fcc23da5522b89677fb0af6043a88e88fdd09a2 Author: Corentin Chary Date: Fri Jun 19 14:52:03 2009 +0200 asus-laptop: use pr_fmt and pr_ Convert the unusual printk(ASUS_ uses to the more standard pr_fmt and pr_(. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit b31d0fde89c905673ceed0404d5ae24f2261d7c7 Author: Corentin Chary Date: Tue Jun 16 19:28:56 2009 +0000 eeepc-laptop: cpufv updates Limit cpufv input to acceptables values. Add an available_cpufv file to show available presets. Change cpufv ouput format from %d to %#x, it won't break compatibility with existing userspace tools, but it provide a more human readable output. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit b7b700d4a473d56103e87e341ad555e8a7cce06d Author: Corentin Chary Date: Tue Jun 16 19:28:52 2009 +0000 eeepc-laptop: sync eeepc-laptop with asus_acpi In the default Eee PC distribution, there is a modified asus_acpi driver. eeepc-laptop is a cleaned version of this driver. Sync ASL enum and getter/setters with asus_acpi. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 6122af3743a48dddae19810626dd7c9c8e6c1df8 Author: Corentin Chary Date: Tue Jun 16 19:28:48 2009 +0000 asus_acpi: Deprecate in favor of asus-laptop asus-laptop have been merged in the kernel two years ago, it is now stable and used by most distribution instead of the old asus_acpi driver. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 76593d6fb0a51cb0d666f37d91a990e36c068365 Author: Corentin Chary Date: Tue Jun 16 19:28:47 2009 +0000 acpi4asus: update MAINTAINER and KConfig links The bug tracker have moved from sourceforge to http://dev.iksaif.net . The homepage of the project is now http://acpi4asus.sf.net with links to the new bug tracker. No change for the mailing list. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 116bf2e010a0600371aede450351973821dfd9e2 Author: Corentin Chary Date: Tue Jun 16 19:28:46 2009 +0000 asus-laptop: platform dev as parent for led and backlight Makes asus-laptop platform device the parent device of backlight and led classes. With this patch, leds and backlight are also available in /sys/devices/platform/asus-laptop/ like thinkpad_acpi. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit cede2cb6ee9b0ddaa3dbc9939418ff177a831600 Author: Pekka Enberg Date: Tue Jun 16 19:28:45 2009 +0000 eeepc-laptop: enable camera by default If we leave the camera disabled by default, userspace programs (e.g. Skype, Cheese) leave the user out in the cold saying that the machine "has no camera." Therefore, it's better to enable camera by default and let people who really don't want it just disable the thing. To reduce power usage you should enable USB autosuspend: echo -n auto > /sys/bus/usb/drivers/uvcvideo/*:*/../power/level Signed-off-by: Andrew Morton Signed-off-by: Pekka Enberg Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 57599cc997b81a7c4f764693a7316886a72067fe Merge: fbe8cdd 586caae Author: Len Brown Date: Wed Jun 24 01:22:20 2009 -0400 Merge branch 'bjorn-notify' into release Conflicts: drivers/platform/x86/eeepc-laptop.c Signed-off-by: Len Brown commit fbe8cddd2d85979d273d7937a2b8a47498694d91 Merge: 4e8a237 e86435e 7fe2a6c 0705495 35a7c64 152a4e6 86e437f c8d72a5 7a04b84 ee1ca48 9eccbc2 7e275cc 7b768f0 8cb24c8 113b3a2 d737724 056c308 871043b Author: Len Brown Date: Wed Jun 24 01:19:50 2009 -0400 Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release commit 7a04b8491a077471a34938b8ca060c37220953be Author: Zhao Yakui Date: Wed Jun 24 11:46:44 2009 +0800 ACPI: Rename ACPI processor device bus ID Some BIOS re-use the same processor bus id in different scope: \_SB.SCK0.CPU0 \_SB.SCK1.CPU0 But the (deprecated) /proc/acpi/ interface assumes the bus-id's are unique, resulting in an OOPS when the processor driver is loaded: WARNING: at fs/proc/generic.c:590 proc_register+0x148/0x180() Hardware name: Sunrise Ridge proc_dir_entry 'processor/CPU0' already registered Call Trace: [] warn_slowpath+0xb1/0xe5 [] ? ida_get_new_above+0x190/0x1b1 [] ? idr_pre_get+0x5f/0x75 [] proc_register+0x148/0x180 [] proc_mkdir_mode+0x3d/0x52 [] proc_mkdir+0x11/0x13 [] acpi_processor_start+0x755/0x9bc [processor] Rename the processor device bus id. And the new bus id will be generated as the following format: CPU+ CPU ID For example: If the cpu ID is 5, then the bus ID will be "CPU5". If the CPU ID is 10, then the bus ID will be "CPUA". Yes, this will change the directory names seen in /proc/acpi/processor/* on some systems. Before this patch, those directory names where totally arbitrary strings based on the interal AML device strings. http://bugzilla.kernel.org/show_bug.cgi?id=13612 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit e86435eb91b2bff114c5a02e46e16ce21b647ebe Author: Peter Feuerer Date: Sun Jun 21 18:53:03 2009 +0200 acerhdf: Acer Aspire One fan control Acerhdf is a driver for Acer Aspire One netbooks. It allows to access the temperature sensor and to control the fan. Signed-off-by: Peter Feuerer Signed-off-by: Andreas Mohr Signed-off-by: Borislav Petkov Signed-off-by: Len Brown commit 916d75761c971b6e630a26bd4ba472e90ac9a4b9 Author: Al Viro Date: Wed Jun 24 00:02:38 2009 -0400 Fix rule eviction order for AUDIT_DIR If syscall removes the root of subtree being watched, we definitely do not want the rules refering that subtree to be destroyed without the syscall in question having a chance to match them. Signed-off-by: Al Viro commit 9d9609851003ebed15957f0f2ce18492739ee124 Author: Eric Paris Date: Thu Jun 11 14:31:37 2009 -0400 Audit: clean up all op= output to include string quoting A number of places in the audit system we send an op= followed by a string that includes spaces. Somehow this works but it's just wrong. This patch moves all of those that I could find to be quoted. Example: Change From: type=CONFIG_CHANGE msg=audit(1244666690.117:31): auid=0 ses=1 subj=unconfined_u:unconfined_r:auditctl_t:s0-s0:c0.c1023 op=remove rule key="number2" list=4 res=0 Change To: type=CONFIG_CHANGE msg=audit(1244666690.117:31): auid=0 ses=1 subj=unconfined_u:unconfined_r:auditctl_t:s0-s0:c0.c1023 op="remove rule" key="number2" list=4 res=0 Signed-off-by: Eric Paris commit 35fe4d0b1b12286a81938e9c5fdfaf639ac0ce5b Author: Eric Paris Date: Thu Jun 11 14:31:36 2009 -0400 Audit: move audit_get_nd completely into audit_watch audit_get_nd() is only used by audit_watch and could be more cleanly implemented by having the audit watch functions call it when needed rather than making the generic audit rule parsing code deal with those objects. Signed-off-by: Eric Paris commit cfcad62c74abfef83762dc05a556d21bdf3980a2 Author: Eric Paris Date: Thu Jun 11 14:31:36 2009 -0400 audit: seperate audit inode watches into a subfile In preparation for converting audit to use fsnotify instead of inotify we seperate the inode watching code into it's own file. This is similar to how the audit tree watching code is already seperated into audit_tree.c Signed-off-by: Eric Paris commit ea7ae60bfe39aeedfb29571c47280bf0067ee5f3 Author: Eric Paris Date: Thu Jun 11 14:31:35 2009 -0400 Audit: clean up audit_receive_skb audit_receive_skb is hard to clearly parse what it is doing to the netlink message. Clean the function up so it is easy and clear to see what is going on. Signed-off-by: Eric Paris commit ee080e6ce93d5993390bccf68c1df5efd9351276 Author: Eric Paris Date: Thu Jun 11 14:31:35 2009 -0400 Audit: cleanup netlink mesg handling The audit handling of netlink messages is all over the place. Clean things up, use predetermined macros, generally make it more readable. Signed-off-by: Eric Paris commit 038cbcf65fd6a30c79e3917690b8c46321a27915 Author: Eric Paris Date: Thu Jun 11 14:31:35 2009 -0400 Audit: unify the printk of an skb when auditd not around Remove code duplication of skb printk when auditd is not around in userspace to deal with this message. Signed-off-by: Eric Paris commit e85188f424c8eec7f311deed9a70bec57aeed741 Author: Eric Paris Date: Thu Jun 11 14:31:34 2009 -0400 Audit: dereferencing krule as if it were an audit_watch audit_update_watch() runs all of the rules for a given watch and duplicates them, attaches a new watch to them, and then when it finishes that process and has called free on all of the old rules (ok maybe still inside the rcu grace period) it proceeds to use the last element from list_for_each_entry_safe() as if it were a krule rather than being the audit_watch which was anchoring the list to output a message about audit rules changing. This patch unfies the audit message from two different places into a helper function and calls it from the correct location in audit_update_rules(). We will now get an audit message about the config changing for each rule (with each rules filterkey) rather than the previous garbage. Signed-off-by: Eric Paris commit b87ce6e4187c24b06483c8266822ce5e6b7fa7f3 Author: Eric Paris Date: Thu Jun 11 14:31:34 2009 -0400 Audit: better estimation of execve record length The audit execve record splitting code estimates the length of the message generated. But it forgot to include the "" that wrap each string in its estimation. This means that execve messages with lots of tiny (1-2 byte) arguments could still cause records greater than 8k to be emitted. Simply fix the estimate. Signed-off-by: Eric Paris commit 35aa901c0b66cb3c2eeee23f13624014825a44a8 Author: Eric Paris Date: Thu Jun 11 14:31:33 2009 -0400 Audit: fix audit watch use after free When an audit watch is added to a parent the temporary watch inside the original krule from userspace is freed. Yet the original watch is used after the real watch was created in audit_add_rules() Signed-off-by: Eric Paris commit 152a4e630f7ffdd7ff64427c4ba488dc0bce76af Author: Zhang Rui Date: Mon Jun 22 11:31:18 2009 +0800 ACPI: video: DMI workaround broken Acer 7720 BIOS enabling display brightness http://bugzilla.kernel.org/show_bug.cgi?id=13121 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit c8d72a5e76988140bfdfd8722f2228d94e7fa10f Author: Zhang Rui Date: Mon Jun 22 11:31:16 2009 +0800 ACPI: run ACPI device hot removal in kacpi_hotplug_wq Now that new interface is available, convert to using it rather than creating a new kernel thread. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 86e437f077c68112edcb6854ec036ed7e3f9a7f3 Author: Zhao Yakui Date: Tue Jun 16 11:23:13 2009 +0800 ACPI: Add the reference count to avoid unloading ACPI video bus twice Sometimes both acpi video and i915 driver are compiled as modules. And there exists the strict dependency between the two drivers. The acpi video bus will be unloaded in course of unloading the i915 driver. If we unload the acpi video driver, then the kernel oops will be triggered. Add the reference count to avoid unloading the ACPI video bus twice. The reference count should be checked before unregistering the acpi video bus. If the reference count is already zero, it won't unregister it again. And after the acpi video bus is already unregistered, the reference count will be set to zero. http://bugzilla.kernel.org/show_bug.cgi?id=13396 Signed-off-by: Zhao Yakui Acked-by: Zhang Rui Signed-off-by: Len Brown commit 35a7c64fbc77bab4ca8ae477e8ab278ccd679ce2 Author: Zhang Rui Date: Mon Jun 22 11:31:17 2009 +0800 ACPI: DMI to disable Vista compatibility on some Sony laptops Linux claims Vista compatibility to the BIOS for a number of reasons, but this brings hard lockup on some Sony laptops. Disable Vista compatibility via DMI for these laptops unless we can figure out what Vista is doing for this platform. http://bugzilla.kernel.org/show_bug.cgi?id=12904 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit c02256be79a1a3557332ac51e653d574a2a7d2b5 Author: Zhang Rui Date: Tue Jun 23 10:20:29 2009 +0800 ACPI: fix a deadlock in hotplug case we used to run the hotplug code in keventd_wq. But when hot removing the ACPI battery device, power_supply_unregister invokes flush_scheduled_work. This causes a deadlock. i.e 1. When dock is unplugged, all the hotplug code is run on kevent_wq. 2. the hotplug code removes all the child devices of dock device. 3. removing the child device may invoke flush_scheduled_work 4. flush_scheduled_work waits until all the work on kevent_wq to be finished, while this will never be true because the hotplug code is running on keventd_wq... Introduce a new workqueue for hotplug in this patch. http://bugzilla.kernel.org/show_bug.cgi?id=13533 Tested-by: Paul Martin Tested-by: Vojtech Gondzala Signed-off-by: Zhang Rui Reviewed-by: Bjorn Helgaas Signed-off-by: Len Brown commit 056c308d3e4859334b519033d62ef050f0e0e261 Author: Zhang Rui Date: Mon Jun 22 11:31:14 2009 +0800 Show the physical device node of backlight class device. Create symbol link from backlight class device to ACPI video device. More and more laptops are shipped with multiple ACPI video devices, while we export only one of them to userspace. With this patch applied, we can know which ACPI video device is used by "cat /sys/class/backlight/acpi_video0/device/path". Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit be98eb2c2fc88d9d61cfeab5c11ab1118ca0bba9 Merge: cf5434e f007e99 Author: Linus Torvalds Date: Tue Jun 23 19:49:24 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: Intel-IOMMU, intr-remap: source-id checking Intel-IOMMU, intr-remap: set the whole 128bits of irte when modify/free it IOMMU Identity Mapping Support (drivers/pci/intel_iommu.c) commit cf5434e894a17bb8385997adc6d56642055a85d6 Merge: 7b58fc2 d246ab3 Author: Linus Torvalds Date: Tue Jun 23 19:36:02 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2/trivial: Wrap ocfs2_sysfile_cluster_lock_key within define. ocfs2: Add lockdep annotations vfs: Set special lockdep map for dirs only if not set by fs ocfs2: Disable orphan scanning for local and hard-ro mounts ocfs2: Do not initialize lvb in ocfs2_orphan_scan_lock_res_init() ocfs2: Stop orphan scan as early as possible during umount ocfs2: Fix ocfs2_osb_dump() ocfs2: Pin journal head before accessing jh->b_committed_data ocfs2: Update atime in splice read if necessary. ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. commit 7b58fc21847950db8fcc6a142288b042564ffb76 Merge: 4e8a237 1ab52cf Author: Linus Torvalds Date: Tue Jun 23 19:35:42 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c: driver for the Synopsys DesignWare I2C controller commit 0f77ca928b5d1ea17afc7a95682b6534611a719c Author: Ron Mercer Date: Tue Jun 23 09:00:02 2009 +0000 qla3xxx: Don't sleep while holding lock. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e5a673742e34eca8ecb13c3e54ceee2c268351a0 Author: Ron Mercer Date: Tue Jun 23 09:00:01 2009 +0000 qla3xxx: Give the PHY time to come out of reset. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b6280b47a7a42970d098a3059f4ebe7e55e90d8d Author: Neil Horman Date: Mon Jun 22 10:18:53 2009 +0000 ipv4 routing: Ensure that route cache entries are usable and reclaimable with caching is off When route caching is disabled (rt_caching returns false), We still use route cache entries that are created and passed into rt_intern_hash once. These routes need to be made usable for the one call path that holds a reference to them, and they need to be reclaimed when they're finished with their use. To be made usable, they need to be associated with a neighbor table entry (which they currently are not), otherwise iproute_finish2 just discards the packet, since we don't know which L2 peer to send the packet to. To do this binding, we need to follow the path a bit higher up in rt_intern_hash, which calls arp_bind_neighbour, but not assign the route entry to the hash table. Currently, if caching is off, we simply assign the route to the rp pointer and are reutrn success. This patch associates us with a neighbor entry first. Secondly, we need to make sure that any single use routes like this are known to the garbage collector when caching is off. If caching is off, and we try to hash in a route, it will leak when its refcount reaches zero. To avoid this, this patch calls rt_free on the route cache entry passed into rt_intern_hash. This places us on the gc list for the route cache garbage collector, so that when its refcount reaches zero, it will be reclaimed (Thanks to Alexey for this suggestion). I've tested this on a local system here, and with these patches in place, I'm able to maintain routed connectivity to remote systems, even if I set /proc/sys/net/ipv4/rt_cache_rebuild_count to -1, which forces rt_caching to return false. Signed-off-by: Neil Horman Reported-by: Jarek Poplawski Reported-by: Maxime Bizon Signed-off-by: David S. Miller commit d55d87fdff8252d0e2f7c28c2d443aee17e9d70f Author: Herbert Xu Date: Mon Jun 22 02:25:25 2009 +0000 net: Move rx skb_orphan call to where needed In order to get the tun driver to account packets, we need to be able to receive packets with destructors set. To be on the safe side, I added an skb_orphan call for all protocols by default since some of them (IP in particular) cannot handle receiving packets destructors properly. Now it seems that at least one protocol (CAN) expects to be able to pass skb->sk through the rx path without getting clobbered. So this patch attempts to fix this properly by moving the skb_orphan call to where it's actually needed. In particular, I've added it to skb_set_owner_[rw] which is what most users of skb->destructor call. This is actually an improvement for tun too since it means that we only give back the amount charged to the socket when the skb is passed to another socket that will also be charged accordingly. Signed-off-by: Herbert Xu Tested-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 1ab52cf910bbbee92861227e6ed77c56b1dc233c Author: Baruch Siach Date: Mon Jun 22 16:36:29 2009 +0300 i2c: driver for the Synopsys DesignWare I2C controller The i2c Linux driver for the DesignWare i2c block of Synopsys, which is meant for AMBA Peripheral Bus. This i2c block is used on SoC chips like the ARM9 based PVG610. Signed-off-by: Baruch Siach Signed-off-by: Ben Dooks commit 76609a6928bff29ca05a94420ae3e088fbb9c2f9 Author: Nelson Castillo Date: Tue Jun 23 13:54:32 2009 -0500 [ARM] GTA02: build fixes (s3c2410_nand_set usage) This patch fixes two errors we get when building GTA02 kernel. ~ use_bbt is incorrect, we need flash_bbt. ~ We do not need .force_soft_ecc because we can unset CONFIG_MTD_NAND_S3C2410_HWECC. Signed-off-by: Nelson Castillo [ben-linux@fluff.org: updated patch description] Signed-off-by: Ben Dooks commit f007e99c8e2e322b8331aba72414715119a2920d Author: Weidong Han Date: Sat May 23 00:41:15 2009 +0800 Intel-IOMMU, intr-remap: source-id checking To support domain-isolation usages, the platform hardware must be capable of uniquely identifying the requestor (source-id) for each interrupt message. Without source-id checking for interrupt remapping , a rouge guest/VM with assigned devices can launch interrupt attacks to bring down anothe guest/VM or the VMM itself. This patch adds source-id checking for interrupt remapping, and then really isolates interrupts for guests/VMs with assigned devices. Because PCI subsystem is not initialized yet when set up IOAPIC entries, use read_pci_config_byte to access PCI config space directly. Signed-off-by: Weidong Han Signed-off-by: David Woodhouse commit c4658b4e777bebf69884f4884a9bfb2f84dd71d9 Author: Weidong Han Date: Sat May 23 00:41:14 2009 +0800 Intel-IOMMU, intr-remap: set the whole 128bits of irte when modify/free it Interrupt remapping table entry is 128bits. Currently, it only sets low 64bits of irte in modify_irte and free_irte. This ignores high 64bits setting of irte, that means source-id setting will be ignored. This patch sets the whole 128bits of irte when modify/free it. Following source-id checking patch depends on this. Signed-off-by: Weidong Han Signed-off-by: David Woodhouse commit 2c2e2c389d03bb16b8cdf9db3ac615385fac100f Author: Fenghua Yu Date: Fri Jun 19 13:47:29 2009 -0700 IOMMU Identity Mapping Support (drivers/pci/intel_iommu.c) Identity mapping for IOMMU defines a single domain to 1:1 map all PCI devices to all usable memory. This reduces map/unmap overhead in DMA API's and improve IOMMU performance. On 10Gb network cards, Netperf shows no performance degradation compared to non-IOMMU performance. This method may lose some of DMA remapping benefits like isolation. The patch sets up identity mapping for all PCI devices to all usable memory. In the DMA API, there is no overhead to maintain page tables, invalidate iotlb, flush cache etc. 32 bit DMA devices don't use identity mapping domain, in order to access memory beyond 4GiB. When kernel option iommu=pt, pass through is first tried. If pass through succeeds, IOMMU goes to pass through. If pass through is not supported in hw or fail for whatever reason, IOMMU goes to identity mapping. Signed-off-by: Fenghua Yu Signed-off-by: David Woodhouse commit 7262b6e4a4cc18d0f67df145d032c843e4bc382b Author: Hidetoshi Seto Date: Tue Jun 23 12:40:54 2009 +0900 x86, mce: Fix mce resume on 32bit Calling mcheck_init() on resume is required only with CONFIG_X86_OLD_MCE=y. Signed-off-by: Hidetoshi Seto Acked-by: Andi Kleen Signed-off-by: H. Peter Anvin commit cca03c0aeb18a975abec28df518a2b64ae3e6964 Author: Jaswinder Singh Rajput Date: Tue Jun 23 17:12:49 2009 +0530 perf stat: Fix verbose for perf stat Error message should use stderr for verbose (-v), otherwise message will be lost for: $ ./perf stat -v > /dev/null For example on AMD bus-cycles event is not available so now it looks like: $ ./perf stat -v -e bus-cycles ls > /dev/null Error: counter 0, sys_perf_counter_open() syscall returned with -1 (Invalid argument) Performance counter stats for 'ls': bus-cycles 0.006765877 seconds time elapsed. Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245757369.3776.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 4e8a2372f9255a1464ef488ed925455f53fbdaa1 Author: Mikael Pettersson Date: Tue Jun 23 12:37:07 2009 -0700 nvidiafb: fix boot-time printk string On bootup nvidiafb prints the following on my Apple G5: nvidiafb: CRTC 1appears to have a CRT attached There should be a space between the '1' and the 'appears'. Add it. Signed-off-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 840c516f9c395c64240ad35f858f37ea16270afa Author: Robert P. J. Day Date: Tue Jun 23 12:37:06 2009 -0700 h8/300: fix incorrect "select" directives in arch/h8300/Kconfig.cpu. Fix the incorrect "select" directives by dropping the "CONFIG_" prefixes, and correcting the typo "H8S2768" to "H8S2678". Signed-off-by: Robert P. J. Day Acked-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 364df0ebfbbb1330bfc6ca159f4d6020efc15a12 Author: Dimitri Sivanich Date: Tue Jun 23 12:37:04 2009 -0700 mm: fix handling of pagesets for downed cpus After downing/upping a cpu, an attempt to set /proc/sys/vm/percpu_pagelist_fraction results in an oops in percpu_pagelist_fraction_sysctl_handler(). If a processor is downed then we need to set the pageset pointer back to the boot pageset. Updates of the high water marks should not access pagesets of unpopulated zones (those pointer go to the boot pagesets which would be no longer functional if their size would be increased beyond zero). Signed-off-by: Dimitri Sivanich Signed-off-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01ff53f416757da416413bc32229770a8448b6ef Author: Mike Frysinger Date: Tue Jun 23 12:37:01 2009 -0700 rmap: fixup page_referenced() for nommu systems After the recent changes that went into mm/vmscan.c to overhaul stuff, we ended up with these warnings on no-mmu systems: mm/vmscan.c: In function `shrink_page_list': mm/vmscan.c:580: warning: unused variable `vm_flags' mm/vmscan.c: In function `shrink_active_list': mm/vmscan.c:1294: warning: `vm_flags' may be used uninitialized in this function mm/vmscan.c:1242: note: `vm_flags' was declared here This is because the no-mmu function defines page_referenced() to work on the first argument only (the page). It does not clear the vm_flags given to it because for no-mmu systems, they never actually get utilized. Since that is no longer strictly true, we need to set vm_flags to 0 like everyone else so gcc can do proper dead code elimination without annoying us with unused warnings. Signed-off-by: Mike Frysinger Cc: David Howells Acked-by: David McCullough Cc: Greg Ungerer Cc: Paul Mundt Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5c9b696ec109bb54d547fdb437a7a0c2d514670 Author: Hugh Dickins Date: Tue Jun 23 12:36:58 2009 -0700 mm: pass mm to grab_swap_token If a kthread happens to use get_user_pages() on an mm (as KSM does), there's a chance that it will end up trying to read in a swap page, then oops in grab_swap_token() because the kthread has no mm: GUP passes down the right mm, so grab_swap_token() ought to be using it. We have not identified a stronger case than KSM's daemon (not yet in mainline), but the issue must have come up before, since RHEL has included a fix for this for years (though a different fix, they just back out of grab_swap_token if current->mm is unset: which is what we first proposed, but using the right mm here seems more correct). Reported-by: Izik Eidus Signed-off-by: Johannes Weiner Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d469c6c38c9deaa1836d2c1955330944719e4ef Author: Aviv Laufer Date: Tue Jun 23 16:28:36 2009 +0300 backlight: Fix tdo24m crash on kmalloc There is a crash in tdo24m module caused by a call to kmalloc with the second parameter sizeof(flag) instead of flag. Signed-off-by: Aviv Laufer Signed-off-by: Richard Purdie commit a1dd8c617217322614f0465ae347895c4b58e1ab Author: Richard Purdie Date: Mon Jun 22 14:54:13 2009 +0100 leds: Futher document blink_set Futher document blink_set function pointer Signed-off-by: Richard Purdie commit ed88bae6918fa990cbfe47316bd0f790121aaf00 Author: Trent Piepho Date: Tue May 12 15:33:12 2009 -0700 leds: Add options to have GPIO LEDs start on or keep their state There already is a "default-on" trigger but there are problems with it. For one, it's a inefficient way to do it and requires led trigger support to be compiled in. But the real reason is that is produces a glitch on the LED. The GPIO is allocate with the LED *off*, then *later* when the trigger runs it is turned back on. If the LED was already on via the GPIO's reset default or action of the firmware, this produces a glitch where the LED goes from on to off to on. While normally this is fast enough that it wouldn't be noticeable to a human observer, there are still serious problems. One is that there may be something else on the GPIO line, like a hardware alarm or watchdog, that is fast enough to notice the glitch. Another is that the kernel may panic before the LED is turned back on, thus hanging with the LED in the wrong state. This is not just speculation, but actually happened to me with an embedded system that has an LED which should turn off when the kernel finishes booting, which was left in the incorrect state due to a bug in the OF LED binding code. We also let GPIO LEDs get their initial value from whatever the current state of the GPIO line is. On some systems the LEDs are put into some state by the firmware or hardware before Linux boots, and it is desired to have them keep this state which is otherwise unknown to Linux. This requires that the underlying GPIO driver support reading the value of output GPIOs. Some drivers support this and some do not. The platform device binding gains a field in the platform data "default_state" that controls this. There are three constants defined to select from on, off, or keeping the current state. The OpenFirmware binding uses a property named "default-state" that can be set to "on", "off", or "keep". The default if the property isn't present is off. Signed-off-by: Trent Piepho Acked-by: Grant Likely Acked-by: Wolfram Sang Acked-by: Sean MacLennan Signed-off-by: Richard Purdie commit 5054d39e327f76df022163a2ebd02e444c5d65f9 Author: Antonio Ospite Date: Fri Jun 19 13:55:42 2009 +0200 leds: LED driver for National Semiconductor LP3944 Funlight Chip LEDs driver for National Semiconductor LP3944 Funlight Chip http://www.national.com/pf/LP/LP3944.html This helper chip can drive up to 8 leds, with two programmable DIM modes; it could even be used as a gpio expander but this driver assumes it is used as a led controller. The DIM modes are used to set _blink_ patterns for leds, the pattern is specified supplying two parameters: - period: from 0s to 1.6s - duty cycle: percentage of the period the led is on, from 0 to 100 LP3944 can be found on Motorola A910 smartphone, where it drives the rgb leds, the camera flash light and the displays backlights. Signed-off-by: Antonio Ospite Signed-off-by: Richard Purdie commit 07172d2bfa339d6c150d8cdd7c02128177feffbb Author: Antonio Ospite Date: Fri Jun 19 13:53:07 2009 +0200 leds: pca9532 - Indent using tabs, not spaces. Indent using tabs, not spaces. Signed-off-by: Antonio Ospite Acked-by: Riku Voipio Signed-off-by: Richard Purdie commit 34abdf252699ebc549fad54c1db481612f22a826 Author: Richard Purdie Date: Wed Jun 17 13:05:27 2009 +0100 leds: Remove an orphan Kconfig entry Remove an orphan Kconfig entry (LEDS_LP5521) Signed-off-by: Richard Purdie commit 92722b1bb1ebcba767f9c6ee499992ee33367268 Author: Mark Brown Date: Thu Jun 11 14:17:48 2009 +0100 leds: Further document parameters for blink_set() The documentation for the parameters of blink_set() was a bit hard to find so put some where I'd expected to find it. Signed-off-by: Mark Brown Signed-off-by: Richard Purdie commit 2216c6e83ccbc9d34f541621ff23f510cd8a256f Author: Tobias Mueller Date: Wed Jun 10 12:48:52 2009 -0700 leds: alix-leds2 fixed for Award BIOS Add initialisation of GPIO ports for compatibility with boards with Award BIOS (e.g. ALIX.3D3). Signed-off-by: Tobias Mueller Reviewed-by: Constantin Baranov Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 7fd02170e25b3b60fc21cd7b64bf1ed42e6a7cbe Author: Zhenwen Xu Date: Wed Jun 10 12:48:51 2009 -0700 leds: leds-gpio - fix a section mismatch WARNING: drivers/leds/leds-gpio.o(.text+0x153): Section mismatch in reference from the function gpio_led_probe() to the function .devinit.text:create_gpio_led() The function gpio_led_probe() references the function __devinit create_gpio_led(). This is often because gpio_led_probe lacks a __devinit annotation or the annotation of create_gpio_led is wrong. Signed-off-by: Zhenwen Xu Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 8792f7cf4368f9bc337eee65851d8e7abbbf946c Author: Kim Kyuwon Date: Wed Jun 10 12:48:50 2009 -0700 leds: add the sysfs interface into the leds-bd2802 driver for changing wave pattern and led current. Allow the user application to change the wave pattern and led current by 'wave_pattern' and 'rgb_current' sysfs files. Signed-off-by: Kim Kyuwon Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 1b18cf413f63ff6de5ba3e5028e869c21322a4df Author: Kim Kyuwon Date: Wed Jun 10 12:48:50 2009 -0700 leds: change the license information Change the license to 'GPL v2' Signed-off-by: Kim Kyuwon Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit b8389018212e8c4e03ede4df5405796100ef4390 Author: Kim Kyuwon Date: Wed Jun 10 12:48:48 2009 -0700 leds: fix led-bd2802 errors while resuming LED_CORE_SUSPENDRESUME flag is not needed in the bd2802 driver, because all works for suspend/resume is done in bd2802_suspend and bd2802_suspend functions. And this patch allows bd2802 to be configured again when it resumes from suspend. Signed-off-by: Kim Kyuwon Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 626f380d0b264a1e40237f5a2a3dffc5d14f256e Merge: 32708e8 bb38c22 Author: Linus Torvalds Date: Tue Jun 23 11:52:16 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix up HAVE_PERF_COUNTERS typo. sh: Fix up more dma-mapping fallout. sh: SH7786 SMP support. sh: Wire up the uncached fixmap on sh64 as well. sh: Use local TLB flush in set_pte_phys(). sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. commit 32708e8e95265505d9627b3bc9ed16566e0dca1c Merge: f5bcf5f 4a7eca8 Author: Linus Torvalds Date: Tue Jun 23 11:36:01 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA: Add __init/__exit macros to addr.c and cma.c IB/ehca: Bump version number mlx4_core: Fix dma_sync_single_for_cpu() with matching for_device() calls IB/mthca: Replace dma_sync_single() use with proper functions RDMA/nes: Fix FIN state handling under error conditions RDMA/nes: Fix max_qp_init_rd_atom returned from query device IB/ehca: Ensure that guid_entry index is not negative IB/ehca: Tolerate dynamic memory operations before driver load commit f5bcf5f44796bf30a058a01c10a61b19784f0540 Merge: defe910 129dd98 Author: Linus Torvalds Date: Tue Jun 23 11:35:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (38 commits) fusion: mptsas, fix lock imbalance [SCSI] scsi_transport_fc: replace BUS_ID_SIZE by fixed count sd, sr: fix Driver 'sd' needs updating message scsi_transport_iscsi: return -EOVERFLOW for Too many iscsi targets fc_transport: Selective return value from BSG timeout function fc_transport: The softirq_done function registration for BSG request sym53c8xx: ratelimit parity errors explain the hidden scsi_wait_scan Kconfig variable ibmvfc: Fix endless PRLI loop in discovery ibmvfc: Process async events before command responses libfc: Add runtime debugging with debug_logging module parameter libfcoe: Add runtime debugging with module param debug_logging fcoe: Add runtime debug logging with module parameter debug_logging scsi_debug: Add support for physical block exponent and alignment cnic: add NETDEV_1000 and NETDEVICES to Kconfig select cnic: Fix __symbol_get() build error. Revert "[SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’" ipr: differentiate pci-x and pci-e based adapters ipr: add test for MSI interrupt support scsi_transport_spi: Blacklist Ultrium-3 tape for IU transfers ... commit defe9104833b5ad309447bbc1fcb8e5981b2d3e1 Merge: 95b3692 0634a63 Author: Linus Torvalds Date: Tue Jun 23 11:34:24 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: asm-generic: add dummy pgprot_noncached() lib/checksum.c: fix endianess bug asm-generic: hook up new system calls asm-generic: list Arnd as asm-generic maintainer asm-generic: drop HARDIRQ_BITS definition from hardirq.h asm-generic: uaccess: fix up local access_ok() usage asm-generic: uaccess: add missing access_ok() check to strnlen_user() commit 95b3692d9c22c659312acb466d0608bf8509f296 Merge: d26ed65 bf96d1e Author: Linus Torvalds Date: Tue Jun 23 11:25:04 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Do not force the slab debugging Kconfig options kmemleak: use pr_fmt commit d26ed650d9947a786bbda8de9cd914dbeebc1a68 Author: Hugh Dickins Date: Tue Jun 23 13:52:49 2009 +0100 mm: don't rely on flags coincidence Indeed FOLL_WRITE matches FAULT_FLAG_WRITE, matches GUP_FLAGS_WRITE, and it's tempting to devise a set of Grand Unified Paging flags; but not today. So until then, let's rely upon the compiler to spot the coincidence, "rather than have that subtle dependency and a comment for it" - as you remarked in another context yesterday. Signed-off-by: Hugh Dickins Acked-by: Wu Fengguang Signed-off-by: Linus Torvalds commit 788c7df451467df71638dd79a2d63d78c6e13b9c Author: Hugh Dickins Date: Tue Jun 23 13:49:05 2009 +0100 hugetlb: fault flags instead of write_access handle_mm_fault() is now passing fault flags rather than write_access down to hugetlb_fault(), so better recognize that in hugetlb_fault(), and in hugetlb_no_page(). Signed-off-by: Hugh Dickins Acked-by: Wu Fengguang Signed-off-by: Linus Torvalds commit a800faec1b21d7133b5f0c8c6dac593b7c4e118d Merge: c488eef 7b99483 Author: Linus Torvalds Date: Tue Jun 23 10:47:01 2009 -0700 Merge branch 'for-linus' of git://www.jni.nu/cris * 'for-linus' of git://www.jni.nu/cris: CRISv10: remove redundant tests on unsigned CRISv32: irq.c - Move end brace outside #endif CRISv32: Fix potential null reference in cryptocop driver. CRISv32: Add arch optimized strcmp. CRIS: assignment/is equal confusion commit c488eef8154b36cce905624577183dc1fa8f6da0 Merge: cf9c1b9 3f67f66 Author: Linus Torvalds Date: Tue Jun 23 10:45:39 2009 -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: ALSA: hda - Make jack-plug notification selectable ALSA: ctxfi - Add PM support sound: seq_midi_event: fix decoding of (N)RPN events ALSA: hda - Add digital-mic support to ALC262 auto model ALSA: hda - Fix check of input source type for realtek codecs ALSA: hda - Add quirk for Sony VAIO Z21MN ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model ALSA: hda - Fix unsigned comparison in patch_sigmatel.c ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait sound: fix check for return value in snd_pcm_hw_refine ALSA: ctxfi - Allow unknown PCI SSIDs ASoC: Blackfin: update the bf5xx_i2s_resume parameters ASoC: Blackfin: keep better track of SPORT configuration state commit cf9c1b92ae62ce71a8e861f02476724348defc6a Merge: 135aae3 9b901ee Author: Linus Torvalds Date: Tue Jun 23 10:41:17 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] wdt_pci.c: remove #ifdef CONFIG_WDT_501_PCI [WATCHDOG] hpwdt: Add NMI priority option [WATCHDOG] OMAP fixes: enable clock in probe, trigger timer reload [WATCHDOG] add bcm47xx watchdog driver [WATCHDOG] Freescale STMP: watchdog driver [WATCHDOG] twl4030 watchdog driver [WATCHDOG] U300 COH 901 327 watchdog driver [WATCHDOG] Add pnx833x_wdt commit 135aae340d66c5e273af297bbd5178a5e5c458ee Merge: 811e42c eebf8d8 Author: Linus Torvalds Date: Tue Jun 23 10:40:19 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (62 commits) V4L/DVB (12131): BUGFIX: An incorrect Carrier Recovery Loop optimization table was being V4L/DVB (12130): Fix a redundant compiler warning V4L/DVB (12003): v4l2: Move bounding code outside I2C ifdef block V4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything V4L/DVB (11912): em28xx: Use v4l bounding/alignment function V4L/DVB (11911): cx231xx: Use v4l bounding/alignment function V4L/DVB (11910): mt9: Use v4l bounding/alignment function V4L/DVB (11909): cx23885: Use v4l bounding/alignment function V4L/DVB (11908): w8968cf: Use v4l bounding/alignment function V4L/DVB (11907): cx88: Use v4l bounding/alignment function V4L/DVB (11906): saa7134: Use v4l bounding/alignment function V4L/DVB (11905): vivi: Use v4l bounding/alignment function V4L/DVB (11904): zoran: Use v4l bounding/alignment functiob V4L/DVB (11903): sh_mobile_ceu_camera: Use v4l bounding/alignment function V4L/DVB (11902): pxa-camera: Use v4l bounding/alignment function V4L/DVB (11901): v4l2: Create helper function for bounding and aligning images V4L/DVB (12128): v4l2: update framework documentation. V4L/DVB (12125): v4l2: add new s_config subdev ops and v4l2_i2c_new_subdev_cfg/board calls V4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes V4L/DVB (12121): pvrusb2: Improve handling of routing schemes ... commit 811e42cfba334d27797989ac8b0bea4981cb9581 Merge: 4843a3b 0d9e665 Author: Linus Torvalds Date: Tue Jun 23 10:39:36 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: don't set IORDY for reset sata_fsl: Add power mgmt support [libata] PATA driver for CF interface on AT91SAM9260 SoC [libata] beautify module parameters commit 4843a3baf20059a7ac5b55582672705d9e61e274 Merge: cb4cbcf e01698a Author: Linus Torvalds Date: Tue Jun 23 10:39:00 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide cmd64x: Remove serialize setting. ide: Take over as maintainer. commit 4a7eca824cec51168dcd5e0c9bf9edbc809fb975 Merge: 1d4d6da 716abb1 e727f5c 99987be 68237a0 Author: Roland Dreier Date: Tue Jun 23 10:38:47 2009 -0700 Merge branches 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus commit 716abb1fdf3274ac81dc404f3659cc05d8cdf606 Author: Peter Huewe Date: Tue Jun 23 10:38:42 2009 -0700 RDMA: Add __init/__exit macros to addr.c and cma.c Add __init and __exit annotations to the module_init/module_exit functions from drivers/infiniband/core/addr.c and cma.c. Signed-off-by: Peter Huewe Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit 1d4d6da535be97b710e87a33c4828c97c36eee21 Author: Alexander Schmidt Date: Tue Jun 23 10:30:04 2009 -0700 IB/ehca: Bump version number Increment version number for DMEM toleration. Signed-off-by: Alexander Schmidt Signed-off-by: Roland Dreier commit 084da8949766f24c6a6fb21e2659c7de045fc618 Merge: 51af243 b21477f Author: Ben Dooks Date: Tue Jun 23 18:27:15 2009 +0100 [ARM] S3C maintainer updates merge branch maintainers-updates into s3c-fixes Merge branch 'maintainers-update' into s3c-fixes commit 51af243c631d9d03376d1454a24cf0a96e6f17cb Author: Ben Dooks Date: Tue Jun 23 18:23:27 2009 +0100 [ARM] MINI2440: Add missing flash_bbt flat to NAND The commit 9db41f9edcb87ae050fcb171c44be7f212728d54 added the .flash_bbt flag to the nand set, so add this back into the mach-mini2440.c file (taken out on initial commit to allow build). Signed-off-by: Ben Dooks commit 622a8f5f7bf160507861cf05309020049f42976d Author: Ben Dooks Date: Tue Jun 23 18:20:10 2009 +0100 [ARM] s3c2410_defconfig: add MINI2440 machine to build Add the MINI2440 to the list of machines built by the central defconfig. Signed-off-by: Ben Dooks commit cb4cbcf6b3cf79f80c157afdc8dd8221643d8481 Author: KAMEZAWA Hiroyuki Date: Tue Jun 23 08:57:55 2009 +0900 mm: fix incorrect page removal from LRU The isolated page is "cursor_page" not "page". This could cause LRU list corruption under memory pressure, caught by CONFIG_DEBUG_LIST. Reported-by: Ingo Molnar Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Balbir Singh Tested-by: Daisuke Nishimura Cc: Andrew Morton Signed-off-by: Linus Torvalds commit bb38c222e07cbe252cfbd99cd6a9c834b0a2639a Author: Paul Mundt Date: Wed Jun 24 01:41:05 2009 +0900 sh: Fix up HAVE_PERF_COUNTERS typo. That's HAVE_PERF_COUNTERS not HAVE_PERF_COUNTER. This was right initially but I seem to have screwed it up while re-typing it out by hand on another machine when I checked it in. Hmph. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit b5aa8a0fc132dd512c33e7c2621d075e3b77a65e Author: Grégoire Henry Date: Tue Jun 23 15:41:02 2009 +0200 drm/i915: initialize fence registers to zero when loading GEM Unitialized fence register could leads to corrupted display. Problem encountered on MacBooks (revision 1 and 2), directly booting from EFI or through BIOS emulation. (bug #21710 at freedestop.org) Signed-off-by: Grégoire Henry Signed-off-by: Eric Anholt commit b647712f669f4fadf428a14ab45ab4c03558cdf5 Author: Ben Dooks Date: Tue Jun 23 16:34:35 2009 +0100 [ARM] S3C: Fix S3C24XX build to not include s3c64xx IIS devices Commit 52da219e9664e537a745877b0efa7cf2b1ff2996 added IIS platform devices, but these do not build on s3c24xx systems and the file depends on SND_S3C24XX_SOC, which is selected for all S3C64XX/S3C24XX systems. As a quick fix, make the dev-audio.o file depends on SND_S3C64XX_SOC_I2S instead. Signed-off-by: Ben Dooks commit a3c79901170aba0d3717c2602326bab639eb1344 Author: Ben Dooks Date: Tue Jun 23 16:30:02 2009 +0100 [ARM] S3C24XX: Fix missing s3c_iis_device. Commit 52da219e9664e537a745877b0efa7cf2b1ff2996 removed the s3c_device_iis, but didn't replace it with anything so a number of s3c24xx machines are currently failing to build. As a temporary fix, re-instate s3c_device_iis until a proper replacement can be done for it. Signed-off-by: Ben Dooks commit ffd14417bdf2a1650bcb16d37c7e658535d1681a Author: Huang Weiyi Date: Tue Jun 23 20:58:57 2009 +0800 [ARM] MINI2440: remove duplicated #include Remove duplicated #include('s) in arch/arm/mach-s3c2440/mach-mini2440.c Signed-off-by: Huang Weiyi Signed-off-by: Ben Dooks commit 927dbcd668ede8d2210cc59bea548ca9ff45b240 Author: Ben Dooks Date: Tue Jun 23 16:15:38 2009 +0100 [ARM] S3C24XX: Fix spi-bus configuration build errors The commit ec976d6eb021dc8f2994248c310a41540f4756bd removed a number of gpio definitions from but misssed updating these two files: Fix the following build errors by including : arch/arm/plat-s3c24xx/spi-bus1-gpg5_6_7.c: In function 's3c24xx_spi_gpiocfg_bus1_gpg5_6_7': arch/arm/plat-s3c24xx/spi-bus1-gpg5_6_7.c:25: error: implicit declaration of function 's3c2410_gpio_cfgpin' arch/arm/plat-s3c24xx/spi-bus1-gpg5_6_7.c:28: error: implicit declaration of function 's3c2410_gpio_pullup' arch/arm/plat-s3c24xx/spi-bus0-gpe11_12_13.c: In function 's3c24xx_spi_gpiocfg_bus0_gpe11_12_13': arch/arm/plat-s3c24xx/spi-bus0-gpe11_12_13.c:25: error: implicit declaration of function 's3c2410_gpio_cfgpin' arch/arm/plat-s3c24xx/spi-bus0-gpe11_12_13.c:28: error: implicit declaration of function 's3c2410_gpio_pullup' Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit b0a28589b2fc9bee8ed83dee006a497d1ce93841 Author: Ingo Molnar Date: Tue Jun 23 16:39:53 2009 +0200 perf report: Fix help text typo Reported-by: Brice Goglin Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 503dcbeba50fd3545283594bc391b4a400fa6c48 Author: Tony Lindgren Date: Tue Jun 23 16:55:30 2009 +0300 OMAP: Fix IOMEM macro for assembly Otherwise IOMEM calculations can fail. Signed-off-by: Tony Lindgren commit bf96d1e3e7a35a17cea255048ffb3243bd9c8123 Author: Catalin Marinas Date: Tue Jun 23 14:40:27 2009 +0100 kmemleak: Do not force the slab debugging Kconfig options Selecting DEBUG_SLAB or SLUB_DEBUG by the KMEMLEAK menu entry may cause issues with other dependencies (KMEMCHECK). These configuration options aren't strictly needed by kmemleak but they may increase the chances of finding leaks. This patch also updates the KMEMLEAK config entry help text. Signed-off-by: Catalin Marinas Acked-by: Pekka Enberg commit ae281064be164342554b34f4ca5c4af33dce3de1 Author: Joe Perches Date: Tue Jun 23 14:40:26 2009 +0100 kmemleak: use pr_fmt Signed-off-by: Joe Perches Signed-off-by: Catalin Marinas commit 66c6b856d8738278a4a6e558d25c90e9950aa112 Author: Anton Vorontsov Date: Fri Jun 19 03:37:52 2009 +0400 powerpc/85xx: Make eSDHC 1-bit only transfer mode default for MPC8569E-MDS For yet unknown reason 4-bit mode doesn't work on MPC8569E-MDS boards, so make 1-bit mode default. When we resolve the issue, u-boot will remove sdhci,1-bit-only property from the device tree, while SDHCI will still work with older u-boots. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 6cc7959f385abc77abdeda5462f96407a556265a Author: Huang Weiyi Date: Sat Jun 20 19:16:59 2009 +0800 powerpc/85xx: remove duplicated #include Remove duplicated #include in arch/powerpc/platforms/85xx/xes_mpc85xx.c. Signed-off-by: Huang Weiyi Signed-off-by: Kumar Gala commit b053dc5a722eade28514f2cc922caf7a4baad987 Author: Kumar Gala Date: Fri Jun 19 08:31:05 2009 -0500 powerpc: Refactor device tree binding Split device tree binding out of booting-without-of.txt and put them into their own files per binding. Signed-off-by: Kumar Gala commit cb1ffb6204712b04396ae0a9f3d1bf93cd8df8fb Author: Kumar Gala Date: Fri Jun 19 03:30:42 2009 -0500 powerpc/85xx: Fix issue found by lockdep trace in smp_85xx_kick_cpu lockdep trace found the following: ------------[ cut here ]------------ Badness at c007baf0 [verbose debug info unavailable] NIP: c007baf0 LR: c007bad8 CTR: 00000000 REGS: ef855e00 TRAP: 0700 Tainted: G W (2.6.30-06736-g12a31df-dirty) MSR: 00021000 CR: 24044022 XER: 20000000 TASK = ef858000[1] 'swapper' THREAD: ef854000 CPU: 0 GPR00: 00000000 ef855eb0 ef858000 00000001 000000d0 f1000000 ffbc8000 ffffffff GPR08: 000000d0 c0760000 c0710000 00000007 2fffffff 1004a388 7ffd9400 00000000 GPR16: 00000000 7ffcd100 7ffcd100 7ffcd100 c059cd78 c075c498 c057da7c ffffffff GPR24: ffbc8000 f1000000 00000001 c00bf8b0 c07595d4 000000d0 00021000 000000d0 NIP [c007baf0] lockdep_trace_alloc+0xc0/0xf0 LR [c007bad8] lockdep_trace_alloc+0xa8/0xf0 Call Trace: [ef855eb0] [c007ba60] lockdep_trace_alloc+0x30/0xf0 (unreliable) [ef855ec0] [c00cb3ac] kmem_cache_alloc+0x2c/0xf0 [ef855ee0] [c00bf8b0] __get_vm_area_node+0x80/0x1c0 [ef855f10] [c0017580] __ioremap_caller+0x1d0/0x1e0 [ef855f40] [c057da7c] smp_85xx_kick_cpu+0x64/0x124 [ef855f60] [c0599180] __cpu_up+0xd0/0x1a4 [ef855f80] [c05997c4] cpu_up+0x14c/0x1e0 [ef855fc0] [c05732a0] kernel_init+0x100/0x1c4 [ef855ff0] [c0011524] kernel_thread+0x4c/0x68 Instruction dump: 8009c174 2f800000 409e0048 73c08000 40820040 4818980d 2f830000 419effa0 3d20c076 8009c388 2f800000 409eff90 <0fe00000> 4bffff88 60000000 60000000 We were calling ioremap after we local_irq_restore(flags). A simple reorder fixes the problem. Signed-off-by: Kumar Gala commit fa874618c3155e4f255387987d630a203578b5ae Author: Randy Vinson Date: Fri Jun 19 03:22:08 2009 +0400 powerpc/85xx: Fix FSL RapidIO probing on MDS boards FSL RapidIO won't probe without a proper compatible entry. This patch fixes the issue by adding fsl,rapidio-delta compatible to mpc85xx_ids. Signed-off-by: Randy Vinson Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit a44a23ed4d144e4fb83d256b32021b732bda4787 Author: Kumar Gala Date: Thu Jun 18 23:28:34 2009 -0500 powerpc/85xx: Stop using ppc_md.init on socrates Match what other 85xx platforms do for of_platform_bus_probe and use machine_device_initcall. This is one small step in killing of ppc_md.init. Signed-off-by: Kumar Gala commit 5e10cf587a7b1aa34099cbfc244e6f04e96dc835 Author: Kumar Gala Date: Tue May 19 00:52:20 2009 -0500 powerpc/cpm1: Remove IMAP_ADDR We no longer user IMAP_ADDR for anything so kill it off. Signed-off-by: Kumar Gala commit f49156ea1bf3bccf45a01351cf3db2b5f6a8597e Author: Timur Tabi Date: Tue May 26 10:21:42 2009 -0500 powerpc/qe: add polling timeout to qe_issue_cmd() The qe_issue_cmd() function (Freescale PowerPC QUICC Engine library) polls on a register until a status bit changes, but does not include a timeout to handle the situation if the bit never changes. Change the code to use the new spin_event_timeout() macro, which simplifies polling on a register without a timeout. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 0634a632f5dea8281ae7c9a96800582ff9eb1475 Author: Paul Mundt Date: Tue Jun 23 13:51:19 2009 +0200 asm-generic: add dummy pgprot_noncached() Most architectures now provide a pgprot_noncached(), the remaining ones can simply use an dummy default implementation, except for cris and xtensa, which should override the default appropriately. Signed-off-by: Arnd Bergmann Cc: Jesper Nilsson Cc: Chris Zankel Cc: Magnus Damm commit 574ec547c7771881e18e4e76ca970e323bcdc774 Author: Guennadi Liakhovetski Date: Tue Jun 23 13:26:23 2009 +0200 ARM: add support for the EET board, based on the i.MX31 pcm037 module The "EET" variant of the pcm037 board has an OLED display, using a S6E63D6 display controller on the first SPI interface, using GPIO57 as a chip-select for it. S6E63D6 is initialised in the boot-loader, so we only have to take care of the LCD. EET also adds several buttons and LEDs on GPIOs. This patch adds a "pcm037_variant=" kernel command line parameter to specify at boot-time which board the kernel is running on, default is "pcm970", specify "eet" for the EET board. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 32c1ad9ab2ae4171d8f3dd0c70a611f799ad6775 Author: Guennadi Liakhovetski Date: Thu Jun 18 12:40:48 2009 +0200 pcm037: add MT9T031 camera support Add support for the MT9T031 CMOS camera sensor from Aptina to the PCM037 board. Also add two I2C iomux pin definitions, needed for pcm037. Also remove now unneeded #ifdef CONFIG_I2C_IMX. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 0c8bad6a26aefbcb7b3d8d1e5d97c53076ac99af Author: Alberto Panizzo Date: Wed Jun 17 15:06:30 2009 +0200 Armadillo 500 add NAND flash device support (resend). Since recent mxc_nand driver fixes from linux-mtd this patch add support for ST NAND02GW3B2CN6 (2k pages flash) placed on the armadillo 500 motherboard. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit c3a9c7f53a0eb1ec687ecf131f9cfb41bbdc26b5 Author: Alberto Panizzo Date: Wed Jun 17 15:05:21 2009 +0200 ARM MXC: Armadillo 500 add NOR flash device support (resend). This patch add support for NOR flash mapping through the physmap driver. The purpose is to maintain the original Atmark partition model. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit bc33dc5ae7ed7a422ab1141d3bf81c6cee2a5050 Author: Huang Weiyi Date: Tue Jun 16 16:56:09 2009 +0800 mx31: remove duplicated #include Remove duplicated #include in arch/arm/mach-mx3/devices.c. Signed-off-by: Huang Weiyi Signed-off-by: Sascha Hauer commit d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47 Author: Brian Haley Date: Tue Jun 23 04:31:07 2009 -0700 ipv6: Use correct data types for ICMPv6 type and code Change all the code that deals directly with ICMPv6 type and code values to use u8 instead of a signed int as that's the actual data type. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit a18327f35a879a6467c3e901da7f68944b191732 Author: Ben Dooks Date: Mon May 4 09:53:12 2009 +0100 [ARM] S3C: Remove unused CONFIG_DEBUG_S3C_PORT Remove the unused CONFIG_DEBUG_S3C_PORT as we currently only have support for using the S3C UARTs via the low-level debug code. Signed-off-by: Ben Dooks commit 291e99a112f9bf34c027031de7ef8b94a2692937 Author: Ben Dooks Date: Mon May 4 09:30:51 2009 +0100 [ARM] S3C24XX: Fix use of CONFIG_S3C24XX_PWM CONFIG_S3C24XX_PWM was defined in arch/arm/plat-s3c24xx/Kconfig but not used anywhere else as the corresponding makefile used CONFIG_HAVE_PWM (selected by CONFIG_S3C24XX_PWM) to compile the PWM driver. Change the makefile to use CONFIG_S3C24XX_PWM to compile this driver to ensure it is only build when needed. Signed-off-by: Ben Dooks commit 0cf08dcb78e8d61b6d4b2eb5cdb296d969971626 Author: Heiko Carstens Date: Mon Jun 22 21:32:18 2009 +0000 net: let KS8842 driver depend on HAS_IOMEM Fixes this compile error on s390: CC drivers/net/ks8842.o drivers/net/ks8842.c: In function 'ks8842_select_bank': drivers/net/ks8842.c:124: error: implicit declaration of function 'iowrite16' drivers/net/ks8842.c: In function 'ks8842_write8': drivers/net/ks8842.c:131: error: implicit declaration of function 'iowrite8' Cc: Richard Rojfors Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit fec37ab56f5b86b413f71258f36b181f57180d9c Author: Heiko Carstens Date: Mon Jun 22 21:31:20 2009 +0000 can: let SJA1000 driver depend on HAS_IOMEM Fixes this compile error on s390: drivers/net/can/sja1000/sja1000_platform.c: In function 'sp_read_reg': drivers/net/can/sja1000/sja1000_platform.c:42: error: implicit declaration of function 'ioread8' drivers/net/can/sja1000/sja1000_platform.c: In function 'sp_write_reg': drivers/net/can/sja1000/sja1000_platform.c:47: error: implicit declaration of function 'iowrite8' drivers/net/can/sja1000/sja1000_platform.c: In function 'sp_probe': drivers/net/can/sja1000/sja1000_platform.c:79: error: implicit declaration of function 'ioremap_nocache' Cc: Wolfgang Grandegger Cc: Oliver Hartkopp Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit 96f2ebd2e10417da151202c750d8664767a2194b Author: Dhananjay Phadke Date: Mon Jun 22 20:26:21 2009 +0000 netxen: fix firmware init handshake Make sure all functions run firmware init handshake. If PCI function 0 fails to initialize firmware, mark the state failed so that other functions on the same board bail out quickly instead of waiting 30s for firmware handshake. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 01542cd1bbf995f951e2c2383d7911e96b12bec6 Author: Dhananjay Phadke Date: Mon Jun 22 20:26:20 2009 +0000 netxen: fix build with without CONFIG_PM wrap pci suspend() and resume() with CONFIG_PM check. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cb5793db5ecf108594d8006ae838e47996a76a19 Author: janboe Date: Tue Jun 23 13:30:25 2009 +0300 OMAP2/3: Initialize gpio debounce register Some bootloader may initialize debounce register and this will make dbclk not consist with the debounce register after linux kernel boot up. Signed-off-by: janboe Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit f48ef99ca14577f3ea0a48c0e05ed7f5f6d211e9 Author: Fernando Guzman Lugo Date: Tue Jun 23 13:30:25 2009 +0300 OMAP: IOMMU: function flush_iotlb_page is not flushing correct entry The function flush_iotlb_page is not loading the CAM register with the correct entry to be flushed, so it is flushing other entry Signed-off-by: Fernando Guzman Lugo Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit c8e6488f7b56d82453fc7d526118e9f1c2df133a Author: Adrian Hunter Date: Tue Jun 23 13:30:25 2009 +0300 OMAP3: RX51: Use OneNAND sync read / write Use OneNAND sync read / write Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren commit 6d453e84b587f38e4197bb2c6a37296c4a80cbac Author: Adrian Hunter Date: Tue Jun 23 13:30:24 2009 +0300 OMAP2/3: gpmc-onenand: correct use of async timings Use async timings when sync timings are not requested. Also ensure that OneNAND is in async mode when async timings are used. Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren commit aecedb94b366d6fb5e2a17ca18a5dc78e593198e Author: Kalle Jokiniemi Date: Tue Jun 23 13:30:24 2009 +0300 OMAP3: DMA: Enable idlemodes for DMA OCP This patch enables MStandby smart-idle mode, autoidle smartidle mode, and the autoidle bit for DMA4_OCP_SYSCONFIG. Signed-off-by: Kalle Jokiniemi Signed-off-by: Tony Lindgren Signed-off-by: Kevin Hilman commit 5b0acc59d1bc5c310dfd6976555664f9dcf4dacd Author: Tero Kristo Date: Tue Jun 23 13:30:23 2009 +0300 OMAP3: SRAM size fix for HS/EMU devices SRAM size fix for HS/EMU devices Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 8e25ad964aac0bf6b30dd013303750089f819679 Author: Kevin Hilman Date: Tue Jun 23 13:30:23 2009 +0300 OMAP2/3: Add omap_type() for determining GP/EMU/HS The omap_type() function is added and returns the DEVICETYPE field of the CONTROL_STATUS register. The result can be used for conditional code based on whether device is GP (general purpose), EMU or HS (high security). Also move the type defines so omap1 code compile does not require ifdefs for sections using these defines. This code is needed for the following fix to set the SRAM size correctly for HS omaps. Also at least PM and watchdog code will need this function. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 091a58af0ba1765d80b1e74382c7572baceb1bdc Author: Roel Kluin Date: Tue Jun 23 13:30:22 2009 +0300 OMAP2/3: omap mailbox: platform_get_irq() error ignored platform_get_irq may return -ENXIO. but struct omap_mbox mbox_dsp_info.irq is unsigned, so the error was not noticed. Signed-off-by: Roel Kluin Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 762ad3a476baa1831f732488e80960f4aa024393 Author: Grazvydas Ignotas Date: Tue Jun 23 13:30:22 2009 +0300 OMAP2/3: mmc-twl4030: use correct controller in twl_mmc23_set_power twl_mmc23_set_power() has MMC2 twl_mmc_controller hardcoded in it, which breaks MMC3. Find the right controller to use instead. Signed-off-by: Grazvydas Ignotas Cc: David Brownell Signed-off-by: Tony Lindgren commit d376f89701b0aa5b45d25fbfbeb1a0040399ad30 Author: Huang Weiyi Date: Tue Jun 23 13:30:22 2009 +0300 OMAP1: remove duplicated #include Remove duplicated #include in arch/arm/mach-omap1/board-nokia770.c. Signed-off-by: Huang Weiyi Signed-off-by: Tony Lindgren commit e4d24ec39c98cdc9cd97c26fdd426bbab0034fbe Author: Andrew de Quincey Date: Tue Jun 23 13:30:21 2009 +0300 OMAP1: Fix N770 MMC support Some of the N770's MMC configuration options seem to have been dropped. This patch adds them back in again. Note that only the .ocr_mask change was /critical/, but I've added the .max_freq setting back as well, as the original sources had it. Can anyone confirm if this is unnecessary? Secondly, there is support in the original code for a 4wire/higher speed mode. As I don't have the requisite N770 hardware (I think it was a rev2 N770?) to test this, I can't really add it back. Signed-off-by: Andrew de Quincey Signed-off-by: Tony Lindgren commit 0c405b3346ea08098a82a1ee82912b018dfa9f96 Author: Jonathan McDowell Date: Tue Jun 23 13:30:21 2009 +0300 OMAP1: Fix compilation of arch/arm/mach-omap1/mailbox.c This fixes the positioning of " in MODULE_AUTHOR, which is currently causing a build failure on latest git with CONFIG_OMAP_MBOX_FWK=m; the original breakage appears to date from the end of last year in a5abbbe52b7e89a7633319c5417bd4331f7ac8ed Signed-Off-By: Jonathan McDowell Acked-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit f344011ccb85469445369153c3d27c4ee4bc2ac8 Author: Peter Zijlstra Date: Mon Jun 22 13:58:35 2009 +0200 perf_counter: Optimize perf_counter_alloc()'s inherit case We don't need to add usage counts for swcounter and attr usage models for inherited counters since the parent counter will always have one, which suffices to generate the needed output. This avoids up to 3 global atomic increments per inherited counter. LKML-Reference: Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b84fbc9fb1d943e2c5f4efe52ed0e3c93a4bdb6a Author: Peter Zijlstra Date: Mon Jun 22 13:57:40 2009 +0200 perf_counter: Push inherit into perf_counter_alloc() Teach perf_counter_alloc() about inheritance so that we can optimize the inherit path in the next patch. Remove the child_counter->atrr.inherit = 1 line because the only way to get there is if parent_counter->attr.inherit == 1 and we copy the attrs. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f29ac756a40d0f1bb07d682ea521e7b666ff06d5 Author: Peter Zijlstra Date: Fri Jun 19 18:27:26 2009 +0200 perf_counter: Optimize perf_swcounter_event() Similar to tracepoints, use an enable variable to reduce overhead when unused. Only look for a counter of a particular event type when we know there is at least one in the system. Signed-off-by: Peter Zijlstra LKML-Reference: Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 3d906ef10a539ff336010afab8f6f9c4fe379695 Author: Peter Zijlstra Date: Tue Jun 23 11:23:07 2009 +0200 perf_counter tools: Handle overlapping MMAP events Martin Schwidefsky reported "perf report" symbol resolution problems on S390. Since we only report MMAP, not MUNMAP, we have to deal with overlapping maps. We used to simply throw out the old map on the assumption whole maps got unmapped. This obviously doesn't deal with partial unmaps. However it appears some dynamic linkers do fancy partial unmaps (s390), so do something more elaborate and truncate the old maps, only removing them when they've been fully covered. This resolves (part of) the S390 symbol resolution problems. Reported-by: Martin Schwidefsky Tested-by: Martin Schwidefsky Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit bfdb4d9f0f611687d71cf6a460efc9e755f4a462 Author: Arun R Bharadwaj Date: Tue Jun 23 10:00:58 2009 +0530 timers: Fix timer_migration interface which accepts any number as input Poornima Nayek reported: | Timer migration interface /proc/sys/kernel/timer_migration in | 2.6.30-git9 accepts any numerical value as input. | | Steps to reproduce: | 1. echo -6666666 > /proc/sys/kernel/timer_migration | 2. cat /proc/sys/kernel/timer_migration | -6666666 | | 1. echo 44444444444444444444444444444444444444444444444444444444444 > /proc/sys/kernel/timer_migration | 2. cat /proc/sys/kernel/timer_migration | -1357789412 | | Expected behavior: Should 'echo: write error: Invalid argument' while | setting any value other then 0 & 1 Restrict valid values to 0 and 1. Reported-by: Poornima Nayak Tested-by: Poornima Nayak Signed-off-by: Arun R Bharadwaj Cc: poornima nayak Cc: Arun Bharadwaj LKML-Reference: <20090623043058.GA3249@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 971121f27179508beb18b86b84e1f8399d7b3875 Author: Paul Mundt Date: Tue Jun 23 17:36:23 2009 +0900 sh: Fix up more dma-mapping fallout. commit dbe6f1869188b6e04e38aa861dd198befb08bcd7 ("dma-mapping: mark dma_sync_single and dma_sync_sg as deprecated" conveniently broke every single SH build. In the future it would be great if people could at least bother figuring out how to use grep. Signed-off-by: Paul Mundt commit 854c879f5abf309ebd378bea1ee41acf4ddf7194 Author: Pekka J Enberg Date: Mon Jun 22 17:39:41 2009 +0300 x86: Move init_gbpages() to setup_arch() The init_gbpages() function is conditionally called from init_memory_mapping() function. There are two call-sites where this 'after_bootmem' condition can be true: setup_arch() and mem_init() via pci_iommu_alloc(). Therefore, it's safe to move the call to init_gbpages() to setup_arch() as it's always called before mem_init(). This removes an after_bootmem use - paving the way to remove all uses of that state variable. Signed-off-by: Pekka Enberg Acked-by: Yinghai Lu LKML-Reference: Signed-off-by: Ingo Molnar commit 2eb2a4368273e123d2716a704c86f3130aa14c22 Author: Paul Mundt Date: Fri Jun 19 16:00:00 2009 +0900 sh: SH7786 SMP support. SH7786 is roughly identical to SH-X3 proto SMP, though there are only 2 CPUs. This just wraps in to the existing SH-X3 SMP code with some minor changes for SH7786, including wiring up the IPIs properly, enabling IRQ_PER_CPU, and so forth. Signed-off-by: Paul Mundt commit b29fa1fbc210a51103c7a16af44df42cadce0361 Author: Paul Mundt Date: Fri Jun 19 15:39:47 2009 +0900 sh: Wire up the uncached fixmap on sh64 as well. Now that sh64 also can use the uncached section, wire up the fixmap for it as well. Signed-off-by: Paul Mundt commit 997d0030934f7722d81e5b1cdd7af85ac7ed960b Author: Paul Mundt Date: Fri Jun 19 15:37:11 2009 +0900 sh: Use local TLB flush in set_pte_phys(). set_pte_phys() presently uses the global flush_tlb_one(), which locks on SMP trying to do the IPI. As we have not even initialized the other CPUs at this point, switch to the local_ variant so the flush happens on the boot CPU. Signed-off-by: Paul Mundt commit 2e046b9487dcc60707cac77fb8f744ec830209cd Author: Paul Mundt Date: Fri Jun 19 14:40:51 2009 +0900 sh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. Crib the x86 cpu_idle_wait() implementation and shove it in with the idle code, subsequently enabling ARCH_HAS_CPU_IDLE_WAIT. Signed-off-by: Paul Mundt commit dee412066aeb16c43cf31599948c1a1de385df56 Author: Jaswinder Singh Rajput Date: Tue Jun 23 02:22:39 2009 +0530 perf stat: Fix command option / manpage -l is not supported, it should be -S for scale. Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245703959.6167.16.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 7b994836f09fc3ce7d073ad6f8259a1a84003e02 Author: Roel Kluin <[mailto:roel.kluin@gmail.com]> Date: Tue Jun 23 10:04:14 2009 +0200 CRISv10: remove redundant tests on unsigned Since dmanr is unsigned, negatives are wrapped and caught by the other test. Signed-off-by: Roel Kluin Acked-by: Jesper Nilsson commit 9b901ee0cb007eb4e2ee056e5b1c5c2837d53bdb Author: Wim Van Sebroeck Date: Fri Jun 19 09:32:57 2009 +0000 [WATCHDOG] wdt_pci.c: remove #ifdef CONFIG_WDT_501_PCI Change the wdt_pci.c watchdog driver so that the code is the same for both the PCI-WDT500 as the PCI-WDT501 card. The selection of the card is now being done via the module parameter: 'type' instead of the config option CONFIG_WDT_501_PCI. Signed-off-by: Wim Van Sebroeck commit 44df75353bc8f32e26e049284053a61d4f1047d6 Author: Tom Mingarelli Date: Thu Jun 18 23:28:57 2009 +0000 [WATCHDOG] hpwdt: Add NMI priority option Add a priority option so that the user can choose if we do the NMI first or last. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 789cd4702bf830416d2e1794495407be42fe95ad Author: Ulrik Bech Hald Date: Fri Jun 12 16:18:32 2009 -0500 [WATCHDOG] OMAP fixes: enable clock in probe, trigger timer reload This patch contains two fixes: 1)In omap_wdt_probe() the watchdog is reset and disabled. This requires register access and the clks needs to be enabled temporarily 2)In omap_wdt_open() the timer register needs to be reloaded to trigger a new timer value (the default of 60s) Tested on OMAP34xx platform (Zoom1) Reviewed-by: Kevin Hilman Signed-off-by: Ulrik Bech Hald Signed-off-by: Wim Van Sebroeck commit eebf8d86acf0db974dfaad8e8285f4e12ca488e2 Author: Manu Abraham Date: Thu Jun 18 04:50:53 2009 -0300 V4L/DVB (12131): BUGFIX: An incorrect Carrier Recovery Loop optimization table was being loaded for a given chip version. This would cause the optimization in tuning not to be applied and thus a failed expectation, in tuning speed increment. The patch swaps the tables in use. It also fixes a possible one in a million condition where state->dev_ver implies an older Cut (Cut < 2.0, eventhough the driver doesn't attach to any Cut older than 2.0) or even negative (due to a bad I2C bus master driver) for the card combination. Thanks to Mauro Carvalho Chehab for pointing out the issue at large. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 0a5ded56fd3f4096681f8e6a249fb058485f4e46 Author: Manu Abraham Date: Wed Jun 17 16:48:17 2009 -0300 V4L/DVB (12130): Fix a redundant compiler warning drivers/media/dvb/frontends/stv090x.c: In function ‘stv090x_optimize_carloop_short’: drivers/media/dvb/frontends/stv090x.c:2677: warning: ‘short_crl’ may be used uninitialized in this function Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d8b2996607d492ffa99628bafc80da14d3a5482d Author: Trent Piepho Date: Fri Jun 12 16:31:29 2009 -0300 V4L/DVB (12003): v4l2: Move bounding code outside I2C ifdef block On Fri, 12 Jun 2009, Randy Dunlap wrote: > From: Randy Dunlap > > Move v4l_bound_align_image() outside of an #ifdef CONFIG_I2C block > so that it is always built. Fixes a build error: clamp_align() should be moved as well, since it's only used by v4l_bound_align_image(). I'm attaching an alternate version that fixes this. Labeled the endif too. Reported-by: Randy Dunlap Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1ca27379f3673b40edbd2fec53b93c993fdb4f0c Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11913): cx231xx: TRY_FMT should not actually set anything In the TRY_FMT handler the function get_scale() is called to find what the scaler hardware will produce for a requested size. The problem is that get_scale(struct cx231xx *dev, ..., unsigned int *vscale, unsigned int *hscale) saves the calculated scale values into both the pointer arguments and into dev's hscale and vscale fields. TRY_FMT shouldn't actually change anything in the device state. The code to in get_scale() that writes to dev->[hv]scale can just be deleted. In all cases when dev's fields should be modified, get_scale() was called with get_scale(dev, ..., &dev->hscale, &dev->vscale), so dev was getting updated anyway. This didn't actually cause a problem because nothing ever actually made use of the hscale and vscale fields. I changed cx231xx_resolution_set() to use those fields rather than re-calculate them with a call to get_scale(). Updating [hv]scale in cx231xx_resolution_set() isn't necessary because every call of cx231xx_resolution_set() was already preceded by a call to get_scale() or setting the [hv]scale fields, so they will be always be up-to-date w.r.t. width and height. Removing the call to get_scale() from cx231xx_resolution_set() allowed making get_scale() a static function, which is a good thing for something with such a short name. There is already another function with the same name in the em28xx driver, but that one is static. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ccb83408b258f7e9f9fe763f9a7d06ebcc21134f Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11912): em28xx: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. It appears that the em2800 can only scale by 50% or 100%, i.e. the only heights supported might be 240 and 480. In that case the old code would set any height other than 240 to 480. Request 240 get 240, but request 239 and then you get 480. Change it to round to the nearest supported value. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 9bd0e8d7d1bf0dc586bad905c7878b611da3acdc Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11911): cx231xx: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Cc: Srinivasa Deevi Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 653dc59b6468c2ba51f3b4aee609daa8f67d3e3a Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11910): mt9: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Cc: Guennadi Liakhovetski Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 2449afcbcc654dbaa9dabeda9daecb69719b0aaa Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11909): cx23885: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1c657a99fd655c0daa7450854a914d21c1da805c Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11908): w8968cf: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. The existing code was casting pointers to u32 and to unsigned int into pointers to u16. This could mess up if someone passed in an image size greater than 65,535 and on big-endian platforms it won't work at all. The existing bounding code would shrink an image if it was too big, but returned ERANGE if it was too small. The code will not shrink or expand as necessary. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4b89945e590f94e82a6e7f33e21cbd0d83774b9e Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11907): cx88: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bc52d6eb44de8f19934768d4d10d19fdbdc99950 Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11906): saa7134: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 3adbbb8e2a87d58401466c825e9ff191e3b5a7b6 Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11905): vivi: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 728f5b93f48cbfebd8e939bec2be1252fce7dae1 Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11904): zoran: Use v4l bounding/alignment functiob The v4l function has a better algorithm for aligning image size. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bc44fc061ea1f2b7918ec0bb55013b8054c81752 Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11903): sh_mobile_ceu_camera: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4a6b8df2133c1f218a503e0432a9e6cc3d461a30 Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11902): pxa-camera: Use v4l bounding/alignment function The v4l function has a better algorithm for aligning image size. For instance the old code would change 159x243 into 156x240 to meet the alignment requirements. The new function will use 160x243, which is a lot closer to what was asked for originally. Cc: Robert Jarzmik Cc: Guennadi Liakhovetski Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b0d3159be9a36fd8b7b1cf88b812d951add53d11 Author: Trent Piepho Date: Sat May 30 21:45:46 2009 -0300 V4L/DVB (11901): v4l2: Create helper function for bounding and aligning images Most hardware has limits on minimum and maximum image dimensions and also requirements about alignment. For example, image width must be even or a multiple of four. Some hardware has requirements that the total image size (width * height) be a multiple of some power of two. v4l_bound_align_image() will enforce min and max width and height, power of two alignment on width and height, and power of two alignment on total image size. It uses an efficient algorithm that will try to find the "closest" image size that meets the requirements. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 2c0b19ac3b73199fe7b3fbff884051046554c048 Author: Hans Verkuil Date: Tue Jun 9 17:29:29 2009 -0300 V4L/DVB (12128): v4l2: update framework documentation. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f0222c7d860f09a61bec5e500539f28db0184b38 Author: Hans Verkuil Date: Tue Jun 9 17:12:33 2009 -0300 V4L/DVB (12125): v4l2: add new s_config subdev ops and v4l2_i2c_new_subdev_cfg/board calls Add a new s_config core ops call: this is called with the irq and platform data to be used to initialize the subdev. Added new v4l2_i2c_new_subdev_cfg and v4l2_i2c_new_subdev_board calls that allows you to pass these new arguments. The existing v4l2_i2c_new_subdev functions were modified to also call s_config. In the future the existing v4l2_i2c_new_subdev functions will be replaced by a single v4l2_i2c_new_subdev function similar to v4l2_i2c_new_subdev_cfg but without the irq and platform_data arguments. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 90135c96869fa0ef3182282b2a661b57fcdb7230 Author: Mike Isely Date: Sat Jun 20 14:57:24 2009 -0300 V4L/DVB (12122): pvrusb2: De-obfuscate code which handles routing schemes This change does not change any outward behavior; it merely chops down some large if-conditions with embedded assignments into something a little more maintainable for others (I of course never had a problem with this...). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 81e804c9c2e38431c1c01165d06076776c6fcbd6 Author: Mike Isely Date: Sat Jun 20 14:55:31 2009 -0300 V4L/DVB (12121): pvrusb2: Improve handling of routing schemes The pvrusb2 driver has a concept of "routing scheme" which defines which physical inputs should be connected based on application's choice of logical input. The correct "routing scheme" depends on the specific device since different devices might wire up their muxes Signed-off-by: Mauro Carvalho Chehab commit 6f441ed78e28ea02940e58ffa89fbbc734ab6da3 Author: Mike Isely Date: Sat Jun 20 14:51:29 2009 -0300 V4L/DVB (12120): pvrusb2: Change initial default frequency setting Change default frequency to be US Broadcast channel 3 - with the transition to d igital the previous value has now become useless. This change is PURELY to help with my testing (I need to set some kind of default so it might as well be some thing usable). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a6862da2f3c7ce3ec6644958bc8937b630b9e2c1 Author: Mike Isely Date: Sat Jun 20 14:50:14 2009 -0300 V4L/DVB (12119): pvrusb2: Re-fix hardware scaling on video standard change The cx25840 module's VBI initialization logic uses the current video standard as part of its internal algorithm. This therefore means that we probably need to make sure that the correct video standard has been set before initializing VBI. (Normally we would not care about VBI, but as described in an earlier changeset, VBI must be initialized correctly on the cx25840 in order for the chip's hardware scaler to operate correctly.) It's kind of messy to force the video standard to be set before initializing VBI (mainly because we can't know what the app really wants that early in the initialization process). So this patch does the next best thing: VBI is re-initialized after any point where the video standard has been set. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e17d787c513f41f59969247062561fff6340f211 Author: Mike Isely Date: Sat Jun 20 14:45:52 2009 -0300 V4L/DVB (12118): pvrusb2: Fix hardware scaling when used with cx25840 The cx25840 module requires that its VBI initialization entry point be called in order for hardware-scaled video capture to work properly - even if we don't care about VBI. Making this behavior even more subtle is that if the capture resolution is set to 720x480 - which is the default that the pvrusb2 driver sets up - then the cx25840 bypasses the hardware scaler. Therefore this problem does not manifest itself until some other resolution, e.g. 640x480, is tried. MythTV typically defaults to 640x480 or 480x480, which means that things break whenever the driver is used with MythTV. This all has been known for a while (since at least Nov 2006), but recent changes in the pvrusb2 driver (specifically in regards to sub-device support) caused this to break again. VBI initialization must happen *after* the chip's firmware is loaded, not before. With this fix, 24xxx devices work correctly again. A related fix that is part of this changeset is that now we re-initialize VBI any time after we issue a reset to the cx25840 driver. Issuing a chip reset erases the state that the VBI setup previously did. Until the HVR-1950 came along this subtlety went unnoticed, because the pvrusb2 driver previously never issued such a reset. But with the HVR-1950 we have to do that reset in order to correctly transition from digital back to analog mode - and since the HVR-1950 always starts in digital mode (required for the DVB side to initialize correctly) then this device has never had a chance to work correctly in analog mode! Analog capture on the HVR-1950 has been broken this *ENTIRE* time. I had missed it until now because I've usually been testing at the default 720x480 resolution which does not require scaling... What fun. By re-initializing VBI after a cx25840 chip reset, correct behavior is restored. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b34cdc36c4aad10cf4eaadacf067835d6a622f1b Author: Michael Krufky Date: Thu May 21 12:49:28 2009 -0300 V4L/DVB (12116): cx23885: ensure correct IF freq is used on HVR1200 & HVR1700 Ensure that we're programming the tda18271 tuner with the correct IF frequencies to match the programming of the TDA10048 DVB-T demod for the HVR1200 and HVR1700 products. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9d68fc0ad40b852470026ee58a07e1d662571d04 Author: Michael Krufky Date: Fri Jun 19 16:21:37 2009 -0300 V4L/DVB (12115): tda10048: add missing entry to pll_tab for 3.8 MHz IF Thanks for Terry Wu for pointing out the missing entry. Cc: Terry Wu Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit aad40d3d0cd9b679e83f6a902ad1e2b8f7b4c9bb Author: Hans Verkuil Date: Sat Jun 20 09:21:37 2009 -0300 V4L/DVB (12112): cx231xx: fix uninitialized variable. The variable 'rc' could be used uninitialized in the cx231xx_capture_start function. Sri informed me that it should be initialized to -1. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 54bb501c069bbe34cf8becf0a9985fc6873d6b21 Author: Hans Verkuil Date: Sat Jun 20 09:18:34 2009 -0300 V4L/DVB (12111): tcm825x: remove incorrect __exit_p wrapper tcm825x_remove is not necessarily called on module exit, it can also be called when the i2c_adapter is removed. While the i2c adapter might never be removed on an embedded system, in practice this sensor driver can also be used in e.g. a USB webcam where this is a perfectly acceptable thing to do. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5543e2b4c495714e5f1b2dbbe250df15239af1cd Author: Hans Verkuil Date: Sat Jun 20 06:29:12 2009 -0300 V4L/DVB (12109): radio-tea5764: fix incorrect rxsubchans value rxsubchans was only set when stereo was detected, otherwise it was left to 0 instead of setting it to mono. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 719cd4ab9695059e00f5248d1dceb534381fccb3 Author: Hans Verkuil Date: Sun Jun 14 07:12:11 2009 -0300 V4L/DVB (12108): v4l2-i2c-drv.h: add comment describing when not to use this header. Make it very clear that this header should not be used for i2c drivers that do not need to be compiled for pre-2.6.26 kernels. As soon as the minimum supported kernel in the v4l-dvb repository becomes 2.6.26 or up, then this header should be removed entirely. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be5daa9bd220d384c7010aee6d3886279a61a183 Author: Hans Verkuil Date: Sun Jun 14 06:47:35 2009 -0300 V4L/DVB (12107): smscoreapi: fix compile warning gcc 4.3.1 generates this warning: v4l/smscoreapi.c: In function 'smscore_gpio_configure': v4l/smscoreapi.c:1481: warning: 'GroupNum' may be used uninitialized in this function v4l/smscoreapi.c:1480: warning: 'TranslatedPinNum' may be used uninitialized in this function While in practice this will not happen, it is something that the compiler can't determine. Initializing these two local variables to 0 suppresses this warning. Cc: Udi Atar Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c6711c3e6d4976716633047c0f6bbd953d6831fb Author: Hans Verkuil Date: Sun Jun 14 05:20:21 2009 -0300 V4L/DVB (12104): ivtv/cx18: fix regression: class controls are no longer seen A previous change (v4l2-common: remove v4l2_ctrl_query_fill_std) broke the handling of class controls in VIDIOC_QUERYCTRL. The MPEG class control was broken for all drivers that use the cx2341x module and the USER class control was broken for ivtv and cx18. This change adds back proper class control support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a4c473033b6a100773a4fd8b7ba1e45baeb1e692 Author: Devin Heitmueller Date: Sat Jun 20 21:34:42 2009 -0300 V4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube Add an IR profile for the EVGA inDtube remote control (which is an NEC type remote) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 19859229d7d98bc2d582ff45045dd7f73d649383 Author: Devin Heitmueller Date: Fri Jun 19 00:33:54 2009 -0300 V4L/DVB (12101): em28xx: add support for EVGA inDtube Add support for the EVGA inDtube. Both ATSC and analog side validated as fully functional. Thanks to Jake Crimmins from EVGA for providing the correct GPIO info. Thanks to Alan Hagge for doing all the device testing. Thanks to Greg Williamson for providing hardware for testing. Cc: Jake Crimmins Cc: Alan Hagge Cc: Greg Williamson Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit cdf7bfa8926fb26d5900103ae09eb5f3eddb95cc Author: Devin Heitmueller Date: Fri Jun 19 00:20:28 2009 -0300 V4L/DVB (12100): em28xx: make sure the analog GPIOs are set if we used a card hint In cases where the board had a default USB ID, we would not indentify the board until after the call to em28xx_set_mode(). As a result, for those boards the analog GPIOs were not being set before probing the i2c bus for devices (the probe would occur with the GPIOs being all high). Make a call to em28xx_set_mode() so that the GPIOs are set properly before probing the i2c bus for devices. This problem was detected with the EVGA inDtube, where the tvp5150 is not powered on unless GPIO1 is pulled low. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f867c3f4eab1d5006df4f3734fab1134feffbeba Author: Igor M. Liplianin Date: Fri Jun 19 05:45:23 2009 -0300 V4L/DVB (12098): Create table for customize stv0900 ts registers. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit ee1ebcfea6ee16491f88e8023554dd214e1ba85c Author: Abylay Ospan Date: Mon Jun 8 04:31:26 2009 -0300 V4L/DVB (12097): Implement reading uncorrected blocks for stv0900 Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 68191edeb50773993f4a05651b0a085bd110fbeb Author: Abylay Ospan Date: Sun Jun 14 14:10:05 2009 -0300 V4L/DVB (12096): Bug fix: stv0900 register read must using i2c in one transaction Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 0cde9b2533d6fe79307173f24209228aaf34bc98 Author: Igor M. Liplianin Date: Sun Jun 14 13:17:15 2009 -0300 V4L/DVB (12095): Change lnbh24 configure bits for NetUP card. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 3fb4a57b494e05dba4d1305e2347c6633b76c20e Author: Hans de Goede Date: Thu Jun 18 14:31:36 2009 -0300 V4L/DVB (12093): gspca_sonixj: Name saturation control saturation, not color Name saturation control saturation, not color and make the default less saturated (the old default was overdoing it). Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit f800952c21157f11a5510d9cf700c9a7ba30800d Author: Hans de Goede Date: Thu Jun 18 14:29:20 2009 -0300 V4L/DVB (12092): gspca_sonixj + ov7630: invert vflip control instead of changing default gspca_sonixj + ov7630 had the default value for flip enabled, as otherwise the picture is upside down. It is better to instead invert the meaning of the control in the set function, and have the default be no vflip, as one would expect vflip enabled to be upside down. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 37c6dbe290c05023b47f52528e30ce51336b93eb Author: Hans de Goede Date: Thu Jun 18 07:35:36 2009 -0300 V4L/DVB (12091): gspca_sonixj: Add light frequency control gspca_sonixj: Add light frequency control Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 1fec747cd389b4812a9932a1416d76e8a53596b2 Author: Hans de Goede Date: Thu Jun 18 06:05:07 2009 -0300 V4L/DVB (12090): gspca_sonixj: enable autogain control for the ov7620 gspca_sonixj: enable autogain control for the ov7620, and not only make it enable autogain but also auto exposure (and do the same for the ov7648). Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit a5d1cc39fee739cf4fc2a1f43da812c50de9d3d6 Author: Hans de Goede Date: Thu Jun 18 06:03:20 2009 -0300 V4L/DVB (12089): gspca_sonixj: increase 640x480 frame-buffersize gspca_sonixj: increase 640x480 frame-buffersize, as I was getting buffer overflows during my testing of a "Premier" 0c45:613e cam Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 119893b2dfb18515bfdcc5edb83422e6aa126a86 Author: Hans de Goede Date: Thu Jun 18 05:20:51 2009 -0300 V4L/DVB (12088): Mark the v4l1 uvcvideo quickcam messenger driver as deprecated Mark the v4l1 uvcvideo quickcam messenger driver as deprecated, the one cam it supports, is now also supported by the v4l2 gspca stv06xx driver. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit cc7b5b573feb5edfe68c028bc1ea383dab37dde2 Author: Hans de Goede Date: Thu Jun 18 05:14:42 2009 -0300 V4L/DVB (12087): gspca_sonixj: enable support for 0c45:613e camera gspca_sonixj: enable support for 0c45:613e camera, and slightly tweak the ov7630 register init values for a much better picture. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9764398bdeef49414b37ef8bd35abfec1f44bd3e Author: Hans de Goede Date: Thu Jun 18 05:08:11 2009 -0300 V4L/DVB (12086): gspca_sonixj: Fix control index numbering The control index defines for the gspca_sonixj driver were numbered wrong, causing us to disable the wrong controls on various sensors Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit e080fcd9298d544f3233d8c45304990be1920b3d Author: Hans de Goede Date: Thu Jun 18 05:03:16 2009 -0300 V4L/DVB (12085): gspca_ov519: constify ov518 inititial register value tables gspca_ov519: constify ov518 inititial register value tables Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 0220f8870e66628f19c36bad813e881ebfaae7a6 Author: Hans de Goede Date: Wed Jun 17 18:50:10 2009 -0300 V4L/DVB (12084): ov511: mark as deprecated Mark the v4l1 ov511 as deprecated as we now have ov511 support in the gspca ov519 driver. Note we should really also keep track of this in Documentation/feature-removal-schedule.txt, but that is not part of the v4l-dvb tree. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 98b1e9be882eff0f00bb5770ced9d9b24eb0238c Author: Hans de Goede Date: Wed Jun 17 18:41:01 2009 -0300 V4L/DVB (12083): ov511: remove ov518 usb id's from the driver ov511: remove ov518 usb id's from the driver, as they have not been working ever since the decompression code got removed from the kernel, and they are no supported by the gspca_ov519 module. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8668d504d72c384fbfb6ab6f5d02a9fe4d813554 Author: Hans de Goede Date: Wed Jun 17 18:37:57 2009 -0300 V4L/DVB (12082): gspca_stv06xx: Add support for st6422 bridge and sensor Add support for st6422 bridge and sensor to the stv06xx gspca sub driver, tested with: Logitech QuickCam Messenger 046d:08f0 ST6422 integrated Logitech QuickCam Mess. Plus 046d:08f6 ST6422 integrated Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit ae49c40461d8981b232e3fec28234d492067f0e1 Author: Hans de Goede Date: Sun Jun 14 19:15:07 2009 -0300 V4L/DVB (12081): gspca_ov519: Cleanup some sensor special cases gspca_ov519: Cleanup some sensor special cases Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b282d87332f5b3c2ac2e289f772b33067e4be77b Author: Hans de Goede Date: Sun Jun 14 19:10:40 2009 -0300 V4L/DVB (12080): gspca_ov519: Fix ov518+ with OV7620AE (Trust spacecam 320) gspca_ov519: Fix ov518+ with OV7620AE (Trust spacecam 320) Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 1876bb923c98c605eca69f0bfe295f7b5f5eba28 Author: Hans de Goede Date: Sun Jun 14 06:45:50 2009 -0300 V4L/DVB (12079): gspca_ov519: add support for the ov511 bridge gspca_ov519: add support for the ov511 bridge Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit f5cee95c2e4c56b50cdb8edd33cf04902946cd25 Author: Hans de Goede Date: Sun Jun 14 06:32:52 2009 -0300 V4L/DVB (12078): gspca_ov519: Better default contrast for ov6630 Hmm, another one with an extra if (life sucks) the default contrast really is no good for the ov6630, it isn't even high enough in full daylight, this gives the ov6630 a different initial value for a better out of the box experience. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 80142efa715581c06d01b37f299a240309699ff4 Author: Hans de Goede Date: Sun Jun 14 06:26:49 2009 -0300 V4L/DVB (12077): gspca_ov519: Fix 320x240 with ov7660 sensor As reported on the ov51x-jpeg list, and as I can confirm with my own cam the ov7670 in 320x240 has a number of broken columns of pixels at the left of the picture. This was not present in the old driver as it always used 640x480 and did software downscaling (took me a while to figure that one out). The fix adds a sensor specific if in so far sensor neutral code :( But this is the only way to fix this, this cannot be fixed by only changing sensor registers. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9e4d82588174e68abe8e3568202f0b530415661f Author: Hans de Goede Date: Sun Jun 14 06:25:06 2009 -0300 V4L/DVB (12076): gspca_ov519: Fix led inversion with some cams My ov519 cam has it led inverted, the same has been reported on the ov51x-jpeg list for another creative cam. This patch fixes this without changing the behaviour for other cams. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 92918a53ee74bb326430aaa958caa0cf111b54b1 Author: Hans de Goede Date: Sun Jun 14 06:21:35 2009 -0300 V4L/DVB (12075): gspca_ov519: check ov518 packet numbers Check ov518 packet numbers to detect dropped packets. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 124cc9c0c8acc77ac2f1114ee7eea961334020ba Author: Hans de Goede Date: Sun Jun 14 05:48:00 2009 -0300 V4L/DVB (12074): gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 7d9713735d7537baf2b00be806a8de08a5c9f11b Author: Hans de Goede Date: Sun Jun 14 05:28:17 2009 -0300 V4L/DVB (12073): gspca_ov519: limit ov6630 qvif uv swap fix to ov66308AF The fix for the UV swapping in qcif mode with the ov6630, which I did to fix this issue on a ov518 cam with an ov66308AF, causes UV swapping in qcif with another cam of mine with the ov518 and an ov66308AE, so this patch changes the code to differentiate between the ov66308AF and other ov6630 versions, and restricts the UV swap fix to the ov66308AF. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 02ab18b0f497bed623814677577b76cc97234085 Author: Hans de Goede Date: Sun Jun 14 04:32:04 2009 -0300 V4L/DVB (12072): gspca-ov519: add extra controls This patch adds autobrightness (so that it can be turned off to make the already present brightness control work) and light frequency filtering controls. The lightfreq control needed 2 different entries in the ctrls array, as the number of options differs depending on the sensor. Always one of the 2 entires is disabled ofcourse. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b8bfb5fb348d939a96fc8f71996a2e5e48b4544b Author: Hans de Goede Date: Sat Jun 13 18:56:22 2009 -0300 V4L/DVB (12071): gspca: fix NULL pointer deref in query_ctrl gspca: fix NULL pointer deref in query_ctrl Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 14422f9dd8515bfbe6fdbde37eadf59e2980f104 Author: Mauro Carvalho Chehab Date: Tue Jun 16 23:55:44 2009 -0300 V4L/DVB (12010): cx88: Properly support Leadtek TV2000 XP Global Fix Leadtek TV2000 XP Global entries and add missing PCI ID's. Thanks to Terry Wu for pointing us for the proper settings. Cc: Terry Wu Signed-off-by: Mauro Carvalho Chehab commit e727f5cde90d5a8b92a1ffa49c636a3790301469 Author: Roland Dreier Date: Mon Jun 22 23:07:56 2009 -0700 mlx4_core: Fix dma_sync_single_for_cpu() with matching for_device() calls Commit 5d23a1d2 ("net: replace dma_sync_single with dma_sync_single_for_cpu") replaced uses of the deprectated function dma_sync_single() with calls to dma_sync_single_for_cpu(). However, to be correct, the code should do a sync for_cpu() before touching the memory and for_device() after it's done. Signed-off-by: Roland Dreier commit 99987bea474ceca8ec6fb05f81d7d188634cdffd Author: Roland Dreier Date: Mon Jun 22 23:04:13 2009 -0700 IB/mthca: Replace dma_sync_single() use with proper functions dma_sync_single() is deprecated now, and the use in mthca is wrong: there should be a dma_sync_single_for_cpu() before touching the memory from the CPU, and a dma_sync_single_for_device() afterwards. Fix this, prompted by a kick in the pants from a patch from FUJITA Tomonori . Signed-off-by: Roland Dreier commit 0d9e6659a1bde3733cfd0072adbb3514b579e383 Author: Tejun Heo Date: Thu Jun 11 11:04:45 2009 +0900 libata: don't set IORDY for reset Before issuing reset, libata configures xfermode to PIO0 which makes some drivers turn on IORDY which may cause the controller to lock up if the port is not occupied. IORDY isn't necessary at this point anyway. Make ata_pio_need_iordy() return zero if it's being called for reset. This fixes bko#11703. Reported and tracked down by Daniel Gnoutcheff and Constantine Gavrilov. Signed-off-by: Tejun Heo Reported-by: Daniel Gnoutcheff Cc: Constantine Gavrilov Cc: Alan Cox Signed-off-by: Jeff Garzik commit dc77ad4c8727d3a1c23eadcb287501dab480d634 Author: Dave Liu Date: Wed Jun 10 22:53:37 2009 -0500 sata_fsl: Add power mgmt support Signed-off-by: Dave Liu Signed-off-by: Liu Yu Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit 918d7b7c330f8afe18cb1b8692fc5f45a798634e Author: Sergey Matyukevich Date: Fri Jun 19 08:27:40 2009 +0400 [libata] PATA driver for CF interface on AT91SAM9260 SoC This patch provides PATA driver for CompactFlash interface in True IDE mode on AT91SAM9260 SoC. Signed-off-by: Sergey Matyukevich Signed-off-by: Jeff Garzik commit ad5d8eac91bb04533e49bbb6434791758300711d Author: Evgeni Golov Date: Mon Jun 22 09:46:20 2009 +0200 [libata] beautify module parameters 1. add defaults to description where possible 2. add value definition (off=0, on=1) where missing v2: reformatted as per request by Jeff Garzik "Enable foo (0=off, 1=on [default])" Signed-off-by: Evgeni Golov Signed-off-by: Jeff Garzik commit 68237a0ff84503270373c39229be83e865ea08d4 Author: Faisal Latif Date: Mon Jun 22 22:53:28 2009 -0700 RDMA/nes: Fix FIN state handling under error conditions During cluster testing, one QP was not closed, as FIN is not handled properly when its rexmit count expires or in some cases when RST is is received after sending FIN. The reason is that the cm_id does not get decremented under these conditions. Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit 66388d67a0d7bf39735650de54e42064d1af8b62 Author: Faisal Latif Date: Mon Jun 22 22:52:30 2009 -0700 RDMA/nes: Fix max_qp_init_rd_atom returned from query device In nes_query_device(), max_qp_init_rd_atom is incorrectly set to max_qp_wr. This was found when a test application had a dapl async event error. Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit af04662b4d80de5797a595bc9855d09ef4fe55cc Author: Roel Kluin Date: Mon Jun 22 22:23:48 2009 -0700 IB/ehca: Ensure that guid_entry index is not negative This prevents the memcpy() of a guid_entries element using a negative index. Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit 0cf89dcdbc53f2b43e4ce7419b6ff47f4309c2eb Author: Hannes Hering Date: Mon Jun 22 22:18:51 2009 -0700 IB/ehca: Tolerate dynamic memory operations before driver load Implement toleration of dynamic memory operations and 16 GB gigantic pages, where "toleration" means that the driver can cope with dynamic memory operations that happen before the driver is loaded. While the ehca driver is loaded, dynamic memory operations are still prohibited by returning NOTIFY_BAD from the memory notifier. On module load the driver walks through available system memory, checks for available memory ranges and then registers the kernel internal memory region accordingly. The translation of address ranges is implemented via a 3-level busmap. Signed-off-by: Hannes Hering Signed-off-by: Roland Dreier commit d888a4c76c51092993643f8992bf55b3c28da483 Merge: 687d680 42b86e0 Author: Linus Torvalds Date: Mon Jun 22 21:49:16 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (27 commits) Blackfin: fix dma-mapping build errors Blackfin: hook up new perf_counter_open syscall Blackfin: drop BF535-specific text for exception 0x2A (unaligned instruction) Blackfin: fix early crash when booting on wrong cpu Blackfin: fix GPTMR0_CLOCKSOURCE dependency on BFIN_GPTIMERS Blackfin: drop unused ISP1760 port1_disable from board resources Blackfin: bf526-ezbrd: handle different SDRAM chips Blackfin: fix typo in TRAS define in mem_init.h header Blackfin: unify memory map headers Blackfin: stick the CPU name into boot image name Blackfin: update defconfigs Blackfin: decouple unrelated cache settings to get exact behavior Blackfin: update I-pipe patch level Blackfin: remove obsolete mcount support from I-pipe code Blackfin: allow CONFIG_TICKSOURCE_GPTMR0 with interrupt pipeline Blackfin: convert interrupt pipeline to irqflags Blackfin: allow people to select BF51x-0.1 silicon rev Blackfin: bf526-ezbrd: set SPI flash resources to SST device Blackfin: fix accidental reset in some boot modes Blackfin: abstract irq14 lowering in do_irq ... commit 687d680985b1438360a9ba470ece8b57cd205c3b Merge: 1053414 008fe14 Author: Linus Torvalds Date: Mon Jun 22 21:38:22 2009 -0700 Merge git://git.infradead.org/~dwmw2/iommu-2.6.31 * git://git.infradead.org/~dwmw2/iommu-2.6.31: intel-iommu: Fix one last ia64 build problem in Pass Through Support VT-d: support the device IOTLB VT-d: cleanup iommu_flush_iotlb_psi and flush_unmaps VT-d: add device IOTLB invalidation support VT-d: parse ATSR in DMA Remapping Reporting Structure PCI: handle Virtual Function ATS enabling PCI: support the ATS capability intel-iommu: dmar_set_interrupt return error value intel-iommu: Tidy up iommu->gcmd handling intel-iommu: Fix tiny theoretical race in write-buffer flush. intel-iommu: Clean up handling of "caching mode" vs. IOTLB flushing. intel-iommu: Clean up handling of "caching mode" vs. context flushing. VT-d: fix invalid domain id for KVM context flush Fix !CONFIG_DMAR build failure introduced by Intel IOMMU Pass Through Support Intel IOMMU Pass Through Support Fix up trivial conflicts in drivers/pci/{intel-iommu.c,intr_remapping.c} commit 1053414068bad659479e6efa62a67403b8b1ec0a Merge: b88f8a5 0c53dec Author: Linus Torvalds Date: Mon Jun 22 21:29:52 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: new stack is no longer experimental firewire: net: better FIFO address range check and rcodes firewire: net: fix card driver reloading firewire: core: fix iso context shutdown on card removal firewire: core: fix DMA unmapping in iso buffer removal firewire: net: adjust net_device ops firewire: net: remove unused code firewire: net: allow for unordered unit discovery firewire: net: style changes firewire: net: add Kconfig item, rename driver firewire: add IPv4 support commit b88f8a546f5dba213938fdfc11e66bc5c2421623 Author: Trond Myklebust Date: Mon Jun 22 15:09:14 2009 -0400 NFS: Correct the NFS mount path when following a referral Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 0b75b35c7cad33e7613f5adf28fa10fe8b09b1c3 Author: Trond Myklebust Date: Mon Jun 22 15:09:14 2009 -0400 NFS: Fix nfs_path() to always return a '/' at the beginning of the path Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit c02d7adf8c5429727a98bad1d039bccad4c61c50 Author: Trond Myklebust Date: Mon Jun 22 15:09:14 2009 -0400 NFSv4: Replace nfs4_path_walk() with VFS path lookup in a private namespace As noted in the previous patch, the NFSv4 client mount code currently has several limitations. If the mount path contains symlinks, or referrals, or even if it just contains a '..', then the client code in nfs4_path_walk() will fail with an error. This patch replaces the nfs4_path_walk()-based lookup with a helper function that sets up a private namespace to represent the namespace on the server, then uses the ordinary VFS and NFS path lookup code to walk down the mount path in that namespace. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit cf8d2c11cb77f129675478792122f50827e5b0ae Author: Trond Myklebust Date: Mon Jun 22 15:09:13 2009 -0400 VFS: Add VFS helper functions for setting up private namespaces The purpose of this patch is to improve the remote mount path lookup support for distributed filesystems such as the NFSv4 client. When given a mount command of the form "mount server:/foo/bar /mnt", the NFSv4 client is required to look up the filehandle for "server:/", and then look up each component of the remote mount path "foo/bar" in order to find the directory that is actually going to be mounted on /mnt. Following that remote mount path may involve following symlinks, crossing server-side mount points and even following referrals to filesystem volumes on other servers. Since the standard VFS path lookup code already supports walking paths that contain all these features (using in-kernel automounts for following referrals) we would like to be able to reuse that rather than duplicate the full path traversal functionality in the NFSv4 client code. This patch therefore defines a VFS helper function create_mnt_ns(), that sets up a temporary filesystem namespace and attaches a root filesystem to it. It exports the create_mnt_ns() and put_mnt_ns() function for use by filesystem modules. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 616511d039af402670de8500d0e24495113a9cab Author: Trond Myklebust Date: Mon Jun 22 15:09:13 2009 -0400 VFS: Uninline the function put_mnt_ns() In order to allow modules to use it without having to export vfsmount_lock. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 31950eb66ff47c946fd9c65c2f8c94b6b7ba13fc Author: Linus Torvalds Date: Mon Jun 22 21:18:12 2009 -0700 mm/init: cpu_hotplug_init() must be initialized before SLAB SLAB uses get/put_online_cpus() which use a mutex which is itself only initialized when cpu_hotplug_init() is called. Currently we hang suring boot in SLAB due to doing that too late. Reported by James Bottomley and Sachin Sant (and possibly others). Debugged by Benjamin Herrenschmidt. This just removes the dynamic initialization of the data structures, and replaces it with a static one, avoiding this dependency entirely, and removing one unnecessary special initcall. Tested-by: Sachin Sant Tested-by: James Bottomley Tested-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 56d21b07d44e0a33ab846f4f08e9e33bd87e5d4b Author: Zhenyu Wang Date: Wed Jun 17 09:43:25 2009 +0800 drm/i915: Fix HDMI regression introduced in new chipset support Remove wrongly added NULL_PACKETS_DURING_VSYNC setting for HDMI. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 1b16de0b070dc6fa29b7a99980eabe3325ee5983 Author: Jesse Barnes Date: Mon Jun 22 11:30:30 2009 -0700 drm/i915: fix LFP data fetch Apparently the proper way to do this is to use the LFP data pointer block to figure out the LFP data block entry size, then use that plus the panel index to calculate an offset into the LFP data block array. Similar fix has already been pushed to the 2D driver to fix fdo bug applied to the VBIOS reader, and things look sane). Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 8ed9a5bc9c9425ef93a1b03b418300a5e18b2361 Author: ling.ma@intel.com Date: Mon Jun 22 22:08:35 2009 +0800 drm/i915: set TV detection mode when tv is already connected We used load_detect_temp flag to determine whether to set tv to the test mode. However if the TV already has a mode set, we still need to set the test mode to determine connection. This results in blinking, but there is no other reliable way to determine TV connection. freedesktop.org bug #22035 Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit 921809a5831821eaf86e799c4b3d7c666ee352b1 Author: Krzysztof Halasa Date: Fri Jun 19 22:35:09 2009 +0200 drm/i915: Catch up to obj_priv->page_list rename in disabled debug code. Signed-off-by: Krzysztof Halasa Signed-off-by: Eric Anholt commit cfd43c025ddef0b1c723bb9811d2bde52b285710 Author: Krzysztof Halasa Date: Sat Jun 20 00:31:28 2009 +0200 drm/i915: Fix size_t handling in off-by-default debug printfs Signed-off-by: Krzysztof Halasa Signed-off-by: Eric Anholt commit aa0261f230105b86409e29bbe851b09830d93d50 Author: Zhao Yakui Date: Mon Jun 22 15:31:26 2009 +0800 drm/i915: Don't change the blank/sync width when calculating scaled modes Also, use the border instead of border minus one. At the same time, make sure the horizontal border and hsync are even for the LVDS that works in dual-channel mode. So both horizontal border and hsync start are also changed to be even, even for the LVDS in single-channel mode. https://bugs.freedesktop.org/show_bug.cgi?id=20951 Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 3fbe18d65d66054667aaee849bed74674bb50062 Author: Zhao Yakui Date: Mon Jun 22 15:31:25 2009 +0800 drm/i915: Add support for changing LVDS panel fitting using an output property. Previously the driver would always scale the chosen video mode to fill the panel. This adds 1:1 and maintain-aspect-ratio scaling modes. v2: the drm_calloc/drm_free is replaced by kzalloc/kfree based on Eric's suggestion. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 42b86e06c7db365f1947dda9b75317cbb3c9fb5b Author: FUJITA Tomonori Date: Mon Jun 22 21:48:37 2009 -0400 Blackfin: fix dma-mapping build errors The recent deprecation of dma_sync_{sg,single} ironically broke Blackfin systems. This is because we don't define dma_sync_sg_for_cpu at all, so until the DMA asm-generic conversion/cleanup is done after the next release, simply stub out the dma_sync_sg_for_{cpu,device} functions. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Frysinger commit 9e06dd39f2b6d7e35981e0d7aded618686b32ccb Author: Jesse Barnes Date: Mon Jun 22 18:05:12 2009 -0700 drm/i915: correct suspend/resume ordering We need to save register state *after* idling GEM, clearing the ring, and uninstalling the IRQ handler, or we might end up saving bogus fence regs, for one. Our restore ordering should already be correct, since we do GEM, ring and IRQ init after restoring the last register state, which prevents us from clobbering things. I put this together to potentially address a bug, but I haven't heard back if it fixes it yet. However I think it stands on its own, so I'm sending it in. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 5ecf3e03cd513e8dba080d389b56bac11a2b0d8a Author: Mike Frysinger Date: Fri Jun 19 18:56:57 2009 -0400 Blackfin: hook up new perf_counter_open syscall Signed-off-by: Mike Frysinger commit 986d6c1e05642edac81cb8cc99f36a26d16ef220 Author: Yi Li Date: Fri Jun 19 08:51:11 2009 +0000 Blackfin: drop BF535-specific text for exception 0x2A (unaligned instruction) We don't support the BF535 at all, and the exception 0x2A text specific to it is pretty verbose and confusing (since the behavior is simply odd), so punt it to keep the noise down. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit bd854c077e660b5f44b5049219645042bcba61ac Author: Robin Getz Date: Thu Jun 18 22:53:43 2009 +0000 Blackfin: fix early crash when booting on wrong cpu Make sure we process the kernel command line before poking the hardware, so that we can process early printk. This helps ensure that if you boot a kernel configured for a different processor, something will be left in the log buffer. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 3aca47c02097a78a566f67e7ec5fa3e0f2583a73 Author: Mike Frysinger Date: Thu Jun 18 19:40:47 2009 +0000 Blackfin: fix GPTMR0_CLOCKSOURCE dependency on BFIN_GPTIMERS The GPTMR0_CLOCKSOURCE Kconfig option requires the gptimers framework, so make sure it is selected when this option is enabled. Reported-by: Peter Meerwald Signed-off-by: Mike Frysinger commit 3a7f5b1605570f5259e71d1846be27588a00bbaf Author: Mike Frysinger Date: Thu Jun 18 19:13:03 2009 +0000 Blackfin: drop unused ISP1760 port1_disable from board resources The port1 disable stuff was dropped from the USB ISP1760, so update the Blackfin boards accordingly. Signed-off-by: Mike Frysinger commit ee48efb5dc45aeb9786dea6469d3e1bea5105036 Author: Graf Yang Date: Thu Jun 18 04:32:04 2009 +0000 Blackfin: bf526-ezbrd: handle different SDRAM chips The BF526-EZBRD changed SDRAM chips between board revisions, so create a timing table that can accommodate both. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 8f580f7c82ed9edeb3629568aabcde2caff3f236 Author: Graf Yang Date: Thu Jun 18 04:21:39 2009 +0000 Blackfin: fix typo in TRAS define in mem_init.h header We defined SDRAM_tRAS to TRAS_4, but then wrongly defined SDRAM_tRAS_num to 3. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit fa48f84a8cc722ca48b32fa0c338b6c3b358717d Author: Mike Frysinger Date: Wed Jun 17 11:25:06 2009 -0400 Blackfin: unify memory map headers Many aspects of the Blackfin memory map is exactly the same across all variants. Rather than copy and paste all of these duplicated values in each header, unify all of these into the common Blackfin memory map header file. In the process, push down BF561 SMP specific stuff to the BF561 specific header to keep the noise down. Signed-off-by: Mike Frysinger commit 985895bd8d1e41079b41da32cdc57876a4a74126 Author: Robin Getz Date: Wed Jun 17 08:12:54 2009 -0400 Blackfin: stick the CPU name into boot image name Rather than use "Linux" in the boot image name (as this is redundant -- the image type is already set to "linux"), use the CPU name. This makes it fairly obvious when a wrong image is accidentally booted. Otherwise there is no kernel output and you waste time scratching your head wondering wtf just happened. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 841a534367c2cfdc325a11958c51406da17686c7 Author: Mike Frysinger Date: Wed Jun 17 07:11:42 2009 +0000 Blackfin: update defconfigs Signed-off-by: Mike Frysinger commit 41ba653f24a39a0e6a4afe9b2763a95a57e042c2 Author: Jie Zhang Date: Tue Jun 16 09:48:33 2009 +0000 Blackfin: decouple unrelated cache settings to get exact behavior The current cache options don't really represent the hardware features. They end up setting different aspects of the hardware so that the end result is to turn on/off the cache. Unfortunately, when we hit cache problems with the hardware, it's difficult to test different settings to root cause the problem. The current settings also don't cleanly allow for different caching behaviors with different regions of memory. So split the configure options such that they properly reflect the settings that are applied to the hardware. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger commit 7c039a90f02c3fdcab8d3ca170c05ad37014189e Author: Philippe Gerum Date: Tue Jun 16 05:25:54 2009 +0200 Blackfin: update I-pipe patch level Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 5ba3b249c9e08100b0822f17276348b3447d6ee3 Author: Philippe Gerum Date: Tue Jun 16 05:25:50 2009 +0200 Blackfin: remove obsolete mcount support from I-pipe code Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit a40494a62a11dbaf326397aa94b2018ead09884d Author: Philippe Gerum Date: Tue Jun 16 05:25:42 2009 +0200 Blackfin: allow CONFIG_TICKSOURCE_GPTMR0 with interrupt pipeline Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 06ecc190f3928850cb77c498f745fc8e9a7e2fd7 Author: Philippe Gerum Date: Tue Jun 16 05:25:37 2009 +0200 Blackfin: convert interrupt pipeline to irqflags Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 3d15f302d089d0583463745cbece077c1e8294b1 Author: Mike Frysinger Date: Mon Jun 15 16:21:44 2009 +0000 Blackfin: allow people to select BF51x-0.1 silicon rev Now that 0.1 of the BF51x is coming out, allow people to build for it. Signed-off-by: Mike Frysinger commit dc2c46bb702629d20a3786e10b540c7dcf2c017f Author: Graf Yang Date: Mon Jun 15 08:23:41 2009 +0000 Blackfin: bf526-ezbrd: set SPI flash resources to SST device The BF526-EZBRD has a SST SPI flash on it, not a ST Micro. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 0de4adfb8c9674fa1572b0ff1371acc94b0be901 Author: Sonic Zhang Date: Mon Jun 15 07:39:19 2009 +0000 Blackfin: fix accidental reset in some boot modes We read the SWRST (Software Reset) register to get at the last reset state, and then we may configure the DOUBLE_FAULT bit to control behavior when a double fault occurs. But if the lower bits of the register is already set (like UART boot mode on a BF54x), we inadvertently make the system reset by writing to the SYSTEM_RESET field at the same time. So make sure the lower 4 bits are always cleared. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 81b79c213d0200fdd16951a9fb18748fd511d810 Author: Mike Frysinger Date: Mon Jun 15 06:22:08 2009 -0400 Blackfin: abstract irq14 lowering in do_irq Split out the optional IRQ14 lowering code to further simplify the asm_do_IRQ() function and keep the ifdef nest under control. Signed-off-by: Mike Frysinger commit 6f10fdabdce356aac3c948e659f39b6f1e2f7382 Author: Mike Frysinger Date: Mon Jun 15 06:18:38 2009 -0400 Blackfin: simplify irq stack overflow checking Take a page from x86 and abstract the stack checking out of the asm_do_IRQ() function so that the result is easier to digest. Signed-off-by: Mike Frysinger commit 46f288a0f983401ebadb918751d342cbf819cde5 Author: Mike Frysinger Date: Mon Jun 15 06:13:58 2009 -0400 Blackfin: only build show_interrupts() when procfs is enabled Signed-off-by: Mike Frysinger commit 26579216f3cdf1ae05f0af8412b444870a167510 Author: Mike Frysinger Date: Mon Jun 15 06:10:03 2009 -0400 Blackfin: redo handling of bad irqs With the common IRQ code initializing much more of the irq_desc state, we can't blindly initialize it ourselves to the local bad_irq state. If we do, we end up wrongly clobbering many fields. So punt most of the bad irq code as the common layers will handle the default state, and simply call handle_bad_irq() directly when the IRQ we are processing is invalid. Signed-off-by: Mike Frysinger commit a200ad22bb15fe01cf222fa631687876baad5e01 Author: Mike Frysinger Date: Sat Jun 13 06:37:14 2009 -0400 Blackfin: update anomaly lists Update anomaly headers to match latest released anomaly sheets. Signed-off-by: Mike Frysinger commit 4d5e6fd42c137dad3b1aced073c6fcb494a8e507 Author: Mike Frysinger Date: Sat Jun 13 06:34:49 2009 -0400 Blackfin: bf533-ezkit: add resources for FISP devices The BF533-EZKIT has two Flash In-System Programming devices hooked up to the async memory bus, so add resources for the primary flashes and the SRAMs on the devices. Signed-off-by: Mike Frysinger commit 2780cd64346782a6116e316c559d70a7655ab6e5 Author: Mike Frysinger Date: Thu Jun 11 09:22:02 2009 -0400 Blackfin: bf518f-ezbrd: update DSA resources The common DSA code changed structure layout, so update the BF518F-EZBRD resources accordingly. Signed-off-by: Mike Frysinger commit e56e03b0cfeb997a4be9ad874c193824364942e0 Author: Mike Frysinger Date: Sun Jun 7 16:31:52 2009 -0400 Blackfin: unify memory region checks between kgdb and traps The kgdb (in multiple places) and traps code developed pretty much identical checks for how to access different regions of the Blackfin memory map, but each wasn't 100%, so unify them to avoid duplication, bitrot, and bugs with edge cases. Signed-off-by: Mike Frysinger commit 4839641333d4593bfc4fb29aa3af10d36f607d5b Author: David Woodhouse Date: Tue Jun 23 01:34:19 2009 +0100 jffs2: fix another potential leak on error path in scan.c Signed-off-by: David Woodhouse commit ac1b7c378ef26fba6694d5f118fe7fc16fee2fe2 Merge: 9e268be c90173f Author: Linus Torvalds Date: Mon Jun 22 16:56:22 2009 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (63 commits) mtd: OneNAND: Allow setting of boundary information when built as module jffs2: leaking jffs2_summary in function jffs2_scan_medium mtd: nand: Fix memory leak on txx9ndfmc probe failure. mtd: orion_nand: use burst reads with double word accesses mtd/nand: s3c6400 support for s3c2410 driver [MTD] [NAND] S3C2410: Use DIV_ROUND_UP [MTD] [NAND] S3C2410: Deal with unaligned lengths in S3C2440 buffer read/write [MTD] [NAND] S3C2410: Allow the machine code to get the BBT table from NAND [MTD] [NAND] S3C2410: Added a kerneldoc for s3c2410_nand_set mtd: physmap_of: Add multiple regions and concatenation support mtd: nand: max_retries off by one in mxc_nand mtd: nand: s3c2410_nand_setrate(): use correct macros for 2412/2440 mtd: onenand: add bbt_wait & unlock_all as replaceable for some platform mtd: Flex-OneNAND support mtd: nand: add OMAP2/OMAP3 NAND driver mtd: maps: Blackfin async: fix memory leaks in probe/remove funcs mtd: uclinux: mark local stuff static mtd: uclinux: do not allow to be built as a module mtd: uclinux: allow systems to override map addr/size mtd: blackfin NFC: fix hang when using NAND on BF527-EZKITs ... commit 9e268beb92ee3a853b3946e84b10358207e2085f Merge: 2e8b5a0 9ccdac3 Author: Linus Torvalds Date: Mon Jun 22 14:56:13 2009 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (49 commits) [ARM] idle: clean up pm_idle calling, obey hlt_counter [ARM] S3C: Fix gpio-config off-by-one bug [ARM] S3C64XX: add to_irq() support for EINT() GPIO [ARM] S3C64XX: clock.c: fix typo in usb-host clock ctrlbit [ARM] S3C64XX: fix HCLK gate defines [ARM] Update mach-types [ARM] wire up rt_tgsigqueueinfo and perf_counter_open OMAP2 clock/powerdomain: off by 1 error in loop timeout comparisons OMAP3 SDRC: set FIXEDDELAY when disabling SDRC DLL OMAP3: Add support for DPLL3 divisor values higher than 2 OMAP3 SRAM: convert SRAM code to use macros rather than magic numbers OMAP3 SRAM: add more comments on the SRAM code OMAP3 clock/SDRC: program SDRC_MR register during SDRC clock change OMAP3 clock: add a short delay when lowering CORE clk rate OMAP3 clock: initialize SDRC timings at kernel start OMAP3 clock: remove wait for DPLL3 M2 clock to stabilize [ARM] Add old Feroceon support to compressed/head.S [ARM] 5559/1: Limit the stack unwinding caused by a kthread exit [ARM] 5558/1: Add extra checks to ARM unwinder to avoid tracing corrupt stacks [ARM] 5557/1: Discard some ARM.ex*.*exit.text sections when !HOTPLUG or !HOTPLUG_CPU ... commit 9ccdac3662dbf3c75e8f8851a214bdf7d365a4bd Author: Russell King Date: Mon Jun 22 22:34:55 2009 +0100 [ARM] idle: clean up pm_idle calling, obey hlt_counter pm_idle is used by infrastructure (eg, cpuidle) which expects architectures to call it in a certain way. Arrange for ARM to follow x86's lead on this and call pm_idle() with interrupts already disabled. However, we expect pm_idle() to enable interrupts before it returns. Also, OMAP wants to be able to disable hlt-ing, so allow hlt_counter to prevent all calls to pm_idle. Signed-off-by: Russell King commit d246ab307d1d003c80fe279897dea22bf52b6e41 Author: Tao Ma Date: Thu Jun 18 13:12:06 2009 +0800 ocfs2/trivial: Wrap ocfs2_sysfile_cluster_lock_key within define. Actually ocfs2_sysfile_cluster_lock_key is only used if we enable CONFIG_DEBUG_LOCK_ALLOC. Wrap it so that we can avoid a building warning. fs/ocfs2/sysfile.c:53: warning: ‘ocfs2_sysfile_cluster_lock_key’ defined but not used Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit cb25797d451dc774d9dbc402a65f16a0e32199fe Author: Jan Kara Date: Thu Jun 4 15:26:50 2009 +0200 ocfs2: Add lockdep annotations Add lockdep support to OCFS2. The support also covers all of the cluster locks except for open locks, journal locks, and local quotafile locks. These are special because they are acquired for a node, not for a particular process and lockdep cannot deal with such type of locking. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 9a7aa12f3911853a3574d47d567b81a2a5df7208 Author: Jan Kara Date: Thu Jun 4 15:26:49 2009 +0200 vfs: Set special lockdep map for dirs only if not set by fs Some filesystems need to set lockdep map for i_mutex differently for different directories. For example OCFS2 has system directories (for orphan inode tracking and for gathering all system files like journal or quota files into a single place) which have different locking locking rules than standard directories. For a filesystem setting lockdep map is naturaly done when the inode is read but we have to modify unlock_new_inode() not to overwrite the lockdep map the filesystem has set. Acked-by: peterz@infradead.org CC: mingo@redhat.com Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit df152c241df9e9d2b9a65d37bd02961abe7f591a Author: Sunil Mushran Date: Mon Jun 22 11:40:07 2009 -0700 ocfs2: Disable orphan scanning for local and hard-ro mounts Local and Hard-RO mounts do not need orphan scanning. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 3211949f8998dde71d9fe2e063de045ece5e0473 Author: Sunil Mushran Date: Fri Jun 19 16:53:18 2009 -0700 ocfs2: Do not initialize lvb in ocfs2_orphan_scan_lock_res_init() We don't access the LVB in our ocfs2_*_lock_res_init() functions. Since the LVB can become invalid during some cluster recovery operations, the dlmglue must be able to handle an uninitialized LVB. For the orphan scan lock, we initialized an uninitialzed LVB with our scan sequence number plus one. This starts a normal orphan scan cycle. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 692684e19e317a374c18e70a44d6413e51f71c11 Author: Sunil Mushran Date: Fri Jun 19 16:53:17 2009 -0700 ocfs2: Stop orphan scan as early as possible during umount Currently if the orphan scan fires a tick before the user issues the umount, the umount will wait for the queued orphan scan tasks to complete. This patch makes the umount stop the orphan scan as early as possible so as to reduce the probability of the queued tasks slowing down the umount. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit c3d38840abaa45c1c5a5fabbb8ffc9a0d1a764d1 Author: Sunil Mushran Date: Fri Jun 19 14:45:55 2009 -0700 ocfs2: Fix ocfs2_osb_dump() Skip printing information that is not valid for local mounts. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 94e41ecfe0f202df948fdbb19a53308a58cf2184 Author: Sunil Mushran Date: Fri Jun 19 14:45:54 2009 -0700 ocfs2: Pin journal head before accessing jh->b_committed_data This patch adds jbd_lock_bh_state() and jbd_unlock_bh_state() around accessses to jh->b_committed_data. Fixes oss bugzilla#1131 http://oss.oracle.com/bugzilla/show_bug.cgi?id=1131 Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 1962f39abbb2d5643a7d59169422661a2d58793d Author: Tao Ma Date: Fri Jun 19 15:36:52 2009 +0800 ocfs2: Update atime in splice read if necessary. We should call ocfs2_inode_lock_atime instead of ocfs2_inode_lock in ocfs2_file_splice_read like we do in ocfs2_file_aio_read so that we can update atime in splice read if necessary. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 1c520dfbf391e1617ef61553f815b8006a066c44 Author: Joel Becker Date: Fri Jun 19 15:14:13 2009 -0700 ocfs2: Provide the ocfs2_dlm_lvb_valid() stack API. The Lock Value Block (LVB) of a DLM lock can be lost when nodes die and the DLM cannot reconstruct its state. Clients of the DLM need to know this. ocfs2's internal DLM, o2dlm, explicitly zeroes out the LVB when it loses track of the state. This is not a standard behavior, but ocfs2 has always relied on it. Thus, an o2dlm LVB is always "valid". ocfs2 now supports both o2dlm and fs/dlm via the stack glue. When fs/dlm loses track of an LVBs state, it sets a flag (DLM_SBF_VALNOTVALID) on the Lock Status Block (LKSB). The contents of the LVB may be garbage or merely stale. ocfs2 doesn't want to try to guess at the validity of the stale LVB. Instead, it should be checking the VALNOTVALID flag. As this is the 'standard' way of treating LVBs, we will promote this behavior. We add a stack glue API ocfs2_dlm_lvb_valid(). It returns non-zero when the LVB is valid. o2dlm will always return valid, while fs/dlm will check VALNOTVALID. Signed-off-by: Joel Becker Acked-by: Mark Fasheh commit 2e8b5a09ebf1f98f02c1988a48415e89d4c25168 Author: David Howells Date: Mon Jun 22 15:32:36 2009 +0100 MN10300: Fix the vmlinux ldscript Fix the MN10300 vmlinux ldscript. It needs to use various macros from asm-generic/vmlinux.lds.h to correctly include all that it needs to. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit eadfe21989d728b5af936487627b4e288bd805f8 Author: David Howells Date: Mon Jun 22 15:32:31 2009 +0100 LDSCRIPT: Name INIT_RAM_FS consistently In asm-generic/vmlinux.lds.h, name INIT_RAM_FS consistently, no matter the setting of CONFIG_BLK_DEV_INITRD. This corrects: commit ef53dae8658cf0e93d380983824a661067948d87 Author: Sam Ravnborg Date: Sun Jun 7 20:46:37 2009 +0200 Subject: Improve vmlinux.lds.h support for arch specific linker scripts Signed-off-by: David Howells Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit 7e0338c0de18c50f09aea1fbef45110cf7d64a3c Merge: df36b43 47fcb03 Author: Linus Torvalds Date: Mon Jun 22 12:55:50 2009 -0700 Merge branch 'for-2.6.31' of git://fieldses.org/git/linux-nfsd * 'for-2.6.31' of git://fieldses.org/git/linux-nfsd: (60 commits) SUNRPC: Fix the TCP server's send buffer accounting nfsd41: Backchannel: minorversion support for the back channel nfsd41: Backchannel: cleanup nfs4.0 callback encode routines nfsd41: Remove ip address collision detection case nfsd: optimise the starting of zero threads when none are running. nfsd: don't take nfsd_mutex twice when setting number of threads. nfsd41: sanity check client drc maxreqs nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct NFS: kill off complicated macro 'PROC' sunrpc: potential memory leak in function rdma_read_xdr nfsd: minor nfsd_vfs_write cleanup nfsd: Pull write-gathering code out of nfsd_vfs_write nfsd: track last inode only in use_wgather case sunrpc: align cache_clean work's timer nfsd: Use write gathering only with NFSv2 NFSv4: kill off complicated macro 'PROC' NFSv4: do exact check about attribute specified knfsd: remove unreported filehandle stats counters knfsd: fix reply cache memory corruption knfsd: reply cache cleanups ... commit df36b439c5fedefe013d4449cb6a50d15e2f4d70 Merge: a9b011f e9f0298 Author: Linus Torvalds Date: Mon Jun 22 12:53:06 2009 -0700 Merge branch 'for-2.6.31' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'for-2.6.31' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (128 commits) nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh() nfs41: Move initialization of nfs4_opendata seq_res to nfs4_init_opendata_res nfs: remove unnecessary NFS_INO_INVALID_ACL checks NFS: More "sloppy" parsing problems NFS: Invalid mount option values should always fail, even with "sloppy" NFS: Remove unused XDR decoder functions NFS: Update MNT and MNT3 reply decoding functions NFS: add XDR decoder for mountd version 3 auth-flavor lists NFS: add new file handle decoders to in-kernel mountd client NFS: Add separate mountd status code decoders for each mountd version NFS: remove unused function in fs/nfs/mount_clnt.c NFS: Use xdr_stream-based XDR encoder for MNT's dirpath argument NFS: Clean up MNT program definitions lockd: Don't bother with RPC ping for NSM upcalls lockd: Update NSM state from SM_MON replies NFS: Fix false error return from nfs_callback_up() if ipv6.ko is not available NFS: Return error code from nfs_callback_up() to user space NFS: Do not display the setting of the "intr" mount option NFS: add support for splice writes nfs41: Backchannel: CB_SEQUENCE validation ... commit a9b011f5ac57cbaedb32a8149f3d39d7b2c1f0e0 Merge: b5bdd43 da6330f Author: Linus Torvalds Date: Mon Jun 22 12:51:28 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (22 commits) [S390] Update default configuration. [S390] kprobes: defer setting of ctlblk state [S390] Enable tick based perf_counter on s390. [S390] dasd: fix refcounting in dasd_change_state [S390] lockless idle time accounting [S390] driver_data access [S390] pm: fix build error for !SMP [S390] dasd_pm: fix stop flag handling [S390] ap/zcrypt: Suspend/Resume ap bus and zcrypt [S390] qdio: Sanitize do_QDIO sanity checks [S390] qdio: leave inbound SBALs primed [S390] qdio: merge AI tasklet into interrupt handler [S390] qdio: extract all primed SBALs at once [S390] qdio: fix check for running under z/VM [S390] qdio: move adapter interrupt tasklet code [S390] Use del_timer instead of del_timer_sync [S390] s390: remove DEBUG_MALLOC [S390] vt220 console: convert from bootmem to slab [S390] sclp console: convert from bootmem to slab [S390] 3270 console: convert from bootmem to slab ... commit b5bdd43876e475724c662f99206f0349c67e33e6 Merge: f39cf0b dc1972d Author: Linus Torvalds Date: Mon Jun 22 12:44:14 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c: Fix stuck transaction on cpm-i2c driver i2c-omap: Fix build breaking typo cpu_is_omap_2430 commit f39cf0b783b3f402ddf1eb6a09234b5bfe34bb2a Merge: 59ef7a8 aafd125 Author: Linus Torvalds Date: Mon Jun 22 12:38:31 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: xtensa: enable m41t80 driver in s6105_defconfig xtensa: add m41t62 rtc to s6105 platform xtensa: enable s6gmac in s6105_defconfig xtensa: s6105 specific configuration for s6gmac s6gmac: xtensa s6000 on-chip ethernet driver xtensa: support s6000 gpio irqs and alternate function selection xtensa: s6000 dma engine support xtensa: allow variant to initialize own irq chips xtensa: cache inquiry and unaligned cache handling functions commit 59ef7a83f1127038a433464597df02e2dc9540e7 Merge: 5165aec 2af5066 Author: Linus Torvalds Date: Mon Jun 22 11:59:51 2009 -0700 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (74 commits) PCI: make msi_free_irqs() to use msix_mask_irq() instead of open coded write PCI: Fix the NIU MSI-X problem in a better way PCI ASPM: remove get_root_port_link PCI ASPM: cleanup pcie_aspm_sanity_check PCI ASPM: remove has_switch field PCI ASPM: cleanup calc_Lx_latency PCI ASPM: cleanup pcie_aspm_get_cap_device PCI ASPM: cleanup clkpm checks PCI ASPM: cleanup __pcie_aspm_check_state_one PCI ASPM: cleanup initialization PCI ASPM: cleanup change input argument of aspm functions PCI ASPM: cleanup misc in struct pcie_link_state PCI ASPM: cleanup clkpm state in struct pcie_link_state PCI ASPM: cleanup latency field in struct pcie_link_state PCI ASPM: cleanup aspm state field in struct pcie_link_state PCI ASPM: fix typo in struct pcie_link_state PCI: drivers/pci/slot.c should depend on CONFIG_SYSFS PCI: remove redundant __msi_set_enable() PCI PM: consistently use type bool for wake enable variable x86/ACPI: Correct maximum allowed _CRS returned resources and warn if exceeded ... commit 5165aece0efac6574fc3e32b6f1c2a964820d1c6 Merge: e38be99 f6b24ca Author: Linus Torvalds Date: Mon Jun 22 11:57:09 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (43 commits) via-velocity: Fix velocity driver unmapping incorrect size. mlx4_en: Remove redundant refill code on RX mlx4_en: Removed redundant check on lso header size mlx4_en: Cancel port_up check in transmit function mlx4_en: using stop/start_all_queues mlx4_en: Removed redundant skb->len check mlx4_en: Counting all the dropped packets on the TX side usbnet cdc_subset: fix issues talking to PXA gadgets Net: qla3xxx, remove sleeping in atomic ipv4: fix NULL pointer + success return in route lookup path isdn: clean up documentation index cfg80211: validate station settings cfg80211: allow setting station parameters in mesh cfg80211: allow adding/deleting stations on mesh ath5k: fix beacon_int handling MAINTAINERS: Fix Atheros pattern paths ath9k: restore PS mode, before we put the chip into FULL SLEEP state. ath9k: wait for beacon frame along with CAB acer-wmi: fix rfkill conversion ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling ... commit e38be994b9cad09b0d8d78a1875d7e8a2e115d29 Author: Hitoshi Mitake Date: Mon Jun 22 11:11:20 2009 +0900 Making fs/minix/minix.h double including safe I happened to find that fs/minix/minix.h doesn't guard double include. Yes, I know this never cause something destructive because this is self-evidence that no source file includes minix.h twice, but I think fixing this is better than disregarding it. Signed-off-by: Hitoshi Mitake Signed-off-by: Linus Torvalds commit 44da59e4006fbf7c4cc9b54485a37a40726091ee Author: Alan Cox Date: Mon Jun 22 18:43:18 2009 +0100 msm: fixups to match current code The tty layer is now a bit more fussy about reporting the right baud rate back. Make the msm driver match the current state of affairs. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 04896a77a97b87e1611dedd61be88264ef4ac96c Author: Robert Love Date: Mon Jun 22 18:43:11 2009 +0100 msm_serial: serial driver for MSM7K onboard serial peripheral. Signed-off-by: Brian Swetland Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2421c48bd74debb537de94c1bd15cbabab272aa1 Author: Richard Röjfors Date: Mon Jun 22 18:43:03 2009 +0100 timbuart: Fix for tx_empty Hardware updated to support TX FIFO empty. Signed-off-by: Richard Röjfors Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit be10eb7589337e5defbe214dae038a53dd21add8 Author: Paul Fulghum Date: Mon Jun 22 18:42:56 2009 +0100 tty: n_hdlc add buffer flushing Add flush_buffer tty callback to flush rx buffers. Add TCFLSH ioctl processing to flush tx buffers. Increase default tx buffers from 1 to 3. Remove unneeded flush_buffer call in open callback. Remove vendor specific CVS version string. Signed-off-by: Paul Fulghum Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 90ceb9644d7cdec00a90255473359a7e2bb537a9 Author: Peter Korsgaard Date: Mon Jun 22 18:42:49 2009 +0100 serial: samsung.c: mark s3c24xx_serial_remove as __devexit Mark the remove function as __devexit so it gets eliminated in CONFIG_HOTPLUG=n builds. Saves ~100 bytes. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 099d5270897606473d63091afcc63f53ee1894bc Author: Kevin Hilman Date: Mon Jun 22 18:42:42 2009 +0100 serial@ add OMAP wakeup-enable register Add the wakeup enable register to the list of OMAP-specific UART registers. This is to support forthcoming OMAP PM enhancements which use the wakeup feature of the OMAP's 8250-based UART. Signed-off-by: Kevin Hilman Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 94362fd7fbad653c9517efa4aa7cd8fdadd527b1 Author: Alan Cox Date: Mon Jun 22 18:42:36 2009 +0100 tty: fix some bogns in the serqt_usb2 driver Remove the replicated urban legends from the comments and fix a couple of other silly calls Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a6540f731d506d9e82444cf0020e716613d4c46c Author: Alan Cox Date: Mon Jun 22 18:42:29 2009 +0100 ppp: Fix throttling bugs The ppp layer goes around calling the unthrottle method from non sleeping paths. This isn't safe because the unthrottle methods in the tty layer need to be able to sleep (consider a USB dongle). Until now this didn't show up because the ppp layer never actually throttled a port so the unthrottle was always a no-op. Currently it's a mutex taking path so warnings are spewed if the unthrottle occurs via certain paths. Fix this by removing the unneccessary unthrottle calls. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a115902f67ef51fbbe83e214fb761aaa9734c1ce Author: Jiri Slaby Date: Mon Jun 22 18:42:18 2009 +0100 vt_ioctl: fix lock imbalance Don't return from switch/case directly in vt_ioctl. Set ret and break instead so that we unlock BKL. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 69ae59d7d8df14413cf0a97b3e372d7dc8352563 Author: Jiri Slaby Date: Mon Jun 22 18:42:10 2009 +0100 pcmcia/cm4000: fix lock imbalance Don't return from switch/case, break instead, so that we unlock BKL. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit eca41044268887838fa122aa24475df8f23d614c Author: Jiri Slaby Date: Mon Jun 22 18:42:03 2009 +0100 n_r3964: fix lock imbalance There is omitted BKunL in r3964_read. Centralize the paths to one point with one unlock. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 52e3632ea603ef92757d5d0dedcd9fc8643445e3 Author: Roel Kluin Date: Mon Jun 22 18:41:56 2009 +0100 serial: fix off by one errors In zs_console_putchar() occurs: if (zs_transmit_drain(zport, irq)) write_zsdata(zport, ch); However if in zs_transmit_drain() no empty Tx Buffer occurs, limit reaches -1 => true, and the write still occurs. This patch changes postfix to prefix decrements in this and similar functions to prevent similar mistakes in the future. This decreases the iterations with one but the chosen loop count was arbitrary anyway. In sunhv limit reaches -1, not 0, so the test is off by one. Signed-off-by: Roel Kluin Acked-by: David S. Miller Acked-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 607c268ef9a4675287e77f732071e426e62c2d86 Author: Mike Frysinger Date: Mon Jun 22 18:41:47 2009 +0100 serial: bfin_5xx: fix building as module when early printk is enabled Since early printk only makes sense/works when the serial driver is built into the kernel, disable the option for this driver when it is going to be built as a module. Otherwise we get build failures due to the ifdef handling. Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9c529a3d76dffae943868ebad07b042d15764712 Author: Mike Frysinger Date: Mon Jun 22 18:37:24 2009 +0100 serial: bfin_5xx: add missing spin_lock init The Blackfin serial driver never initialized the spin_lock that is part of the serial core structure, but we never noticed because spin_lock's are rarely enabled on UP systems. Yeah lockdep and friends. Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 56578abfd16a1a7554f64000d5fc0a377d4dda6a Author: Mike Frysinger Date: Mon Jun 22 18:31:10 2009 +0100 bfin_jtag_comm: clean up printk usage The original patch garned some feedback and a v2 was posted, but that version seems to have been missed when merging the driver. At any rate, this cleans up the printk usage as suggested by Jiri Slaby. Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit dfa7c4d869b7d3d37b70f1de856f2901b6ebfcf0 Author: FUJITA Tomonori Date: Mon Jun 22 16:54:27 2009 +0100 parport_pc: set properly the dma_mask for parport_pc device parport_pc_probe_port() creates the own 'parport_pc' device if the device argument is NULL. Then parport_pc_probe_port() doesn't initialize the dma_mask and coherent_dma_mask of the device and calls dma_alloc_coherent with it. dma_alloc_coherent fails because dma_alloc_coherent() doesn't accept the uninitialized dma_mask: http://lkml.org/lkml/2009/6/16/150 Long ago, X86_32 and X86_64 had the own dma_alloc_coherent implementations; X86_32 accepted a device having dma_mask that is not initialized however X86_64 didn't. When we merged them, we chose to prohibit a device having dma_mask that is not initialized. I think that it's good to require drivers to set up dma_mask (and coherent_dma_mask) properly if the drivers want DMA. Signed-off-by: FUJITA Tomonori Reported-by: Malcom Blaney Tested-by: Malcom Blaney Cc: stable@kernel.org Signed-off-by: Alan Cox Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit e2434dc1c19412639dd047a4d4eff8ed0e5d0d50 Author: Jens Rottmann Date: Mon Jun 22 16:51:49 2009 +0100 parport_pc: after superio probing restore original register values CONFIG_PARPORT_PC_SUPERIO probes for various superio chips by writing byte sequences to a set of different potential I/O ranges. But the probed ranges are not exclusive to parallel ports. Some of our boards just happen to have a watchdog in one of them. Took us almost a week to figure out why some distros reboot without warning after running flawlessly for 3 hours. For exactly 170 = 0xAA minutes, that is ... Fixed by restoring original values after probing. Also fixed too small request_region() in detect_and_report_it87(). Signed-off-by: Jens Rottmann Signed-off-by: Alan Cox Cc: Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 752a4787511bf7515f99609ff4ae52341b5bfcde Author: Linus Torvalds Date: Mon Jun 22 11:24:43 2009 -0700 Revert "char: moxa, prevent opening unavailable ports" This reverts commit a90b037583d5f1ae3e54e9c687c79df82d1d34a4, which already got fixed as commit f0e8527726b9e56649b9eafde3bc0fbc4dd2dd47: the same patch (trivial differences) got applied twice. Requested-by: Alan Cox Signed-off-by: Linus Torvalds commit c0c22dbfa8ba3c5045eeb9c76d2822ffc44fefc3 Author: Jaswinder Singh Rajput Date: Mon Jun 22 20:47:26 2009 +0530 perf_counter tools: Set alias for page-faults "faults" should be alias for "page-faults" Also fixed alignment and 80 characters issue Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245683846.12092.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 3f67f6693c82f1cb8edb233f9bd10fa06d27a193 Merge: 12bc738 6423f9e Author: Takashi Iwai Date: Mon Jun 22 17:03:56 2009 +0200 Merge branch 'topic/seq-midi-fix' into for-linus * topic/seq-midi-fix: sound: seq_midi_event: fix decoding of (N)RPN events commit 12bc738596ffe4e7f566e13856a0d37ba229b539 Merge: b61eaa9 8bd9bca Author: Takashi Iwai Date: Mon Jun 22 17:03:54 2009 +0200 Merge branch 'topic/pcm-jiffies-check' into for-linus * topic/pcm-jiffies-check: sound: fix check for return value in snd_pcm_hw_refine commit b61eaa924c320821469caa0cd2bf89e7a1ec8bd0 Merge: 11a93fd 115551d Author: Takashi Iwai Date: Mon Jun 22 17:03:52 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait commit 11a93fd9402ce47e4dc652837b1374ecdb750aba Merge: 366890d 8c8145b Author: Takashi Iwai Date: Mon Jun 22 17:03:48 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - Make jack-plug notification selectable ALSA: hda - Add digital-mic support to ALC262 auto model ALSA: hda - Fix check of input source type for realtek codecs ALSA: hda - Add quirk for Sony VAIO Z21MN ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model ALSA: hda - Fix unsigned comparison in patch_sigmatel.c commit 366890df46c2fd9492c04fe3a8775447b7b053e4 Merge: 7005241 29959a0 Author: Takashi Iwai Date: Mon Jun 22 17:03:44 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: ALSA: ctxfi - Add PM support ALSA: ctxfi - Allow unknown PCI SSIDs commit 70052413e7b432ccef8ee82340fc01831a1a290c Merge: 4716628 92a6ad3 Author: Takashi Iwai Date: Mon Jun 22 17:03:39 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: Blackfin: update the bf5xx_i2s_resume parameters ASoC: Blackfin: keep better track of SPORT configuration state commit 520f2c346af463fa00924b236e092da482b344cc Author: Peter Zijlstra Date: Mon Jun 22 16:52:51 2009 +0200 perf report: Output more symbol related debug data Print more symbol relocation related info under -vv. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8c8145b8734028f6deb487f7d64748da4c6c39ac Author: Takashi Iwai Date: Mon Jun 22 17:00:38 2009 +0200 ALSA: hda - Make jack-plug notification selectable Make the jack-plug notification via input layer selectable via Kconfig. This is often unnecessary, and the similr function will be provided using the ALSA control API in near future anyway. Signed-off-by: Takashi Iwai commit 129dd98194747a3b8ac1ff876d8d1f2440660d01 Author: Jiri Slaby Date: Sun Jun 21 23:59:01 2009 +0200 fusion: mptsas, fix lock imbalance Fix two typos in mptsas_not_responding_devices. It was mutex_lock instead of unlock. Signed-off-by: Jiri Slaby Acked-by: "Desai, Kashyap" Signed-off-by: James Bottomley commit 915166d96f5cab90b6f39f37da1139e5eab516b2 Merge: 3eadd3b 49fb88a Author: Russell King Date: Mon Jun 22 14:31:57 2009 +0100 Merge branch 'next-s3c' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 49fb88af23f3344ba53d6dbe34ac0b1426d81006 Author: Marek Szyprowski Date: Thu Jun 18 13:30:16 2009 +0200 [ARM] S3C: Fix gpio-config off-by-one bug Fix gpio-config off-by-one bug. Without this patch, touching GPA0 pin on S3C64XX platform causes kernel oops. Reviewed-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit 0b495737f311cb8eb5e66404309ea16e4d7ded8a Author: Marek Szyprowski Date: Thu Jun 18 13:30:27 2009 +0200 [ARM] S3C64XX: add to_irq() support for EINT() GPIO N group Add to_irq() function to onvert gpio to irq for external interrupt group (GPN). Signed-off-by: Marek Szyprowski Signed-off-by: Kyungmin Park Signed-off-by: Ben Dooks commit 386f43517f8bf026320fd4b9e077140681d7e595 Author: Peter Korsgaard Date: Thu Jun 18 23:54:44 2009 +0200 [ARM] S3C64XX: clock.c: fix typo in usb-host clock ctrlbit The usb-host clock was using the wrong define (the SCLK enable for the usb-host-bus) to change the HCLK register instead of the HCLK_UHOST bit. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 6ade7fa7bb4484b4dc78e55700d0f62bacd491e9 Author: Peter Korsgaard Date: Thu Jun 18 23:54:43 2009 +0200 [ARM] S3C64XX: fix HCLK gate defines A few typos seems to have sneaked into the HCLK gate defines, causing the usb host clock to not get enabled. Fix them according to the reference manual and throw in the 3d accel bit for good measure. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 29959a09cc1aabd2d5f4f03afc0305de6bd29248 Author: Wai Yew CHAY Date: Mon Jun 22 14:52:34 2009 +0200 ALSA: ctxfi - Add PM support Added the suspend/resume support to ctxfi driver. The team tested on the following seems ok: AMD Athlon 64 3500+ / ASUS A8N-E / 512MB DDR ATI / Radeon X1300 20k1 & 20k2 cards Signed-off-by: Wai Yew CHAY Singed-off-by: Ryan RICHARDS Signed-off-by: Takashi Iwai commit 4d900f9df5f0569c2dc536701e2c11b6d50ebebf Author: Patrick McHardy Date: Mon Jun 22 14:17:12 2009 +0200 netfilter: xt_rateest: fix comparison with self As noticed by Trk Edwin : Compiling the kernel with clang has shown this warning: net/netfilter/xt_rateest.c:69:16: warning: self-comparison always results in a constant value ret &= pps2 == pps2; ^ Looking at the code: if (info->flags & XT_RATEEST_MATCH_BPS) ret &= bps1 == bps2; if (info->flags & XT_RATEEST_MATCH_PPS) ret &= pps2 == pps2; Judging from the MATCH_BPS case it seems to be a typo, with the intention of comparing pps1 with pps2. http://bugzilla.kernel.org/show_bug.cgi?id=13535 Signed-off-by: Patrick McHardy commit 6d62182fea6cc6bbc8d82a691ad0608d68a54aeb Author: Jan Engelhardt Date: Mon Jun 22 14:16:45 2009 +0200 netfilter: xt_quota: fix incomplete initialization Commit v2.6.29-rc5-872-gacc738f ("xtables: avoid pointer to self") forgot to copy the initial quota value supplied by iptables into the private structure, thus counting from whatever was in the memory kmalloc returned. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 249556192859490b6280552d4b877064f9f5ee48 Author: Patrick McHardy Date: Mon Jun 22 14:15:30 2009 +0200 netfilter: nf_log: fix direct userspace memory access in proc handler Signed-off-by: Patrick McHardy commit f9ffc31251c2caa11962c9b74ce650e2167fa8d1 Author: Patrick McHardy Date: Mon Jun 22 14:15:02 2009 +0200 netfilter: fix some sparse endianess warnings net/netfilter/xt_NFQUEUE.c:46:9: warning: incorrect type in assignment (different base types) net/netfilter/xt_NFQUEUE.c:46:9: expected unsigned int [unsigned] [usertype] ipaddr net/netfilter/xt_NFQUEUE.c:46:9: got restricted unsigned int net/netfilter/xt_NFQUEUE.c:68:10: warning: incorrect type in assignment (different base types) net/netfilter/xt_NFQUEUE.c:68:10: expected unsigned int [unsigned] net/netfilter/xt_NFQUEUE.c:68:10: got restricted unsigned int net/netfilter/xt_NFQUEUE.c:69:10: warning: incorrect type in assignment (different base types) net/netfilter/xt_NFQUEUE.c:69:10: expected unsigned int [unsigned] net/netfilter/xt_NFQUEUE.c:69:10: got restricted unsigned int net/netfilter/xt_NFQUEUE.c:70:10: warning: incorrect type in assignment (different base types) net/netfilter/xt_NFQUEUE.c:70:10: expected unsigned int [unsigned] net/netfilter/xt_NFQUEUE.c:70:10: got restricted unsigned int net/netfilter/xt_NFQUEUE.c:71:10: warning: incorrect type in assignment (different base types) net/netfilter/xt_NFQUEUE.c:71:10: expected unsigned int [unsigned] net/netfilter/xt_NFQUEUE.c:71:10: got restricted unsigned int net/netfilter/xt_cluster.c:20:55: warning: incorrect type in return expression (different base types) net/netfilter/xt_cluster.c:20:55: expected unsigned int net/netfilter/xt_cluster.c:20:55: got restricted unsigned int const [usertype] ip net/netfilter/xt_cluster.c:20:55: warning: incorrect type in return expression (different base types) net/netfilter/xt_cluster.c:20:55: expected unsigned int net/netfilter/xt_cluster.c:20:55: got restricted unsigned int const [usertype] ip Signed-off-by: Patrick McHardy commit 8d8890b7751387f58ce0a6428773de2fbc0fd596 Author: Patrick McHardy Date: Mon Jun 22 14:14:41 2009 +0200 netfilter: nf_conntrack: fix conntrack lookup race The RCU protected conntrack hash lookup only checks whether the entry has a refcount of zero to decide whether it is stale. This is not sufficient, entries are explicitly removed while there is at least one reference left, possibly more. Explicitly check whether the entry has been marked as dying to fix this. Signed-off-by: Patrick McHardy commit 5c8ec910e789a92229978d8fd1fce7b62e8ac711 Author: Patrick McHardy Date: Mon Jun 22 14:14:16 2009 +0200 netfilter: nf_conntrack: fix confirmation race condition New connection tracking entries are inserted into the hash before they are fully set up, namely the CONFIRMED bit is not set and the timer not started yet. This can theoretically lead to a race with timer, which would set the timeout value to a relative value, most likely already in the past. Perform hash insertion as the final step to fix this. Signed-off-by: Patrick McHardy commit 8cc20198cfccd06cef705c14fd50bde603e2e306 Author: Eric Dumazet Date: Mon Jun 22 14:13:55 2009 +0200 netfilter: nf_conntrack: death_by_timeout() fix death_by_timeout() might delete a conntrack from hash list and insert it in dying list. nf_ct_delete_from_lists(ct); nf_ct_insert_dying_list(ct); I believe a (lockless) reader could *catch* ct while doing a lookup and miss the end of its chain. (nulls lookup algo must check the null value at the end of lookup and should restart if the null value is not the expected one. cf Documentation/RCU/rculist_nulls.txt for details) We need to change nf_conntrack_init_net() and use a different "null" value, guaranteed not being used in regular lists. Choose very large values, since hash table uses [0..size-1] null values. Signed-off-by: Eric Dumazet Acked-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 74d5b5889ea71a95d8924c08f8a7c6e2bdcbc0ba Author: Jaswinder Singh Rajput Date: Mon Jun 22 16:44:28 2009 +0530 perf_counter tools: Introduce alias member in event_symbol By introducing alias member in event_symbol : 1. duplicate lines are removed, like: cpu-cycles and cycles branch-instructions and branches context-switches and cs cpu-migrations and migrations 2. We can also add alias for another events. Now ./perf list looks like : List of pre-defined events (to be used in -e): cpu-cycles OR cycles [Hardware event] instructions [Hardware event] cache-references [Hardware event] cache-misses [Hardware event] branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event] cpu-clock [Software event] task-clock [Software event] page-faults [Software event] faults [Software event] minor-faults [Software event] major-faults [Software event] context-switches OR cs [Software event] cpu-migrations OR migrations [Software event] rNNN [raw hardware event descriptor] Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245669268.17153.8.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 51e268423151fc7bb41945bde7843160b6a14c32 Author: Jaswinder Singh Rajput Date: Mon Jun 22 16:43:14 2009 +0530 perf_counter tools: Define separate declarations for H/W and S/W events Define separate declarations for H/W and S/W events to: 1. Shorten name to save some space so that we can add more members 2. Fix alignment 3. Avoid declaring HARDWARE/SOFTWARE again and again. Removed unused CR(x, y) Signed-off-by: Jaswinder Singh Rajput Cc: Peter Zijlstra LKML-Reference: <1245669194.17153.6.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit da6330fccc251db73945ee3eb6248985cf2574de Author: Martin Schwidefsky Date: Mon Jun 22 12:08:24 2009 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit acf018004f76617dbab36ef4b5480d4351f9cdff Author: Heiko Carstens Date: Mon Jun 22 12:08:23 2009 +0200 [S390] kprobes: defer setting of ctlblk state get_krobe_ctlblk returns a per cpu kprobe control block which holds the state of the current cpu wrt to kprobe. When inserting/removing a kprobe the state of the cpu which replaces the code is changed to KPROBE_SWAP_INST. This however is done when preemption is still enabled. So the state of the current cpu doesn't necessarily reflect the real state. To fix this move the code that changes the state to non-preemptible context. Reported-by: Ananth N Mavinakayanahalli Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 12310e9c1b9a53896e4df0459039dd125f62aa9b Author: Martin Schwidefsky Date: Mon Jun 22 12:08:22 2009 +0200 [S390] Enable tick based perf_counter on s390. Signed-off-by: Martin Schwidefsky commit 181d95229b0931ee2ce6aad7348079cbc10e8d05 Author: Sebastian Ott Date: Mon Jun 22 12:08:21 2009 +0200 [S390] dasd: fix refcounting in dasd_change_state To set a dasd online dasd_change_state is called twice. The first cycle will schedule initial analysis of the device, set the rc to -EAGAIN and will not touch the device state any more. The initial analysis will in turn call dasd_change_state to increase the state to the final DASD_STATE_ONLINE. If the dasd_change_state on the second thread outruns the other one both finish with the state set to DASD_STATE_ONLINE and the device refcount will be decreased by 2. Fix this by leaving dasd_change_state on rc == -EAGAIN so that the refcount will always be decreased by 1. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e98bbaafcd1c47d30f3245517fb585f1aaaca4db Author: Martin Schwidefsky Date: Mon Jun 22 12:08:20 2009 +0200 [S390] lockless idle time accounting Replace the spinlock used in the idle time accounting with a sequence counter mechanism analog to seqlock. Signed-off-by: Martin Schwidefsky commit 4f0076f77fb64889d4e5e425b63333e5764b446d Author: Martin Schwidefsky Date: Mon Jun 22 12:08:19 2009 +0200 [S390] driver_data access Replace the remaining direct accesses to the driver_data pointer with calls to the dev_get_drvdata() and dev_set_drvdata() functions. Signed-off-by: Martin Schwidefsky commit 4a9c75255e1fef4247cf960d3c3eb528c8cd8409 Author: Heiko Carstens Date: Mon Jun 22 12:08:18 2009 +0200 [S390] pm: fix build error for !SMP Fix build error for !SMP: arch/s390/power/built-in.o: In function `swsusp_arch_resume': (.text+0x1b4): undefined reference to `smp_get_phys_cpu_id' arch/s390/power/built-in.o: In function `swsusp_arch_resume': (.text+0x288): undefined reference to `smp_switch_boot_cpu_in_resume' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e6125fba81e362d9b314d10893af1d9dc5658f33 Author: Stefan Haberland Date: Mon Jun 22 12:08:17 2009 +0200 [S390] dasd_pm: fix stop flag handling The stop flags are handled in the generic restore function so the stop flag is removed also for FBA and DIAG devices. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 772f54720ab82a6e88f0a8a84d76e7af15ca1f0c Author: Felix Beck Date: Mon Jun 22 12:08:16 2009 +0200 [S390] ap/zcrypt: Suspend/Resume ap bus and zcrypt Add Suspend/Resume support to ap bus and zcrypt. All enhancements are done in the ap bus. No changes in the crypto card specific part are necessary. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 6618241b47cd131503610d8df68dd6f4948e5c1a Author: Jan Glauber Date: Mon Jun 22 12:08:15 2009 +0200 [S390] qdio: Sanitize do_QDIO sanity checks Remove unneeded sanity checks from do_QDIO since this is the hot path. Change the type of bufnr and count to unsigned int so the check for the maximum value works. Reported-by: Roel Kluin Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit f0a0b15e0f3aff0a25f21f58bef8e40e80b16dc6 Author: Jan Glauber Date: Mon Jun 22 12:08:14 2009 +0200 [S390] qdio: leave inbound SBALs primed It is not required to change the state of primed SBALs. Leaving them primed saves a SQBS instruction under z/VM. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit cf9a031c2cc881e9873ab9ccf5e1f59f5b5167aa Author: Jan Glauber Date: Mon Jun 22 12:08:13 2009 +0200 [S390] qdio: merge AI tasklet into interrupt handler Since the adapter interrupt tasklet only schedules the queue tasklets and contains no code that requires serialization in can be merged with the adapter interrupt handler. That possibly safes some CPU cycles. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 36e3e72120e27939233e4bd88a8d74b3a2377428 Author: Jan Glauber Date: Mon Jun 22 12:08:12 2009 +0200 [S390] qdio: extract all primed SBALs at once For devices without QIOASSIST primed SBALS were extracted in a loop. Remove the loop since get_buf_states can already return more than one primed SBAL. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 9a2c160a8cbd5b3253672b3bac462c64d0d2eef7 Author: Jan Glauber Date: Mon Jun 22 12:08:11 2009 +0200 [S390] qdio: fix check for running under z/VM The check whether qdio runs under z/VM was incorrect since SIGA-Sync is not set if the device runs with QIOASSIST. Use MACHINE_IS_VM instead to prevent polling under z/VM. Merge qdio_inbound_q_done and tiqdio_is_inbound_q_done. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 60b5df2f12f2ab54bfa7c1f0f0ce3f5953e73c0b Author: Jan Glauber Date: Mon Jun 22 12:08:10 2009 +0200 [S390] qdio: move adapter interrupt tasklet code Move the adapter interrupt tasklet function to the qdio main code since all the functions used by the tasklet are located there. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit f3dfa86caa4a54aceb2b235bf28a6f6ad73b2716 Author: Michael Holzheu Date: Mon Jun 22 12:08:09 2009 +0200 [S390] Use del_timer instead of del_timer_sync When syncing the sclp console queue, we call del_timer_sync() while holding the "sclp_con_lock" spinlock. This lock is also taken in the timer function "sclp_console_timeout". Therefore the sync version of del_timer() cannot be used here. Because the synchronous deletion of the timer is only needed in the suspend callback and in that case only one CPU is remaining and therefore it is not possible that the timer function is running in parallel, we can safely use del_timer() instead of del_timer_sync(). Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 66d51f3e81b1067bdc836b3aba609eec957c693c Author: Pekka Enberg Date: Mon Jun 22 12:08:08 2009 +0200 [S390] s390: remove DEBUG_MALLOC The kernel now has kmemleak and kmemtrace so there's no reason to keep this ugly s390 hack around. I am not sure how it's supposed to work on SMP anyway as it uses a global variable to temporarily store the return value of all kmalloc() calls: void *b; #define kmalloc(x...) (PRINT_INFO(" kmalloc %p\n",b=kmalloc(x)),b) Cc: Cc: Heiko Carstens Signed-off-by: Pekka Enberg Signed-off-by: Martin Schwidefsky commit 5c0792f6924333290ec3ca31c02e6555d73dba04 Author: Heiko Carstens Date: Mon Jun 22 12:08:07 2009 +0200 [S390] vt220 console: convert from bootmem to slab The slab allocator is earlier available so convert the bootmem allocations to slab/gfp allocations. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4c8f4794b61e89dd68f96cfc23a9d9b6c25be420 Author: Heiko Carstens Date: Mon Jun 22 12:08:06 2009 +0200 [S390] sclp console: convert from bootmem to slab The slab allocator is earlier available so convert the bootmem allocations to slab/gfp allocations. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 33403dcfcdfd097d80213a715604eab2dca93b2e Author: Heiko Carstens Date: Mon Jun 22 12:08:05 2009 +0200 [S390] 3270 console: convert from bootmem to slab The slab allocator is earlier available so convert the bootmem allocations to slab/gfp allocations. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6d56eee2c016b0b131e444d02a66b0fef7df3ef0 Author: Heiko Carstens Date: Mon Jun 22 12:08:04 2009 +0200 [S390] 3215 console: convert from bootmem to slab The slab allocator is earlier available so convert the bootmem allocations to slab/gfp allocations. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d7d1104fa40f66dbe50840f05b34268144f8a17a Author: Heiko Carstens Date: Mon Jun 22 12:08:03 2009 +0200 [S390] time: convert from bootmem to slab The slab allocator is earlier available so convert the bootmem allocations to slab/gfp allocations. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit aafd1255d08fb26cab87d1b28ff35a15bdb2ed68 Author: Daniel Glockner Date: Wed Jun 10 12:58:51 2009 -0700 xtensa: enable m41t80 driver in s6105_defconfig Signed-off-by: Daniel Glockner Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton commit 759c67e87bce54bd08e5fee1fdca975cebe5d3c2 Author: Daniel Glockner Date: Wed Jun 10 12:58:50 2009 -0700 xtensa: add m41t62 rtc to s6105 platform Signed-off-by: Daniel Glockner Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton commit 607c2add0f3b2cc12567f658e9dfdb07df2b106e Author: Daniel Glockner Date: Wed Jun 10 12:58:49 2009 -0700 xtensa: enable s6gmac in s6105_defconfig Signed-off-by: Daniel Glockner Cc: "David S. Miller" Cc: Johannes Weiner Cc: Oskar Schirmer Signed-off-by: Andrew Morton commit 059cafe6df5d3b078c4b1be42623c62ab32de6fd Author: Oskar Schirmer Date: Wed Jun 10 12:58:48 2009 -0700 xtensa: s6105 specific configuration for s6gmac Platform-specific configuration for the s6gmac driver, including the PHY interrupt line. Signed-off-by: Daniel Glockner Signed-off-by: Oskar Schirmer Cc: "David S. Miller" Cc: Johannes Weiner Signed-off-by: Andrew Morton commit 8b0215aa5b01eb3cb54ca57bfa36e94a0d039ed9 Author: Oskar Schirmer Date: Wed Jun 10 12:58:48 2009 -0700 s6gmac: xtensa s6000 on-chip ethernet driver The s6000 on-chip MAC supports 10/100/1000Mbit and is connected to an external PHY via MII or RGMII interface. [jw@emlix.com: don't use device->bus_id directly] Signed-off-by: Oskar Schirmer Signed-off-by: Daniel Glockner Acked-by: "David S. Miller" Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Chris Zankel commit 0b3eb21b2f2222c4c1e3e21fc3cd427404d3991a Author: Daniel Glöckner Date: Tue May 5 15:03:22 2009 +0000 xtensa: support s6000 gpio irqs and alternate function selection Implement an irq chip to handle interrupts via gpio. The GPIO chip initialization function now takes a bitmask denoting pins that should be configured for their alternate function. changes compared to v1: - fixed bug on edge interrupt configuration - accommodated to function name change - moved definition of VARIANT_NR_IRQS to this patch - renamed __XTENSA_S6000_IRQ_H to _XTENSA_S6000_IRQ_H as requested Signed-off-by: Daniel Glöckner Signed-off-by: Johannes Weiner Signed-off-by: Chris Zankel commit f24e552c2dc3221dc7bd2296fd8a705283c4b2d7 Author: Oskar Schirmer Date: Wed Jun 10 12:58:45 2009 -0700 xtensa: s6000 dma engine support There are four slightly different dma engines on the s6000 family. One for memory-memory transfers, the other three for memory-device. This patch implements a platform-specific kernel-API to control these engines. It is needed for the network, video, audio peripherals on s6000. Signed-off-by: Oskar Schirmer Signed-off-by: Daniel Glockner Signed-off-by: Fabian Godehardt Cc: Daniel Glockner Signed-off-by: Andrew Morton Signed-off-by: Chris Zankel commit 1beee21030ed3dc39a41c7b524dbc1a318b518bd Author: Daniel Glöckner Date: Tue May 5 15:03:21 2009 +0000 xtensa: allow variant to initialize own irq chips There was already a PLATFORM_NR_IRQS define, which is now accompanied by a VARIANT_NR_IRQS. To be able to initialize these interrupts, init_IRQ now calls a variant specific hook. Changes compared to v1: - adapted to new CONFIG_VARIANT_IRQ_EXT - removed definition and call of platform_init_IRQ as there already is a platform_init_irq defined in asm/platform.h with a weak default in kernel/platform.c - renamed variant_init_IRQ to variant_init_irq Note that I could not find the call site of platform_init_irq although it is stated in platform.h that it is called from init_IRQ. Signed-off-by: Daniel Glöckner Signed-off-by: Chris Zankel commit bd974240c9a7c6c560504bf390cd8985a16b68f6 Author: Oskar Schirmer Date: Wed Jun 10 12:58:45 2009 -0700 xtensa: cache inquiry and unaligned cache handling functions The existing xtensa cache handling functions work on page-aligned memory regions. These functions are needed for the s6000 dma engine which can work on a byte-granularity. Signed-off-by: Oskar Schirmer Cc: Johannes Weiner Cc: Daniel Glockner Signed-off-by: Andrew Morton Signed-off-by: Chris Zankel commit f40c67f0f7e2767f80f7cbcbc1ab86c4113c202e Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:37 2009 +0100 dm mpath: change to be request based This patch converts dm-multipath target to request-based from bio-based. Basically, the patch just converts the I/O unit from struct bio to struct request. In the course of the conversion, it also changes the I/O queueing mechanism. The change in the I/O queueing is described in details as follows. I/O queueing mechanism change ----------------------------- In I/O submission, map_io(), there is no mechanism change from bio-based, since the clone request is ready for retry as it is. However, in I/O complition, do_end_io(), there is a mechanism change from bio-based, since the clone request is not ready for retry. In do_end_io() of bio-based, the clone bio has all needed memory for resubmission. So the target driver can queue it and resubmit it later without memory allocations. The mechanism has almost no overhead. On the other hand, in do_end_io() of request-based, the clone request doesn't have clone bios, so the target driver can't resubmit it as it is. To resubmit the clone request, memory allocation for clone bios is needed, and it takes some overheads. To avoid the overheads just for queueing, the target driver doesn't queue the clone request inside itself. Instead, the target driver asks dm core for queueing and remapping the original request of the clone request, since the overhead for queueing is just a freeing memory for the clone request. As a result, the target driver doesn't need to record/restore the information of the original request for resubmitting the clone request. So dm_bio_details in dm_mpath_io is removed. multipath_busy() --------------------- The target driver returns "busy", only when the following case: o The target driver will map I/Os, if map() function is called and o The mapped I/Os will wait on underlying device's queue due to their congestions, if map() function is called now. In other cases, the target driver doesn't return "busy". Otherwise, dm core will keep the I/Os and the target driver can't do what it wants. (e.g. the target driver can't map I/Os now, so wants to kill I/Os.) Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Acked-by: Hannes Reinecke Signed-off-by: Alasdair G Kergon commit 523d9297d43cce3fa6de6474b7674329e98743b1 Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:37 2009 +0100 dm: disable interrupt when taking map_lock This patch disables interrupt when taking map_lock to avoid lockdep warnings in request-based dm. request-based dm takes map_lock after taking queue_lock with disabling interrupt: spin_lock_irqsave(queue_lock) q->request_fn() == dm_request_fn() => dm_get_table() => read_lock(map_lock) while queue_lock could be (but isn't) taken in interrupt context. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Acked-by: Christof Schmitt Acked-by: Hannes Reinecke Signed-off-by: Alasdair G Kergon commit 5d67aa2366ccb8257d103d0b43df855605c3c086 Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:36 2009 +0100 dm: do not set QUEUE_ORDERED_DRAIN if request based Request-based dm doesn't have barrier support yet. So we need to set QUEUE_ORDERED_DRAIN only for bio-based dm. Since the device type is decided at the first table loading time, the flag set is deferred until then. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Acked-by: Hannes Reinecke Signed-off-by: Alasdair G Kergon commit e6ee8c0b767540f59e20da3ced282601db8aa502 Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:36 2009 +0100 dm: enable request based option This patch enables request-based dm. o Request-based dm and bio-based dm coexist, since there are some target drivers which are more fitting to bio-based dm. Also, there are other bio-based devices in the kernel (e.g. md, loop). Since bio-based device can't receive struct request, there are some limitations on device stacking between bio-based and request-based. type of underlying device bio-based request-based ---------------------------------------------- bio-based OK OK request-based -- OK The device type is recognized by the queue flag in the kernel, so dm follows that. o The type of a dm device is decided at the first table binding time. Once the type of a dm device is decided, the type can't be changed. o Mempool allocations are deferred to at the table loading time, since mempools for request-based dm are different from those for bio-based dm and needed mempool type is fixed by the type of table. o Currently, request-based dm supports only tables that have a single target. To support multiple targets, we need to support request splitting or prevent bio/request from spanning multiple targets. The former needs lots of changes in the block layer, and the latter needs that all target drivers support merge() function. Both will take a time. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit cec47e3d4a861e1d942b3a580d0bbef2700d2bb2 Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:35 2009 +0100 dm: prepare for request based option This patch adds core functions for request-based dm. When struct mapped device (md) is initialized, md->queue has an I/O scheduler and the following functions are used for request-based dm as the queue functions: make_request_fn: dm_make_request() pref_fn: dm_prep_fn() request_fn: dm_request_fn() softirq_done_fn: dm_softirq_done() lld_busy_fn: dm_lld_busy() Actual initializations are done in another patch (PATCH 2). Below is a brief summary of how request-based dm behaves, including: - making request from bio - cloning, mapping and dispatching request - completing request and bio - suspending md - resuming md bio to request ============== md->queue->make_request_fn() (dm_make_request()) calls __make_request() for a bio submitted to the md. Then, the bio is kept in the queue as a new request or merged into another request in the queue if possible. Cloning and Mapping =================== Cloning and mapping are done in md->queue->request_fn() (dm_request_fn()), when requests are dispatched after they are sorted by the I/O scheduler. dm_request_fn() checks busy state of underlying devices using target's busy() function and stops dispatching requests to keep them on the dm device's queue if busy. It helps better I/O merging, since no merge is done for a request once it is dispatched to underlying devices. Actual cloning and mapping are done in dm_prep_fn() and map_request() called from dm_request_fn(). dm_prep_fn() clones not only request but also bios of the request so that dm can hold bio completion in error cases and prevent the bio submitter from noticing the error. (See the "Completion" section below for details.) After the cloning, the clone is mapped by target's map_rq() function and inserted to underlying device's queue using blk_insert_cloned_request(). Completion ========== Request completion can be hooked by rq->end_io(), but then, all bios in the request will have been completed even error cases, and the bio submitter will have noticed the error. To prevent the bio completion in error cases, request-based dm clones both bio and request and hooks both bio->bi_end_io() and rq->end_io(): bio->bi_end_io(): end_clone_bio() rq->end_io(): end_clone_request() Summary of the request completion flow is below: blk_end_request() for a clone request => blk_update_request() => bio->bi_end_io() == end_clone_bio() for each clone bio => Free the clone bio => Success: Complete the original bio (blk_update_request()) Error: Don't complete the original bio => blk_finish_request() => rq->end_io() == end_clone_request() => blk_complete_request() => dm_softirq_done() => Free the clone request => Success: Complete the original request (blk_end_request()) Error: Requeue the original request end_clone_bio() completes the original request on the size of the original bio in successful cases. Even if all bios in the original request are completed by that completion, the original request must not be completed yet to keep the ordering of request completion for the stacking. So end_clone_bio() uses blk_update_request() instead of blk_end_request(). In error cases, end_clone_bio() doesn't complete the original bio. It just frees the cloned bio and gives over the error handling to end_clone_request(). end_clone_request(), which is called with queue lock held, completes the clone request and the original request in a softirq context (dm_softirq_done()), which has no queue lock, to avoid a deadlock issue on submission of another request during the completion: - The submitted request may be mapped to the same device - Request submission requires queue lock, but the queue lock has been held by itself and it doesn't know that The clone request has no clone bio when dm_softirq_done() is called. So target drivers can't resubmit it again even error cases. Instead, they can ask dm core for requeueing and remapping the original request in that cases. suspend ======= Request-based dm uses stopping md->queue as suspend of the md. For noflush suspend, just stops md->queue. For flush suspend, inserts a marker request to the tail of md->queue. And dispatches all requests in md->queue until the marker comes to the front of md->queue. Then, stops dispatching request and waits for the all dispatched requests to complete. After that, completes the marker request, stops md->queue and wake up the waiter on the suspend queue, md->wait. resume ====== Starts md->queue. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit f5db4af466e2dca0fe822019812d586ca910b00c Author: Jonthan Brassow Date: Mon Jun 22 10:12:35 2009 +0100 dm raid1: add userspace log This patch contains a device-mapper mirror log module that forwards requests to userspace for processing. The structures used for communication between kernel and userspace are located in include/linux/dm-log-userspace.h. Due to the frequency, diversity, and 2-way communication nature of the exchanges between kernel and userspace, 'connector' was chosen as the interface for communication. The first log implementations written in userspace - "clustered-disk" and "clustered-core" - support clustered shared storage. A userspace daemon (in the LVM2 source code repository) uses openAIS/corosync to process requests in an ordered fashion with the rest of the nodes in the cluster so as to prevent log state corruption. Other implementations with no association to LVM or openAIS/corosync, are certainly possible. (Imagine if two machines are writing to the same region of a mirror. They would both mark the region dirty, but you need a cluster-aware entity that can handle properly marking the region clean when they are done. Otherwise, you might clear the region when the first machine is done, not the second.) Signed-off-by: Jonathan Brassow Cc: Evgeniy Polyakov Signed-off-by: Alasdair G Kergon commit 754c5fc7ebb417b23601a6222a6005cc2e7f2913 Author: Mike Snitzer Date: Mon Jun 22 10:12:34 2009 +0100 dm: calculate queue limits during resume not load Currently, device-mapper maintains a separate instance of 'struct queue_limits' for each table of each device. When the configuration of a device is to be changed, first its table is loaded and this structure is populated, then the device is 'resumed' and the calculated queue_limits are applied. This places restrictions on how userspace may process related devices, where it is often advantageous to 'load' tables for several devices at once before 'resuming' them together. As the new queue_limits only take effect after the 'resume', if they are changing and one device uses another, the latter must be 'resumed' before the former may be 'loaded'. This patch moves the calculation of these queue_limits out of the 'load' operation into 'resume'. Since we are no longer pre-calculating this struct, we no longer need to maintain copies within our dm structs. dm_set_device_limits() now passes the 'start' of the device's data area (aka pe_start) as the 'offset' to blk_stack_limits(). init_valid_queue_limits() is replaced by blk_set_default_limits(). Signed-off-by: Mike Snitzer Cc: martin.petersen@oracle.com Signed-off-by: Alasdair G Kergon commit 18d8594dd93a1ae2fafd591ec026e87d743292bf Author: Mike Snitzer Date: Mon Jun 22 10:12:33 2009 +0100 dm log: fix create_log_context to use logical_block_size of log device create_log_context() must use the logical_block_size from the log disk, where the I/O happens, not the target's logical_block_size. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit af4874e03ed82f050d5872d8c39ce64bf16b5c38 Author: Mike Snitzer Date: Mon Jun 22 10:12:33 2009 +0100 dm target:s introduce iterate devices fn Add .iterate_devices to 'struct target_type' to allow a function to be called for all devices in a DM target. Implemented it for all targets except those in dm-snap.c (origin and snapshot). (The raid1 version number jumps to 1.12 because we originally reserved 1.1 to 1.11 for 'block_on_error' but ended up using 'handle_errors' instead.) Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon Cc: martin.petersen@oracle.com commit 1197764e403d97231eb6da2b1e16f511a7fd3101 Author: Mike Snitzer Date: Mon Jun 22 10:12:32 2009 +0100 dm table: establish queue limits by copying table limits Copy the table's queue_limits to the DM device's request_queue. This properly initializes the queue's topology limits and also avoids having to track the evolution of 'struct queue_limits' in dm_table_set_restrictions() Also fixes a bug that was introduced in dm_table_set_restrictions() via commit ae03bf639a5027d27270123f5f6e3ee6a412781d. In addition to establishing 'bounce_pfn' in the queue's limits blk_queue_bounce_limit() also performs an allocation to setup the ISA DMA pool. This allocation resulted in "sleeping function called from invalid context" when called from dm_table_set_restrictions(). Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit 5ab97588fb266187b88d1ad893251c94388f18ba Author: Mike Snitzer Date: Mon Jun 22 10:12:32 2009 +0100 dm table: replace struct io_restrictions with struct queue_limits Use blk_stack_limits() to stack block limits (including topology) rather than duplicate the equivalent within Device Mapper. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit be6d4305db093ad1cc623f7dd3d2470b7bd73fa4 Author: Mike Snitzer Date: Mon Jun 22 10:12:31 2009 +0100 dm table: validate device logical_block_size Impose necessary and sufficient conditions on a devices's table such that any incoming bio which respects its logical_block_size can be processed successfully. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit 02acc3a4fa0a6c2a5ccc4fb722b55fb710265882 Author: Mike Snitzer Date: Mon Jun 22 10:12:30 2009 +0100 dm table: ensure targets are aligned to logical_block_size Ensure I/O is aligned to the logical block size of target devices. Rename check_device_area() to device_area_is_valid() for clarity and establish the device limits including the logical block size prior to calling it. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit 60935eb21d3c5bac79618000f38f92c249d153c4 Author: Milan Broz Date: Mon Jun 22 10:12:30 2009 +0100 dm ioctl: support cookies for udev Add support for passing a 32 bit "cookie" into the kernel with the DM_SUSPEND, DM_DEV_RENAME and DM_DEV_REMOVE ioctls. The (unsigned) value of this cookie is returned to userspace alongside the uevents issued by these ioctls in the variable DM_COOKIE. This means the userspace process issuing these ioctls can be notified by udev after udev has completed any actions triggered. To minimise the interface extension, we pass the cookie into the kernel in the event_nr field which is otherwise unused when calling these ioctls. Incrementing the version number allows userspace to determine in advance whether or not the kernel supports the cookie. If the kernel does support this but userspace does not, there should be no impact as the new variable will just get ignored. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 486d220fe4909b5745c4faa67faddd30a707abe2 Author: Peter Rajnoha Date: Mon Jun 22 10:12:29 2009 +0100 dm: sysfs add suspended attribute Add a file named 'suspended' to each device-mapper device directory in sysfs. It holds the value 1 while the device is suspended. Otherwise it holds 0. Signed-off-by: Peter Rajnoha Signed-off-by: Alasdair G Kergon commit 1b6da754594e6e26c24e6fbc1a34f9c03e4617a3 Author: Jonthan Brassow Date: Mon Jun 22 10:12:29 2009 +0100 dm table: improve warning message when devices not freed before destruction Report any devices forgotten to be freed before a table is destroyed. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit f392ba889b019602976082bfe7bf486c2594f85c Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:28 2009 +0100 dm mpath: add service time load balancer This patch adds a service time oriented dynamic load balancer, dm-service-time, which selects the path with the shortest estimated service time for the incoming I/O. The service time is estimated by dividing the in-flight I/O size by a performance value of each path. The performance value can be given as a table argument at the table loading time. If no performance value is given, all paths are considered equal. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit fd5e033908b7b743b5650790f196761dd930f988 Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:27 2009 +0100 dm mpath: add queue length load balancer This patch adds a dynamic load balancer, dm-queue-length, which balances the number of in-flight I/Os across the paths. The code is based on the patch posted by Stefan Bader: https://www.redhat.com/archives/dm-devel/2005-October/msg00050.html Signed-off-by: Stefan Bader Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 02ab823fd1a27d193bda06b74fdad685a20a3e5e Author: Kiyoshi Ueda Date: Mon Jun 22 10:12:27 2009 +0100 dm mpath: add start_io and nr_bytes to path selectors This patch makes two additions to the dm path selector interface for dynamic load balancers: o a new hook, start_io() o a new parameter 'nr_bytes' to select_path()/start_io()/end_io() to pass the size of the I/O start_io() is called when a target driver actually submits I/O to the selected path. Path selectors can use it to start accounting of the I/O. (e.g. counting the number of in-flight I/Os.) The start_io hook is based on the patch posted by Stefan Bader: https://www.redhat.com/archives/dm-devel/2005-October/msg00050.html nr_bytes, the size of the I/O, is so path selectors can take the size of the I/O into account when deciding which path to use. dm-service-time uses it to estimate service time, for example. (Added the nr_bytes member to dm_mpath_io instead of using existing details.bi_size, since request-based dm patch deletes it.) Signed-off-by: Stefan Bader Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 2bd023452592e5f5cf90dd426cc39b7632b15b76 Author: Mikulas Patocka Date: Mon Jun 22 10:12:26 2009 +0100 dm snapshot: use barrier when writing exception store Send barrier requests when updating the exception area. Exception area updates need to be ordered w.r.t. data writes, so that the writes are not reordered in hardware disk cache. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 51aa322849581f1a73594e48ea0df63f914ee6a2 Author: Mikulas Patocka Date: Mon Jun 22 10:12:26 2009 +0100 dm io: retry after barrier error If -EOPNOTSUPP was returned and the request was a barrier request, retry it without barrier. Retry all regions for now. Barriers are submitted only for one-region requests, so it doesn't matter. (In the future, retries can be limited to the actual regions that failed.) Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 5af443a7e1c0864100cc44525a9821aa2a2f4719 Author: Mikulas Patocka Date: Mon Jun 22 10:12:25 2009 +0100 dm io: record eopnotsupp Add another field, eopnotsupp_bits. It is subset of error_bits, representing regions that returned -EOPNOTSUPP. (The bit is set in both error_bits and eopnotsupp_bits). This value will be used in further patches. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 494b3ee7d4f69210def80aecce28d08c3f0755d5 Author: Mikulas Patocka Date: Mon Jun 22 10:12:25 2009 +0100 dm snapshot: support barriers Flush support for dm-snapshot target. This patch just forwards the flush request to either the origin or the snapshot device. (It doesn't flush exception store metadata.) Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8627921fa2ef6d40fd9b787e163ba3a9ff8f471d Author: Mikulas Patocka Date: Mon Jun 22 10:12:24 2009 +0100 dm mpath: support barriers Flush support for dm-multipath target. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit c927259e34e518d913d86f51c71b786a513f94d6 Author: Mikulas Patocka Date: Mon Jun 22 10:12:23 2009 +0100 dm delay: support barriers Flush support for dm-delay target. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 647c7db14ef9cacc4ccb3683e206b61f0de6dc2b Author: Mikulas Patocka Date: Mon Jun 22 10:12:23 2009 +0100 dm crypt: support flush Flush support for dm-crypt target. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 374bf7e7f6cc38b0483351a2029a97910eadde1b Author: Mikulas Patocka Date: Mon Jun 22 10:12:22 2009 +0100 dm: stripe support flush Flush support for the stripe target. This sets ti->num_flush_requests to the number of stripes and remaps individual flush requests to the appropriate stripe devices. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 433bcac5645508b71eab2710b6817c3ef937eba8 Author: Mikulas Patocka Date: Mon Jun 22 10:12:22 2009 +0100 dm: linear support flush Flush support for the linear target. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 52b1fd5a27c625c78373e024bf570af3c9d44a79 Author: Mikulas Patocka Date: Mon Jun 22 10:12:21 2009 +0100 dm: send empty barriers to targets in dm_flush Pass empty barrier flushes to the targets in dm_flush(). Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 9015df24a8008d7bea2bd3df881783ebe0dcb9af Author: Alasdair G Kergon Date: Mon Jun 22 10:12:21 2009 +0100 dm: initialise tio in alloc_tio Move repeated dm_target_io initialisation inside alloc_tio(). Signed-off-by: Alasdair G Kergon commit f9ab94cee313746573b2d693bc2afb807ebb0998 Author: Mikulas Patocka Date: Mon Jun 22 10:12:20 2009 +0100 dm: introduce num_flush_requests Introduce num_flush_requests for a target to set to say how many flush instructions (empty barriers) it wants to receive. These are sent by __clone_and_map_empty_barrier with map_info->flush_request going from 0 to (num_flush_requests - 1). Old targets without flush support won't receive any flush requests. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 27eaa14975d8b53f0bad422e53cdf8e5f6dd44ec Author: Mikulas Patocka Date: Mon Jun 22 10:12:20 2009 +0100 dm: remove check that prevents mapping empty bios Remove the check that the size of the cloned bio is not zero because a subsequent patch needs to send zero-sized barriers down this path. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit fdb9572b73abd008b80931c3b1f157dac3888bb9 Author: Mikulas Patocka Date: Mon Jun 22 10:12:19 2009 +0100 dm: remove EOPNOTSUPP for barriers If the underlying device doesn't support barriers and dm receives a barrier, it waits until all requests on that device drain so it no longer needs to report -EOPNOTSUPP to the caller. This patch deals with the confusing situation when moving a volume from one physical device to another triggers an EOPNOTSUPP on a volume that didn't report it before. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 5aa2781d964e9835c441932110484bc454b5c207 Author: Mikulas Patocka Date: Mon Jun 22 10:12:18 2009 +0100 dm: store only first barrier error With the following patches, more than one error can occur during processing. Change md->barrier_error so that only the first one is recorded and returned to the caller. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 2761e95fe40ca0d01864310fa4d488d7c5e34e18 Author: Mikulas Patocka Date: Mon Jun 22 10:12:18 2009 +0100 dm: process requeue in dm_wq_work If barrier request was returned with DM_ENDIO_REQUEUE, requeue it in dm_wq_work instead of dec_pending. This allows us to correctly handle a situation when some targets are asking for a requeue and other targets signal an error. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 531fe96364f30879753d46c1f52ab839e12d2e5d Author: Mikulas Patocka Date: Mon Jun 22 10:12:17 2009 +0100 dm: make dm_flush return void Make dm_flush return void. The first error during flush is stored in md->barrier_error instead. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 32a926da5a16c01a8213331e5764472ce2f14a8d Author: Mikulas Patocka Date: Mon Jun 22 10:12:17 2009 +0100 dm: always hold bdev reference Fix a potential deadlock when creating multiple snapshots by holding a reference to struct block_device for the whole lifecycle of every dm device instead of obtaining it independently at each point it is needed. bdget_disk() was called while the device was being suspended, in dm_suspend(). However there could be other devices already suspended, for example when creating additional snapshots of a device. bdget_disk() can wait for IO and allocate memory resulting in waiting for the already-suspended device - deadlock. This patch changes the code so that it gets the reference to struct block_device when struct mapped_device is allocated and initialized in alloc_dev() where it is always OK to allocate memory or wait for I/O. It drops the reference when it is destroyed in free_dev(). Thus there is no call to bdget_disk() while any device is suspended. Previously unlock_fs() was called only if bdev was held. Now it is called unconditionally, but the superfluous calls are harmless because it returns immediately if the filesystem was not previously frozen. This patch also now allows the device size to be changed in a noflush suspend because the bdev is held. This has no adverse effect. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit db8fef4fabe4a546ce74f80bff64fd43776e5912 Author: Mikulas Patocka Date: Mon Jun 22 10:12:15 2009 +0100 dm: rename suspended_bdev to bdev Rename suspended_bdev to bdev. This patch doesn't change any functionality, just renames the variable. In the next patch, the variable will be used even for non-suspended device. (Pre-requisite for the per-target barrier support patches.) Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit f6bd4eb73cdf2a5bf954e497972842f39cabb7e3 Author: Jonathan Brassow Date: Mon Jun 22 10:12:15 2009 +0100 dm exception store: fix exstore lookup to be case insensitive When snapshots are created using 'p' instead of 'P' as the exception store type, the device-mapper table loading fails. This patch makes the code case insensitive as intended and fixes some regressions reported with device-mapper snapshots. Signed-off-by: Jonathan Brassow Cc: stable@kernel.org Signed-off-by: Alasdair G Kergon commit 5657e8fa45cf230df278040c420fb80e06309d8f Author: Mikulas Patocka Date: Mon Jun 22 10:12:14 2009 +0100 dm: use i_size_read Use i_size_read() instead of reading i_size. If someone changes the size of the device simultaneously, i_size_read is guaranteed to return a valid value (either the old one or the new one). i_size can return some intermediate invalid value (on 32-bit computers with 64-bit i_size, the reads to both halves of i_size can be interleaved with updates to i_size, resulting in garbage being returned). Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8cbeb67ad50f7d68e5e83be2cb2284de8f9c03b5 Author: Mikulas Patocka Date: Mon Jun 22 10:12:14 2009 +0100 dm: avoid unsupported spanning of md stripe boundaries A bio that has two or more vector entries, size less than or equal to page size, that crosses a stripe boundary of an underlying md device is accepted by device mapper (it conforms to all its limits) but not by the underlying device. The fix is: If device mapper selects the one-page maximum request size, it also needs to set its own q->merge_bvec_fn to reject any bios with multiple vector entries that span more pages. The problem was discovered in the following scenario: * MD - RAID-0 * LV on the top of it (raid1, snapshot or striped with chunk size/stripe larger than RAID-0 stripe) * one of the logical volumes is exported to xen domU * inside xen domU it is partitioned, the key point is that the partition must be unaligned on page boundary (fdisk normally aligns the partition to 63 sectors which will trigger it) * install the system on the partitioned disk in domU This causes I/O failures in dom0. Reference: https://bugzilla.redhat.com/show_bug.cgi?id=223947 Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 53b351f972a882ea8b6cdb19602535f1057c884a Author: Mikulas Patocka Date: Mon Jun 22 10:12:13 2009 +0100 dm mpath: flush keventd queue in destructor The commit fe9cf30eb8186ef267d1868dc9f12f2d0f40835a moves dm table event submission from kmultipath queue to kernel kevent queue to avoid a deadlock. There is a possibility of race condition because kevent queue is not flushed in the multipath destructor. The scenario is: - some event happens and is queued to keventd - keventd thread is delayed due to scheuling latency or some other work - multipath device is destroyed - keventd now attempts to process work_struct that is residing in already released memory. The patch flushes the keventd queue in multipath constructor. I've already fixed similar bug in dm-raid1. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon Cc: stable@kernel.org commit a72986c562eeec3f7b992198c168f0f41606fe53 Author: Mikulas Patocka Date: Mon Jun 22 10:12:13 2009 +0100 dm raid1: keep retrying alloc if mempool_alloc failed If the code can't handle allocation failures, use __GFP_NOFAIL so that in case of memory pressure the allocator will retry indefinitely and won't return NULL which would cause a crash in the function. This is still not a correct fix, it may cause a classic deadlock when memory manager waits for I/O being done and I/O waits for some free memory. I/O code shouldn't allocate any memory. But in this case it probably doesn't matter much in practice, people usually do not swap on RAID. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit e54f77ddda72781ec1c1696b21aabd6a30cbb7c6 Author: Chandra Seetharaman Date: Mon Jun 22 10:12:12 2009 +0100 dm mpath: call activate fn for each path in pg_init Fixed a problem affecting reinstatement of passive paths. Before we moved the hardware handler from dm to SCSI, it performed a pg_init for a path group and didn't maintain any state about each path in hardware handler code. But in SCSI dh, such state is now maintained, as we want to fail I/O early on a path if it is not the active path. All the hardware handlers have a state now and set to active or some form of inactive. They have prep_fn() which uses this state to fail the I/O without it ever being sent to the device. So in effect when dm-multipath calls scsi_dh_activate(), activate is sent to only one path and the "state" of that path is changed appropriately to "active" while other paths in the same path group are never changed as they never got an "activate". In order make sure all the paths in a path group gets their state set properly when a pg_init happens, we need to call scsi_dh_activate() on all paths in a path group. Doing this at the hardware handler layer is not a good option as we want the multipath layer to define the relationship between path and path groups and not the hardware handler. Attached patch sends an "activate" on each path in a path group when a path group is switched. It also sends an activate when a path is reinstated. Signed-off-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit a0cf7ea9549ec60988369f90e5c0f855f08abac9 Author: Hannes Reinecke Date: Mon Jun 22 10:12:11 2009 +0100 dm mpath: change attached scsi_dh When specifying a different hardware handler via multipath features we should be able to override the built-in defaults. The problem here is the hardware table from scsi_dh is compiled in and cannot be changed from userland. The multipath.conf OTOH is purely user-defined and, what's more, the user might have a valid reason for modifying it. (EG EMC Clariion can well be run in PNR mode even though ALUA is active, or the user might want to try ALUA on any as-of-yet unknown devices) So _not_ allowing multipath to override the device handler setting will just add to the confusion and makes error tracking even more difficult. Signed-off-by: Hannes Reinecke Signed-off-by: Alasdair G Kergon commit 4d89b7b4e4726893453d0fb4ddbb5b3e16353994 Author: Milan Broz Date: Mon Jun 22 10:12:11 2009 +0100 dm: sysfs skip output when device is being destroyed Do not process sysfs attributes when device is being destroyed. Otherwise code can cause BUG_ON(test_bit(DMF_FREEING, &md->flags)); in dm_put() call. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit e094f4f15f5169526c7200b9bde44b900548a81e Author: Mikulas Patocka Date: Mon Jun 22 10:12:10 2009 +0100 dm mpath: validate hw_handler argument count Fix arg count parsing error in hw handlers. Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 6423f9ea8035138d70bae1a278d3b57b743f8b3e Author: Clemens Ladisch Date: Mon Jun 22 10:01:59 2009 +0200 sound: seq_midi_event: fix decoding of (N)RPN events When decoding (N)RPN sequencer events into raw MIDI commands, the extra_decode_xrpn() function had accidentally swapped the MSB and LSB controller values of both the parameter number and the data value. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 0e0497c0c017664994819f4602dc07fd95896c52 Author: Mikulas Patocka Date: Mon Jun 22 10:08:02 2009 +0100 dm mpath: validate table argument count The parser reads the argument count as a number but doesn't check that sufficient arguments are supplied. This command triggers the bug: dmsetup create mpath --table "0 `blockdev --getsize /dev/mapper/cr0` multipath 0 0 2 1 round-robin 1000 0 1 1 /dev/mapper/cr0 round-robin 0 1 1 /dev/mapper/cr1 1000" kernel BUG at drivers/md/dm-mpath.c:530! Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8c927b4acf819ed0170bff991bc9eaec4c85deb8 Author: Takashi Iwai Date: Mon Jun 22 10:56:54 2009 +0200 ALSA: hda - Add digital-mic support to ALC262 auto model Add the digital-mic support with ALC262 auto model. The new ALC262 models have the digital mic at NID 0x12. This widget isn't checked in the current alc262_auto_create_analog_input_ctls() since it's under 0x18. So, just reuse the routine for alc269 to fix the behavior. But, it doesn't suffice: the digital mic is supported only with the ADC0, we have to exclude other ADCs when d-mic is detected. Signed-off-by: Takashi Iwai commit 0169b6b33b2b4d9e66e98afc56272e5fbd350df4 Author: Takashi Iwai Date: Mon Jun 22 10:50:19 2009 +0200 ALSA: hda - Fix check of input source type for realtek codecs Fix the check of the input-source type by checking the widget type of each capture-source item. Since some codecs can have both the mixer and selector types depending on the ADC, alc_mux_enum_put() needs to check each widget. With this change, spec->capture_style gets unneeded, so it's removed, too. Signed-off-by: Takashi Iwai commit 376b508ffde3b17e105265f89b83bdb044b1c1ae Author: Takashi Iwai Date: Mon Jun 22 11:03:13 2009 +0200 ALSA: hda - Add quirk for Sony VAIO Z21MN It needs model=toshiba-s06 to work with the digital-mic. Signed-off-by: Takashi Iwai Cc: commit 4859484b0957ddc7fe3e0fa349d98b0f1c7876bd Author: Jiri Slaby Date: Fri Jun 19 23:24:11 2009 +0200 HID: hiddev, fix lock imbalance Add omitted BKL to one switch/case. Cc: Stable Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit b7f797cb600fa88de04903be4df3c8a6cb1cb35c Merge: 99bd0c0 0017c86 Author: Ingo Molnar Date: Mon Jun 22 10:24:43 2009 +0200 Merge branch 'for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu into x86/urgent commit ae14ef68e8e67ca5b8b29f0eb640f7c106617f4e Author: Takashi Iwai Date: Mon Jun 22 08:16:56 2009 +0200 ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model The commit f9e336f65b666b8f1764d17e9b7c21c90748a37e ALSA: hda - Unify capture mixer creation in realtek codes removed the "Input Source" mixer element creation for toshiba-s06 model because it contains a digital-mic input. This patch take the control back. Signed-off-by: Takashi Iwai Cc: commit b8621516cc7dd22fe4ad4c2fd8f7d852a33212df Author: Takashi Iwai Date: Mon Jun 22 08:00:10 2009 +0200 ALSA: hda - Fix unsigned comparison in patch_sigmatel.c Fix the comparison of unsigned int that causes a compile warning below by changing to the right signed type: patch_sigmatel.c: In function ‘stac92xx_vref_set’: patch_sigmatel.c:658: warning: comparison of unsigned expression < 0 is always false Signed-off-by: Takashi Iwai commit 115551d98e4c05bb982bd940f08a489fa9b0a4a1 Author: Simon Arlott Date: Sun Jun 21 19:50:48 2009 +0100 ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait There's a large 500ms delay in snd_via82xx_codec_wait() that, at least on my hardware, appears to be unnecessary. The rest of the init of the card works without logging any warnings or errors and both audio and mixer settings work. This adds an "nodelay" parameter to disable this (undocumented in the code) large delay improving bootup time by 489-500ms. [ 1.034217] initcall alsa_card_via82xx_init+0x0/0x16 returned 0 after 505757 usecs vs. [ 0.533136] initcall alsa_card_via82xx_init+0x0/0x16 returned 0 after 15915 usecs Signed-off-by: Simon Arlott Signed-off-by: Takashi Iwai commit 8bd9bca3c1a214350e2f2f1e2fd493ed24c06f7e Author: Mariusz Kozlowski Date: Sun Jun 21 20:26:59 2009 +0200 sound: fix check for return value in snd_pcm_hw_refine 'params' is a pointer and looking at the code this probably should be a check for ioctl return value. Signed-off-by: Mariusz Kozlowski Signed-off-by: Takashi Iwai commit e01698aed04811b9a9c4f8d54b73cb182757063d Author: David S. Miller Date: Sun Jun 21 22:48:03 2009 -0700 ide cmd64x: Remove serialize setting. This begins to fix regressions reported by Frans Pop on his Ultra-10. There are still some funnies left that we are investigating. Signed-off-by: David S. Miller commit f6b24caaf933a466397915a08e30e885a32f905a Author: Dave Jones Date: Sun Jun 21 22:42:30 2009 -0700 via-velocity: Fix velocity driver unmapping incorrect size. When a packet is greater than ETH_ZLEN, we end up assigning the boolean result of a comparison to the size we unmap. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit a8f4310be59a2e7fc80fba945bcb32b18f4ad54f Author: Takashi Iwai Date: Mon Jun 22 07:36:52 2009 +0200 ALSA: ctxfi - Allow unknown PCI SSIDs Allow unknown PCI SSIDs for emu20k1 and emu20k2 as "unknown" model. Also, add a black-list check in case any device has to be listed as "unsupported". It has a negative value in the pci quirk entry. Signed-off-by: Takashi Iwai commit be9f1c4f738a715abbd8ea742f3ec60a1ce73f4b Merge: 8c52da5 fb0f8fb Author: Eric Anholt Date: Sun Jun 21 22:14:55 2009 -0700 Merge commit 'keithp/drm-intel-next' into drm-intel-next commit 8c52da503b7e4cf961807f11824e3258ef9f7f1c Author: Eric Anholt Date: Thu Jun 18 20:22:19 2009 -0700 drm/i915: Add missing dependency on Intel AGP support. Users could accidentally enable AGP but not the Intel AGP support, and get a DRM that doesn't probe as a result. Bug #22358. Signed-off-by: Eric Anholt commit 0017c869ddcb73069905d09f9e98e68627466237 Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: ensure percpu lpage doesn't consume too much vmalloc space On extreme configuration (e.g. 32bit 32-way NUMA machine), lpage percpu first chunk allocator can consume too much of vmalloc space. Make it fall back to 4k allocator if the consumption goes over 20%. [ Impact: add sanity check for lpage percpu first chunk allocator ] Signed-off-by: Tejun Heo Reported-by: Jan Beulich Cc: Andi Kleen Cc: Ingo Molnar commit fa8a7094ba1679b4b9b443e0ac9f5e046c79ee8d Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: implement percpu_alloc kernel parameter According to Andi, it isn't clear whether lpage allocator is worth the trouble as there are many processors where PMD TLB is far scarcer than PTE TLB. The advantage or disadvantage probably depends on the actual size of percpu area and specific processor. As performance degradation due to TLB pressure tends to be highly workload specific and subtle, it is difficult to decide which way to go without more data. This patch implements percpu_alloc kernel parameter to allow selecting which first chunk allocator to use to ease debugging and testing. While at it, make sure all the failure paths report why something failed to help determining why certain allocator isn't working. Also, kill the "Great future plan" comment which had already been realized quite some time ago. [ Impact: allow explicit percpu first chunk allocator selection ] Signed-off-by: Tejun Heo Reported-by: Jan Beulich Cc: Andi Kleen Cc: Ingo Molnar commit e59a1bb2fdfb745c685f5b40ffbed126331d3223 Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: fix pageattr handling for lpage percpu allocator and re-enable it lpage allocator aliases a PMD page for each cpu and returns whatever is unused to the page allocator. When the pageattr of the recycled pages are changed, this makes the two aliases point to the overlapping regions with different attributes which isn't allowed and known to cause subtle data corruption in certain cases. This can be handled in simliar manner to the x86_64 highmap alias. pageattr code should detect if the target pages have PMD alias and split the PMD alias and synchronize the attributes. pcpur allocator is updated to keep the allocated PMD pages map sorted in ascending address order and provide pcpu_lpage_remapped() function which binary searches the array to determine whether the given address is aliased and if so to which address. pageattr is updated to use pcpu_lpage_remapped() to detect the PMD alias and split it up as necessary from cpa_process_alias(). Jan Beulich spotted the original problem and incorrect usage of vaddr instead of laddr for lookup. With this, lpage percpu allocator should work correctly. Re-enable it. [ Impact: fix subtle lpage pageattr bug and re-enable lpage ] Signed-off-by: Tejun Heo Reported-by: Jan Beulich Cc: Andi Kleen Cc: Ingo Molnar commit 992f4c1c2c1583cef3296ec4bf5205843a9a5f3d Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: reorganize cpa_process_alias() Reorganize cpa_process_alias() so that new alias condition can be added easily. Jan Beulich spotted problem in the original cleanup thread which incorrectly assumed the two existing conditions were mutially exclusive. [ Impact: code reorganization ] Signed-off-by: Tejun Heo Cc: Jan Beulich Cc: Andi Kleen Cc: Ingo Molnar commit 0ff2587fd54bd6f66bc6914ada4eb77a7e819a5b Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: prepare setup_pcpu_lpage() for pageattr fix Make the following changes in preparation of coming pageattr updates. * Define and use array of struct pcpul_ent instead of array of pointers. The only difference is ->cpu field which is set but unused yet. * Rename variables according to the above change. * Rename local variable vm to pcpul_vm and move it out of the function. [ Impact: no functional difference ] Signed-off-by: Tejun Heo Cc: Jan Beulich Cc: Andi Kleen Cc: Ingo Molnar commit 97c9bf0618cd40b05b4859c1f8a90d8ad97fefb2 Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: rename remap percpu first chunk allocator to lpage The "remap" allocator remaps large pages to build the first chunk; however, the name isn't very good because 4k allocator remaps too and the whole point of the remap allocator is using large page mapping. The allocator will be generalized and exported outside of x86, rename it to lpage before that happens. percpu_alloc kernel parameter is updated to accept both "remap" and "lpage" for lpage allocator. [ Impact: code cleanup, kernel parameter argument updated ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit c5806df9232d2a7f554b4839b57cac2e664fc256 Author: Tejun Heo Date: Mon Jun 22 11:56:24 2009 +0900 x86: fix duplicate free in setup_pcpu_remap() failure path In the failure path, setup_pcpu_remap() tries to free the area which has already been freed to make holes in the large page. Fix it. [ Impact: fix duplicate free in failure path ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 85ae87c1ad8e18a421e7448a99a42ecda183f29f Author: Tejun Heo Date: Mon Jun 22 11:56:23 2009 +0900 percpu: fix too lazy vunmap cache flushing In pcpu_unmap(), flushing virtual cache on vunmap can't be delayed as the page is going to be returned to the page allocator. Only TLB flushing can be put off such that vmalloc code can handle it lazily. Fix it. [ Impact: fix subtle virtual cache flush bug ] Signed-off-by: Tejun Heo Cc: Nick Piggin Cc: Ingo Molnar commit 0314db69d7564859890ff75e3f71cb4079b29869 Author: Yevgeny Petrilin Date: Sat Jun 20 22:16:10 2009 +0000 mlx4_en: Remove redundant refill code on RX Our RX rings are always full, there is no need to check whether we need to fill them or not. If we fail to allocate a new socket buffer, the incoming packet is dropped an the ring remains full. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 7237b400554c9bb5ba0091b5e39f4620f3dd5637 Author: Yevgeny Petrilin Date: Sat Jun 20 22:16:02 2009 +0000 mlx4_en: Removed redundant check on lso header size This check that verifies that the LSO header along with control segment and first data segment do not cross 128 bytes is no longer required. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 3c05f5ef7c09291e51ae327e854bf43cb8e55a55 Author: Yevgeny Petrilin Date: Sat Jun 20 22:15:52 2009 +0000 mlx4_en: Cancel port_up check in transmit function When closing the port, we stop all transmit queues under the transmit lock. It ensures that we will not attempt to transmit new packets after the physical port was closed. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a11faac79fdbf771ed1ab310f6ef44b389423fe7 Author: Yevgeny Petrilin Date: Sat Jun 20 22:15:46 2009 +0000 mlx4_en: using stop/start_all_queues After we moved to be a multi queue device, need to stop/start all of our transmit queues. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit d4ddbaa6a9a09c019fc1a7fed5a0fa403ac437b9 Author: Yevgeny Petrilin Date: Sat Jun 20 22:15:39 2009 +0000 mlx4_en: Removed redundant skb->len check We don't need this check in the transmit function Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 7e23091347664bf357ca651545c93e99fafc7b40 Author: Yevgeny Petrilin Date: Sat Jun 20 22:15:31 2009 +0000 mlx4_en: Counting all the dropped packets on the TX side Reporting the counter's value through 'ethtool -S' Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit dc1972d02747d2170fb1d78d114801f5ecb27506 Author: Michael Trimarchi Date: Fri Jun 19 14:50:02 2009 +0200 i2c: Fix stuck transaction on cpm-i2c driver When a process tries to read/write a disconnected i2c device, it receives a signal (e.g. ctrl-c) and the kernel gets stuck. BUG: soft lockup - CPU#0 stuck for 61s! [I2CEEpromTest:392] NIP: c01628f8 LR: c01628f0 CTR: c00177cc REGS: c39abd70 TRAP: 0901 Not tainted (2.6.25.7-alcore) MSR: 00009032 CR: 42042048 XER: 20000000 TASK = c3889bd0[392] 'I2CEEpromTest' THREAD: c39aa000 GPR00: 00009000 c39abe20 c3889bd0 c39075c8 c39abe28 00000001 00000000 00000001 GPR08: c3889bd0 c39075c8 00009032 c39abe34 00002437 NIP [c01628f8] cpm_i2c_xfer+0x5fc/0x6d0 LR [c01628f0] cpm_i2c_xfer+0x5f4/0x6d0 Call Trace: [c39abe20] [c0162924] cpm_i2c_xfer+0x628/0x6d0 (unreliable) [c39abe90] [c015f6a0] i2c_transfer+0x88/0xb4 [c39abeb0] [c0160164] i2c_master_recv+0x48/0x6c [c39abed0] [c01618dc] i2cdev_read+0x50/0xe4 [c39abef0] [c0068b24] vfs_read+0xc4/0x108 [c39abf10] [c0068f4c] sys_read+0x4c/0x90 [c39abf40] [c000d348] ret_from_syscall+0x0/0x38 Instruction dump: 3bc00064 92610010 3bf201c8 92810014 3b61 This happen because though the wait_event_interruptible_timeout takes the signals into account, the driver does not handle them. We propose to change the wait_event_interruptible_timeout with wait_event_timeout, leaving the signals to be handled in other points on the upper layers. Signed-off-by: Bruno Morelli Signed-off-by: Michael Trimarchi Acked-by: Jochen Friedrich [ben-linux@fluff.org: fix title for patch] Signed-off-by: Ben Dooks commit ff0f242626313f3544254cb882039794b7b70e4b Author: Tony Lindgren Date: Wed Jun 17 03:20:21 2009 -0700 i2c-omap: Fix build breaking typo cpu_is_omap_2430 Hi Ben, Can you please queue this fix? Thanks, Tony >From ffe2b2cdf6283770b70a197e3748c6b40a1006be Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Wed, 17 Jun 2009 13:14:23 +0300 Subject: [PATCH] i2c-omap: Fix build breaking typo in cpu_is_omap_2430 Commit 84bf2c86 introduced a typo, it should be cpu_is_omap2430 instead. The typo was probably caused by a mismerge. Without this patch all omaps fail to build with: error: implicit declaration of function 'cpu_is_omap_2430' Signed-off-by: Tony Lindgren Signed-off-by: Ben Dooks commit 920d44ed965b1fb842ae65fad1a51fc7570e1181 Author: David S. Miller Date: Sun Jun 21 16:11:33 2009 -0700 ide: Take over as maintainer. Signed-off-by: David S. Miller commit f234012f52a37e48f2330e1ca2df69800e797c3b Merge: 00d94a6 11a2f1b Author: Linus Torvalds Date: Sun Jun 21 13:14:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: sdhci: remove needless double parenthesis sdhci: Specific quirk vor VIA SDHCI controller in VX855ES s3cmci: fix dma configuration call mmc: Add new via-sdmmc host controller driver sdhci: Add support for hosts that are only capable of 1-bit transfers MAINTAINERS: add myself as atmel-mci maintainer (sd/mmc interface) sdhci: Add SDHCI_QUIRK_NO_MULTIBLOCK quirk sdhci: Add better ADMA error reporting sdhci-s3c: Samsung S3C based SDHCI controller glue commit 00d94a6a5e3d6a44818e2911a4d606e28e29fecb Merge: 8b12e25 b6f34d4 Author: Linus Torvalds Date: Sun Jun 21 13:14:07 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: aes-ni - Remove CRYPTO_TFM_REQ_MAY_SLEEP from fpu template crypto: aes-ni - Do not sleep when using the FPU crypto: aes-ni - Fix cbc mode IV saving crypto: padlock-aes - work around Nano CPU errata in CBC mode crypto: padlock-aes - work around Nano CPU errata in ECB mode commit 8b12e2505ad8c5010922e45f896d908fd1436709 Merge: 4133184 00540e5 Author: Linus Torvalds Date: Sun Jun 21 13:13:53 2009 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: Select frame pointers on x86 dma-debug: be more careful when building reference entries dma-debug: check for sg_call_ents in best-fit algorithm too commit 413318444fd5351f9858b9deb4e8ecaf8898ee05 Merge: d06063c 4716628 Author: Linus Torvalds Date: Sun Jun 21 13:13:08 2009 -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: ALSA: hda - Add model=6530g option ALSA: hda - Acer Inspire 6530G model for Realtek ALC888 ALSA: snd_usb_caiaq: fix legacy input streaming ASoC: Kill BUS_ID_SIZE ALSA: HDA - Correct trivial typos in comments. ALSA: HDA - Name-fixes in code (tagra/targa) ALSA: HDA - Add pci-quirk for MSI MS-7350 motherboard. ALSA: hda - Fix memory leak at codec creation commit d06063cc221fdefcab86589e79ddfdb7c0e14b63 Author: Linus Torvalds Date: Fri Apr 10 09:01:23 2009 -0700 Move FAULT_FLAG_xyz into handle_mm_fault() callers This allows the callers to now pass down the full set of FAULT_FLAG_xyz flags to handle_mm_fault(). All callers have been (mechanically) converted to the new calling convention, there's almost certainly room for architectures to clean up their code and then add FAULT_FLAG_RETRY when that support is added. Signed-off-by: Linus Torvalds commit 30c9f3a9fae79517bca595826a19c6855fbb6d32 Author: Linus Torvalds Date: Fri Apr 10 08:43:11 2009 -0700 Remove internal use of 'write_access' in mm/memory.c The fault handling routines really want more fine-grained flags than a single "was it a write fault" boolean - the callers will want to set flags like "you can return a retry error" etc. And that's actually how the VM works internally, but right now the top-level fault handling functions in mm/memory.c all pass just the 'write_access' boolean around. This switches them over to pass around the FAULT_FLAG_xyzzy 'flags' variable instead. The 'write_access' calling convention still exists for the exported 'handle_mm_fault()' function, but that is next. Signed-off-by: Linus Torvalds commit 232086b19964d0e13359d30d74b11ca31b0751cb Author: Johannes Weiner Date: Sat Jun 20 02:23:29 2009 +0200 ipc: unbreak 32-bit shmctl/semctl/msgctl 31a985f "ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h" would choose the implementation of ipc_parse_version() based on a symbol defined in . But it failed to also include this header and thus broke IPC_64-passing 32-bit userspace because the flag wasn't masked out properly anymore and the command not understood. Include to give the architecture a chance to ask for the no-no-op ipc_parse_version(). Signed-off-by: Johannes Weiner Acked-by: Arnd Bergmann Signed-off-by: Linus Torvalds commit 11a2f1b78a43d0c2bd026d79b952742c7588f529 Author: Pierre Ossman Date: Sun Jun 21 20:59:33 2009 +0200 sdhci: remove needless double parenthesis Signed-off-by: Pierre Ossman commit 557b06971b1f05cbadec2f376a305ee1954e9b0d Author: Harald Welte Date: Thu Jun 18 16:53:38 2009 +0200 sdhci: Specific quirk vor VIA SDHCI controller in VX855ES The SDHCI controller found in the VX855ES requires 10ms delay between applying power and applying clock. This issue has been discovered and documented by the OLPC XO1.5 team. Signed-off-by: Harald Welte Signed-off-by: Pierre Ossman commit fe9db6cbf16ed64f882999dc0bffef0c65f70c4f Author: Ben Dooks Date: Mon Jun 8 23:33:56 2009 +0100 s3cmci: fix dma configuration call This was missed in the DMA changes during the s3c24xx updates in commit 8970ef47d56fd3db28ee798b9d400caf08abd924. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit f0bf7f61b8405224bc52fc9a3ccd167a68126e00 Author: Harald Welte Date: Wed Jun 17 20:22:39 2009 +0200 mmc: Add new via-sdmmc host controller driver This adds the via-sdmmc driver for the SD/MMC-controller of VIA, which is found in a number of recent integrated VIA chipset products. Signed-off-by: Harald Welte Signed-off-by: Pierre Ossman commit 5fe23c7f51def59f66bc6aeee988ef1a467a2c8c Author: Anton Vorontsov Date: Thu Jun 18 00:14:08 2009 +0400 sdhci: Add support for hosts that are only capable of 1-bit transfers Some hosts (hardware configurations, or particular SD/MMC slots) may not support 4-bit bus. For example, on MPC8569E-MDS boards we can switch between serial (1-bit only) and nibble (4-bit) modes, thought we have to disable more peripherals to work in 4-bit mode. Along with some small core changes, this patch modifies sdhci-of driver, so that now it looks for "sdhci,1-bit-only" property in the device-tree, and if specified we enable a proper quirk. Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Pierre Ossman commit 04ac2f46d6ecb995f78c9ae4e2e4707d00b5339f Author: Nicolas Ferre Date: Tue Jun 16 13:05:50 2009 +0200 MAINTAINERS: add myself as atmel-mci maintainer (sd/mmc interface) Add MAINTAINERS entry for atmel-mci driver. This driver was maintained by its author: Haavard Skinnemoen. I take the maintainance of it. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit 1388eefd5a5e6aaa3cb04070bfc2b944c1d24b82 Author: Ben Dooks Date: Sun Jun 14 12:40:53 2009 +0100 sdhci: Add SDHCI_QUIRK_NO_MULTIBLOCK quirk Add quirk to show the controller cannot do multi-block IO. This is mainly for the Samsung SDHCI controller that currently cannot manage to do multi-block PIO without timing out. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 6882a8c071d609f4c088bee41e79572c7cfc1790 Author: Ben Dooks Date: Sun Jun 14 13:52:38 2009 +0100 sdhci: Add better ADMA error reporting Update the ADMA error reporting to not only show the overall controller state but also to print the ADMA descriptor list. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 0d1bb41ad4ebca92fafbab6d6c60438d7efef386 Author: Ben Dooks Date: Sun Jun 14 13:52:37 2009 +0100 sdhci-s3c: Samsung S3C based SDHCI controller glue Add support for the 'HSMMC' block(s) in the Samsung SoC line. These are compatible with the SDHCI driver so add the necessary setup and driver binding for the platform devices. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit 3c559ea8fd003962d9a28c64b2dd5c6d83ca6edb Author: James Bottomley Date: Sun Jun 21 12:11:43 2009 -0500 [SCSI] scsi_transport_fc: replace BUS_ID_SIZE by fixed count BUS_ID_SIZE is being removed from the kernel. Cc: Kay Sievers Signed-off-by: James Bottomley commit b391277a56b9eaaff4474339c703e574ed7fab5b Author: Hannes Reinecke Date: Thu Jun 18 09:57:18 2009 +0200 sd, sr: fix Driver 'sd' needs updating message If a SCSI ULD driver sets blk_queue_prep_rq(), it should clean it up itself on remove(), and not from the bus callbacks. This removes the need to hook into bus->remove(), which should not be used at the same time as driver->remove(). [jejb: fix sdkp initialisation problem due to mismerge] Signed-off-by: Hannes Reinecke Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit 24add1c4326ce5ca22e7af8b84bb113cd48efac9 Author: Jaswinder Singh Rajput Date: Sat Jun 20 13:29:21 2009 +0530 scsi_transport_iscsi: return -EOVERFLOW for Too many iscsi targets setting err as -EOVERFLOW for Too many iscsi targets. Also fixes a spurious compiler warning for gcc 4.3.3 and gcc 4.4 : CC drivers/scsi/scsi_transport_iscsi.o drivers/scsi/scsi_transport_iscsi.c: In function ‘iscsi_add_session’: drivers/scsi/scsi_transport_iscsi.c:678: warning: ‘err’ may be used uninitialized in this function Signed-off-by: Jaswinder Singh Rajput Acked-by: Mike Christie Signed-off-by: James Bottomley commit 47e7e89ed029780adf2cc0cf506fcd4c2d5ca1e2 Author: Giridhar Malavali Date: Fri Jun 19 16:26:54 2009 -0700 fc_transport: Selective return value from BSG timeout function The return value from BSG timout function should be based on the state of the BSG job. This helps block layer to take selective actions to clean up BSG job. Signed-off-by: Giridhar Malavali Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b5c6f77680f4ff1775838fcedfdd6026bf5ad777 Author: Giridhar Malavali Date: Fri Jun 19 16:26:53 2009 -0700 fc_transport: The softirq_done function registration for BSG request Registered the softirq_done function, since this is requried iby an request using block level request timeout functionality. This function will be called by the block layer as part of time out clean process to release the BSG request. Moved some of the BSG request completion activities to softirq_done routine to take care of both normal and timout completions. Signed-off-by: Giridhar Malavali Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 75be63bcf73ebdd1fdc1d49f6bf2d1326a1ba7de Author: John Stoffel Date: Fri Jun 19 16:08:58 2009 -0400 sym53c8xx: ratelimit parity errors This makes a huge difference when you have a serial console on bootup to limit these messages to a sane number. Signed-off-by: John Stoffel Signed-off-by: James Bottomley commit 5e2fb917920c62c5ad260962471aeb578b52ac40 Author: Stefan Richter Date: Thu Jun 18 21:03:23 2009 +0200 explain the hidden scsi_wait_scan Kconfig variable People keep sending patches to expose CONFIG_SCSI_WAIT_SCAN as a tunable item. These patches aren't accepted upstream, so let's stop the ongoing irritation of people due to the unconditionally installed module and its Kconfig symbol. Signed-off-by: Stefan Richter Signed-off-by: James Bottomley commit 017b2ae33c0fc7d70320cc7f1cce0efb6ce8d929 Author: Brian King Date: Thu Jun 18 09:06:55 2009 -0500 ibmvfc: Fix endless PRLI loop in discovery Fixes a problem seen where sending a PRLI to a target resulted in it sending a LOGO. This caused the ibmvfc driver to go back through discovery again, which caused another PRLI attempt, which caused another LOGO. Fix this behavior by ignoring LOGO if we haven't even logged into the target yet. Signed-off-by: Brian King Signed-off-by: James Bottomley commit f1d7fb7a8ab55357b6c7d44a53f644a043680ed1 Author: Brian King Date: Thu Jun 18 09:06:52 2009 -0500 ibmvfc: Process async events before command responses Since async events could indicate changes to link status, or events which could affect decisions made during discovery, we should process async events prior to command completion responses. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7414705ea4aef9ce438e547f3138a680d2d1096c Author: Robert Love Date: Wed Jun 10 15:31:10 2009 -0700 libfc: Add runtime debugging with debug_logging module parameter This patch adds the /sys/module/libfc/parameters/debug_logging file to sysfs as a module parameter. It accepts an integer bitmask for logging. Currently it supports: bit LSB 0 = general libfc debugging 1 = lport debugging 2 = disc debugging 3 = rport debugging 4 = fcp debugging 5 = EM debugging 6 = exch/seq debugging 7 = scsi logging (mostly error handling) the other bits are not used at this time. The patch converts all of the libfc source files to use these new macros and removes the old FC_DBG macro. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 650bd12b9e31ec51d7ad0df3c4f94d863b827976 Author: Robert Love Date: Wed Jun 10 15:31:05 2009 -0700 libfcoe: Add runtime debugging with module param debug_logging This patch adds a 'debug_logging' module parameter to libfcoe.ko. It is an unsigned int that represents a bitmask of available debug logging levels, each of which can be tuned at runtime. Currently there are only two logging levels for this module- bit LSB 0 = libfcoe general logging 1 = FIP logging Signed-off-by: Robert Love Signed-off-by: James Bottomley commit d5488eb9cd2b06f7dcca7053274edb337987c67c Author: Robert Love Date: Wed Jun 10 15:30:59 2009 -0700 fcoe: Add runtime debug logging with module parameter debug_logging This patch converts all FC_DBG statements to use new runtime tunable debug macros. The fcoe.ko module now has a debug_logging module parameter. fcoe_debug_logging is an unsigned integer representing a bitmask of all available logging levels. Currently only two logging levels are supported- bit LSB 0 = general fcoe logging 1 = netdevice related logging This patch also attempts to clean up some debug statement formatting so it's more readable. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ea61fca58c1373a48c0741798f70364d4498d2af Author: Martin K. Petersen Date: Fri May 15 00:40:33 2009 -0400 scsi_debug: Add support for physical block exponent and alignment This patch adds support for setting the physical block exponent and lowest aligned LBA in the READ CAPACITY(16) response. The B0 VPD page is adjusted accordingly. Signed-off-by: Martin K. Petersen Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 895553824ed9d2c1409d4dc6e0db4d6dfd344679 Author: Randy Dunlap Date: Thu Jun 18 09:55:17 2009 -0700 cnic: add NETDEV_1000 and NETDEVICES to Kconfig select NETDEVICES + NETDEV_1000 need to be enabled so that kconfig will check those branches for selects and enforce "select UIO" under CNIC. Otherwise the build fails with: ERROR: "uio_unregister_device" [drivers/net/cnic.ko] undefined! ERROR: "uio_event_notify" [drivers/net/cnic.ko] undefined! ERROR: "__uio_register_device" [drivers/net/cnic.ko] undefined! Signed-off-by: Randy Dunlap Acked-by: Michael Chan Signed-off-by: James Bottomley commit e2ee3616bc334ab51e68aad6905761ca97f35559 Author: Michael Chan Date: Sat Jun 13 17:43:02 2009 -0700 cnic: Fix __symbol_get() build error. Ingo molnar reported the error drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’ when CONFIG_MODULES is not defined. Fix by using symbol_get() instead. Signed-off-by: Michael Chan Signed-off-by: James Bottomley commit 7cbdca23c8a4e6d007b62c9136ba0e5f86e069d0 Author: James Bottomley Date: Sat Jun 13 15:51:08 2009 -0500 Revert "[SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’" This reverts commit bc3bf8fd330ce981ce632a1a4a283eee46838f32. All the commit did was add a second #include of which is the wrong fix. Signed-off-by: James Bottomley commit 1be7bd82bf4c5d9d3efd1de0e2ebe2c5b1db8340 Author: Wayne Boyer Date: Wed Jun 17 09:55:35 2009 -0700 ipr: differentiate pci-x and pci-e based adapters MSI has only been tested on and known to work with PCI-E based adapters. This patch adds a field to struct ipr_chip_t to indicate which type of interrupt to use based on what is known about the chip. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit 95fecd90397ec1f85eb31ede955d846a86d2077b Author: Wayne Boyer Date: Tue Jun 16 15:13:28 2009 -0700 ipr: add test for MSI interrupt support The return value from pci_enable_msi() can not always be trusted. This patch adds code to generate an interrupt after MSI has been enabled and tests whether or not we can receive and process it. If the tests fails, then fall back to LSI. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit a9e0edb687151617fe89cc5ab0086ebfc73ffccb Author: James Bottomley Date: Wed Jun 17 19:05:05 2009 +0000 scsi_transport_spi: Blacklist Ultrium-3 tape for IU transfers There have been several bug reports which identified the Ultrium-3 tape as just hanging up on the bus during certain types of IU transfer. The identified culpret is type 0x02 (MULTIPLE COMMAND) transfers. The only way to prevent this tape wedging is to prevent it from using IU transfers at all. So this patch uses the exported blacklist matching technology to recognise the drive and force it not to use IU transfers. Signed-off-by: James Bottomley commit 9872b81cf9f4b163e9c558d79e76b832c58a4814 Author: James Bottomley Date: Wed Jun 17 15:03:41 2009 -0400 scsi_transport_spi: use spi target settings instead of inquiry data for DV Right at the moment, we carefully set up the spi_support_xx in the device configuration routines, but then we never actually use the results: we rely on the inquiry strings. If we're going to allow overrides to the inquiry data, we have to rely on our own internal settings. Signed-off-by: James Bottomley commit 598fa4b775d064d4656132c78d9a312eb1d2f91f Author: James Bottomley Date: Wed Jun 17 15:01:58 2009 -0400 enhance device info matching for multiple tables The current scsi_devinfo.c matching routines use a single table for the global blacklist. However, we're developing a need to blacklist from specific transports too (notably some tape drives using SPI which don't respond well to high speed protocols). Instead of developing separate blacklist matching for each transport class needing it, enhance the current list matching to permit multiple lists. Signed-off-by: James Bottomley commit e0420029dedb867e5c2c044a0737338a7e9cec0b Author: Andrew Vasquez Date: Wed Jun 17 10:30:32 2009 -0700 qla2xxx: Update version number to 8.03.01-k4. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e18e963b7e533149676b5d387d0a56160df9f111 Author: Andrew Vasquez Date: Wed Jun 17 10:30:31 2009 -0700 qla2xxx: Correct (again) overflow during dump-processing on large-memory ISP23xx parts. Commit 7b867cf76fbcc8d77867cbec6f509f71dce8a98f ([SCSI] qla2xxx: Refactor qla data structures) inadvertently reverted e792121ec85672c1fa48f79d13986a3f4f56c590 ([SCSI] qla2xxx: Correct overflow during dump-processing on large-memory ISP23xx parts.). Cc: stable@kernel.org Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 9d2683c05ce57b4a0231e028927bf1197e8324a8 Author: Andrew Vasquez Date: Wed Jun 17 10:30:30 2009 -0700 qla2xxx: Limit querying to supported mailbox-registers while reading FW state. Pre-ISP24xx chips have dedicated uses for mailbox 4 and 5 which software should typically not query nor update. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1bb395485160d203a726a19e4fcb1a154748d804 Author: Harish Zunjarrao Date: Wed Jun 17 10:30:29 2009 -0700 qla2xxx: Correct iiDMA-update calling conventions. * To set iiDMA speeds for ISP81XX, bits 5-0 are used whereas for other older ISPs bits 2-0 are used. * Pass proper VP index Signed-off-by: Harish Zunjarrao Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 27dc9c5a3d652b0d55ab9ab396dcce9f13bc77c3 Author: Anirban Chakraborty Date: Wed Jun 17 10:30:28 2009 -0700 qla2xxx: Fixed a bug in number of response queue creation logic. Cc: stable@kernel.org Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 30c9afa6cc477f6f21f8a0b36f3b81080941a0c9 Author: Joe Eykholt Date: Mon Jun 15 23:22:14 2009 -0700 fix race that can give duplicate host number Just once, two fcoe instances got the same host number from scsi_add_host(). Use atomic_t and atomic_inc_return() to get next host number. Subtract 1, so that scsi_host still starts with 0. [jejb: added comment about unusual subtraction] Signed-off-by: Joe Eykholt Signed-off-by: James Bottomley commit 111986593561fc4c94a1fba3f3cd84476fb40b22 Author: FUJITA Tomonori Date: Wed Jun 17 15:10:11 2009 +0900 block: revert "bsg: setting rq->bio to NULL" The SMP handler (sas_smp_request) was fixed to use the block API properly, so we don't need this workaround to avoid blk_put_request() warning. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 93bdcba5a7e55307e27671594c3cd8b4669b9e7a Author: FUJITA Tomonori Date: Wed Jun 17 15:10:10 2009 +0900 scsi_transport_sas: needs to call blk_end_request_all for SMP requests We need to call blk_end_request_all to complete SMP requests properly. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit bd2199d417313a056d4d2b2bac852231e1b50a4e Author: Erez Zilber Date: Mon Jun 15 22:11:10 2009 -0500 libiscsi: add conn and scsi eh log debug flags Allow the user to control the debug logs in libiscsi. We will now have a module param for connection, session & error handling. [Mike Christie - Fixed up to compile on current code and added missing ISCSI_DBG_EH conversions] Signed-off-by: Erez Zilber Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 32382492eb18e8e20be382a1743d0c08469d1e84 Author: Mike Christie Date: Mon Jun 15 22:11:09 2009 -0500 iscsi_tcp: propogate EAGAIN from sendpage to libiscsi The net layer might return -EAGAIN because it could not get space/mem within the sock sndtimeo or becuase the tcp/ip connection was down. For the latter we do not want to retry because the conn/session should just be shutdown and restarted. libiscsi knows the state of the session recovery so propogate this error to that layer. It will either do iscsi recovery or have us retry the operation. Right now if we have partially sent a pdu we would always retry the IO xmit slowing down recovery. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d355e57d58193b89283b0c8153649f0427b0bdad Author: Mike Christie Date: Mon Jun 15 22:11:08 2009 -0500 libiscsi: don't run scsi eh if iscsi task is making progress If we are sending or receiving data for the task successfully do not run the scsi eh, because we know the task is making progress. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9194c6264040d71f851236437a392594b26e5b91 Author: Karen Xie Date: Mon Jun 15 11:15:16 2009 -0700 cxgb3i: suppot of different kernel page sizes The default kernel pages supported are 4K, 8K, 16K, and 64K. Re-calculate entries if PAGE_SIZE is not one of the defaults. Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit 295ab1b54393aec064533fbc5b483844736ccbf0 Author: Karen Xie Date: Mon Jun 15 11:15:16 2009 -0700 cxgb3i: use kref to track ddp usage The iscsi ddp functionality could be used by multiple iscsi entities, add a refcnt to keep track of it, so we would not release it pre-maturely. Signed-off-by: Karen Xie Signed-off-by: James Bottomley commit d11b6916961d6ec7d7215332cbbe9feec086721d Author: Martin K. Petersen Date: Sat May 23 11:43:39 2009 -0400 sd: Block limits VPD support Query the block limits VPD page and adjust queue minimum and optimal I/O sizes. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 3821d768912a47ddbd6cab52943a8284df88003c Author: Martin K. Petersen Date: Sat May 23 11:43:38 2009 -0400 sd: Detect non-rotational devices Detect non-rotational devices and set the queue flag accordingly. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit ea09bcc9c298d3057270abd78a973fc678d55c4c Author: Martin K. Petersen Date: Sat May 23 11:43:37 2009 -0400 sd: Physical block size and alignment support Extract physical block size and lowest aligned LBA from READ CAPACITY(16) response and adjust queue parameters. Report physical block size and alignment when applicable. [jejb: fix up trailing whitespace] Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 42c55aa838bbd274a7ad2be1fd81d423ca63da4e Author: Boaz Harrosh Date: Wed Jun 17 16:54:34 2009 +0300 MAINTAINERS: Add osd maintained files (F:) OSD files are found in three places: drivers/scsi/osd/ include/scsi/osd_* fs/exofs/ Signed-off-by: Boaz Harrosh commit baaf94cdc7fe1c61e3c660a3b055724fd9d0a034 Author: Boaz Harrosh Date: Sun Jun 14 16:52:10 2009 +0300 exofs: Avoid using file_fsync() The use of file_fsync() in exofs_file_sync() is not necessary since it does some extra stuff not used by exofs. Open code just the parts that are currently needed. TODO: Farther optimization can be done to sync the sb only on inode update of new files, Usually the sb update is not needed in exofs. Signed-off-by: Boaz Harrosh commit 27d2e1491985e95c486d991302e399f5c584b4eb Author: Boaz Harrosh Date: Sun Jun 14 17:23:09 2009 +0300 exofs: Remove IBM copyrights Boaz, Congrats on getting all the OSD stuff into 2.6.30! I just pulled the git, and saw that the IBM copyrights are still there. Please remove them from all files: * Copyright (C) 2005, 2006 * International Business Machines IBM has revoked all rights on the code - they gave it to me. Thanks! Avishay Signed-off-by: Avishay Traeger Signed-off-by: Boaz Harrosh commit b76a3f93d01fc93a87cb6eba4e854ffe378b4bac Author: Boaz Harrosh Date: Mon Jun 8 19:28:41 2009 +0300 exofs: Fix bio leak in error handling path (sync read) When failing a read request in the sync path, called from write_begin, I forgot to free the allocated bio, fix it. Signed-off-by: Boaz Harrosh commit c1f47b454ce759d7b13604137a233cad4617e1e8 Author: Ingo Molnar Date: Sun Jun 21 13:58:51 2009 +0200 perf_counter tools: Fix vmlinux fallback when running on a different kernel Lucas De Marchi reported that perf report and perf annotate displays mismatching profile if a perf.data is analyzed on an older kernel - even if the correct vmlinux is specified via the -k option. The reason is the fallback path in util/symbol.c:dso__load_kernel(): int dso__load_kernel(struct dso *self, const char *vmlinux, symbol_filter_t filter, int verbose) { int err = -1; if (vmlinux) err = dso__load_vmlinux(self, vmlinux, filter, verbose); if (err) err = dso__load_kallsyms(self, filter, verbose); return err; } dso__load_vmlinux() returns negative on error, but on success it returns the number of symbols loaded - which confuses the function to load the kallsyms. This is normally harmless, as reporting is usually performed on the same kernel that is analyzed - but if there's a mismatch then we load the wrong kallsyms and create a non-sensical symbol tree. The fix is to only fall back to kallsyms on errors. Reported-by: Lucas De Marchi Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d9f2a5ecb2846d0fd368fb4c45182e43f38e4471 Author: Jaswinder Singh Rajput Date: Sat Jun 20 13:19:25 2009 +0530 perf_counter, x8: Fix L1-data-Cache-Store-Referencees for AMD Fix AMD's Data Cache Refills from System event. After this patch : ./tools/perf/perf stat -e l1d -e l1d-misses -e l1d-write -e l1d-prefetch -e l1d-prefetch-miss -e l1i -e l1i-misses -e l1i-prefetch -e l2 -e l2-misses -e l2-write -e dtlb -e dtlb-misses -e itlb -e itlb-misses -e bpu -e bpu-misses ls /dev/ > /dev/null Performance counter stats for 'ls /dev/': 2499484 L1-data-Cache-Load-Referencees (scaled from 3.97%) 70347 L1-data-Cache-Load-Misses (scaled from 7.30%) 9360 L1-data-Cache-Store-Referencees (scaled from 8.64%) 32804 L1-data-Cache-Prefetch-Referencees (scaled from 17.72%) 7693 L1-data-Cache-Prefetch-Misses (scaled from 22.97%) 2180945 L1-instruction-Cache-Load-Referencees (scaled from 28.48%) 14518 L1-instruction-Cache-Load-Misses (scaled from 35.00%) 2405 L1-instruction-Cache-Prefetch-Referencees (scaled from 34.89%) 71387 L2-Cache-Load-Referencees (scaled from 34.94%) 18732 L2-Cache-Load-Misses (scaled from 34.92%) 79918 L2-Cache-Store-Referencees (scaled from 36.02%) 1295294 Data-TLB-Cache-Load-Referencees (scaled from 35.99%) 30896 Data-TLB-Cache-Load-Misses (scaled from 33.36%) 1222030 Instruction-TLB-Cache-Load-Referencees (scaled from 29.46%) 357 Instruction-TLB-Cache-Load-Misses (scaled from 20.46%) 530888 Branch-Cache-Load-Referencees (scaled from 11.48%) 8638 Branch-Cache-Load-Misses (scaled from 5.09%) 0.011295149 seconds time elapsed. Earlier it always shows value 0. Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1245484165.3102.6.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit d4ec36bac3de39b7e10ec8f42fbdd20d9a9ed753 Author: Wolfram Sang Date: Sun Jun 21 12:32:39 2009 +0200 sched: Documentation/sched-rt-group: Fix style issues & bump version - add missing closing bracket - fix two 80-chars issues (as the rest of the document adheres to it) - bump a reference to kernel version, so the document does not feel aged Signed-off-by: Wolfram Sang Cc: Peter Zijlstra LKML-Reference: <1245580359-4465-1-git-send-email-w.sang@pengutronix.de> Signed-off-by: Ingo Molnar commit 47166281d2dc9daf7da9a5ad88491ae94366e852 Merge: 0b6306f b1a9146 Author: Takashi Iwai Date: Sun Jun 21 10:59:12 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - Add model=6530g option ALSA: hda - Acer Inspire 6530G model for Realtek ALC888 ALSA: HDA - Correct trivial typos in comments. ALSA: HDA - Name-fixes in code (tagra/targa) ALSA: HDA - Add pci-quirk for MSI MS-7350 motherboard. ALSA: hda - Fix memory leak at codec creation commit 0b6306f69f1857f8883cbd81a5f60393db6a08fc Merge: 9fd0d96 0a842c8 Author: Takashi Iwai Date: Sun Jun 21 10:59:10 2009 +0200 Merge branch 'topic/caiaq' into for-linus * topic/caiaq: ALSA: snd_usb_caiaq: fix legacy input streaming commit 9fd0d96e799ef96f1394cbb67abc2a2e2b714ddc Merge: 3b13b5c ef39412 Author: Takashi Iwai Date: Sun Jun 21 10:59:04 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: Kill BUS_ID_SIZE commit b1a914690c581f8f88b897d83a79b1c6eaf494c9 Author: Takashi Iwai Date: Sun Jun 21 10:56:44 2009 +0200 ALSA: hda - Add model=6530g option Add the new model string corresponding to the previous Acer Aspire 6530G support. Signed-off-by: Takashi Iwai commit 0c53decdd0a9f9c459ccabe0b5f79660bde5375b Author: Stefan Richter Date: Tue Jun 16 22:36:34 2009 +0200 firewire: new stack is no longer experimental The new stack is now recommended over the old one if used for industrial video (IIDC/DCAM) or for storage devices (SBP-2) due to better performance, improved compatibility, added features, and security. It should also be functionally on par with and is more secure than the old ieee1394 stack in the use case of consumer video devices. IP-over-1394 support for the new stack is currently emerging, and a backend of the firedtv DVB driver to the new stack should be available soon. The one remaining area where the old stack is still required are audio devices, as the new stack is not yet able to support the FFADO FireWire audio framework. Signed-off-by: Stefan Richter commit d2fd4b09c07ae0c5ac288c0da6100c26ba9db15b Author: Tony Vroon Date: Sun Jun 21 00:40:10 2009 +0100 ALSA: hda - Acer Inspire 6530G model for Realtek ALC888 The selected 4930G model seemed to keep the subwoofer 'tuba' function from operating correctly. Removing the existing PCI ID match made this work again, but it was mapped to 'Side' instead of to LFE as one would expect. This attempts to enable all functionality and keep the amount of available mixer sliders low. Any slider that had no audible effect on the output audio has been removed, and as such EAPD is not currently enabled. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit 00540e5d54be972a94a3b2ce6da8621bebe731a2 Author: Peter Zijlstra Date: Fri Jun 12 10:04:01 2009 +0200 lockdep: Select frame pointers on x86 x86 stack traces are a piece of crap without frame pointers, and its not like the 'performance gain' of not having stack pointers matters when you selected lockdep. Reported-by: Andrew Morton LKML-Reference: Cc: Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 99bd0c0fc4b04da54cb311953ef9489931c19c63 Author: Andreas Herrmann Date: Fri Jun 19 10:59:09 2009 +0200 x86: Set cpu_llc_id on AMD CPUs This counts when building sched domains in case NUMA information is not available. ( See cpu_coregroup_mask() which uses llc_shared_map which in turn is created based on cpu_llc_id. ) Currently Linux builds domains as follows: (example from a dual socket quad-core system) CPU0 attaching sched-domain: domain 0: span 0-7 level CPU groups: 0 1 2 3 4 5 6 7 ... CPU7 attaching sched-domain: domain 0: span 0-7 level CPU groups: 7 0 1 2 3 4 5 6 Ever since that is borked for multi-core AMD CPU systems. This patch fixes that and now we get a proper: CPU0 attaching sched-domain: domain 0: span 0-3 level MC groups: 0 1 2 3 domain 1: span 0-7 level CPU groups: 0-3 4-7 ... CPU7 attaching sched-domain: domain 0: span 4-7 level MC groups: 7 4 5 6 domain 1: span 0-7 level CPU groups: 4-7 0-3 This allows scheduler to assign tasks to cores on different sockets (i.e. that don't share last level cache) for performance reasons. Signed-off-by: Andreas Herrmann LKML-Reference: <20090619085909.GJ5218@alberich.amd.com> Cc: Signed-off-by: Ingo Molnar commit c277331d5fbaae5772ed19862feefa91f4e477d3 Author: Johannes Weiner Date: Fri Jun 19 19:30:56 2009 +0200 mm: page_alloc: clear PG_locked before checking flags on free da456f1 "page allocator: do not disable interrupts in free_page_mlock()" moved the PG_mlocked clearing after the flag sanity checking which makes mlocked pages always trigger 'bad page'. Fix this by clearing the bit up front. Reported--and-debugged-by: Peter Chubb Signed-off-by: Johannes Weiner Acked-by: Mel Gorman Tested-by: Maxim Levitsky Signed-off-by: Linus Torvalds commit 9063c61fd5cbd6f42e95929aa0e02380c9e15656 Author: Linus Torvalds Date: Sat Jun 20 15:40:00 2009 -0700 x86, 64-bit: Clean up user address masking The discussion about using "access_ok()" in get_user_pages_fast() (see commit 7f8189068726492950bf1a2dcfd9b51314560abf: "x86: don't use 'access_ok()' as a range check in get_user_pages_fast()" for details and end result), made us notice that x86-64 was really being very sloppy about virtual address checking. So be way more careful and straightforward about masking x86-64 virtual addresses: - All the VIRTUAL_MASK* variants now cover half of the address space, it's not like we can use the full mask on a signed integer, and the larger mask just invites mistakes when applying it to either half of the 48-bit address space. - /proc/kcore's kc_offset_to_vaddr() becomes a lot more obvious when it transforms a file offset into a (kernel-half) virtual address. - Unify/simplify the 32-bit and 64-bit USER_DS definition to be based on TASK_SIZE_MAX. This cleanup and more careful/obvious user virtual address checking also uncovered a buglet in the x86-64 implementation of strnlen_user(): it would do an "access_ok()" check on the whole potential area, even if the string itself was much shorter, and thus return an error even for valid strings. Our sloppy checking had hidden this. So this fixes 'strnlen_user()' to do this properly, the same way we already handled user strings in 'strncpy_from_user()'. Namely by just checking the first byte, and then relying on fault handling for the rest. That always works, since we impose a guard page that cannot be mapped at the end of the user space address space (and even if we didn't, we'd have the address space hole). Acked-by: Ingo Molnar Cc: Peter Zijlstra Cc: Andrew Morton Cc: Nick Piggin Cc: Hugh Dickins Cc: H. Peter Anvin Cc: Thomas Gleixner Cc: Alan Cox Signed-off-by: Linus Torvalds commit 3eadd3b21cec340dacdc24dd1f9735344290ca62 Author: Russell King Date: Sat Jun 20 22:28:41 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit e01916e3e7834cb51327e5e4983ff76bfce8a91f Author: Russell King Date: Sat Jun 20 22:25:45 2009 +0100 [ARM] wire up rt_tgsigqueueinfo and perf_counter_open Signed-off-by: Russell King commit e9f029855865e917821ef6034b31e340a4cfc815 Author: Ricardo Labiaga Date: Thu Jun 18 22:01:24 2009 -0400 nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh() xprt_alloc_bc_request() is always called in soft interrupt context. Grab the spin_lock instead of the bottom half spin_lock. Softirqs do not preempt other softirqs running on the same processor, so there is no need to disable bottom halves. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 578e4585685410cacd1a4ac86b7e3c12805be918 Author: Benny Halevy Date: Thu Jun 18 22:01:23 2009 -0400 nfs41: Move initialization of nfs4_opendata seq_res to nfs4_init_opendata_res nfs4_open_recover_helper clears opendata->o_res before calling nfs4_init_opendata_res, thus causing NFSv4.0 OPEN operations to be sent rather than nfsv4.1. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 92a6ad34282f8403c4eb83025a2790af86cdb6bd Author: Barry Song Date: Sat Jun 20 11:29:57 2009 -0400 ASoC: Blackfin: update the bf5xx_i2s_resume parameters Latest ASoC only passes snd_soc_dai to the resume function. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 895c9c056591f05ba3b669cda6c12afb212c6253 Author: Cliff Cai Date: Sat Jun 20 11:29:05 2009 -0400 ASoC: Blackfin: keep better track of SPORT configuration state Do not let the SPORT be reconfigured until there are no more active streams. Then we can let the system reprogram the SPORT state. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 90074dce5537e87b27125505bb89a373567a7ede Author: matthieu castet Date: Fri Jun 5 18:57:18 2009 +0200 [WATCHDOG] add bcm47xx watchdog driver This add watchdog driver for broadcom 47xx device. It uses the ssb subsytem to access embeded watchdog device. Because the watchdog timeout is very short (about 2s), a soft timer is used to increase the watchdog period. Note : A patch for exporting the ssb_watchdog_timer_set will be submitted on next linux-mips merge. Without this patch it can't be build as a module. Signed-off-by: Aleksandar Radovanovic Signed-off-by: Matthieu CASTET Tested-by: Florian Fainelli Cc: Ralf Baechle Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit accde1684ff1ea607557fb7224d2dd57775117e1 Author: dmitry pervushin Date: Wed Jun 3 20:21:21 2009 +0400 [WATCHDOG] Freescale STMP: watchdog driver Add watchdog timer support for Freescale STMP3xxx boards Signed-off-by: Vitaly Wool Signed-off-by: Dmitry Pervushin Signed-off-by: Wim Van Sebroeck commit 80e45b1e9edbca746618724d5b0a31500bdb6f39 Author: Timo Kokkonen Date: Fri Mar 27 16:42:17 2009 +0200 [WATCHDOG] twl4030 watchdog driver Implementation of twl4030 watchdog driver. Signed-off-by: Timo Kokkonen Signed-off-by: Atal Shargorodsky Signed-off-by: Wim Van Sebroeck commit 01480701d5cef5b3b0f8406d2eab1eaff82f9d5c Author: Linus Walleij Date: Wed May 6 15:35:40 2009 +0200 [WATCHDOG] U300 COH 901 327 watchdog driver This patch adds support for the U300 COH 901 327 watchdog for the U300 platform recently added to RMK:s ARM tree. Signed-off-by: Linus Walleij Signed-off-by: Wim Van Sebroeck commit 33c050c586fec34dae36eb314bfc3a2c44654c05 Author: Daniel Laird Date: Wed Nov 5 16:46:49 2008 +0100 [WATCHDOG] Add pnx833x_wdt Add support for PNX833x watchdog timer. Signed-off-by: Daniel Laird Signed-off-by: Wim Van Sebroeck commit 2453d6ff6ffc5f0d496b7b14f509a26f99bf115e Merge: 12e24f3 ab33dcf Author: Linus Torvalds Date: Sat Jun 20 11:30:01 2009 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq, irq.h: Fix kernel-doc warnings genirq: fix comment to say IRQ_WAKE_THREAD commit 12e24f34cb0d55efd08c18b2112507d4bf498008 Merge: 1eb51c33 eadc84c Author: Linus Torvalds Date: Sat Jun 20 11:29:32 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits) perfcounter: Handle some IO return values perf_counter: Push perf_sample_data through the swcounter code perf_counter tools: Define and use our own u64, s64 etc. definitions perf_counter: Close race in perf_lock_task_context() perf_counter, x86: Improve interactions with fast-gup perf_counter: Simplify and fix task migration counting perf_counter tools: Add a data file header perf_counter: Update userspace callchain sampling uses perf_counter: Make callchain samples extensible perf report: Filter to parent set by default perf_counter tools: Handle lost events perf_counter: Add event overlow handling fs: Provide empty .set_page_dirty() aop for anon inodes perf_counter: tools: Makefile tweaks for 64-bit powerpc perf_counter: powerpc: Add processor back-end for MPC7450 family perf_counter: powerpc: Make powerpc perf_counter code safe for 32-bit kernels perf_counter: powerpc: Change how processor-specific back-ends get selected perf_counter: powerpc: Use unsigned long for register and constraint values perf_counter: powerpc: Enable use of software counters on 32-bit powerpc perf_counter tools: Add and use isprint() ... commit 1eb51c33b21ffa3fceb634d1d6bcd6488c79bc26 Merge: b0b7065 3104bf0 Author: Linus Torvalds Date: Sat Jun 20 10:57:40 2009 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix out of scope variable access in sched_slice() sched: Hide runqueues from direct refer at source code level sched: Remove unneeded __ref tag sched, x86: Fix cpufreq + sched_clock() TSC scaling commit b0b7065b64fe517b4a50915a1555e8ee98890d64 Merge: 38df92b d4c4038 Author: Linus Torvalds Date: Sat Jun 20 10:56:46 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits) tracing/urgent: warn in case of ftrace_start_up inbalance tracing/urgent: fix unbalanced ftrace_start_up function-graph: add stack frame test function-graph: disable when both x86_32 and optimize for size are configured ring-buffer: have benchmark test print to trace buffer ring-buffer: do not grab locks in nmi ring-buffer: add locks around rb_per_cpu_empty ring-buffer: check for less than two in size allocation ring-buffer: remove useless compile check for buffer_page size ring-buffer: remove useless warn on check ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index tracing: update sample event documentation tracing/filters: fix race between filter setting and module unload tracing/filters: free filter_string in destroy_preds() ring-buffer: use commit counters for commit pointer accounting ring-buffer: remove unused variable ring-buffer: have benchmark test handle discarded events ring-buffer: prevent adding write in discarded area tracing/filters: strloc should be unsigned short tracing/filters: operand can be negative ... Fix up kmemcheck-induced conflict in kernel/trace/ring_buffer.c manually commit 38df92b8cee936334f686c06df0e5fbb92e252df Merge: c4c5ab3 f2e21c9 Author: Linus Torvalds Date: Sat Jun 20 10:51:44 2009 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: NOHZ: Properly feed cpufreq ondemand governor commit c4c5ab3089c8a794eb0bdaa9794d0f055dd82412 Merge: 7fd5b63 1d99100 Author: Linus Torvalds Date: Sat Jun 20 10:49:48 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (45 commits) x86, mce: fix error path in mce_create_device() x86: use zalloc_cpumask_var for mce_dev_initialized x86: fix duplicated sysfs attribute x86: de-assembler-ize asm/desc.h i386: fix/simplify espfix stack switching, move it into assembly i386: fix return to 16-bit stack from NMI handler x86, ioapic: Don't call disconnect_bsp_APIC if no APIC present x86: Remove duplicated #include's x86: msr.h linux/types.h is only required for __KERNEL__ x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround x86, mce: mce_intel.c needs x86: apic/io_apic.c: dmar_msi_type should be static x86, io_apic.c: Work around compiler warning x86: mce: Don't touch THERMAL_APIC_VECTOR if no active APIC present x86: mce: Handle banks == 0 case in K7 quirk x86, boot: use .code16gcc instead of .code16 x86: correct the conversion of EFI memory types x86: cap iomem_resource to addressable physical memory x86, mce: rename _64.c files which are no longer 64-bit-specific x86, mce: mce.h cleanup ... Manually fix up trivial conflict in arch/x86/mm/fault.c commit 7fd5b632db00ebf8a26b5e86d6f01e501466e5ef Merge: ad5cf46 05bf7d4 Author: Linus Torvalds Date: Sat Jun 20 10:37:01 2009 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Add missing symbols for CONSTRUCTORS support microblaze: remove init_mm commit ad5cf46b4e3b29f2bc08543e8ef0bf8b13d3f19e Merge: 93db629 e34e7db Author: Linus Torvalds Date: Sat Jun 20 10:19:49 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kernel-doc: fix param matching for array params kernel-doc: ignore kmemcheck_bitfield_begin/end kallsyms: fix inverted valid symbol checking kbuild: fix build error during make htmldocs commit 93db6294958f62643a917e44d1abc85440e600cf Merge: 43813f3 eef3e4c Author: Linus Torvalds Date: Sat Jun 20 10:17:02 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (35 commits) Input: add driver for Synaptics I2C touchpad Input: synaptics - add support for reporting x/y resolution Input: ALPS - handle touchpoints buttons correctly Input: gpio-keys - change timer to workqueue Input: ads7846 - pin change interrupt support Input: add support for touchscreen on W90P910 ARM platform Input: appletouch - improve finger detection Input: wacom - clear Intuos4 wheel data when finger leaves proximity Input: ucb1400 - move static function from header into core Input: add driver for EETI touchpanels Input: ads7846 - more detailed model name in sysfs Input: ads7846 - support swapping x and y axes Input: ati_remote2 - use non-atomic bitops Input: introduce lm8323 keypad driver Input: psmouse - ESD workaround fix for OLPC XO touchpad Input: tsc2007 - make sure platform provides get_pendown_state() Input: uinput - flush all pending ff effects before destroying device Input: simplify name handling for certain input handles Input: serio - do not use deprecated dev.power.power_state Input: wacom - add support for Intuos4 tablets ... commit 43813f399c72aa22e01a680559c1cb5274bf2140 Merge: a552f0a 0b7af26 Author: Linus Torvalds Date: Sat Jun 20 10:15:30 2009 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (24 commits) agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addresses agp: add user mapping support to ATI AGP bridge. drm/i915: enable GEM on PAE. drm/radeon: fix unused variables warning agp: switch AGP to use page array instead of unsigned long array agpgart: detected ALi M???? chipset with M1621 drm/radeon: command stream checker for r3xx-r5xx hardware drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. radeon: Fix CP byte order on big endian architectures with KMS. agp/uninorth: Handle user memory types. drm/ttm: Add some powerpc cache flush code. radeon: Enable modesetting on non-x86. drm/radeon: Respect AGP cant_use_aperture flag. drm: EDID endianness fixes. drm/radeon: this VRAM vs aperture test is wrong, just remove it. drm/ttm: fix an error path to exit function correctly drm: Apply "Memory fragmentation from lost alignment blocks" ttm: Return -ERESTART when a signal interrupts bo eviction. drm: Remove memory debugging infrastructure. drm/i915: Clear fence register on tiling stride change. ... commit a552f0af753eb4b5bbbe9eff205fe874b04c4583 Merge: e642340 3e10760 Author: Linus Torvalds Date: Sat Jun 20 10:14:11 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: Fix the removal of opts->fs_dmask commit e6423407d01168f7760cdee7270d9f51d1240301 Merge: 7f81890 39c58f3 Author: Linus Torvalds Date: Sat Jun 20 10:11:11 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (34 commits) ide-cd: prevent null pointer deref via cdrom_newpc_intr ide: BUG() on unknown requests ide: filter out invalid DMA xfer mode changes in HDIO_DRIVE_CMD ioctl handler ide: do not access ide_drive_t 'drive_data' field directly sl82c105: implement test_irq() method siimage: implement test_irq() method pdc202xx_old: implement test_irq() method (take 2) cmd64x: implement test_irq() method cmd640: implement test_irq() method ide: move ack_intr() method into 'struct ide_port_ops' (take 2) ide: move IRQ clearing from ack_intr() method to clear_irq() method (take 2) siimage: use ide_dma_test_irq() (take 2) cmd64x: implement clear_irq() method (take 2) ide: call clear_irq() method in ide_timer_expiry() sgiioc4: coding style cleanup ide: don't enable IORDY at a probe time ide: IORDY handling fixes ata: add ata_id_pio_need_iordy() helper (v2) ide-tape: fix build issue ide: unify interrupt reason checking ... commit 7f8189068726492950bf1a2dcfd9b51314560abf Author: Linus Torvalds Date: Sat Jun 20 09:52:27 2009 -0700 x86: don't use 'access_ok()' as a range check in get_user_pages_fast() It's really not right to use 'access_ok()', since that is meant for the normal "get_user()" and "copy_from/to_user()" accesses, which are done through the TLB, rather than through the page tables. Why? access_ok() does both too few, and too many checks. Too many, because it is meant for regular kernel accesses that will not honor the 'user' bit in the page tables, and because it honors the USER_DS vs KERNEL_DS distinction that we shouldn't care about in GUP. And too few, because it doesn't do the 'canonical' check on the address on x86-64, since the TLB will do that for us. So instead of using a function that isn't meant for this, and does something else and much more complicated, just do the real rules: we don't want the range to overflow, and on x86-64, we want it to be a canonical low address (on 32-bit, all addresses are canonical). Acked-by: Ingo Molnar Cc: H. Peter Anvin Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit d4c4038343510d83727ea922de4435996c26c0c8 Merge: 3daeb4d 71e308a Author: Ingo Molnar Date: Sat Jun 20 18:26:48 2009 +0200 Merge branch 'tip/tracing/urgent-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit 3daeb4da9a0b056bdc4af003e5605c1da4c0b068 Merge: 9ea1a15 4b221f0 Author: Ingo Molnar Date: Sat Jun 20 17:25:49 2009 +0200 Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit 3e107603aecf886e1e5bda9dacbd9796eb2a2171 Author: OGAWA Hirofumi Date: Sat Jun 20 21:50:07 2009 +0900 fat: Fix the removal of opts->fs_dmask (ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48: New helper - current_umask()) is removing the opts->fs_dmask, probably it's a cut-and-paste miss or something. Signed-off-by: OGAWA Hirofumi commit 05bf7d46316df6d12c608feb2a75dd41fc3385ae Author: Michal Simek Date: Sat Jun 20 14:24:01 2009 +0200 microblaze: Add missing symbols for CONSTRUCTORS support Commit b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7 add CONSTRUCTOR support to Linux but Microblaze not defined KERNEL_CTORS symbols which are used with that patch. This patch fixed it. Signed-off-by: Michal Simek commit 20f54c490c6547049d880d3666ebb5b24e234e77 Author: Arnd Bergmann Date: Thu Jun 18 19:55:26 2009 +0200 microblaze: remove init_mm Alexey removed the definition for init_mm from all architectures but forgot microblaze, which was only recently added. This fixes the microblaze build by dropping it there as well. Cc: Alexey Dobriyan Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit e34e7dbb35474ffc75f639eca64a18a15f4f8688 Author: Randy Dunlap Date: Wed Jun 17 17:37:47 2009 -0700 kernel-doc: fix param matching for array params Fix function actual parameter vs. kernel-doc description matching so that a warning is not printed when it should not be: Warning(include/linux/etherdevice.h:199): Excess function parameter 'addr' description in 'is_etherdev_addr' Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit b2fd6dbf25cba7d904b62b81639bca8678c901fa Author: Randy Dunlap Date: Wed Jun 17 17:36:15 2009 -0700 kernel-doc: ignore kmemcheck_bitfield_begin/end Teach kernel-doc to ignore kmemcheck_bitfield_{begin,end} sugar so that it won't generate warnings like this: Warning(include/net/sock.h:297): No description found for parameter 'kmemcheck_bitfield_begin(flags)' Warning(include/net/sock.h:297): No description found for parameter 'kmemcheck_bitfield_end(flags)' Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit ac6ca5c86c63dd95acc6a34dff8d33c23b703a37 Author: Mike Frysinger Date: Mon Jun 15 07:52:48 2009 -0400 kallsyms: fix inverted valid symbol checking The previous commit (17b1f0de) introduced a slightly broken consolidation of the memory text range checking. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit b767b9059fa75a353c9ad6e320ae080fbe15a951 Author: Amerigo Wang Date: Fri Jun 19 03:06:54 2009 -0400 kbuild: fix build error during make htmldocs Fix the following build error when do 'make htmldocs': DOCPROC Documentation/DocBook/debugobjects.xml exec /scripts/kernel-doc: No such file or directory exec /scripts/kernel-doc: No such file or directory Reported-by: Randy Dunlap Signed-off-by: WANG Cong Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit eadc84cc01e04f9f74ec2de0c9355be035c7b396 Author: Frederic Weisbecker Date: Sat Jun 20 02:01:40 2009 +0200 perfcounter: Handle some IO return values Building perfcounter tools raises the following warnings: builtin-record.c: In function ‘atexit_header’: builtin-record.c:464: erreur: ignoring return value of ‘pwrite’, declared with attribute warn_unused_result builtin-record.c: In function ‘__cmd_record’: builtin-record.c:503: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result builtin-report.c: In function ‘__cmd_report’: builtin-report.c:1403: erreur: ignoring return value of ‘read’, declared with attribute warn_unused_result This patch handles these IO return values. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1245456100-5477-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 92bf309a9cd5fedd6c8eefbce0b9a95ada82d0a9 Author: Peter Zijlstra Date: Fri Jun 19 18:11:53 2009 +0200 perf_counter: Push perf_sample_data through the swcounter code Push the perf_sample_data further outwards to the swcounter interface, to abstract it away some more. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 39c58f37a10198054c656c28202fb1e6d22fd505 Author: Rainer Weikusat Date: Thu Jun 18 17:04:00 2009 +0200 ide-cd: prevent null pointer deref via cdrom_newpc_intr With 2.6.30, the error handling code in cdrom_newpc_intr was changed to deal with partial request failures by normally completing the 'good' parts of a request and only 'error' the last (and presumably, incompletely transferred) bio associated with a particular request. In order to do this, ide_complete_rq is called over ide_cd_error_cmd() to partially complete the rq. The block layer does partial completion only for requests with bio's and if the rq doesn't have one (eg 'GPCMD_READ_DISC_INFO') the request is completed as a whole and the drive->hwif->rq pointer set to NULL afterwards. When calling ide_complete_rq again to report the error, this null pointer is derefenced, resulting in a kernel crash. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13399. Signed-off-by: Rainer Weikusat Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 312cec5d094a5d4e68434ace4c5cb55e4f8dfee5 Merge: 48ec2b5 2687069 Author: Russell King Date: Sat Jun 20 10:57:40 2009 +0100 Merge branch 'omap-clock-for-next' of git://git.pwsan.com/linux-2.6 into devel commit 1d99100120ead486cd7a2502f19eaf1c1699d806 Merge: bc3f5d3 b1f49f9 Author: Ingo Molnar Date: Sat Jun 20 10:54:22 2009 +0200 Merge branch 'x86/mce3' into x86/urgent commit 6be832529a8129c9d90a1d3a78c5d503a710b6fc Author: David Brownell Date: Sat Jun 20 01:21:53 2009 -0700 usbnet cdc_subset: fix issues talking to PXA gadgets The host-side CDC subset driver is binding more specifically than it should ... only to PXA 210/25x/26x Linux-USB gadgets. Loosen that restriction to match the gadget driver driver. This will various PXA 27x and PXA 3xx devices happier when talking to Linux hosts, potentially others. Signed-off-by: David Brownell Tested-by: Aric D. Blumer Signed-off-by: David S. Miller commit 83b462c656813e002843ddb061c8cc99149cab14 Author: Jiri Slaby Date: Sat Jun 20 01:20:30 2009 -0700 Net: qla3xxx, remove sleeping in atomic We cannot sleep in ql_reset_work under spinlock, unlock before sleep, relock after. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit c3da63f35773b04e885c5659e560d5c521d2682e Merge: 73e4289 a97f442 Author: David S. Miller Date: Sat Jun 20 01:16:40 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 73e42897e8e5619eacb787d2ce69be12f47cfc21 Author: Neil Horman Date: Sat Jun 20 01:15:16 2009 -0700 ipv4: fix NULL pointer + success return in route lookup path Don't drop route if we're not caching I recently got a report of an oops on a route lookup. Maxime was testing what would happen if route caching was turned off (doing so by setting making rt_caching always return 0), and found that it triggered an oops. I looked at it and found that the problem stemmed from the fact that the route lookup routines were returning success from their lookup paths (which is good), but never set the **rp pointer to anything (which is bad). This happens because in rt_intern_hash, if rt_caching returns false, we call rt_drop and return 0. This almost emulates slient success. What we should be doing is assigning *rp = rt and _not_ dropping the route. This way, during slow path lookups, when we create a new route cache entry, we don't immediately discard it, rather we just don't add it into the cache hash table, but we let this one lookup use it for the purpose of this route request. Maxime has tested and reports it prevents the oops. There is still a subsequent routing issue that I'm looking into further, but I'm confident that, even if its related to this same path, this patch makes sense to take. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 952e57ba3769d6fc6139b8a99c32ea2bb63f23e9 Author: Tilman Schmidt Date: Sat Jun 20 01:10:38 2009 -0700 isdn: clean up documentation index Remove duplicates, a stray merge conflict marker, and an entry for a file which doesn't exist, and move one entry to its correct alphabetical place. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit eef3e4cab72eaf5345e3c73b2975c194a714f6cd Author: Mike Rapoport Date: Thu Jun 11 08:08:39 2009 -0700 Input: add driver for Synaptics I2C touchpad This driver supports Synaptics I2C touchpad controller on eXeda mobile device. Unfortunaltely it only works in relative mode and thus is not comaptible with Xorg Synaptics driver. Signed-off-by: Igor Grinberg Signed-off-by: Mike Rapoport Signed-off-by: Dmitry Torokhov commit ec20a022aa24fc63d3ab59584cb1e5aa9a21d46c Author: Tero Saarni Date: Wed Jun 10 23:27:24 2009 -0700 Input: synaptics - add support for reporting x/y resolution Synaptics uses anisotropic coordinate system. On some wide touchpads vertical resolution can be twice as high as horizontal which causes unequal sensitivity on x/y directions. Add support for reading the resolution with EVIOCGABS ioctl. Signed-off-by: Tero Saarni Signed-off-by: Dmitry Torokhov commit 9ea1a153a4fb435c22e9988784bb476671286112 Author: Frederic Weisbecker Date: Sat Jun 20 06:52:21 2009 +0200 tracing/urgent: warn in case of ftrace_start_up inbalance Prevent from further ftrace_start_up inbalances so that we avoid future nop patching omissions with dynamic ftrace. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 7b768f07dce463a054c9dd84862d15ccc3d2b712 Author: Pallipadi, Venkatesh Date: Fri Jun 19 17:14:59 2009 -0700 ACPI: pdc init related memory leak with physical CPU hotplug arch_acpi_processor_cleanup_pdc() in x86 and ia64 results in memory allocated for _PDC objects that is never freed and will cause memory leak in case of physical CPU remove and add. Patch fixes the memory leak by freeing the objects soon after _PDC is evaluated. Reported-by: Bjorn Helgaas Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit c85a17e22695969aa24a7ffa40cf26d6e6fcfd50 Author: Frederic Weisbecker Date: Sat Jun 20 05:45:14 2009 +0200 tracing/urgent: fix unbalanced ftrace_start_up Perfcounter reports the following stats for a wide system profiling: # # (2364 samples) # # Overhead Symbol # ........ ...... # 15.40% [k] mwait_idle_with_hints 8.29% [k] read_hpet 5.75% [k] ftrace_caller 3.60% [k] ftrace_call [...] This snapshot has been taken while neither the function tracer nor the function graph tracer was running. With dynamic ftrace, such results show a wrong ftrace behaviour because all calls to ftrace_caller or ftrace_graph_caller (the patched calls to mcount) are supposed to be patched into nop if none of those tracers are running. The problem occurs after the first run of the function tracer. Once we launch it a second time, the callsites will never be nopped back, unless you set custom filters. For example it happens during the self tests at boot time. The function tracer selftest runs, and then the dynamic tracing is tested too. After that, the callsites are left un-nopped. This is because the reset callback of the function tracer tries to unregister two ftrace callbacks in once: the common function tracer and the function tracer with stack backtrace, regardless of which one is currently in use. It then creates an unbalance on ftrace_start_up value which is expected to be zero when the last ftrace callback is unregistered. When it reaches zero, the FTRACE_DISABLE_CALLS is set on the next ftrace command, triggering the patching into nop. But since it becomes unbalanced, ie becomes lower than zero, if the kernel functions are patched again (as in every further function tracer runs), they won't ever be nopped back. Note that ftrace_call and ftrace_graph_call are still patched back to ftrace_stub in the off case, but not the callers of ftrace_call and ftrace_graph_caller. It means that the tracing is well deactivated but we waste a useless call into every kernel function. This patch just unregisters the right ftrace_ops for the function tracer on its reset callback and ignores the other one which is not registered, fixing the unbalance. The problem also happens is .30 Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: stable@kernel.org commit 0b7af262aba912f52bc6ef76f1bc0960b01b8502 Author: Pierre Willenbrock Date: Fri Jun 19 18:31:47 2009 +0200 agp/intel: Make intel_i965_mask_memory use dma_addr_t for physical addresses Otherwise, the high bits to be stuffed in the unused lower bits of the page address are lost. Signed-off-by: Pierre Willenbrock Signed-off-by: Dave Airlie commit 0705495d9010048e293013d9d129cf723363a0a8 Author: Bjorn Helgaas Date: Thu Jun 18 14:47:07 2009 -0600 ACPI: pci_root: remove unused dev/fn information We never use the PCI device & function number, so remove it to make it clear that it's not needed. Many PCI host bridges don't even appear in config space, so it's meaningless to look at stuff from _ADR, which doesn't exist in that case. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Signed-off-by: Len Brown commit c1aec8341627dad5d63cc24aa6746dc077f5b706 Author: Bjorn Helgaas Date: Thu Jun 18 14:47:02 2009 -0600 ACPI: pci_root: simplify list traversals Using list_for_each_entry() makes traversing the root list easier. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Signed-off-by: Len Brown commit caf420c68afe01acd7c458ce40b85b3db5330ff5 Author: Bjorn Helgaas Date: Thu Jun 18 14:46:57 2009 -0600 ACPI: pci_root: use driver data rather than list lookup There's no need to search the list to find the acpi_pci_root structure. We saved it as device->driver_data when we added the device. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit f5eebbe119a861b5e4f5c67c886eab0937c686ed Author: Bjorn Helgaas Date: Thu Jun 18 14:46:52 2009 -0600 ACPI: pci_root: simplify acpi_pci_root_add() control flow By looking up the segment & bus number earlier, we don't have to worry about cleaning up if it fails. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit fbe2b31b4b6dfa790cbc88e00631f3112c4fc54e Author: Bjorn Helgaas Date: Thu Jun 18 14:46:47 2009 -0600 ACPI: pci_root: check _CRS, then _BBN for downstream bus number To find a host bridge's downstream bus number, we currently look at _BBN first. If _BBN returns a bus number we've already seen, we conclude that _BBN was wrong and look for a bus number in _CRS. However, the spec[1] (figure 5-5 and the example in sec 9.12.1) and an ACPI FAQ[2] suggest that the OS should use _CRS to discover the bus number range, and that _BBN is really intended to bootstrap _CRS methods that reference PCI opregions. This patch makes us always look at _CRS first. If _CRS doesn't supply a bus number, we look at _BBN. If _BBN doesn't exist, we default to zero. This makes the behavior consistent regardless of device discovery order. Previously, if A and B had duplicate _BBNs and we found A first, we'd only look at B's _CRS, whereas if we found B first, we'd only look at A's _CRS. I'm told that Windows discovers host bridge bus numbers using _CRS, so it should be fairly safe to rely on this BIOS functionality. This patch also removes two misleading messages: we printed the "Wrong _BBN value, reboot and use option 'pci=noacpi'" message before looking at _CRS, so we would likely find the bus number in _CRS, the system would work fine, and the user would be confused. The "PCI _CRS %d overrides _BBN 0" message incorrectly assumes _BBN was zero, and it's useless anyway because we print the segment/bus number a few lines later. References: [1] http://www.acpi.info/DOWNLOADS/ACPIspec30b.pdf [2] http://www.acpi.info/acpi_faq.htm _BBN/_CRS discussion http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWAR05005_WinHEC05.ppt (slide 17) http://bugzilla.kernel.org/show_bug.cgi?id=1662 ASUS PR-DLS http://bugzilla.kernel.org/show_bug.cgi?id=1127 ASUS PR-DLSW http://bugzilla.kernel.org/show_bug.cgi?id=1741 ASUS PR-DLS533 Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Shaohua Li CC: Kenji Kaneshige Signed-off-by: Len Brown commit 2687069f3ac297b820c58de7222e4d16adbca498 Author: Roel Kluin Date: Fri Jun 19 19:08:30 2009 -0600 OMAP2 clock/powerdomain: off by 1 error in loop timeout comparisons with while (i++ < MAX_CLOCK_ENABLE_WAIT); i can reach MAX_CLOCK_ENABLE_WAIT + 1 after the loop, so if (i == MAX_CLOCK_ENABLE_WAIT) that's still success. Signed-off-by: Roel Kluin Signed-off-by: Paul Walmsley commit 7b7bcefa35d62fec64c3615a6bef7866f34c7cc9 Author: Paul Walmsley Date: Fri Jun 19 19:08:29 2009 -0600 OMAP3 SDRC: set FIXEDDELAY when disabling SDRC DLL Correspondence with the TI OMAP hardware team indicates that SDRC_DLLA_CTRL.FIXEDDELAY should be initialized to 0x0f. This number was apparently derived from process validation. This is only used when the SDRC DLL is unlocked (e.g., SDRC clock frequency less than 83MHz). Signed-off-by: Paul Walmsley commit 3afec6332e1e7cf2d74e0bf08160a68f43a59073 Author: Tero Kristo Date: Fri Jun 19 19:08:29 2009 -0600 OMAP3: Add support for DPLL3 divisor values higher than 2 Previously only 1 and 2 was supported. This is needed for DVFS VDD2 control. Signed-off-by: Tero Kristo commit df14e4747aa58126a508ae26661c73d83127c831 Author: Paul Walmsley Date: Fri Jun 19 19:08:28 2009 -0600 OMAP3 SRAM: convert SRAM code to use macros rather than magic numbers Convert omap3_sram_configure_core_dpll() to use macros rather than magic numbers. Signed-off-by: Paul Walmsley commit 4267b5d15269ea6b26736a2ccd4c213e63e547ab Author: Paul Walmsley Date: Fri Jun 19 19:08:27 2009 -0600 OMAP3 SRAM: add more comments on the SRAM code Clean up comments and copyrights on the CORE DPLL3 M2 divider change code. Signed-off-by: Paul Walmsley commit d0ba3922ae241a87d22a1c3ffad72b96fe993c9a Author: Paul Walmsley Date: Fri Jun 19 19:08:27 2009 -0600 OMAP3 clock/SDRC: program SDRC_MR register during SDRC clock change Program the SDRC_MR_0 register as well during SDRC clock changes. This register allows selection of the memory CAS latency. Some SDRAM chips, such as the Qimonda HYB18M512160AF6, have a lower CAS latency at lower clock rates. Signed-off-by: Paul Walmsley commit c9812d042a21eb492a36cfabf9f41107f5ecee3d Author: Paul Walmsley Date: Fri Jun 19 19:08:26 2009 -0600 OMAP3 clock: add a short delay when lowering CORE clk rate When changing the SDRAM clock from 166MHz to 83MHz via the CORE DPLL M2 divider, add a short delay before returning to SDRAM to allow the SDRC time to stabilize. Without this delay, the system is prone to random panics upon re-entering SDRAM. This time delay varies based on MPU frequency. At 500MHz MPU frequency at room temperature, 64 loops seems to work okay; so add another 32 loops for environmental and process variation. Signed-off-by: Paul Walmsley commit 2f135eaf182761bb9a5cbd5138a447b0ad2a1fef Author: Paul Walmsley Date: Fri Jun 19 19:08:25 2009 -0600 OMAP3 clock: initialize SDRC timings at kernel start On the OMAP3, initialize SDRC timings when the kernel boots. This ensures that the kernel is running with known, optimized SDRC timings, rather than whatever was configured by the bootloader. Signed-off-by: Paul Walmsley commit 6adb8f388ef2f23d4a81e1e42d15f22d62749a06 Author: Paul Walmsley Date: Fri Jun 19 19:08:24 2009 -0600 OMAP3 clock: remove wait for DPLL3 M2 clock to stabilize The original CDP kernel that this code comes from waited for 0x800 loops after switching the CORE DPLL M2 divider. This does not appear to be necessary. Signed-off-by: Paul Walmsley commit fb20871a54961b82d35303b43452928186c1361d Merge: bee89ab c7a5d70 Author: Linus Torvalds Date: Fri Jun 19 17:48:32 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (342 commits) Staging: comedi: fix build errors Staging: udlfb: update to version 0.2.3 Staging: udlfb: fix some sparse warnings. Staging: udlfb: clean up checkpatch warnings in udlfb.c Staging: udlfb: clean up checkpatch warnings in udlfb.h Staging: udlfb: add udlfb driver to build Staging: add udlfb driver Staging: pata_rdc: remove pointless comments Staging: pata_rdc: remove DRIVER macros Staging: pata_rdc: remove dbgprintf macro Staging: pata_rdc: remove broken flag Staging: pata_rdc: fix build warnings Staging: pata_rdc: use PCI_DEVICE Staging: pata_rdc: remove function prototypes Staging: pata_rdc: coding style fixes Staging: pata_rdc: convert code to work in 2.6.29 Staging: pata_rdc: add driver to the build system Staging: add pata_rdc driver Staging: remove obsolete serqt_usb driver Staging: serqt_usb2 add the driver to the build ... commit bee89ab228e6f51c4ddd3481b9bd491859a8ee7b Merge: 5c6fb00 528da3e Author: Linus Torvalds Date: Fri Jun 19 17:46:44 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: inotify_destroy_mark_entry could get called twice commit 5c6fb0059cec9a3c0f6d88a0ddf3d62ad323cd57 Merge: 31583d6 c703667 Author: Linus Torvalds Date: Fri Jun 19 17:45:51 2009 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c: New macro to initialize i2c address lists on the fly i2c: Don't advertise i2c functions when not available i2c: Use rwsem instead of mutex for board info i2c: Add a sysfs interface to instantiate devices i2c: Limit core locking to the necessary sections i2c: Kill the redundant client list i2c: Kill is_newstyle_driver i2c: Merge i2c_attach_client into i2c_new_device i2c: Drop i2c_probe function i2c: Get rid of the legacy binding model i2c: Kill client_register and client_unregister methods commit 31583d6acf940d2951bc8716557b06d9de5a0c4b Merge: ee37ba7 f740f5c Author: Linus Torvalds Date: Fri Jun 19 17:43:04 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Fix kernel-doc parameter name typo in blk-settings.c: block: rename CONFIG_LBD to CONFIG_LBDAF block: Fix bounce_pfn setting hd: stop defining MAJOR_NR commit ee37ba7a4212c7420f12e6a2ad8a3966649ede7a Merge: 773d7a0 b99c6eb Author: Linus Torvalds Date: Fri Jun 19 17:42:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: sparc64: Fix UP bootup regression. commit 773d7a09e1a1349a5319ac8665e9c612c6aa27d8 Merge: 17fad52 b71a107 Author: Linus Torvalds Date: Fri Jun 19 17:40:40 2009 -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: (35 commits) powerpc/5121: make clock debug output more readable powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function powerpc/5200: Update pcm030.dts to add i2c eeprom and delete cruft powerpc/5200: convert mpc52xx_psc_spi to use cs_control callback fbdev/xilinxfb: Fix improper casting and tighen up probe path usb/ps3: Add missing annotations powerpc: Add memory clobber to mtspr() powerpc: Fix invalid construct in our CPU selection Kconfig ps3rom: Use ps3_system_bus_[gs]et_drvdata() instead of direct access powerpc: Add configurable -Werror for arch/powerpc of_serial: Add UPF_FIXED_TYPE flag drivers/hvc: Add missing __devexit_p() net/ps3: gelic - Add missing annotations powerpc: Introduce macro spin_event_timeout() powerpc/warp: Fix ISA_DMA_THRESHOLD default powerpc/bootwrapper: Custom build options for XPedite52xx targets powerpc/85xx: Add defconfig for X-ES MPC85xx boards powerpc/85xx: Add dts files for X-ES MPC85xx boards powerpc/85xx: Add platform support for X-ES MPC85xx boards 83xx: add support for the kmeter1 board. ... commit 17fad5209e6b55148dbd20156cdaf2c7e67faa40 Merge: 898f96f eec511d Author: Linus Torvalds Date: Fri Jun 19 17:34:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: Blackfin: convert page/tlb to asm-generic Blackfin: convert types to asm-generic Blackfin: convert irq/process to asm-generic Blackfin: convert signal/mmap to asm-generic Blackfin: convert locking primitives to asm-generic Blackfin: convert termios to asm-generic Blackfin: convert simple headers to asm-generic Blackfin: convert socket/poll to asm-generic Blackfin: convert user/elf to asm-generic Blackfin: convert shm/sysv/ipc to asm-generic Blackfin: convert asm/ioctls.h to asm-generic/ioctls.h Blackfin: only build irqpanic.c when needed Blackfin: pull in asm/io.h in ksyms for prototypes Blackfin: use common test_bit() rather than __test_bit() commit 898f96fd5059854bef89d2a65a6de737bd5c5411 Author: Joe Perches Date: Thu Jun 18 16:49:25 2009 -0700 MAINTAINERS: kmemtrace pattern update Signed-off-by: Joe Perches Cc: Eduard - Gabriel Munteanu Cc: Pekka Enberg Cc: Ingo Molnar Cc: Zhao Lei Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a26c4463f695a2ef7818fd4dadf300f2c77c920e Author: Joe Perches Date: Thu Jun 18 16:49:24 2009 -0700 MAINTAINERS: ieee802154 fix pattern typo Signed-off-by: Joe Perches Cc: Sergey Lapin Cc: Dmitry Eremin-Solenikov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc8b4a2b71b1786c922b70e69402109c28ff4a5c Author: Joe Perches Date: Thu Jun 18 16:49:24 2009 -0700 MAINTAINERS: update wireless.h path Signed-off-by: Joe Perches Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a65fd8e3a0219c2a4b41e4d64a10f51dab892ebb Author: Joe Perches Date: Thu Jun 18 16:49:23 2009 -0700 MAINTAINERS: update Ftrace documentation pattern Signed-off-by: Joe Perches Cc: Randy Dunlap Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa451753b6b7eb082531d0b7fc7b2f585a5581e1 Author: Joe Perches Date: Thu Jun 18 16:49:22 2009 -0700 MAINTAINERS: fix Atheros pattern paths Signed-off-by: Joe Perches Cc: Bob Copeland Cc: "Luis R . Rodriguez" Cc: Nick Kossifidis Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b1982896876872d30493cca9477975b62335f39 Author: Krzysztof Helt Date: Thu Jun 18 16:49:21 2009 -0700 fbdev: do not allow VESA modes without compiled-in drivers Do not accept VESA modes by the "vga=" kernel parameter if there is no frame buffer driver compiled-in to handle it. Also, there is a comment added to the Kconfig description after Werner Lemberg's suggestion Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13249 Signed-off-by: Krzysztof Helt Reported-by: Werner Lemberg Cc: Michal Januszewski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b7f92c96a74ac9a9bc21101ad02f6c9f71fd25d Author: Joe Perches Date: Thu Jun 18 16:49:19 2009 -0700 MAINTAINERS: pair names/addresses in EDAC-I82975X Signed-off-by: Joe Perches Cc: Ranganathan Desikan Cc: "Arvind R." Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbe6f1869188b6e04e38aa861dd198befb08bcd7 Author: FUJITA Tomonori Date: Thu Jun 18 16:49:19 2009 -0700 dma-mapping: mark dma_sync_single and dma_sync_sg as deprecated dma_sync_single() and dma_sync_sg() have been described as "Backwards compat, remove in 2.7.x" for a long time (since 2.6.5). This marks dma_sync_single() and dma_sync_sg() as deprecated so the users get notified before removing them. Signed-off-by: FUJITA Tomonori Cc: Ingo Molnar Cc: James Bottomley Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d68412b6d1e8e5ed42d568330e598bd81914ccbd Author: Jiri Slaby Date: Thu Jun 18 16:49:18 2009 -0700 dma-mapping: mark DMA_nBITS_MASK as deprecated Mark them deprecated so that out-of-tree developers get notified about this before their modules break when these macros are removed. Signed-off-by: Jiri Slaby Cc: Yang Hongyang Acked-by: FUJITA Tomonori Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e20ce94ce378334dea83a83ab26253b851100a2 Author: Andrew Morton Date: Thu Jun 18 16:49:17 2009 -0700 convert some DMA_nnBIT_MASK() callers We're about to make DMA_nnBIT_MASK() emit `deprecated' warnings. Convert the remaining stragglers which are visible to the x86_64 build. Cc: FUJITA Tomonori Cc: James Bottomley Cc: Eric Moore Cc: Takashi Iwai Cc: "David S. Miller" Cc: Alexander Duyck Cc: Yi Zou Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a90b037583d5f1ae3e54e9c687c79df82d1d34a4 Author: Dirk Eibach Date: Thu Jun 18 16:49:15 2009 -0700 char: moxa, prevent opening unavailable ports In moxa.c there are 32 minor numbers reserved for each device. The number of ports actually available per device is stored in moxa_board_conf->numPorts. This number is not considered in moxa_open(). Opening a port that is not available results in a kernel oops. This patch adds a test to moxa_open() that prevents opening unavailable ports. [akpm@linux-foundation.org: avoid multiple returns] Signed-off-by: Dirk Eibach Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b9ce5a20138590bd9556e34a0408164fadf4163 Author: Mike Frysinger Date: Thu Jun 18 16:49:14 2009 -0700 istallion: add missing __devexit marking The remove member of the pci_driver stli_pcidriver uses __devexit_p(), so the remove function itself should be marked with __devexit. Even more so considering the probe function is marked with __devinit. Signed-off-by: Mike Frysinger Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4390b9e0cfa30c2b1a4d821748d7948fd85356df Author: Roel Kluin Date: Thu Jun 18 16:49:13 2009 -0700 dtlk: off by one in {read,write}_tts() With a postfix increment retries is incremented beyond DTLK_MAX_RETRIES so the error message is not displayed correctly. Signed-off-by: Roel Kluin Cc: James R. Van Zandt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit befca96779b0259ac8fad0183e748a62935c39cb Author: Oleg Nesterov Date: Thu Jun 18 16:49:11 2009 -0700 ptrace: wait_task_zombie: do not account traced sub-threads The bug is ancient. If we trace the sub-thread of our natural child and this sub-thread exits, we update parent->signal->cxxx fields. But we should not do this until the whole thread-group exits, otherwise we account this thread (and all other live threads) twice. Add the task_detached() check. No need to check thread_group_empty(), wait_consider_task()->delay_group_leader() already did this. Signed-off-by: Oleg Nesterov Cc: Peter Zijlstra Acked-by: Roland McGrath Cc: Stanislaw Gruszka Cc: Vitaly Mayatskikh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6229bec25be4ba00f31dd26e25721cc96c22262 Author: Atsushi Nemoto Date: Thu Jun 18 16:49:09 2009 -0700 rtc: make rtc_update_irq callable with irqs enabled The rtc_update_irq() might be called with irqs enabled, if a interrupt handler was registered without IRQF_DISABLED. Use spin_lock_irqsave/spin_unlock_irqrestore instead of spin_lock/spin_unlock. Also update kerneldoc and drivers which do extra work to follow the current interface spec, as suggestted by David Brownell. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575c5807f6842422e9fe2432fd48dfcc1d7aef41 Author: Anton Vorontsov Date: Thu Jun 18 16:49:08 2009 -0700 spi_mpc8xxx: s/83xx/8xxx/g Since we renamed the file, we might want to rename the file internals too. Though we don't bother with changing platform driver name and platform module alias. The stuff is legacy and hopefully we'll remove it soon. Suggested-by: Kumar Gala Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34a661a1fe02840b6fc8de0a616464dd4899782f Author: Anton Vorontsov Date: Thu Jun 18 16:49:08 2009 -0700 spi_mpc83xx: rename spi_83xx.c to spi_8xxx.c The driver handles MPC83xx, MPC85xx and MPC86xx SPI controllers, so rename the file for clarity. Suggested-by: Kumar Gala Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aef79d827657fce5a3038ba07f11ce6dcd0421d0 Author: Anton Vorontsov Date: Thu Jun 18 16:49:07 2009 -0700 spi_mpc83xx: remove dead code This patch removes #if 0'ed code, and spi_mpc83xx->busy variable that is used by that dead snippet only. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9b9af11fe35f509899fc5ff242b68d3299c3aef Author: Anton Vorontsov Date: Thu Jun 18 16:49:06 2009 -0700 spi_mpc83xx: split mpc83xx_spi_work() into two routines mpc83xx_spi_work() is quite large, with up to five indentation levels and is quite difficult to read. So, split the function in two parts: 1. mpc83xx_spi_work() now only traverse queued spi messages; 2. mpc83xx_spi_do_one_msg() only manages single messages. There should be no functional changes. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9effb959dee0919991362541048479d94bd1f6e0 Author: Anton Vorontsov Date: Thu Jun 18 16:49:05 2009 -0700 spi_mpc83xx: fix checkpatch issues Checkpatch is spitting errors when seeing the rename patch, so fix the errors prior to moving. Following errors and warnings were fixed: WARNING: Use #include instead of #1027: FILE: drivers/spi/spi_mpc8xxx.c:37: +#include ERROR: "foo * bar" should be "foo *bar" #1111: FILE: drivers/spi/spi_mpc8xxx.c:121: +static inline void mpc83xx_spi_write_reg(__be32 __iomem * reg, u32 val) ERROR: "foo * bar" should be "foo *bar" #1116: FILE: drivers/spi/spi_mpc8xxx.c:126: +static inline u32 mpc83xx_spi_read_reg(__be32 __iomem * reg) ERROR: "foo * bar" should be "foo *bar" #1125: FILE: drivers/spi/spi_mpc8xxx.c:135: + type * rx = mpc83xx_spi->rx; \ ERROR: "foo * bar" should be "foo *bar" #1135: FILE: drivers/spi/spi_mpc8xxx.c:145: + const type * tx = mpc83xx_spi->tx; \ WARNING: suspect code indent for conditional statements (16, 25) #1504: FILE: drivers/spi/spi_mpc8xxx.c:514: + while (((event = [...] + cpu_relax(); Following warnings were left over, since fixing them will hurt the readability. We'd better fix them by lowering the indentation level by splitting mpc83xx_spi_work function into two parts. WARNING: line over 80 characters #1371: FILE: drivers/spi/spi_mpc8xxx.c:381: + status = mpc83xx_spi_setup_transfer(spi, t); WARNING: line over 80 characters #1392: FILE: drivers/spi/spi_mpc8xxx.c:402: + mpc83xx_spi_chipselect(spi, BITBANG_CS_INACTIVE); Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2998c2c3608e6c674f9079b661583927fbe61b0 Author: Anton Vorontsov Date: Thu Jun 18 16:49:02 2009 -0700 powerpc/86xx: add MMC SPI support for MPC8610HPCD boards This patch adds spi and mmc-spi-slot nodes, plus a gpio-controller for PIXIS' sdcsr bank that is used for managing SPI chip-select and for reading card's states. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5afbf098d171664695db2a7e828e8d96871a01e1 Author: Anton Vorontsov Date: Thu Jun 18 16:49:01 2009 -0700 spi_mpc83xx: add small delay after asserting chip-select line This is needed for some underlaying GPIO controllers that may be a bit slow, or if chip-select signal need some time to stabilize. For what it's worth, we already have the similar delay for chip-select de-assertion case. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd8a11e100b463811f41266ea3880c830f3359ea Author: Anton Vorontsov Date: Thu Jun 18 16:49:01 2009 -0700 spi_mpc83xx: quieten down the "Requested speed is too low" message When a platform is running at high frequencies it's not always possible to scale-down a frequency to a requested value, and using mmc_spi driver this leads to the following printk flood during card polling: ... mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use 520828 Hz instead. mmc_spi spi32766.0: Requested speed is too low: 400000 Hz. Will use 520828 Hz instead. ... Fix this by using WARN_ONCE(), it's better than the flood, and also better than turning dev_err() into dev_dbg(), since we actually want to warn that some things may not work correctly. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e04b3336a90efef6a912501155f9880abf7b3c2 Author: Anton Vorontsov Date: Thu Jun 18 16:48:59 2009 -0700 spi_mpc83xx: handle other Freescale processors With this patch we'll able to select spi_mpc83xx driver on the MPC86xx platforms. Let the driver depend on FSL_SOC, so we don't have to worry about Kconfig anymore. Also remove the "experimental" dependency, the driver has been tested to work on a various hardware, and surely not experimental anymore. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Cc: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 433f13a7274ccc3541d2832ffe5ef4472036cc72 Author: Joe Perches Date: Thu Jun 18 16:48:58 2009 -0700 bootmem.c: avoid c90 declaration warning [akpm@linux-foundation.org: cleanup] Signed-off-by: Joe Perches Cc: Pekka Enberg Cc: Benjamin Herrenschmidt Cc: Tejun Heo Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9c28599879040039f610c5b177e61ef65ff100 Author: Baruch Siach Date: Thu Jun 18 16:48:58 2009 -0700 gpio: driver for PrimeCell PL061 GPIO controller This is a driver for the ARM PrimeCell PL061 GPIO AMBA peripheral. The driver is implemented using the gpiolib framework. This driver also includes support for the use of the PL061 as an interrupt controller (secondary). Signed-off-by: Baruch Siach Cc: David Brownell Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2af5066f664cb011cf17d2e4414491fe24597e07 Author: Hidetoshi Seto Date: Thu Jun 18 19:20:26 2009 -0700 PCI: make msi_free_irqs() to use msix_mask_irq() instead of open coded write Use msix_mask_irq() instead of direct use of writel, so as not to clear preserved bits in the Vector Control register [31:1]. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit f598282f5145036312d90875d0ed5c14b49fd8a7 Author: Matthew Wilcox Date: Thu Jun 18 19:15:59 2009 -0700 PCI: Fix the NIU MSI-X problem in a better way The previous MSI-X fix (8d181018532dd709ec1f789e374cda92d7b01ce1) had three bugs. First, it didn't move the write that disabled the vector. This led to writing garbage to the MSI-X vector (spotted by Michael Ellerman). It didn't fix the PCI resume case, and it had a race window where the device could generate an interrupt before the MSI-X registers were programmed (leading to a DMA to random addresses). Fortunately, the MSI-X capability has a bit to mask all the vectors. By setting this bit instead of clearing the enable bit, we can ensure the device will not generate spurious interrupts. Since the capability is now enabled, the NIU device will not have a problem with the reads and writes to the MSI-X registers being in the original order in the code. Signed-off-by: Matthew Wilcox Reviewed-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 48ec2b53fe6a7244d62c74876ae00b0d7e03b4c5 Merge: feb97c3 5587931 Author: Russell King Date: Fri Jun 19 19:59:36 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel commit c7a5d70796379e3d51d0c652fbe1634b81d3bbd5 Author: Greg Kroah-Hartman Date: Fri Jun 19 11:04:32 2009 -0700 Staging: comedi: fix build errors Some of the comedi drivers need timer.h to build properly, so put it in the comedidev.h file to fix these errors. Signed-off-by: Greg Kroah-Hartman commit 7316bc55ed20c1eae6ff87a35dc2a8e3827f2d79 Author: Roberto De Ioris Date: Wed Jun 10 23:02:19 2009 -0700 Staging: udlfb: update to version 0.2.3 This updates the udlfb to the 0.2.3 version. From: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 4b6a4856c6b6e3bb7839b15296712627b7a37208 Author: Greg Kroah-Hartman Date: Wed Jun 3 14:47:21 2009 -0700 Staging: udlfb: fix some sparse warnings. There are others remaining due to the __iomem namespace of the framebuffer data pointer. Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit f05e0575ed334a23dad91b8f6ed0ac42a3996b8d Author: Greg Kroah-Hartman Date: Wed Jun 3 14:47:08 2009 -0700 Staging: udlfb: clean up checkpatch warnings in udlfb.c This cleans up a bunch of checkpatch.pl warnings in the udlfb.c file. Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 39e7df5d17f28889543c09b5f3ffd6d380fc7317 Author: Greg Kroah-Hartman Date: Wed Jun 3 14:47:00 2009 -0700 Staging: udlfb: clean up checkpatch warnings in udlfb.h This cleans up a bunch of checkpatch.pl warnings in the udlfb.h file. Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 9a82e6df79f13a3489c50813c1edb4331a9400d3 Author: Greg Kroah-Hartman Date: Wed Jun 3 14:45:40 2009 -0700 Staging: udlfb: add udlfb driver to build This adds the udlfb driver to the build system Cc: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 88e58b1a42f8c1e9ac8ecda23374cc241045d309 Author: Roberto De Ioris Date: Wed Jun 3 14:03:06 2009 -0700 Staging: add udlfb driver This adds the udlfb driver, a framebuffer driver for DisplayLink devices. From: Roberto De Ioris Signed-off-by: Greg Kroah-Hartman commit 0f218ee2b7e474a5424fbd452c2e3a5da0599e99 Author: Greg Kroah-Hartman Date: Wed Jun 3 11:12:41 2009 -0700 Staging: pata_rdc: remove pointless comments These comments contribute nothing to the code, and most were just cut and pasted from another driver. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 0b77ca66a6ef1ab353b112bb548ff7492836ecc3 Author: Greg Kroah-Hartman Date: Wed Jun 3 11:07:38 2009 -0700 Staging: pata_rdc: remove DRIVER macros They are not needed, and the version one was pointless now that the code is merged into the tree. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit da9dbc0059fc5c6ae80dd8ecf85ae455a65d96de Author: Greg Kroah-Hartman Date: Wed Jun 3 10:17:47 2009 -0700 Staging: pata_rdc: remove dbgprintf macro Use dev_dbg() instead. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit c7a8c592c1f69f2c8e86baf21acfd64c64b5f3fd Author: Greg Kroah-Hartman Date: Wed Jun 3 10:17:47 2009 -0700 Staging: pata_rdc: remove broken flag The "in_module_init" flag was wrong, so just remove it, it's not needed. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 6b23e3104d95dd752fcf8b32fbace15f483b6814 Author: Greg Kroah-Hartman Date: Wed Jun 3 10:14:19 2009 -0700 Staging: pata_rdc: fix build warnings struct ata_port_info shouldn't be const, so remove that which fixes up the compiler warnings. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 1a24bda26106fa522de8af78a2fea2c5e737137b Author: Greg Kroah-Hartman Date: Wed Jun 3 09:47:57 2009 -0700 Staging: pata_rdc: use PCI_DEVICE Use the PCI_DEVICE macro, that's what it is there for... Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit c0a5962f761b5c7c312d829c16c2856be6d494db Author: Greg Kroah-Hartman Date: Wed Jun 3 09:47:57 2009 -0700 Staging: pata_rdc: remove function prototypes Move code around so we do not need the function prototypes anymore. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 482612afc611a504ef7f0e51022d381876ee3cca Author: Greg Kroah-Hartman Date: Wed Jun 3 07:45:49 2009 -0700 Staging: pata_rdc: coding style fixes This fixes a number of coding style issues in the pata_rdc.h file Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit b079fa27d946cf7382ebcd06148782d62103e51a Author: Greg Kroah-Hartman Date: Tue Jun 2 22:45:46 2009 -0700 Staging: pata_rdc: convert code to work in 2.6.29 This fixes build problems in the pata_rdc driver due to api changes in the libata layer. Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit 89a2c2085bfddde2d4fe2264a3f040cb054ed145 Author: Greg Kroah-Hartman Date: Tue Jun 2 22:45:46 2009 -0700 Staging: pata_rdc: add driver to the build system Cc: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit ad41a8a58e15bf4dee13b78bb3b77f4e1f417506 Author: Kevin Huang Date: Mon Jun 1 11:43:20 2009 +0800 Staging: add pata_rdc driver This is our IDE Source code. This is base on kernel 2.6.28. pata_rdc.h and pata_rdc.c From: Kevin Huang Cc: Tomy Wang Signed-off-by: Greg Kroah-Hartman commit ba49d59ac4b0748c8d7be9d7a9f637c50592e977 Author: Greg Kroah-Hartman Date: Tue Jun 2 15:16:24 2009 -0700 Staging: remove obsolete serqt_usb driver Now that Bill rewrote the driver "properly", this old thing can be removed. Cc: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8ba911c793c526c394eeddbe66f675c58a922449 Author: Bill Pemberton Date: Sun May 31 15:49:42 2009 -0400 Staging: serqt_usb2 add the driver to the build Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d75662e164d5175c5e5f9339ff4d6f6980613d96 Author: Bill Pemberton Date: Sun May 31 15:49:43 2009 -0400 Staging: Add serqt_usb2, a rewrite of serqt_usb for the usb-serial layer This is the serqt_usb driver rewritten to use usb-serial. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0d99b6eb851fbea9e31ad23f70c8f9fbefd6e4e8 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: asus_oled: fix build warnings This fixes some build warnings in the asus_oled driver. Signed-off-by: Greg Kroah-Hartman commit 04b17c935bb4066bf036b338f46ed253bcf34b70 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: slicoss: fix build warnings This fixes some build warnings in the slicoss driver. Signed-off-by: Greg Kroah-Hartman commit b0f434a7e90395b588a38ae706c6c63a23d497e4 Author: Jean Delvare Date: Thu Jun 4 13:35:15 2009 +0200 Staging: slicoss: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 602bd07313f6b337b7ec0297855a5d4d1743c6f2 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: altpciechdma: fix build warnings This fixes some build warnings in the altpciechdma driver. Signed-off-by: Greg Kroah-Hartman commit 24f5063d3f1125a75cadacab4609a358c15a96f3 Author: Jean Delvare Date: Thu Jun 4 13:35:15 2009 +0200 Staging: altpciechdma: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit afcf462a1fd78cc372aefd9fe352e2dc2f237937 Author: Dongxiao Xu Date: Sun May 31 14:44:01 2009 +0800 Staging: heci: fix the problem that file_ext->state should be protected by device_lock While access file_ext->state, we should use device_lock to protect it. The original codes miss this in some places. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 8d1c50e9829442be5bc88979d587af2a5ff07e32 Author: Dongxiao Xu Date: Sun May 31 14:43:58 2009 +0800 Staging: heci: do not print error when heci_bh_handler is already on workqueue schedule_work returns 0, if the work is already on the work_queue, else returns non-zero. Do not print error message if heci_bh_handlerwork was already on queue. Signed-off-by: Nikanth Karthikesan Signed-off-by: Greg Kroah-Hartman commit ad914a3ec5f1b8c4f97a00f94e11bb20f99a901b Author: Dongxiao Xu Date: Sun May 31 14:43:55 2009 +0800 Staging: heci: fix setting h_is bit in h_csr register Host software could issue interrupts to ME firmware, using H_IG bit. While Setting H_IG bit, host software should preserve all the other bits in H_CSR unchanged. In the original function which sets H_CSR register, they first read the register, then set some bits, and write the whole 32bits back to the register. And that the special behavior of H_IS (write-one-to-zero) causes problem. This patch fixes the issue in the following ways: - Modify heci_set_csr_register() function so that it doesn't change H_IS bit. - Add interface heci_csr_clear_his() to clear H_IS bit. This function is called after H_IS checking (dev->host_hw_state & H_IS == H_IS). - In original heci_csr_disable_interrupts() function, it not only clears H_IE bit, sometimes it also clears H_IS bit. This patch separates the two parts. - Avoid calling write_heci_register() function to set H_CSR register directly, and instead using heci_set_csr_register() function Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 52b855600c5c16c13b6f288f3536d01c2603e78d Author: Dongxiao Xu Date: Sun May 31 14:43:51 2009 +0800 Staging: heci: fix typos and add wait after disconnect - Fix typo for enum HECI_WRITE. - Fix timeout issue. If the time period is greater or equal 15s, it's timeout. - Add 10ms wait time after disconnect, to ensure that hardware is ready. Otherwise in the next time connection, hardware resource may be busy. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 58b25a63a18e88052c8f5f068e68feaac4c6831d Author: Dongxiao Xu Date: Sun May 31 14:43:46 2009 +0800 Staging: heci: fix softirq safe to unsafe spinlock issue When spinlock is nested, and the outside one is spin_lock_bh, the inner spinlock should also be spin_lock_bh, otherwise it will bring softirq-safe to softirq-unsafe lock conversion. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 72abd2288318a35fbf225b93a31d4623e3b8c872 Author: Dongxiao Xu Date: Sun May 31 14:43:42 2009 +0800 Staging: heci: fix spinlock order mess of device_lock and read_io_lock In orginal code, the device_lock and read_io_lock is mess order when nested, which may bring dead lock. This patch unify the spinlock order of device_lock and read_io_lock. First acquire device_lock, then read_io_lock. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 171df6381962b463e5aa8ff936eb3f995a56ce9e Author: Dongxiao Xu Date: Sun May 31 14:43:39 2009 +0800 Staging: heci: fix wrong order of device_lock and file_lock When the two locks are nested, the code should always first acquire file_lock, and then acquire device_lock in order not to generate dead-lock race. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 36e844671cbdace27f0462a46cedde0a4d6b1001 Author: Dongxiao Xu Date: Sun May 31 14:43:35 2009 +0800 Staging: heci: fix userspace pointer mess Fix userspace pointer mess. - In memcmp(), dest and src pointer should be both in kernel space. - Add (void __user *) modification before userspace pointer. Signed-off-by: Dongxiao Xu Signed-off-by: Greg Kroah-Hartman commit 7a80bfcd1f4bac61d586d3551f74215ff02e9cba Author: vibi sreenivasan Date: Thu Jun 4 20:59:17 2009 +0530 Staging: rspiusb: copy_to/from_user related fixes The patch does copy_to/from_user related fixes *) __copy_from/to_user is enough for user space data buffer checked by access_ok. *) return -EFAULT if __copy_from/to_user fails. *) Do not use memcpy to copy from user space. Signed-off-by: Vibi Sreenivasan Signed-off-by: Greg Kroah-Hartman commit 8d2db5169d103d03646e7b7e93798739b2290d22 Author: vibi sreenivasan Date: Thu Jun 4 20:56:45 2009 +0530 Staging: rspiusb: Fix a bunch of warnings. The patch fixes the following warnings. drivers/staging/rspiusb/rspiusb.c: In function ‘pixel_data’: drivers/staging/rspiusb/rspiusb.c:267: warning: passing argument 1 of ‘SetPageDirty’ makes pointer from integer without a cast drivers/staging/rspiusb/rspiusb.c: In function ‘UnMapUserBuffer’: drivers/staging/rspiusb/rspiusb.c:500: warning: passing argument 1 of ‘put_page’ makes pointer from integer without a cast drivers/staging/rspiusb/rspiusb.c: In function ‘MapUserBuffer’: drivers/staging/rspiusb/rspiusb.c:662: warning: assignment makes integer from pointer without a cast drivers/staging/rspiusb/rspiusb.c:670: warning: assignment makes integer from pointer without a cast Signed-off-by: Vibi Sreenivasan Signed-off-by: Greg Kroah-Hartman commit 14e8bcd0866a93ae1c20efa462e5d4807a1398a0 Author: Richard Genoud Date: Sun May 17 13:06:32 2009 +0200 Staging: rspiusb: duplicate code in pixis_io It seems that pixis_io and pixis_io2 should do the same thing. Signed-off-by: Richard Genoud Signed-off-by: Greg Kroah-Hartman commit c854b5e58f2a564af1428e12cdb183e9b876fa0f Author: Richard Genoud Date: Sun May 17 13:06:31 2009 +0200 Staging: rspiusb.c: break the huge piusb_ioctl function into several ones This makes the code more readable, makes checkpatch really happy and factorize some code. Signed-off-by: Richard Genoud Signed-off-by: Greg Kroah-Hartman commit f2d46e248a8a825506c21f972fff11e423ff1eea Author: Richard Genoud Date: Sun May 17 13:06:30 2009 +0200 Staging: rspiusb: clean rspiusb code This first patch makes checkpatch happier Signed-off-by: Richard Genoud Signed-off-by: Greg Kroah-Hartman commit 6546f08d21921ee13b6265493bebcff750090791 Author: J.R. Mauro Date: Sat Mar 28 00:10:35 2009 -0400 Staging: rspiusb: make driver compile Convert undefined info() function calls to dev_err, making rspiusb compile Signed-off-by: J.R. Mauro Signed-off-by: Greg Kroah-Hartman commit f82ebea5c8ef9ed9378fc6402051a4860a805397 Author: Serge E. Hallyn Date: Wed May 20 10:15:28 2009 -0500 staging: p9auth: prevent some oopses and memory leaks Before all testcases, do: mknod /dev/caphash c 253 0 mknod /dev/capuse c 253 1 This patch does the following: 1. caphash write of > CAP_NODE_SIZE bytes overruns node_ptr->data (test: cat /etc/mime.types > /dev/caphash) 2. make sure we don't dereference a NULL cap_devices[0].head (test: cat serge@root@abab > /dev/capuse) 3. don't let strlen dereference a NULL target_user etc (test: echo ab > /dev/capuse) 4. Don't leak a bunch of memory in cap_write(). Note that technically node_ptr is not needed for the capuse write case. As a result I have a much more extensive patch splitting up cap_write(), but I thought a smaller patch that is easier to test and verify would be a better start. To test: cnt=0 while [ 1 ]; do echo /etc/mime.types > /dev/capuse if [ $((cnt%25)) -eq 0 ]; then head -2 /proc/meminfo fi cnt=$((cnt+1)) sleep 0.3 done Without this patch, it MemFree steadily drops. With the patch, it does not. I have *not* tested this driver (with or without these patches) with factotum or anything - only using the tests described above. Signed-off-by: Serge E. Hallyn Signed-off-by: Greg Kroah-Hartman commit 0f51010e87636ed93338f4d9a987a466ca0d6969 Author: David Rowe Date: Wed May 20 11:18:27 2009 +0930 Staging: oslec bug fix I have just had a bug fix submitted for Oslec which I have applied to Oslec SVN. The bug can potentially stops the echo canceller adapting after a few seconds, although it hasn't caused many problems in practice. Signed-off-by: David Rowe Signed-off-by: Greg Kroah-Hartman commit 99dc2a7f1221cd0cc9d6e988d03755155fadae9d Author: Andre Lopes Date: Tue May 26 14:55:32 2009 -0700 staging: b3dfg: clean up MODULE_PARM_DESC newline Remove incorrect MODULE_PARM_DESC newline. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 315d7fa9d60fb402b1331fe5e83d9295f4c6cf0f Author: Roel Kluin Date: Tue May 12 13:50:24 2009 -0700 staging: wis-sony-tuner.c: fix &&/|| error Fix &&/|| typo Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 385269885f156c76518748fcb215bd2ca81ef000 Author: Julia Lawall Date: Fri Jun 5 17:07:38 2009 +0200 Staging: rtl8192su: Correct use of ! and & Correct priority problem in the use of ! and &. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ - !E & C + !(E & C) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 36dbd40139b5adcd60a62be10b6bf83289d79ea4 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: rtl8192su: fix build warnings This fixes some build warnings in the rtl8192su driver. Signed-off-by: Greg Kroah-Hartman commit 5f53d8ca3d5d6afa55011e1e858a4bf255a3abf4 Author: Jerry Chuang Date: Thu May 21 22:16:02 2009 -0700 Staging: add rtl8192SU wireless usb driver Driver from Realtek for the Realtek RTL8192 USB wifi device Based on the r8187 driver from Andrea Merello and others. Signed-off-by: Greg Kroah-Hartman commit d01c3c8e13f7be29fae5b55bbd4a01d6f84d3d5e Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: cpc-usb: fix build warnings This fixes some build warnings in the cpc-usb driver. Signed-off-by: Greg Kroah-Hartman commit 5e23f3e9626b1bdc425f6351d10be28a57aae9c8 Author: Alexander Beregalov Date: Thu May 21 15:44:46 2009 +0400 Staging: cpc-usb: fix printk format warnings Fix this warnings: cpc-usb_drv.c:478: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' cpc-usb_drv.c:1034: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit c32a4e066c42b1b4bd7c472814bce09f16ff8202 Author: Alexander Beregalov Date: Thu May 21 15:44:45 2009 +0400 Staging: cpc-usb: depends on PROC_FS Fix this build error when PROC_FS is not enabled: cpc-usb_drv.c:61:2: error: #error "PROCFS needed" cpc-usb_drv.c:1159: error: implicit declaration of function 'proc_mkdir' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit a3d97c9b192df8e9c6a041f9452b400070ce2d02 Author: Julia Lawall Date: Wed May 20 09:17:11 2009 +0200 Staging: cpc-usb: Adjust NULL test Since card must already be non-NULL, it seems that what was intended was to test the result of kmalloc. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E,E1; identifier f,fld,fld1; statement S1,S2; @@ E->fld = f(...); ... when != E = E1 when != E->fld1 = E1 if ( - E + E->fld == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 562bf4845fbd9240a1964734d769bb5f6973e759 Author: Greg Kroah-Hartman Date: Thu May 14 21:16:23 2009 -0700 Staging: cpc-usb: add TODO file List what needs to be done to get this driver merged into the main part of the kernel tree. Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 240f3ee0c864a19fa74fb9f049f53e63e77c3182 Author: Greg Kroah-Hartman Date: Thu May 14 21:14:27 2009 -0700 Staging: cpc-usb: fix checkpatch warnings in sja2m16c.h This fixes most of the coding style issues in sja2m16c.h Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 0f064b52ce0f837791924b252ae59476ef26de69 Author: Greg Kroah-Hartman Date: Thu May 14 21:13:51 2009 -0700 Staging: cpc-usb: fix up checkpatch errors in cpc-usb_drv.c This resolves the checkpatch errors in cpc-usb_drv.c Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 936b6230530a3605e99563dfd3a6845dc0343b6e Author: Greg Kroah-Hartman Date: Thu May 14 20:47:10 2009 -0700 Staging: cpc-usb: add driver to the build This adds the cpc-usb driver to the kernel build Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 84a209d01c58d74f291efc82e313b132ecec7be0 Author: Greg Kroah-Hartman Date: Thu May 14 20:56:58 2009 -0700 Staging: cpc-usb: fix some build problems in the driver It will now build properly on the latest kernel tree. Cc: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit e0ce8a7265fec155f97438c80dedd7f01ff0055f Author: Sebastian Haas Date: Thu May 14 20:46:12 2009 -0700 Staging: add cpc-usb driver to the staging tree This is a CPC CAN USB driver. Just some comments: cpcusb.h and cpc-usb_drv.c: Essential driver source code sja2m16c_2.c: Helper for converting bitrate timings cpc.h: Structures and definition needed to communicate with the device From: Sebastian Haas Signed-off-by: Greg Kroah-Hartman commit 6456f0b7683c9b82ca3f3e4f0aec15b9d2966561 Author: Oleg Nesterov Date: Mon May 4 00:15:31 2009 +0200 Staging: epl: do not use CLONE_SIGHAND with allow_signal() Not sure this patch is really needed since kernel_thread() is deprecated (and checkpatch.pl complains). But we should not use kernel_thread(CLONE_SIGHAND) if we are going to play with signals. Signed-off-by: Oleg Nesterov Signed-off-by: Greg Kroah-Hartman commit d604fc995e7d222b043b33676f64e8b855fa596f Author: Greg Kroah-Hartman Date: Thu Jun 4 10:40:37 2009 -0700 Staging: android: fix Kconfig issues Wrap all ANDROID config items with a #if to keep from asking if you want specific Android drivers even if you say N to CONFIG_ANDROID Signed-off-by: Greg Kroah-Hartman commit 3dffc8271f778b9ac8eb6985c99f23cef7a753d6 Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: binder: fix up some checkpatch warnings This cleans up the majority of the checkpatch warnings in the android binder driver. All that is left now is a bunch of too-long-line stuff. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit e93daf9f8d94b9dc31a66e3ae76d7fdf80b1cb7d Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: ram_console: fix up remaining checkpatch warnings This cleans up the last of the checkpatch warnings in the android ram_console driver. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 66b20608c9e98a0a29806bd47b30565927fdbbd8 Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: logger: fix up remaining checkpatch warnings This cleans up the last of the checkpatch warnings in the android logger driver. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 1dbb5765acc7a6fe4bc1957c001037cc9d02ae03 Author: Greg Kroah-Hartman Date: Mon May 11 17:00:41 2009 -0700 Staging: android: lowmemorykiller: fix up remaining checkpatch warnings This cleans up the last of the checkpatch warnings in the android lowmemorykiller driver. Cc: San Mehat Cc: Arve Hjønnevåg Cc: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 241e12879be74fdfadf3abc820a2e3c455599c3c Author: Mike Lockwood Date: Mon May 4 15:48:00 2009 -0700 Staging: android: timed_gpio: Separate timed_output class into a separate driver. Signed-off-by: Mike Lockwood Signed-off-by: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 5d14a573a4da521d4ed7acd0c7d8a975887b2dd2 Author: David Rientjes Date: Mon May 11 15:45:14 2009 -0700 Staging: android: lowmemorykiller: fix possible android low memory killer NULL pointer get_mm_rss() atomically dereferences the actual without checking for a NULL pointer, which is possible since task_lock() is not held. Cc: San Mehat Cc: Arve Hjønnevåg Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 34006e11ee406daa98aaf685d2de80c70e68decf Author: David Rientjes Date: Mon May 11 15:45:12 2009 -0700 Staging: android: lowmemorykiller: cleanup android low memory killer Clean up the code in lowmem_shrink() for the Android low memory killer so that it follows the kernel coding style. It's unnecessary to check for p->oomkilladj >= min_adj if the selected task's oomkilladj score is stored since get_mm_rss() will always be greater than zero. Cc: San Mehat Cc: Arve Hjønnevåg Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 31d59a4198f3f07da8250dfb5b698eacfaf612e5 Author: Arve Hjønnevåg Date: Mon May 11 15:45:10 2009 -0700 Staging: android: lowmemorykiller: Don't count free space unless it meets the specified limit by itself From: Arve Hjønnevåg This allows processes to be killed when the kernel evict cache pages in an attempt to get more contiguous free memory. Signed-off-by: Arve Hjønnevåg Cc: David Rientjes Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit f501d00144328ca9e0521d159cf80ff5c9d21d77 Author: Arve Hjønnevåg Date: Mon May 11 15:45:09 2009 -0700 Staging: android: lowmemorykiller: Only iterate over process list when needed. Use NR_ACTIVE plus NR_INACTIVE as a size estimate for our fake cache instead the sum of rss. Neither method is accurate. Also skip the process scan, if the amount of memory available is above the largest threshold set. Signed-off-by: Arve Hjønnevåg Cc: David Rientjes Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit 4900dea69fc70d145c7d6b66830de6642a4c4152 Author: Randy Dunlap Date: Fri Jun 5 11:12:03 2009 -0700 Staging: vt6655: uses pci functions, should depend on PCI This driver uses lots of pci_*() calls, so it should depend on PCI. drivers/staging/vt6655/device_main.c:3942: error: implicit declaration of function 'pci_dev_driver' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 1d69a1c65b0d25739819caef6b1f0f6ddc2ab84c Author: Forest Bond Date: Tue Jun 2 14:44:46 2009 -0400 Staging: vt6655: Integrate drivers/staging/vt6655 into build system. Integrate drivers/staging/vt6655 into build system. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 572113540886faf393fd04408c394899df98ada3 Author: Forest Bond Date: Tue Jun 2 14:44:33 2009 -0400 Staging: vt6655: use net_device_ops for management functions vt6655: use net_device_ops for management functions Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 7bb8dc2d7eb5594ec890e822bb0517446d369698 Author: Forest Bond Date: Mon Jun 1 20:00:35 2009 -0400 Staging: vt6655: Remove LINUX_VERSION_CODE preprocessor conditionals. vt6655: Remove LINUX_VERSION_CODE preprocessor conditionals. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit c9d0352914e8fdaece56c8c3ea489d7214b0353e Author: Forest Bond Date: Mon Jun 1 20:00:14 2009 -0400 Staging: vt6655: Replace net_device->priv accesses with netdev_priv calls. vt6655: Replace net_device->priv accesses with netdev_priv calls. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit e2ce5277eb9fdd6923f35b25e64ebfc7a70a03c3 Author: Forest Bond Date: Mon May 4 21:48:27 2009 -0400 Staging: vt6655: Build vt6655.ko, not viawget.ko. As you requested, this series is to be applied on top of patches 1, 2, and 6 (and replaces patches 3, 4, 5, 7, and 8) from the previous series. Build vt6655.ko, not viawget.ko. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 756f94e6386519696455a3b1a15f3d451bcf73c7 Author: Forest Bond Date: Sat Apr 25 10:32:25 2009 -0400 Staging: vt6655: Drop obsolete fsuid/fsgid accesses. drivers/staging/vt6655/device_main.c: Drop obsolete fsuid/fsgid accesses. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 1cb648b34879b79975f68728be70bae05979ae13 Author: Forest Bond Date: Sat Apr 25 10:31:32 2009 -0400 Staging: vt6655 Add includes to drivers/staging/vt6655. Add includes to drivers/staging/vt6655. These came from the includes directory in the upstream source archive. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 5449c685a4b39534f18869a93896370224463715 Author: Forest Bond Date: Sat Apr 25 10:30:44 2009 -0400 Staging: Add pristine upstream vt6655 driver sources Add pristine upstream vt6655 driver sources to drivers/staging/vt6655. These files were literally copied from the driver directory in the upstream source archive, available here: http://www.viaarena.com/Driver/vt6655_linux_src_v1.19.12_x86.zip Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit be2e10710b1c330d25e66724ef10b8aabdae4a83 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: rt2870: fix build warnings This fixes some build warnings in the rt2870 driver. Signed-off-by: Greg Kroah-Hartman commit f991a65c0cb8eaf855404a0e6c753053de08cdda Author: Roel Kluin Date: Wed May 13 20:37:54 2009 +0200 staging: rtlxxxx: off by one in AsicSendCommandToMcu() and NDIS_STATUS NICLoadFirmware() With a postfix increment i/Index is incremented beyond 100/1000 so the message will be displayed too soon. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 8d72f98abbabddd5785a668e0d24db3e739f78b4 Author: Bryan Stephenson Date: Fri May 1 21:07:53 2009 +0100 Staging: rt2860: fix for driver RT2860 to be able to connect to WPA2 networks Hi patch to change a line in the cmm_wpa.c file for the rt2860 driver so it can connect to WPA2 networks with TKIP & AES encryption Signed-off-by: Bryan Stephenson Signed-off-by: Greg Kroah-Hartman commit ddaf557500664b88951f8b1e9b4cb9d368892fd6 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:31 2009 +0200 Staging: rt28[67]0: merge rt28[67]0/sta/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5f5d2df8ab0b5b6e8514c69b33cc92cac45cda75 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:29 2009 +0200 Staging: rt2860: prepare for rt28[67]0/sta/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 371abf6def2dfa378b8012ca1d154909e5aecb1c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:29 2009 +0200 Staging: rt28[67]0: merge rt28[67]0/common/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 59fe2d89b6ca0c046fde77e8b504d7a250758f44 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:28 2009 +0200 Staging: rt2860: prepare for rt28[67]0/common/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3fb468abc878cb8967d063c0d10094569c987d68 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:27 2009 +0200 Staging: rt28[67]0: merge rt28[67]0/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3a32ed12b69113094f0921dad50f112626cde44d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:25 2009 +0200 Staging: rt2860: prepare for rt28[67]0/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0eae1ca391ab35da89b08afde74030ced103fd86 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:24 2009 +0200 Staging: rt{28,30}70: merge rt{28,30}70/sta/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e70b8c30f70f4e0acc584b879df22b9a313c88b1 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:23 2009 +0200 Staging: rt2870: prepare for rt{28,30}70/sta/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d7637949629c6fe0938666e8f7b88f944afb1f4b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:23 2009 +0200 Staging: rt{28,30}70: merge rt{28,30}70/common/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ffbc7b854e1e3608eec5cc54bd8aa48c711d2996 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:22 2009 +0200 Staging: rt2870: prepare for rt{28,30}70/common/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9e4dab715bf4934b1c857135550dde47d43ce218 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:19 2009 +0200 Staging: rt{28,30}70: merge rt{28,30}70/*.[ch] Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d1e4861ac22f8c7a9715732fea5117f77db58279 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:18 2009 +0200 Staging: rt2870: prepare for rt{28,30}70/*.[ch] merge Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 12e95a6366cbf30341e0e4330c04c6b6d8895f16 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:16 2009 +0200 Staging: rt3070: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ac7e7d5a88b9db7b7557e22893cdf94013fafa31 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:14 2009 +0200 Staging: rt2870: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 96f139ee99322060523883d4a665b10780ca3182 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:12 2009 +0200 Staging: rt2860: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2ed0b7ec56a619d53f5ad9b38105144dd75351ce Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:11 2009 +0200 Staging: rt3070: use empty ASSERT() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c03332c54cdb9e084721bc0539a137c0d2cebe2d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:09 2009 +0200 Staging: rt2870: use empty ASSERT() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9411329dee224246240f0349329adc90a3edbbaa Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:09 2009 +0200 Staging: rt2860: use empty ASSERT() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 993709edbfece976804ae0d52385fc6315e73064 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:09 2009 +0200 Staging: rt3070: remove dead CONFIG_AP_SUPPORT code Then remove no longer needed IF_DEV_CONFIG_OPMODE_ON_[AP,STA]() macros. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 303ee97d3c8c11529ab7bccc2c0a4e3f18befcee Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:08 2009 +0200 Staging: rt2870: remove dead CONFIG_AP_SUPPORT code Then remove no longer needed IF_DEV_CONFIG_OPMODE_ON_[AP,STA]() macros. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5a911fd648c48ba23ffbd729daad0d56c45b2b78 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:04 2009 +0200 Staging: rt2860: remove dead CONFIG_AP_SUPPORT code Then remove no longer needed IF_DEV_CONFIG_OPMODE_ON_[AP,STA]() macros. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8f78dfebb8fc14c94900e8f6939c21f8f826c764 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:04 2009 +0200 Staging: rt3070: remove DOT11_N_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fa46aa71d7362798956d11f794971b50054d19b7 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:02 2009 +0200 Staging: rt2870: remove DOT11_N_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1623267ab40fb52e33b889cdb5c8b796be454a20 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:06:00 2009 +0200 Staging: rt2860: remove DOT11_N_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3ba73067de435440b05bd29b0a7b5c9120ab1f36 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:59 2009 +0200 Staging: rt3070: remove WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f3a9749f8d5ce80e4d588b424d36aa60cbf40091 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:57 2009 +0200 Staging: rt2870: remove WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e08bae5ab24ee8c34e6b0c5197136af77ae12275 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:56 2009 +0200 Staging: rt2860: remove WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d7738afe3eb3bd67f4fc2e2d69c49108aed395ce Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:54 2009 +0200 Staging: rt3070: remove NATIVE_WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 34b33461e6405ebbf04541efda13a7f48019efcd Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:53 2009 +0200 Staging: rt2870: remove NATIVE_WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2684d16649c295b4498be5459ebb1e25220e3ee9 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:51 2009 +0200 Staging: rt2860: remove NATIVE_WPA_SUPPLICANT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 84717059b36187025c6483566de6873661787c74 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:49 2009 +0200 Staging: rt3070: remove CONFIG_STA_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bc05b159c5a7db29e38890ff1ad4b07a586896cf Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:48 2009 +0200 Staging: rt2870: remove CONFIG_STA_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6a28a69ae8c51069c05f0a479be609fabef11790 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:46 2009 +0200 Staging: rt2860: remove CONFIG_STA_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2bc1c810c3dd295d8f1f65b4d68077b58f435c4b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:44 2009 +0200 Staging: rt3070: remove dead RT_BIG_ENDIAN code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5176fae43fe1fb7c05c34b3a9867dca69284a20a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:42 2009 +0200 Staging: rt2870: remove dead RT_BIG_ENDIAN code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 51f94a7b1fa62bb0af30d22928820673fda3a44e Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:39 2009 +0200 Staging: rt2860: remove dead RT_BIG_ENDIAN code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b34b33ca5d9650eb20765fe85b20f671551e5133 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:35 2009 +0200 Staging: rt3070: remove dead INF_AMAZON_SE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2891e9087375a29701a604c70aaafb027a20f7e5 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:34 2009 +0200 Staging: rt2870: remove dead INF_AMAZON_SE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2074a80c8b875baee92b7f040a0afd129cbcac26 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:33 2009 +0200 Staging: rt2860: remove dead INF_AMAZON_SE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 03ddd40f1451674e94f717e6a2bff58ddebf3eef Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:33 2009 +0200 Staging: rt3070: remove dead DOT11N_DRAFT3 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 4ad3198c5bb223c94d1b188ea1d8433c54ae888e Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:32 2009 +0200 Staging: rt2870: remove dead DOT11N_DRAFT3 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 790a9093f699e83deb9d60a18ca706f4b890f976 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:29 2009 +0200 Staging: rt2860: remove dead DOT11N_DRAFT3 code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6108b375e9757457f5339489c286a5bb7bd088c7 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:26 2009 +0200 Staging: rt3070: remove dead LEAP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 86b9f2485dc4155a96dc7ecca1b4e71a478908c0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:25 2009 +0200 Staging: rt2870: remove dead LEAP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 720613f89377c044fb1862938dabca69ffa9200d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:24 2009 +0200 Staging: rt2860: remove dead LEAP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b28b24245f4372055d249335b2304fbe1fcd449b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:22 2009 +0200 Staging: rt3070: remove dead SINGLE_SKU code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 925917cfbcdf9d4651f80305e103ac6a11a7c0ae Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:21 2009 +0200 Staging: rt2870: remove dead SINGLE_SKU code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f55e7047505739244503f824fe6c7de17c4014c2 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:18 2009 +0200 Staging: rt2860: remove dead SINGLE_SKU code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2d2b21bcf47a770ae964aa33dbb127b0ce58579c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:18 2009 +0200 Staging: rt3070: remove dead SNMP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7920e2647e6297925a2541994e8233fdca73fbee Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:17 2009 +0200 Staging: rt2870: remove dead SNMP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 37f9be32f71aa7cd2556b7036cdcada350a3b80d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:16 2009 +0200 Staging: rt2860: remove dead SNMP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6fabd4ea35c03ac89771182168cda0ccb69c50ac Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:16 2009 +0200 Staging: rt3070: remove dead EXT_BUILD_CHANNEL_LIST code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 03a8127ebaf0681081386ea8c4073b40dd73f90f Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:14 2009 +0200 Staging: rt2870: remove dead EXT_BUILD_CHANNEL_LIST code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d439c37872d8c4f247e44c6a3118fdebf094be57 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:13 2009 +0200 Staging: rt2860: remove dead EXT_BUILD_CHANNEL_LIST code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 381116e06fa31966f91f5caba8e433534da3ab85 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:12 2009 +0200 Staging: rt3070: remove dead QOS_DLS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bbdf6e888dfd4e8c4ee748c6d8803a1d343c5def Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:09 2009 +0200 Staging: rt2870: remove dead QOS_DLS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0aa7c8ddc027129e876642102a99ba4b51ace624 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:07 2009 +0200 Staging: rt2860: remove dead QOS_DLS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e554fb2f82ef2b358c688830b6605ba63cdf0d5d Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:06 2009 +0200 Staging: rt3070: remove dead MULTIPLE_CARD_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9ab6d90b80c446d961f4ab7ced8b6329dea4fe66 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:04 2009 +0200 Staging: rt2870: remove dead MULTIPLE_CARD_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 72888d31af50c4e8c2732ffd557655444bf9c8a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:03 2009 +0200 Staging: rt2860: remove dead MULTIPLE_CARD_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3fce9b667919e59a4d3d6c560a713a5f2ecaf5aa Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:03 2009 +0200 Staging: rt3070: remove dead CARRIER_DETECTION_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit faf9626d419059ec4f7df3e8918f98d051a2cc3a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:02 2009 +0200 Staging: rt2870: remove dead CARRIER_DETECTION_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 715cb0a4d0f0be535313440c8131fb3541537bbc Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:01 2009 +0200 Staging: rt2860: remove dead CARRIER_DETECTION_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c44f7d45fb1a61cdada3e1b23c04bba2904fc77e Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:05:00 2009 +0200 Staging: rt3070: remove dead DFS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cb85dd00597aa21adc4bfbeeccb4c63d7eca2885 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:59 2009 +0200 Staging: rt2870: remove dead DFS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 924b813ba842be039217823d10d812e7a3df4114 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:58 2009 +0200 Staging: rt2860: remove dead DFS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7c57fe419b34ffef00441a4aed740e586b8202b0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:57 2009 +0200 Staging: rt3070: remove dead BLOCK_NET_IF code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5311031fde342526b848dee8a60366d35cc6675c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:56 2009 +0200 Staging: rt2870: remove dead BLOCK_NET_IF code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 186a4ecda3f95d5e2b4ac7817a68ee2f94545485 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:54 2009 +0200 Staging: rt2860: remove dead BLOCK_NET_IF code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 99db6000cf6bf662cf48c63c2fa3df7d99e0da69 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:53 2009 +0200 Staging: rt3070: remove dead RALINK_ATE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ae2d5411cd4be6784acb7c6df56ab6295a4e3922 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:52 2009 +0200 Staging: rt2870: remove dead RALINK_ATE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 063f22af9ddd24b571d0e50f76d79c276a955394 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:50 2009 +0200 Staging: rt2860: remove dead RALINK_ATE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 55468fae98bc5a47d49848c6154d1ec83dbab3f0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:48 2009 +0200 Staging: rt3070: remove dead BIN_IN_FILE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7baea26a2dd5ffa296eea2714d04a8fe77a05442 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:47 2009 +0200 Staging: rt2870: remove dead BIN_IN_FILE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c764fcf4e80b1325fab4e688ad02a48e84437983 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:47 2009 +0200 Staging: rt2860: remove dead BIN_IN_FILE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b11c9a03a767af38b9a8f193db8b93105ce33d94 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:46 2009 +0200 Staging: rt3070: remove dead NINTENDO_AP code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b5e1d5e1b3ae4f57cd14d825012a9af1f1aafdc4 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:46 2009 +0200 Staging: rt2870: remove dead NINTENDO_AP code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 87e0e92b78a4661f8093f1d164d7be61cd165b97 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:45 2009 +0200 Staging: rt2860: remove dead NINTENDO_AP code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3d33a60a444dd4b1da44c0bfa6399410c37dd3c3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:44 2009 +0200 Staging: rt3070: remove dead UCOS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cfdf82bc3db57b99982bce9280ad2bf6b179ee3a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:43 2009 +0200 Staging: rt2870: remove dead UCOS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2eb457f25f0e84d268aa83098d6def2c360add98 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:42 2009 +0200 Staging: rt2860: remove dead UCOS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 625ac67a85c3be66253cfa3e2fbe4ef2b06938ff Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:41 2009 +0200 Staging: rt3070: remove dead CONFIG_APSTA_MIXED_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 80b75545adbceffebaafaea066fcea651657a62b Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:40 2009 +0200 Staging: rt2870: remove dead CONFIG_APSTA_MIXED_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 87502c14fea5084ab44d1c18dac0834f36a6d987 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:38 2009 +0200 Staging: rt2860: remove dead CONFIG_APSTA_MIXED_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 20ae44269b7af8cd5b9fd31413a5f9946687fd5a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:37 2009 +0200 Staging: rt2870: remove dead APCLI_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 731a617ad66ddef486777ae98ecefa0527e77e44 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:36 2009 +0200 Staging: rt2860: remove dead APCLI_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 81da7b6d8a91d8e61382534a4483a9c44c048581 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:35 2009 +0200 Staging: rt3070: remove dead MLME_EX code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d7523f56d7f45b84bcc0ed50f51ae1483a0edab1 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:34 2009 +0200 Staging: rt3070: remove dead WDS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0842e1755c3ee6d4603d597bfe9f07a83668cd86 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:33 2009 +0200 Staging: rt2870: remove dead WDS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 16c3ea9cc0df9e6608200688be4b24a7958f45d3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:33 2009 +0200 Staging: rt2860: remove dead WDS_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7c96ffc59c0a62f353e47daeff85a1ee98be9a71 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:32 2009 +0200 Staging: rt3070: remove dead *WSC_INCLUDED code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b03e645ce22b6958090abe2c27cc6a444ace3d4c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:31 2009 +0200 Staging: rt2870: remove dead WSC_AP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2fd5fa962a8697973b525251c747314fb432d231 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:30 2009 +0200 Staging: rt2860: remove dead WSC_AP_SUPPORT code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ecb5754bcfa5c7f2d99292d73669f2989d0923fc Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:30 2009 +0200 Staging: rt3070: remove dead UNDER_CE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit af683a90efebde43771073f51a6311b9162e401a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:29 2009 +0200 Staging: rt2870: remove dead UNDER_CE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 14b1c67b212659a80eace6edda9d95d9e2538dfa Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:28 2009 +0200 Staging: rt2860: remove dead UNDER_CE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7c469e63fb2ba491a6dab822b7a0e9ed7750efe3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:27 2009 +0200 Staging: rt2860: remove dead WIN_NDIS code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit be1d123abfa0377c52c3b91aa097f76aa37fd9c2 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:26 2009 +0200 Staging: rt2870: remove IWE_STREAM_ADD_*() macros Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 27eff3bf2cd4800b477b6b05a1000c70a388a194 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:25 2009 +0200 Staging: rt2860: remove IWE_STREAM_ADD_*() macros Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ced2a007f70b663549737a96e65b627be9a1704c Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:23 2009 +0200 Staging: rt3070: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8179af308bde85838eafa3db304da7370223ab82 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:22 2009 +0200 Staging: rt2870: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ce6ee223f0438355f4b11ace5df2a787e3fb6820 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 26 16:04:20 2009 +0200 Staging: rt2870: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 80fe3e5ddb7ad339810a744d3bbb6dc001404ee5 Author: Tobias Klauser Date: Sun Apr 26 15:06:09 2009 +0200 Staging: pohmelfs: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Acked-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit dc8284611bf7ee2e871919fa441a9c7afe4d5486 Author: Bill Pemberton Date: Wed Apr 22 08:59:15 2009 -0400 Staging: pohmelfs: Remove braces around single statements Signed-off-by: Bill Pemberton Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 3bafeab78116bb58be3cafb06b401b2973a71ed4 Author: Bill Pemberton Date: Wed Apr 22 08:59:14 2009 -0400 Staging: pohmelfs: Remove C99 comments Signed-off-by: Bill Pemberton Cc: Evgeniy Polyakov commit 385e3f1a1464b4ec27bbd92a999f05de0dabaa85 Author: Bill Pemberton Date: Wed Apr 22 08:59:13 2009 -0400 Staging: pohmelfs: move open brace to same line on structs Signed-off-by: Bill Pemberton Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 94993ce4627a6074b5472a7b8a14ba43dff2fe89 Author: Mithlesh Thukral Date: Fri Jun 5 15:33:59 2009 +0530 Staging: wlan-ng: Update README file. Remove Lindent task Remove Lindent changes as a TODO item in the wlan-ng directory of staging tree. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 75f49e07520d036c2a0903694fdc0bcfb5523b76 Author: Mithlesh Thukral Date: Mon May 25 19:06:16 2009 +0530 Staging: wlan-ng: Lindent cleanups Lindent script cleanups in wlan-ng driver in the staging tree. This is a item in the TODO list. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 1611a52c395e6036725104af3a74a0cef8ea42b8 Author: Julia Lawall Date: Tue May 5 15:47:06 2009 +0200 Staging: wlan-ng: p80211wext.c: problem with IW_ENCODE_ALG_WEP The expression !(ext->alg & IW_ENCODE_ALG_WEP) appears to be incorrect, because there are several possible values for ext->alg that give 1 when bit-anded with IW_ENCODE_ALG_WEP. Therefore Richard Kennedy suggested to rewrite the code with != Added \n at the end of the debug string as well. Signed-off-by: Julia Lawall Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f2b50b40d1241b443da43fa66ae53bae93df910a Author: Karl Relton Date: Fri May 8 20:54:17 2009 +0100 Staging: wlan-ng: Change KERN_DEBUG or pr_debug to match orig driver Change uses of KERN_DEBUG over to pr_debug to match original driver where messages are only needed during driver development. Signed-off-by: Karl Relton Signed-off-by: Greg Kroah-Hartman commit 76e3e7c4095237ceeb962e3bd8bdc0797fb943e1 Author: Karl Relton Date: Fri Apr 17 10:15:34 2009 +0100 Staging: wlan-ng: Move firmware loading into driver Move prism2 firmware loading from userspace into driver, using linux request_firmware(). Firmware is now loaded (if available) on device probing, before it is registered as a netdevice and advertised to userspace. Signed-off-by: Karl Relton Signed-off-by: Greg Kroah-Hartman commit 24b8a9dfc7746273bde5a2030e4f16391251e830 Author: Tim Gardner Date: Wed Apr 29 15:01:42 2009 -0600 Staging: winbond: mac80211 - unify config_interface and bss_info_changed The commit 'mac80211: unify config_interface and bss_info_changed' from Johannes Berg removed the config_interface structure tag from struct ieee80211_ops. The BSSID detection functionality migrated to ieee80211_ops.bss_info_changed. Since wbsoft_config_interface() was largely empty, there wasn't much to do other then to remove the function itself. There is currently no support for BSSID change detection. Signed-off-by: Tim Gardner Signed-off-by: Greg Kroah-Hartman commit dd68e1b4ff71a0c6221bd9d02a374178e7dff6f9 Author: Pekka Enberg Date: Wed Apr 8 11:51:22 2009 +0300 Staging: w35und: merge rest of wbhal.c to phy_calibration.c Impact: cleanup The remaining functions are local to phy_calibration.c so move them there and remove wbhal.c. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 40abfccbc73d2303a68ace9939167c184dd3d065 Author: Pekka Enberg Date: Wed Apr 8 11:51:21 2009 +0300 Staging: w35und: inline hal_set_rf_power() to mto.c Impact: cleanup It's a trivial wrapper that is used in only one place, so lets inline it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 22a82bcd5bc99fb7411ea8eca6e926bb0a82a6d5 Author: Pekka Enberg Date: Wed Apr 8 11:51:20 2009 +0300 Staging: w35und: merge wbhal.c to wbusb.c Impact: cleanup This patch moves all the functions in wbhal.c that are used only in wbusb.c to the latter file. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit c6e523c0cbb610cc59f6afebfdeff751dd4601bd Author: Pekka Enberg Date: Wed Apr 8 11:51:19 2009 +0300 Staging: w35und: reformat wbhal.c Impact: cleanup In preparation for merging wbhal.c with wbusb.c, use Lindet to reformat the file. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 833d0cd39ea0f1619e6ae9fa322d07761d59a8a3 Author: Pekka Enberg Date: Wed Apr 8 11:14:06 2009 +0300 Staging: w35und: make led lookup tables static Impact: cleanup No need to keep read-only data on the stack. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7c49a0ac1294caa4ac791181c250f0b86d18a043 Author: Pekka Enberg Date: Wed Apr 8 11:14:05 2009 +0300 Staging: w35und: remove MODULE_AUTHOR Impact: cleanup The contact details in MODULE_AUTHOR do not reflect current state of affairs so remove it. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a32b9810d920e28072b955ed020f21672fa7eac5 Author: Pekka Enberg Date: Wed Apr 8 11:14:04 2009 +0300 Staging: w35und: reformat wbusb.c Impact: cleanup Use scripts/Lindent on the file and clean up the rest by hand. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 9ca748ce517a09068a897fddf9672f2a3286573f Author: Pekka Enberg Date: Wed Apr 8 11:14:03 2009 +0300 Staging: w35und: inline hal_set_phy_type() to wb35_hw_init() Impact: cleanup The hal_set_phy_type() is called in wb35_hw_init() only so inline the function there. Also remove a redundant assignment of ->phy_type to RF_WB_242_1. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit bdbb8839567c38f15bfba95e7df8a73a45f49067 Author: Pekka Enberg Date: Wed Apr 8 11:14:02 2009 +0300 Staging: w35und: clean up comments in wbusb.c Impact: cleanup Remove some useless comments and clean up others. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit f592a859b2e9d17182bbef71c79851505e3592b8 Author: Pekka Enberg Date: Wed Apr 8 11:14:01 2009 +0300 Staging: w35und: simplify hal_init_hardware() and hal_halt() Impact: cleanup Now that hal_halt() is called from wb35_hw_halt() only where ->InitialResource is always set to 4, we can simplify hal_init_hardware() and hal_halt(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a39ee671746b6483c6a259fef755a4a3e475e3e4 Author: Pekka Enberg Date: Wed Apr 8 11:14:00 2009 +0300 Staging: w35und: more simplify hal_init_hardware() error handling Impact: fix, cleanup If initialization in hal_init_hardware() fails, we call hal_halt() to clean up and release resource. However, hal_halt() will attempt to call del_timer_sync() on ->LEDTimer on "stage 3" although it's not initialized at that point. Fix that up by simplifying error handling logic in hal_init_hardware() with gotos. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 00e2e05dd08bc15b09514f5ce35f0b9a3534e9ba Author: Pekka Enberg Date: Wed Apr 8 11:13:59 2009 +0300 Staging: w35und: simplify hal_init_hardware() error handling Impact: cleanup Use gotos to simplify the deep if-statement nesting in hal_init_hardware(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit cfe31f81e1ba7e0c590fc1f2fd688309b685654a Author: Pekka Enberg Date: Wed Apr 8 11:13:58 2009 +0300 Staging: w35und: simplify error handling in wb35_hw_init() Impact: cleanup Change hal_init_hardware() to return an error code rather than a boolean to simplify error handling in wb35_hw_init(). Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 80767e6e1e545b5cd7e7c6962fe0e06589d48ae2 Author: Pekka Enberg Date: Wed Apr 8 11:13:57 2009 +0300 Staging: w35und: move hal_init_hardware() and hal_halt() int wbusb.c Impact: cleanup The hal_init_hardware() and hal_halt() functions are only used in wbusb.c so move them there. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 2659851122f6bd822ff3a9a4a13453303c9b5d8e Author: Pekka Enberg Date: Wed Apr 8 11:13:56 2009 +0300 Staging: w35und: replace switch error handling with gotos in wb35_hw_init() Impact: cleanup This patch replaces the switch-based error handling in wb35_hw_init() with regular gotos. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 6ab32127205adf6c16942fdc2e3ee10f2b20bce5 Author: Pekka Enberg Date: Fri Mar 27 19:46:45 2009 +0200 Staging: w35und: remove unused code from wbsoft_configure_filter() We don't initialize hardware multicast filter in the driver nor do we know how to do that. Therefore, remove some code that isn't actually used from wbsoft_configure_filter(). Cc: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 290d4c23506545633878132860cc7d4fac0da23e Author: Diego Liziero Date: Tue Apr 14 04:33:54 2009 +0200 Staging winbond: boolean negation and bitwise operation in wrong order The semantic patch that makes this change is: (http://www.emn.fr/x-info/coccinelle/) @@ expression E; constant C; @@ ( - !E == C + E != C ) Signed-off-by: Diego Liziero Signed-off-by: Greg Kroah-Hartman commit 5aaeab6606dc06bea229bf2774ac1661923c2f07 Author: Roel Kluin Date: Wed May 20 02:36:29 2009 +0200 Staging: otus: beyond ARRAY_SIZE of wd->ap.wds.encryMode Do not go beyond ARRAY_SIZE of wd->ap.wds.encryMode Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit afbd545d35fe8ae67e560b0e1ab348fb2338c06d Author: Dragoslav Zaric Date: Sun Apr 26 10:19:02 2009 +0200 Staging: otus: 80211core/ccmd.c: Fix Coding Style Signed-off-by: Dragoslav Zaric Signed-off-by: Greg Kroah-Hartman commit 7690e63deae3b8d57ef201cae1ff590492cf84e5 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 Staging: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Leon Woestenberg Signed-off-by: Greg Kroah-Hartman commit 5355d8cac2a036471c1e739ee5aa1514973ed114 Author: Roel Kluin Date: Thu Apr 16 22:22:40 2009 +0200 Staging: fix operator precedence errors `!' has a higher precedence than `&' and `|' has a higher precedence than `?' Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit f71fb77c29c83ef22ebd07fffd0581f2bec69b62 Author: Alexander Beregalov Date: Sat Apr 11 23:03:04 2009 +0400 Staging: stlc45xx: replace print_mac with %pM Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 727cbafa51bfaab788250bd3a3ba5e09f3bccf0b Author: Huang Weiyi Date: Mon Apr 6 17:20:29 2009 +0800 Staging: remove unused #include 's Remove unused #include 's. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 2eae4f01e1c539be7f114541f9bf01a08878e8af Author: Huang Weiyi Date: Mon Apr 6 17:20:23 2009 +0800 Staging: rt3070: remove dupilcated #include Remove dupilcated #include in drivers/staging/rt3070/rt_linux.h. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 50fdd347df40cab641289dcde8480f89da8d130f Author: Roel Kluin Date: Mon May 18 17:31:36 2009 +0200 Staging: rtl8187se: wmm_param[1].ac_aci_acm_aifsn tested twice wmm_param[1].ac_aci_acm_aifsn was tested twice, the second should have been wmm_param[3].ac_aci_acm_aifsn. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 727ae3032519e56a3b35e44baa96125ee240dd70 Author: Alexander Beregalov Date: Sun May 10 03:06:54 2009 +0400 Staging: rtl8187se: convert to net_device_ops Signed-off-by: Alexander Beregalov Acked-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 5f546031b6be34285ee9fe6c5bcc9e12e6a9240d Author: Jean Delvare Date: Fri Apr 3 17:46:49 2009 +0200 Staging: rtl8187se: Use to_delayed_work Use the recently added to_delayed_work() helper function. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 2fefd5f6688deaaac96497426677ef1333b5982b Author: Anders Kaseorg Date: Tue Mar 24 16:41:55 2009 -0400 Staging: rt2870: Don't call sprintf() with overlapping input and output. The use of sprintf() to append to a buffer, as in sprintf(buf, "%sEntry: %d\n", buf, i) is not valid according to C99 ("If copying takes place between objects that overlap, the behavior is undefined."). It breaks at least in userspace under gcc -D_FORTIFY_SOURCE. Replace this construct with sprintf(buf + strlen(buf), "Entry: %d\n", i) This patch was automatically generated using perl -0pe 's/(sprintf\s*\(\s*([^,]*))(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3$4/g' perl -0pe 's/(snprintf\s*\(\s*([^,]*))(\s*,[^,]*?)(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3 - strlen($2)$4$5/g' Signed-off-by: Anders Kaseorg Signed-off-by: Greg Kroah-Hartman commit 32c976bca43814be70d6062885be80673ffd66fc Author: Anders Kaseorg Date: Tue Mar 24 16:40:41 2009 -0400 Staging: rt2860: Don't call sprintf() with overlapping input and output. The use of sprintf() to append to a buffer, as in sprintf(buf, "%sEntry: %d\n", buf, i) is not valid according to C99 ("If copying takes place between objects that overlap, the behavior is undefined."). It breaks at least in userspace under gcc -D_FORTIFY_SOURCE. Replace this construct with sprintf(buf + strlen(buf), "Entry: %d\n", i) This patch was automatically generated using perl -0pe 's/(sprintf\s*\(\s*([^,]*))(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3$4/g' perl -0pe 's/(snprintf\s*\(\s*([^,]*))(\s*,[^,]*?)(\s*,\s*")%s((?:[^"\\]|\\.)*"\s*,)\s*\2\s*,/$1 + strlen($2)$3 - strlen($2)$4$5/g' Signed-off-by: Anders Kaseorg Signed-off-by: Greg Kroah-Hartman commit d75b81a803bd93784d854bea13668db9dd75ff02 Author: Alessio Igor Bogani Date: Tue Mar 24 19:30:26 2009 +0100 Staging: rt3070: replace __FUNCTION__ usages __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit a970ff45c9228472fd9c3ea62357ea7a9cbc8ce3 Author: Jean Delvare Date: Thu Jun 4 13:35:15 2009 +0200 Staging: sxg: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit eb48d1f8f3a40f228969f3a54d97e677d4a0d135 Author: Alessio Igor Bogani Date: Tue Mar 24 19:29:45 2009 +0100 Staging: sxg: replace __FUNCTION__ usages __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit 01c2c2348f1c1bfaf564ed93226280970d4cb6df Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: meilhaus: fix build warnings This fixes some build warnings in the meilhaus driver. Signed-off-by: Greg Kroah-Hartman commit 152cc3975353961e66ead09ee8e15ad3a82c2670 Author: Robert P. J. Day Date: Sat May 9 09:40:14 2009 -0400 Staging: meilhaus: Remove long-deprecated SA_* interrupt macros. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit dd96864204959c6bb707dfb8ab6f109b65cbf414 Author: Jiri Slaby Date: Thu Mar 26 09:34:13 2009 +0100 staging: meilhaus, move tables to .c Remove pci and usb tables from the header and place them directly in the code. While at it, use PCI_VDEVICE() to shorten the code. Signed-off-by: Jiri Slaby Cc: David Kiliani Signed-off-by: Greg Kroah-Hartman commit 8f456df9c9471bc1178725ae446a8a64285042ca Author: Jiri Slaby Date: Thu Mar 26 09:34:12 2009 +0100 staging: meilhaus, annotate cpi functions Add __devinit and __devexit to pci probe/remove. Also make pci_driver static. Signed-off-by: Jiri Slaby Cc: David Kiliani Signed-off-by: Greg Kroah-Hartman commit 1cd590481edcd186dcdba7cae5a7bd5c47dfdb92 Author: Jiri Slaby Date: Thu Mar 26 09:34:11 2009 +0100 staging: meilhaus, switch to misc device There is no need to occupy one major number because of one device. Switch to misc device, which also emits uevent, so that the dev node is also created by udev. Signed-off-by: Jiri Slaby Cc: David Kiliani Signed-off-by: Greg Kroah-Hartman commit f94338f64dff31c6aadd37204fa27c1c5918dde9 Author: Greg Kroah-Hartman Date: Thu Jun 4 11:29:54 2009 -0700 Staging: agnx: fix build warnings This fixes some build warnings in the agnx driver. Signed-off-by: Greg Kroah-Hartman commit c2c5be8b58ce48d39809663dd9fa944032f7d7a0 Author: Alexander Beregalov Date: Sat Apr 11 23:01:21 2009 +0400 Staging: agnx: replace print_mac with %pM Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 5e436d09cec1eae3b3c17580c682cf1a42e595f8 Author: Jiri Slaby Date: Thu Mar 26 09:34:10 2009 +0100 staging: agnx, fix bssid compiler warnings conf->bssid is const. Propagate const to not get compiler warnings: agnx/pci.c: In function ‘agnx_config_interface’: agnx/pci.c:319: warning: passing argument 2 of ‘agnx_set_bssid’ discards qualifiers from pointer target type agnx/pci.c:321: warning: passing argument 2 of ‘hash_write’ discards qualifiers from pointer target type Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 8af6caf5d37aaa56911c15f9a7386fe93ff01f7e Author: Jiri Slaby Date: Thu Mar 26 09:34:09 2009 +0100 staging: agnx, fix fail paths in probe Return error on fail paths instead of 0. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit a505fe716de71e0b52db9f13d9bfe93d42a31fbc Author: Jiri Slaby Date: Thu Mar 26 09:34:08 2009 +0100 staging: agnx, remove memlens from probe Pass 0 to pci_iomap instead. It will cope with that per se. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 9c2a6105bf2250196312b3a389fbe705a56db451 Author: Jiri Slaby Date: Thu Mar 26 09:34:07 2009 +0100 staging: agnx, probe cleanup - switch printks to dev_* - remove useless comments - remove useless prints (for info we can obtain from lspci or /sys) Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f9c51375644e39f9626a4be4101e22d4841980a8 Author: Randy Dunlap Date: Fri Jun 5 11:10:42 2009 -0700 Staging: comedi: uses udelay, needs delay.h comedi driver(s) use udelay() so they need to #include delay.h. drivers/staging/comedi/drivers/adq12b.c: In function 'adq12b_ai_rinsn': drivers/staging/comedi/drivers/adq12b.c:328: error: implicit declaration of function 'udelay' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 3a5e32ddcb04d7a2bed86323ca22da51d3a810bd Author: Gerard Lledo Date: Wed May 27 17:35:19 2009 +0300 Staging: comedi: cb_pcidas.c: Fix build warning (type mismatch) spin_lock_irqsave expects flags to be unsigned long, not unsigned int. Signed-off-by: Gerard Lledo Signed-off-by: Greg Kroah-Hartman commit efe8d60a923ddd00de394381cb30aab5114b71a4 Author: Bernd Porr Date: Sun May 24 20:36:09 2009 +0100 Staging: comedi: usbdux: buffer overflow error handling These changes guarantee that the URBs are not resubmitted in case of a comedi buffer overflow. Otherwise this runs in the background even when the userspace program has terminated. From: Bernd Porr Signed-off-by: Greg Kroah-Hartman commit 0b8f754a6220158f2348bc6eae2772bc64bc98a2 Author: Bill Pemberton Date: Thu May 14 15:24:29 2009 -0400 staging: comedi: Move pcm do_cmdtest function into a single source file Many of the comedi source code has functions that were created with cut and paste, this moves the do_cmdtest function into a single file. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 214e7b5c8281bf41238f575128e4fec5652ed797 Author: Bill Pemberton Date: Thu May 14 15:24:28 2009 -0400 staging: comedi: Remove MIN macro Remove the MIN() macro and instead use the min() provided by kernel.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f764df88f86c8db669bd7bfac230b9d2689ae322 Author: Roel Kluin Date: Thu May 14 13:58:26 2009 +0200 staging: comedi: fix missing parentheses Add missing parentheses. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit c3e2354e3720d51afada9ac6923517c5444d7cbb Author: Alexander Beregalov Date: Wed May 13 17:23:42 2009 +0400 Staging: comedi: data.c should include delay.h Fix this build error: .../data.c:86: error: implicit declaration of function 'udelay' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit de4545cdfd9f3521b3402c0228b8d4ecdd97f7ec Author: Alexander Beregalov Date: Wed May 13 17:00:47 2009 +0400 Staging: comedi: comedi_test.c should include timer.h Fix this build error: .../comedi_test.c:82: error: field timer has incomplete type .../comedi_test.c: In function waveform_ai_interrupt: .../comedi_test.c:188: error: implicit declaration of function mod_timer .../comedi_test.c:188: error: jiffies undeclared (first use in this function) Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit dc7423c885dc1396710e18770b3c4ab3bdb71805 Author: Greg Kroah-Hartman Date: Tue Jun 2 11:51:04 2009 -0700 staging: comedi: fix pcmcia build breakage Add PCCARD dependancy to the PCMCIA drivers to fix build breakage. Reported-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 985cafccbf9b7f862aa1c5ee566801e18b5161fb Author: Manuel Gebele Date: Sun May 10 12:00:43 2009 +0200 Staging: Comedi: vmk80xx: Add k8061 support This patch adds support for the Velleman K8061 USB board http://www.velleman.be/ot/en/product/view/?id=364910 Signed-off-by: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit ba7834b3f335f6bdef95e416d72245f6687cc660 Author: Bill Pemberton Date: Sun Apr 26 14:45:12 2009 -0400 Staging: comedi: simply read and write functions in adl_pci8164 There are several read and write functions in adl_pci8164 that are essentially the same thing. They were created with a cut and paste. Change them to use a common function. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8605b3aa0c107b5df59e99dbde2e708aa0012efd Author: Bill Pemberton Date: Sun Apr 26 14:45:11 2009 -0400 Staging: comedi: replace for loop with msleep() Replace 2 attempts to use a for loop as a sleep with a call to msleep(). Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit fcea115462c690ba09f9df7471d60dda0d86a4ea Author: Greg Kroah-Hartman Date: Mon Apr 27 15:15:30 2009 -0700 Staging: comedi: remove some RT code that lingered This removes some pieces of RT code that was part of the main code paths. Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 25436dc9d84f1be60ff549c9ab712bba2835f284 Author: Greg Kroah-Hartman Date: Mon Apr 27 15:14:34 2009 -0700 Staging: comedi: remove RT code This removes the unused RT code from the comedi subsystem. A lot of drivers needed to then include interrupt.h on their own, as they were picking it up through the comedi_rt.h inclusion. Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 5f74ea14c07fee91d3bdbaad88bff6264c6200e6 Author: Greg Kroah-Hartman Date: Mon Apr 27 14:44:31 2009 -0700 Staging: comedi: remove comedi-specific wrappers There are a number of comedi "wrappers" for some RT functions that are about to go away. This patch removes all of the wrapper calls within the comedi drivers and core in order to prepare for removing the RT comedi code. Cc: Ian Abbott Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 81874ff7895f332920621104308e803434a17183 Author: Bernd Porr Date: Fri Apr 17 21:21:46 2009 +0100 Staging: comedi: convert usbdux* to use firmware_request The firmware is now in the linux-firmware tree, so we can move these two drivers to use the proper request_firmware infrastructure. From: Bernd Porr Signed-off-by: Greg Kroah-Hartman commit ff89514f8d46f470ffafeda129138ce73efd4c60 Author: Bill Pemberton Date: Thu Apr 23 15:54:58 2009 -0400 Staging: comedi: move while to same line as } in do loops Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c4d30ee861c3a3a361f934e6f96b1d07a2889976 Author: Bill Pemberton Date: Thu Apr 23 15:54:57 2009 -0400 Staging: comedi: comment out useless if This if test doesn't do anything, so comment it out. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8629efa4cbf6f89a54a85af4b8bc31762af01800 Author: Bill Pemberton Date: Thu Apr 23 15:54:56 2009 -0400 Staging: comedi: make use of ARRAY_SIZE macro Replace instances of computing number of elements in an array with sizeof(foo)/sizeof(struct footype) with the ARRAY_SIZE macro. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b4918808debc62daaa189ecbdfca489c00b1061d Author: Bill Pemberton Date: Thu Apr 23 15:54:55 2009 -0400 Staging: comedi: more fix the way structs are initialized. Change from the foo: bar format to the .foo = bar format. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 814900c904140cfe7f3e48cabec06b3eec57e0ea Author: Bill Pemberton Date: Thu Apr 23 15:54:54 2009 -0400 Staging: comedi: more fix "foo * bar" should be "foo *bar" Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9b9bcba0cafa2578cebbe0eca01eaafd49f3e43b Author: Bill Pemberton Date: Thu Apr 23 15:54:53 2009 -0400 Staging: comedi: remove space after ampersand Change calses of & foo to &foo as suggested by checkpatch. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 56e9e16619a0c14dc948cf88b3a7aaa70ac92b45 Author: Bill Pemberton Date: Thu Apr 23 15:54:52 2009 -0400 Staging: comedi: more remove C99 comments Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 68c3dbff9fc9f25872408d0e95980d41733d48d0 Author: Bill Pemberton Date: Wed Apr 22 21:11:49 2009 -0400 Staging: comedi: fix the way structs are initialized. Change from the foo: bar format to the .foo = bar format. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit dae0dc30be7fa21b15a9d9534589286c6c3e68a3 Author: Bill Pemberton Date: Wed Apr 22 21:11:48 2009 -0400 Staging: comedi: Remove parens around return values Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c3744138715045adb316284ee7a1e608f0278f6c Author: Bill Pemberton Date: Wed Apr 22 21:11:47 2009 -0400 Staging: comedi: remove assignment in conditionals Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 46dbd1486e6c75f8cd136e3899015906f83cd8de Author: Roel Kluin Date: Thu Apr 23 12:23:14 2009 +0200 Staging: comedi: non working tests on unsigned cmd->convert_arg Remove tests for negative unsigned. Signed-off-by: Roel Kluin Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman commit 0de302fd96535996350e663022d4e745fbaea2f9 Author: Manuel Gebele Date: Sun Apr 19 14:46:01 2009 +0200 Staging: comedi: Makefile changes this patch will sort the 'Comedi USB drivers' section in the staging/comedi/drivers/Makefile in alphabetical order, and add the vmk80xx.c driver to the build. From: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit b153d83efb3d0ea15f5e6c7dced98fadc66531de Author: Greg Kroah-Hartman Date: Wed Apr 22 10:29:33 2009 -0700 Staging: comedi: vmk80xx.c: get the driver to build properly There have been changes in the comedi core, this fixes the vmk80xx.c driver to work properly with them, so it now will build properly. Cc: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit 3faad67335e16863b2a143a61eedb5ac055c74c6 Author: Manuel Gebele Date: Wed Apr 22 10:28:18 2009 -0700 Staging: comedi: add vmk80xx USB driver The k80xx module was completely revised again. The update contains the following new main features: - support for digital input - support for digital output - support for pulse counters - support up to 16 boards (by the way, the windows driver and the k8055 library (libk8055) has support for only 4 boards) The driver can now manage all features what the board has to offer: - analog input/output - digital input/output - pulse counters (read, reset, set debounce time) I've also fixed some mistaken in the drivers source code/logic. By testing all of the driver features i got no errors or something else. The driver works fine.... From: Manuel Gebele Signed-off-by: Greg Kroah-Hartman commit 356cdbcb838ebcc234a43ec81621a39231fdcb7a Author: Bill Pemberton Date: Thu Apr 9 16:07:27 2009 -0400 Staging: Comedi: change space indentation to tabs Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 53106ae68acf6eda9593150a25fc44e30fd5ff68 Author: Bill Pemberton Date: Thu Apr 9 16:07:21 2009 -0400 Staging Comedi: fix spacing around parens Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f7cbd7aad063b2a4b7aff6a743b2b00015ce3c3e Author: Bill Pemberton Date: Thu Apr 9 16:07:16 2009 -0400 Staging: comedi: Add spaces after commas Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit da91b2692e0939b307f9047192d2b9fe07793e7a Author: Bill Pemberton Date: Thu Apr 9 16:07:03 2009 -0400 Staging: comedi: fix "foo * bar" should be "foo *bar" Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9096a4eaf4a608d9465f993f48ad9d6c38144b8e Author: Huang Weiyi Date: Mon Apr 6 17:20:17 2009 +0800 Staging: comedi: remove dupilcated #include Remove dupilcated #include in drivers/staging/comedi/drivers/8253.h. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit ddcb01d458e8cbe33c76e4af11636257e8a14cb0 Author: Alessio Igor Bogani Date: Tue Mar 24 19:30:57 2009 +0100 Staging: comedi: replace __FUNCTION__ usages __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit c5331be12e76679eebd91f0a6a8d58fe76e75b38 Author: Frank Mori Hess Date: Tue Apr 14 12:59:47 2009 -0400 Staging: comedi: jr3_pci: Use struct device from pci_dev for firmware loading. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 883db3d9bb4d50f05cbb8b5197f6aef10c1231a9 Author: Frank Mori Hess Date: Tue Apr 14 11:21:41 2009 -0400 Staging: comedi: Added sysfs attribute files for setting and querying subdevice buffer sizes. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 0d6e5dad12c5a2860e3d13b4d7a4702f90386003 Author: Ian Abbott Date: Tue Apr 14 11:06:27 2009 -0400 Staging: comedi: amplc_pc236: Corrected documentation. Interrupt is triggered by rising edge on port C bit 3 (not bit 7). From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 4bde29ed2220c3089e93258e476e3a7f4fc388a1 Author: Ian Abbott Date: Tue Apr 14 11:04:24 2009 -0400 Staging: comedi: Undo stupid commit made 3 months ago Undo stupid commit made 3 months ago : "Fix redefinition of macro comedi_rt_task_context_t". It wasn't being redefined, it was being defined for RTLinux. From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 5b32f4397a93a2819a71438a7ba11650529827e8 Author: Ian Abbott Date: Tue Apr 14 11:01:50 2009 -0400 Staging: comedi: Work around malformed RTAI_VERSION_CODE. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 894db119734772c3694233bf2c9f7440a70d7736 Author: Frank Mori Hess Date: Tue Apr 14 10:55:09 2009 -0400 Staging: Comedi: ni_600x: Added support for comedi_poll. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit e21de1a8e592898fb0426c40b11e19acc4b16fdf Author: Ian Abbott Date: Tue Apr 14 10:39:53 2009 -0400 Staging: comedi: pcl818: Tidy up AI command after channel dropout or similar error. It was causing subsequent commands to fail with -EBUSY. From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit a71f18d2a1ca1b3a0e1e46f3c7259829d4d33f47 Author: Ian Abbott Date: Tue Apr 14 10:33:42 2009 -0400 Staging: comedi: pcl818: Fix option handling for FIFO mode (hopefully!). Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 6a2436e48485cd8c11263f6ebdad356a147cc068 Author: Frank Mori Hess Date: Mon Apr 6 14:01:19 2009 -0400 Staging: comedi: Fixed Kconfig option for COMEDI_PCMCIA_DRIVERS Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 056d3ce5cfe3544b297e6bc90ffbbb317e7bbbff Author: Greg Kroah-Hartman Date: Fri Apr 17 09:51:01 2009 -0700 Staging: comedi: set PCI and PCMCIA defines The comedi drivers are looking for CONFIG_COMEDI_PCI and CONFIG_COMEDI_PCMCIA, not the current config items. This creates a define so that things build properly when these options are selected. Long term goal is to fix up the drivers to not need any defines. Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 72a822807272f8bb29a527e7e3c60efc7032a9ba Author: Greg Kroah-Hartman Date: Fri Apr 17 09:50:08 2009 -0700 Staging: comedi: fix build errors in pcmcia comedi drivers This fixes a few minor build errors that were previously undetected in the comedi pcmcia drivers. Cc: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit de15d7fcd6452894e82657fb44b7b93c2afe97a4 Author: Ian Abbott Date: Mon Apr 6 15:10:30 2009 -0400 Staging: comedi: 'pcmcia_parse_tuple()' now has two arguments, not three. This fixes the build error in the cv_das16_cs driver From: Ian Abbott Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 2ce492f5cb8ccb404afff3d29dd6f85dad9bfb01 Author: Frank Mori Hess Date: Mon Apr 6 15:13:04 2009 -0400 Staging: comedi: Finish removing ni_private typedef This fixes compilation of ni_mio_cs.c that was broken. Signed-off-by: Frank Mori Hess Signed-off-by: Greg Kroah-Hartman commit 2696fb57e6af653dd8b4df41b16754579f42fc78 Author: Bill Pemberton Date: Fri Mar 27 11:29:34 2009 -0400 Staging: comedi: Remove C99 comments Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 70265d24e3404fe798b6edd55a02016b1edb49d7 Author: Jiri Slaby Date: Thu Mar 26 09:34:06 2009 +0100 staging: comedi, remove interrupt.h Remove interrupt wraparound. Use defines from linux/interrupt.h instead. Change also parameter types of functions taking ISR to irq_handler_t. Signed-off-by: Jiri Slaby Cc: Ian Abbott Cc: Frank Mori Hess Cc: David Schleef Signed-off-by: Greg Kroah-Hartman commit 232f650253a04b52def9974f47c15f086f7772a5 Author: Bill Pemberton Date: Fri Mar 27 11:31:27 2009 -0400 Staging: comedi: remove C99 comments in s526.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 58c0576eea94298e698e03114c4d3d0179c5ef66 Author: Bill Pemberton Date: Fri Mar 27 11:31:22 2009 -0400 Staging: comedi: remove C99 comments in pcl816.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 701a91f1e57b7e349af35cc0993e4145ca041c0c Author: Bill Pemberton Date: Fri Mar 27 11:31:16 2009 -0400 Staging: comedi: remove C99 comments in pcl724.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f6b49620a43ca661246d209009b849d7d3030cae Author: Bill Pemberton Date: Fri Mar 27 11:31:11 2009 -0400 Staging: comedi: remove C99 comments in ni_labpc.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 30c687c1b8f4977ad72c544dfcccb27586d0a72c Author: Bill Pemberton Date: Fri Mar 27 11:31:06 2009 -0400 Staging: comedi: remove C99 comments in ni_at_a2150.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 79a31bae80df12e3cd19a831e7eacfbc4dc555a0 Author: Bill Pemberton Date: Fri Mar 27 11:31:00 2009 -0400 Staging: comedi: remove C99 comments in mpc624.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c52c19c33617cb76e2cec7d9555c30f2505e69e4 Author: Bill Pemberton Date: Fri Mar 27 11:30:55 2009 -0400 Staging: comedi: remove C99 comments in gsc_hpdi.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6eef3af5ddb1fa9c05c2f6457c23c4cfe9d83470 Author: Bill Pemberton Date: Fri Mar 27 11:30:50 2009 -0400 Staging: comedi: remove C99 comments in cb_pcimdas.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cf530aa4385c97f668d76c8268d509ef9edebb70 Author: Bill Pemberton Date: Fri Mar 27 11:30:44 2009 -0400 Staging: comedi: remove C99 comments in cb_pcidas.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9ef4dea6eb9ff671ffd62f5304c7d8de716807a2 Author: Bill Pemberton Date: Fri Mar 27 11:30:39 2009 -0400 Staging: comedi: remove C99 comments in cb_pcidas64.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a438139a8963839a9b14709286075b2e38cf9e0 Author: Bill Pemberton Date: Fri Mar 27 11:30:34 2009 -0400 Staging: comedi: remove C99 comments in c6xdigio.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d6d9bd32a02bd6da4ea3412f0b5131cc5a442399 Author: Bill Pemberton Date: Fri Mar 27 11:30:28 2009 -0400 Staging: comedi: remove C99 comments in adv_pci1723.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0f04c356551f9ae55d9a0c5ea211699903cf1f93 Author: Bill Pemberton Date: Fri Mar 27 11:30:23 2009 -0400 Staging: comedi: remove C99 comments in adl_pci9118.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 14458b19e51d434990d9a8c110ddeefd09678e64 Author: Bill Pemberton Date: Fri Mar 27 11:30:18 2009 -0400 Staging: comedi: remove C99 comments in adl_pci6208.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1efd18f0cca7251a283625e07dbb4ec8e95a4b6b Author: Bill Pemberton Date: Fri Mar 27 11:30:12 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci3120.c This replaces C99 comments with traditional C comments. This also removes 3 blocks of code that were already commented out. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f147598bc19efbb6ef1f34ae022b2d29d3ca3837 Author: Bill Pemberton Date: Fri Mar 27 11:30:07 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci3200.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b58d9b17db71e5d6f7531e9a922f37aa9aae5bdb Author: Bill Pemberton Date: Fri Mar 27 11:30:01 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci1564.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0110c4432aab7f119d38d1389964e51685721ed4 Author: Bill Pemberton Date: Fri Mar 27 11:29:56 2009 -0400 Staging: comedi: remove C99 comments in APCI1710_Pwm.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit c47375f3de0f478d8c2c0ce210cb2c5aeb1b411f Author: Bill Pemberton Date: Fri Mar 27 11:29:51 2009 -0400 Staging: comedi: remove C99 comments in hwdrv_apci1500.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0109253dee3d211619876d3345ecc4c312d1b153 Author: Bill Pemberton Date: Fri Mar 27 11:29:45 2009 -0400 Staging: comedi: remove C99 comments in pcl818.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a351ecf3081f94796cf915dba820f9f5e62c43cf Author: Bill Pemberton Date: Fri Mar 27 11:29:40 2009 -0400 Staging: comedi: remove C99 comments in das1800.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cf0fd1086cbb55fb5c0ecbd652fec34335fb7657 Author: Bill Pemberton Date: Fri Mar 27 11:29:29 2009 -0400 Staging: comedi: remove C99 comments in APCI1710_82x54.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ed27614451c3f35412b83aabdcd4af6d76be7cd7 Author: Bill Pemberton Date: Fri Mar 27 11:29:23 2009 -0400 Staging: comedi: remove C99 comments in acl7225b.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 67d83b4fb96ab304a47ba5af9a99818b38c9fd3e Author: Bill Pemberton Date: Fri Mar 27 11:29:18 2009 -0400 Staging: comedi: remove C99 comments in 8253.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a037d5f655fbf1853d28cd8a02ffe5c466d81a5 Author: Bill Pemberton Date: Wed Mar 25 11:06:30 2009 -0400 Staging: comedi: Remove str_AnalogInputHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0a4eb4b6c7c12730254be53d93a67ed2955d5c66 Author: Bill Pemberton Date: Wed Mar 25 11:07:01 2009 -0400 Staging: comedi: Remove labpc_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 9ad007403fa4326586060e443ee344697daa60ec Author: Bill Pemberton Date: Wed Mar 25 11:06:56 2009 -0400 Staging: comedi: Remove labpc_board_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 70275063e44f0005149f17a74d03c8e7937b33bc Author: Bill Pemberton Date: Wed Mar 25 11:06:51 2009 -0400 Staging: comedi: Remove str_ADDIDATA_RTDStruct typedef in addi-data/hwdrv_apci3200 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0a4de47be0cd74c6665a5519c40f692dbbd54110 Author: Bill Pemberton Date: Wed Mar 25 11:06:45 2009 -0400 Staging: comedi: Remove str_BoardInfos typedef in addi-data/hwdrv_apci3200 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit ecab384b155816ce1579eeb8f1dcbdbc0e9fe4e0 Author: Bill Pemberton Date: Wed Mar 25 11:06:40 2009 -0400 Staging: comedi: Remove str_Module typedef in addi-data/hwdrv_apci3200.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 0077f93c5a7fa82857f6b50a3be5f732e0079e1c Author: Bill Pemberton Date: Wed Mar 25 11:06:35 2009 -0400 Staging: comedi: Remove str_AnalogReadInformation typedef in addi-data/hwdrv_apci3120.h Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 73b0d70aeb089bcfa131d8f14f547dcd933335d6 Author: Bill Pemberton Date: Wed Mar 25 11:06:19 2009 -0400 Staging: comedi: Remove str_TimerMainHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cc0ea813f2f3027f43e7233add423be676dd8ff3 Author: Bill Pemberton Date: Wed Mar 25 11:06:13 2009 -0400 Staging: comedi: Remove str_TimerDetails typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit d2e0cc9ae156b1b9d6143d6b1855e515c93a7997 Author: Bill Pemberton Date: Wed Mar 25 11:06:08 2009 -0400 Staging: comedi: Remove str_DigitalOutputHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a28f34b7e9c41464bb70a3dfe849efe74084e45d Author: Bill Pemberton Date: Wed Mar 25 11:06:03 2009 -0400 Staging: comedi: Remove str_DigitalInputHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8881b568bf6665a6705daf2251ce40526ee4691d Author: Bill Pemberton Date: Wed Mar 25 11:05:57 2009 -0400 Staging: comedi: Remove str_MainHeader typedef in addi-data/addi_eeprom.c Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e320671e6356ad589b7433c3fd5eff4c742a500e Author: Bill Pemberton Date: Wed Mar 25 11:05:52 2009 -0400 Staging: comedi: Remove addi_private typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit b4ce4f165c4d081f6b6e969f800d9e37c3ac1d73 Author: Bill Pemberton Date: Wed Mar 25 11:05:47 2009 -0400 Staging: comedi: Remove str_ModuleInfo typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 6a770eca8a679741dbe32207858638bb0ca71e38 Author: Bill Pemberton Date: Wed Mar 25 11:05:41 2009 -0400 Staging: comedi: Remove boardtype typedef in addi-data typedef for boardtype removed and struct renamed to addi_board Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1c09a82cedcda1541adf81f19d86a7773f3f87c6 Author: Bill Pemberton Date: Wed Mar 25 11:05:36 2009 -0400 Staging: comedi: Remove PCRANGE typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a3435c92d0625cbba28bd12bbbf708bbf5675f3f Author: Bill Pemberton Date: Wed Mar 25 11:05:30 2009 -0400 Staging: comedi: Remove ULONG_PTR typedef in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 756e9d7ca6292ba21a6a63bf35ed1abc5250b98d Author: Bill Pemberton Date: Wed Mar 25 11:05:25 2009 -0400 Staging: comedi: Remove DWORD and *PDWORD typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 82a6e2e7ab47b940d5d1d7c1d13498be27f238f8 Author: Bill Pemberton Date: Wed Mar 25 11:05:20 2009 -0400 Staging: comedi: Remove ULONG and *PULONG typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2b6257c53425df60de153f1906183f4c9391a45b Author: Bill Pemberton Date: Wed Mar 25 11:05:14 2009 -0400 Staging: comedi: Remove LONG and *PLONG typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 117102b0f6e0a9ab3ea4fa9fd89b7eb4a8888fb9 Author: Bill Pemberton Date: Wed Mar 25 11:05:09 2009 -0400 Staging: comedi: Remove UINT and *PUINT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 74b894e56abcb2403894b268100773f4aabe1999 Author: Bill Pemberton Date: Wed Mar 25 11:05:03 2009 -0400 Staging: comedi: Remove INT and *PINT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit babf0ede302697486a6633e72d051bbb8e31e2b2 Author: Bill Pemberton Date: Wed Mar 25 11:04:58 2009 -0400 Staging: comedi: Remove WORD and *PWORD typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit a9fce7c9a3b796334916b216a618fd7586f10d76 Author: Bill Pemberton Date: Wed Mar 25 11:04:52 2009 -0400 Staging: comedi: Remove USHORT and *PUSHORT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 66673a7c8421784c0c7780b396014bc7d0afcc85 Author: Bill Pemberton Date: Wed Mar 25 11:04:47 2009 -0400 Staging: comedi: Remove SHORT and *PSHORT typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1783fbfe023b7c2b912fbb020e01ff46985aa0ab Author: Bill Pemberton Date: Wed Mar 25 11:04:41 2009 -0400 Staging: comedi: Remove BYTE and *PBYTE typedefs in addi-data Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 2ec9f875f8f60c9102f97fba23e9abe9ed4480a6 Author: Bill Pemberton Date: Wed Mar 25 11:04:36 2009 -0400 Staging: comedi: Remove local_info_t typedef in ni_daq_dio24 Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit cf4c8d1b8f59ae5591bba0936f378e52df09aa04 Author: Bill Pemberton Date: Wed Mar 25 11:04:30 2009 -0400 Staging: comedi: Remove dio24_board_struct typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit e3f9f2c8e6f048ab017ecdc2e7fae102f3344f98 Author: Bill Pemberton Date: Wed Mar 25 11:04:25 2009 -0400 Staging: comedi: Remove local_info_t typedef in ni_labpc_cs Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 3301cc76656c5fee5b638378d9057e93796d490f Author: Bill Pemberton Date: Wed Mar 25 11:04:20 2009 -0400 Staging: comedi: Remove ni_private typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 8ab41df0d7399567372d75d1a3c552dccb42063d Author: Bill Pemberton Date: Wed Mar 25 11:04:14 2009 -0400 Staging: comedi: Remove ni_board typedef Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 1c6ccf62706688efa035acbd7705d00d46cf698c Author: Greg Kroah-Hartman Date: Fri Jun 5 11:23:47 2009 -0700 Staging: add mailing list address for staging tree Signed-off-by: Greg Kroah-Hartman commit 5587931c30dcf778cf7071d1cbac8ea584706dd8 Author: Joonyoung Shim Date: Tue Jun 16 20:05:57 2009 +0900 [ARM] Add old Feroceon support to compressed/head.S This patch supports the cache handling for some old Feroceon cores for which the CPU ID is like 0x41159260. This is a complement to commit ab6d15d50637fc25ee941710b23fed09ceb28db3. Signed-off-by: Joonyoung Shim Signed-off-by: Nicolas Pitre commit 528da3e9e237059a84a2625e942811cf824a6efd Author: Eric Paris Date: Fri Jun 12 16:04:26 2009 -0400 inotify: inotify_destroy_mark_entry could get called twice inotify_destroy_mark_entry could get called twice for the same mark since it is called directly in inotify_rm_watch and when the mark is being destroyed for another reason. As an example assume that the file being watched was just deleted so inotify_destroy_mark_entry would get called from the path fsnotify_inoderemove() -> fsnotify_destroy_marks_by_inode() -> fsnotify_destroy_mark_entry() -> inotify_destroy_mark_entry(). If this happened at the same time as userspace tried to remove a watch via inotify_rm_watch we could attempt to remove the mark from the idr twice and could thus double dec the ref cnt and potentially could be in a use after free/double free situation. The fix is to have inotify_rm_watch use the generic recursive safe fsnotify_destroy_mark_by_entry() so we are sure the inotify_destroy_mark_entry() function can only be called one. This patch also renames the function to inotify_ingored_remove_idr() so it is clear what is actually going on in the function. Hopefully this fixes: [ 20.342058] idr_remove called for id=20 which is not allocated. [ 20.348000] Pid: 1860, comm: udevd Not tainted 2.6.30-tip #1077 [ 20.353933] Call Trace: [ 20.356410] [] idr_remove+0x115/0x18f [ 20.361737] [] ? _spin_lock+0x6d/0x75 [ 20.367061] [] ? inotify_destroy_mark_entry+0xa3/0xcf [ 20.373771] [] inotify_destroy_mark_entry+0xb7/0xcf [ 20.380306] [] inotify_freeing_mark+0xe/0x10 [ 20.386238] [] fsnotify_destroy_mark_by_entry+0x143/0x170 [ 20.393293] [] inotify_destroy_mark_entry+0x3c/0xcf [ 20.399829] [] sys_inotify_rm_watch+0x9b/0xc6 [ 20.405850] [] system_call_fastpath+0x16/0x1b Reported-by: Peter Zijlstra Signed-off-by: Eric Paris Tested-by: Peter Ziljlstra commit 9cffa8d53335d891cc0ecb3824a67118b3ee4b2f Author: Paul Mackerras Date: Fri Jun 19 22:21:42 2009 +1000 perf_counter tools: Define and use our own u64, s64 etc. definitions On 64-bit powerpc, __u64 is defined to be unsigned long rather than unsigned long long. This causes compiler warnings every time we print a __u64 value with %Lx. Rather than changing __u64, we define our own u64 to be unsigned long long on all architectures, and similarly s64 as signed long long. For consistency we also define u32, s32, u16, s16, u8 and s8. These definitions are put in a new header, types.h, because these definitions are needed in util/string.h and util/symbol.h. The main change here is the mechanical change of __[us]{64,32,16,8} to remove the "__". The other changes are: * Create types.h * Include types.h in perf.h, util/string.h and util/symbol.h * Add types.h to the LIB_H definition in Makefile * Added (u64) casts in process_overflow_event() and print_sym_table() to kill two remaining warnings. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: benh@kernel.crashing.org LKML-Reference: <19003.33494.495844.956580@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit b49a9e7e72103ea91946453c19703a4dfa1994fe Author: Peter Zijlstra Date: Fri Jun 19 17:39:33 2009 +0200 perf_counter: Close race in perf_lock_task_context() perf_lock_task_context() is buggy because it can return a dead context. the RCU read lock in perf_lock_task_context() only guarantees the memory won't get freed, it doesn't guarantee the object is valid (in our case refcount > 0). Therefore we can return a locked object that can get freed the moment we release the rcu read lock. perf_pin_task_context() then increases the refcount and does an unlock on freed memory. That increased refcount will cause a double free, in case it started out with 0. Ammend this by including the get_ctx() functionality in perf_lock_task_context() (all users already did this later anyway), and return a NULL context when the found one is already dead. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a97f4424fb4cddecf9b13c9b0e3f79924b624a7f Author: Johannes Berg Date: Thu Jun 18 17:23:43 2009 +0200 cfg80211: validate station settings When I disallowed interfering with stations on non-AP interfaces, I not only forget mesh but also managed interfaces which need this for the authorized flag. Let's actually validate everything properly. This fixes an nl80211 regression introduced by the interfering, under which wpa_supplicant -Dnl80211 could not properly connect. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9a5e8bbc8fece7851a2a69a8676a6fd0507bc550 Author: Andrey Yurovsky Date: Tue Jun 16 16:09:37 2009 -0700 cfg80211: allow setting station parameters in mesh Mesh Point interfaces can also set parameters, for example plink_open is used to manually establish peer links from user-space (currently via iw). Add Mesh Point to the check in nl80211_set_station. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 155cc9e4b1d60161ee53ffaf2c15b9411f086fa7 Author: Andrey Yurovsky Date: Tue Jun 16 11:31:04 2009 -0700 cfg80211: allow adding/deleting stations on mesh Commit b2a151a288 added a check that prevents adding or deleting stations on non-AP interfaces. Adding and deleting stations is supported for Mesh Point interfaces, so add Mesh Point to that check as well. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit eab0cd493c08632ef10624d0169849c973951c66 Author: Jiri Slaby Date: Fri Jun 19 01:06:45 2009 +0200 ath5k: fix beacon_int handling 73ca5203366235f8a43e490767284ba8cfd8c479 (ath5k: remove conf->beacon_int usage) removed bintval setting from ath5k_config. We need to init the interval earlier and don't touch it in add_interface anymore. Otherwise it will be set only once by upper layer through bss_info_changed but not on second and further hostap executions. We ended up having bintval 1000 which rendered the AP useless on many clients. Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Cc: Bob Copeland Signed-off-by: John W. Linville commit 488f7e0cdd99e7dc75dbe32d78474c070deadaea Author: Joe Perches Date: Thu Jun 18 11:08:01 2009 -0700 MAINTAINERS: Fix Atheros pattern paths Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 38ab422e64d991472ce21ffdd7a37e8a02279697 Author: Gabor Juhos Date: Wed Jun 17 20:53:21 2009 +0200 ath9k: restore PS mode, before we put the chip into FULL SLEEP state. We want to put the chip into FULL SLEEP state, when we are disabling the radio, but the the current code always change it to AWAKE/NETWORK SLEEP. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 58f5fffdc3b8567b3fa8ed77d75699db87e2d1d4 Author: Gabor Juhos Date: Wed Jun 17 20:53:20 2009 +0200 ath9k: wait for beacon frame along with CAB Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit a878417cc576720d3c9ff5399522d06f226bad7d Author: Troy Moure Date: Wed Jun 17 11:51:56 2009 +0100 acer-wmi: fix rfkill conversion "rfkill: rewrite" incorrectly reversed the meaning of 'state' in acer_rfkill_update() when it changed rfkill_force_state() to rfkill_set_sw_state(). Fix it. Signed-off-by: Troy Moure Signed-off-by: John W. Linville commit 8451d22dad40a66416b8d9c0952efa09ec5398c5 Author: Jouni Malinen Date: Tue Jun 16 11:59:23 2009 +0300 ath5k: avoid PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling This reverts 'ath5k: remove dummy PCI "retry timeout" fix' on the same theory as in 'ath9k: Fix PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling'. Reported-by: Bob Copeland Cc: stable@kernel.org Signed-off-by: John W. Linville commit 464902e812025792c9e33e19e1555c343672d5cf Author: Alan Jenkins Date: Tue Jun 16 14:54:04 2009 +0100 rfkill: export persistent attribute in sysfs This information allows userspace to implement a hybrid policy where it can store the rfkill soft-blocked state in platform non-volatile storage if available, and if not then file-based storage can be used. Some users prefer platform non-volatile storage because of the behaviour when dual-booting multiple versions of Linux, or if the rfkill setting is changed in the BIOS setting screens, or if the BIOS responds to wireless-toggle hotkeys itself before the relevant platform driver has been loaded. Signed-off-by: Alan Jenkins Acked-by: Henrique de Moraes Holschuh Signed-off-by: John W. Linville commit 96e9cfeb9692b0bc6e03f9b6f9cb3c67a40b76d1 Author: Alan Jenkins Date: Tue Jun 16 14:53:52 2009 +0100 eeepc-laptop: read rfkill soft-blocked state on resume This will respect state changes over hibernation, e.g. if the user disables the wireless in the BIOS setup screen. It reveals an issue where ACPI silently kills the wireless on suspend. Normally, the BIOS restores the correct state from non-volatile storage on boot. But when hibernation is aborted, the wireless would remain killed. Fortunately we can work around this in the resume handler by simply writing back the same value we read from NVS. Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit 06d5caf47ef4fbd9efdceae33293c42778cb7b0c Author: Alan Jenkins Date: Tue Jun 16 15:39:51 2009 +0100 rfkill: don't restore software blocked state on persistent devices The setting of the "persistent" flag is also made more explicit using a new rfkill_init_sw_state() function, instead of special-casing rfkill_set_sw_state() when it is called before registration. Suspend is a bit of a corner case so we try to get away without adding another hack to rfkill-input - it's going to be removed soon. If the state does change over suspend, users will simply have to prod rfkill-input twice in order to toggle the state. Userspace policy agents will be able to implement a more consistent user experience. For example, they can avoid the above problem if they toggle devices individually. Then there would be no "global state" to get out of sync. Currently there are only two rfkill drivers with persistent soft-blocked state. thinkpad-acpi already checks the software state on resume. eeepc-laptop will require modification. Signed-off-by: Alan Jenkins CC: Marcel Holtmann Acked-by: Henrique de Moraes Holschuh Signed-off-by: John W. Linville commit 7fa20a7f60df0afceafbb8197b5d110507f42c72 Author: Alan Jenkins Date: Tue Jun 16 14:53:24 2009 +0100 rfkill: rfkill_set_block() when suspended nitpick If we return after fiddling with the state, userspace will see the wrong state and rfkill_set_sw_state() won't work until the next call to rfkill_set_block(). At the moment rfkill_set_block() will always be called from rfkill_resume(), but this will change in future. Also, presumably the point of this test is to avoid bothering devices which may be suspended. If we don't want to call set_block(), we probably don't want to call query() either :-). Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit f0214843ba23d9bf6dc6b8ad2c6ee27b60f0322e Author: Jouni Malinen Date: Tue Jun 16 11:59:23 2009 +0300 ath9k: Fix PCI FATAL interrupts by restoring RETRY_TIMEOUT disabling An earlier commit, 'ath9k: remove dummy PCI "retry timeout" fix', removed code that was documented to disable RETRY_TIMEOUT register (PCI reg 0x41) since it was claimed to be a no-op. However, it turns out that there are some combinations of hosts and ath9k-supported cards for which this is not a no-op (reg 0x41 has value 0x80, not 0) and this code (or something similar) is needed. In such cases, the driver may be next to unusable due to very frequent PCI FATAL interrupts from the card. Reverting the earlier commit, i.e., restoring the RETRY_TIMEOUT disabling, seems to resolve the issue. Since the removal of this code was not based on any known issue and was purely a cleanup change, the safest option here is to just revert that commit. Should there be desire to clean this up in the future, the change will need to be tested with a more complete coverage of cards and host systems. http://bugzilla.kernel.org/show_bug.cgi?id=13483 Cc: stable@kernel.org Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f72151fb6820e90ce12a15e2768aa41150c5186d Author: Hin-Tak Leung Date: Tue Jun 16 03:15:56 2009 +0100 zd1211rw: adding 083a:e503 as a ZD1211B device Hans Pontar reported success on the sourceforge zd1211-devs mailing list. The device is branded "Arcor Easy Stick A 50 WLAN" (device manufactured by SMC for a German ISP - SMC model name: WN4501H-LF-IR). General information and Windows driver are available under (German only): http://www.arcor.de/hilfe/neu/index.php?sid=&aktion=anzeigen&rubrik=004018140&id=487 Device details: USB-IDs: Vendor: 0x083A Device: 0xE503 Chip ID: zd1211b chip 083a:e503 v4810 high 00-1d-19 AL2230S_RF pa0 g--N- Signed-off-by: Hin-Tak Leung Tested-by: Hans Pontar Signed-off-by: John W. Linville commit 68810c5dc5f6bbaa0bbf6acce7cb56d97a1c8fd0 Author: Zhu Yi Date: Mon Jun 15 21:59:49 2009 +0200 iwmc3200wifi: add a mutex to protect iwm_reset_worker The patch adds a mutex to protect the iwm_reset_worker against netdev ndo_open and ndo_stop because all of them call iwm_up and iwm_down in the implementation. Note the latter two are already protected by rtnl. So if iwm_reset_worker is not required in the future, the mutex can also be removed. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 4e9aa52e36a7beb4c0163324a3de759d7cf2e442 Author: Zhu Yi Date: Mon Jun 15 21:59:48 2009 +0200 iwmc3200wifi: fix potential kernel oops on module removal The iwm_if_free() is called before destroy_workqueue for isr_wq on device remove method. But if there is still some pending work in the isr_wq, the required data structures are already freed at this point. This leeds a kernel oops. The patch fixes this problem by moving iwm_if_free after destroy_workqueue. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d7e057dca3f1b76ff44dd16fefcd493a52614aad Author: Zhu Yi Date: Mon Jun 15 21:36:14 2009 +0200 iwmc3200wifi: add iwm_if_add and iwm_if_remove We used to do alloc_netdev and register_netdev at the same time in iwm_if_alloc. But some bus related structures will only be initialized after iwm_priv is allocated. This caused a race condition that the netdev might be registered earlier. The patch adds iwm_if_add and iwm_if_remove so that the bus layer could register the device after all initialization is done. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 8d96e7960b6b520eb52be6e1eb7c794da5db9555 Author: Zhu Yi Date: Mon Jun 15 21:36:13 2009 +0200 iwmc3200wifi: check for iwm_priv_init error We need to check for iwm_priv_init() errors and do proper cleanups. Otherwise we may fail to catch the create_singlethread_workqueue() error which will cause a kernel oops when destroy_workqueue() later. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit feb97c3644a560ffdf9a17c65b1df807b5b4432f Author: Catalin Marinas Date: Fri Jun 19 16:43:08 2009 +0100 [ARM] 5559/1: Limit the stack unwinding caused by a kthread exit When a kthread function returns, it branches to do_exit(). However, the unwinding information isn't valid anymore and any stack trace caused by do_exit() may be incorrect. This patch adds a kernel_thread_exit() function and annotated with '.cantunwind' so that the unwinder stops when reaching it. Tested-by: Tony Lindgren Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c894ed6956f126d60d888e8efc5fb3a595ba89ae Author: Catalin Marinas Date: Fri Jun 19 16:42:11 2009 +0100 [ARM] 5558/1: Add extra checks to ARM unwinder to avoid tracing corrupt stacks There are situations where the unwinder goes beyond stack boundaries and unwinds random data. This patch moves the stack boundaries check after the unwind_exec_insn() call and adds an extra check for possible infinite loops (like "mov pc, lr" with pc == lr). The patch also fixes a bug in the unwind instructions interpreter. The 0xb0 instruction can only set PC to LR if this wasn't already set by a previous instruction (this is used on exceptions taken while in kernel mode where svc_entry is annotated with ".save {r0 - pc}"). Tested-by: Tony Lindgren Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7436127ce9042f95a10bb5423f726fd63a61934d Author: Catalin Marinas Date: Fri Jun 19 16:39:29 2009 +0100 [ARM] 5557/1: Discard some ARM.ex*.*exit.text sections when !HOTPLUG or !HOTPLUG_CPU Not discarding these sections when hotplug isn't available prevents the kernel from building. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c2860d43f5dfab599fc1308ab61b1d3e30801ceb Author: George G. Davis Date: Thu Jun 4 17:16:04 2009 +0100 [ARM] 5540/1: 32-bit Thumb-2 {ld,st}{m,rd} alignment fault fixup support From: Min Zhang Add alignment fault fixup support for 32-bit Thumb-2 LDM, LDRD, POP, PUSH, STM and STRD instructions. Alignment fault fixup support for the remaining 32-bit Thumb-2 load/store instruction cases is not included since ARMv6 and later processors include hardware support for loads and stores of unaligned words and halfwords. Signed-off-by: Min Zhang Signed-off-by: George G. Davis Signed-off-by: Russell King commit c70366732f67dbdb32f7fe9c6aa59299b76feca6 Author: Hans Verkuil Date: Fri Jun 19 16:58:21 2009 +0200 i2c: New macro to initialize i2c address lists on the fly For video4linux we sometimes need to probe for a single i2c address. Normally you would do it like this: static const unsigned short addrs[] = { addr, I2C_CLIENT_END }; client = i2c_new_probed_device(adapter, &info, addrs); This is a bit awkward and I came up with this macro: #define V4L2_I2C_ADDRS(addr, addrs...) \ ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) This can construct a list of one or more i2c addresses on the fly. But this is something that really belongs in i2c.h, renamed to I2C_ADDRS. With this macro we can just do: client = i2c_new_probed_device(adapter, &info, I2C_ADDRS(addr)); Note that this can also be used to initialize an array: static const unsigned short addrs[] = I2C_ADDRS(0x2a, 0x2c); Whether you want to is another matter, but it works. This functionality is also available in the oldest supported gcc (3.2). Signed-off-by: Hans Verkuil Signed-off-by: Jean Delvare commit 23af8400571ac4431fac0caefeac18f8aef490df Author: Jean Delvare Date: Fri Jun 19 16:58:20 2009 +0200 i2c: Don't advertise i2c functions when not available Surround i2c function declarations with ifdefs, so that they aren't advertised when i2c-core isn't actually built. That way, drivers using these functions unconditionally will result in an immediate build failure, rather than a late linking failure which is harder to figure out. Signed-off-by: Jean Delvare Cc: Mark Brown Cc: Paul Mundt commit f18c41daea14baee11252da268cdf5dcd57c7c10 Author: Rodolfo Giometti Date: Fri Jun 19 16:58:20 2009 +0200 i2c: Use rwsem instead of mutex for board info By using rwsem we can easily manage recursive calls of i2c_scan_static_board_info() function without breaking the locking. Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 99cd8e25875a109455b709b5a41d4891b8d8e58e Author: Jean Delvare Date: Fri Jun 19 16:58:20 2009 +0200 i2c: Add a sysfs interface to instantiate devices Add a sysfs interface to instantiate and delete I2C devices. This is primarily a replacement of the force_* module parameters implemented by some i2c drivers. These module parameters were implemented internally by the I2C_CLIENT_INSMOD* macros, which don't scale well. This can also be used when developing a driver on a self-soldered board which doesn't yet have proper I2C device declaration at the platform level, and presumably for various debugging situations. Signed-off-by: Jean Delvare Cc: David Brownell commit 35fc37f8188177e3ba3e7f99a6e3300e490e9181 Author: Jean Delvare Date: Fri Jun 19 16:58:19 2009 +0200 i2c: Limit core locking to the necessary sections The i2c-core code tends to hold the core lock for longer than it should. Limit locking to the necessary sections for both performance and clarity. This is also a requirement to support I2C multiplexers in the future. Signed-off-by: Jean Delvare Tested-by: Rodolfo Giometti Cc: David Brownell commit e549c2b54dd90a056d6824b885d438b7437874f0 Author: Jean Delvare Date: Fri Jun 19 16:58:19 2009 +0200 i2c: Kill the redundant client list We used to maintain our own per-adapter list of i2c clients, but this is redundant with what the driver core does, and no longer needed. Just drop the redundant list. Signed-off-by: Jean Delvare Cc: David Brownell commit 1e40ac12dab22d98d0178e87364cf4e36862809c Author: Jean Delvare Date: Fri Jun 19 16:58:19 2009 +0200 i2c: Kill is_newstyle_driver Legacy i2c drivers are gone, all drivers are new-style now, so there is no point to check. Signed-off-by: Jean Delvare Cc: David Brownell commit f8a227e8ac19c2d3e189833b8518b1805d9b443c Author: Jean Delvare Date: Fri Jun 19 16:58:18 2009 +0200 i2c: Merge i2c_attach_client into i2c_new_device Now that i2c_attach_client is no longer exported, it doesn't need to be a separate function. Merge it into its only user, i2c_new_device. Signed-off-by: Jean Delvare Cc: David Brownell commit 36789b5ea52bba961122b45f4383f553ec3b5a6c Author: Jean Delvare Date: Fri Jun 19 16:58:18 2009 +0200 i2c: Drop i2c_probe function The legacy i2c_probe() function has no users left, get rid of it. Signed-off-by: Jean Delvare Cc: David Brownell commit 729d6dd571464954f625e6b80950d9e4e3bd94f7 Author: Jean Delvare Date: Fri Jun 19 16:58:18 2009 +0200 i2c: Get rid of the legacy binding model We converted all the legacy i2c drivers so we can finally get rid of the legacy binding model. Hooray! Signed-off-by: Jean Delvare Cc: David Brownell commit 352da9820e5506e3b8496e6052a2ad9c488efae8 Author: Jean Delvare Date: Fri Jun 19 16:58:17 2009 +0200 i2c: Kill client_register and client_unregister methods These methods were useful in the legacy binding model but no longer in the new (standard) binding model. There are no users left so we can drop them. Signed-off-by: Jean Delvare Cc: David Brownell commit 0c87197142427063e096f11603543ca874045952 Author: Ingo Molnar Date: Mon Jun 15 11:35:01 2009 +0200 perf_counter, x86: Improve interactions with fast-gup Improve a few details in perfcounter call-chain recording that makes use of fast-GUP: - Use ACCESS_ONCE() to observe the pte value. ptes are fundamentally racy and can be changed on another CPU, so we have to be careful about how we access them. The PAE branch is already careful with read-barriers - but the non-PAE and 64-bit side needs an ACCESS_ONCE() to make sure the pte value is observed only once. - make the checks a bit stricter so that we can feed it any kind of cra^H^H^H user-space input ;-) Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 41184f6a5ef0d88529904d54f06f88b67fb76f4a Author: Catalin Marinas Date: Fri Jun 19 11:30:12 2009 +0100 [ARM] 5556/1: Fix the irq_desc.cpu references The cpu member of struct irq_desc was recently renamed to node. The patch renames the ARM references to the old member. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c3c2174031def62eeb8433dee8ef7e8d9493b1cf Author: Catalin Marinas Date: Fri Jun 19 11:28:48 2009 +0100 [ARM] 5555/1: RealView: Include asm/smp_twd.h in realview-pbx.c This header file is needed for twd_base. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 32a9ff9cc55b42543a84bca90b070df92af72671 Author: Arnd Bergmann Date: Fri Jun 19 10:41:19 2009 +0200 lib/checksum.c: fix endianess bug The new generic checksum code has a small dependency on endianess and worked only on big-endian systems. I could not find a nice efficient way to express this, so I added an #ifdef. Using 'result += le16_to_cpu(*buff);' would have worked as well, but would be slightly less efficient on big-endian systems and IMHO would not be clearer. Also fix a bug that prevents this from working on 64-bit machines. If you have a 64-bit CPU and want to use the generic checksum code, you should probably do some more optimizations anyway, but at least the code should not break. Reported-by: Mike Frysinger Signed-off-by: Arnd Bergmann commit fcec9bf12442d0cd50d6cee125d168cfc3f37c5e Author: Arnd Bergmann Date: Fri Jun 19 10:30:29 2009 +0200 asm-generic: hook up new system calls sys_rt_tgsigqueueinfo and sys_perf_counter_open have been added in 2.6.31, so hook them up in the generic unistd.h file. Since the file is now in the mainline kernel, we are no longer reordering the numbers but just add system calls at the end. Signed-off-by: Arnd Bergmann commit 1527aab617af87f2d2121fa3ff5aa79d96e7ad2f Author: Arnd Bergmann Date: Sun Jun 14 22:46:16 2009 +0200 asm-generic: list Arnd as asm-generic maintainer I've modified about half the code in include/asm-generic now, and people start sending me patches for it, so I should probably take the formal responsibility for it. Signed-off-by: Arnd Bergmann commit 804387a1af87f66a4b93eee230ba98f8b906b088 Author: Arnd Bergmann Date: Sun Jun 14 22:38:11 2009 +0200 asm-generic: drop HARDIRQ_BITS definition from hardirq.h Architechtures normally don't need to set a HARDIRQ_BITS unless they have hardcoded a specific value in assembly. This drops the definition from asm-generic/hardirq.h, which results in linux/hardirq.h setting its default of 10. Both the old default of 8 and the linux/hardirq.h default of 10 are sufficient because they only limit the number of nested hardirqs, and we normally run out of stack space much earlier than exceeding 256 or even 1024 nested interrupts. Reported-by: Mike Frysinger Acked-by: Steven Rostedt Signed-off-by: Arnd Bergmann commit a9ede5b355aabd667ed690f858c925a23927027b Author: Mike Frysinger Date: Sun Jun 14 02:00:03 2009 -0400 asm-generic: uaccess: fix up local access_ok() usage There's no reason that I can see to use the short __access_ok() form directly when the access_ok() is clearer in intent and for most people, expands to the same C code (i.e. always specify the first field -- access type). Not all no-mmu systems lack memory protection, so the read/write could feasibly be checked. Signed-off-by: Mike Frysinger Signed-off-by: Arnd Bergmann commit 9844813f226f6d07e1544e915529cb88f4fcb868 Author: Mike Frysinger Date: Sun Jun 14 02:00:02 2009 -0400 asm-generic: uaccess: add missing access_ok() check to strnlen_user() The strnlen_user() function was missing a access_ok() check on the pointer given. We've had cases on Blackfin systems where test programs caused kernel crashes here because userspace passed up a NULL/-1 pointer and the kernel gladly attempted to run strlen() on it. Signed-off-by: Mike Frysinger Signed-off-by: Arnd Bergmann commit e5289d4a181fb6c0b7a7607649af2ffdc491335c Author: Peter Zijlstra Date: Fri Jun 19 13:22:51 2009 +0200 perf_counter: Simplify and fix task migration counting The task migrations counter was causing rare and hard to decypher memory corruptions under load. After a day of debugging and bisection we found that the problem was introduced with: 3f731ca: perf_counter: Fix cpu migration counter Turning them off fixes the crashes. Incidentally, the whole perf_counter_task_migration() logic can be done simpler as well, by injecting a proper sw-counter event. This cleanup also fixed the crashes. The precise failure mode is not completely clear yet, but we are clearly not unhappy about having a fix ;-) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f5970550d5ccf90453cbd7d260370ea99d1f6513 Author: Peter Zijlstra Date: Thu Jun 18 23:22:55 2009 +0200 perf_counter tools: Add a data file header Add a data file header so we can transfer data between record and report. LKML-Reference: Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2a0a50fe9def21835d65035cc8109c0b6dd6099d Author: Peter Zijlstra Date: Thu Jun 18 22:20:45 2009 +0200 perf_counter: Update userspace callchain sampling uses Update the tools to reflect the new callchain sampling format. LKML-Reference: Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f9188e023c248d73f5b4a589b480e065c1864068 Author: Peter Zijlstra Date: Thu Jun 18 22:20:52 2009 +0200 perf_counter: Make callchain samples extensible Before exposing upstream tools to a callchain-samples ABI, tidy it up to make it more extensible in the future: Use markers in the IP chain to denote context, use (u64)-1..-4095 range for these context markers because we use them for ERR_PTR(), so these addresses are unlikely to be mapped. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 6877f54e6a3326c99aaf84b7bff6a3019da0b847 Author: Prabhanjan Sarnaik Date: Thu Jun 18 11:35:02 2009 +0000 mv643xx_eth: fix unicast filter programming in promiscuous mode The Unicast Promiscious Mode (UPM) bit in the mv643xx_eth port configuration register doesn't do exactly what its name would suggest: setting this bit merely enables reception of all unicast frames with a destination address that differs from our local MAC address in bits [47:4]. In particular, it doesn't have any effect on unicast frames with a destination address that matches our MAC address in bits [47:4] -- these will still be tested against the 16-entry unicast address filter table. Therefore, if the interface is set to promiscuous mode, just setting the unicast promiscuous bit isn't enough -- we need to set all filter bits in the unicast filter table to 1 as well. Reported-by: Sachin Sanap Signed-off-by: Prabhanjan Sarnaik Tested-by: Siddarth Gore Tested-by: Mahavir Jain Signed-off-by: Lennert Buytenhek Cc: stable@kernel.org Signed-off-by: David S. Miller commit 40c27eeac42600b21d483087ff3885b31e6857c9 Author: Florian Westphal Date: Thu Jun 18 03:49:49 2009 +0000 r8169: remove unused variable all references got removed by 865c652d6be9929927cabdc54b137b7541eb6612 (r8169: remove non-napi code). Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 679e8a0f0ae3333e94b1d374d07775fce9066025 Author: Andy Gospodarek Date: Thu Jun 18 11:57:37 2009 +0000 e1000e: stop unnecessary polling when using msi-x The last hunk of this commit: commit 12d04a3c12b420f23398b4d650127642469a60a6 Author: Alexander Duyck Date: Wed Mar 25 22:05:03 2009 +0000 e1000e: commonize tx cleanup routine to match e1000 & igb changed the logic for determining if we should call napi_complete or not at then end of a napi poll. If the NIC is using MSI-X with no work to do in ->poll, net_rx_action can just spin indefinitely on older kernels and for 2 jiffies on newer kernels since napi_complete is never called and budget isn't decremented. Discovered and verified while testing driver backport to an older kernel. Signed-off-by: Andy Gospodarek Acked-by: Alexander Duyck Signed-off-by: David S. Miller commit 68924920cb457ac44b14ca38343954bdcee046fc Author: Jonas Sjöquist Date: Thu Jun 18 01:50:52 2009 +0000 cdc_ether: additional PID's to the whitelist This patch adds five PID's to the whitelist set of devices. Devices added to the whitelist: Dell Wireless 5530 HSPA Ericsson Mobile Broadband Module variants (F3507g, F3607gw and F3307) Toshiba F3507g Signed-off-by: Jonas Sjöquist Signed-off-by: David S. Miller commit a060330e261cf71f5b3dd2f85bf3eeb9dba61a2e Author: Dmitry Baryshkov Date: Thu Jun 18 04:16:47 2009 +0000 MAINTAINERS: fix address of IEEE 802.15.4 git tree IEEE 802.15.4 git tree was moved from my private area to shared one. Fix address accordingly. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 25502bda07b4cd4f1d9942cca2df446c4a0f167c Author: Dmitry Baryshkov Date: Thu Jun 18 04:16:46 2009 +0000 ieee802154: use standard routine for printing dumps Use print_hex_dump_bytes instead of self-written dumping function for outputting packet dumps. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit a8f447bda3ee00e3a3ab080c48db40078ea65221 Author: Sathya Perla Date: Thu Jun 18 00:10:27 2009 +0000 be2net: receive asynchronous link status notifications from BE Rcv and process ansync link status notifications from BE instead of polling for link status in the be_worker thread. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 24307eef74bd38e3fc6a6df8f8a1bfc48967f9f6 Author: Sathya Perla Date: Thu Jun 18 00:09:25 2009 +0000 be2net: cleanup multicast_set cmd to avoid mc_list copy Cleanup multicast_set method to avoid an extra copy of mc_list and unwanted promiscuos sets to BE. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 6ac7b687cb3acc437a586794949a43f5249956bb Author: Sathya Perla Date: Thu Jun 18 00:05:54 2009 +0000 be2net: Use MCC queue for cmds that may be called in BH context Currenlty multicast_set and promiscuous_config cmds -- that may be called in BH context -- use the blocking MCC mbox to post cmds. An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable to disable BHs while a blocking mbox cmd is in progress (and take long to finish.) This can lockup a cmd in progress in process context. So, these two cmds in BH context must use the MCC queue to post cmds. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 5fb379ee67a7ec55ff65b467b472f3d69b60ba16 Author: Sathya Perla Date: Thu Jun 18 00:02:59 2009 +0000 be2net: Add MCC queue mechanism for BE cmds Currenlty all cmds use the blocking MCC mbox to post cmds. An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable to disable BHs while a blocking mbox cmd is in progress (and take long to finish.) This can lockup a cmd in progress in process context. Instead cmds that may be called in BH context must use the MCC queue to post cmds. The cmd completions are rcvd in a separate completion queue and the events are placed in the tx-event queue. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit e3453f6342110d60edb37be92c4a4f668ca8b0c4 Author: Michael Buesch Date: Thu Jun 18 07:03:47 2009 +0000 pegasus usb-net: Fix endianness bugs This fixes various endianness bugs. Some harmless and some real ones. This is tested on a PowerPC-64 machine. Signed-off-by: Michael Buesch Cc: Stable Signed-off-by: David S. Miller commit f740f5ca056f0a4eff3abdf272a8a4ba3965d57d Author: Randy Dunlap Date: Fri Jun 19 09:18:32 2009 +0200 Fix kernel-doc parameter name typo in blk-settings.c: Warning(block/blk-settings.c:108): No description found for parameter 'lim' Warning(block/blk-settings.c:108): Excess function parameter 'limits' description in 'blk_set_default_limits' Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 0ea920d211e0a870871965418923b08da2025b4a Author: Hendrik Brueckner Date: Wed Jun 17 21:54:48 2009 +0000 af_iucv: Return -EAGAIN if iucv msg limit is exceeded If the iucv message limit for a communication path is exceeded, sendmsg() returns -EAGAIN instead of -EPIPE. The calling application can then handle this error situtation, e.g. to try again after waiting some time. For blocking sockets, sendmsg() waits up to the socket timeout before returning -EAGAIN. For the new wait condition, a macro has been introduced and the iucv_sock_wait_state() has been refactored to this macro. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit bb664f49f8be17d7b8bf9821144e8a53d7fcfe8a Author: Hendrik Brueckner Date: Wed Jun 17 21:54:47 2009 +0000 af_iucv: Change if condition in sendmsg() for more readability Change the if condition to exit sendmsg() if the socket in not connected. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b99c6ebe8f53dce1f56f0d483f6a7c23edb19d4c Author: David S. Miller Date: Thu Jun 18 01:44:19 2009 -0700 sparc64: Fix UP bootup regression. Commit b696fdc259f0d94348a9327bed352fac44d4883d ("sparc64: Defer cpu_data() setup until end of per-cpu data initialization.") broke bootup for UP builds because the cpu_data() initialization only occurs in setup_per_cpu_areas() which is never compiled in nor called in UP builds. Fix this up by calling the setups directly from init_64.c when non-SMP. Reported-by: Alexander Beregalov Tested-by: Alexander Beregalov Signed-off-by: David S. Miller commit 90c699a9ee4be165966d40f1837909ccb8890a68 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 19 08:08:50 2009 +0200 block: rename CONFIG_LBD to CONFIG_LBDAF Follow-up to "block: enable by default support for large devices and files on 32-bit archs". Rename CONFIG_LBD to CONFIG_LBDAF to: - allow update of existing [def]configs for "default y" change - reflect that it is used also for large files support nowadays Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 47fcb03fefee2501e79176932a4184fc24d6f8ec Author: Trond Myklebust Date: Mon May 18 17:47:56 2009 -0400 SUNRPC: Fix the TCP server's send buffer accounting Currently, the sunrpc server is refusing to allow us to process new RPC calls if the TCP send buffer is 2/3 full, even if we do actually have enough free space to guarantee that we can send another request. The following patch fixes svc_tcp_has_wspace() so that we only stop processing requests if we know that the socket buffer cannot possibly fit another reply. It also fixes the tcp write_space() callback so that we only clear the SOCK_NOSPACE flag when the TCP send buffer is less than 2/3 full. This should ensure that the send window will grow as per the standard TCP socket code. Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit eec511d75edd5139ea6de537f6908085b171e7a0 Author: Mike Frysinger Date: Sat Jun 13 11:39:55 2009 -0400 Blackfin: convert page/tlb to asm-generic Signed-off-by: Mike Frysinger commit 0f652859571b3f750c01c9d7c27938d3159ca96d Author: Mike Frysinger Date: Sat Jun 13 11:36:23 2009 -0400 Blackfin: convert types to asm-generic Signed-off-by: Mike Frysinger commit d5ce528c8e46fa5afb9ff021514a6658d1758b4e Author: Mike Frysinger Date: Sat Jun 13 11:32:34 2009 -0400 Blackfin: convert irq/process to asm-generic Signed-off-by: Mike Frysinger commit 415f92da756423d564971b3e7afd1e2a54c9b7b0 Author: Mike Frysinger Date: Sat Jun 13 11:26:57 2009 -0400 Blackfin: convert signal/mmap to asm-generic Signed-off-by: Mike Frysinger commit 3d150630930c500926bd80d2c07872c9f0ee5db8 Author: Mike Frysinger Date: Sat Jun 13 11:21:51 2009 -0400 Blackfin: convert locking primitives to asm-generic Signed-off-by: Mike Frysinger commit 22a151c1bcfe28d8d9aea515155b2d5edada9811 Author: Mike Frysinger Date: Sat Jun 13 11:12:08 2009 -0400 Blackfin: convert termios to asm-generic Signed-off-by: Mike Frysinger commit 094167be1fe24a65ef1b4647b1ad22b3b7898621 Author: Mike Frysinger Date: Sat Jun 13 10:54:56 2009 -0400 Blackfin: convert simple headers to asm-generic Signed-off-by: Mike Frysinger commit 3be5646c98169ee5d72847dff1fc459fcd8673d2 Author: Mike Frysinger Date: Sat Jun 13 10:41:25 2009 -0400 Blackfin: convert socket/poll to asm-generic Signed-off-by: Mike Frysinger commit 420b61f4a7e4ea85be8d9f8138fef99c6a55a888 Author: Mike Frysinger Date: Sat Jun 13 10:40:29 2009 -0400 Blackfin: convert user/elf to asm-generic Signed-off-by: Mike Frysinger commit 71b844f163f8ab66227563c74ef012b4ea5049c8 Author: Mike Frysinger Date: Sat Jun 13 10:40:15 2009 -0400 Blackfin: convert shm/sysv/ipc to asm-generic Signed-off-by: Mike Frysinger commit 83dab40350bda28603036d03d58f1faf0a2a5627 Author: Mike Frysinger Date: Sat Jun 13 07:42:26 2009 -0400 Blackfin: convert asm/ioctls.h to asm-generic/ioctls.h Signed-off-by: Mike Frysinger commit cf8d943260528b669c9f0fa6fb4f1c17cab0ecda Author: Mike Frysinger Date: Sat Jun 13 10:14:24 2009 -0400 Blackfin: only build irqpanic.c when needed The irq_panic function is only used when CONFIG_DEBUG_ICACHE_CHECK is enabled, so move the conditional build to the Makefile rather than wrapping all of the contents of the file. Signed-off-by: Mike Frysinger commit abea0bc3d990e5d80f6112985cecee68922a08a3 Author: Mike Frysinger Date: Sat Jun 13 10:35:10 2009 -0400 Blackfin: pull in asm/io.h in ksyms for prototypes Make sure we pull in asm/io.h when exporting symbols for the I/O functions so we don't end up with a build failure due to missing prototypes. Signed-off-by: Mike Frysinger commit c36953419b40be301c9a7d8be933afdb6c892cfd Author: Mike Frysinger Date: Sat Jun 13 10:32:29 2009 -0400 Blackfin: use common test_bit() rather than __test_bit() Convert to test_bit() as that is what pretty much everyone uses and allows us to migrate asm/bitops.h to the asm-generic version. Signed-off-by: Mike Frysinger commit ab52ae6db035fa425f90146327ab7d2c5d3e5654 Author: Andy Adamson Date: Tue Jun 16 04:20:53 2009 +0300 nfsd41: Backchannel: minorversion support for the back channel Prepare to share backchannel code with NFSv4.1. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Ricardo Labiaga [nfsd41: use nfsd4_cb_sequence for callback minorversion] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit ef52bff8409bba78b042f1bcf33a0f49debc9774 Author: Andy Adamson Date: Tue Jun 16 04:20:50 2009 +0300 nfsd41: Backchannel: cleanup nfs4.0 callback encode routines Mimic the client and prepare to share the back channel xdr with NFSv4.1. Bump the number of operations in each encode routine, then backfill the number of operations. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 1f84603c0940d5bed17f7e4d2e0b2a4b8b8f1b81 Merge: 301933a 4bf259e Author: Trond Myklebust Date: Wed Jun 17 18:13:00 2009 -0700 Merge branch 'devel-for-2.6.31' into for-2.6.31 Conflicts: fs/nfs/client.c fs/nfs/super.c commit a95fe463e73b8c7b2d97606ac86ce261f1270726 Author: Dave Airlie Date: Fri Jun 19 10:52:57 2009 +1000 agp: add user mapping support to ATI AGP bridge. This should fix TTM/KMS on some of the original ATI IGP chipsets. (rs100/rs200) Signed-off-by: Dave Airlie commit 6ddbbbfe52f35301ef5a1b595f912d8d2b3ec143 Author: Mike Sager Date: Tue Jun 16 04:20:47 2009 +0300 nfsd41: Remove ip address collision detection case Verified that cthon and pynfs exchange id tests pass (except for the two expected fails: EID8 and EID50) Signed-off-by: Mike Sager Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 95934f939c46ea2b37f3c91a4f8c82e003727761 Author: Dave Airlie Date: Fri Jun 19 10:29:20 2009 +1000 drm/i915: enable GEM on PAE. In theory now that the AGP subsystem is using struct page, we should have on problems enabling GEM on PAE systems. Signed-off-by: Dave Airlie commit fc436d9d3720b382566e03bef2d7391a58714999 Author: Dave Airlie Date: Fri Jun 19 10:22:21 2009 +1000 drm/radeon: fix unused variables warning just remove i variable left over from previous code. Signed-off-by: Dave Airlie commit 07613ba2f464f59949266f4337b75b91eb610795 Author: Dave Airlie Date: Fri Jun 12 14:11:41 2009 +1000 agp: switch AGP to use page array instead of unsigned long array This switches AGP to use an array of pages for tracking the pages allocated to the GART. This should enable GEM on PAE to work a lot better as we can pass highmem pages to the PAT code and it will do the right thing with them. Signed-off-by: Dave Airlie commit 2908826d045a89805714e0a3055a99dc40565d41 Author: Ondrej Zary Date: Wed Jun 10 12:41:11 2009 -0700 agpgart: detected ALi M???? chipset with M1621 Add M1621 chipset name to ali-agp, preventing "Detected ALi M???? chipset" message. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 068a117ca38f27c9641db7642f24fe9270d9424e Author: Jerome Glisse Date: Wed Jun 17 13:28:30 2009 +0200 drm/radeon: command stream checker for r3xx-r5xx hardware For security purpose we want to make sure the userspace process doesn't access memory beyond buffer it owns. To achieve this we need to check states the userspace program. For color buffer and zbuffer we check that the clipping register will discard access beyond buffers set as color or zbuffer. For vertex buffer we check that no vertex fetch will happen beyond buffer end. For texture we check various texture states (number of mipmap level, texture size, texture depth, ...) to compute the amount of memory the texture fetcher might access. The command stream checking impact the performances so far quick benchmark shows an average of 3% decrease in fps of various applications. It can be optimized a bit more by caching result of checking and thus avoid a full recheck if no states changed since last check. Note that this patch is still incomplete on checking side as it doesn't check 2d rendering states. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 8b5c744485b75d940ccb1c83c9a358b20eb91346 Author: Michel Dänzer Date: Wed Jun 17 18:28:38 2009 +0200 drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. This makes the panel on my PowerBook light up. Signed-off-by: Dave Airlie commit 4e484e7dc5856ff5086b6329d82e36d4adaf1f02 Author: Michel Dänzer Date: Tue Jun 16 17:29:06 2009 +0200 radeon: Fix CP byte order on big endian architectures with KMS. Signed-off-by: Dave Airlie commit 62369028c7e2039b821799b3db52f0d622f0e8b5 Author: Michel Dänzer Date: Mon Jun 15 16:56:15 2009 +0200 agp/uninorth: Handle user memory types. This adds support for TTM to the uninorth AGP bridge. Signed-off-by: Dave Airlie commit 46f4b3eab73e621bc239bfa62ebdc44dcc0a877a Author: Michel Dänzer Date: Mon Jun 15 16:56:13 2009 +0200 drm/ttm: Add some powerpc cache flush code. Optimise the powerpc flushing path for TTM. Signed-off-by: Dave Airlie commit 919f32f1df228723f66bf5c5aed23e0ab076b1a1 Author: Michel Dänzer Date: Mon Jun 15 16:56:09 2009 +0200 radeon: Enable modesetting on non-x86. Signed-off-by: Dave Airlie commit 55c93278ec03c349af7b01933655b31c7f740df4 Author: Michel Dänzer Date: Mon Jun 15 16:56:11 2009 +0200 drm/radeon: Respect AGP cant_use_aperture flag. Some AGP devices can't map the aperture, radeon needs to tell TTM this. Signed-off-by: Dave Airlie commit 0454beab0f6bc6d350860abd549b86959d2f6f40 Author: Michel Dänzer Date: Mon Jun 15 16:56:07 2009 +0200 drm: EDID endianness fixes. Mostly replacing bitfields with explicit masks and shifts. Signed-off-by: Dave Airlie commit 00fa28ae29f70c9f26023f9922c4d2e1ca1297e3 Author: Dave Airlie Date: Thu Jun 18 18:08:33 2009 +1000 drm/radeon: this VRAM vs aperture test is wrong, just remove it. Its quite valid to have VRAM < aperture size. Signed-off-by: Dave Airlie commit 87ef92092fd092936535ba057ee19b97bb6a709a Author: Thomas Hellstrom Date: Wed Jun 17 12:29:57 2009 +0200 drm/ttm: fix an error path to exit function correctly Just a goto instead of a direct exit. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 89579f778266d5a4d08d0c64c46b1565218de9f9 Author: Thomas Hellstrom Date: Wed Jun 17 12:29:56 2009 +0200 drm: Apply "Memory fragmentation from lost alignment blocks" also for the atomic path by using a common code-path. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 78ecf091aa592a9e160ebbbfa5873c2bb2e2d0f8 Author: Thomas Hellstrom Date: Wed Jun 17 12:29:55 2009 +0200 ttm: Return -ERESTART when a signal interrupts bo eviction. A bug caused the ttm code to just terminate the wait when a signal was received while waiting for the GPU to release a buffer object that was to be evicted. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit fb0f8fbf97e8a25074c81c629500d94cafa9e366 Author: Keith Packard Date: Thu Jun 11 22:31:31 2009 -0700 drm/i915: Generate 2MHz clock for display port aux channel I/O. Retry I/O. The display port aux channel clock is taken from the hrawclk value, which is provided to the chip as the FSB frequency (as far as I can determine). The strapping values for that are available in the CLKCFG register, now used to select an appropriate divider to generate a 2MHz clock. In addition, the DisplayPort spec requires that each aux channel I/O be retried 'at least 3 times' in case the sink is idle when the first request comes in. Signed-off-by: Keith Packard commit a5b3da543d4882d57a2f3e05d37ad8e1e1453489 Author: Keith Packard Date: Thu Jun 11 22:30:32 2009 -0700 drm/i915: Clarify error returns from display port aux channel I/O Use distinct error return values for each kind of aux channel I/O failure. Signed-off-by: Keith Packard commit b11248df4c0decb1e473d5025f237be32c0f67bb Author: Keith Packard Date: Thu Jun 11 22:28:56 2009 -0700 drm/i915: Add CLKCFG register definition The CLKCFG register holds information about the GMCH plls and input clock values. Signed-off-by: Keith Packard commit e4b366996bc58a02b9dc35db3ef83f0454553f50 Author: Keith Packard Date: Fri Jun 5 19:22:17 2009 -0700 drm/i915: Split array of DAC limits into separate structures. The array of DAC limits was only ever referenced with #defined constant offsets, and keeping those #define values in sync with the array itself was a nuisance. This will make future changes to the set of DAC limits less error-prone. Signed-off-by: Keith Packard commit c8110e52b753f3d105604df84ac06cd6d1645409 Author: Keith Packard Date: Wed May 6 11:51:10 2009 -0700 drm/i915: Use hotplug callback to retrain DP link When a DP monitor is plugged back in, it needs to be retrained if it was active before. Signed-off-by: Keith Packard commit a4fc5ed69817c73e32571ad7837bb707f9890009 Author: Keith Packard Date: Tue Apr 7 16:16:42 2009 -0700 drm/i915: Add Display Port support Signed-off-by: Keith Packard commit c31c4ba3437d98efa19710e30d694a1cfdf87aa5 Author: Keith Packard Date: Wed May 6 11:48:58 2009 -0700 drm/i915: add per-output hotplug callback for KMS This allows each output to deal with plug/unplug events as needed. Signed-off-by: Keith Packard commit 308cd3a2e505b0d15f2852e8db5d648b60a6313b Author: Keith Packard Date: Sun Jun 14 11:56:18 2009 -0700 drm/i915: Clean up SDVO i2c handling Eliminate the copy of i2c_bus in sdvo_priv. Eliminate local copies of i2c_bus and ddcbus. Eliminate unused settings of slave_addr. Signed-off-by: Keith Packard commit f9c10a9b96a31b4a82a4fa807400c04f00284068 Author: Keith Packard Date: Sat May 30 12:16:25 2009 -0700 drm/i915: Change I2C api to pass around i2c_adapters The existing API passed around intel_i2c_chan pointers, which are dependent on the i2c bit-banging algo. This precluded the driver from using outputs which use a different algo. Switching to the more general i2c_adpater allows the driver to support non bit-banging DDC. This also required moving the slave address into the output private structures. Signed-off-by: Keith Packard commit 71e308a239c098673570d0b417d42262bb535909 Author: Steven Rostedt Date: Thu Jun 18 12:45:08 2009 -0400 function-graph: add stack frame test In case gcc does something funny with the stack frames, or the return from function code, we would like to detect that. An arch may implement passing of a variable that is unique to the function and can be saved on entering a function and can be tested when exiting the function. Usually the frame pointer can be used for this purpose. This patch also implements this for x86. Where it passes in the stack frame of the parent function, and will test that frame on exit. There was a case in x86_32 with optimize for size (-Os) where, for a few functions, gcc would align the stack frame and place a copy of the return address into it. The function graph tracer modified the copy and not the actual return address. On return from the funtion, it did not go to the tracer hook, but returned to the parent. This broke the function graph tracer, because the return of the parent (where gcc did not do this funky manipulation) returned to the location that the child function was suppose to. This caused strange kernel crashes. This test detected the problem and pointed out where the issue was. This modifies the parameters of one of the functions that the arch specific code calls, so it includes changes to arch code to accommodate the new prototype. Note, I notice that the parsic arch implements its own push_return_trace. This is now a generic function and the ftrace_push_return_trace should be used instead. This patch does not touch that code. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Frederic Weisbecker Cc: Helge Deller Cc: Kyle McMartin Signed-off-by: Steven Rostedt commit eb4a03780d4c4464ef2ad86d80cca3f3284fe81d Author: Steven Rostedt Date: Thu Jun 18 12:53:21 2009 -0400 function-graph: disable when both x86_32 and optimize for size are configured On x86_32, when optimize for size is set, gcc may align the frame pointer and make a copy of the the return address inside the stack frame. The return address that is located in the stack frame may not be the one used to return to the calling function. This will break the function graph tracer. The function graph tracer replaces the return address with a jump to a hook function that can trace the exit of the function. If it only replaces a copy, then the hook will not be called when the function returns. Worse yet, when the parent function returns, the function graph tracer will return back to the location of the child function which will easily crash the kernel with weird results. To see the problem, when i386 is compiled with -Os we get: c106be03: 57 push %edi c106be04: 8d 7c 24 08 lea 0x8(%esp),%edi c106be08: 83 e4 e0 and $0xffffffe0,%esp c106be0b: ff 77 fc pushl 0xfffffffc(%edi) c106be0e: 55 push %ebp c106be0f: 89 e5 mov %esp,%ebp c106be11: 57 push %edi c106be12: 56 push %esi c106be13: 53 push %ebx c106be14: 81 ec 8c 00 00 00 sub $0x8c,%esp c106be1a: e8 f5 57 fb ff call c1021614 When it is compiled with -O2 instead we get: c10896f0: 55 push %ebp c10896f1: 89 e5 mov %esp,%ebp c10896f3: 83 ec 28 sub $0x28,%esp c10896f6: 89 5d f4 mov %ebx,0xfffffff4(%ebp) c10896f9: 89 75 f8 mov %esi,0xfffffff8(%ebp) c10896fc: 89 7d fc mov %edi,0xfffffffc(%ebp) c10896ff: e8 d0 08 fa ff call c1029fd4 The compile with -Os will align the stack pointer then set up the frame pointer (%ebp), and it copies the return address back into the stack frame. The change to the return address in mcount is done to the copy and not the real place holder of the return address. Then compile with -O2 sets up the frame pointer first, this makes the change to the return address by mcount affect where the function will jump on exit. Reported-by: Jake Edge Signed-off-by: Steven Rostedt commit 413427b5679f7bb9f25548c498ae92bb03e34443 Merge: 187f81b 9f01efa Author: Russell King Date: Thu Jun 18 23:10:29 2009 +0100 Merge branch 'next-s3c' of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit 187f81b3d8d315c35c73ac0d05b15a04a0ac3ce7 Merge: 1d89b30 d78ff0a Author: Russell King Date: Thu Jun 18 23:09:52 2009 +0100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit b99e228d354cc1e7f19fb8b5f1297d493e309186 Author: Keith Packard Date: Wed Jun 10 19:08:16 2009 -0700 drm/i915: check for CONFIG_PNP before using pnp function Signed-off-by: Keith Packard commit 98acd46f356e560c371c0e416d92e8e56be31804 Author: Keith Packard Date: Sun Jun 14 12:31:58 2009 -0700 drm/i915: Apple DMI info has inconsistent SYS_VENDOR information Some machines say 'Apple Inc.' while others say 'Apple Computer, Inc'. Switch the test to just look for 'Apple' instead. Signed-off-by: Keith Packard commit aa93d632c496184e5b779dbcf961bf1c6ececf0b Author: Keith Packard Date: Tue May 5 09:52:46 2009 -0700 drm/i915: Require digital monitor on HDMI ports for detect HDMI and DVI both require DDC/EDID on monitors, so use that to know when a monitor is connected as the hot-plug pins are shared with SDVO and DisplayPort Signed-off-by: Keith Packard commit 0732f87761dbe417cb6e084b712d07e879e876ef Merge: 15fc204 536fc24 Author: Linus Torvalds Date: Thu Jun 18 14:07:46 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: jbd2: clean up jbd2_journal_try_to_free_buffers() ext4: Don't update ctime for non-extent-mapped inodes ext4: Fix up whitespace issues in fs/ext4/inode.c ext4: Fix 64-bit block type problem on 32-bit platforms ext4: teach the inode allocator to use a goal inode number ext4: Use a hash of the topdir directory name for the Orlov parent group ext4: document the "abort" mount option ext4: move the abort flag from s_mount_opts to s_mount_flags ext4: update the s_last_mounted field in the superblock ext4: change s_mount_opt to be an unsigned int ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl ext4: avoid unnecessary spinlock in critical POSIX ACL path ext3: avoid unnecessary spinlock in critical POSIX ACL path ext4: convert instrumentation from markers to tracepoints jbd2: convert instrumentation from markers to tracepoints commit 15fc204afc6feb915c400159546f646eca8ba1d9 Merge: d2aa455 9445571 Author: Linus Torvalds Date: Thu Jun 18 14:07:35 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (56 commits) sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn sh: Enable soc-camera in ap325rxa/migor/se7724 defconfigs. sh: remove stray markers. sh: defconfig updates. sh: pci: Initial PCI-Express support for SH7786 Urquell board. sh: Generic HAVE_PERF_COUNTER support. SH: convert migor to soc-camera as platform-device SH: convert ap325rxa to soc-camera as platform-device soc-camera: unify i2c camera device platform data sh: add platform data for r8a66597-hcd in setup-sh7723 sh: add platform data for r8a66597-hcd in setup-sh7366 sh: x3proto: add platform data for r8a66597-hcd sh: highlander: add platform data for r8a66597-hcd sh: sh7785lcr: add platform data for r8a66597-hcd sh: turn off irqs when disabling CMT/TMU timers sh: use kzalloc() for cpg clocks sh: unbreak WARN_ON() sh: Use generic atomic64_t implementation. sh: Revised clock function in highlander sh: Update r7780mp defconfig ... commit d2aa4550379f92e929af7ed1dd4f55e6a1e331f8 Merge: 9e3e4b1 cb2107b Author: Linus Torvalds Date: Thu Jun 18 14:07:15 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (55 commits) netxen: fix tx ring accounting netxen: fix detection of cut-thru firmware mode forcedeth: fix dma api mismatches atm: sk_wmem_alloc initial value is one net: correct off-by-one write allocations reports via-velocity : fix no link detection on boot Net / e100: Fix suspend of devices that cannot be power managed TI DaVinci EMAC : Fix rmmod error net: group address list and its count ipv4: Fix fib_trie rebalancing, part 2 pkt_sched: Update drops stats in act_police sky2: version 1.23 sky2: add GRO support sky2: skb recycling sky2: reduce default transmit ring sky2: receive counter update sky2: fix shutdown synchronization sky2: PCI irq issues sky2: more receive shutdown sky2: turn off pause during shutdown ... Manually fix trivial conflict in net/core/skbuff.c due to kmemcheck commit 5c92ffb1ecc7f13267cdef5dda8a838937912c93 Author: Kenji Kaneshige Date: Wed May 13 12:23:57 2009 +0900 PCI ASPM: remove get_root_port_link By having a pointer to the root port link, we can remove loops in get_root_port_link() to search the root port link. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 3647584d9ef35c9ec4abefdbea29959c26c54f13 Author: Kenji Kaneshige Date: Wed May 13 12:23:09 2009 +0900 PCI ASPM: cleanup pcie_aspm_sanity_check Minor cleanup for pcie_aspm_sanity_check(). Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit efdf8288819df67d608a186f9d17a7d4051f3c1f Author: Kenji Kaneshige Date: Wed May 13 12:22:26 2009 +0900 PCI ASPM: remove has_switch field We don't need the 'has_switch' field in the struct pcie_link_state. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 5e0eaa7d3679c3ef8618803bc9311270e5816641 Author: Kenji Kaneshige Date: Wed May 13 12:21:48 2009 +0900 PCI ASPM: cleanup calc_Lx_latency Cleanup for calc_L0S_latency() and calc_L1_latency(). - Separate exit latency and acceptable latency calculation. - Some minor cleanups. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 7ab709910323a8af20722c066267516b3e7680a2 Author: Kenji Kaneshige Date: Wed May 13 12:20:48 2009 +0900 PCI ASPM: cleanup pcie_aspm_get_cap_device Minor cleanup for pcie_aspm_get_cap_device(). Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 430842e29d396928989c0a45e05025e988004d79 Author: Kenji Kaneshige Date: Wed May 13 12:20:10 2009 +0900 PCI ASPM: cleanup clkpm checks In the current ASPM implementation, callers of pcie_set_clock_pm() check Clock PM capability of the link or current Clock PM state of the link. This check should be done in pcie_set_clock_pm() itself. This patch moves those checks into pcie_set_clock_pm(). It also introduces pcie_set_clkpm_nocheck() that is equivalent to old pcie_set_clock_pm(), for the caller who wants to change Clocl PM state regardless of the Clock PM capability or current Clock PM state. In addition, this patch changes the function name from pcie_set_clock_pm() to pcie_set_clkpm() for consistency. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit f7ea3d7fc03753b08e267fece19c56383e6b856f Author: Kenji Kaneshige Date: Wed May 13 12:19:00 2009 +0900 PCI ASPM: cleanup __pcie_aspm_check_state_one Clean up and simplify __pcie_aspm_check_state_one(). Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8d349ace9a5c2a8404bcf4a371fe170480ffbebb Author: Kenji Kaneshige Date: Wed May 13 12:18:22 2009 +0900 PCI ASPM: cleanup initialization Clean up ASPM initialization by refactoring some functionality, renaming functions, and moving things around. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 5aa63583cbec27482c6f1d761a0509f59b7969a8 Author: Kenji Kaneshige Date: Wed May 13 12:17:44 2009 +0900 PCI ASPM: cleanup change input argument of aspm functions In the current ASPM implementation, there are many functions that take a pointer to struct pci_dev corresponding to the upstream component of the link as a parameter. But, since those functions handle PCI express link state, a pointer to struct pcie_link_state is more suitable than a pointer to struct pci_dev. Changing a parameter to a pointer to struct pcie_link_state makes ASPM code much simpler and easier to read. This patch also contains some minor cleanups. This patch doesn't have any functional change. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 5cde89d80172a393e49077d2450545b97ac8d972 Author: Kenji Kaneshige Date: Wed May 13 12:17:04 2009 +0900 PCI ASPM: cleanup misc in struct pcie_link_state Cleanup for some fields in pcie_link_state. - Add comments. - make "downstream_has_switch" field 1-bit. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 4d246e458918d469ad645fd5f937ac22982e0466 Author: Kenji Kaneshige Date: Wed May 13 12:15:38 2009 +0900 PCI ASPM: cleanup clkpm state in struct pcie_link_state The "clk_pm_capable", "clk_pm_enable" and "bios_clk_state" fields in the struct pcie_link_state only take 1-bit value. So those fields don't need to be defined as unsigned int. This patch makes those fields 1-bit, and cleans up some related code. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b6c2e54d3ea27719b920faf15db92dfe0260f0d2 Author: Kenji Kaneshige Date: Wed May 13 12:14:58 2009 +0900 PCI ASPM: cleanup latency field in struct pcie_link_state Clean up latency related data structures for ASPM. - Introduce struct acpi_latency for exit latency and acceptable latency management. With this change, struct endpoint_state is no longer needed. - We don't need to hold both upstream latency and downstream latency in the current implementation. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 80bfdbe370d56a1448c7078cd6d286b89241a72e Author: Kenji Kaneshige Date: Wed May 13 12:12:43 2009 +0900 PCI ASPM: cleanup aspm state field in struct pcie_link_state The "support_state", "enabled_state" and "bios_aspm_state" fields in the struct pcie_link_state take 2-bit value. So those fields don't need to be defined as unsigned int. This patch makes those fields 2-bit, and cleans up some related code. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit dc64cd1131a3b5762e26bd8b01dc79030dd0c555 Author: Kenji Kaneshige Date: Wed May 13 12:11:33 2009 +0900 PCI ASPM: fix typo in struct pcie_link_state Fix a typo in struct pcie_link_state. The "sibiling" field in the struct pcie_link_state should be "sibling". Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 268a03a42d3377d5fb41e6e7cbdec4e0b65cab2e Author: Alex Chiang Date: Wed Jun 17 19:03:57 2009 -0600 PCI: drivers/pci/slot.c should depend on CONFIG_SYSFS There is no way to interact with a physical PCI slot without sysfs, so encode the dependency and prevent this build error: drivers/pci/slot.c: In function 'pci_hp_create_module_link': drivers/pci/slot.c:327: error: 'module_kset' undeclared This patch _should_ make pci-sysfs.o depend on CONFIG_SYSFS too, but we cannot (yet) because the PCI core merrily assumes the existence of sysfs: drivers/built-in.o: In function `pci_bus_add_device': drivers/pci/bus.c:89: undefined reference to `pci_create_sysfs_dev_files' drivers/built-in.o: In function `pci_stop_dev': drivers/pci/remove.c:24: undefined reference to `pci_remove_sysfs_dev_files' So do the minimal bit for now and figure out how to untangle it later. Reported-by: Randy Dunlap Acked-by: Randy Dunlap Reported-by: Stephen Rothwell Fix-suggested-by: Matthew Wilcox Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 110828c9cdce6e8ec68479ced4ca0bdc1135bb91 Author: Matthew Wilcox Date: Tue Jun 16 06:31:45 2009 -0600 PCI: remove redundant __msi_set_enable() We have the 'pos' of the MSI capability at all locations which call msi_set_enable(), so pass it to msi_set_enable() instead of making it find the capability every time. Reviewed-by: Kenji Kaneshige Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 9e3e4b1d2d13bead8d52703c82a02b55f108b491 Merge: dcce284 47bece8 Author: Linus Torvalds Date: Thu Jun 18 13:14:10 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] hpwdt: Add NMI sourcing [WATCHDOG] iTCO_wdt: Fix ICH7+ reboot issue. [WATCHDOG] iTCO_wdt: fix memory corruption when RCBA is disabled by hardware [WATCHDOG] Correct WDIOF_MAGICCLOSE flag [WATCHDOG] move platform probe and remove function to devinit and devexit [WATCHDOG] Some more general cleanup [WATCHDOG] iTCO_wdt: Cleanup code commit dcce284a259373f9e5570f2e33f79eca84fcf565 Author: Benjamin Herrenschmidt Date: Thu Jun 18 13:24:12 2009 +1000 mm: Extend gfp masking to the page allocator The page allocator also needs the masking of gfp flags during boot, so this moves it out of slab/slub and uses it with the page allocator as well. Signed-off-by: Benjamin Herrenschmidt Acked-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 9729a6eb5878a3daa18395f2b5fb38bf9359a761 Merge: 5ae8606 48606a9 Author: Linus Torvalds Date: Thu Jun 18 13:11:50 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: (39 commits) md/raid5: correctly update sync_completed when we reach max_resync md/raid5: add missing call to schedule() after prepare_to_wait() md/linear: use call_rcu to free obsolete 'conf' structures. md linear: Protecting mddev with rcu locks to avoid races md: Move check for bitmap presence to personality code. md: remove chunksize rounding from common code. md: raid0/linear: ensure device sizes are rounded to chunk size. md: move assignment of ->utime so that it never gets skipped. md: Push down reconstruction log message to personality code. md: merge reconfig and check_reshape methods. md: remove unnecessary arguments from ->reconfig method. md: raid5: check stripe cache is large enough in start_reshape md: raid0: chunk_sectors cleanups. md: fix some comments. md/raid5: Use is_power_of_2() in raid5_reconfig()/raid6_reconfig(). md: convert conf->chunk_size and conf->prev_chunk to sectors. md: Convert mddev->new_chunk to sectors. md: Make mddev->chunk_size sector-based. md: raid0 :Enables chunk size other than powers of 2. md: prepare for non-power-of-two chunk sizes ... commit 5ae8606d5746bc84e19018fc3753cc1faf18843f Author: Mark Salter Date: Wed Jun 17 22:51:11 2009 +0100 MN10300: Add support for new ELF relocs in kernel modules Add support for new relocs which may show up in MN10300 kernel modules due to linker relaxation. Signed-off-by: Mark Salter Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d2829224619866daf336141b71550e223a198838 Author: Florian Fainelli Date: Wed Jun 17 16:28:38 2009 -0700 lib: add lib/gcd.c This patch adds lib/gcd.c which contains a greatest common divider implementation taken from sound/core/pcm_timer.c Several usages of this new library function will be sent to subsystem maintainers. [akpm@linux-foundation.org: use swap() (pointed out by Joe)] [akpm@linux-foundation.org: just add gcd.o to obj-y, remove Kconfig changes] Signed-off-by: Florian Fainelli Cc: Sergei Shtylyov Cc: Takashi Iwai Cc: Simon Horman Cc: Julius Volz Cc: David S. Miller Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eae9d2ba0cfc27a2ad9765f23efb98fb80d80234 Author: Rodolfo Giometti Date: Wed Jun 17 16:28:37 2009 -0700 LinuxPPS: core support This patch adds the kernel side of the PPS support currently named "LinuxPPS". PPS means "pulse per second" and a PPS source is just a device which provides a high precision signal each second so that an application can use it to adjust system clock time. Common use is the combination of the NTPD as userland program with a GPS receiver as PPS source to obtain a wallclock-time with sub-millisecond synchronisation to UTC. To obtain this goal the userland programs shoud use the PPS API specification (RFC 2783 - Pulse-Per-Second API for UNIX-like Operating Systems, Version 1.0) which in part is implemented by this patch. It provides a set of chars devices, one per PPS source, which can be used to get the time signal. The RFC's functions can be implemented by accessing to these char devices. Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Acked-by: Alan Cox Cc: Michael Kerrisk Cc: Christoph Hellwig Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8820f27ad9a5ad2a62cdcdf425d7921c31831800 Author: Jack Steiner Date: Wed Jun 17 16:28:36 2009 -0700 gru: copyright fixes Fix the copyright statements in a couple of GRU files. No functional changes are being made. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 229a0505f2c4387555318e14c80e1362be2e39f7 Author: Jack Steiner Date: Wed Jun 17 16:28:35 2009 -0700 gru: remove references to the obsolete global status handle Delete references to the SGI GRU GSH hardware resources. These GRU resources have been deleted from the hardware. (These resources have never benn used, anyway). Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b702b28addc0f9eb2f37148f0b99f546cadd30a Author: Jack Steiner Date: Wed Jun 17 16:28:34 2009 -0700 gru: fixes to grudump utility Minor fixes to the SGI GRU grudump facility: - fix address where user data is written - add gru number to data passed to user - indicate if context is locked Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1926ee85a903d189c5702eed6531be321e33eb47 Author: Jack Steiner Date: Wed Jun 17 16:28:33 2009 -0700 gru: fix potential use-after-free when purging GRU tlbs Fix potential SGI GRU bug that could cause a use-after-free. If one thread in a task is flushing the GRU and another thread destroys the GRU context, there is the potential to access a table after it has been freed. Copy the gms pointer to a local variable before unlocking the gts table. Note that no refcnt is needed for the gms - the reference is held indirectly by the task's mm_struct. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b19fcfa417cf62447413d6e8b9b6598adf00b9 Author: Jack Steiner Date: Wed Jun 17 16:28:33 2009 -0700 gru: add user request to specify gru slice Add a user request to specify the gru instruction slice parameter for user contexts. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92b39388eeb45326feb0fa8bd69dbbce66c9efbf Author: Jack Steiner Date: Wed Jun 17 16:28:32 2009 -0700 gru: generic infrastructure for context options Change the user GRU request for specifying the "task_slice" option to use a generic infrastructure that can be expanded in the future to include additional context options. No new capabilities are added with this patch. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f2501142bd3c496afa7efdf18583aab56fe3134 Author: Jack Steiner Date: Wed Jun 17 16:28:31 2009 -0700 gru: cleanup gru inline functions Cleanup of GRU inline functions to eliminate unnecessary inline code. Update function descriptions. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6471cd4d6c2526f3df693895a6bfa70353fad3f7 Author: Jack Steiner Date: Wed Jun 17 16:28:31 2009 -0700 gru: delete user request for fetching chiplet status Delete the user request for fetching the status of a GRU chiplet. This request has been made obsolete by other changes. Note: this is not a change to a user API - there are no compatibility issues with this change. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e796a72a2691d7094fd62da61097294d0d59ce4 Author: Jack Steiner Date: Wed Jun 17 16:28:30 2009 -0700 gru: collect per-context user statistics Collect GRU statistics for each user GRU context. Statistics are kept for TLB misses & content resource contention. Add user request for retrieving the statistics. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6e2fbce0d70c2072a1c478dbd37b34d27129d74 Author: Jack Steiner Date: Wed Jun 17 16:28:29 2009 -0700 gru: fix automatic retry of gru instruction failures Fix bug in automatic retry of GRU instruction failures. CBR substatus (message queue failure) was being checked incorrectly. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5826dd6002f23940458860701ce22fba9df2614 Author: Jack Steiner Date: Wed Jun 17 16:28:28 2009 -0700 gru: add user request to explicitly unload a gru context Add user function to explicitly unload GRU kernel contexts from the GRU. Only contexts that are not in-use will be unloaded. This function is primarily for testing. It is not expected that this will be used in normal production systems. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a2c09e3b41e334b6651d53b39cfe8ceefbc45f8 Author: Jack Steiner Date: Wed Jun 17 16:28:28 2009 -0700 gru: fix cache coherency issues with instruction retry Fix two problems related to GRU instruction failures. Cache coherency is not maintained for CBEs except when loading or unloading contexts. When reading a CBE to extract error information, the CBE must first be flushed from the cache. The function that reads kerrnel CBEs was reading the wrong CBE. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 270952a907220c0331fdaecbb55df892921c5e2d Author: Jack Steiner Date: Wed Jun 17 16:28:27 2009 -0700 gru: update to rev 0.9 of gru spec Update GRU driver to the latest version of the GRU spec. This consists of minor updates: - changes & additions to error status bits - new restriction on handling of TLB misses while in FMM mode - new field (not used by software) in TFH Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb5bd5e52a8eafb1ddb42f983d41f97552afa106 Author: Jack Steiner Date: Wed Jun 17 16:28:26 2009 -0700 gru: update gru kernel self tests Change the kernel self tests that can be optionally executed on GRU initialization. This is primarily for testing. Eliminate the BUG statements on failure and return bad status. Add ioctl interface to execute the tests on demand. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9120dec47f150636d85b3dba03318ccecd181c79 Author: Jack Steiner Date: Wed Jun 17 16:28:25 2009 -0700 gru: support for asynchronous gru instructions Add support for asynchronous GRU instructions. Currently, asynchronous instructions are supported only for GRU instructions issued by the kernel. [akpm@linux-foundation.org: build fix] Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7a17c1188a878e9f00e4ca8dc724c7cff17606 Author: Jack Steiner Date: Wed Jun 17 16:28:25 2009 -0700 gru: support instruction completion interrupts Add support for interrupts generated by GRU instruction completion. Previously, the only interrupts were for TLB misses. The hardware also supports interrupts on instruction completion. This will be supported for instructions issued by the kernel. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 940229b9c0dcd9b6e1d64d0d26eba00238ddae98 Author: Jack Steiner Date: Wed Jun 17 16:28:24 2009 -0700 gru: check context state on reload Check whether the gru state being loaded into a gru is from a new context or a previously unloaded context. If new, simply zero out the hardware context; if unloaded and valid, reload the old state. This change is primarily for reloading kernel contexts where the previous is not required to be saved. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b49a67a6a59f0e9f3c22e67ddb602410e8e182 Author: Jack Steiner Date: Wed Jun 17 16:28:23 2009 -0700 gru: fix handling of mesq failures Fix endcase in handling GRU message queue failures due to NACKs of PUT requests. Must ensure that the "present" bits are cleared before resending the message. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eac2e95d7bb92222e185e445eca1fe3f695050f Author: Jack Steiner Date: Wed Jun 17 16:28:23 2009 -0700 gru: support contexts with zero dsrs or cbrs Support alocation of GRU contexts that contain zero DSR or CBR resources. Some instructions do not require DSR resources. Contexts without CBR resources are useful for diagnostics. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 836ce679c0b5b5040164171afc33753396864b30 Author: Jack Steiner Date: Wed Jun 17 16:28:22 2009 -0700 gru: change resource assignment for kernel threads Change the way GRU resources are assigned for kernel threads. GRU contexts for kernel threads are now allocated on demand and can be stolen by user processes when idle. This allows MPI jobs to use ALL of the GRU resources when the kernel is not using them. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e9100741ca430eeef8022794f8b62a23a5916af Author: Jack Steiner Date: Wed Jun 17 16:28:21 2009 -0700 gru: support cch_allocate for kernel threads Change the interface to cch_allocate so that it can be used to allocate GRU contexts for kernel threads. Kernel threads use the GRU in unmapped mode and do not require ASIDs for the GRU TLB. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d57c82b10709bbb1deb7eb26cf42abcde8851e4d Author: Jack Steiner Date: Wed Jun 17 16:28:20 2009 -0700 gru: change context load and unload Remove "static" from the functions for loading/unloading GRU contexts. These functions will be called from other GRU files. Fix bug in unlocking gru context. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 364b76df80f62cee1b66e871df2f69db6e3d3d9e Author: Jack Steiner Date: Wed Jun 17 16:28:20 2009 -0700 gru: dynamic allocation of kernel contexts Change the interface to gru_alloc_gts() so that it can be used to allocate GRU contexts for kernel threads. Kernel threads do not have vdata structures for the GRU contexts. The GRU resource count are now passed explicitly instead of inside the vdata structure. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cc9b056ea51608788609d7e26c7db55ef81bb2e Author: Jack Steiner Date: Wed Jun 17 16:28:19 2009 -0700 gru: dump chiplet state Add support for dumpping the state of an entire GRU chiplet. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd1334f03f7b799bc6893b511daf2080e8f73863 Author: Jack Steiner Date: Wed Jun 17 16:28:19 2009 -0700 gru: bug fixes for GRU exception handling Bug fixes for GRU exception handling. Additional fields from the CBR must be returned to the user to allow the user to correctly diagnose GRU exceptions. Handle endcase in TFH TLB miss handling. Verify that TFH actually indicates a pending exception. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6580a9f15238b87e618310c862231ae3f352d2d Author: Neil Horman Date: Wed Jun 17 16:28:17 2009 -0700 kexec: sysrq: simplify sysrq-c handler Currently the sysrq-c handler is bit over-engineered. Its behavior is dependent on a few compile time and run time factors that alter its behavior which is really unnecessecary. If CONFIG_KEXEC is not configured, sysrq-c, crashes the system with a NULL pointer dereference. If CONFIG_KEXEC is configured, it calls crash_kexec directly, which implies that the kexec kernel will either be booted (if its been previously loaded), or it will simply do nothing (the no kexec kernel has been loaded). It would be much easier to just simplify the whole thing to dereference a NULL pointer all the time regardless of configuration. That way, it will always try to crash the system, and if a kexec kernel has been loaded into reserved space, it will still boot from the page fault trap handler (assuming panic_on_oops is set appropriately). [akpm@linux-foundation.org: build fix] Signed-off-by: Neil Horman Acked-by: Vivek Goyal Cc: Brayan Arraes Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8a06c1ef0bc45915fc45a170c7c60426971304c Author: Daniel Mack Date: Wed Jun 17 16:28:15 2009 -0700 w1-gpio: add external pull-up enable callback On embedded devices, sleep mode conditions can be tricky to handle, Especially when processors tend to pull-down the w1 bus during sleep. Bus slaves (such as the ds2760) may interpret this as a reason for power-down conditions and entirely switch off the device. This patch adds a callback function pointer to let users switch on and off the external pull-up resistor. This lets the outside world know whether the processor is currently actively driving the bus or not. When this callback is not provided, the code behaviour won't change. Signed-off-by: Daniel Mack Acked-by: Ville Syrjala Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9916219579d078c80377dd3988c2cc213536d868 Author: FUJITA Tomonori Date: Wed Jun 17 16:28:14 2009 -0700 dma-mapping: ia64: add CONFIG_DMA_API_DEBUG support Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Ingo Molnar Acked-by: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc; "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6d0a6aee252f004b06f27f74e401198f9c9ffb8 Author: FUJITA Tomonori Date: Wed Jun 17 16:28:13 2009 -0700 dma-mapping: ia64: use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Ingo Molnar Acked-by: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc; "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c095e4603dd6ce78ff5b9b70896fe3e05c13f5c Author: FUJITA Tomonori Date: Wed Jun 17 16:28:12 2009 -0700 dma-mapping: x86: use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Acked-by: Ingo Molnar Cc: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc: "David S. Miller" Cc: Catalin Marinas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c147d8ea3e2f6f953647f2347ae732fd99b32e73 Author: FUJITA Tomonori Date: Wed Jun 17 16:28:10 2009 -0700 dma-mapping: add asm-generic/dma-mapping-common.h We unified x86 and IA64's handling of multiple dma mapping operations (struct dma_map_ops in linux/dma-mapping.h) so we can remove duplication in their arch/include/asm/dma-mapping.h. This patchset adds include/asm-generic/dma-mapping-common.h that provides some generic dma mapping function definitions for the users of struct dma_map_ops. This enables us to remove about 100 lines. This also enables us to easily add CONFIG_DMA_API_DEBUG support, which only x86 supports for now. The 4th patch adds CONFIG_DMA_API_DEBUG support to IA64 by adding only 8 lines. This patch: This header file provides some mapping function definitions that the users of struct dma_map_ops can use. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Ingo Molnar Cc: "Luck, Tony" Cc: Arnd Bergmann Cc: James Bottomley Cc: "David S. Miller" Cc: Catalin Marinas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf99fb673f18408be1ebc958321ef4c3f6da9e2 Author: Peter Oberparleiter Date: Wed Jun 17 16:28:09 2009 -0700 gcov: enable GCOV_PROFILE_ALL for x86_64 Enable gcov profiling of the entire kernel on x86_64. Required changes include disabling profiling for: * arch/kernel/acpi/realmode and arch/kernel/boot/compressed: not linked to main kernel * arch/vdso, arch/kernel/vsyscall_64 and arch/kernel/hpet: profiling causes segfaults during boot (incompatible context) Signed-off-by: Peter Oberparleiter Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Rusty Russell Cc: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2521f2c228ad750701ba4702484e31d876dbc386 Author: Peter Oberparleiter Date: Wed Jun 17 16:28:08 2009 -0700 gcov: add gcov profiling infrastructure Enable the use of GCC's coverage testing tool gcov [1] with the Linux kernel. gcov may be useful for: * debugging (has this code been reached at all?) * test improvement (how do I change my test to cover these lines?) * minimizing kernel configurations (do I need this option if the associated code is never run?) The profiling patch incorporates the following changes: * change kbuild to include profiling flags * provide functions needed by profiling code * present profiling data as files in debugfs Note that on some architectures, enabling gcc's profiling option "-fprofile-arcs" for the entire kernel may trigger compile/link/ run-time problems, some of which are caused by toolchain bugs and others which require adjustment of architecture code. For this reason profiling the entire kernel is initially restricted to those architectures for which it is known to work without changes. This restriction can be lifted once an architecture has been tested and found compatible with gcc's profiling. Profiling of single files or directories is still available on all platforms (see config help text). [1] http://gcc.gnu.org/onlinedocs/gcc/Gcov.html Signed-off-by: Peter Oberparleiter Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Rusty Russell Cc: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b923606e75f1ab672e25b14ac039a1cdcfa382f Author: Peter Oberparleiter Date: Wed Jun 17 16:28:05 2009 -0700 seq_file: add function to write binary data seq_write() can be used to construct seq_files containing arbitrary data. Required by the gcov-profiling interface to synthesize binary profiling data files. Signed-off-by: Peter Oberparleiter Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Rusty Russell Cc: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7 Author: Peter Oberparleiter Date: Wed Jun 17 16:28:03 2009 -0700 kernel: constructor support Call constructors (gcc-generated initcall-like functions) during kernel start and module load. Constructors are e.g. used for gcov data initialization. Disable constructor support for usermode Linux to prevent conflicts with host glibc. Signed-off-by: Peter Oberparleiter Acked-by: Rusty Russell Acked-by: WANG Cong Cc: Sam Ravnborg Cc: Jeff Dike Cc: Andi Kleen Cc: Huang Ying Cc: Li Wei Cc: Michael Ellerman Cc: Ingo Molnar Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e24aca672ff06aff0e6a1045efab86043ea5f735 Author: GeunSik Lim Date: Wed Jun 17 16:28:02 2009 -0700 edac: Kconfig: fix the meaning of EDAC abbreviation Fix the meaning of EDAC(Error Detection And Correction) correctly. [akpm@linux-foundation.org: add missing space] Signed-off-by: GeunSik Lim Cc: Alan Cox Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20ea8fad9e5d2475c4cbbd2f8b0c88903e9584dc Author: Mike Frysinger Date: Wed Jun 17 16:28:01 2009 -0700 edac: add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Mike Frysinger Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f101a051ef054c33186abcd54b30a88afea47ef Author: Harry Ciao Date: Wed Jun 17 16:28:00 2009 -0700 edac: cpc925 MC platform device setup Fix up the number of cells for the values of CPC925 Memory Controller, and setup related platform device during system booting up, against which CPC925 Memory Controller EDAC driver would be matched. Signed-off-by: Harry Ciao Cc: Doug Thompson Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1dc9b70d7d48abd8a5c6f83021f38992f3b5a77f Author: Harry Ciao Date: Wed Jun 17 16:27:59 2009 -0700 edac: add edac_device_alloc_index() Add edac_device_alloc_index(), because for MAPLE platform there may exist several EDAC driver modules that could make use of edac_device_ctl_info structure at the same time. The index allocation for these structures should be taken care of by EDAC core. [akpm@linux-foundation.org: cleanups] Signed-off-by: Harry Ciao Cc: Doug Thompson Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a9036afffb3a174e980f90eb507c5aea6b540f6 Author: Harry Ciao Date: Wed Jun 17 16:27:58 2009 -0700 edac: add CPC925 Memory Controller driver Introduce IBM CPC925 EDAC driver, which makes use of ECC, CPU and HyperTransport Link error detections and corrections on the IBM CPC925 Bridge and Memory Controller. [akpm@linux-foundation.org: cleanup] Signed-off-by: Harry Ciao Cc: Doug Thompson Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26c369dada267d3df1beb86cf89b865ac1178a7f Author: Matt Helsley Date: Wed Jun 17 16:27:58 2009 -0700 futex: documentation: fix inconsistent description of futex list_op_pending Strictly speaking list_op_pending points to the 'lock entry', not the 'lock word' (which is actually at 'offset' from 'lock entry'). We can infer this based on reading the code in kernel/futex.c: struct robust_list __user *entry, *next_entry, *pending; ... if (fetch_robust_entry(&pending, &head->list_op_pending, &pip)) return; ... if (pending) handle_futex_death((void __user *)pending + futex_offset, curr, pip); Which is also consistent with the rest of the docs on robust futex lists. Signed-off-by: Matt Helsley Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 665c7741fb63c7ceeb515f1d1ed8b016efe65bf3 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:57 2009 -0700 ipcns: move free_ipcs() proto Function is really private to ipc/ and avoid struct kern_ipc_perm forward declaration. Signed-off-by: Alexey Dobriyan Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4188def441197d38f20e0935372780ed7c0e19d Author: Alexey Dobriyan Date: Wed Jun 17 16:27:56 2009 -0700 ipcns: make free_ipc_ns() static Signed-off-by: Alexey Dobriyan Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90af90d7d3a7411db64860c9d6e5798ff87cad08 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:56 2009 -0700 nsproxy: extract create_nsproxy() clone_nsproxy() does useless copying of old nsproxy -- every pointer will be rewritten to new ns or to old ns. Remove copying, rename clone_nsproxy(), create_nsproxy() will be used by C/R code to create fresh nsproxy on restart. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 612ce478fac2729ad564ec3f5d3c551674b8e9c2 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:55 2009 -0700 ipcns: extract create_ipc_ns() clone_ipc_ns() is misnamed, it doesn't clone anything and doesn't use passed parameter. Rename it. create_ipc_ns() will be used by C/R to create fresh ipcns. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64424289dd2e37b4800df1f7f2ef4fe550f58729 Author: Alexey Dobriyan Date: Wed Jun 17 16:27:54 2009 -0700 ipcns: remove useless get/put while CLONE_NEWIPC copy_ipcs() doesn't actually copy anything. If new ipcns is created, it's created from scratch, in this case get/put on old ipcns isn't needed. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c2a7e72d5937c6a112141c7ff3df0727b3cf3df Author: Alexey Dobriyan Date: Wed Jun 17 16:27:54 2009 -0700 utsns: extract creeate_uts_ns() create_uts_ns() will be used by C/R to create fresh uts_ns. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dca4a979604da1bac6956c0117abc2114d6dd3ec Author: Alexey Dobriyan Date: Wed Jun 17 16:27:53 2009 -0700 pidns: rewrite copy_pid_ns() copy_pid_ns() is a perfect example of a case where unwinding leads to more code and makes it less clear. Watch the diffstat. Signed-off-by: Alexey Dobriyan Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Reviewed-by: Serge Hallyn Acked-by: Sukadev Bhattiprolu Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed469a63c37a996fa2c7041d2dc980715707902c Author: Alexey Dobriyan Date: Wed Jun 17 16:27:52 2009 -0700 pidns: make create_pid_namespace() accept parent pidns create_pid_namespace() creates everything, but caller has to assign parent pidns by hand, which is unnatural. At the moment of call new ->level has to be taken from somewhere and parent pidns is already available. Signed-off-by: Alexey Dobriyan Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Acked-by: Serge Hallyn Acked-by: Sukadev Bhattiprolu Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17f98dcf6010a1cfd25d179fd0ce77d3dc2685c3 Author: Christoph Hellwig Date: Wed Jun 17 16:27:51 2009 -0700 pids: clean up find_task_by_pid variants find_task_by_pid_type_ns is only used to implement find_task_by_vpid and find_task_by_pid_ns, but both of them pass PIDTYPE_PID as first argument. So just fold find_task_by_pid_type_ns into find_task_by_pid_ns and use find_task_by_pid_ns to implement find_task_by_vpid. While we're at it also remove the exports for find_task_by_pid_ns and find_task_by_vpid - we don't have any modular callers left as the only modular caller of he old pre pid namespace find_task_by_pid (gfs2) was switched to pid_task which operates on a struct pid pointer instead of a pid_t. Given the confusion about pid_t values vs namespace that's generally the better option anyway and I think we're better of restricting modules to do it that way. Signed-off-by: Christoph Hellwig Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7338f29984114066b00da343a22876bb08259a84 Author: Sukanto Ghosh Date: Wed Jun 17 16:27:50 2009 -0700 sysctl.c: remove unused variable Remoce the unused variable 'val' from __do_proc_dointvec() The integer has been declared and used as 'val = -val' and there is no reference to it anywhere. Signed-off-by: Sukanto Ghosh Cc: Jaswinder Singh Rajput Cc: Sukanto Ghosh Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fc401e426e8a4c719035ef86d051bd0d1111e5 Author: Michael Buesch Date: Wed Jun 17 16:27:49 2009 -0700 ppdev: reduce kernel log spam One of my programs frequently grabs the parport, does something with it and then drops it again. This results in spamming of the kernel log with "... registered pardevice" "... unregistered pardevice" These messages are completely useless, except for debugging ppdev, probably. So put them under DEBUG (or dynamic debug). Signed-off-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9653a69e923522050e15dab042b163dcc2ed7111 Author: Jiri Slaby Date: Wed Jun 17 16:27:48 2009 -0700 Char: isicom: fix build warning Fix this: isicom.c: In function `isicom_probe': isicom.c:1587: warning: `signature' may be used uninitialized in this function by uninitialized_var(), because if the signature is not initialized in reset_card(), we won't use it. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f47befdd7483cd1e14a7ae76ef22f7f9722c90 Author: Adriano dos Santos Fernandes Date: Wed Jun 17 16:27:48 2009 -0700 drivers/char/mem.c: memory_open() cleanup: lookup minor device number from devlist memory_open() ignores devlist and does a switch for each item, duplicating code and conditional definitions. Clean it up by adding backing_dev_info to devlist and use it to lookup for the minor device. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Adriano dos Santos Fernandes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a985fbb18c1600955124a1efd2343efa867549 Author: Arnd Bergmann Date: Wed Jun 17 16:27:46 2009 -0700 ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h The definition of ipc_parse_version depends on __ARCH_WANT_IPC_PARSE_VERSION, but the header file declares it conditionally based on the architecture. Use the macro consistently to make it easier to add new architectures. Signed-off-by: Arnd Bergmann Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 371cbb387e33651b4c1326457116568ff01ac422 Author: Oleg Nesterov Date: Wed Jun 17 16:27:45 2009 -0700 kthreads: simplify migration_thread() exit path Now that kthread_stop() can be used even if the task has already exited, we can kill the "wait_to_die:" loop in migration_thread(). But we must pin rq->migration_thread after creation. Actually, I don't think CPU_UP_CANCELED or CPU_DEAD should wait for ->migration_thread exit. Perhaps we can simplify this code a bit more. migration_call() can set ->should_stop and forget about this thread. But we need a new helper in kthred.c for that. Signed-off-by: Oleg Nesterov Cc: Christoph Hellwig Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Pavel Emelyanov Cc: Rusty Russell Cc: Vitaliy Gusev Signed-off-by: Linus Torvalds commit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 Author: Oleg Nesterov Date: Wed Jun 17 16:27:45 2009 -0700 kthreads: rework kthread_stop() Based on Eric's patch which in turn was based on my patch. kthread_stop() has the nasty problems: - it runs unpredictably long with the global semaphore held. - it deadlocks if kthread itself does kthread_stop() before it obeys the kthread_should_stop() request. - it is not useable if kthread exits on its own, see for example the ugly "wait_to_die:" hack in migration_thread() - it is not possible to just tell kthread it should stop, we must always wait for its exit. With this patch kthread() allocates all neccesary data (struct kthread) on its own stack, globals kthread_stop_xxx are deleted. ->vfork_done is used as a pointer into "struct kthread", this means kthread_stop() can easily wait for kthread's exit. Signed-off-by: Oleg Nesterov Cc: Christoph Hellwig Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Pavel Emelyanov Cc: Rusty Russell Cc: Vitaliy Gusev Signed-off-by: Linus Torvalds commit cdd140bdd6c7bc6395f08877a73c39941501af93 Author: Oleg Nesterov Date: Wed Jun 17 16:27:43 2009 -0700 kthreads: simplify the startup synchronization We use two completions two create the kernel thread, this is a bit ugly. kthread() wakes up create_kthread() via ->started, then create_kthread() wakes up the caller kthread_create() via ->done. But kthread() does not need to wait for kthread(), it can just return. Instead kthread() itself can wake up the caller of kthread_create(). Kill kthread_create_info->started, ->done is enough. This improves the scalability a bit and sijmplifies the code. The only problem if kernel_thread() fails, in that case create_kthread() must do complete(&create->done). Signed-off-by: Oleg Nesterov Cc: Christoph Hellwig Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Pavel Emelyanov Cc: Rusty Russell Cc: Vitaliy Gusev Signed-off-by: Linus Torvalds commit e1eb1ebcca871673c76caf63335c4237680040f1 Author: Richard Kennedy Date: Wed Jun 17 16:27:42 2009 -0700 mm: exit.c reorder wait_opts to remove padding on 64 bit builds Reorder struct wait_opts to remove 8 bytes of alignment padding on 64 bit builds. Signed-off-by: Richard Kennedy Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f95d39d10fe7d47336e65172f52bf64e0096f983 Author: Oleg Nesterov Date: Wed Jun 17 16:27:42 2009 -0700 do_wait: fix the theoretical race with stop/trace/cont do_wait: current->state = TASK_INTERRUPTIBLE; read_lock(&tasklist_lock); ... search for the task to reap ... In theory, the ->state changing can leak into the critical section. Since the child can change its status under read_lock(tasklist) in parallel (finish_stop/ptrace_stop), we can miss the wakeup if __wake_up_parent() sees us in TASK_RUNNING state. Add the barrier. Also, use __set_current_state() to set TASK_RUNNING. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f6dfb7295facb0505b5beca5a7ce48b0612379 Author: Oleg Nesterov Date: Wed Jun 17 16:27:41 2009 -0700 do_wait: kill the old BUG_ON, use while_each_thread() do_wait() does BUG_ON(tsk->signal != current->signal), this looks like a raher obsolete check. At least, I don't think do_wait() is the best place to verify that all threads have the same ->signal. Remove it. Also, change the code to use while_each_thread(). Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64a16caf5e3417ee32f670debcb5857b02a9e08e Author: Oleg Nesterov Date: Wed Jun 17 16:27:40 2009 -0700 do_wait: simplify retval/tsk_result/notask_error mess Now that we don't pass &retval down to other helpers we can simplify the code more. - kill tsk_result, just use retval - add the "notask" label right after the main loop, and s/got end/goto notask/ after the fastpath pid check. This way we don't need to initialize retval before this check and the code becomes a bit more clean, if this pid has no attached tasks we should just skip the list search. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e8ae01d1c86dcaa6443c897662545d088036e4c Author: Oleg Nesterov Date: Wed Jun 17 16:27:39 2009 -0700 introduce "struct wait_opts" to simplify do_wait() patches Introduce "struct wait_opts" which holds the parameters for misc helpers in do_wait() pathes. This adds 13 lines to kernel/exit.c, but saves 256 bytes from .o and imho makes the code much more readable. This patch temporary uglifies rusage/siginfo code a little bit, will be addressed by further cleanups. Signed-off-by: Oleg Nesterov Reviewed-by: Ingo Molnar Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47918025efdabd34e96b13b26eb2cf2fd6fd1f7c Author: Oleg Nesterov Date: Wed Jun 17 16:27:39 2009 -0700 shift "ptrace implies WUNTRACED" from ptrace_do_wait() to wait_task_stopped() No functional changes, preparation for the next patch. ptrace_do_wait() adds WUNTRACED to options for wait_task_stopped() which should always accept the stopped tracee, even if do_wait() was called without WUNTRACED. Change wait_task_stopped() to check "ptrace || WUNTRACED" instead. This makes the code more explicit, and "int options" argument becomes const in do_wait() pathes. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b34fc5880a2dcc7e5ed9837ef8d6bae051ab266 Author: Oleg Nesterov Date: Wed Jun 17 16:27:38 2009 -0700 elf_core_dump: use rcu_read_lock() to access ->real_parent In theory it is not safe to dereference ->parent/real_parent without tasklist or rcu lock, we can race with re-parenting. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72a1de39f89325a834a8c70b2a0d8f71d919f640 Author: Oleg Nesterov Date: Wed Jun 17 16:27:37 2009 -0700 copy_process(): remove the unneeded clear_tsk_thread_flag(TIF_SIGPENDING) The forked child can have TIF_SIGPENDING if it was copied from parent's ti->flags. But this is harmless and actually almost never happens, because copy_process() can't succeed if signal_pending() == T. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77d1ef79568b337f599b75795acc8f78a87ba9ba Author: Oleg Nesterov Date: Wed Jun 17 16:27:36 2009 -0700 wait_task_zombie: do not use thread_group_cputime() There is no reason for thread_group_cputime() in wait_task_zombie(), there must be no other threads. This call was previously needed to collect the per-cpu data which we do not have any longer. Signed-off-by: Oleg Nesterov Cc: Peter Zijlstra Acked-by: Roland McGrath Cc: Stanislaw Gruszka Cc: Vitaly Mayatskikh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e49612544c695117644af48bb4625264a3d2918f Author: Oleg Nesterov Date: Wed Jun 17 16:27:36 2009 -0700 ptrace: don't take tasklist to get/set ->last_siginfo Change ptrace_getsiginfo/ptrace_setsiginfo to use lock_task_sighand() without tasklist_lock. Perhaps it makes sense to make a single helper with "bool rw" argument. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d92656633b8352c6d4b14afcb7beb154d76e7aa6 Author: Oleg Nesterov Date: Wed Jun 17 16:27:35 2009 -0700 ptrace: do_notify_parent_cldstop: fix the wrong ->nsproxy usage If the non-traced sub-thread calls do_notify_parent_cldstop(), we send the notification to group_leader->real_parent and we report group_leader's pid. But, if group_leader is traced we use the wrong ->parent->nsproxy->pid_ns, the tracer and parent can live in different namespaces. Change the code to use "parent" instead of tsk->parent. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1e98f429aa10132b3010ba3b0be47552a2eb14b Author: Oleg Nesterov Date: Wed Jun 17 16:27:34 2009 -0700 ptrace: wait_task_zombie: s/->parent/->real_parent/ Change wait_task_zombie() to use ->real_parent instead of ->parent. We could even use current afaics, but ->real_parent is more clean. We know that the child is not ptrace_reparented() and thus they are equal. But we should avoid using task_struct->parent, we are going to remove it. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8053bdd5ce15dcf043d41a4dd6cac4a5567effdc Author: Oleg Nesterov Date: Wed Jun 17 16:27:34 2009 -0700 ptrace_get_task_struct: s/tasklist/rcu/, make it static - Use rcu_read_lock() instead of tasklist_lock to find/get the task in ptrace_get_task_struct(). - Make it static, it has no callers outside of ptrace.c. - The comment doesn't match the reality, this helper does not do any checks. Beacuse it is really trivial and static I removed the whole comment. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b105cbbaf7c06e01c27391957dc3c446328d087 Author: Oleg Nesterov Date: Wed Jun 17 16:27:33 2009 -0700 ptrace: do not use task_lock() for attach Remove the "Nasty, nasty" lock dance in ptrace_attach()/ptrace_traceme() - from now task_lock() has nothing to do with ptrace at all. With the recent changes nobody uses task_lock() to serialize with ptrace, but in fact it was never needed and it was never used consistently. However ptrace_attach() calls __ptrace_may_access() and needs task_lock() to pin task->mm for get_dumpable(). But we can call __ptrace_may_access() before we take tasklist_lock, ->cred_exec_mutex protects us against do_execve() path which can change creds and MMF_DUMP* flags. (ugly, but we can't use ptrace_may_access() because it hides the error code, so we have to take task_lock() and use __ptrace_may_access()). NOTE: this change assumes that LSM hooks, security_ptrace_may_access() and security_ptrace_traceme(), can be called without task_lock() held. Signed-off-by: Oleg Nesterov Cc: Chris Wright Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2f0b00ad61d53adfecb8bdf8f3cf8f05f6ed548 Author: Oleg Nesterov Date: Wed Jun 17 16:27:32 2009 -0700 ptrace: cleanup check/set of PT_PTRACED during attach ptrace_attach() and ptrace_traceme() are the last functions which look as if the untraced task can have task->ptrace != 0, this must not be possible. Change the code to just check ->ptrace != 0 and s/|=/=/ to set PT_PTRACED. Also, a couple of trivial whitespace cleanups in ptrace_attach(). And move ptrace_traceme() up near ptrace_attach() to keep them close to each other. Signed-off-by: Oleg Nesterov Cc: Chris Wright Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b79b7ba93df14a1fc0b8d4d6d78a0e097de03bbd Author: Oleg Nesterov Date: Wed Jun 17 16:27:31 2009 -0700 ptrace: ptrace_attach: check PF_KTHREAD + exit_state instead of ->mm - Add PF_KTHREAD check to prevent attaching to the kernel thread with a borrowed ->mm. With or without this change we can race with daemonize() which can set PF_KTHREAD or clear ->mm after ptrace_attach() does the check, but this doesn't matter because reparent_to_kthreadd() does ptrace_unlink(). - Kill "!task->mm" check. We don't really care about ->mm != NULL, and the task can call exit_mm() right after we drop task_lock(). What we need is to make sure we can't attach after exit_notify(), check task->exit_state != 0 instead. Also, move the "already traced" check down for cosmetic reasons. Signed-off-by: Oleg Nesterov Cc: Chris Wright Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cb11446892833e50970fb2277a9f7563b0a8bd3 Author: Oleg Nesterov Date: Wed Jun 17 16:27:30 2009 -0700 ptrace: do not use task->ptrace directly in core kernel No functional changes. - Nobody except ptrace.c & co should use ptrace flags directly, we have task_ptrace() for that. - No need to specially check PT_PTRACED, we must not have other PT_ bits set without PT_PTRACED. And no need to know this flag exists. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c216279539bd65c5a3d497e25d441dbddbcf1ec Author: Oleg Nesterov Date: Wed Jun 17 16:27:29 2009 -0700 ptrace: tracehook_unsafe_exec(): remove the stale comment tracehook_unsafe_exec() doesn't need task_lock(), remove the old comment. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dea33cfd99022d82d923a0c6a3bd895fb6683fb2 Author: Oleg Nesterov Date: Wed Jun 17 16:27:29 2009 -0700 ptrace: mm_need_new_owner: use ->real_parent to search in the siblings "Search in the siblings" should use ->real_parent, not ->parent. If the task is traced then ->parent == tracer, while the task's parent is always ->real_parent. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48597760fad3d6a3e30a14241a3ce5ccb1a0e9bc Author: Oleg Nesterov Date: Wed Jun 17 16:27:27 2009 -0700 ptrace: remove PT_DTRACE from arch/m32r m32r: PTRACE_SINGLESTEP sets PT_DTRACE, it is never used except cleared after do_execve(). Signed-off-by: Oleg Nesterov Acked-by: Hirokazu Takata Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d35f8464dd51466e60447625784cf1740f03ff4 Author: Oleg Nesterov Date: Wed Jun 17 16:27:27 2009 -0700 ptrace: remove PT_DTRACE from m68k, m68knommu m68k sets PT_DTRACE in trap_c() but never uses it. Signed-off-by: Oleg Nesterov Acked-by: Geert Uytterhoeven Acked-by: Greg Ungerer Cc: Roman Zippel Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bba7fc0a21d76ef951cdac6d11896dc6b5a9ffa7 Author: Oleg Nesterov Date: Wed Jun 17 16:27:25 2009 -0700 ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa avr32, mn10300, parisc, s390, sh, xtensa: They never set PT_DTRACE, but clear it after do_execve(). Signed-off-by: Oleg Nesterov Cc: David Howells Acked-by: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Acked-by: Martin Schwidefsky Cc: Heiko Carstens Acked-by: Paul Mundt Acked-by: Chris Zankel Acked-by: Roland McGrath Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02e787494ada6026074189c5268b88b7ca5cd595 Author: Oleg Nesterov Date: Wed Jun 17 16:27:23 2009 -0700 ptrace: remove PT_DTRACE from arch/h8300 h8300 defines PT_DTRACE for asm but never uses it. DEFINE(PT_PTRACED, PT_PTRACED) seems to be unused too. Signed-off-by: Oleg Nesterov Acked-by: Yoshinori Sato Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87245135d5057edd5a8037131f81eeffd76d4fef Author: Oleg Nesterov Date: Wed Jun 17 16:27:23 2009 -0700 allow_signal: kill the bogus ->mm check, add a note about CLONE_SIGHAND allow_signal() checks ->mm == NULL. Not sure why. Perhaps to make sure current is the kernel thread. But this helper must not be used unless we are the kernel thread, kill this check. Also, document the fact that the CLONE_SIGHAND kthread must not use allow_signal(), unless the caller really wants to change the parent's ->sighand->action as well. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ffebca6aa7e1687905c842dd8c5c1e811e574e7 Author: KAMEZAWA Hiroyuki Date: Wed Jun 17 16:27:21 2009 -0700 memcg: fix lru rotation in isolate_pages Try to fix memcg's lru rotation sanity: make memcg use the same logic as the global LRU does. Now, at __isolate_lru_page() retruns -EBUSY, the page is rotated to the tail of LRU in global LRU's isolate LRU pages. But in memcg, it's not handled. This makes memcg do the same behavior as global LRU and rotate LRU in the page is busy. Signed-off-by: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Acked-by: Daisuke Nishimura Cc: Balbir Singh Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5b947b28828e82814605824e5db0bc58d66d8c0 Author: Daisuke Nishimura Date: Wed Jun 17 16:27:20 2009 -0700 memcg: add interface to reset limits We don't have an interface to reset mem.limit or memsw.limit now. This patch allows to reset mem.limit or memsw.limit when they are being set to -1. Signed-off-by: Daisuke Nishimura Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a668d7c3ef833e7d67e9cef587ecc78069d532 Author: KAMEZAWA Hiroyuki Date: Wed Jun 17 16:27:19 2009 -0700 memcg: fix behavior under memory.limit equals to memsw.limit A user can set memcg.limit_in_bytes == memcg.memsw.limit_in_bytes when the user just want to limit the total size of applications, in other words, not very interested in memory usage itself. In this case, swap-out will be done only by global-LRU. But, under current implementation, memory.limit_in_bytes is checked at first and try_to_free_page() may do swap-out. But, that swap-out is useless for memsw.limit_in_bytes and the thread may hit limit again. This patch tries to fix the current behavior at memory.limit == memsw.limit case. And documentation is updated to explain the behavior of this special case. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a9478ca7f4bcb8945cec7f95d52dae2d5e50cbd Author: KAMEZAWA Hiroyuki Date: Wed Jun 17 16:27:17 2009 -0700 memcg: fix swap accounting This patch fixes mis-accounting of swap usage in memcg. In the current implementation, memcg's swap account is uncharged only when swap is completely freed. But there are several cases where swap cannot be freed cleanly. For handling that, this patch changes that memcg uncharges swap account when swap has no references other than cache. By this, memcg's swap entry accounting can be fully synchronous with the application's behavior. This patch also changes memcg's hooks for swap-out. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Acked-by: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20ebcdda78a282d1d5266887ddf8a2d670182576 Author: Li Zefan Date: Wed Jun 17 16:27:16 2009 -0700 memcg: remove unneeded forward declaration from sched.h This forward declaration seems pointless. Signed-off-by: Li Zefan Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 338c843108bf5030d6765f4405126e70f8b77845 Author: Li Zefan Date: Wed Jun 17 16:27:15 2009 -0700 memcg: remove some redundant checks We don't need to check do_swap_account in the case that the function which checks do_swap_account will never get called if do_swap_account == 0. Signed-off-by: Li Zefan Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 302362c5abdda80b5c2e4e57be610c2e3c2ab3c5 Author: Daisuke Nishimura Date: Wed Jun 17 16:27:15 2009 -0700 memcg: remove mem_cgroup_cache_charge_swapin() mem_cgroup_cache_charge_swapin() isn't used any more, so remove no-op definition of it in header file. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d69b042f3d7406ddba560143b1796020df760800 Author: Balbir Singh Date: Wed Jun 17 16:26:34 2009 -0700 memcg: add file-based RSS accounting Add file RSS tracking per memory cgroup We currently don't track file RSS, the RSS we report is actually anon RSS. All the file mapped pages, come in through the page cache and get accounted there. This patch adds support for accounting file RSS pages. It should 1. Help improve the metrics reported by the memory resource controller 2. Will form the basis for a future shared memory accounting heuristic that has been proposed by Kamezawa. Unfortunately, we cannot rename the existing "rss" keyword used in memory.stat to "anon_rss". We however, add "mapped_file" data and hope to educate the end user through documentation. [hugh.dickins@tiscali.co.uk: fix mem_cgroup_update_mapped_file_stat oops] Signed-off-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Dhaval Giani Cc: Daisuke Nishimura Cc: YAMAMOTO Takashi Cc: KOSAKI Motohiro Cc: David Rientjes Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd5008196f7e583f4c558531a2bca59f6c674c5b Author: Li Zefan Date: Wed Jun 17 16:26:33 2009 -0700 devcgroup: skip superfluous checks when found the DEV_ALL elem While walking through the whitelist, if the DEV_ALL item is found, no more check is needed. Signed-off-by: Li Zefan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9ab5b5b0f5be506640321d710b0acd3dca6154a Author: Li Zefan Date: Wed Jun 17 16:26:33 2009 -0700 cgroups: forbid noprefix if mounting more than just cpuset subsystem The 'noprefix' option was introduced for backwards-compatibility of cpuset, but actually it can be used when mounting other subsystems. This results in possibility of name collision, and now the collision can really happen, because we have 'stat' file in both memory and cpuacct subsystem: # mount -t cgroup -o noprefix,memory,cpuacct xxx /mnt Cgroup will happily mount the 2 subsystems, but only 'stat' file of memory subsys can be seen. We don't want users to use nopreifx, and also want to avoid name collision, so we change to allow noprefix only if mounting just the cpuset subsystem. [akpm@linux-foundation.org: fix shift for cpuset_subsys_id >= 32] Signed-off-by: Li Zefan Cc: Paul Menage Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Acked-by: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca739e3694b83cdf22be0f6eff063e721deb1e4 Author: Randy Dunlap Date: Wed Jun 17 16:26:32 2009 -0700 cgroups: make messages more readable Fix some cgroup messages to read better. Update MAINTAINERS to include mm/*cgroup* files. Signed-off-by: Randy Dunlap Cc: Paul Menage Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f06c6f4ba2ff450b134b82a3285a26f232a2c1 Author: Jaswinder Singh Rajput Date: Wed Jun 17 16:26:30 2009 -0700 Documentation/connector/cn_test.c comment unused cn_test_want_notify() Currently cn_test_want_notify() has no user. So add an ifdef and a comment which tells us to not remove it. Signed-off-by: Jaswinder Singh Rajput Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 082196242e24ff13354a2d376b275e01c08e6799 Author: Jose Luis Perez Diez Date: Wed Jun 17 16:26:30 2009 -0700 Documentation/Changes: perl is needed to build the kernel Perl is used on the kernel Makefile to generate documentation, firmwares in c source form, sources, graphs, and some headers and this fact is undocumented. [akpm@linux-foundation.org: 80-columns, please] Signed-off-by: Jose Luis Perez Diez Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d965fe0eb435b3f9a10538815f6a68de0aef03c Author: Jeff Mahoney Date: Wed Jun 17 16:26:29 2009 -0700 reiserfs: fix warnings with gcc 4.4 Several code paths in reiserfs have a construct like: if (is_direntry_le_ih(ih = B_N_PITEM_HEAD(src, item_num))) ... which, in addition to being ugly, end up causing compiler warnings with gcc 4.4.0. Previous compilers didn't issue a warning. fs/reiserfs/do_balan.c:1273: warning: operation on `aux_ih' may be undefined fs/reiserfs/lbalance.c:393: warning: operation on `ih' may be undefined fs/reiserfs/lbalance.c:421: warning: operation on `ih' may be undefined fs/reiserfs/lbalance.c:777: warning: operation on `ih' may be undefined I believe this is due to the ih being passed to macros which evaluate the argument more than once. This is old code and we haven't seen any problems with it, but this patch eliminates the warnings. It converts the multiple evaluation macros to static inlines and does a preassignment for the cases that were causing the warnings because that code is just ugly. Reported-by: Chris Mason Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37044c86baf8cb894c69bb811e35a7f6f6dbce1c Author: Roel Kluin Date: Wed Jun 17 16:26:28 2009 -0700 ufs: sector_t cannot be negative unsigned i_block,fragment cannot be negative. Signed-off-by: Roel Kluin Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5404ac8e4418ab3d254950ee4f9bcafc1da20b4a Author: Jan Kara Date: Wed Jun 17 16:26:27 2009 -0700 isofs: cleanup mount option processing Remove unused variables from isofs_sb_info (used to be some mount options), unify variables for option to use 0/1 (some options used 'y'/'n'), use bit fields for option flags in superblock. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c4a656b7e51503c2b5e7e7310ec326ee38a8389 Author: Jan Kara Date: Wed Jun 17 16:26:27 2009 -0700 isofs: fix setting of uid and gid to 0 isofs allows setting of default uid and gid of files but value 0 was used to indicate that user did not specify any uid/gid mount option. Since this option also overrides uid/gid set in Rock Ridge extension, it makes sense to allow forcing uid/gid 0. Fix option processing to allow this. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52b680c81238ea14693ab893d5d32a4d1c0a987d Author: Jan Kara Date: Wed Jun 17 16:26:25 2009 -0700 isofs: let mode and dmode mount options override rock ridge mode setting So far, permissions set via 'mode' and/or 'dmode' mount options were effective only if the medium had no rock ridge extensions (or was mounted without them). Add 'overriderockmode' mount option to indicate that these options should override permissions set in rock ridge extensions. Maybe this should be default but the current behavior is there since mount options were created so I think we should not change how they behave. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef43618a47179b41e7203a624f2c7445e7da488c Author: Jan Kara Date: Wed Jun 17 16:26:24 2009 -0700 ext3: make sure inode is deleted from orphan list after truncate As Ted pointed out, it can happen that ext3_truncate() returns without removing inode from orphan list. This way we could in some rare cases (like when we get ENOMEM from an allocation in ext3_truncate called because of failed ext3_write_begin) leave the inode on orphan list and that triggers assertion failure on umount. So make ext3_truncate() always remove inode from in-memory orphan list. Cc: Theodore Ts'o Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f3f1cb21f08fbf757bbbbb0709ee515a7a7c6ad Author: Hisashi Hifumi Date: Wed Jun 17 16:26:23 2009 -0700 jbd: clean up journal_try_to_free_buffers() I delete the following patch "commit 3f31fddfa26b7594b44ff2b34f9a04ba409e0f91 Author: Mingming Cao Date: Fri Jul 25 01:46:22 2008 -0700 jbd: fix race between free buffer and commit transaction This patch is no longer needed because if race between freeing buffer and committing transaction functionality occurs and dio gets error, currently dio falls back to buffered IO by the following patch. commit 6ccfa806a9cfbbf1cd43d5b6aa47ef2c0eb518fd Author: Hisashi Hifumi Date: Tue Sep 2 14:35:40 2008 -0700 VFS: fix dio write returning EIO when try_to_release_page fails Signed-off-by: Hisashi Hifumi Cc: Theodore Tso Cc: Mingming Cao Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8ef7aaea79a899be4d7f50e829900c0ce15e52f Author: Jan Kara Date: Wed Jun 17 16:26:23 2009 -0700 ext3: fix chain verification in ext3_get_blocks() Chain verification in ext3_get_blocks() has been hosed since it called verify_chain(chain, NULL) which always returns success. As a result readers could in theory race with truncate. On the other hand the race probably cannot happen with the current locking scheme, since by the time ext3_truncate() is called all the pages are already removed and hence get_block() shouldn't be called on such pages... Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce05b2a9db1d86635a906f14427deff97eeb6183 Author: Michael Shields Date: Wed Jun 17 16:26:22 2009 -0700 Doc fix: ext2 can only have 32,000 subdirs, not 32,768 ext2.txt says that dirs can have 32,768 subdirs, but the actual value of EXT2_LINK_MAX is 32000. ext3 is the same, but the doc does not mention it. One of ext4's features is to "fix 32000 subdirectory limit". Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39fe7557b4d6ab82bafaa7b92b98b806afe6ad0d Author: Jan Kara Date: Wed Jun 17 16:26:20 2009 -0700 ext2: Do not update mtime of a moved directory One of our users is complaining that his backup tool is upset on ext2 (while it's happy on ext3, xfs, ...) because of the mtime change. The problem is: mkdir foo mkdir bar mkdir foo/a Now under ext2: mv foo/a foo/b changes mtime of 'foo/a' (foo/b after the move). That does not really make sense and it does not happen under any other filesystem I've seen. More complicated is: mv foo/a bar/a This changes mtime of foo/a (bar/a after the move) and it makes some sense since we had to update parent directory pointer of foo/a. But again, no other filesystem does this. So after some thoughts I'd vote for consistency and change ext2 to behave the same as other filesystems. Do not update mtime of a moved directory. Specs don't say anything about it (neither that it should, nor that it should not be updated) and other common filesystems (ext3, ext4, xfs, reiserfs, fat, ...) don't do it. So let's become more consistent. Spotted by ronny.pretzsch@dfs.de, initial fix by Jörn Engel. Reported-by: Cc: Cc: Jörn Engel Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10dfb54cd59a18786e43137a935277ca743bb54b Author: Nate Case Date: Wed Jun 17 16:26:18 2009 -0700 gpio: pca953x: Add support for PCA9556 PCA9556 is the software-compatible predecessor to the PCA9557, so add it to the supported I2C device ID table. Signed-off-by: Nate Case Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1965d30356c1c65660ba3330927671cfe81acdd5 Author: Nate Case Date: Wed Jun 17 16:26:17 2009 -0700 gpio: pca953x: Get platform_data from OpenFirmware On OpenFirmware platforms, it makes the most sense to get platform_data from the device tree. Make an attempt to translate OF node properties into platform_data struct before bailing out. Note that the implementation approach taken differs from other device drivers that make use of device tree information. This is because I2C chips are already registered automatically by of_i2c, so we can get by with a small translator function in the driver. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: kfree(NULL) is legal] Signed-off-by: Nate Case Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de3483b071d9f75490f52c1be78434ac4eeccea5 Author: Mike Frysinger Date: Wed Jun 17 16:26:16 2009 -0700 gpio: max7301: add missing __devexit marking The remove member of the spi_driver max7301_driver uses __devexit_p(), so the remove function itself should be marked with __devexit. Even more so considering the probe function is marked with __devinit. Signed-off-by: Mike Frysinger Acked-by: Juergen Beisert Cc: Dmitry Baryshkov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77906a546127e056dbdac618a7afb5b92d00c058 Author: Daniel Silverstone Date: Wed Jun 17 16:26:15 2009 -0700 pca953x: support GPIOLIB GPIO naming Add support to the PCA953x driver to use the GPIOLIB naming facility for GPIOs. Signed-off-by: Daniel Silverstone Cc: Ben Gardner Cc: Jean Delvare Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bfa58dd4ac8b07b28d4d48780fd44ee6215562b Author: Mike Frysinger Date: Wed Jun 17 16:26:14 2009 -0700 drivers/char/rtc: disable legacy RTC driver on Blackfin systems Blackfin platforms do not support the hardware which this driver drives. Signed-off-by: Mike Frysinger Cc: Christoph Hellwig Cc: Paul Mundt Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 014b6e90a38a8e7e0bfeb2ef47608559ccdd61fa Author: Atsushi Nemoto Date: Wed Jun 17 16:26:13 2009 -0700 rtc-ds1553: drop IRQF_SHARED IRQF_SHARED should not be used with IRQF_DISABLED. There is no in-tree user of this driver and only out-of-tree user I know uses a dedicated irq line for this RTC. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a817f7f5d95e8dde1b1ef57bd7c0a1fa7118268 Author: Atsushi Nemoto Date: Wed Jun 17 16:26:12 2009 -0700 rtc-tx4939: drop IRQF_SHARED IRQF_SHARED should not be used with IRQF_DISABLED. This RTC have a dedicated irq line to SoC's internal interrupt controller so there is no reason to use IRQF_SHARED. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c2b9075cbdb541dbe486bde45925c9610de6f35 Author: Wolfgang Grandegger Date: Wed Jun 17 16:26:11 2009 -0700 rtc: add stand-alone driver for RX8025 chip Add support for the Epson RX-8025SA/NB RTC chips. It includes support for alarms, periodic interrupts (1 Hz) and clock precision adjustment. For clock precision adjustment, the SYSFS file "clock_adjust_ppb" gets created in "/sys/class/rtc/rtcX/device". It permits to set and get the clock adjustment in ppb (parts per billion), e.g.: # echo -183000 > /sys/class/rtc/rtc0/device/clock_adjust_ppb # cat /sys/class/rtc/rtc0/device/clock_adjust_ppb -183000 This allows to compensate temperature dependent clock drifts. According to the RX8025 SA/NB application manual the frequency and temperature characteristics can be approximated using the following equation: df = a * (ut - t)**2 df: Frequency deviation in any temperature a : Coefficient = (-35 +-5) * 10**-9 ut: Ultimate temperature in degree = +25 +-5 degree t : Any temperature in degree Signed-off-by: Wolfgang Grandegger Signed-off-by: Sergei Poselenov Signed-off-by: Yuri Tikhonov Signed-off-by: Dmitry Rakhchev Signed-off-by: Matthias Fuchs Acked-by: Jean Delvare Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97f902b7be4dd6ba03c6aa8d3400783ed687ebd1 Author: Wolfram Sang Date: Wed Jun 17 16:26:10 2009 -0700 rtc: rtc-ds1307 add ds3231 Add ds3231 variant. For that, the BBSQI bit position was changed from a simple define into a lookup-array as it differs. This also removes writing to an unused bit in case of the ds1337. Signed-off-by: Wolfram Sang Acked-by: David Brownell Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33df2ee1bb59b8cd14e3a375d826a40de21f388c Author: Joakim Tjernlund Date: Wed Jun 17 16:26:08 2009 -0700 rtc: rtc-ds1307 add ds1388 Extend the ds1307 driver to support ds1388 too. Signed-off-by: Joakim Tjernlund Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a72970054e72e6d3b5cdb7364a079f8ecae62af Author: Torsten Ertbjerg Rasmussen Date: Wed Jun 17 16:26:07 2009 -0700 rtc: rtc-ds1742 nvram attribute fix The RTC driver for ds1742 / ds1743 uses a static nvram attribute. This patch replaces this static attribute with one nvram attribute for each ds174x registered. The nvram size is not the same for all types of ds174x. The nvram size is accessible as the file size of the nvram attribute in sysfs. With only a single nvram attribute, this file size will be incorrect if more than one type of ds174x is present on a system. See the comment in the removed code below. This patch have been tested with linux-2.6.28 and linux-2.6.29-rc5/6 on a custom board with one ds1743. Signed-off-by: Torsten Ertbjerg Rasmussen Signed-off-by: Alessandro Zummo Cc: Atsushi Nemoto Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 275704970c76c2453b656967586de9c35d247eae Author: Jiri Pirko Date: Wed Jun 17 16:26:06 2009 -0700 spi: fix spi_write_then_read() comment Buffer needs not be dma-safe, not rx data length. Signed-off-by: Jiri Pirko Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50e0a7bd02f95be95ac03299b0356ba6400d1c6d Author: Daniel Ribeiro Date: Wed Jun 17 16:26:06 2009 -0700 pxa2xx_spi: fix for SPI_CS_HIGH Commit a7bb3909b3293d503211d7f6af8ed62c1644b686 ("spi: pxa2xx_spi: introduce chipselect GPIO to simplify the common cases") introduces chipselect GPIO, and configures the CS polarity using SPI_CS_HIGH spi->mode flag. Add SPI_CS_HIGH to the allowed modes. Signed-off-by: Daniel Ribeiro Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7390284290b184a7f4bb648ca15dc62c3dea3e75 Author: Anton Vorontsov Date: Wed Jun 17 16:26:05 2009 -0700 mpc52xx_psc_spi: convert to cs_control callback mpc52xx_psc_spi driver is the last user of the legacy activate_cs and deactivate_cs callbacks, so convert the driver to the cs_control hook and remove the legacy callbacks from fsl_spi_platform_data struct. Signed-off-by: Anton Vorontsov Cc: Grant Likely Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7db06b5d5afcef15c4c3e61c3a7441ed7ad1407 Author: David Brownell Date: Wed Jun 17 16:26:04 2009 -0700 spi: move more spi_setup() functionality into core Move some common spi_setup() error checks into the SPI framework from the spi_master controller drivers: - Add a new "mode_bits" field to spi_master - Use that in spi_setup to validate the spi->mode value being requested. Setting this new field is now mandatory for any controller supporting more than vanilla SPI_MODE_0. - Update all spi_master drivers to: * Initialize that field * Remove current spi_setup() checks using that value. This is a net minor code shrink. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d0771970c51e736758525dd71fb82dd036b823a Author: David Brownell Date: Wed Jun 17 16:26:03 2009 -0700 spi: move common spi_setup() functionality into core Start moving some spi_setup() functionality into the SPI core from the various spi_master controller drivers: - Make that function stop being an inline; - Move two common idioms from drivers into that new function: * Default bits_per_word to 8 if that field isn't set * Issue a standardized dev_dbg() message This is a net minor source code shrink, and supports enhancments found in some follow-up patches. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4bd2ababd20b6ecdd49cf96e39c875fbedd53af Author: Roel Kluin Date: Wed Jun 17 16:26:02 2009 -0700 spi_bfin5xx: limit reaches -1 bfin_spi_flush() returns limit, which reaches -1 upon timeout. but in function bfin_spi_pump_transfers() it is compared with 0. Signed-off-by: Roel Kluin Acked-by: David Brownell Cc: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 349888ee7b2c1ffb44c806adf6f4289ca4a6fd42 Author: Stefani Seibold Date: Wed Jun 17 16:26:01 2009 -0700 proc.txt: update kernel filesystem/proc.txt documentation An update for the "Process-Specific Subdirectories" section to reflect the changes till kernel 2.6.30. Signed-off-by: Stefani Seibold Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f6d311080c36e30a5fa87adca550dc6b51dbfdc Author: Cyrill Gorcunov Date: Wed Jun 17 16:26:00 2009 -0700 proc: vmcore - use kzalloc in get_new_element() Instead of kmalloc+memset better use straight kzalloc Signed-off-by: Cyrill Gorcunov Reviewed-by: WANG Cong Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcac2b1b7d67f4e7c001b755409fafb37cb0d888 Author: Michal Simek Date: Wed Jun 17 16:25:59 2009 -0700 procfs: remove sparse errors in proc_devtree.c CHECK fs/proc/proc_devtree.c fs/proc/proc_devtree.c:197:14: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:203:34: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:210:14: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:223:26: warning: Using plain integer as NULL pointer fs/proc/proc_devtree.c:226:14: warning: Using plain integer as NULL pointer Signed-off-by: Michal Simek Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fe4a975d662f11037cb710f8b4b158a3e38f9c0 Author: Davide Libenzi Date: Wed Jun 17 16:25:58 2009 -0700 epoll: fix nested calls support This fixes a regression in 2.6.30. I unfortunately accepted a patch time ago, to drop the "current" usage from possible IRQ context, w/out proper thought over it. The patch switched to using the CPU id by bounding the nested call callback with a get_cpu()/put_cpu(). Unfortunately the ep_call_nested() function can be called with a callback that grabs sleepy locks (from own f_op->poll()), that results in epic fails. The following patch uses the proper "context" depending on the path where it is called, and on the kind of callback. This has been reported by Stefan Richter, that has also verified the patch is his previously failing environment. Signed-off-by: Davide Libenzi Reported-by: Stefan Richter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36025a812eebb34a478cfc1d3a538472591498b0 Author: Andrew Morton Date: Wed Jun 17 16:25:56 2009 -0700 MAINTAINERS: fbdev is orphaned Tony hasn't been heard from in 18 months and people keep sending him things. Cc: Joe Perches Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3d64df21d3d0de675a0d3ffa7c10514f3644b30 Author: Keika Kobayashi Date: Wed Jun 17 16:25:55 2009 -0700 proc: export statistics for softirq to /proc Export statistics for softirq in /proc/softirqs and /proc/stat. 1. /proc/softirqs Implement /proc/softirqs which shows the number of softirq for each CPU like /proc/interrupts. 2. /proc/stat Add the "softirq" line to /proc/stat. This line shows the number of softirq for all cpu. The first column is the total of all softirqs and each subsequent column is the total for particular softirq. [kosaki.motohiro@jp.fujitsu.com: remove redundant for_each_possible_cpu() loop] Signed-off-by: Keika Kobayashi Reviewed-by: Hiroshi Shimamoto Cc: KOSAKI Motohiro Cc: Ingo Molnar Cc: Eric Dumazet Cc: Alexey Dobriyan Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d9b8fb0e5ebf4b0398e579f6061d4451fea3242 Author: Robin Getz Date: Wed Jun 17 16:25:54 2009 -0700 irqs: add IRQF_SAMPLE_RANDOM to the feature-removal-schedule.txt (deprecated) list This adds IRQF_SAMPLE_RANDOM to the feature-removal (deprecated) list since most of the IRQF_SAMPLE_RANDOM users are technically bogus as entropy sources in the kernel's current entropy model. This was discussed on the lkml the past few days, which started here: http://lkml.org/lkml/2009/4/6/283 Signed-off-by: Robin Getz Cc: Theodore Ts'o Cc: Matt Mackall Cc: Randy Dunlap Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0ce5bbc2dbb1853bd0c6d13f17716fcc38ac5a Author: Keika Kobayashi Date: Wed Jun 17 16:25:52 2009 -0700 softirq: introduce statistics for softirq Statistics for softirq doesn't exist. It will be helpful like statistics for interrupts. This patch introduces counting the number of softirq, which will be exported in /proc/softirqs. When softirq handler consumes much CPU time, /proc/stat is like the following. $ while :; do cat /proc/stat | head -n1 ; sleep 10 ; done cpu 88 0 408 739665 583 28 2 0 0 cpu 450 0 1090 740970 594 28 1294 0 0 ^^^^ softirq In such a situation, /proc/softirqs shows us which softirq handler is invoked. We can see the increase rate of softirqs. $ cat /proc/softirqs CPU0 CPU1 CPU2 CPU3 HI 0 0 0 0 TIMER 462850 462805 462782 462718 NET_TX 0 0 0 365 NET_RX 2472 2 2 40 BLOCK 0 0 381 1164 TASKLET 0 0 0 224 SCHED 462654 462689 462698 462427 RCU 3046 2423 3367 3173 $ cat /proc/softirqs CPU0 CPU1 CPU2 CPU3 HI 0 0 0 0 TIMER 463361 465077 465056 464991 NET_TX 53 0 1 365 NET_RX 3757 2 2 40 BLOCK 0 0 398 1170 TASKLET 0 0 0 224 SCHED 463074 464318 464612 463330 RCU 3505 2948 3947 3673 When CPU TIME of softirq is high, the rates of increase is the following. TIMER : 220/sec : CPU1-3 NET_TX : 5/sec : CPU0 NET_RX : 120/sec : CPU0 SCHED : 40-200/sec : all CPU RCU : 45-58/sec : all CPU The rates of increase in an idle mode is the following. TIMER : 250/sec SCHED : 250/sec RCU : 2/sec It seems many softirqs for receiving packets and rcu are invoked. This gives us help for checking system. Signed-off-by: Keika Kobayashi Reviewed-by: Hiroshi Shimamoto Reviewed-by: KOSAKI Motohiro Cc: Ingo Molnar Cc: Eric Dumazet Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a298b2acd771d8a5c0004d8f8e4156c65b11f6b Author: Eric Anholt Date: Tue Mar 24 12:23:04 2009 -0700 drm: Remove memory debugging infrastructure. It hasn't been used in ages, and having the user tell your how much memory is being freed at free time is a recipe for disaster even if it was ever used. Signed-off-by: Eric Anholt commit 52dc7d32b88156248167864f77a9026abe27b432 Author: Chris Wilson Date: Sat Jun 6 09:46:01 2009 +0100 drm/i915: Clear fence register on tiling stride change. The fence register value also depends upon the stride of the object, so we need to clear the fence if that is changed as well. Signed-off-by: Chris Wilson [anholt: Added 8xx and 965 paths, and renamed the confusing i915_gem_object_tiling_ok function to i915_gem_object_fence_offset_ok] Signed-off-by: Eric Anholt commit 8c4b8c3f34de4e2da20df042bba173fe557f8b45 Author: Chris Wilson Date: Wed Jun 17 22:08:52 2009 +0100 drm/i915: Install fence register for tiled scanout on i915 With the work by Jesse Barnes to eliminate allocation of fences during execbuffer, it becomes possible to write to the scan-out buffer with it never acquiring a fence (simply by only ever writing to the object using tiled GPU commands and never writing to it via the GTT). So for pre-i965 chipsets which require fenced access for tiled scan-out buffers, we need to obtain a fence register. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit c78a87d0a1fc885dfdbe21fd5e07787691dfb068 Author: David Teigland Date: Thu Jun 18 13:20:24 2009 -0500 dlm: fix plock use-after-free Fix a regression from the original addition of nfs lock support 586759f03e2e9031ac5589912a51a909ed53c30a. When a synchronous (non-nfs) plock completes, the waiting thread will wake up and free the op struct. This races with the user thread in dev_write() which goes on to read the op's callback field to check if the lock is async and needs a callback. This check can happen on the freed op. The fix is to note the callback value before the op can be freed. Signed-off-by: David Teigland commit 671e1fcf63fd115eabcb693b06cbc2e4a3d1a3a3 Author: NeilBrown Date: Tue Jun 16 11:03:20 2009 +1000 nfsd: optimise the starting of zero threads when none are running. Currently, if we ask to set then number of nfsd threads to zero when there are none running, we set up all the sockets and register the service, and then tear it all down again. This is pointless. So detect that case and exit promptly. (also remove an assignment to 'error' which was never used. Signed-off-by: NeilBrown Acked-by: Jeff Layton commit 82e12fe9244ff653f703722a8937b595e10e71f4 Author: NeilBrown Date: Tue Jun 16 11:03:07 2009 +1000 nfsd: don't take nfsd_mutex twice when setting number of threads. Currently when we write a number to 'threads' in nfsdfs, we take the nfsd_mutex, update the number of threads, then take the mutex again to read the number of threads. Mostly this isn't a big deal. However if we are write '0', and portmap happens to be dead, then we can get unpredictable behaviour. If the nfsd threads all got killed quickly and the last thread is waiting for portmap to respond, then the second time we take the mutex we will block waiting for the last thread. However if the nfsd threads didn't die quite that fast, then there will be no contention when we try to take the mutex again. Unpredictability isn't fun, and waiting for the last thread to exit is pointless, so avoid taking the lock twice. To achieve this, get nfsd_svc return a non-negative number of active threads when not returning a negative error. Signed-off-by: NeilBrown commit b1f49f9582f9be6de5055cfa97eabf6246f2eaf7 Author: Hidetoshi Seto Date: Thu Jun 18 14:53:24 2009 +0900 x86, mce: fix error path in mce_create_device() Don't skip removing mce_attrs in route from error2. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Cc: Huang Ying Signed-off-by: H. Peter Anvin commit b8e6d829729d1a5991a9f628205b671cac2ec06f Author: Ingo Molnar Date: Thu Jun 18 14:32:19 2009 +0200 perf report: Filter to parent set by default Make it easier to use parent filtering - default to a filtered output. Also add the parent column so that we get collapsing but dont display it by default. add --no-exclude-other to override this. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9d91a6f7a489eb914c16b82d927f9d81d629c259 Author: Peter Zijlstra Date: Thu Jun 18 11:40:28 2009 +0200 perf_counter tools: Handle lost events Make use of the new ->data_tail mechanism to tell kernel-space about user-space draining the data stream. Emit lost events (and display them) if they happen. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 43a21ea81a2400992561146327c4785ce7f7be38 Author: Peter Zijlstra Date: Wed Mar 25 19:39:37 2009 +0100 perf_counter: Add event overlow handling Alternative method of mmap() data output handling that provides better overflow management and a more reliable data stream. Unlike the previous method, that didn't have any user->kernel feedback and relied on userspace keeping up, this method relies on userspace writing its last read position into the control page. It will ensure new output doesn't overwrite not-yet read events, new events for which there is no space left are lost and the overflow counter is incremented, providing exact event loss numbers. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d3a9262e59f7fb83c6d44df3b2b1460ed57d3ea1 Author: Peter Zijlstra Date: Thu Jun 18 12:54:00 2009 +0200 fs: Provide empty .set_page_dirty() aop for anon inodes .set_page_dirty() is one of those a_ops that defaults to the buffer implementation when not set. Therefore provide a dummy function to make it do nothing. (Uncovered by perfcounters fd's which can now be writable-mmap-ed.) Signed-off-by: Peter Zijlstra Cc: Al Viro Cc: Davide Libenzi LKML-Reference: Signed-off-by: Ingo Molnar commit b6f34d44cb341ad32f08717d1a2c418e6053a031 Author: Huang Ying Date: Thu Jun 18 19:44:01 2009 +0800 crypto: aes-ni - Remove CRYPTO_TFM_REQ_MAY_SLEEP from fpu template kernel_fpu_begin/end used preempt_disable/enable, so sleep should be prevented between kernel_fpu_begin/end. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 9251b64fb2d2326d28f0e0646a9e4fb8bbb51d8e Author: Huang Ying Date: Thu Jun 18 19:41:27 2009 +0800 crypto: aes-ni - Do not sleep when using the FPU Because AES-NI instructions will touch XMM state, corresponding code must be enclosed within kernel_fpu_begin/end, which used preempt_disable/enable. So sleep should be prevented between kernel_fpu_begin/end. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit e6efaa025384f86a18814a6b9f4e5d54484ab9ff Author: Huang Ying Date: Thu Jun 18 19:33:57 2009 +0800 crypto: aes-ni - Fix cbc mode IV saving Original implementation of aesni_cbc_dec do not save IV if input length % 4 == 0. This will make decryption of next block failed. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 8d8409f773af2cfd52e23e4b138a7d55a31182cd Author: Chuck Ebbert Date: Thu Jun 18 19:31:09 2009 +0800 crypto: padlock-aes - work around Nano CPU errata in CBC mode Extend previous workarounds for the prefetch bug to cover CBC mode, clean up the code a bit. Signed-off-by: Chuck Ebbert Acked-by: Harald Welte Signed-off-by: Herbert Xu commit a76c1c23d0c33d98f2d9b36e76e7f71289fc8391 Author: Chuck Ebbert Date: Thu Jun 18 19:24:10 2009 +0800 crypto: padlock-aes - work around Nano CPU errata in ECB mode The VIA Nano processor has a bug that makes it prefetch extra data during encryption operations, causing spurious page faults. Extend existing workarounds for ECB mode to copy the data to an temporary buffer to avoid the problem. Signed-off-by: Chuck Ebbert Acked-by: Harald Welte Signed-off-by: Herbert Xu commit 24a5d59f3477bcff4c069ff4d0ca9a3e037d0235 Author: Jan Kara Date: Thu Jun 18 12:33:16 2009 +0200 udf: Use device size when drive reported bogus number of written blocks Some drives report 0 as the number of written blocks when there are some blocks recorded. Use device size in such case so that we can automagically mount such media. Signed-off-by: Jan Kara commit 944557116908cbe835be41bfbd39d9706da9fd71 Author: Matt Fleming Date: Thu Jun 18 10:03:33 2009 +0100 sh: Fix declaration of __kernel_sigreturn and __kernel_rt_sigreturn GCC 4.5.0 complains about the declaration of variables __kernel_sigreturn and __kernel_rt_sigreturn because they have type void. Correctly declare these symbols as functions to fix the following error, arch/sh/kernel/signal_32.c: In function 'setup_frame': arch/sh/kernel/signal_32.c:368:14: error: taking address of expression of type 'void' arch/sh/kernel/signal_32.c: In function 'setup_rt_frame': arch/sh/kernel/signal_32.c:452:14: error: taking address of expression of type 'void' make[1]: *** [arch/sh/kernel/signal_32.o] Error 1 make: *** [arch/sh/kernel] Error 2 Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e24a72c4d8f0b2c17783b3ba9c8931b537149423 Author: Paul Mackerras Date: Wed Jun 17 21:54:26 2009 +1000 perf_counter: tools: Makefile tweaks for 64-bit powerpc On 64-bit powerpc, perf needs to be built as a 64-bit executable. This arranges to add the -m64 flag to CFLAGS if we are running on a 64-bit machine, indicated by the result of uname -m ending in "64". This means that we'll use -m64 on x86_64 machines as well. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55666.866148.559620@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 7325927e5a20bfe0f006acf92801bf41c537d3d4 Author: Paul Mackerras Date: Wed Jun 17 21:53:51 2009 +1000 perf_counter: powerpc: Add processor back-end for MPC7450 family This adds support for the performance monitor hardware on the MPC7450 family of processors (7450, 7451, 7455, 7447/7457, 7447A, 7448), used in the later Apple G4 powermacs/powerbooks and other machines. These machines have 6 hardware counters with a unique set of events which can be counted on each counter, with some events being available on multiple counters. Raw event codes for these processors are (PMC << 8) + PMCSEL. If PMC is non-zero then the event is that selected by the given PMCSEL value for that PMC (hardware counter). If PMC is zero then the event selected is one of the low-numbered ones that are common to several PMCs. In this case PMCSEL must be <= 22 and the event is what that PMCSEL value would select on PMC1 (but it may be placed any other PMC that has the same event for that PMCSEL value). For events that count cycles or occurrences that exceed a threshold, the threshold requested can be specified in the 0x3f000 bits of the raw event codes. If the event uses the threshold multiplier bit and that bit should be set, that is indicated with the 0x40000 bit of the raw event code. This fills in some of the generic cache events. Unfortunately there are quite a few blank spaces in the table, partly because these processors tend to count cache hits rather than cache accesses. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55631.802122.696927@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 98fb1807b97e3e631b940f67544e265c64b984dc Author: Paul Mackerras Date: Wed Jun 17 21:53:10 2009 +1000 perf_counter: powerpc: Make powerpc perf_counter code safe for 32-bit kernels This abstracts a few things in arch/powerpc/kernel/perf_counter.c that are specific to 64-bit kernels, and provides definitions for 32-bit kernels. In particular, * Only 64-bit has MMCRA and the bits in it that give information about a PMU interrupt (sampled PR, HV, slot number etc.) * Only 64-bit has the lppaca and the lppaca->pmcregs_in_use field * Use of SDAR is confined to 64-bit for now * Only 64-bit has soft/lazy interrupt disable and therefore pseudo-NMIs (interrupts that occur while interrupts are soft-disabled) * Only 64-bit has PMC7 and PMC8 * Only 64-bit has the MSR_HV bit. This also fixes the types used in a couple of places, where we were using long types for things that need to be 64-bit. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55590.634126.876084@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 079b3c569c87819e7a19d9b9f51d4746fc47bf9a Author: Paul Mackerras Date: Wed Jun 17 21:52:09 2009 +1000 perf_counter: powerpc: Change how processor-specific back-ends get selected At present, the powerpc generic (processor-independent) perf_counter code has list of processor back-end modules, and at initialization, it looks at the PVR (processor version register) and has a switch statement to select a suitable processor-specific back-end. This is going to become inconvenient as we add more processor-specific back-ends, so this inverts the order: now each back-end checks whether it applies to the current processor, and registers itself if so. Furthermore, instead of looking at the PVR, back-ends now check the cur_cpu_spec->oprofile_cpu_type string and match on that. Lastly, each back-end now specifies a name for itself so the core can print a nice message when a back-end registers itself. This doesn't provide any support for unregistering back-ends, but that wouldn't be hard to do and would allow back-ends to be modules. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55529.762227.518531@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 448d64f8f4c147db466c549550767cc515a4d34c Author: Paul Mackerras Date: Wed Jun 17 21:51:13 2009 +1000 perf_counter: powerpc: Use unsigned long for register and constraint values This changes the powerpc perf_counter back-end to use unsigned long types for hardware register values and for the value/mask pairs used in checking whether a given set of events fit within the hardware constraints. This is in preparation for adding support for the PMU on some 32-bit powerpc processors. On 32-bit processors the hardware registers are only 32 bits wide, and the PMU structure is generally simpler, so 32 bits should be ample for expressing the hardware constraints. On 64-bit processors, unsigned long is 64 bits wide, so using unsigned long vs. u64 (unsigned long long) makes no actual difference. This makes some other very minor changes: adjusting whitespace to line things up in initialized structures, and simplifying some code in hw_perf_disable(). Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55473.26174.331511@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 105988c015943e77092a6568bc5fb7e386df6ccd Author: Paul Mackerras Date: Wed Jun 17 21:50:04 2009 +1000 perf_counter: powerpc: Enable use of software counters on 32-bit powerpc This enables the perf_counter subsystem on 32-bit powerpc. Since we don't have any support for hardware counters on 32-bit powerpc yet, only software counters can be used. Besides selecting HAVE_PERF_COUNTERS for 32-bit powerpc as well as 64-bit, the main thing this does is add an implementation of set_perf_counter_pending(). This needs to arrange for perf_counter_do_pending() to be called when interrupts are enabled. Rather than add code to local_irq_restore as 64-bit does, the 32-bit set_perf_counter_pending() generates an interrupt by setting the decrementer to 1 so that a decrementer interrupt will become pending in 1 or 2 timebase ticks (if a decrementer interrupt isn't already pending). When interrupts are enabled, timer_interrupt() will be called, and some new code in there calls perf_counter_do_pending(). We use a per-cpu array of flags to indicate whether we need to call perf_counter_do_pending() or not. This introduces a couple of new Kconfig symbols: PPC_HAVE_PMU_SUPPORT, which is selected by processor families for which we have hardware PMU support (currently only PPC64), and PPC_PERF_CTRS, which enables the powerpc-specific perf_counter back-end. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: linuxppc-dev@ozlabs.org Cc: benh@kernel.crashing.org LKML-Reference: <19000.55404.103840.393470@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e Author: Martin K. Petersen Date: Thu Jun 18 09:56:03 2009 +0200 block: Fix bounce_pfn setting Correct stacking bounce_pfn limit setting and prevent warnings on 32-bit. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ddeb9c3e949751992628628d000915a317df52c4 Author: Christoph Hellwig Date: Tue Jun 16 22:07:32 2009 +0200 hd: stop defining MAJOR_NR Just use HD_MAJOR directly. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit cb2107be43d2fc5eadec58b92b54bf32c00bfff3 Author: Dhananjay Phadke Date: Wed Jun 17 17:27:25 2009 +0000 netxen: fix tx ring accounting This forces every update of tx ring producer to check for availability of space for next full TSO command. Earlier firmware control commands didn't care to pause tx queue. Stop the tx queue if there's not enough space to transmit one full LSO command left on the tx ring after current transmit. This avoids returning NETDEV_TX_BUSY after checking distance between producer and consumer on every cpu. Restart the tx queue only if we have cleaned up enough tx descriptors. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d173346040af497af22818dfc48cff369e67cf50 Author: Dhananjay Phadke Date: Wed Jun 17 17:27:24 2009 +0000 netxen: fix detection of cut-thru firmware mode Fix the detection of cut-thru mode of the hardware (direct dma to host) to mode configured in SRE (ingress block) rather than onboard memory control. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 73a370795371e41f72aeca61656d47adeadf28e5 Author: Eric Dumazet Date: Wed Jun 17 21:17:59 2009 +0000 forcedeth: fix dma api mismatches forcedeth doesnt use properly dma api in its tx completion path and in nv_loopback_test() pci_map_single() should be paired with pci_unmap_single() pci_map_page() should be paired with pci_unmap_page() forcedeth xmit path uses pci_map_single() & pci_map_page(), but tx completion path only uses pci_unmap_single() nv_loopback_test() uses pci_map_single() & pci_unmap_page() Add a dma_single field in struct nv_skb_map, and define a helper function nv_unmap_txskb Signed-off-by: Eric Dumazet CC: Ayaz Abdulla Signed-off-by: David S. Miller commit a73c7d84a1975b44c0ebd03c2dec288af1426349 Author: Peter Zijlstra Date: Thu Jun 18 09:44:20 2009 +0200 perf_counter tools: Add and use isprint() Introduce isprint() to print out raw event dumps to ASCII, etc. (This is an extension to upstream Git's ctype.c.) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: [ removed openssl.h inclusion from util.h - it leaked ctype.h ] Signed-off-by: Ingo Molnar commit 47bece87b14b866872b52ff04d469832e4936756 Author: Thomas Mingarelli Date: Thu Jun 4 19:50:45 2009 +0000 [WATCHDOG] hpwdt: Add NMI sourcing Add NMI sourcing functionality (Can only be active if nmi_watchdog is inactive). Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 55e8ddecec6a9dbe35a99d03cc4189fd7c56e600 Author: Wim Van Sebroeck Date: Mon Jun 8 17:41:51 2009 +0000 [WATCHDOG] iTCO_wdt: Fix ICH7+ reboot issue. Bugzilla: 9868 & 10195. There seems to be a bug into the SMM code that handles TCO Timeout SMI. Andriy Gapon found that the code on his DG33TL system does the following: > The handler is quite simple - it tests value in TCO1_CNT against 0x800, i.e. > checks TCO_TMR_HLT. If the bit is set the handler goes into an infinite loop, > apparently to allow the second timeout and reboot. Otherwise it simply clears > TIMEOUT bit in TCO1_STS and that's it. > So the logic seems to be reversed, because it is hard to see how TIMEOUT can > get set to 1 and SMI generated when TCO_TMR_HLT is set (other than a > transitional effect). The only trick we have is to bypass the SMM code by turning of the generation of the SMI#. The trick can only be enabled by setting the vendorsupport module parameter to 911. This trick doesn't work well on laptop's. Note: this is a dirty hack. Please handle with care. The only real fix is that the bug in the SMM bios code get's fixed. Signed-off-by: Wim Van Sebroeck commit de8cd9a3067e25a860c225f794e6b249b73aa6b1 Author: Denis V. Lunev Date: Fri Jun 5 15:13:08 2009 +0400 [WATCHDOG] iTCO_wdt: fix memory corruption when RCBA is disabled by hardware According to 9.1.33 on p.343 of ICH8.pdf RCBA can be disabled by hardware if bit 0 of RCBA register is not set. Perform correct check for this to prevent memory corruption under some virtual machines where this feature is disabled. Signed-off-by: Denis V. Lunev CC: Vasily Averin Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit e73a780272a46e897bd94a4870fd6b6a8655d2d4 Author: Wim Van Sebroeck Date: Mon May 11 18:33:00 2009 +0000 [WATCHDOG] Correct WDIOF_MAGICCLOSE flag Make sure that when the WDIOF_MAGICCLOSE flag is set we also support the magic-close feature... Signed-off-by: Wim Van Sebroeck commit b6bf291f1c5bc84272a138b7367741e459005a81 Author: Wim Van Sebroeck Date: Tue Apr 14 20:30:55 2009 +0000 [WATCHDOG] move platform probe and remove function to devinit and devexit A pointer to probe and remove functions is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. Signed-off-by: Wim Van Sebroeck commit a77dba7e444a6618cbb666d1b42b79842b9c0171 Author: Wim Van Sebroeck Date: Tue Apr 14 20:20:07 2009 +0000 [WATCHDOG] Some more general cleanup Clean-up the watchdog drivers so that checkpatch.pl get's happy... Signed-off-by: Wim Van Sebroeck commit 0a7e658226d66a259097db5f4734589604b303fd Author: Wim Van Sebroeck Date: Tue Apr 14 20:20:07 2009 +0000 [WATCHDOG] iTCO_wdt: Cleanup code Clean-up the iTCO_wdt code so that checkpatch.pl get's happy... Signed-off-by: Wim Van Sebroeck commit 81e2a3d5b75cbf0b42428b9d5a7cc7c85be9e7a7 Author: Eric Dumazet Date: Wed Jun 17 19:06:12 2009 -0700 atm: sk_wmem_alloc initial value is one commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) changed initial sk_wmem_alloc value. This broke net/atm since this protocol assumed a null initial value. This patch makes necessary changes. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 31e6d363abcd0d05766c82f1a9c905a4c974a199 Author: Eric Dumazet Date: Wed Jun 17 19:05:41 2009 -0700 net: correct off-by-one write allocations reports commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) changed initial sk_wmem_alloc value. We need to take into account this offset when reporting sk_wmem_alloc to user, in PROC_FS files or various ioctls (SIOCOUTQ/TIOCOUTQ) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d3b238a03efd6d644ff93c8b10a1d38a596f2e34 Author: Séguier Régis Date: Tue Jun 16 11:25:49 2009 +0000 via-velocity : fix no link detection on boot on boot, link is always up. Signed-off-by: Seguier Regis Signed-off-by: David S. Miller commit 6905b1f1a03a48dcf115a2927f7b87dba8d5e566 Author: Rafael J. Wysocki Date: Sun Jun 14 09:46:46 2009 +0000 Net / e100: Fix suspend of devices that cannot be power managed If the adapter is not power-manageable using either ACPI, or the native PCI PM interface, __e100_power_off() returns error code, which causes every attempt to suspend to fail, although it should return 0 in such a case. Fix this problem by ignoring the return value of pci_set_power_state() in __e100_power_off(). Signed-off-by: Rafael J. Wysocki Acked-by: Andreas Mohr Signed-off-by: David S. Miller commit ab0a8e6c663047363e7436621b66c2ae575d2525 Author: chaithrika@ti.com Date: Wed Jun 17 01:28:54 2009 +0000 TI DaVinci EMAC : Fix rmmod error clk_disable was called twice in the remove function. Correct this so that the driver module unloads without error. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 31278e71471399beaff9280737e52b47db4dc345 Author: Jiri Pirko Date: Wed Jun 17 01:12:19 2009 +0000 net: group address list and its count This patch is inspired by patch recently posted by Johannes Berg. Basically what my patch does is to group list and a count of addresses into newly introduced structure netdev_hw_addr_list. This brings us two benefits: 1) struct net_device becames a bit nicer. 2) in the future there will be a possibility to operate with lists independently on netdevices (with exporting right functions). I wanted to introduce this patch before I'll post a multicast lists conversion. Signed-off-by: Jiri Pirko drivers/net/bnx2.c | 4 +- drivers/net/e1000/e1000_main.c | 4 +- drivers/net/ixgbe/ixgbe_main.c | 6 +- drivers/net/mv643xx_eth.c | 2 +- drivers/net/niu.c | 4 +- drivers/net/virtio_net.c | 10 ++-- drivers/s390/net/qeth_l2_main.c | 2 +- include/linux/netdevice.h | 17 +++-- net/core/dev.c | 130 ++++++++++++++++++-------------------- 9 files changed, 89 insertions(+), 90 deletions(-) Signed-off-by: David S. Miller commit 7b85576d15bf2574b0a451108f59f9ad4170dd3f Author: Jarek Poplawski Date: Thu Jun 18 00:28:51 2009 -0700 ipv4: Fix fib_trie rebalancing, part 2 My previous patch, which explicitly delays freeing of tnodes by adding them to the list to flush them after the update is finished, isn't strict enough. It treats exceptionally tnodes without parent, assuming they are newly created, so "invisible" for the read side yet. But the top tnode doesn't have parent as well, so we have to exclude all exceptions (at least until a better way is found). Additionally we need to move rcu assignment of this node before flushing, so the return type of the trie_rebalance() function is changed. Reported-by: Yan Zheng Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 99d921c2ff28c6396c5fa9a5360b3005bc6abba7 Author: Paul Mundt Date: Thu Jun 18 16:09:38 2009 +0900 sh: Enable soc-camera in ap325rxa/migor/se7724 defconfigs. The MEDIA_SUPPORT option disabled soc-camera support, so re-enable it for the impacted defconfigs. Signed-off-by: Paul Mundt commit 7522060c95395f479ee4a6af3bbf9e097e92e48f Author: Ingo Molnar Date: Thu Jun 18 08:00:17 2009 +0200 perf report: Add validation of call-chain entries Add boundary checks for call-chain events. In case of corrupted entries we could crash otherwise. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d73772474f6ebbacbe820c31c0fa1cffa7160246 Author: Henrique de Moraes Holschuh Date: Thu Jun 18 00:40:17 2009 -0300 thinkpad-acpi: support the second fan on the X61 Support reading the tachometer of the auxiliary fan of a X60/X61. It was found out by sheer luck, that bit 0 of EC register 0x31 (formely HBRV) selects which fan is active for tachometer readings through EC 0x84/0x085: 0 for fan1, 1 for fan2. Many thanks to Christoph Kl??nter, to Whoopie, and to weasel, who helped confirm that behaviour. Fan control through EC HFSP applies to both fans equally, regardless of the state of bit 0 of EC 0x31. That matches the way the DSDT uses HFSP. In order to better support the secondary fan, export a second tachometer over hwmon, and add defensive measures to make sure we are reading the correct tachometer. Support for the second fan is whitelist-based, as I have not found anything obvious to look for in the DSDT to detect the presence of the second fan. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d7880f10c5d42ba182a97c1fd41d41d0b8837097 Author: Henrique de Moraes Holschuh Date: Thu Jun 18 00:40:16 2009 -0300 thinkpad-acpi: forbid the use of HBRV on Lenovo ThinkPads Forcing thinkpad-acpi to do EC-based brightness control (HBRV) on a X61 has very... interesting effects, instead of doing nothing (since it doesn't have EC-based backlight control), it causes "weirdness" in the fan tachometer readings, for example. This means the EC register that used to be HBRV has been reused by Lenovo for something else, but they didn't remove it from the DSDT. Make sure the documentation reflects this data, and forbid the user from forcing the driver to access HBRV on Lenovo ThinkPads. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b25bcf2f133b1e6216c3d40be394756107d3880f Author: Ingo Molnar Date: Thu Jun 18 07:01:03 2009 +0200 perf report: Tidy up the "--parent " and "--sort parent" call-chain features Instead of the ambigious 'call' naming use the much more specific 'parent' naming: - rename --call to --parent - rename --sort call to --sort parent - rename [unmatched] to [other] - to signal that this is not an error but the inverse set Also add pagefaults to the default parent-symbol pattern too, as it's a 'syscall overhead category' in a sense. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 7e275cc4e8e20f82740bf40ae2f5695e9e35ff09 Author: Len Brown Date: Fri May 15 02:08:44 2009 -0400 ACPI: idle: rename lapic timer workaround routines cosmetic only. The lapic_timer workaround routines are specific to the lapic_timer, and are not acpi-generic. old: acpi_timer_check_state() acpi_propagate_timer_broadcast() acpi_state_timer_broadcast() new: lapic_timer_check_state() lapic_timer_propagate_broadcast() lapic_timer_state_broadcast() also, simplify the code in acpi_processor_power_verify() so that lapic_timer_check_state() is simply called from one place for all valid C-states, including C1. Signed-off-by: Len Brown commit e92fae064ae42b2a4a77646f7655bca4c87bb1eb Author: Yinghai Lu Date: Wed Jun 17 16:21:33 2009 -0700 x86: use zalloc_cpumask_var for mce_dev_initialized We need a cleared cpu_mask to record if mce is initialized, especially when MAXSMP is used. used zalloc_... instead Signed-off-by: Yinghai Lu Reviewed-by: Hidetoshi Seto Cc: stable@kernel.org Signed-off-by: H. Peter Anvin commit 74b602c7147212a7495879ec23fe6c2d3b470e06 Author: Yinghai Lu Date: Wed Jun 17 14:43:32 2009 -0700 x86: fix duplicated sysfs attribute The sysfs attribute cmci_disabled was accidentall turned into a duplicate of ignore_ce, breaking all other attributes. Signed-off-by: Yinghai Lu Acked-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 586caae36cece718ff46b3a59b88af79e9f7a2e0 Author: Len Brown Date: Thu Jun 18 00:38:27 2009 -0400 ACPI: battery: fix CONFIG_ACPI_PROCFS_POWER=n build warning drivers/acpi/battery.c:841: warning: label ‘end’ defined but not used Signed-off-by: Len Brown commit 4505ffda54b352a08eb08ebad62ac48725c41966 Author: Christoph Hellwig Date: Thu Jun 18 13:38:26 2009 +0900 sh: remove stray markers. arch/sh has a couple of stray markers without any users introduced in commit 3d58695edbfac785161bf282dc11fd42a483d6c9. Remove them in preparation of removing the markers in favour of the TRACE_EVENT macro (and also because we don't keep dead code around). Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mundt commit bc3f5d3dbd576da94a575b1477b8e38551bf11da Author: Alexander van Heukelum Date: Thu Jun 18 00:35:59 2009 +0200 x86: de-assembler-ize asm/desc.h asm/desc.h is included in three assembly files, but the only macro it defines, GET_DESC_BASE, is never used. This patch removes the includes, removes the macro GET_DESC_BASE and the ASSEMBLY guard from asm/desc.h. Signed-off-by: Alexander van Heukelum Signed-off-by: H. Peter Anvin commit dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded Author: Alexander van Heukelum Date: Thu Jun 18 00:35:58 2009 +0200 i386: fix/simplify espfix stack switching, move it into assembly The espfix code triggers if we have a protected mode userspace application with a 16-bit stack. On returning to userspace, with iret, the CPU doesn't restore the high word of the stack pointer. This is an "official" bug, and the work-around used in the kernel is to temporarily switch to a 32-bit stack segment/pointer pair where the high word of the pointer is equal to the high word of the userspace stackpointer. The current implementation uses THREAD_SIZE to determine the cut-off, but there is no good reason not to use the more natural 64kb... However, implementing this by simply substituting THREAD_SIZE with 65536 in patch_espfix_desc crashed the test application. patch_espfix_desc tries to do what is described above, but gets it subtly wrong if the userspace stack pointer is just below a multiple of THREAD_SIZE: an overflow occurs to bit 13... With a bit of luck, when the kernelspace stackpointer is just below a 64kb-boundary, the overflow then ripples trough to bit 16 and userspace will see its stack pointer changed by 65536. This patch moves all espfix code into entry_32.S. Selecting a 16-bit cut-off simplifies the code. The game with changing the limit dynamically is removed too. It complicates matters and I see no value in it. Changing only the top 16-bit word of ESP is one instruction and it also implies that only two bytes of the ESPFIX GDT entry need to be changed and this can be implemented in just a handful simple to understand instructions. As a side effect, the operation to compute the original ESP from the ESPFIX ESP and the GDT entry simplifies a bit too, and the remaining three instructions have been expanded inline in entry_32.S. impact: can now reliably run userspace with ESP=xxxxfffc on 16-bit stack segment Signed-off-by: Alexander van Heukelum Acked-by: Stas Sergeev Signed-off-by: H. Peter Anvin commit 2e04bc76560decd9270be2a805927316f617ef56 Author: Alexander van Heukelum Date: Thu Jun 18 00:35:57 2009 +0200 i386: fix return to 16-bit stack from NMI handler Returning to a task with a 16-bit stack requires special care: the iret instruction does not restore the high word of esp in that case. The espfix code fixes this, but currently is not invoked on NMIs. This means that a running task gets the upper word of esp clobbered due intervening NMIs. To reproduce, compile and run the following program with the nmi watchdog enabled (nmi_watchdog=2 on the command line). Using gdb you can see that the high bits of esp contain garbage, while the low bits are still correct. This patch puts the espfix code back into the NMI code path. The patch is slightly complicated due to the irqtrace infrastructure not being NMI-safe. The NMI return path cannot call TRACE_IRQS_IRET. Otherwise, the tail of the normal iret-code is correct for the nmi code path too. To be able to share this code-path, the TRACE_IRQS_IRET was move up a bit. The espfix code exists after the TRACE_IRQS_IRET, but this code explicitly disables interrupts. This short interrupts-off section is now not traced anymore. The return-to-kernel path now always includes the preliminary test to decide if the espfix code should be called. This is never the case, but doing it this way keeps the patch as simple as possible and the few extra instructions should not affect timing in any significant way. #define _GNU_SOURCE #include #include #include #include #include #include int modify_ldt(int func, void *ptr, unsigned long bytecount) { return syscall(SYS_modify_ldt, func, ptr, bytecount); } /* this is assumed to be usable */ #define SEGBASEADDR 0x10000 #define SEGLIMIT 0x20000 /* 16-bit segment */ struct user_desc desc = { .entry_number = 0, .base_addr = SEGBASEADDR, .limit = SEGLIMIT, .seg_32bit = 0, .contents = 0, /* ??? */ .read_exec_only = 0, .limit_in_pages = 0, .seg_not_present = 0, .useable = 1 }; int main(void) { setvbuf(stdout, NULL, _IONBF, 0); /* map a 64 kb segment */ char *pointer = mmap((void *)SEGBASEADDR, SEGLIMIT+1, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0); if (pointer == NULL) { printf("could not map space\n"); return 0; } /* write ldt, new mode */ int err = modify_ldt(0x11, &desc, sizeof(desc)); if (err) { printf("error modifying ldt: %i\n", err); return 0; } for (int i=0; i<1000; i++) { asm volatile ( "pusha\n\t" "mov %ss, %eax\n\t" /* preserve ss:esp */ "mov %esp, %ebp\n\t" "push $7\n\t" /* index 0, ldt, user mode */ "push $65536-4096\n\t" /* esp */ "lss (%esp), %esp\n\t" /* switch to new stack */ "push %eax\n\t" /* save old ss:esp on new stack */ "push %ebp\n\t" "add $17*65536, %esp\n\t" /* set high bits */ "mov %esp, %edx\n\t" "mov $10000000, %ecx\n\t" /* wait... */ "1: loop 1b\n\t" /* ... a bit */ "cmp %esp, %edx\n\t" "je 1f\n\t" "ud2\n\t" /* esp changed inexplicably! */ "1:\n\t" "sub $17*65536, %esp\n\t" /* restore high bits */ "lss (%esp), %esp\n\t" /* restore old ss:esp */ "popa\n\t"); printf("\rx%ix", i); } return 0; } Signed-off-by: Alexander van Heukelum Acked-by: Stas Sergeev Signed-off-by: H. Peter Anvin commit b7d3740ace895b85e802c618b2edfed1bba67d9e Author: Paul Mundt Date: Thu Jun 18 13:28:09 2009 +0900 sh: defconfig updates. Signed-off-by: Paul Mundt commit ff754e2e85557ed7244385f0f2053c80e8ac9948 Author: Bjorn Helgaas Date: Fri May 22 11:43:56 2009 -0600 ACPI: use handle, not device, in system notification path This patch changes the global system notification path so it uses the acpi_handle, not the acpi_device. System notifications often deal with device presence and status change. In these cases, we may not have an acpi_device. For example, we may get a Device Check notification on an object that previously was not present. Since the object was not present, we would not have had an acpi_device for it. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit cdd5b8ca122cc4239375dee7fcdc658315c119e4 Author: Bjorn Helgaas Date: Fri May 22 11:43:51 2009 -0600 ACPI: remove unused return values from Bus Check & Device Check handling Remove return values from acpi_bus_check_device() and acpi_bus_check_scope() since nobody looks at them. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit aa8a149c0cc822e3886eb85b95cb2f7d67e5b7e6 Author: Bjorn Helgaas Date: Fri May 22 11:43:46 2009 -0600 ACPI: remove unused "status_changed" return value from Check Device handling Remove "status_changed" return from acpi_bus_check_device(). Nobody does anything useful based on its value. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 02c37bd8d0737c31caaed9a65bd7cb80aefb4c9a Author: Bjorn Helgaas Date: Fri May 22 11:43:41 2009 -0600 ACPI: simplify notification debug messages This replaces several messages that depend on the acpi_device struct with a single message that uses just the acpi_handle. We should be able to deal with notifications to objects that do not yet have an acpi_device struct. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit d9b9bd7b4a579ff0340d29c2547b952a920639e6 Author: Bjorn Helgaas Date: Thu Apr 30 09:36:03 2009 -0600 ACPI: eeepc-laptop: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. This driver relies on seeing system notify events, not device-specific ones (because it used ACPI_SYSTEM_NOTIFY). We use the ACPI_DRIVER_ALL_NOTIFY_EVENTS driver flag to request all events, then just ignore any device events we get. Signed-off-by: Bjorn Helgaas CC: Corentin Chary CC: acpi4asus-user@lists.sourceforge.net CC: Matthew Garrett Signed-off-by: Len Brown commit 352fa202c3320ac4844cd38fa72c7a91d7c4cfea Author: Bjorn Helgaas Date: Thu Apr 30 09:35:58 2009 -0600 ACPI: asus-acpi: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. This driver relies on seeing system notify events, not device-specific ones (because it used ACPI_SYSTEM_NOTIFY). We use the ACPI_DRIVER_ALL_NOTIFY_EVENTS driver flag to request all events, then just ignore any device events we get. Signed-off-by: Bjorn Helgaas CC: Corentin Chary CC: Karol Kozimor CC: acpi4asus-user@lists.sourceforge.net Signed-off-by: Len Brown commit 586ed1604fd6137cae1e8ede8143c3b8897306fd Author: Bjorn Helgaas Date: Thu Apr 30 09:35:53 2009 -0600 ACPI: asus-laptop: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. This driver apparently relies on seeing ALL notify events, not just device-specific ones (because it used ACPI_ALL_NOTIFY). We use the ACPI_DRIVER_ALL_NOTIFY_EVENTS driver flag to request all events. Signed-off-by: Bjorn Helgaas CC: Corentin Chary CC: acpi4asus-user@lists.sourceforge.net Signed-off-by: Len Brown commit d94066910943837558d2a461c6766da981260bf0 Author: Bjorn Helgaas Date: Thu Apr 30 09:35:47 2009 -0600 ACPI: battery: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. This driver apparently relies on seeing ALL notify events, not just device-specific ones (because it used ACPI_ALL_NOTIFY). We use the ACPI_DRIVER_ALL_NOTIFY_EVENTS driver flag to request all events. Signed-off-by: Bjorn Helgaas CC: Alexey Starikovskiy Signed-off-by: Len Brown commit 48fe112744d1ff2e899a6491633ac58a3229aabf Author: Bjorn Helgaas Date: Thu Apr 30 09:35:42 2009 -0600 ACPI: ac: use .notify method instead of installing handler directly This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. This driver apparently relies on seeing ALL notify events, not just device-specific ones (because it used ACPI_ALL_NOTIFY). We use the ACPI_DRIVER_ALL_NOTIFY_EVENTS driver flag to request all events. Signed-off-by: Bjorn Helgaas CC: Alexey Starikovskiy Signed-off-by: Len Brown commit 6d2781310036a8d3fa2b590a6f83a298010fd64a Author: Bjorn Helgaas Date: Thu Apr 30 09:35:37 2009 -0600 ACPI: allow drivers to request both device and system notify events System notify events (0x00-0x7f) are common across all device types and should be handled in Linux/ACPI, not in drivers. However, some BIOSes use system notify events in device-specific ways that require the driver to be involved. This patch adds a ACPI_DRIVER_ALL_NOTIFY_EVENTS driver flag. When a driver sets this flag and supplies a .notify method, Linux/ACPI calls the .notify method for ALL notify events on the device, not just the device-specific (0x80-0xff) events. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 871043bc463e7d191e7b5b00436a8852921dd833 Author: Matthew Garrett Date: Mon Jun 1 15:25:45 2009 +0100 hp-wmi: Add support for reporting tablet state HP tablets send a WMI event when a tablet state change occurs, but use the same method as is used for reporting docking and undocking. The same query is used to obtain the state of the hardware. Bit 0 indicates the docking state, while bit 2 indicates the tablet state. This patch breaks these out and sends separate input events for tablet and dock state changes. An additional sysfs file is added to report the tablet state. Signed-off-by: Matthew Garrett Signed-off-by: Len Brown commit db18b040af6571a7eeed9e1adc2e92c9c87e4b1a Author: Matthew Garrett Date: Wed Jun 10 19:40:48 2009 +0000 dell-wmi: don't generate errors on empty messages There's no point in generating kernel messages if we didn't receive a parsable keyboard event - only do so if there appeared to be a scancode. Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 5cab0098171712a9fd51399b06181c8dfdebe9c9 Author: Mario Limonciello Date: Wed Jun 10 19:40:47 2009 +0000 dell-wmi: add additional keyboard events Upcoming Dell hardware will send more keyboard events via WMI. Add support for them. Signed-off-by: Mario Limonciello Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 75d71c40dde5a9474c09ee291df22d50a1215bef Author: Mario Limonciello Date: Wed Jun 10 19:40:46 2009 +0000 dell-wmi: mask off upper bytes of event response In debugging with some future machines that actually contain BIOS level support for dell-wmi, I've determined that the upper half of the data that comes back from wmi_get_event_data may sometimes contain extra information that isn't currently relevant when pulling scan codes out of the data. This causes dell-wmi to improperly respond to these events. Signed-off-by: Mario Limonciello Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 7fe2a6c275a5bcec52fb3ef643daaf8265b7af0d Author: Alexander Chiang Date: Wed Jun 10 19:56:05 2009 +0000 ACPI: kill acpi_get_physical_pci_device() acpi_get_pci_dev() is (hopefully) better, and all callers have been converted, so let's get rid of this duplicated functionality. Cc: Thomas Renninger Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit 1e4cffe78e1decd937c7b78410eec87da6b87954 Author: Alexander Chiang Date: Wed Jun 10 19:56:00 2009 +0000 ACPI: video: convert to acpi_get_pci_dev Now that acpi_get_pci_dev is available, let's use it instead of acpi_get_physical_pci_device() Cc: Thomas Renninger Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit 80ffdedf6020a77adcd06c01cfe6c488312b28f8 Author: Alexander Chiang Date: Wed Jun 10 19:55:55 2009 +0000 ACPI: kill acpi_get_pci_id acpi_get_pci_dev() is better, and all callers have been converted, so eliminate acpi_get_pci_id(). Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit d6aa484c1c0cd39ff3a42f4050b55d2a5b285ef5 Author: Alexander Chiang Date: Wed Jun 10 19:55:50 2009 +0000 PCI Hotplug: acpiphp: convert to acpi_get_pci_dev Now that acpi_get_pci_dev is available, let's use it instead of acpi_get_pci_id. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Acked-by: Jesse Barnes Signed-off-by: Len Brown commit 97719a8726fe8d3ea12a85fbf4f514a915ba30ec Author: Alexander Chiang Date: Wed Jun 10 19:55:45 2009 +0000 ACPI: acpi_pci_unbind should clean up properly after acpi_pci_bind In acpi_pci_bind, we set device->ops.bind and device->ops.unbind, but never clear them out. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit d9efae3688addb15994c9ad9761dada6f988bc14 Author: Alexander Chiang Date: Wed Jun 10 19:55:40 2009 +0000 ACPI: simplify acpi_pci_irq_del_prt() API There is no need to pass a segment/bus tuple to this API, as the callsite always has a struct pci_bus. We can derive segment/bus from the struct pci_bus, so let's take this opportunit to simplify the API and make life easier for the callers. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit 859a3f86ca83346f4097e956d0b27d96aa7a1cff Author: Alexander Chiang Date: Wed Jun 10 19:55:35 2009 +0000 ACPI: simplify acpi_pci_irq_add_prt() API A PCI domain cannot change as you descend down subordinate buses, which makes the 'segment' argument to acpi_pci_irq_add_prt() useless. Change the interface to take a struct pci_bus *, from whence we can derive the bus number and segment. Reducing the number of arguments makes life simpler for callers. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit 499650de6906722184b639989b47227a362b62f8 Author: Alexander Chiang Date: Wed Jun 10 19:55:30 2009 +0000 ACPI: eviscerate pci_bind.c Now that we can dynamically convert an ACPI CA handle to a struct pci_dev at runtime, there's no need to statically bind them during boot. acpi_pci_bind/unbind are vastly simplified, and are only used to evaluate _PRT methods on P2P bridges and non-bridge children. This patch also changes the time-space tradeoff ever so slightly. Looking up the ACPI-PCI binding is never in the performance path, and by eliminating this caching, we save 24 bytes for each _ADR device in the ACPI namespace. This patch lays further groundwork to eventually eliminate the acpi_driver_ops.bind callback. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit c22d7f5a389dad15de448b142f44e4000b3426f0 Author: Alexander Chiang Date: Wed Jun 10 19:55:25 2009 +0000 ACPI: rearrange acpi_pci_bind/acpi_pci_unbind in pci_bind.c This is a pure code movement patch that does $subject in order to make the following patch easier to read and review. No functional change. Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 2f7bbceb5b6aa938024bb4dad93c410fa59ed3b9 Author: Alexander Chiang Date: Wed Jun 10 19:55:20 2009 +0000 ACPI: Introduce acpi_get_pci_dev() Convert an ACPI CA handle to a struct pci_dev. Performing this lookup dynamically allows us to get rid of the ACPI-PCI binding code, which: - eliminates struct acpi_device vs struct pci_dev lifetime issues - lays more groundwork for eliminating .start from acpi_device_ops and thus simplifying ACPI drivers - whacks out a lot of code This change lays the groundwork for eliminating much of pci_bind.c. Although pci_root.c may not be the most logical place for this change, putting it here saves us from having to export acpi_pci_find_root. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit 275582031f9b3597a1b973f3ff617adfe639faa2 Author: Alexander Chiang Date: Wed Jun 10 19:55:14 2009 +0000 ACPI: Introduce acpi_is_root_bridge() Returns whether an ACPI CA node is a PCI root bridge or not. This API is generically useful, and shouldn't just be a hotplug function. The implementation becomes much simpler as well. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit ce597bb42aa84bc73db80509b7c37e7fbc0b75c4 Author: Alexander Chiang Date: Wed Jun 10 19:55:09 2009 +0000 ACPI: make acpi_pci_bind() static acpi_pci_root_add() explicitly assigns device->ops.bind, and later calls acpi_pci_bind_root(), which also does the same thing. We don't need to repeat ourselves; removing the explicit assignment allows us to make acpi_pci_bind() static. Signed-off-by: Alex Chiang Acked-by: Bjorn Helgaas Signed-off-by: Len Brown commit 0c526d96a5bd86c70507b7d9372e6a26a1e3ea43 Author: Alex Chiang Date: Thu May 14 08:31:37 2009 -0600 ACPI: clean up whitespace in drivers/acpi/scan.c Align labels in column 0, adjust spacing in 'if' statements, eliminate trailing and superfluous whitespaces. Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 8b12b922ed5b9b6bfc345d3d6c6de56b2982af7f Author: Alex Chiang Date: Thu May 14 08:31:32 2009 -0600 ACPI: acpi_device_register() should call device_register() There is no apparent reason for acpi_device_register() to manually register a new device in two steps (initialize then add). Just call device_register() directly. Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 8bf3d4c535c2b9689c2979b281c24e9f59c2f4ad Author: Henrique de Moraes Holschuh Date: Sat May 30 13:25:09 2009 -0300 thinkpad-acpi: silence bogus warning when ACPI video is disabled Make use of acpi_video_backlight_support() also in hotkey_init, to make sure this doesn't happen: thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver thinkpad_acpi: Disabling thinkpad-acpi brightness events by default... thinkpad_acpi: Standard ACPI backlight interface not available, thinkpad_acpi native brightness control enabled thinkpad_acpi: detected a 16-level brightness capable ThinkPad Note that this is purely cosmetic, there is absolutely _no_ change in behaviour. Those events are sometimes enabled at runtime by userspace, but the driver never enables them by itself unless someone messed with the default keymaps. Signed-off-by: Henrique de Moraes Holschuh Reported-by: Jochen Schulz Signed-off-by: Len Brown commit f21179a47ff8d1046a61c1cf5920244997a4a7bb Author: Henrique de Moraes Holschuh Date: Sat May 30 13:25:08 2009 -0300 thinkpad-acpi: enhance led support Add support for extra LEDs on recent ThinkPads, and avoid registering with the led class the LEDs which are not available for a given ThinkPad model. All non-restricted LEDs are always available through the procfs interface, as the firmware doesn't care if an attempt is made to access an invalid LED. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 60201732f03c1231742e5872abe55a3bf59849a5 Author: Henrique de Moraes Holschuh Date: Sat May 30 13:25:07 2009 -0300 thinkpad-acpi: fix BEEP ACPI handler warnings Some ThinkPads want two arguments for BEEP, while others want just one, causing ACPICA to log warnings like this: ACPI Warning (nseval-0177): Excess arguments - method [BEEP] needs 1, found 2 [20080926] Deal with it. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7d95a3d564901e88ed42810f054e579874151999 Author: Henrique de Moraes Holschuh Date: Sat May 30 13:25:06 2009 -0300 thinkpad-acpi: add quirklist engine Add a quirklist engine suitable for matching ThinkPad firmware, and change the code to use it. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 050df107c408a3df048524b3783a5fc6d4dccfdb Author: Henrique de Moraes Holschuh Date: Sat May 30 13:25:05 2009 -0300 thinkpad-acpi: store fw version with strict checking Extend the thinkpad model and firmware identification data with the release serial number for the BIOS and firmware (when available), as that is easier to parse and compare than the version strings. We're going to greatly extend the use of the ThinkPad DMI data through quirk lists, so it is best to be quite strict and make sure what we get from DMI is exactly what we expect, otherwise quirk matching may result in quite insane things. IBM (and Lenovo, at least for the ThinkPad line) uses this schema for firmware versioning and model: Firmware model: Two digits, [0-9A-Z] Firmware version: AABBCCDD, where AA = firmware model, see above BB = "ET" for BIOS, "HT" for EC CC = release version, two digits, [0-9A-Z], "00" < "09" < "0A" < "10" < "A0" < "ZZ" DD = "WW" Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b964758050f856e44f5fe645d03bea8a1b0b66bd Author: Jarek Poplawski Date: Tue Jun 16 08:33:55 2009 +0000 pkt_sched: Update drops stats in act_police Action police statistics could be misleading because drops are not shown when expected. With feedback from: Jamal Hadi Salim Reported-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit e4f1482e686212e6d1dd6df93888bb26344981c6 Author: Stephen Hemminger Date: Wed Jun 17 07:30:40 2009 +0000 sky2: version 1.23 Version bump. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 37e5a2439b43bb90655e17f00c9db5759909a712 Author: Stephen Hemminger Date: Wed Jun 17 07:30:39 2009 +0000 sky2: add GRO support Add support for generic receive offload. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bd1c6869f14f88aa82587ff51303e72dc7eec30e Author: Stephen Hemminger Date: Wed Jun 17 07:30:38 2009 +0000 sky2: skb recycling This patch implements skb recycling. It reclaims transmitted skb's for use in the receive ring. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e9c1be80a7403fb817ec6229ec20a39e377cc4ce Author: Stephen Hemminger Date: Wed Jun 17 07:30:37 2009 +0000 sky2: reduce default transmit ring Reduce the size of the driver transmit ring to reduce latency and allow qdisc to do better rate control. Also make it obvious what the minimum transmit ring allowed is and why. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bf15fe996e050332c018cf63dd51288b081cc556 Author: Stephen Hemminger Date: Wed Jun 17 07:30:36 2009 +0000 sky2: receive counter update Since it is likely that there are multiple packets received per interrupt, only update the receive counters once after all packets are processed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6c83504ff24f4a6bf28ad865e7c0619b17349e08 Author: Stephen Hemminger Date: Wed Jun 17 07:30:35 2009 +0000 sky2: fix shutdown synchronization The logic in sky2_down was incorrect. Receiver could report status after rx_stop was called. The steps need to be: * stop new frames from being transmitted * shut off transmit/receive logic * synchronize with NAPI to process status info about transmitter and receiver Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1fd82f3cafa8e7854db08eccbdb8a9218225e1ef Author: Stephen Hemminger Date: Wed Jun 17 07:30:34 2009 +0000 sky2: PCI irq issues Add some read's to avoid any PCI posting issues when controlling irq's. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c0bad0f2e4366d5bbfe0c4a7a80bca8f4b05272b Author: Stephen Hemminger Date: Wed Jun 17 07:30:33 2009 +0000 sky2: more receive shutdown Reset more parts of the receive path when device is take offline. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d104acaf0540aee527d22eafd14b0a3d30be7f81 Author: Stephen Hemminger Date: Wed Jun 17 07:30:32 2009 +0000 sky2: turn off pause during shutdown This unblocks the chip if it is stuck in pause cycle during shutdown. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4bb3f522077f6b10531451f50c376d6137ebd364 Author: françois romieu Date: Wed Jun 17 11:41:45 2009 +0000 r8169: do not bring device down when suspending Stopping all activity through ChipCmd and blindly acking the irqs is neither nice nor completely needed: the transition to low-power mode does enough work and it apparently keeps the device in a sane state. Patch suggested by a fix for http://bugzilla.kernel.org/show_bug.cgi?id=9512 The rtl_shutdown path is kept unchanged so far. Signed-off-by: Francois Romieu Tested-by: Anders Eriksson Cc: Edward Hsu Signed-off-by: David S. Miller commit c2f3f3a2fe4e35db352cfe1176e384e36bfd91b1 Author: françois romieu Date: Wed Jun 17 11:43:11 2009 +0000 sis190: use an adequate phy list entry as a fallback When sis190 driver is trying to get default phy, if it doesn't find home or lan phy, it falls back to the first phy in the phy list but list_entry() points to a bogus entry. list_first_entry() should be used instead. Signed-off-by: Arnaud Patard Acked-off-by: Francois Romieu Signed-off-by: David S. Miller commit fb1001f3de1a8576b25d929502f1fe7865ff32dc Author: Haiying Wang Date: Wed Jun 17 13:16:10 2009 +0000 net/ucc_geth: Add SGMII support for UCC GETH driver -- derived from reverted commit 047584ce94108012288554a5f84585d792cc7f8f -- reworked by Grant Likely to play nice with commit: "net: Rework ucc_geth driver to use of_mdio infrastructure" (0b9da337dca972e7a4144e298ec3adb8f244d4a4) Signed-off-by: Haiying Wang Signed-off-by: David S. Miller Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit f3a32500ba8f3ec9ee0c12836fcfd315f1256db4 Author: Grant Likely Date: Wed Jun 17 13:16:04 2009 +0000 Revert "net/ucc_geth: Add SGMII support for UEC GETH driver" This reverts commit 047584ce94108012288554a5f84585d792cc7f8f. This patch meshes badly with "net: Rework ucc_geth driver to use of_mdio infrastructure" (0b9da337dca972e7a4144e298ec3adb8f244d4a4). Since most of the patch needs to be reworked, it is clearer to revert the patch and then apply the corrected version Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 603a8bbe62e54108055fca46ecdd611c10c6cd0a Author: Stephen Hemminger Date: Wed Jun 17 12:17:34 2009 +0000 skbuff: don't corrupt mac_header on skb expansion The skb mac_header field is sometimes NULL (or ~0u) as a sentinel value. The places where skb is expanded add an offset which would change this flag into an invalid pointer (or offset). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 19633e129c65e5bb62b1af545c5479afcdb01fc4 Author: Stephen Hemminger Date: Wed Jun 17 05:23:27 2009 +0000 skbuff: skb_mac_header_was_set is always true on >32 bit Looking at the crash in log_martians(), one suspect is that the check for mac header being set is not correct. The value of mac_header defaults to 0 on allocation, therefore skb_mac_header_was_set will always be true on platforms using NET_SKBUFF_USES_OFFSET. Signed-off-by: Stephen Hemminger Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b71a107c66ad952c9d35ec046a803efc89a80556 Merge: 4b337c5 e7c5a4f Author: Benjamin Herrenschmidt Date: Thu Jun 18 11:22:08 2009 +1000 Merge commit 'gcl/merge' into next Manual merge of: drivers/net/fec_mpc52xx.c commit 4b337c5f245b6587ba844ac7bb13c313a2912f7b Merge: 492b057 3fe0344 Author: Benjamin Herrenschmidt Date: Thu Jun 18 11:16:55 2009 +1000 Merge commit 'origin/master' into next commit 4bf259e3ae5015e73282ba66716c4a917e1264ac Author: James Morris Date: Wed Jun 17 18:02:14 2009 -0700 nfs: remove unnecessary NFS_INO_INVALID_ACL checks Unless I'm mistaken, NFS_INO_INVALID_ACL is being checked twice during getacl calls (i.e. first via nfs_revalidate_inode() and then by each all site). Signed-off-by: Trond Myklebust commit a5a16bae707cd5d2bc97d7bd1a30079f18113a77 Author: Chuck Lever Date: Wed Jun 17 18:02:14 2009 -0700 NFS: More "sloppy" parsing problems Specifying "port=-5" with the kernel's current mount option parser generates "unrecognized mount option". If "sloppy" is set, this causes the mount to succeed and use the default values; the desired behavior is that, since this is a valid option with an invalid value, the mount should fail, even with "sloppy." To properly handle "sloppy" parsing, we need to distinguish between correct options with invalid values, and incorrect options. We will need to parse integer values by hand, therefore, and not rely on match_token(). For instance, these must all fail with "invalid value": port=12345678 port=-5 port=samuel and not with "unrecognized option," as they do currently. Thus, for the sake of match_token() we need to treat the values for these options as strings, and do the conversion to integers using strict_strtol(). This is basically the same solution we used for the earlier "retry=" fix (commit ecbb3845), except in this case the kernel actually has to parse the value, rather than ignore it. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d23c45fd84f79a3b84899dac053dcafe9d43ebc9 Author: Chuck Lever Date: Wed Jun 17 18:02:13 2009 -0700 NFS: Invalid mount option values should always fail, even with "sloppy" Ian Kent reports: "I've noticed a couple of other regressions with the options vers and proto option of mount.nfs(8). The commands: mount -t nfs -o vers= :/ / mount -t nfs -o proto= :/ / both immediately fail. But if the "-s" option is also used they both succeed with the mount falling back to defaults (by the look of it). In the past these failed even when the sloppy option was given, as I think they should. I believe the sloppy option is meant to allow the mount command to still function for mount options (for example in shared autofs maps) that exist on other Unix implementations but aren't present in the Linux mount.nfs(8). So, an invalid value specified for a known mount option is different to an unknown mount option and should fail appropriately." See RH bugzilla 486266. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 065015e5efff60884ad600a3e9a5127dbb684429 Author: Chuck Lever Date: Wed Jun 17 18:02:13 2009 -0700 NFS: Remove unused XDR decoder functions Clean up: Remove xdr_decode_fhstatus() and xdr_decode_fhstatus3(), now that they are unused. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8e02f6b9aae9b265064f929c6df15222b9baf256 Author: Chuck Lever Date: Wed Jun 17 18:02:13 2009 -0700 NFS: Update MNT and MNT3 reply decoding functions Solder xdr_stream-based XDR decoding functions into the in-kernel mountd client that are more careful about checking data types and watching for buffer overflows. The new MNT3 decoder includes support for auth-flavor list decoding. The "_sz" macro for MNT3 replies was missing the size of the file handle. I've added this back, and included the size of the auth flavor array. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a14017db2852f9393a401a0f64053c331003babf Author: Chuck Lever Date: Wed Jun 17 18:02:12 2009 -0700 NFS: add XDR decoder for mountd version 3 auth-flavor lists Introduce an xdr_stream-based XDR decoder that can unpack the auth- flavor list returned in a MNT3 reply. The nfs_mount() function's caller allocates an array, and passes the size and a pointer to it. The decoder decodes all the flavors it can into the array, and returns the number of decoded flavors. If the caller is not interested in the auth flavors, it can pass a value of zero as the size of the pre-allocated array. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4fdcd9966d8469be26a6f12122ac21ffce19fc20 Author: Chuck Lever Date: Wed Jun 17 18:02:12 2009 -0700 NFS: add new file handle decoders to in-kernel mountd client Introduce xdr_stream-based XDR file handle decoders to the in-kernel mountd client. These are more careful than the existing decoder functions about buffer overflows and data type and range checking. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fb12529577541aa02f9c3d9e325329f9568dfb58 Author: Chuck Lever Date: Wed Jun 17 18:02:12 2009 -0700 NFS: Add separate mountd status code decoders for each mountd version Introduce data structures and xdr_stream-based decoding functions for unmarshalling mountd status codes properly. Mountd version 3 uses specific standard error return codes that are not errno values and not NFS3ERR_ values. These have a well-defined standard mapping to local errno values. Introduce data structures and a decoder function that map these status codes to local errno values properly. This is new functionality (but not used yet). Version 1 mountd status values are defined by RFC 1094 as UNIX error values (errno values). Errno values on heterogeneous systems do not necessarily match each other. To avoid exposing possibly incorrect errno values to upper layers, the current XDR decoder converts all non-zero MNT version 1 status codes to -EACCES. The OpenGroup XNFS standard provides a mapping similar to but smaller than the version 3 error codes. Implement a decoder that uses the XNFS error codes, replacing the current decoder. For both mountd protocol versions, map unrecognized errors to -EACCES. Finally we introduce a replacement data structure for mnt_fhstatus at this time, which is used by the new XDR decoders. In addition to documenting that the status value returned by the XDR decoders is always an errno, this new structure will be expanded in subsequent patches. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 99835db430904e90c0640ebc6b91cd2a90a118f7 Author: Chuck Lever Date: Wed Jun 17 18:02:11 2009 -0700 NFS: remove unused function in fs/nfs/mount_clnt.c Clean up: remove xdr_encode_dirpath() now that it has been replaced. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 29a1bd6bf8c7a9ff511aaaf7e40fd6ca5198babe Author: Chuck Lever Date: Wed Jun 17 18:02:11 2009 -0700 NFS: Use xdr_stream-based XDR encoder for MNT's dirpath argument Check the length of the supplied dirpath, and see that it fits properly in the RPC buffer. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2ad780978b7c0c3e7877949f098cbd06e7c73839 Author: Chuck Lever Date: Wed Jun 17 18:02:11 2009 -0700 NFS: Clean up MNT program definitions Clean up: Relocate MNT program procedure number definitions to the only file that uses them. Relocate the version number definitions, which are shared, to nfs.h. Remove duplicate program number definitions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0e5c2632e1c9182f0dadc31bec68d6f42e7905ea Author: Chuck Lever Date: Wed Jun 17 18:02:11 2009 -0700 lockd: Don't bother with RPC ping for NSM upcalls Cut NSM upcall RPC traffic in half -- don't do a NULL call first. The cases where a ping would be helpful are rare. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6c9dc4255108bab4ef5c177d369b99c3c23492a7 Author: Chuck Lever Date: Wed Jun 17 18:02:10 2009 -0700 lockd: Update NSM state from SM_MON replies When rpc.statd starts up in user space at boot time, it attempts to write the latest NSM local state number into /proc/sys/fs/nfs/nsm_local_state. If lockd.ko isn't loaded yet (as is the case in most configurations), that file doesn't exist, thus the kernel's NSM state remains set to its initial value of zero during lockd operation. This is a problem because rpc.statd and lockd use the NSM state number to prevent repeated lock recovery on rebooted hosts. If lockd sends a zero NSM state, but then a delayed SM_NOTIFY with a real NSM state number is received, there is no way for lockd or rpc.statd to distinguish that stale SM_NOTIFY from an actual reboot. Thus lock recovery could be performed after the rebooted host has already started reclaiming locks, and those locks will be lost. We could change /etc/init.d/nfslock so it always modprobes lockd.ko before starting rpc.statd. However, if lockd.ko is ever unloaded and reloaded, we are back at square one, since the NSM state is not preserved across an unload/reload cycle. This may happen frequently on clients that use automounter. A period of NFS inactivity causes lockd.ko to be unloaded, and the kernel loses its NSM state setting. Instead, let's use the fact that rpc.statd plants the local system's NSM state in every SM_MON (and SM_UNMON) reply. lockd performs a synchronous SM_MON upcall to the local rpc.statd _before_ sending its first NLM request to a new remote. This would permit rpc.statd to provide the current NSM state to lockd, even after lockd.ko had been unloaded and reloaded. Note that NLMPROC_LOCK arguments are constructed before the nsm_monitor() call, so we have to rearrange argument construction very slightly to make this all work out. And, the kernel appears to treat NSM state as a u32 (see struct nlm_args and nsm_res). Make nsm_local_state a u32 as well, to ensure we don't get bogus comparison results. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 18fc31641925867c871bc75270ce642c039188d3 Author: Chuck Lever Date: Wed Jun 17 18:02:10 2009 -0700 NFS: Fix false error return from nfs_callback_up() if ipv6.ko is not available Clear "ret" if the error return from svc_create_xprt(AF_INET6) was -EAFNOSUPORT. Otherwise, callback start-up will succeed, but nfs_callback_up() will return -EAFNOSUPPORT anyway, and the first NFSv4 mount attempt after a reboot will fail. Bug introduced by commit f738f517 in 2.6.30-rc1. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a21bdd9b960ccce421b63aa0e3efda4fcdc26f10 Author: Chuck Lever Date: Wed Jun 17 18:02:10 2009 -0700 NFS: Return error code from nfs_callback_up() to user space If the kernel cannot start the NFSv4 callback service during a mount request, it returns -ENOMEM to user space, resulting in this message: mount.nfs4: Cannot allocate memory Adjust nfs_alloc_client() and nfs_get_client() to pass NFSv4 callback start-up errors back to user space so a less mysterious error message can be displayed by the mount command. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c381ad2cf2d5dcd3991bcc8a18fddd9d5c66ccaa Author: Chuck Lever Date: Wed Jun 17 18:02:09 2009 -0700 NFS: Do not display the setting of the "intr" mount option The "intr" mount option has been deprecated for a while, but /proc/mounts continues to display "nointr" whether "intr" or "nointr" has been specified for a mount point. Since these options do not have any effect, simply do not display them. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bf40d3435caf49369058b1ed6bbc92f8e2bd92f1 Author: Suresh Jayaraman Date: Wed Jun 17 18:02:09 2009 -0700 NFS: add support for splice writes Adds support for splice writes. It effectively calls generic_file_splice_write() to do the writes. We need not worry about O_APPEND case as the combination of splice() writes and O_APPEND is disallowed. This patch propagates NFS write errors back to the caller. The number of bytes written via splice are being added to NFSIO_NORMALWRITTENBYTES as these are effectively cached writes. Signed-off-by: Suresh Jayaraman Signed-off-by: Trond Myklebust commit 301933a0acfdec837fd8b4884093b3f0fff01d8a Merge: 3fe0344 68f3f90 Author: Trond Myklebust Date: Wed Jun 17 17:59:58 2009 -0700 Merge commit 'linux-pnfs/nfs41-for-2.6.31' into nfsv41-for-2.6.31 commit 536fc240e7147858255bdb08e7a999a3351a9fb4 Author: Hisashi Hifumi Date: Wed Jun 17 20:08:51 2009 -0400 jbd2: clean up jbd2_journal_try_to_free_buffers() This patch reverts 3f31fddf, which is no longer needed because if a race between freeing buffer and committing transaction functionality occurs and dio gets error, currently dio falls back to buffered IO due to the commit 6ccfa806. Signed-off-by: Hisashi Hifumi Cc: Mingming Cao Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 48606a9f2fc034f0b308d088c1f7ab6d407c462c Author: NeilBrown Date: Thu Jun 18 09:14:12 2009 +1000 md/raid5: correctly update sync_completed when we reach max_resync At the end of reshape_request we update cyrr_resync_completed if we are about to pause due to reaching resync_max. However we update it to the wrong value. We need to add the "reshape_sectors" that have just been reshaped. Signed-off-by: NeilBrown commit 7a3ab908948b6296ee7e81d42f7c176361c51975 Author: Dan Williams Date: Tue Jun 16 16:00:33 2009 -0700 md/raid5: add missing call to schedule() after prepare_to_wait() In the unlikely event that reshape progresses past the current request while it is waiting for a stripe we need to schedule() before retrying for 2 reasons: 1/ Prevent list corruption from duplicated list_add() calls without intervening list_del(). 2/ Give the reshape code a chance to make some progress to resolve the conflict. Cc: Signed-off-by: Dan Williams Signed-off-by: NeilBrown commit 495d357301e1de01fabe30ce9a555301fb4675c3 Author: NeilBrown Date: Thu Jun 18 08:49:42 2009 +1000 md/linear: use call_rcu to free obsolete 'conf' structures. Current, when we update the 'conf' structure, when adding a drive to a linear array, we keep the old version around until the array is finally stopped, as it is not safe to free it immediately. Now that we have rcu protection on all accesses to 'conf', we can use call_rcu to free it more promptly. Signed-off-by: NeilBrown commit af11c397fd8835c70ec0bb777104e4ab98b2d660 Author: SandeepKsinha Date: Thu Jun 18 08:49:35 2009 +1000 md linear: Protecting mddev with rcu locks to avoid races Due to the lack of memory ordering guarantees, we may have races around mddev->conf. In particular, the correct contents of the structure we get from dereferencing ->private might not be visible to this CPU yet, and they might not be correct w.r.t mddev->raid_disks. This patch addresses the problem using rcu protection to avoid such race conditions. Signed-off-by: SandeepKsinha Signed-off-by: NeilBrown commit 0894cc3066aaa3e75a99383c0d25feebf9b688ac Author: Andre Noll Date: Thu Jun 18 08:49:23 2009 +1000 md: Move check for bitmap presence to personality code. If the superblock of a component device indicates the presence of a bitmap but the corresponding raid personality does not support bitmaps (raid0, linear, multipath, faulty), then something is seriously wrong and we'd better refuse to run such an array. Currently, this check is performed while the superblocks are examined, i.e. before entering personality code. Therefore the generic md layer must know which raid levels support bitmaps and which do not. This patch avoids this layer violation without adding identical code to various personalities. This is accomplished by introducing a new public function to md.c, md_check_no_bitmap(), which replaces the hard-coded checks in the superblock loading functions. A call to md_check_no_bitmap() is added to the ->run method of each personality which does not support bitmaps and assembly is aborted if at least one component device contains a bitmap. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 8190e754e0723de7cecb80bdd9eb93911dfa04a1 Author: NeilBrown Date: Thu Jun 18 08:48:58 2009 +1000 md: remove chunksize rounding from common code. It is easiest to round sizes to multiples of chunk size in the personality code for those personalities which care. Those personalities now do the rounding, so we can remove that function from common code. Also remove the upper bound on the size of a chunk, and the lower bound on the size of a device (1 chunk), neither of which really buy us anything. Signed-off-by: NeilBrown commit 13f2682b7216ebebd72b3d5868fe7fccec91a92d Author: NeilBrown Date: Thu Jun 18 08:48:55 2009 +1000 md: raid0/linear: ensure device sizes are rounded to chunk size. This is currently ensured by common code, but it is more reliable to ensure it where it is needed in personality code. All the other personalities that care already round the size to the chunk_size. raid0 and linear are the only hold-outs. Signed-off-by: NeilBrown commit 1b57f132231593923cb4ab99943ddd777e8745bc Author: NeilBrown Date: Thu Jun 18 08:48:19 2009 +1000 md: move assignment of ->utime so that it never gets skipped. Currently the assignment to utime gets skipped for 'external' metadata. So move it to the top of the function so that it always gets effected. This is of largely cosmetic interest. Nothing actually depends on ->utime being right for external arrays. "mdadm --monitor" does use it for 0.90 and 1.x arrays, but with mdadm-3.0, this is not important for external metadata. Signed-off-by: NeilBrown commit 8c6ac868b107ed50a46204f6d14e2ad9443ff146 Author: Andre Noll Date: Thu Jun 18 08:48:06 2009 +1000 md: Push down reconstruction log message to personality code. Currently, the md layer checks in analyze_sbs() if the raid level supports reconstruction (mddev->level >= 1) and if reconstruction is in progress (mddev->recovery_cp != MaxSector). Move that printk into the personality code of those raid levels that care (levels 1, 4, 5, 6, 10). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 50ac168a6e0a061bf5346d53aa9e7beb94c97527 Author: NeilBrown Date: Thu Jun 18 08:47:55 2009 +1000 md: merge reconfig and check_reshape methods. The difference between these two methods is artificial. Both check that a pending reshape is valid, and perform any aspect of it that can be done immediately. 'reconfig' handles chunk size and layout. 'check_reshape' handles raid_disks. So make them just one method. Signed-off-by: NeilBrown commit 597a711b69cfff95c4b8f6069037e7ad3fc71f56 Author: NeilBrown Date: Thu Jun 18 08:47:42 2009 +1000 md: remove unnecessary arguments from ->reconfig method. Passing the new layout and chunksize as args is not necessary as the mddev has fields for new_check and new_layout. This is preparation for combining the check_reshape and reconfig methods Signed-off-by: NeilBrown commit 01ee22b496c41384eaa6dcae983c86d8bc32fbb8 Author: NeilBrown Date: Thu Jun 18 08:47:20 2009 +1000 md: raid5: check stripe cache is large enough in start_reshape In reshape cases that do not change the number of devices, start_reshape is called without first calling check_reshape. Currently, the check that the stripe_cache is large enough is only done in check_reshape. It should be in start_reshape too. Signed-off-by: NeilBrown commit d6e412eaa52db82010f12ea7d2c9b9468e933c44 Author: NeilBrown Date: Thu Jun 18 08:47:00 2009 +1000 md: raid0: chunk_sectors cleanups. following the conversion to chunk_sectors, there is room for cleaning up a little. Signed-off-by: NeilBrown commit cdc2ae6d6a30df8fd92c5e300d0e3005e13eb6b0 Author: Andre Noll Date: Thu Jun 18 08:46:47 2009 +1000 md: fix some comments. 1/ Raid5 has learned to take over also raid4 and raid6 arrays. 2/ new_chunk in mdp_superblock_1 is in sectors, not bytes. Signed-off-by: NeilBrown commit 0ba459d26260d4d13346c76642f461b2bf607eef Author: Andre Noll Date: Thu Jun 18 08:46:10 2009 +1000 md/raid5: Use is_power_of_2() in raid5_reconfig()/raid6_reconfig(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 09c9e5fa1b93ad5b81c9dcf8ce3a5b9ae2ac31e4 Author: Andre Noll Date: Thu Jun 18 08:45:55 2009 +1000 md: convert conf->chunk_size and conf->prev_chunk to sectors. This kills some more shifts. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 664e7c413f1e90eceb0b2596dd73a0832faec058 Author: Andre Noll Date: Thu Jun 18 08:45:27 2009 +1000 md: Convert mddev->new_chunk to sectors. A straight-forward conversion which gets rid of some multiplications/divisions/shifts. The patch also introduces a couple of new ones, most of which are due to conf->chunk_size still being represented in bytes. This will be cleaned up in subsequent patches. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 9d8f0363623b3da12c43007cf77f5e1a4e8a5964 Author: Andre Noll Date: Thu Jun 18 08:45:01 2009 +1000 md: Make mddev->chunk_size sector-based. This patch renames the chunk_size field to chunk_sectors with the implied change of semantics. Since is_power_of_2(chunk_size) = is_power_of_2(chunk_sectors << 9) = is_power_of_2(chunk_sectors) these bits don't need an adjustment for the shift. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit d78b47b9a527bf46cb6081555847facd6efd5f81 Author: Chris Wilson Date: Wed Jun 17 21:52:49 2009 +0100 drm/i915: detach/attach get/put pages symmetry After performing an operation over the page list for a buffer retrieved by i915_gem_object_get_pages() the pages need to be returned with i915_gem_object_put_pages(). This was not being observed for the phys objects which were thus leaking references to their backing pages. Signed-off-by: Chris Wilson CC: Dave Airlie Signed-off-by: Eric Anholt commit 76cff81ad1cfa3bd8b52b5e4510702ce2ed28335 Author: Ben Gamari Date: Wed Jun 10 18:26:20 2009 -0400 drm/i915: A few debugfs formatting fixes Signed-Off-By: Ben Gamari Signed-off-by: Eric Anholt commit 049b77cb2ad8bd36308a4a424ca4f2eb4d65d2af Author: Ben Gamari Date: Thu Jun 11 00:44:26 2009 -0400 drm/i915: Warn when inteldrmfb fails to restore its framebuffer config While sifting through the inteldrmfb code trying to solve #22040 I found that the fb restore path doesn't check the return value of drm_crtc_helper_set_config(), which seems to have all sorts of potential failure modes. We should warn someone if one of these is triggered. Signed-Off-By: Ben Gamari Acked-by: Jesse Barnes [anholt: hand-applied, failures are mine] Signed-off-by: Eric Anholt commit 68f3f90133d56e0c38f04f991e662c2b21592b31 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:35 2009 -0400 nfs41: Backchannel: CB_SEQUENCE validation Validates the callback's sessionID, the slot number, and the sequence ID. Increments the slot's sequence. Detects replays, but simply prints a debug message (if debugging is enabled since we don't yet implement a duplicate request cache for the backchannel. This should not present a problem, since only idempotent callbacks are currently implemented. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: Backchannel: Be more obvious about the return value] [nfs41: Backchannel: dprink in host order] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 963891ac43ecf9974d82f4c178752e11e007cf87 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:34 2009 -0400 nfs41: Backchannel: New find_client_with_session() Finds the 'struct nfs_client' that matches the server's address, major version number, and session ID. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit f8625a6a4bb76207302be58453603d8e324df490 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:33 2009 -0400 nfs41: Backchannel: Add a backchannel slot table to the session Defines a new 'struct nfs4_slot_table' in the 'struct nfs4_session' for use by the backchannel. Initializes, resets, and destroys the backchannel slot table in the same manner the forechannel slot table is initialized, reset, and destroyed. The sequenceid for each slot in the backchannel slot table is initialized to 0, whereas the forechannel slotid's sequenceid is set to 1. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 050047ce71bcf60867d2af7a9dc965a9c6f15cb8 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:32 2009 -0400 nfs41: Backchannel: Refactor nfs4_init_slot_table() Generalize nfs4_init_slot_table() so it can be used to initialize the backchannel slot table in addition to the forechannel slot table. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit b73dafa7ac94ca8387f65c57cb63a7ffac91bf2c Author: Ricardo Labiaga Date: Wed Apr 1 09:23:31 2009 -0400 nfs41: Backchannel: Refactor nfs4_reset_slot_table() Generalize nfs4_reset_slot_table() so it can be used to reset the backchannel slot table in addition to the forechannel slot table. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 65fc64e547c794764a441e16e95bb76c0e256bd7 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:30 2009 -0400 nfs41: Backchannel: update cb_sequence args and results Change the type of cs_addr and csr_status to 'struct sockaddr' and '__be32' since the cb_sequence processing function will use existing functionality that expects these types. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit dd2b63d049480979016b959abc2d141cdddb1389 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:28 2009 -0400 nfs41: Rename rq_received to rq_reply_bytes_recvd The 'rq_received' member of 'struct rpc_rqst' is used to track when we have received a reply to our request. With v4.1, the backchannel can now accept callback requests over the existing connection. Rename this field to make it clear that it is only used for tracking reply bytes and not all bytes received on the connection. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 281fe15dc1d6ad46992f18b7a6644269ec5f7138 Author: Benny Halevy Date: Wed Apr 1 09:23:27 2009 -0400 nfs41: verify CB_SEQUENCE position in callback compound CB_SEQUENCE must appear first in the callback compound RPC. If it is not the first operation NFS4ERR_SEQUENCE_POS must be returned. If the first operation ni the CB_COMPOUND is not CB_SEQUENCE then NFS4ERR_OP_NOT_IN_SESSION must be returned. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: refactor op preprocessing out of process_op] Signed-off-by: Benny Halevy commit 4aece6a19cf7f474f15eb861ba74db4479884ce3 Author: Benny Halevy Date: Wed Apr 1 09:23:26 2009 -0400 nfs41: cb_sequence xdr implementation [nfs41: get rid of READMEM and COPYMEM for callback_xdr.c] Signed-off-by: Benny Halevy [nfs41: get rid of READ64 in callback_xdr.c] See http://linux-nfs.org/pipermail/pnfs/2009-June/007846.html Signed-off-by: Benny Halevy commit d49433e1e3bb144a5752ce2a8ba1139dc519df1a Author: Benny Halevy Date: Wed Apr 1 09:23:25 2009 -0400 nfs41: cb_sequence proc implementation Currently, just free up any referring calls information. Signed-off-by: Benny Halevy [nfs41: fix csr_{,target}highestslotid] Signed-off-by: Benny Halevy commit 2d9b9ec344b19b7b65c732b7000114df57684140 Author: Benny Halevy Date: Wed Apr 1 09:23:24 2009 -0400 nfs41: cb_sequence protocol level data structures Signed-off-by: Benny Halevy commit 34bc47c941a074f91c2455b4b08503d02c74b878 Author: Benny Halevy Date: Wed Apr 1 09:23:22 2009 -0400 nfs41: consider minorversion in callback_xdr:process_op Note that this patch changes the nfsv4.0 behavior also when CONFIG_NFS_V4_1 is not defined where NFS4ERR_MINOR_VERS_MISMATCH will be returned if the client received a CB_COMPOUND with minorversion != 0. Previously, it would have returned NFS4ERR_OP_ILLEGAL for CB_SEQUENCE. (or if the server is broken and sent OP_CB_GETATTR or OP_CB_RECALL with minorversion!=0, they would have been processed normally. Signed-off-by: Benny Halevy [nfs41: refactor op preprocessing out of process_op] See http://linux-nfs.org/pipermail/pnfs/2009-June/007845.html [nfs41: define CB_NOTIFY_DEVICEID as not supported] Signed-off-by: Benny Halevy commit 45377b94edea18f53dd3ba4d46d94de4bb7c00b5 Author: Benny Halevy Date: Wed Apr 1 09:23:21 2009 -0400 nfs41: callback numbers definitions Signed-off-by: Benny Halevy commit 48a9e2d2289ed4b5053b3986d99709e9b07a0923 Author: Benny Halevy Date: Wed Apr 1 09:23:20 2009 -0400 nfs41: decode minorversion 1 cb_compound header decode cb_compound header conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Get rid of cb_compound_hdr_arg.callback_ident callback_ident is not used anywhere so we shouldn't waste any memory to store it. Signed-off-by: Benny Halevy [nfs41: no need to break read_buf in decode_compound_hdr_arg] See http://linux-nfs.org/pipermail/pnfs/2009-June/007844.html Signed-off-by: Benny Halevy commit b8f2ef84b079ceb22b42d6d353609db7eb8efa93 Author: Benny Halevy Date: Wed Apr 1 09:23:19 2009 -0400 nfs41: store minorversion in cb_compound_hdr_arg Signed-off-by: Benny Halevy commit 5a0ffe544c54f62be99751e369f4d0f44bd5ee19 Author: Andy Adamson Date: Wed Apr 1 09:23:18 2009 -0400 nfs41: Release backchannel resources associated with session Frees the preallocated backchannel resources that are associated with this session when the session is destroyed. A backchannel is currently created once per session. Destroy the backchannel only when the session is destroyed. Signed-off-by: Ricardo Labiaga Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy commit 343952fa5aac888934ffc203abed26a823400eb6 Author: Rahul Iyer Date: Wed Apr 1 09:23:17 2009 -0400 nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt. Obtain the rpc_xprt from the rpc_rqst so that calls and callback replies can both use the same code path. A client needs the rpc_xprt in order to reply to a callback. Signed-off-by: Rahul Iyer Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 0f91421e8ea986c990c01bf091ceff1d59c165ff Author: Andy Adamson Date: Wed Apr 1 09:23:16 2009 -0400 nfs41: Client indicates presence of NFSv4.1 callback channel. Set the SESSION4_BACK_CHAN flag to indicate the client supports a backchannel. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 0b5b7ae0a853c91015bb3b1729166ca65f693322 Author: Andy Adamson Date: Wed Apr 1 09:23:15 2009 -0400 nfs41: Setup the backchannel The NFS v4.1 callback service has already been setup, and rpc_xprt->serv points to the svc_serv structure describing it. Invoke the xprt_setup_backchannel() initialization to pre- allocate the necessary backchannel structures. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: change nfs4_put_session(nfs4_session**) to nfs4_destroy_session(nfs_session*)] Signed-off-by: Alexandros Batsakis Signed-off-by: Benny Halevy [moved xprt_setup_backchannel from nfs4_init_session to nfs4_init_backchannel] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy commit e82dc22dac6525a2f365a1d53c0483252d4aa38e Author: Andy Adamson Date: Wed Apr 1 09:23:14 2009 -0400 nfs41: Allow NFSv4 and NFSv4.1 callback services to coexist Tracks the nfs_callback_info for both versions, enabling the callback service for v4 and v4.1 to run concurrently and be stopped independently of each other. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 8f975242352e92898dc641ebff0d24808f39848a Author: Benny Halevy Date: Wed Apr 1 09:23:11 2009 -0400 nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks Signed-off-by: Benny Halevy commit 9c9f3f5fa62cc4959e4d4d1cf1ec74f2d6ac1197 Author: Andy Adamson Date: Wed Apr 1 09:23:10 2009 -0400 nfs41: sunrpc: add a struct svc_xprt pointer to struct svc_serv for backchannel use This svc_xprt is passed on to the callback service thread to be later used to processes incoming svc_rqst's Signed-off-by: Benny Halevy commit 7652e5a09ba319241607b22d9055ce93fd5b8039 Author: Benny Halevy Date: Wed Apr 1 09:23:09 2009 -0400 nfs41: sunrpc: provide functions to create and destroy a svc_xprt for backchannel use For nfs41 callbacks we need an svc_xprt to process requests coming up the backchannel socket as rpc_rqst's that are transformed into svc_rqst's that need a rq_xprt to be processed. The svc_{udp,tcp}_create methods are too heavy for this job as svc_create_socket creates an actual socket to listen on while for nfs41 we're "reusing" the fore channel's socket. Signed-off-by: Benny Halevy commit a43cde94feded0f65fce36330614691c650ae8fe Author: Ricardo Labiaga Date: Wed Apr 1 09:23:08 2009 -0400 nfs41: Implement NFSv4.1 callback service process. nfs41_callback_up() initializes the necessary queues and creates the new nfs41_callback_svc thread. This thread executes the callback service which waits for requests to arrive on the svc_serv->sv_cb_list. NFS41_BC_MIN_CALLBACKS is set to 1 because we expect callbacks to not cause substantial latency. The actual processing of the callback will be implemented as a separate patch. There is only one NFSv4.1 callback service. The first caller of nfs4_callback_up() creates the service, subsequent callers increment a reference count on the service. The service is destroyed when the last caller invokes nfs_callback_down(). The transport needs to hold a reference to the callback service in order to invoke it during callback processing. Currently this reference is only obtained when the service is first created. This is incorrect, since subsequent registrations for other transports will leave the xprt->serv pointer uninitialized, leading to an oops when a callback arrives on the "unreferenced" transport. This patch fixes the problem by ensuring that a reference to the service is saved in xprt->serv, either because the service is created by this invocation to nfs4_callback_up() or by a prior invocation. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: Add a reference to svc_serv during callback service bring up] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Type check arguments of nfs_callback_up] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: save svc_serv in nfs_callback_info] Signed-off-by: Benny Halevy [Removal of ugly #ifdefs] [nfs41: Update to removal of ugly #ifdefs] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 4d6bbb6233c9cf23822a2f66f8470c9f40854b77 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:07 2009 -0400 nfs41: Backchannel bc_svc_process() Implement the NFSv4.1 backchannel service. Invokes the common callback processing logic svc_process_common() to authenticate the call and dispatch the appropriate NFSv4.1 XDR decoder and operation procedure. It then invokes bc_send() to send the reply over the same connection. bc_send() is implemented in a separate patch. At this time there is no slot validation or reply cache handling. [nfs41: Preallocate rpc_rqst receive buffer for handling callbacks] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Move bc_svc_process() declaration to correct patch] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 1cad7ea6fe98dc414bd3df55275c147bd15ebf97 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:06 2009 -0400 nfs41: Refactor svc_process() net/sunrpc/svc.c:svc_process() is used by the NFSv4 callback service to process RPC requests arriving over connections initiated by the server. NFSv4.1 supports callbacks over the backchannel on connections initiated by the client. This patch refactors svc_process() so that common code can also be used by the backchannel. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 0d90ba1cd416525c4825c111db862d8b15a02e9b Author: Ricardo Labiaga Date: Wed Apr 1 09:23:04 2009 -0400 nfs41: Backchannel callback service helper routines Executes the backchannel task on the RPC state machine using the existing open connection previously established by the client. Signed-off-by: Ricardo Labiaga nfs41: Add bc_svc.o to sunrpc Makefile. [nfs41: bc_send() does not need to be exported outside RPC module] [nfs41: xprt_free_bc_request() need not be exported outside RPC module] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Update copyright] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 55ae1aabfb108106dd095de2578ceef1c755a8b8 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:03 2009 -0400 nfs41: Add backchannel processing support to RPC state machine Adds rpc_run_bc_task() which is called by the NFS callback service to process backchannel requests. It performs similar work to rpc_run_task() though "schedules" the backchannel task to be executed starting at the call_trasmit state in the RPC state machine. It also introduces some miscellaneous updates to the argument validation, call_transmit, and transport cleanup functions to take into account that there are now forechannel and backchannel tasks. Backchannel requests do not carry an RPC message structure, since the payload has already been XDR encoded using the existing NFSv4 callback mechanism. Introduce a new transmit state for the client to reply on to backchannel requests. This new state simply reserves the transport and issues the reply. In case of a connection related error, disconnects the transport and drops the reply. It requires the forechannel to re-establish the connection and the server to retransmit the request, as stated in NFSv4.1 section 2.9.2 "Client and Server Transport Behavior". Note: There is no need to loop attempting to reserve the transport. If EAGAIN is returned by xprt_prepare_transmit(), return with tk_status == 0, setting tk_action to call_bc_transmit. rpc_execute() will invoke it again after the task is taken off the sleep queue. [nfs41: rpc_run_bc_task() need not be exported outside RPC module] [nfs41: New call_bc_transmit RPC state] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: Backchannel: No need to loop in call_bc_transmit()] Signed-off-by: Andy Adamson Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [rpc_count_iostats incorrectly exits early] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Convert rpc_reply_expected() to inline function] [Remove unnecessary BUG_ON()] [Rename variable] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 1d89b30cc9be41af87881682ec82e2c107849dbe Author: Matthew Wilcox Date: Wed Jun 17 16:33:36 2009 -0400 ia64: Fix resource assignment for root busses ia64 was assigning resources to root busses after allocations had been made for child busses. Calling pcibios_setup_root_windows() from pcibios_fixup_bus() solves this problem by assigning the resources to the root bus before child busses are scanned. Signed-off-by: Matthew Wilcox Tested-by: Andrew Patterson Signed-off-by: Linus Torvalds commit a76117dfd687ec4be0a9a05214f3009cc5f73a42 Author: Matthew Wilcox Date: Wed Jun 17 16:33:35 2009 -0400 x86: Use pci_claim_resource Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit a6c140969b4685f9b9f6773c0760f55ca66d1825 Author: Matthew Wilcox Date: Wed Jun 17 16:33:34 2009 -0400 Delete pcibios_select_root This function was only used by pci_claim_resource(), and the last commit deleted that use. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit cebd78a8c5624b5cf04c39c3335a5fc8670a7b69 Author: Matthew Wilcox Date: Wed Jun 17 16:33:33 2009 -0400 Fix pci_claim_resource Instead of starting from the iomem or ioport roots, start from the parent bus' resources. This fixes a bug where child resources would appear above their parents resources if they had the same size. Signed-off-by: Matthew Wilcox Tested-by: Andrew Patterson Signed-off-by: Linus Torvalds commit 4b221f0313f0f7f1f7aa0a1fd16ad400840def26 Author: Steven Rostedt Date: Wed Jun 17 17:01:09 2009 -0400 ring-buffer: have benchmark test print to trace buffer Currently the output of the ring buffer benchmark/test prints to the console. This test runs for ten seconds every ten seconds and ouputs the result after every iteration. This needlessly fills up the logs. This patch makes the ring buffer benchmark/test print to the ftrace buffer using trace_printk. To view the test results, you must examine the debug/tracing/trace file. Signed-off-by: Steven Rostedt commit 5cd973c44a92f4abf8f7084c804089b3eaa7b4bf Author: Trond Myklebust Date: Wed Jun 17 13:23:01 2009 -0700 NFSv4/NLM: Push file locking BKL dependencies down into the NLM layer Signed-off-by: Trond Myklebust commit 3f09df70e3a33590ae5a97b8a15486d3711c7065 Author: Trond Myklebust Date: Wed Jun 17 13:23:00 2009 -0700 NFS: Ensure we always hold the BKL when dereferencing inode->i_flock Signed-off-by: Trond Myklebust commit 965b5d679146c9f69bc0325388bb9ed357863c4f Author: Trond Myklebust Date: Wed Jun 17 13:22:59 2009 -0700 NFSv4: Handle more errors when recovering open file and locking state It is possible for servers to return NFS4ERR_BAD_STATEID when the state management code is recovering locks or is reclaiming state when returning a delegation. Ensure that we handle that case. While we're at it, add in handlers for NFS4ERR_STALE, NFS4ERR_ADMIN_REVOKED, NFS4ERR_OPENMODE, NFS4ERR_DENIED and NFS4ERR_STALE_STATEID, since the protocol appears to allow for them too. Also handle ENOMEM... Finally, rather than add new NFSv4.0-specific errors and error handling into the generic delegation code, move that open file and locking state error handling into the NFSv4 layer. Signed-off-by: Trond Myklebust commit d5122201a7f90b2aa73092f158b84d1d74f1134d Author: Trond Myklebust Date: Wed Jun 17 13:22:58 2009 -0700 NFSv4: Move error handling out of the delegation generic code The NFSv4 delegation recovery code is required by the protocol to handle more errors. Rather than add NFSv4.0 specific errors into 'generic' delegation code, we should move the error handling into the NFSv4 layer. Signed-off-by: Trond Myklebust commit 01c3f05228ce7fc19baa103e4e4bf6c1b5062a53 Author: Trond Myklebust Date: Wed Jun 17 13:22:58 2009 -0700 NFSv4: Fix the 'nolock' option regression NFSv4 should just ignore the 'nolock' option. It is an NFSv2/v3 thing... This fixes the Oops in http://bugzilla.kernel.org/show_bug.cgi?id=13330 Signed-off-by: Trond Myklebust commit 88b5ed73bcd0f21e008b6e303a02c8b7cb1199f4 Author: Trond Myklebust Date: Wed Jun 17 13:22:57 2009 -0700 SUNRPC: Fix a missing "break" option in xs_tcp_setup_socket() In the case of -EADDRNOTAVAIL and/or unhandled connection errors, we want to get rid of the existing socket and retry immediately, just as the comment says. Currently we end up sleeping for a minute, due to the missing "break" statement. Signed-off-by: Trond Myklebust commit 44b98efdd0a205bdca2cb63493350d06ff6804b1 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:02 2009 -0400 nfs41: New xs_tcp_read_data() Handles RPC replies and backchannel callbacks. Traditionally the NFS client has expected only RPC replies on its open connections. With NFSv4.1, callbacks can arrive over an existing open connection. This patch refactors the old xs_tcp_read_request() into an RPC reply handler: xs_tcp_read_reply(), a new backchannel callback handler: xs_tcp_read_callback(), and a common routine to read the data off the transport: xs_tcp_read_common(). The new xs_tcp_read_callback() queues callback requests onto a queue where the callback service (a separate thread) is listening for the processing. This patch incorporates work and suggestions from Rahul Iyer (iyer@netapp.com) and Benny Halevy (bhalevy@panasas.com). xs_tcp_read_callback() drops the connection when the number of expected callbacks is exceeded. Use xprt_force_disconnect(), ensuring tasks on the pending queue are awaken on disconnect. [nfs41: Keep track of RPC call/reply direction with a flag] [nfs41: Preallocate rpc_rqst receive buffer for handling callbacks] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: sunrpc: xs_tcp_read_callback() should use xprt_force_disconnect()] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Moves embedded #ifdefs into #ifdef function blocks] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 4a8d70bfef01f8e6b27785e2625e88e9a80924a5 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:01 2009 -0400 nfs41: New include/linux/sunrpc/bc_xprt.h Contains prototype for backchannel helper routines. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: xprt_setup_backchannel v4.0 only inline] Fix compile error when CONFIG_NFS_V4_1 is not set. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [Update Copyright notice and fix formatting] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit fb7a0b9addbdbbb13b7bc02abf55ee524ea19ce1 Author: Ricardo Labiaga Date: Wed Apr 1 09:23:00 2009 -0400 nfs41: New backchannel helper routines This patch introduces support to setup the callback xprt on the client side. It allocates/ destroys the preallocated memory structures used to process backchannel requests. At setup time, xprt_setup_backchannel() is invoked to allocate one or more rpc_rqst structures and substructures. This ensures that they are available when an RPC callback arrives. The rpc_rqst structures are maintained in a linked list attached to the rpc_xprt structure. We keep track of the number of allocations so that they can be correctly removed when the channel is destroyed. When an RPC callback arrives, xprt_alloc_bc_request() is invoked to obtain a preallocated rpc_rqst structure. An rpc_xprt structure is returned, and its RPC_BC_PREALLOC_IN_USE bit is set in rpc_xprt->bc_flags. The structure is removed from the the list since it is now in use, and it will be later added back when its user is done with it. After the RPC callback replies, the rpc_rqst structure is returned by invoking xprt_free_bc_request(). This clears the RPC_BC_PREALLOC_IN_USE bit and adds it back to the list, allowing it to be reused by a subsequent RPC callback request. To be consistent with the reception of RPC messages, the backchannel requests should be placed into the 'struct rpc_rqst' rq_rcv_buf, which is then in turn copied to the 'struct rpc_rqst' rq_private_buf. [nfs41: Preallocate rpc_rqst receive buffer for handling callbacks] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Update copyright notice and explain page allocation] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit f9acac1a4710ce88871f1ae323fc91c1cb6e9d52 Author: Ricardo Labiaga Date: Wed Apr 1 09:22:59 2009 -0400 nfs41: Initialize new rpc_xprt callback related fields Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 56632b5bff5af10eb12d7e9499b5ffcadcb7a7b2 Author: Ricardo Labiaga Date: Wed Apr 1 09:22:58 2009 -0400 nfs41: client callback structures Adds new list of rpc_xprt structures, and a readers/writers lock to protect the list. The list is used to preallocate resources for the backchannel during backchannel requests. Callbacks are not expected to cause significant latency, so only one callback will be allowed at this time. It also adds a pointer to the NFS callback service so that requests can be directed to it for processing. New callback members added to svc_serv. The NFSv4.1 callback service will sleep on the svc_serv->svc_cb_waitq until new callback requests arrive. The request will be queued in svc_serv->svc_cb_list. This patch adds this list, the sleep queue and spinlock to svc_serv. [nfs41: NFSv4.1 callback support] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 7146851376861fe55c7a48ac8fc1354a5fff6cd0 Author: Benny Halevy Date: Wed Apr 1 09:22:56 2009 -0400 nfs41: minorversion support for nfs4_{init,destroy}_callback move nfs4_init_callback into nfs4_init_client_minor_version and nfs4_destroy_callback into nfs4_clear_client_minor_version as these need to happen also when auto-negotiating the minorversion once the callback service for nfs41 becomes different than for nfs4.0 Signed-off-by: Benny Halevy [nfs41: Fix checkpatch warning] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Type check arguments of nfs_callback_up] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: Backchannel: Remove FIXME comment] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 9bdaa86d2a4cbf9a71de3048c0c0a874e7ebc8ad Author: Benny Halevy Date: Wed Apr 1 09:22:55 2009 -0400 nfs41: Refactor nfs4_{init,destroy}_callback for nfs4.0 Refactor-out code to bring the callback service up and down. Signed-off-by: Benny Halevy commit f4a2e418bfd03a1f25f515e8a92ecd584d96cfc1 Author: Ricardo Labiaga Date: Wed Apr 1 09:22:54 2009 -0400 nfs41: Process the RPC call direction Reading and storing the RPC direction is a three step process. 1. xs_tcp_read_calldir() reads the RPC direction, but it will not store it in the XDR buffer since the 'struct rpc_rqst' is not yet available. 2. The 'struct rpc_rqst' is obtained during the TCP_RCV_COPY_DATA state. This state need not necessarily be preceeded by the TCP_RCV_READ_CALLDIR. For example, we may be reading a continuation packet to a large reply. Therefore, we can't simply obtain the 'struct rpc_rqst' during the TCP_RCV_READ_CALLDIR state and assume it's available during TCP_RCV_COPY_DATA. This patch adds a new TCP_RCV_READ_CALLDIR flag to indicate the need to read the RPC direction. It then uses TCP_RCV_COPY_CALLDIR to indicate the RPC direction needs to be saved after the 'struct rpc_rqst' has been allocated. 3. The 'struct rpc_rqst' is obtained by the xs_tcp_read_data() helper functions. xs_tcp_read_common() then saves the RPC direction in the XDR buffer if TCP_RCV_COPY_CALLDIR is set. This will happen when we're reading the data immediately after the direction was read. xs_tcp_read_common() then clears this flag. [was nfs41: Skip past the RPC call direction] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: sunrpc: Add RPC direction back into the XDR buffer] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfs41: sunrpc: Don't skip past the RPC call direction] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 18dca02aeb3c49dfce87c76be643b139d05cf647 Author: Ricardo Labiaga Date: Wed Apr 1 09:22:53 2009 -0400 nfs41: Add ability to read RPC call direction on TCP stream. NFSv4.1 callbacks can arrive over an existing connection. This patch adds the logic to read the RPC call direction (call or reply). It does this by updating the state machine to look for the call direction invoking xs_tcp_read_calldir(...) after reading the XID. [nfs41: Keep track of RPC call/reply direction with a flag] As per 11/14/08 review of RFC 53/85. Add a new flag to track whether the incoming message is an RPC call or an RPC reply. TCP_RPC_REPLY is set in the 'struct sock_xprt' tcp_flags in xs_tcp_read_calldir() if the message is an RPC reply sent on the forechannel. It is cleared if the message is an RPC request sent on the back channel. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy commit 34dc1ad752ad3f55b2a6e6cd8cfcf3504682fec7 Author: Benny Halevy Date: Wed Apr 1 09:22:52 2009 -0400 nfs41: increment_{open,lock}_seqid Unlike minorversion0, in nfsv4.1 the open and lock seqids need not be incremented by the client and should always be set to zero. This is implemented using a new nfs_rpc_ops methods - increment_open_seqid and increment_lock_seqid Signed-off-by: Rahul Iyer Signed-off-by: Benny Halevy [nfs41: check for session not minorversion] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 78722e9c9208a312695178f5331511badd190598 Author: Andy Adamson Date: Tue Jun 16 14:43:15 2009 -0400 nfs41: only retry EXCHANGE_ID on recoverable errors Stops an infinite loop of EXCHANGE_ID. Signed-off-by: Andy Adamson [fixed checkpatch warnings] Signed-off-by: Benny Halevy commit 008f55d0e019943323c20a03493a2ba5672a4cc8 Author: Benny Halevy Date: Wed Apr 1 09:22:50 2009 -0400 nfs41: recover lease in _nfs4_lookup_root This creates the nfsv4.1 session on mount. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b4b82607ffcf09b57301846d154f2c09c0b807c0 Author: Andy Adamson Date: Wed Apr 1 09:22:49 2009 -0400 nfs41: get_clid_cred for EXCHANGE_ID Unlike SETCLIENTID, EXCHANGE_ID requires a machine credential. Do not search for credentials other than the machine credential. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 90a16617ee6a052c3a1aac00eb67136324cf4dd0 Author: Andy Adamson Date: Wed Apr 1 09:22:48 2009 -0400 nfs41: add a get_clid_cred function to nfs4_state_recovery_ops EXCHANGE_ID has different credential requirements than SETCLIENTID. Prepare for a separate credential function. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 591d71cbde186cc498c0d9718dc17f2fadf7c643 Author: Andy Adamson Date: Wed Apr 1 09:22:47 2009 -0400 nfs41: establish sessions-based clientid nfsv4.1 clientid is established via EXCHANGE_ID rather than SETCLIENTID{,_CONFIRM} This is implemented using a new establish_clid method in nfs4_state_recovery_ops. nfs41: establish clientid via exchange id only if cred != NULL >From 2.6.26 reclaimer() uses machine cred for setting up the client id therefore it is never expected to be NULL. Signed-off-by: Rahul Iyer [removed dprintk] Signed-off-by: Benny Halevy [nfs41: lease renewal] [revamped patch for new nfs4_state_manager design] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit a7b721037f898b29a8083da59b1dccd3da385b07 Author: Andy Adamson Date: Wed Apr 1 09:22:46 2009 -0400 nfs41: introduce get_state_renewal_cred Use the machine cred for sending SEQUENCE to renew the client's lease. [revamp patch for new state management design starting 2.6.29] [nfs41: support minorversion 1 for nfs4_check_lease] Signed-off-by: Benny Halevy [nfs41: get cred in exchange_id when cred arg is NULL] Signed-off-by: Benny Halevy [nfs41: use cl_machined_cred instead of cl_ex_cred] Since EXCHANGE_ID insists on using the machine credential, cl_ex_cred is not needed. nfs4_proc_exchange_id() is only called if the machine credential is available. Remove the credential logic from nfs4_proc_exchange_id. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 8e69514f2981d85108c2bd220ff8e188c0c27cdb Author: Benny Halevy Date: Wed Apr 1 09:22:45 2009 -0400 nfs41: support minorversion 1 for nfs4_check_lease [moved nfs4_get_renew_cred related changes to "nfs41: introduce get_state_renewal_cred"] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 29fba38b793225798104a1ac870e6807ebd078dd Author: Benny Halevy Date: Wed Apr 1 09:22:44 2009 -0400 nfs41: lease renewal Send a NFSv4.1 SEQUENCE op rather than RENEW that was deprecated in minorversion 1. Use the nfs_client minorversion to select reboot_recover/ network_partition_recovery/state_renewal ops. Note: we use reclaimer to create the nfs41 session before there are any cl_superblocks for the nfs_client. Signed-off-by: Benny Halevy [nfs41: check for session not minorversion] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [revamped patch for new nfs4_state_manager design] Signed-off-by: Benny Halevy [nfs41: obliterate nfs4_state_recovery_ops.renew_lease method] moved to nfs4_state_maintenance_ops [also undid per-minorversion nfs4_state_recovery_ops here] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b069d94af7785750228287c35f9ce5c463515726 Author: Andy Adamson Date: Wed Apr 1 09:22:43 2009 -0400 nfs41: schedule async session reset Define a new session reset state which is set upon a sequence operation error in both the sync and async error handlers. Place all new requests and all but the last outstanding rpc on the slot_tbl_waitq. Spawn the recovery thread when the last slot is free. Call nfs4_proc_destroy_session, reinitialize the session, call nfs4_proc_create_session, clear the session reset state, and wake up the next task on the slot_tbl_waitq. Return the nfs4_proc_destroy_session status to the session reclaimer and check for NFS4ERR_BADSESSION and NFS4ERR_DEADSESSION. Other destroy session errors should be handled in nfs4_proc_destroy_session where the call can be retried with adjusted arguments. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy nfs41: make nfs4_wait_bit_killable public] nfs4_wait_bit_killable to be used by NFSv4.1 session recover logic. Signed-off-by: Rahul Iyer Signed-off-by: Benny Halevy [nfs41: have create_session work on nfs_client] Signed-off-by: Andy Adamson [nfs41: trigger the state manager for session reset] Replace the session reset state with the NFS4CLNT_SESSION_SETUP cl_state. Place all rpc tasks to sleep on the slot table waitqueue until the slot table is drained, then schedule state recovery and wait for it to complete. Signed-off-by: Andy Adamson [nfs41: remove nfs41_session_recovery [ch] Replaced by using the nfs4_state_manager. Signed-off-by: Andy Adamson [nfs41: nfs4_wait_bit_killable only used locally] [nfs41: keep nfs4_wait_bit_killable static] [nfs41: keep const nfs_server in nfs4_handle_exception] [nfs41: remove session parameter from nfs4_find_slot] Signed-off-by: Andy Adamson [nfs41: resset the session from nfs41_setup_sequence] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 4745e3154bf33048d970d1519703089493988f65 Author: Andy Adamson Date: Wed Apr 1 09:22:42 2009 -0400 nfs41: kick start nfs41 session recovery when handling errors Remove checking for any errors that the SEQUENCE operation does not return. -NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED, NFS4ERR_CB_PATH_DOWN, NFS4ERR_BACK_CHAN_BUSY, NFS4ERR_OP_NOT_IN_SESSION. SEQUENCE operation error recovery is very primative, we only reset the session. Remove checking for any errors that are returned by the SEQUENCE operation, but that resetting the session won't address. NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SEQUENCE_POS,NFS4ERR_TOO_MANY_OPS. Add error checking for missing SEQUENCE errors that a session reset will address. NFS4ERR_BAD_HIGH_SLOT, NFS4ERR_DEADSESSION, NFS4ERR_SEQ_FALSE_RETRY. A reset of the session is currently our only response to a SEQUENCE operation error. Don't reset the session on errors where a new session won't help. Don't reset the session on errors where a new session won't help. [nfs41: nfs4_async_handle_error update error checking] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: trigger the state manager for session reset] Replace session state bit with nfs_client state bit. Set the NFS4CLNT_SESSION_SETUP bit upon a session related error in the sync/async error handlers. [nfs41: _nfs4_async_handle_error fix session reset error list] Sequence operation errors that session reset could help. NFS4ERR_BADSESSION NFS4ERR_BADSLOT NFS4ERR_BAD_HIGH_SLOT NFS4ERR_DEADSESSION NFS4ERR_CONN_NOT_BOUND_TO_SESSION NFS4ERR_SEQ_FALSE_RETRY NFS4ERR_SEQ_MISORDERED Sequence operation errors that a session reset would not help NFS4ERR_BADXDR NFS4ERR_DELAY NFS4ERR_REP_TOO_BIG NFS4ERR_REP_TOO_BIG_TO_CACHE NFS4ERR_REQ_TOO_BIG NFS4ERR_RETRY_UNCACHED_REP NFS4ERR_SEQUENCE_POS NFS4ERR_TOO_MANY_OPS Signed-off-by: Andy Adamson [nfs41 nfs4_handle_exception fix session reset error list] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [moved nfs41_sequece_call_done code to nfs41: sequence operation] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit eedc020e718b8ce45381383ec66030f09eb02a1e Author: Andy Adamson Date: Wed Apr 1 09:22:41 2009 -0400 nfs41: use rpc prepare call state for session reset [nfs41: change nfs4_restart_rpc argument] [nfs41: check for session not minorversion] [nfs41: trigger the state manager for session reset] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [always define nfs4_restart_rpc] Signed-off-by: Trond Myklebust commit aae2006e9b0c294114915c13022fa348e1a88023 Author: Andy Adamson Date: Wed Apr 1 09:22:40 2009 -0400 nfs41: sunrpc: Export the call prepare state for session reset Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c3fad1b1aaf850bf692642642ace7cd0d64af0a3 Author: Andy Adamson Date: Wed Apr 1 09:22:39 2009 -0400 nfs41: add session reset to state manager Move the code to reset a session from the session_reclaimer to the nfs4_state_manager. Destroy the session, and create a new one. Treat NFS4ERR_BADSESSION and NFS4ERR_DEADSESSION as a successful nfs4_proc_destroy_session. Signal nfs4_proc_create_session that this is a session reset so that the session slot table is re-used. If the clientid is stale, set both NFS4CLNT_LEASE_EXPIRED and NFS4CLNT_SESSION_SETUP bits and retry. Use a switch statement in nfs4_session_recovery_handle_error for future patche which will add handling for other errors. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: session reset in nfs4_recovery_handle_error] Signed-off-by: Andy Adamson [nfs41: reset session on nfs4_do_reclaim session reset error] If nfs4_do_reclaim gets a session reset error, nfs4_recovery_handle_error will set the NFS4CLNT_SESSION_SETUP bit, and the state manager should continue processing to reset the session. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [move nfs4_proc_destroy_session declaration here] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 76db6d9500caeaa774a3e32a997eba30bbdc176b Author: Andy Adamson Date: Wed Apr 1 09:22:38 2009 -0400 nfs41: add session setup to the state manager At mount, nfs_alloc_client sets the cl_state NFS4CLNT_LEASE_EXPIRED bit and nfs4_alloc_session sets the NFS4CLNT_SESSION_SETUP bit, so both bits are set when nfs4_lookup_root calls nfs4_recover_expired_lease which schedules the nfs4_state_manager and waits for it to complete. Place the session setup after the clientid establishment in nfs4_state_manager so that the session is setup right after the clientid has been established without rescheduling the state manager. Unlike nfsv4.0, the nfs_client struct is not ready to use until the session has been established. Postpone marking the nfs_client struct to NFS_CS_READY until after a successful CREATE_SESSION call so that other threads cannot use the client until the session is established. If the EXCHANGE_ID call fails and the session has not been setup (the NFS4CLNT_SESSION_SETUP bit is set), mark the client with the error and return. If the session setup CREATE_SESSION call fails with NFS4ERR_STALE_CLIENTID which could occur due to server reboot or network partition inbetween the EXCHANGE_ID and CREATE_SESSION call, reset the NFS4CLNT_LEASE_EXPIRED and NFS4CLNT_SESSION_SETUP bits and try again. If the CREATE_SESSION call fails with other errors, mark the client with the error and return. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: NFS_CS_SESSION_SETUP cl_cons_state for back channel setup] On session setup, the CREATE_SESSION reply races with the server back channel probe which needs to succeed to setup the back channel. Set a new cl_cons_state NFS_CS_SESSION_SETUP just prior to the CREATE_SESSION call and add it as a valid state to nfs_find_client so that the client back channel can find the nfs_client struct and won't drop the server backchannel probe. Use a new cl_cons_state so that NFSv4.0 back channel behaviour which only sets NFS_CS_READY is unchanged. Adjust waiting on the nfs_client_active_wq accordingly. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: rename NFS_CS_SESSION_SETUP to NFS_CS_SESSION_INITING] Signed-off-by: Andy Adamson [nfs41: set NFS_CL_SESSION_INITING in alloc_session] Signed-off-by: Andy Adamson [nfs41: move session setup into a function] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [moved nfs4_proc_create_session declaration here] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit ac72b7b3b3263ce64d55094eac1d1bde5f34e64a Author: Andy Adamson Date: Wed Apr 1 09:22:37 2009 -0400 nfs41: reset the session slot table Separated from nfs41: schedule async session reset Do not kfree the session slot table upon session reset, just re-initialize it. Add a boolean to nfs4_proc_create_session to inidicate if this is a session reset or a session initialization. Signed-off-by: Benny Halevy Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit fc01cea963a246742ff15e118ce5259e3091352c Author: Andy Adamson Date: Wed Apr 1 09:22:36 2009 -0400 nfs41: sequence operation Implement the sequence operation conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Check returned sessionid, slotid and slot sequenceid in decode_sequence. If the server returns different values for sessionID, slotID or slot sequence number than what was sent, the server is looney tunes. Pass the sequence operation status to nfs41_sequence_done in order to determine when to increment the slot sequence ID. Free slot is separated from sequence done. Signed-off-by: Rahul Iyer Signed-off-by: Ricardo Labiaga Signed-off-by: Andy Adamson [nfs41: sequence res use slotid] Signed-off-by: Andy Adamson [nfs41: deref slot table in decode_sequence only for minorversion!=0] Signed-off-by: Benny Halevy [nfs41: nfs4_call_sync] [nfs41: remove SEQ4_STATUS_USE_TK_STATUS] [nfs41: return ESERVERFAULT in decode_sequence] [no sr_session, no sr_flags] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: use nfs4_call_sync_sequence to renew session lease] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove nfs4_call_sync_sequence forward definition] Signed-off-by: Andy Adamson [nfs41: use struct nfs_client for nfs41_proc_async_sequence] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] Signed-off-by: Benny Halevy [nfs41 nfs41_sequence_call_done update error checking] [nfs41 nfs41_sequence_done update error checking] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove switch on error from nfs41_sequence_call_done] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 8328d59f380e26477b9c1ede99e33d021365bcd1 Author: Andy Adamson Date: Wed Apr 1 09:22:35 2009 -0400 nfs41: enable nfs_client only nfs4_async_handle_error The session is per struct nfs_client, not per nfs_server. Allow the handler to be called with no nfs_server which simplifies the nfs4_proc_async_sequence session renewal call and will let it be used by pnfs file layout data servers. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 0f3e66c6a6cae479028d31198288e524fe5ff90d Author: Andy Adamson Date: Wed Apr 1 09:22:34 2009 -0400 nfs41: destroy_session operation Implement the destroy_session operation conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Signed-off-by: Ricardo Labiaga Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove extraneous rpc_clnt pointer] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41; NFS_CS_READY required for DESTROY_SESSION] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust [nfs41: fix encode_destroy_session's xdr Xcoding pointer type] Signed-off-by: Benny Halevy commit 96b09e024fedf0a6604c8c688a3994d5ed991434 Author: Andy Adamson Date: Wed Apr 1 09:22:33 2009 -0400 nfs41: use session attributes for rsize and wsize Set the mount points rsize and wsize to the negotiated session fore channel maximum response and requeset size. These values will be bound checked in nfs_server_set_fsinfo. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [move nfs4_session_set_rwsize into CONFIG_NFS_V4] Signed-off-by: Trond Myklebust commit 8d35301d7db4165f2430c428865f7b0add47615d Author: Andy Adamson Date: Wed Apr 1 09:22:32 2009 -0400 nfs41: verify session channel attribues Invalidate the session if the server returns invalid fore or back channel attributes. Use a KERN_WARNING to report the fatal session estabishment error. Signed-off-by: Andy Adamson [refactor nfs4_verify_channel_attrs] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit fc931582c260e53ca5ca23bd70ccc9b2265cca9f Author: Andy Adamson Date: Wed Apr 1 09:22:31 2009 -0400 nfs41: create_session operation Implement the create_session operation conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Set the real fore channel max operations to preserve server resources. Note: If the server returns < NFS4_MAX_OPS, the client will very soon get an NFS4ERR_TOO_MANY_OPS. A later patch will handle this. Set the max_rqst_sz and max_resp_sz to PAGE_SIZE - we preallocate the buffers. Set the back channel max_resp_sz_cached to zero to force the client to always set csa_cachethis to FALSE because the current implementation of the back channel DRC only supports caching the CB_SEQUENCE operation. The client back channel server supports one slot, and desires 2 operations per compound. Signed-off-by: Ricardo Labiaga Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove extraneous rpc_clnt pointer] Use the struct nfs_client cl_rpcclient. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: nfs4_init_channel_attrs, just use nfs41_create_session_args] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: use rsize and wsize for session channel attributes] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: set channel max operations] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: set back channel attributes] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: obliterate nfs4_adjust_channel_attrs] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: have create_session work on nfs_client] Signed-off-by: Benny Halevy [nfs41: move CONFIG_NFS_V4_1 endif] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] [moved nfs4_init_slot_table definition here] Signed-off-by: Benny Halevy [nfs41: use kcalloc to allocate slot table] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust [nfs41: fix Xcode_create_session's xdr Xcoding pointer type] [nfs41: refactor decoding of channel attributes] Signed-off-by: Benny Halevy commit 2050f0cc0703aab7cee798b3cb47037754f368bc Author: Andy Adamson Date: Wed Apr 1 09:22:30 2009 -0400 nfs41: get_lease_time get_lease_time uses the FSINFO rpc operation to get the lease time attribute. nfs4_get_lease_time() is only called from the state manager on session setup so don't recover from clientid or sequence level errors. We do need to recover from NFS4ERR_DELAY or NFS4ERR_GRACE. Use NFS4_POLL_RETRY_MIN - the Linux server returns NFS4ERR_DELAY when an upcall is needed to resolve an uncached export referenced by a file handle. [nfs41: sequence res use slotid] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove extraneous rpc_clnt pointer] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: have get_lease_time work on nfs_client] Signed-off-by: Benny Halevy [nfs41: get_lease_time recover from NFS4ERR_DELAY] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] [define nfs4_get_lease_time_{args,res}] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 99fe60d062cfecf382c036065b3278b82b6c5eff Author: Benny Halevy Date: Wed Apr 1 09:22:29 2009 -0400 nfs41: exchange_id operation Implement the exchange_id operation conforming to http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-26 Unlike NFSv4.0, NFSv4.1 requires machine credentials. RPC_AUTH_GSS machine credentials will be passed into the kernel at mount time to be available for the exchange_id operation. RPC_AUTH_UNIX root mounts can use the UNIX root credential. Store the root credential in the nfs_client struct. Without a credential, NFSv4.1 state renewal fails. [nfs41: establish clientid via exchange id only if cred != NULL] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: move nfstime4 from under CONFIG_NFS_V4_1] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: do not wait a lease time in exchange id] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust [nfs41: Ignoring impid in decode_exchange_id is missing a READ_BUF] Signed-off-by: Benny Halevy [nfs41: fix Xcode_exchange_id's xdr Xcoding pointer type] [nfs41: get rid of unused struct nfs41_exchange_id_res members] Signed-off-by: Benny Halevy commit 7cc47662197b3050a974a6c6aed52291bb38ded0 Merge: 55a6fbf 27f70c3 Author: Linus Torvalds Date: Wed Jun 17 11:53:48 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Convert ia64 to use int-ll64.h [IA64] Fix build error in paravirt_patchlist.c [IA64] ia64 does not need umount2() syscall [IA64] hook up new rt_tgsigqueueinfo syscall [IA64] msi_ia64.c dmar_msi_type should be static [IA64] remove obsolete hw_interrupt_type [IA64] remove obsolete irq_desc_t typedef [IA64] remove obsolete no_irq_type [IA64] unexport fpswa.h commit 55a6fbf8fc57d7b60d5028663f534475c4965215 Merge: 3fe0344 2021de8 Author: Linus Torvalds Date: Wed Jun 17 11:41:49 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: early init for MFD running regulators mfd: fix tmio related warnings mfd: asic3: enable SD/SDIO cell mfd: asic3: enable DS1WM cell mfd: asic3: remove SD/SDIO controller register definitions mfd: asic3: use resource_size macro instead of local variable mfd: add ASIC3 IRQ numbers mfd: asic3: add clock handling for MFD cells mfd: asic3: add asic3_set_register common operation mfd: Fix Kconfig help text for WM8350 mfd: add PCAP driver mfd: add U300 AB3100 core support drivers/mfd: remove obsolete irq_desc_t typedef mfd/pcf50633-gpio.c: add MODULE_LICENSE mfd: Mark WM8350 mask revision as readable to match silicon mfd: Mark clocks_init as non-init in twl4030-core.c mfd: Correct readability of WM8350 register 227 commit 3f4c3955ea320bde870ac2ce587466295aba5710 Author: Cyrill Gorcunov Date: Wed Jun 17 22:13:22 2009 +0400 x86, ioapic: Don't call disconnect_bsp_APIC if no APIC present Vegard Nossum reported: [ 503.576724] ACPI: Preparing to enter system sleep state S5 [ 503.710857] Disabling non-boot CPUs ... [ 503.716853] Power down. [ 503.717770] ------------[ cut here ]------------ [ 503.717770] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_du) [ 503.717770] Hardware name: OptiPlex GX100 [ 503.717770] Modules linked in: [ 503.717770] Pid: 2136, comm: halt Not tainted 2.6.30 #443 [ 503.717770] Call Trace: [ 503.717770] [] ? printk+0x18/0x1a [ 503.717770] [] ? native_apic_write_dummy+0x38/0x50 [ 503.717770] [] warn_slowpath_common+0x6c/0xc0 [ 503.717770] [] ? native_apic_write_dummy+0x38/0x50 [ 503.717770] [] warn_slowpath_null+0x15/0x20 [ 503.717770] [] native_apic_write_dummy+0x38/0x50 [ 503.717770] [] disconnect_bsp_APIC+0x63/0x100 [ 503.717770] [] disable_IO_APIC+0xb8/0xc0 [ 503.717770] [] ? acpi_power_off+0x0/0x29 [ 503.717770] [] native_machine_shutdown+0x65/0x80 [ 503.717770] [] native_machine_power_off+0x26/0x30 [ 503.717770] [] machine_power_off+0x9/0x10 [ 503.717770] [] kernel_power_off+0x36/0x40 [ 503.717770] [] sys_reboot+0xfd/0x1f0 [ 503.717770] [] ? perf_swcounter_event+0xb0/0x130 [ 503.717770] [] ? perf_counter_task_sched_out+0x5d/0x120 [ 503.717770] [] ? finish_task_switch+0x56/0xd0 [ 503.717770] [] ? schedule+0x49e/0xb40 [ 503.717770] [] ? sys_kill+0x70/0x160 [ 503.717770] [] ? selinux_file_ioctl+0x3b/0x50 [ 503.717770] [] ? sys_ioctl+0x63/0x70 [ 503.717770] [] sysenter_do_call+0x12/0x22 [ 503.717770] ---[ end trace 8157b5d0ed378f15 ]--- | | That's including this commit: | | commit 103428e57be323c3c5545db8ad12667099bc6005 |Author: Cyrill Gorcunov |Date: Sun Jun 7 16:48:40 2009 +0400 | | x86, apic: Fix dummy apic read operation together with broken MP handling | If we have apic disabled we don't even switch to APIC mode and do not calling for connect_bsp_APIC. Though on SMP compiled kernel the native_machine_shutdown does try to write the apic register anyway. Fix it with explicit check if we really should touch apic registers. Reported-by: Vegard Nossum Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090617181322.GG10822@lenovo> Signed-off-by: Ingo Molnar commit 8d707e8eb4de4b930573155ab4df4b3270ee25dd Author: Steven Rostedt Date: Tue Jun 16 21:22:48 2009 -0400 ring-buffer: do not grab locks in nmi If ftrace_dump_on_oops is set, and an NMI detects a lockup, then it will need to read from the ring buffer. But the read side of the ring buffer still takes locks. This patch adds a check on the read side that if it is in an NMI, then it will disable the ring buffer and not take any locks. Reads can still happen on a disabled ring buffer. Signed-off-by: Steven Rostedt commit d47882078f05c2cb46b85f1e12a58ed9315b9d63 Author: Steven Rostedt Date: Wed Jun 17 00:39:43 2009 -0400 ring-buffer: add locks around rb_per_cpu_empty The checking of whether the buffer is empty or not needs to be serialized among the readers. Add the reader spin lock around it. Signed-off-by: Steven Rostedt commit 5f78abeebbf0a80975d719e11374535ca15396cb Author: Steven Rostedt Date: Wed Jun 17 14:11:10 2009 -0400 ring-buffer: check for less than two in size allocation The ring buffer must have at least two pages allocated for the reader page swap to work. The page count check will miss the case of a zero size passed in. Even though a zero size ring buffer would probably fail an allocation, making the min size check for less than two instead of equal to one makes the code a bit more robust. Signed-off-by: Steven Rostedt commit 0dcd4d6c3e5b17ccf88d41cb354bb4d57cb18cbf Author: Steven Rostedt Date: Wed Jun 17 14:03:44 2009 -0400 ring-buffer: remove useless compile check for buffer_page size The original version of the ring buffer had a hack to map the page struct that held the pages of the buffer to also be the structure that the ring buffer would keep the pages in a link list. This overlap of the page struct was very dangerous and that hack was removed a while ago. But there was a check to make sure the buffer_page never became bigger than the page struct, and would fail the compile if it did. The check was only meaningful when we had the hack. Now that we have separate allocated descriptors for the buffer pages, we can remove this check. Signed-off-by: Steven Rostedt commit 938e10109115a71cc69d475122f21cf75e5046cd Author: Andy Adamson Date: Wed Apr 1 09:22:28 2009 -0400 nfs41 delegreturn sequence setup done support Separate delegreturn calls from nfs41: sequence setup/done support Implement the delegreturn rpc_call_prepare method for asynchronuos nfs rpcs, call nfs41_setup_sequence from respective rpc_call_validate_args methods. Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 21d9a851aaa4161a9fddde720594659f3dae7fdd Author: Andy Adamson Date: Wed Apr 1 09:22:27 2009 -0400 nfs41 commit sequence setup done support Separate commit calls from nfs41: sequence setup/done support Implement the commit rpc_call_prepare method for asynchronuos nfs rpcs, call nfs41_setup_sequence from respective rpc_call_validate_args methods. Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: Support sessions with O_DIRECT.] Signed-off-by: Dean Hildebrand Signed-off-by: Benny Halevy [nfs41: separate free slot from sequence done] [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit def6ed7ef45ed19c3d6ca765f3bfdff1fe4c6bba Author: Andy Adamson Date: Wed Apr 1 09:22:26 2009 -0400 nfs41 write sequence setup done support Separate write calls from nfs41: sequence setup/done support Implement the write rpc_call_prepare method for asynchronuos nfs rpcs, call nfs41_setup_sequence from respective rpc_call_validate_args methods. Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [move the nfs4_sequence_free_slot call in nfs_readpage_retry from] [nfs41: separate free slot from sequence done Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: Support sessions with O_DIRECT.] Signed-off-by: Dean Hildebrand Signed-off-by: Benny Halevy [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit f11c88af26453aee2823a1fd9120d0cd8dae7b9a Author: Andy Adamson Date: Wed Apr 1 09:22:25 2009 -0400 nfs41: read sequence setup/done support Implement the read rpc_call_prepare method for asynchronuos nfs rpcs, call nfs41_setup_sequence from respective rpc_call_validate_args methods. Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [move the nfs4_sequence_free_slot call in nfs_readpage_retry from] [nfs41: separate free slot from sequence done] [remove nfs_readargs.nfs_server, use calldata->inode instead] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: Support sessions with O_DIRECT] Signed-off-by: Dean Hildebrand Signed-off-by: Benny Halevy [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 472cfbd9b97be210a9b61ac1c6a774cd456ea9d2 Author: Andy Adamson Date: Wed Apr 1 09:22:24 2009 -0400 nfs41: unlink sequence setup/done support Implement the rpc_call_prepare methods for asynchronuos nfs rpcs, call nfs41_setup_sequence from respective rpc_call_validate_args methods. Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: separate free slot from sequence done] [nfs41: sequence res use slotid] [nfs41: remove SEQ4_STATUS_USE_TK_STATUS] [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit a893693c151433a1375060ecb13419080426bc08 Author: Andy Adamson Date: Wed Apr 1 09:22:23 2009 -0400 nfs41: locku sequence setup/done support Separate nfs4_locku calls from nfs41: sequence setup/done support Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 66179efee31f431ab538016b4ac05edaf87525dc Author: Andy Adamson Date: Wed Apr 1 09:22:22 2009 -0400 nfs41: lock sequence setup/done support Separate nfs4_lock calls from nfs41: sequence setup/done support Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] [use nfs4_sequence_done_free_slot] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d898528cdb338b145c71049c3cb7b1dfa542a48a Author: Andy Adamson Date: Wed Apr 1 09:22:21 2009 -0400 nfs41: open sequence setup/done support Separate nfs4_open calls from nfs41: sequence setup/done support Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] [use nfs4_sequence_done_free_slot] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 19ddab06ed923d27339b8009d37b0ab3de93cadf Author: Andy Adamson Date: Wed Apr 1 09:22:20 2009 -0400 nfs41: close sequence setup/done support Separate nfs4_close calls from nfs41: sequence setup/done support Call nfs4_sequence_done from respective rpc_call_done methods. Note that we need to pass a pointer to the nfs_server in calls data for passing on to nfs4_sequence_done. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [pnfs: client data server write validate and release] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: separate free slot from sequence done] [nfs41: sequence res use slotid] [nfs41: remove SEQ4_STATUS_USE_TK_STATUS] [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 69ab40c4c3b9622232e31e0ee145875a2853c113 Author: Andy Adamson Date: Wed Apr 1 09:22:19 2009 -0400 nfs41: nfs41_call_sync_done Implement nfs4.1 synchronous rpc_call_done method that essentially just calls nfs4_sequence_done, that turns around and calls nfs41_sequence_done for minorversion1 rpcs. Signed-off-by: Benny Halevy [nfs41: check for session not minorversion] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [move adding nfs4_sequence_free_slot from nfs41-separate-free-slot-from-sequence-done] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: nfs41_call_sync_data use nfs_client not nfs_server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b0df806c0f9d61e5fcfdb0f4e606e1a59303aaa6 Author: Andy Adamson Date: Wed Apr 1 09:22:18 2009 -0400 nfs41: nfs41_sequence_done Handle session level errors, update slot sequence id and sessions bookeeping, free slot. [nfs41: sequence res use slotid] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove SEQ4_STATUS_USE_TK_STATUS] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: check for session not minorversion] Signed-off-by: Andy Adamson [nfs41: bail out early out of nfs41_sequence_done if !res->sr_session] Signed-off-by: Benny Halevy [move nfs4_sequence_done from nfs41: nfs41_call_sync_done] Signed-off-by: Andy Adamson [move nfs4_sequence_free_slot from nfs41: separate free slot from sequence done] Don't free the slot until after all rpc_restart_calls have completed. Session reset will require more work. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [moved reset sr_slotid to nfs41_sequence_free_slot] [free slot also on unexpectecd error] [remove seq_res.sr_session member, use nfs_client's instead] [ditch seq_res.sr_flags until used] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [look at sr_slotid for bailing out early from nfs41_sequence_done] [nfs41: rpc_wake_up_next if sessions slot was not consumed.] Signed-off-by: Benny Halevy [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove unused error checking in nfs41_sequence_done] Signed-off-by: Andy Adamson [nfs41: remove nfs4_has_session check in nfs41_sequence_done] Signed-off-by: Andy Adamson [nfs41: remove nfs_client pointer check] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 13615871cdf8e8263626a817c350c6978a6483fe Author: Andy Adamson Date: Wed Apr 1 09:22:17 2009 -0400 nfs41: nfs41_sequence_free_slot [from nfs41: separate free slot from sequence done] Don't free the slot until after all rpc_restart_calls have completed. Session reset will require more work. As noted by Trond, since we're using rpc_wake_up_next rather than rpc_wake_up() we must always wake up the next task in the queue either by going through nfs4_free_slot, or just calling rpc_wake_up_next if no slot is to be freed. [nfs41: sequence res use slotid] [nfs41: remove SEQ4_STATUS_USE_TK_STATUS] [got rid of nfs4_sequence_res.sr_session, use nfs_client.cl_session instead] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: rpc_wake_up_next if sessions slot was not consumed.] Signed-off-by: Benny Halevy [nfs41: nfs4_sequence_free_slot use nfs_client for data server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e2c4ab3ce2ecc527672bd7e29a594c50d3ec0477 Author: Andy Adamson Date: Wed Apr 1 09:22:16 2009 -0400 nfs41: free slot Free a slot in the slot table. Mark the slot as free in the bitmap-based allocation table by clearing a bit corresponding to the slotid. Update lowest_free_slotid if freed slotid is lower than that. Update highest_used_slotid. In the case the freed slotid equals the highest_used_slotid, scan downwards for the next highest used slotid using the optimized fls* functions. Finally, wake up thread waiting on slot_tbl_waitq for a free slot to become available. Signed-off-by: Benny Halevy [nfs41: free slot use slotid] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: use find_first_zero_bit for nfs4_find_slot] While at it, obliterate lowest_free_slotid and fix-up related comments. As per review comment 21/85. Signed-off-by: Benny Halevy [nfs41: use __clear_bit for nfs4_free_slot] While at it, fix-up function comment. Part of review comment 22/85. Signed-off-by: Benny Halevy [nfs41: use find_last_bit in nfs4_free_slot to determine highest used slot.] Signed-off-by: Benny Halevy [nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock] Otherwise there's a race (we've hit) with nfs4_free_slot where nfs41_setup_sequence sees a full slot table, unlocks slot_tbl_lock, nfs4_free_slots happen concurrently and call rpc_wake_up_next where there's nobody to wake up yet, context goes back to nfs41_setup_sequence which goes to sleep when the slot table is actually empty now and there's no-one to wake it up anymore. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit fbcd4abcb3841f85578985c09c6df85aa41b0ae8 Author: Andy Adamson Date: Wed Apr 1 09:22:15 2009 -0400 nfs41: setup_sequence method Allocate a slot in the session slot table and set the sequence op arguments. Called at the rpc prepare stage. Add a status to nfs41_sequence_res, initialize it to one so that we catch rpc level failures which do not go through decode_sequence which sets the new status field. Note that upon an rpc level failure, we don't know if the server processed the sequence operation or not. Proceed as if the server did process the sequence operation. Signed-off-by: Rahul Iyer [nfs41: sequence args use slotid] [nfs41: find slot return slotid] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove SEQ4_STATUS_USE_TK_STATUS] As per 11-14-08 review [move extern declaration from nfs41: sequence setup/done support] [removed sa_session definition, changed sa_cache_this into a u8 to reduce footprint] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock] Otherwise there's a race (we've hit) with nfs4_free_slot where nfs41_setup_sequence sees a full slot table, unlocks slot_tbl_lock, nfs4_free_slots happen concurrently and call rpc_wake_up_next where there's nobody to wake up yet, context goes back to nfs41_setup_sequence which goes to sleep when the slot table is actually empty now and there's no-one to wake it up anymore. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 510b81756f18922a4c5b555e8145f4fed5beb569 Author: Benny Halevy Date: Wed Apr 1 09:22:14 2009 -0400 nfs41: find slot Find a free slot using bitmap-based allocation. Use the optimized ffz function to find a zero bit in the bitmap that indicates a free slot, starting the search from the 'lowest_free_slotid' position. If found, mark the slot as used in the bitmap, get the slot's slotid and seqid, and update max_slotid to be used by the SEQUENCE operation. Also, update lowest_free_slotid for next search. If no free slot was found the caller has to wait for a free slot (outside the scope of this function) Signed-off-by: Benny Halevy [nfs41: find slot return slotid] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [use find_first_zero_bit for nfs4_find_slot as per review comment 21/85.] [use NFS4_MAX_SLOT_TABLE rather than NFS4_NO_SLOT] [nfs41: rpc_sleep_on slot_tbl_waitq must be called under slot_tbl_lock] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit ce5039c1be1fd04c2d9b1af80d41a6d003f2e20c Author: Andy Adamson Date: Wed Apr 1 09:22:13 2009 -0400 nfs41: nfs4_setup_sequence Perform the nfs4_setup_sequence in the rpc_call_prepare state. If a session slot is not available, we will rpc_sleep_on the slot wait queue leaving the tk_action as rpc_call_prepare. Once we have a session slot, hang on to it even through rpc_restart_calls. Ensure the nfs41_sequence_res sr_slot pointer is NULL before rpc_run_task is called as nfs41_setup_sequence will only find a new slot if it is NULL. A future patch will call free slot after any rpc_restart_calls, and handle the rpc restart that result from a sequence operation error. Signed-off-by: Rahul Iyer [nfs41: sequence res use slotid] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: simplify nfs4_call_sync] Signed-off-by: Benny Halevy [nfs41: nfs4_call_sync] [nfs41: check for session not minorversion] [nfs41: remove rpc_message from nfs41_call_sync_args] [moved NFS4_MAX_SLOT_TABLE logic into nfs41_setup_sequence] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: nfs41_call_sync_data use nfs_client not nfs_server] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: expose nfs4_call_sync_session for lease renewal] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: remove unnecessary return check] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9b7b9fcc9c124b8a2a079f748239ce9b7a8d8304 Author: Andy Adamson Date: Wed Apr 1 09:22:11 2009 -0400 nfs41: xdr {encode,decode}_sequence Implement stubs for encode and decode sequence, defined as no-ops when CONFIG_NFS_V4_1 is not defined. Add the nfsv41 encode and decode sizes. Add encode_sequence to all nfs4_enc_* routines and decode_sequence to all nfs4_dec_* routines as required by v41. [was nfs41: minorversion support for xdr] [added nfs_client argument to encode_sequence so not to use sequence_args to pass sa_session] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 66cc042970f7077c66be65a780eb3a60a9bcbf0b Author: Benny Halevy Date: Wed Apr 1 09:22:10 2009 -0400 nfs41: encode minorversion in compound header Signed-off-by: Andy Adamdon Signed-off-by: Benny Halevy [nfs41: pass *session in seq_args and seq_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 28f566942c6b1d929f5e240e69e7081b77b238d3 Author: Benny Halevy Date: Wed Apr 1 09:22:09 2009 -0400 NFS: use dynamically computed compound_hdr.replen for xdr_inline_pages offset As Trond suggested, rather than passing a constant to xdr_inline_pages, keep a running count of the expected reply bytes. In preparation for nfs41, where additional op sequence are expteced when talking to nfs41 servers. [NFS: cb_compoundhdr.replen is in words not bytes] Signed-off-by: Benny Halevy [nfs41: get fs_locations replen before encoding the GETATTR] Signed-off-by: Benny Halevy [nfs41: get getacl replen before encoding the GETATTR] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit dadf0c2767ce7772fc4ff82044f3ba5823e5b79f Author: Benny Halevy Date: Wed Apr 1 09:22:08 2009 -0400 NFS: update hdr->replen for every encode op Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 0c4e8c187758258ec58842384fe6a99cf1ce16c7 Author: Benny Halevy Date: Wed Apr 1 09:22:07 2009 -0400 NFS: define and initialize compound_hdr.replen replen holds the running count of expected reply bytes. repl will then be used by encoding routines for xdr_inline_pages offset after which data bytes are to be received directly into the xdr buffer pages. NOTE: According to the nfsv4 and v4.1 RFCs, the replied tag SHOULD be the same is the one sent, but this is not required as a MUST for the server to do so. The server may screw us if it replies a tag of a different length in the compound result. [NFS: cb_compoundhdr.replen is in words not bytes] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 6ce183919b4a09289cb0fe4fce960a9faa1e7c6b Author: Benny Halevy Date: Wed Apr 1 09:22:06 2009 -0400 NFS: use decode_change_info_maxsz for xdr maxsz calculations Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 5f7dbd5c752d88310d8fe1feedefd5c6496eff48 Author: Andy Adamson Date: Wed Apr 1 09:22:05 2009 -0400 nfs41: set up seq_res.sr_slotid Initialize nfs4_sequence_res sr_slotid to NFS4_MAX_SLOT_TABLE. [was nfs41: sequence res use slotid] Signed-off-by: Andy Adamson [pulled definition of struct nfs4_sequence_res.sr_slotid to here] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit f3752975caa716709c5ea0b0820b86111d921df4 Author: Benny Halevy Date: Wed Apr 1 09:22:04 2009 -0400 nfs41: nfs41: pass *session in seq_args and seq_res To be used for getting the rpc's minorversion and for nfs41 xdr {en,de}coding of the sequence operation. Reset the seq session ptrs for minorversion=0 rpc calls. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit cccef3b96a4759ae0790452280c00ea505412157 Author: Andy Adamson Date: Wed Apr 1 09:22:03 2009 -0400 nfs41: introduce nfs4_call_sync Use nfs4_call_sync rather than rpc_call_sync to provide for a nfs41 sessions-enabled interface for sessions manipulation. The nfs41 rpc logic uses the rpc_call_prepare method to recover and create the session, as well as selecting a free slot id and the rpc_call_done to free the slot and update slot table related metadata. In the coming patches we'll add rpc prepare and done routines for setting up the sequence op and processing the sequence result. Signed-off-by: Benny Halevy [nfs41: nfs4_call_sync] As per 11-14-08 review. Squash into "nfs41: introduce nfs4_call_sync" and "nfs41: nfs4_setup_sequence" Define two functions one for v4 and one for v41 add a pointer to struct nfs4_client to the correct one. Signed-off-by: Andy Adamson [added BUG() in _nfs4_call_sync_session if !CONFIG_NFS_V4_1] Signed-off-by: Benny Halevy [nfs41: check for session not minorversion] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [group minorversion specific stuff together] Signed-off-by: Alexandros Batsakis Signed-off-by: Benny Halevy Signed-off-by: Andy Adamson [nfs41: fixup nfs4_clear_client_minor_version] [introduce nfs4_init_client_minor_version() in this patch] Signed-off-by: Benny Halevy [cleaned-up patch: got rid of nfs_call_sync_t, dprintks, cosmetics, extra server defs] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 22958463d5dca8548e19430779f379e66fd6e4a4 Author: Benny Halevy Date: Wed Apr 1 09:22:02 2009 -0400 nfs41: use nfs4_fs_locations_res In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [find nfs4_fs_locations_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 73c403a9a93743b068103c13c05ed136dc687d05 Author: Benny Halevy Date: Wed Apr 1 09:22:01 2009 -0400 nfs41: use nfs4_setaclres In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [define nfs_setaclres] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9e9ecc03d6b37a5d85e16b357751e3b341de0fef Author: Benny Halevy Date: Wed Apr 1 09:22:00 2009 -0400 NFS: get rid of unused xdr decode_setattr(, res) argument Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 663c79b3cd8f5fe21fe7d7565fec0072e3234ddc Author: Benny Halevy Date: Wed Apr 1 09:21:59 2009 -0400 nfs41: use nfs4_getaclres In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason Signed-off-by: Benny Halevy [nfs41: embed resp_len in nfs_getaclres] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d45b2989a7956ae9e71d584ceac942278c0371c7 Author: Benny Halevy Date: Wed Apr 1 09:21:58 2009 -0400 nfs41: use nfs4_pathconf_res In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [define nfs4_pathconf_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 3dda5e434721f942870ee30bc6103761618d410f Author: Benny Halevy Date: Wed Apr 1 09:21:57 2009 -0400 nfs41: use nfs4_fsinfo_res In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [define nfs4_fsinfo_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 24ad148a0ff74b1e703a8bc5b3e0793dc7d4e3a9 Author: Benny Halevy Date: Wed Apr 1 09:21:56 2009 -0400 nfs41: use nfs4_statfs_res In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [define nfs4_statfs_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit f50c7000817e7cb4e676ac5d911a82c0f3fd226f Author: Benny Halevy Date: Wed Apr 1 09:21:55 2009 -0400 nfs41: use nfs4_readlink_res In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [define nfs4_readlink_res] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 43652ad55342d9146d8035932101a5814b22315a Author: Benny Halevy Date: Wed Apr 1 09:21:54 2009 -0400 nfs41: use nfs4_server_caps_arg In preparation for nfs41 sequence processing. Signed-off-by: Andy Admason [define nfs4_server_caps_arg] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 557134a39c8d2ab79d8b8d53438e03e29feb5ec4 Author: Andy Adamson Date: Wed Apr 1 09:21:53 2009 -0400 nfs41: sessions client infrastructure NFSv4.1 Sessions basic data types, initialization, and destruction. The session is always associated with a struct nfs_client that holds the exchange_id results. Signed-off-by: Rahul Iyer Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [remove extraneous rpc_clnt pointer, use the struct nfs_client cl_rpcclient. remove the rpc_clnt parameter from nfs4 nfs4_init_session] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [Use the presence of a session to determine behaviour instead of the minorversion number.] Signed-off-by: Andy Adamson [constified nfs4_has_session's struct nfs_client parameter] Signed-off-by: Benny Halevy [Rename nfs4_put_session() to nfs4_destroy_session() and call it from nfs4_free_client() not nfs4_free_server(). Also get rid of nfs4_get_session() and the ref_count in nfs4_session struct as keeping track of nfs_client should be sufficient] Signed-off-by: Alexandros Batsakis [nfs41: pass rsize and wsize into nfs4_init_session] Signed-off-by: Andy Adamson [separated out removal of rpc_clnt parameter from nfs4_init_session ot a patch of its own] Signed-off-by: Benny Halevy [Pass the nfs_client pointer into nfs4_alloc_session] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: don't assign to session->clp->cl_session in nfs4_destroy_session] [nfs41: fixup nfs4_clear_client_minor_version] [introduce nfs4_clear_client_minor_version() in this patch] Signed-off-by: Benny Halevy [Refactor nfs4_init_session] Moved session allocation into nfs4_init_client_minor_version, called from nfs4_init_client. Leave rwise and wsize initialization in nfs4_init_session, called from nfs4_init_server. Reverted moving of nfs_fsid definition to nfs_fs_sb.h Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfs41: Move NFS4_MAX_SLOT_TABLE define from under CONFIG_NFS_V4_1] [Fix comile error when CONFIG_NFS_V4_1 is not set.] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [moved nfs4_init_slot_table definition to "create_session operation"] Signed-off-by: Benny Halevy [nfs41: alloc session with GFP_KERNEL] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9ff71c3a9827b99699510076dffa0bbe7c36bfd4 Author: Benny Halevy Date: Wed Apr 1 09:21:52 2009 -0400 nfs41: client xdr definitions Define stubs for sequence args and res data structures and embed them in all other nfs4 and nfs41 xdr types. They are needed for sending any op in a nfs41 compound rpc. Signed-off-by: Andy Adamson [moved new args/res definitions away, to where they're first used] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c2e713dd83dcabb2ae951ea572e7de68c96e2d48 Author: Benny Halevy Date: Wed Apr 1 09:21:51 2009 -0400 nfs41: translate NFS4ERR_MINOR_VERS_MISMATCH to EPROTONOSUPPORT To be returned to the mount command when trying to mount a v4 server using minorversion 1. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 5aae4a9ae0dd55409a42ca61b82ef1f5a840091e Author: Benny Halevy Date: Wed Apr 1 09:21:50 2009 -0400 nfs41: Use mount minorversion option Use the mount minorversion option to initialize the nfs_client cl_minorversion and match it in nfs_match_client() when looking up a nfs_client. [nfs41: remove ifdefs around nfs_client_initdata.minorversion] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 94a417f3d7a02478a2d7842e693a61339fb54ea4 Author: Benny Halevy Date: Wed Apr 1 09:21:49 2009 -0400 nfs41: nfs_client.cl_minorversion This field is set to the nfsv4 minor version for this mount. Signed-off-by: Benny Halevy Note: This patch sets the referral to the same minorversion as the current mount. Revisit in future patch. Signed-off-by: Andy Adamson [removed cl_minorversion assignment in nfs_set_client] Signed-off-by: Benny Halevy [always define nfs_client.cl_minorversion] Signed-off-by: Trond Myklebust commit 3fd5be9e19921a89d9ed78d6a708a379a6c3c76a Author: Mike Sager Date: Wed Apr 1 09:21:48 2009 -0400 nfs41: add mount command option minorversion mount -t nfs4 -o minorversion=[0|1] specifies whether to use 4.0 or 4.1. By default, the minorversion is set to 0. Signed-off-by: Mike Sager [set default minorversion to 0 as per Trond and SteveD's request] Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 44549dff82753b6a5ffabcefeead34be63e95d96 Author: Mike Sager Date: Wed Apr 1 09:21:47 2009 -0400 nfs41: define NFS4_MAX_MINOR_VERSION based on CONFIG_NFS_V4_1 If 4.1 isn't supported, NFS4_MAX_MINOR_VERSION will be 0. Signed-off-by: Mike Sager Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 1efae38140546db403845d628db9f2d608caa87e Author: Ricardo Labiaga Date: Wed Apr 1 09:21:46 2009 -0400 nfs41: Add Kconfig symbols for NFSv4.1 Added CONFIG_NFS_V4_1 and made it depend upon CONFIG_NFS_V4 and EXPERIMENTAL. Indicate that CONFIG_NFS_V4_1 is for NFS developers at the moment At the moment we're expecting folks trying out nfs41 to actively participate in the development process by helping us debug issues and ideally send patches to fix problems. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8 Merge: c30938d 2030117 Author: Linus Torvalds Date: Wed Jun 17 10:42:21 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Fix some typos in comments kmemleak: Rename kmemleak_panic to kmemleak_stop kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations commit 2021de874e9f09774616772cfdefdab0e6193b09 Author: Samuel Ortiz Date: Mon Jun 15 18:04:54 2009 +0200 mfd: early init for MFD running regulators For MFDs running regulator cores, we really want them to be brought up early during boot. Signed-off-by: Samuel Ortiz Acked-by: Mark Brown Acked-by: Mike Rapoport commit 4d3792e054f706f73837769a0e5607b3b7ad25a2 Author: Samuel Ortiz Date: Mon Jun 15 15:43:31 2009 +0200 mfd: fix tmio related warnings We can not have .driver_data as const since platform_set_drvdata() doesnt take a const. The hclk mmc_data field can be const though. Signed-off-by: Samuel Ortiz commit 09f05ce8512c9873bda7f76273708753fdc5c698 Author: Philipp Zabel Date: Mon Jun 15 12:10:25 2009 +0200 mfd: asic3: enable SD/SDIO cell This enables the ASIC3's SD/SDIO MFD cell, supported by the tmio_mmc driver. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 9461f65a85e17926ee88878049e6b5de366a483d Author: Philipp Zabel Date: Mon Jun 15 12:10:24 2009 +0200 mfd: asic3: enable DS1WM cell This enables the ASIC3's DS1WM MFD cell, supported by the ds1wm driver. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 1b89040c3aa4500c97859bad714e010441e9c477 Author: Philipp Zabel Date: Fri Jun 5 18:31:05 2009 +0200 mfd: asic3: remove SD/SDIO controller register definitions Only the base addresses remain, as they are needed to set up the IOMEM resources. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit be584bd5a451ebe31ac9957098bb698cefbd40ca Author: Philipp Zabel Date: Fri Jun 5 18:31:04 2009 +0200 mfd: asic3: use resource_size macro instead of local variable This should make the code a little bit easier to read. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 01906d6d780e84c51537f6b56da472959e846314 Author: Philipp Zabel Date: Fri Jun 5 18:31:03 2009 +0200 mfd: add ASIC3 IRQ numbers IRQ number definitions for PWM, LED, SPI and OWM (ds1wm). Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit e956a2a87c60bf22eeea824ad208afc099850511 Author: Philipp Zabel Date: Fri Jun 5 18:31:02 2009 +0200 mfd: asic3: add clock handling for MFD cells Since ASIC3 has to work on both PXA and S3C and since their struct clk implementations differ, we can't register out clocks with the clkdev mechanism (yet?). For now we have to keep clock handling internal to this driver and enable/disable the clocks via the mfd_cell->enable/disable functions. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 6483c1b5e1a6e3489640a1376e951395982e9615 Author: Philipp Zabel Date: Fri Jun 5 18:31:01 2009 +0200 mfd: asic3: add asic3_set_register common operation Used to configure single bits of the SDHWCTRL_SDCONF and EXTCF_RESET/SELECT registers needed for DS1WM, MMC/SDIO and PCMCIA functionality. Signed-off-by: Philipp Zabel Signed-off-by: Samuel Ortiz commit 9e5aca58c2d2202937939dad8f9ce5d789ae4de8 Author: Mark Brown Date: Fri May 29 11:34:18 2009 +0100 mfd: Fix Kconfig help text for WM8350 More with the grammar. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 13a09f93d2bf3a20c748e1d6a30160a00fc58169 Author: Daniel Ribeiro Date: Thu May 28 15:43:37 2009 -0300 mfd: add PCAP driver The PCAP Asic as present on EZX phones is a multi function device with voltage regulators, ADC, touch screen controller, RTC, USB transceiver, leds controller, and audio codec. It has two SPI ports, typically one is connected to the application processor and another to the baseband, this driver provides read/write functions to its registers, irq demultiplexer and ADC queueing/abstraction. This chip is used on a lot of Motorola phones, it was manufactured by TI as a custom product with the name PTWL93017, later this design evolved into the ATLAS PMIC from Freescale (MC13783). Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit 14fa56917d73d823538151b0429d98211fa439c1 Author: Linus Walleij Date: Thu May 21 23:17:06 2009 +0200 mfd: add U300 AB3100 core support This adds a core driver for the AB3100 mixed-signal circuit found in the ST-Ericsson U300 series platforms. This driver is a singleton proxy for all accesses to the AB3100 sub-drivers which will be merged on top of this one, RTC, regulators, battery and system power control, vibrator, LEDs, and an ALSA codec. Signed-off-by: Linus Walleij Reviewed-by: Mike Rapoport Reviewed-by: Ben Dooks Signed-off-by: Samuel Ortiz commit 516eca2726dce2ead8750366d8f66dd345ce55e3 Author: Thomas Gleixner Date: Tue May 12 13:45:15 2009 -0700 drivers/mfd: remove obsolete irq_desc_t typedef The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users and remove the typedef. Signed-off-by: Thomas Gleixner Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit 1346a1c716e38418595d90f75f6ed7e3e7b478f5 Author: Adrian Bunk Date: Tue May 12 13:45:14 2009 -0700 mfd/pcf50633-gpio.c: add MODULE_LICENSE Add the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Cc: Balaji Rao Cc: Andy Green Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit 422a6a7909526f75c8353b40b9f471b7c0a0eb21 Author: Mark Brown Date: Wed Apr 22 21:46:51 2009 +0100 mfd: Mark WM8350 mask revision as readable to match silicon No impact unless someone has written additional kernel code. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 04ffa1316ba47e5cea9dc2f01efbb67f9de36bc9 Author: Rakib Mullick Date: Sun Apr 19 08:56:49 2009 +0600 mfd: Mark clocks_init as non-init in twl4030-core.c Impact: Fix section mismatch. clocks_init() has been called from twl4030_probe() which is a non-init function. Since probing can be done anytime so clocks_init will be called anytime too. So we mark clock_init() as non-init. LD drivers/mfd/built-in.o WARNING: drivers/mfd/built-in.o(.text+0x8dd9): Section mismatch in reference from the function twl4030_probe() to the function .init.text:clocks_init() The function twl4030_probe() references the function __init clocks_init(). This is often because twl4030_probe lacks a __init annotation or the annotation of clocks_init is wrong. Signed-off-by: Rakib Mullick Signed-off-by: Samuel Ortiz commit 489bd34e76260fa73882bd97e5516a8f55651b3a Author: Mark Brown Date: Mon Apr 13 14:05:02 2009 +0100 mfd: Correct readability of WM8350 register 227 This includes the USB current limit status override which is used in the power management driver. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 2030117d2761c4c955e1a0683fa96ab62e4b197b Author: Catalin Marinas Date: Wed Jun 17 18:29:04 2009 +0100 kmemleak: Fix some typos in comments Signed-off-by: Catalin Marinas commit 000814f44e56122ea22e1f1422e16df36a1bb396 Author: Catalin Marinas Date: Wed Jun 17 18:29:03 2009 +0100 kmemleak: Rename kmemleak_panic to kmemleak_stop This is to avoid the confusion created by the "panic" word. Signed-off-by: Catalin Marinas Acked-by: Pekka Enberg commit 216c04b0d848fa3db04fc240d9cdc1d2cc1e9574 Author: Catalin Marinas Date: Wed Jun 17 18:29:02 2009 +0100 kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations Kmemleak allocates memory for pointer tracking and it tries to avoid using GFP_ATOMIC if the caller doesn't require it. However other gfp flags may be passed by the caller which aren't required by kmemleak. This patch filters the gfp flags so that only GFP_KERNEL | GFP_ATOMIC are used. Signed-off-by: Catalin Marinas Acked-by: Pekka Enberg commit 5aa75a0fd4bc6402899e06fdb853cab024d65055 Author: Peter Zijlstra Date: Mon Jun 15 20:11:41 2009 +0200 perf_counter tools: Replace isprint() with issane() The Git utils came with a ctype replacement that doesn't provide isprint(). Add a replacement. Solves a build bug on certain distros. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 60f916dee612130c9977a8edd4abee98334202ba Author: Peter Zijlstra Date: Mon Jun 15 19:00:20 2009 +0200 perf_counter: x86: Set the period in the intel overflow handler Commit 9e350de37ac960 ("perf_counter: Accurate period data") missed a spot, which caused all Intel-PMU samples to have a period of 0. This broke auto-freq sampling. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 6e7d6fdcbeefa9434653b5e5da12909636ea1d52 Author: Peter Zijlstra Date: Wed Jun 17 15:51:44 2009 +0200 perf report: Add --sort --call <$regex> Implement sorting by callchain symbols, --sort . It will create a new column which will show a match to --call $regex or "[unmatched]". Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8653f88ff93ba6bd6df4bac48908d41ad09dba7e Author: Huang Weiyi Date: Sat Jun 13 20:21:26 2009 +0800 x86: Remove duplicated #include's Signed-off-by: Huang Weiyi LKML-Reference: <1244895686-2348-1-git-send-email-weiyi.huang@gmail.com> Signed-off-by: Ingo Molnar commit 8fa62ad9d24e24707164ac7a97cbe59fe78a8591 Author: Jaswinder Singh Rajput Date: Wed Jun 17 14:11:10 2009 +0530 x86: msr.h linux/types.h is only required for __KERNEL__ is only required for __KERNEL__ as whole file is covered with it Also fixed some spacing issues for usr/include/asm-x86/msr.h Signed-off-by: Jaswinder Singh Rajput Cc: "H. Peter Anvin" LKML-Reference: <1245228070.2662.1.camel@ht.satnam> Signed-off-by: Ingo Molnar commit c30938d59e7468259855da91a885b19e8044b5f4 Merge: aa2638a 8e7c259 Author: Linus Torvalds Date: Wed Jun 17 09:51:50 2009 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c [CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c [CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c [CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c [CPUFREQ] powernow-k8: get drv data for correct CPU [CPUFREQ] powernow-k8: read P-state from HW [CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[] [CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier() [CPUFREQ] minor correction to cpu-freq documentation [CPUFREQ] powernow-k8.c: mess cleanup [CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful [CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0 [CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case commit aa2638a210ab0d7c6702cd54315365785fce326c Merge: b069e8e ea44319 Author: Linus Torvalds Date: Wed Jun 17 09:50:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: [SCSI] aic79xx: make driver respect nvram for IU and QAS settings [SCSI] don't attach ULD to Dell Universal Xport [SCSI] lpfc 8.3.3 : Update driver version to 8.3.3 [SCSI] lpfc 8.3.3 : Add support for Target Reset handler entrypoint [SCSI] lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash [SCSI] lpfc 8.3.3 : FC/FCOE discovery fixes [SCSI] lpfc 8.3.3 : Fix various SLI-3 vs SLI-4 differences [SCSI] qla2xxx: Resolve a performance issue in interrupt [SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set. [SCSI] nsp_cs: time_out reaches -1 [SCSI] qla2xxx: fix printk format warnings [SCSI] ncr53c8xx: div reaches -1 [SCSI] compat: don't perform unneeded copy in sg_io code [SCSI] zfcp: Update FC pass-through support [SCSI] zfcp: Add FC pass-through support [SCSI] FC Pass Thru support commit b069e8ed4d5054b1fcd31a98bb2053bde645202f Merge: b7c142d d9dd088 Author: Linus Torvalds Date: Wed Jun 17 09:48:30 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 * 'linux-next' of git://git.infradead.org/ubi-2.6: (21 commits) UBI: add reboot notifier UBI: handle more error codes UBI: fix multiple spelling typos UBI: fix kmem_cache_free on error patch UBI: print amount of reserved PEBs UBI: improve messages in the WL worker UBI: make gluebi a separate module UBI: remove built-in gluebi UBI: add notification API UBI: do not switch to R/O mode on read errors UBI: fix and clean-up error paths in WL worker UBI: introduce new constants UBI: fix race condition UBI: minor serialization fix UBI: do not panic if volume check fails UBI: add dump_stack in checking code UBI: fix races in I/O debugging checks UBI: small debugging code optimization UBI: improve debugging messages UBI: re-name volumes_mutex to device_mutex ... commit b7c142dbf1e7422d0be7f7faa3f1163ad9da9788 Merge: 0bd8df9 f2c5dbd Author: Linus Torvalds Date: Wed Jun 17 09:46:33 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: start using hrtimers hrtimer: export ktime_add_safe UBIFS: do not forget to register BDI device UBIFS: allow sync option in rootflags UBIFS: remove dead code UBIFS: use anonymous device UBIFS: return proper error code if the compr is not present UBIFS: return error if link and unlink race UBIFS: reset no_space flag after inode deletion commit 0bd8df908de2aefe312d05bd25cd3abc21a6d1da Author: Andrew Morton Date: Tue Jun 16 22:38:29 2009 -0700 Documentation/vm/Makefile: don't try to build slqbinfo For it is only in linux-next at this stage. Cc: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b47883d93e941cb2b2df9ab46b2bdb66116c992 Author: Dave Airlie Date: Wed Jun 17 17:21:13 2009 +1000 drm/radeon/kms: remove the _DRM_DRIVER from the KMS paths. This causes an issue since we fixed the drm mappings to do the right thing, so its just a copy and pasto. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit 4ce4b1b73b4dd37e4a70390976ac0bcf7038d6f9 Merge: 9cb0fbf 5caf5c7 Author: Linus Torvalds Date: Wed Jun 17 09:41:25 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: SLUB: Fix early boot GFP_DMA allocations SLUB: Don't print out OOM warning for __GFP_NOFAIL SLUB: fix build when !SLUB_DEBUG SLUB: Out-of-memory diagnostics slab: document kzfree() zeroing behavior slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE slob: use PG_slab for identifying SLOB pages commit 3104bf03a923c72043a9c5009d9cd56724304916 Author: Christian Engelmayer Date: Tue Jun 16 10:35:12 2009 +0200 sched: Fix out of scope variable access in sched_slice() Access to local variable lw is aliased by usage of pointer load. Access to pointer load in calc_delta_mine() happens when lw is already out of scope. [ Reported by static code analysis. ] Signed-off-by: Christian Engelmayer LKML-Reference: <20090616103512.0c846e51@frequentis.com> Signed-off-by: Ingo Molnar commit 27f70c3117194f98beb009dc48bb2aa267f505bf Merge: d186b86 e088a4a Author: Tony Luck Date: Wed Jun 17 09:35:24 2009 -0700 Pull for-2.6.31 into release commit e088a4ad7fa53c3dc3c29f930025f41ccf01953e Author: Matthew Wilcox Date: Fri May 22 13:49:49 2009 -0700 [IA64] Convert ia64 to use int-ll64.h It is generally agreed that it would be beneficial for u64 to be an unsigned long long on all architectures. ia64 (in common with several other 64-bit architectures) currently uses unsigned long. Migrating piecemeal is too painful; this giant patch fixes all compilation warnings and errors that come as a result of switching to use int-ll64.h. Note that userspace will still see __u64 defined as unsigned long. This is important as it affects C++ name mangling. [Updated by Tony Luck to change efi.h:efi_freemem_callback_t to use u64 for start/end rather than unsigned long] Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck commit a566a6b11c86147fe9fc9db7ab15f9eecca3e862 Author: Steven Whitehouse Date: Mon Jun 15 08:26:48 2009 +0100 dlm: Fix uninitialised variable warning in lock.c CC [M] fs/dlm/lock.o fs/dlm/lock.c: In function ‘find_rsb’: fs/dlm/lock.c:438: warning: ‘r’ may be used uninitialized in this function Since r is used on the error path to set r_ret, set it to NULL. Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland commit 348ec61e6268c3cd7ee75cfa50e408184a941506 Author: Hitoshi Mitake Date: Wed Jun 17 22:20:55 2009 +0900 sched: Hide runqueues from direct refer at source code level There are some points which refer the per-cpu value "runqueues" directly. sched.c provides nice abstraction, such as cpu_rq() and this_rq(), so we should use these macros when looking runqueues. Signed-off-by: Hitoshi Mitake LKML-Reference: <20090617.222055.374768827975756908.mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 813400060fe2824163cabd9afed4e476e7ce282e Merge: 1bf7b31 fe955e5 Author: Ingo Molnar Date: Wed Jun 17 18:21:41 2009 +0200 Merge branch 'x86/urgent' into x86/mce3 Conflicts: arch/x86/kernel/cpu/mcheck/mce_intel.c Merge reason: merge with an urgent-branch MCE fix. Signed-off-by: Ingo Molnar commit fe955e5c793aab398794be4c5ede172d48446c4a Author: Prarit Bhargava Date: Wed Jun 10 12:41:02 2009 -0700 x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround Expand Intel NMI perfctr1 workaround to include a Core2 processor stepping (cpuid family-6, model-f, stepping-4). Resolves a situation where the NMI would not enable on these processors. Signed-off-by: Prarit Bhargava Acked-by: Suresh Siddha Cc: prarit@redhat.com Cc: suresh.b.siddha@intel.com Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 9cb0fbf7f8cbbd16218a4fb5983ac55fbc031929 Merge: feb72ce 363c55c Author: Linus Torvalds Date: Wed Jun 17 09:13:52 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (47 commits) MIPS: Add hibernation support MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h MIPS: Allow CPU specific overriding of CP0 hwrena impl bits. MIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems. Hugetlbfs: Enable hugetlbfs for more systems in Kconfig. MIPS: TLB support for hugetlbfs. MIPS: Add hugetlbfs page defines. MIPS: Add support files for hugetlbfs. MIPS: Remove unused parameters from iPTE_LW. Staging: Add octeon-ethernet driver files. MIPS: Export erratum function needed by octeon-ethernet driver. MIPS: Cavium-Octeon: Add more chip specific feature tests. MIPS: Cavium-Octeon: Add more board type constants. MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver. MIPS: Add named alloc functions to OCTEON boot monitor memory allocator. MIPS: Alchemy: devboards: Convert to gpio calls. MIPS: Alchemy: xxs1500: use linux gpio api. MIPS: Alchemy: MTX-1: Use linux gpio api. MIPS: Alchemy: Rewrite GPIO support. MIPS: Alchemy: Remove unused au1000_gpio.h header ... commit d186b86ffcad713a1dd3d03e9d4ce2d59f61a1ed Author: Jes Sorensen Date: Wed Jun 17 09:04:40 2009 -0700 [IA64] Fix build error in paravirt_patchlist.c Andrew cleaned up some #include tangles in: commit 0d9c25dde878a636ee9a9b53923569171bf9a55b headers: move module_bug_finalize()/module_bug_cleanup() definitions into module.h which resulted in this build error for ia64: CC arch/ia64/kernel/paravirt_patchlist.o arch/ia64/kernel/paravirt_patchlist.c:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__initdata' arch/ia64/kernel/paravirt_patchlist.c:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'paravirt_get_gate_patchlist' arch/ia64/kernel/paravirt_patchlist.c:76: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'paravirt_get_gate_section' make[1]: *** [arch/ia64/kernel/paravirt_patchlist.o] Error 1 The problem was that paravirt_patchlist.c was relying on some of the nested includes (specifically that linux/bug.h included linux/module.h Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 0a842c8b60411e200b8a44b65dd78d9665692b91 Author: Daniel Mack Date: Wed Jun 17 17:45:11 2009 +0200 ALSA: snd_usb_caiaq: fix legacy input streaming Seems that nobody recently tried the input on the very first supported sound card model, RK2. This patch fixes the byte offset to make it running again. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit feb72ce827b939d5228664c92c2dfed7753cae46 Merge: 65795ef 5ac3455 Author: Linus Torvalds Date: Wed Jun 17 08:46:57 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: get rid of BKL in fs/sysv get rid of BKL in fs/minix get rid of BKL in fs/efs befs ->pust_super() doesn't need BKL Cleanup of adfs headers 9P doesn't need BKL in ->umount_begin() fuse doesn't need BKL in ->umount_begin() No instance of ->bmap() needs BKL remove unlock_kernel() left accidentally ext4: avoid unnecessary spinlock in critical POSIX ACL path ext3: avoid unnecessary spinlock in critical POSIX ACL path commit 1bf7b31efa0c322d93cb3f772cd9bc743e8bb42d Author: H. Peter Anvin Date: Wed Jun 17 08:31:15 2009 -0700 x86, mce: mce_intel.c needs mce_intel.c uses apic_write() and lapic_get_maxlvt(), and so it needs . Signed-off-by: H. Peter Anvin Cc: Andi Kleen Cc: Hidetoshi Seto commit 8f7007aabee22d6c186070e9532b0965f6036bb7 Author: Jaswinder Singh Rajput Date: Wed Jun 10 12:41:01 2009 -0700 x86: apic/io_apic.c: dmar_msi_type should be static Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 50a8d4d29735ec99139e58ea3cb11bed3331cf87 Author: Figo.zhang Date: Wed Jun 17 22:25:20 2009 +0800 x86, io_apic.c: Work around compiler warning This compiler warning: arch/x86/kernel/apic/io_apic.c: In function ‘ioapic_write_entry’: arch/x86/kernel/apic/io_apic.c:466: warning: ‘eu’ is used uninitialized in this function arch/x86/kernel/apic/io_apic.c:465: note: ‘eu’ was declared here Is bogus as 'eu' is always initialized. But annotate it away by initializing the variable, to make it easier for people to notice real warnings. A compiler that sees through this logic will optimize away the initialization. Signed-off-by: Figo.zhang LKML-Reference: <1245248720.3312.27.camel@myhost> Signed-off-by: Ingo Molnar commit 5ce4243dcefbbc43791ffc36e1be55067ceec916 Author: Cyrill Gorcunov Date: Mon Jun 15 22:26:33 2009 +0400 x86: mce: Don't touch THERMAL_APIC_VECTOR if no active APIC present If APIC was disabled (for some reason) and as result it's not even mapped we should not try to enable thermal interrupts at all. Reported-by: Simon Holm Thøgersen Tested-by: Simon Holm Thøgersen Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090615182633.GA7606@lenovo> Signed-off-by: Ingo Molnar commit b0a5b83ee0fce9dbf8ff5fe1f8c9ae7dfafe458c Author: Ingo Molnar Date: Tue Jun 16 16:11:14 2009 +0200 dma-debug: Put all hash-chain locks into the same lock class Alan Cox reported that lockdep runs out of its stack-trace entries with certain configs: BUG: MAX_STACK_TRACE_ENTRIES too low This happens because there are 1024 hash buckets, each with a separate lock. Lockdep puts each lock into a separate lock class and tracks them independently. But in reality we never take more than one of the buckets, so they really belong into a single lock-class. Annotate the has bucket lock init accordingly. [ Impact: reduce the lockdep footprint of dma-debug ] Reported-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Joerg Roedel commit fd5e1b5dbaa8b4aacc0e251d74182eda37062194 Author: Li Zefan Date: Mon Jun 15 13:34:19 2009 +0800 sched: Remove unneeded __ref tag Those two functions no longer call alloc_bootmmem_cpumask_var(), so no need to tag them with __init_refok. Signed-off-by: Li Zefan Acked-by: Pekka Enberg LKML-Reference: <4A35DD5B.9050106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 84599f8a59e77699f18f06948cea171a349a3f0f Author: Peter Zijlstra Date: Tue Jun 16 12:34:17 2009 -0700 sched, x86: Fix cpufreq + sched_clock() TSC scaling For freqency dependent TSCs we only scale the cycles, we do not account for the discrepancy in absolute value. Our current formula is: time = cycles * mult (where mult is a function of the cpu-speed on variable tsc machines) Suppose our current cycle count is 10, and we have a multiplier of 5, then our time value would end up being 50. Now cpufreq comes along and changes the multiplier to say 3 or 7, which would result in our time being resp. 30 or 70. That means that we can observe random jumps in the time value due to frequency changes in both fwd and bwd direction. So what this patch does is change the formula to: time = cycles * frequency + offset And we calculate offset so that time_before == time_after, thereby ridding us of these jumps in time. [ Impact: fix/reduce sched_clock() jumps across frequency changing events ] Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar Chucked-on-by: Thomas Gleixner Signed-off-by: Andrew Morton commit c564039fd83ea16a86a96d52632794b24849e507 Author: Eric Dumazet Date: Tue Jun 16 10:12:03 2009 +0000 net: sk_wmem_alloc has initial value of one, not zero commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 (net: No more expensive sock_hold()/sock_put() on each tx) changed initial sk_wmem_alloc value. Some protocols check sk_wmem_alloc value to determine if a timer must delay socket deallocation. We must take care of the sk_wmem_alloc value being one instead of zero when no write allocations are pending. Reported by Ingo Molnar, and full diagnostic from David Miller. This patch introduces three helpers to get read/write allocations and a followup patch will use these helpers to report correct write allocations to user. Reported-by: Ingo Molnar Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1d4ac5d5ef9dd965ae211ebe8acbf83dc4d9571b Author: Randy Dunlap Date: Tue Jun 16 16:56:33 2009 +0000 phy_device: fix parameter name in kernel-doc Fix kernel-doc parameter name in phy_device.c. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit d77eeb702cba0fa6efaf5689fce8939aa617f410 Author: Patrick McHardy Date: Mon Jun 15 23:33:24 2009 +0000 net: fix network drivers ndo_start_xmit() return values Fix up remaining drivers returning a magic or an errno value from their ndo_start_xmit() functions that were missed in the first pass: - isdn_net: missed conversion - bpqether: missed conversion: skb is freed, so return NETDEV_TX_OK - hp100: intention appears to be to resubmit skb once resources are available, but due to no queue handling it is dropped for now. - lapbether: skb is freed, so return NETDEV_TX_OK Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5dbc901172fb952409940cd7ca55d8e6e5a7cc2c Author: Sivakumar Subramani Date: Tue Jun 16 18:48:55 2009 +0000 vxge: Enable SRIOV support in the driver. - Enabled SRIOV support in the driver. - Call __vxge_hw_verify_pci_e_info() for the PF only. This function verifies the negotiated link width and current link speed in the Link Status Register (offset 12h) which are reserved fields for VFs as per the SRIOV specification, section 3.5.8. - Implemented David Miller's comment to remove the #ifdef CONFIG_PCI_IOV as these intefaces have NOP versions declared when the defintion is not set. Signed-off-by: Sivakumar Subramani Signed-off-by: Rastapur Santosh Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit a42fc8f6943127787ad2a416436cf211d5531229 Author: Randy Dunlap Date: Tue Jun 16 16:56:38 2009 +0000 skbuff.h: fix skb_dst kernel-doc Fix kernel-doc warnings (missing + extra entries) in skbuff.h. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit a3d06cc6aa3e765dc2bf98626f87272dcf641dca Merge: 0990b1c 65795ef Author: Ingo Molnar Date: Wed Jun 17 13:06:17 2009 +0200 Merge branch 'linus' into perfcounters/core Conflicts: arch/x86/include/asm/kmap_types.h include/linux/mm.h include/asm-generic/kmap_types.h Merge reason: We crossed changes with kmap_types.h cleanups in mainline. Signed-off-by: Ingo Molnar commit 363c55cae53742f3f685a1814912c6d4fda245b4 Author: Wu Zhangjin Date: Thu Jun 4 20:27:10 2009 +0800 MIPS: Add hibernation support [Ralf: SMP support requires CPU hotplugging which MIPS currently doesn't support. As implemented in this patch cache and tlb flushing will also be invoked with interrupts disabled so smp_call_function() will blow up in charming ways. So limit to !SMP.] Reviewed-by: Pavel Machek Reviewed-by: Yan Hua Reviewed-by: Arnaud Patard Reviewed-by: Atsushi Nemoto Signed-off-by: Wu Zhangjin Signed-off-by: Hu Hongbing Signed-off-by: Ralf Baechle commit 4bb1a1089e321d685967032497f4363081eab3a9 Author: David Daney Date: Wed May 13 15:59:56 2009 -0700 MIPS: Move Cavium CP0 hwrena impl bits to cpu-feature-overrides.h We had an ugly #ifdef for Cavium Octeon hwrena bits in traps.c, remove it to mach-cavium-octeon/cpu-feature-overrides.h Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit fbeda19f82aa07082d2e1607a9f5114141dae2ac Author: David Daney Date: Wed May 13 15:59:55 2009 -0700 MIPS: Allow CPU specific overriding of CP0 hwrena impl bits. Some CPUs have implementation dependent rdhwr registers. Allow them to be enabled on a per CPU basis. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 9cffd154cf6817b130762501b91e753524ba2cd4 Author: David Daney Date: Wed May 27 17:47:46 2009 -0700 MIPS: Kconfig Add SYS_SUPPORTS_HUGETLBFS and enable it for some systems. Add new kconfig variables SYS_SUPPORTS_HUGETLBFS and CPU_SUPPORTS_HUGEPAGES. They are enabled for systems that are known to support huge pages. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 852969b2d273e77dabbc22e1c1058cbafb7ad7d2 Author: David Daney Date: Wed May 27 17:47:45 2009 -0700 Hugetlbfs: Enable hugetlbfs for more systems in Kconfig. As part of adding hugetlbfs support for MIPS, I am adding a new kconfig variable 'SYS_SUPPORTS_HUGETLBFS'. Since some mips cpu varients don't yet support it, we can enable selection of HUGETLBFS on a system by system basis from the arch/mips/Kconfig. Signed-off-by: David Daney CC: William Irwin Signed-off-by: Ralf Baechle commit fd062c847a8cea2821347d7e18165dfa658f7dce Author: David Daney Date: Wed May 27 17:47:44 2009 -0700 MIPS: TLB support for hugetlbfs. The TLB handlers need to check for huge pages and give them special handling. Huge pages consist of two contiguous sub-pages of physical memory. * Loading entrylo0 and entrylo1 need to be handled specially. * The page mask must be set for huge pages and then restored after writing the TLB entries. * The PTE for huge pages resides in the PMD, we halt traversal of the tables there. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit dd7943920b492d9d8a79080fe05e25ecd7e10bc3 Author: David Daney Date: Wed May 27 17:47:43 2009 -0700 MIPS: Add hugetlbfs page defines. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 50a41ff292fafe1e937102be23464b54fed8b78c Author: David Daney Date: Wed May 27 17:47:42 2009 -0700 MIPS: Add support files for hugetlbfs. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit bd1437e49d80fa3369ffbea9e73cde7f6d69e550 Author: David Daney Date: Fri May 8 15:10:50 2009 -0700 MIPS: Remove unused parameters from iPTE_LW. The l parameter to iPTE_LW() is unused. Remove it and from some of its callers as well. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 80ff0fd3ab6451407a20c19b80c1643c4a6d6434 Author: David Daney Date: Tue May 5 17:35:21 2009 -0700 Staging: Add octeon-ethernet driver files. The octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui ports present on the Cavium OCTEON family of SOCs. These SOCs are multi-core mips64 processors with existing support over in arch/mips. The driver files can be categorized into three basic groups: 1) Register definitions, these are named cvmx-*-defs.h 2) Main driver code, these have names that don't start cvmx-. 3) Interface specific functions and other utility code, names starting with cvmx- Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 38295fb2a09264671c82d490ce77c17d492378e0 Author: David Daney Date: Tue May 5 17:35:20 2009 -0700 MIPS: Export erratum function needed by octeon-ethernet driver. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f1f1f5902be0cec3b5026610f360cd471765c157 Author: David Daney Date: Tue May 5 17:35:19 2009 -0700 MIPS: Cavium-Octeon: Add more chip specific feature tests. The octeon-ethernet driver needs to check for additional chip specific features, we add them to the octeon_has_feature() framework. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2b1b62e841867326fa260a581d97941c32abc35b Author: David Daney Date: Tue May 5 17:35:18 2009 -0700 MIPS: Cavium-Octeon: Add more board type constants. The bootloader now uses additional board type constants. The octeon-ethernet driver needs some of the new values. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 3e903bd9b192fe9739bb960191402d3b97ef4f6c Author: David Daney Date: Tue May 5 17:35:17 2009 -0700 MIPS: Export cvmx_sysinfo_get needed by octeon-ethernet driver. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 6fa044ab8ab609bf95423b2841e20a2f4bb3a86d Author: David Daney Date: Tue May 5 17:35:16 2009 -0700 MIPS: Add named alloc functions to OCTEON boot monitor memory allocator. The various Octeon ethernet drivers use these new functions. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit ce65cc8fe22a572ea9ec88e203388558b6b863af Author: Manuel Lauss Date: Sat Jun 6 14:09:58 2009 +0200 MIPS: Alchemy: devboards: Convert to gpio calls. Replace a few open-coded GPIO register accesses with gpio calls. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit b6c9f10517e99d806bebd04555801c787b9a3a23 Author: Manuel Lauss Date: Sat Jun 6 14:09:57 2009 +0200 MIPS: Alchemy: xxs1500: use linux gpio api. Replace a few GPIO register accesses in the board init code with calls to the gpio api. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit bb706b28bbd647c2fd7f22d6bf03a18b9552be05 Author: Manuel Lauss Date: Sat Jun 6 14:09:56 2009 +0200 MIPS: Alchemy: MTX-1: Use linux gpio api. Replace a few GPIO register accesses in the board init code with calls to the gpio api. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 51e02b02e650183ff1277bcbad6a01d6ea0e9edb Author: Manuel Lauss Date: Sat Jun 6 14:09:55 2009 +0200 MIPS: Alchemy: Rewrite GPIO support. The current in-kernel Alchemy GPIO support is far too inflexible for all my use cases. To address this, the following changes are made: * create generic functions which deal with manipulating the on-chip GPIO1/2 blocks. Such functions are universally useful. * Macros for GPIO2 shared interrupt management and block control. * support for both built-in CONFIG_GPIOLIB and fast, inlined GPIO macros. If CONFIG_GPIOLIB is not enabled, provide linux gpio framework compatibility by directly inlining the GPIO1/2 functions. GPIO access is limited to on-chip ones and they can be accessed as documented in the datasheets (GPIO0-31 and 200-215). If CONFIG_GPIOLIB is selected, two (2) gpio_chip-s, one for GPIO1 and one for GPIO2, are registered. GPIOs can still be accessed by using the numberspace established in the databooks. However this is not yet flexible enough for my uses: My Alchemy systems have a documented "external" gpio interface (fixed, different numberspace) and can support a variety of baseboards, some of which are equipped with I2C gpio expanders. I want to be able to provide the default 16 GPIOs of the CPU board numbered as 0..15 and also support gpio expanders, if present, starting as gpio16. To achieve this, a new Kconfig symbol for Alchemy is introduced, CONFIG_ALCHEMY_GPIO_INDIRECT, which boards can enable to signal that they don't want the Alchemy numberspace exposed to the outside world, but instead want to provide their own. Boards are now respon- sible for providing the linux gpio interface glue code (either in a custom gpio.h header (in board include directory) or with gpio_chips). To make the board-specific inlined gpio functions work, the MIPS Makefile must be changed so that the mach-au1x00/gpio.h header is included _after_ the board headers, by moving the inclusion of the mach-au1x00/ to the end of the header list. See arch/mips/include/asm/mach-au1x00/gpio.h for more info. Signed-off-by: Manuel Lauss Acked-by: Florian Fainelli Signed-off-by: Ralf Baechle commit eeb09e6545bf68222798ccf3f355560a9e406435 Author: Manuel Lauss Date: Sat Jun 6 14:09:54 2009 +0200 MIPS: Alchemy: Remove unused au1000_gpio.h header Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit f203b7cacb96e4bb44b6995c03152cbedfb1857f Author: Matthieu Castet Date: Sun May 24 19:48:51 2009 +0200 MIPS: BCM47xx: Fix gpio_direction_output gpio_direction_output should also set an output value according to the API. Signed-off-by: Matthieu CASTET Acked-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit cc906f8e237770cf22d132dfa27ea586d67f7bf2 Author: Ralf Baechle Date: Wed Jun 17 11:06:28 2009 +0100 MIPS: ioctl.h: Cleanup. o Rewrite to use . Cuts down the file from 40 to 16 lines. o Delete _IOC_VOID, _IOC_OUT, _IOC_IN and _IOC_INOUT. They were added for 2.1.14 but I was not able to find any user - not even historical ones. Signed-off-by: Ralf Baechle commit 923e3819005e60449ed6c9c8a86fd8e5cd9e6d77 Author: Atsushi Nemoto Date: Tue Jun 2 23:54:22 2009 +0900 MIPS: TXx9: Add TX4939 RNG support Add platform support for RNG of TX4939 SoC. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 049a947c611a19523eaaf193f698b897a62d0593 Author: Atsushi Nemoto Date: Tue Jun 2 23:54:21 2009 +0900 MIPS: hwrng: Add TX4939 RNG driver This patch adds support for the integrated RNG of the TX4939 SoC. Signed-off-by: Atsushi Nemoto Acked-by: Matt Mackall Signed-off-by: Ralf Baechle commit c3b28ae260d99a5364a31210a36a3246bd9647f7 Author: Atsushi Nemoto Date: Mon May 25 22:04:02 2009 +0900 MIPS: TXx9: Add SRAMC support Add a sysdev to access SRAM in TXx9 SoCs via sysfs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 05f94eebd55ef69a354d3ea70179e40ea4c34de6 Author: Imre Kaloz Date: Tue Jun 2 14:22:06 2009 +0200 MIPS: Sibyte: Remove standalone kernel support CFE is the only supported and used bootloader on the SiByte boards, the standalone kernel support has been never used outside Broadcom. Remove it and make the kernel use CFE by default. Signed-off-by: Imre Kaloz Signed-off-by: Ralf Baechle commit 435f81f4a24206f82ce10d430fa6f312cee80669 Author: Imre Kaloz Date: Tue Jun 2 14:22:00 2009 +0200 MIPS: Sibyte: Remove simulator option This patch removes the SiByte simulation Kconfig option, which only modified a printk. Signed-off-by: Imre Kaloz Signed-off-by: Ralf Baechle commit d36773e53f4919627d43b1010df096c5d518a1f5 Author: Florian Fainelli Date: Thu May 21 19:49:47 2009 +0200 MIPS: RB532: Check irq number when handling GPIO interrupts This patch makes sure that we are not going to clear or change the interrupt status of a GPIO interrupt superior to 13 as this is the maximum number of GPIO interrupt source (p.232 of the RC32434 reference manual). Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 1c99dac8bf0dd5bd1a7600e81d1e5691f7338250 Author: Florian Fainelli Date: Thu May 21 19:49:39 2009 +0200 MIPS: RB532: Cleanup cpu-features-overrides Remove commented out definitions. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit faed5288af0f05aa61ac1e8d47306d855a2868f0 Author: David Daney Date: Tue May 12 12:41:55 2009 -0700 MIPS: Remove dead case label. CPU_CAVIUM_OCTEON is mips_r2 which is handled before the switch. This label in the switch statement is dead code, so we remove it. Signed-off-by: David Daney Reviewed by: David VomLehn Signed-off-by: Ralf Baechle commit 9e290a19f21f4d6c305090d3c61fbfad65908188 Author: David Daney Date: Tue May 12 12:41:54 2009 -0700 MIPS: Remove execution hazard barriers for Octeon. The Octeon has no execution hazards, so we can remove them and save an instruction per TLB handler invocation. Signed-off-by: David Daney Reviewed by: David VomLehn Signed-off-by: Ralf Baechle commit 41f0e4d041aa30507a34998c29d0b7ac0bede277 Author: David Daney Date: Tue May 12 12:41:53 2009 -0700 MIPS: Allow R2 CPUs to turn off generation of 'ehb' instructions. Some CPUs do not need ehb instructions after writing CP0 registers. By allowing ehb generation to be overridden in cpu-feature-overrides.h, we can save a few instructions in the TLB handler hot paths. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 95affdda9bfba0ac17025d48c622e1f30964e316 Author: David Daney Date: Wed May 20 11:40:59 2009 -0700 MIPS: Fold the TLB refill at the vmalloc path if possible. Try to fold the 64-bit TLB refill handler opportunistically at the beginning of the vmalloc path so as to avoid splitting execution flow in half and wasting cycles for a branch required at that point then. Resort to doing the split if either of the newly created parts would not fit into its designated slot. Original-patch-by: Maciej W. Rozycki Signed-off-by: Maciej W. Rozycki Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit e6f72d3abafd50984decc2833c706e717f5ba04e Author: David Daney Date: Wed May 20 11:40:58 2009 -0700 MIPS: Replace some magic numbers with symbolic values in tlbex.c The logic used to split the r4000 refill handler is liberally sprinkled with magic numbers. We attempt to explain what they are and normalize them against a new symbolic value (MIPS64_REFILL_INSNS). CC: David VomLehn Reviewed-by: Paul Gortmaker Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 742cd5867b2ef7ce865d7ab67574c4e3aa1fb155 Author: Atsushi Nemoto Date: Tue May 19 22:12:22 2009 +0900 MIPS: TXx9: Add ACLC support Add platform support for ACLC of TXx9 SoCs. Signed-off-by: Atsushi Nemoto Acked-by: Mark Brown Signed-off-by: Ralf Baechle commit e8635b484f644c7873e6091f15330c49396f2cbc Author: David Daney Date: Thu Apr 23 17:44:38 2009 -0700 MIPS: Add Cavium OCTEON PCI support. This patch adds support for PCI and PCIe to the base Cavium OCTEON processor support. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 8860fb8210b06720d5fe3c23b2803a211c26feb1 Author: David Daney Date: Thu Apr 23 17:44:37 2009 -0700 MIPS: Add register definitions for PCI. Here we add the register definitions for the processor blocks used by the following PCI support patch. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f48c8c958a2d39f13dace880d15a6e711aafe577 Author: Atsushi Nemoto Date: Thu Apr 23 00:40:31 2009 +0900 MIPS: TXx9: Add DMAC support Add platform support for DMAC of TXx9 SoCs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ea76f0b3759283ec3cc06c86e266bf0fa6a981d2 Author: Atsushi Nemoto Date: Thu Apr 23 00:40:30 2009 +0900 DMA: TXx9 Soc DMA Controller driver This patch adds support for the integrated DMAC of the TXx9 family. Signed-off-by: Atsushi Nemoto Acked-by: Dan Williams Signed-off-by: Ralf Baechle commit a43da03ca4719276b9601730627d20b2a71fb6ba Author: Atsushi Nemoto Date: Fri Apr 24 00:10:36 2009 +0900 MIPS: TXx9: micro optimization for clocksource and clock_event Use container structure for clocksource, clock_event_device and hold a pointer to txx9_tmr_reg in it. This saves a few instructions in clocksource and clock_event handlers. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 605b7ef7b79cee8e36ae5c48700e1a1eec74d38a Author: Kevin Cernekee Date: Thu Apr 23 17:36:53 2009 -0700 MIPS: Support 64-byte D-cache line size Signed-off-by: Kevin Cernekee Signed-off-by: Ralf Baechle commit 3807ef3f61e094c9417d1a12f18d6b3c8e27d96f Author: Kevin Cernekee Date: Thu Apr 23 17:25:12 2009 -0700 MIPS: Pass struct device to plat_dma_addr_to_phys() Signed-off-by: Kevin Cernekee Signed-off-by: Ralf Baechle commit d3f634b96a86521f51bbaf04a81e34e7adb0eeb4 Author: Kevin Cernekee Date: Thu Apr 23 17:03:43 2009 -0700 MIPS: Add size and direction arguments to plat_unmap_dma_mem() Signed-off-by: Kevin Cernekee Signed-off-by: Ralf Baechle commit 7762f206a3f3a19a38ed91a3d87f019d8b4eafc1 Author: Ralf Baechle Date: Wed Jun 17 11:06:24 2009 +0100 MIPS: SB1250: Sort out merge mistake. A wrong resolution of a merge conflict made the recently deleted wrong error check in sb1250_set_affinity. Send the zombie back to the empire of the undead. Signed-off-by: Ralf Baechle commit 3cb3a66cf7559d9c5d47ddf58481530b8943052f Author: Atsushi Nemoto Date: Tue Jun 9 11:12:48 2009 +0900 MIPS: Fix __ndelay build error and add 'ull' suffix for 32-bit kernel Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit dbc1d911b4392982d5ec69eaed6b617758a148d9 Author: Ralf Baechle Date: Wed Jun 17 11:06:24 2009 +0100 MIPS: SMTC: Fix formatting difference to linux-mips.org code Signed-off-by: Ralf Baechle commit 39027ff07b572d5015f29a5bbbc36394f4e6f32e Author: Ralf Baechle Date: Fri Jun 12 17:28:00 2009 +0100 MIPS: Fix typo resulting in far too long ndelay times. Signed-off-by: Ralf Baechle commit ef39412622b6e8f09c383de9565b07e93553fc27 Author: Takashi Iwai Date: Wed Jun 17 11:42:45 2009 +0200 ASoC: Kill BUS_ID_SIZE Remove the use of BUS_ID_SIZE from txx9aclc.c, as BUS_ID_SIZE will be removed soon later. Also, use snprintf() instead of sprintf() as a safer operation. Signed-off-by: Takashi Iwai commit 5713e602106545ff601c158d0864ce8e79de6d0a Author: Paul Mundt Date: Wed Jun 17 18:20:48 2009 +0900 sh: pci: Initial PCI-Express support for SH7786 Urquell board. This adds initial support for the PCI-Express module in the SH7786, particularly as it relates to the urquell platform. Presently it is only supported in root complex mode, with endpoint mode still requiring more debugging. 29/32-bit mode and lane configurations are selectable via board mode pins, and are otherwise fixed. Only 4x and 1x PCI channels are presently handled, the PCI bridge still requires additional debugging and stabilization in hardware. Signed-off-by: Paul Mundt commit 05e9e61a2e742d33ed24392d989fff912a68d04f Author: David S. Miller Date: Wed Jun 17 01:36:23 2009 -0700 sonic: Fix build after ndo_start_xmit() changes. Noticed by Stephen Rothwell. Signed-off-by: David S. Miller commit 3d3638da49211cf15f8aec3030990ac6fba4c693 Merge: be890a1 66765fe 724cfb9 2cb582c 9c93e59 Author: Paul Mundt Date: Wed Jun 17 16:37:26 2009 +0900 Merge branches 'sh/pci-express-integration', 'sh/rsk-updates', 'sh/platform-updates' and 'sh/perf_counter' commit 9c93e596979021b159736a1273987c3e52d809e0 Author: Paul Mundt Date: Wed Jun 17 16:34:45 2009 +0900 sh: Generic HAVE_PERF_COUNTER support. This enables support for the generic software-based perf counters. Hardware counter support could be added in the future, but the lack of a performance counter IRQ makes this rather dubious. Signed-off-by: Paul Mundt commit e7c5a4f292e0d1f4ba9a3a94b2c8e8b71e35b25a Author: Wolfram Sang Date: Wed Jun 17 06:30:31 2009 -0600 powerpc/5121: make clock debug output more readable This patch refactors clock.c by replacing printk calls with pr_info/pr_cont, and uses '=' in output to connect key/value pairs Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 2cb582ca0d6bd0274b15c9ee9549fc2251b7b599 Author: Guennadi Liakhovetski Date: Tue May 12 15:13:40 2009 +0000 SH: convert migor to soc-camera as platform-device Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 194a17305cb0b5e0686261b645d3fd537d2fc58d Author: Guennadi Liakhovetski Date: Tue May 12 15:13:36 2009 +0000 SH: convert ap325rxa to soc-camera as platform-device Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 0a861e9eb76c68b23be1aa4758269c5b412089a9 Author: Guennadi Liakhovetski Date: Tue May 12 15:13:32 2009 +0000 soc-camera: unify i2c camera device platform data Unify i2c camera device platform data to point to struct soc_camera_link for a smooth transition to soc-camera as a platform driver. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit f73c8f53ccc13ae13c6dbfa002083448a5ad0c81 Author: Yoshihiro Shimoda Date: Tue May 26 09:33:14 2009 +0000 sh: add platform data for r8a66597-hcd in setup-sh7723 and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 6b64929c1e696090f32c31782e44d3b51754126f Author: Yoshihiro Shimoda Date: Tue May 26 09:33:11 2009 +0000 sh: add platform data for r8a66597-hcd in setup-sh7366 and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit fcaf99d20d86995cfa1a4f01b1273f9f7d74717e Author: Yoshihiro Shimoda Date: Tue May 26 09:33:08 2009 +0000 sh: x3proto: add platform data for r8a66597-hcd and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 6239b20d1ba60810c122390e79f968ccb69908a6 Author: Yoshihiro Shimoda Date: Tue May 26 09:33:05 2009 +0000 sh: highlander: add platform data for r8a66597-hcd and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 5a62a22514f97c04b434163195820cbe31ded888 Author: Yoshihiro Shimoda Date: Tue May 26 09:33:02 2009 +0000 sh: sh7785lcr: add platform data for r8a66597-hcd and remove redundant parameter for r8a66597-hcd. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 203abd67b75f7714ce98ab0cdbd6cfd7ad79dec4 Author: Andi Kleen Date: Mon Jun 15 14:52:01 2009 +0200 x86: mce: Handle banks == 0 case in K7 quirk Vegard Nossum reported: > I get an MCE-related crash like this in latest linus tree: > > [ 0.115341] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) > [ 0.116396] CPU: L2 Cache: 512K (64 bytes/line) > [ 0.120570] mce: CPU supports 0 MCE banks > [ 0.124870] BUG: unable to handle kernel NULL pointer dereference at 00000000 00000010 > [ 0.128001] IP: [] mcheck_init+0x278/0x320 > [ 0.128001] PGD 0 > [ 0.128001] Thread overran stack, or stack corrupted > [ 0.128001] Oops: 0002 [#1] PREEMPT SMP > [ 0.128001] last sysfs file: > [ 0.128001] CPU 0 > [ 0.128001] Modules linked in: > [ 0.128001] Pid: 0, comm: swapper Not tainted 2.6.30 #426 > [ 0.128001] RIP: 0010:[] [] mcheck_init+0x278/0x320 > [ 0.128001] RSP: 0018:ffffffff81595e38 EFLAGS: 00000246 > [ 0.128001] RAX: 0000000000000010 RBX: ffffffff8158f900 RCX: 0000000000000000 > [ 0.128001] RDX: 0000000000000000 RSI: 00000000000000ff RDI: 0000000000000010 > [ 0.128001] RBP: ffffffff81595e68 R08: 0000000000000001 R09: 0000000000000000 > [ 0.128001] R10: 0000000000000010 R11: 0000000000000000 R12: 0000000000000000 > [ 0.128001] R13: 00000000ffffffff R14: 0000000000000000 R15: 0000000000000000 > [ 0.128001] FS: 0000000000000000(0000) GS:ffff880002288000(0000) knlGS:00000 > 00000000000 > [ 0.128001] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b > [ 0.128001] CR2: 0000000000000010 CR3: 0000000001001000 CR4: 00000000000006b0 > [ 0.128001] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > [ 0.128001] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000 > [ 0.128001] Process swapper (pid: 0, threadinfo ffffffff81594000, task ffffff > ff8152a4a0) > [ 0.128001] Stack: > [ 0.128001] 0000000081595e68 5aa50ed3b4ddbe6e ffffffff8158f900 ffffffff8158f > 914 > [ 0.128001] ffffffff8158f948 0000000000000000 ffffffff81595eb8 ffffffff813b8 > 69c > [ 0.128001] 5aa50ed3b4ddbe6e 00000001078bfbfd 0000062300000800 5aa50ed3b4ddb > e6e > [ 0.128001] Call Trace: > [ 0.128001] [] identify_cpu+0x331/0x392 > [ 0.128001] [] identify_boot_cpu+0x23/0x6e > [ 0.128001] [] check_bugs+0x1c/0x60 > [ 0.128001] [] start_kernel+0x403/0x46e > [ 0.128001] [] x86_64_start_reservations+0xac/0xd5 > [ 0.128001] [] x86_64_start_kernel+0x115/0x14b > [ 0.128001] [] ? early_idt_handler+0x0/0x71 This happens on QEMU which reports MCA capability, but no banks. Without this patch there is a buffer overrun and boot ops because the code would try to initialize the 0 element of a zero length kmalloc() buffer. Reported-by: Vegard Nossum Tested-by: Pekka Enberg Signed-off-by: Andi Kleen LKML-Reference: <20090615125200.GD31969@one.firstfloor.org> Signed-off-by: Ingo Molnar commit cc4949e1fdade5d063e9f8783cf0e2cc92041ce5 Merge: 28b4868 300df7d Author: Ingo Molnar Date: Wed Jun 17 08:59:01 2009 +0200 Merge branch 'linus' into x86/urgent Merge reason: pull in latest to fix a bug in it. Signed-off-by: Ingo Molnar commit be890a1a95fb439594e796f1968f86ee9f36e718 Author: Magnus Damm Date: Wed Jun 17 05:04:04 2009 +0000 sh: turn off irqs when disabling CMT/TMU timers Modify the CMT and TMU drivers to disable interrupts when disabling the timer. Only using start/stop bits is not enough. This fixes a bootup hang on Migo-R when the CMT is replaced by TMU for clockevents but the CMT keeps on delivering irqs even though the timer start bit is off. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4c7eb4ebc9001ce343969f58fa538e164e82000b Author: Magnus Damm Date: Wed Jun 17 04:55:42 2009 +0000 sh: use kzalloc() for cpg clocks Convert the shared clock cpg code from bootmem to slab. Without this patch the current bootmem code triggers WARN_ON() because the slab is available. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ec39885b237c35109644f5d8232228026a72715 Author: Magnus Damm Date: Wed Jun 17 04:48:20 2009 +0000 sh: unbreak WARN_ON() Fix WARN_ON() by modifying the bug trap handling code to always return in the in-kernel instruction pointer case. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit def319f9e937f7a6a29718d3e2826c6c32f33245 Author: Sasha Alexandr Date: Tue Jun 16 16:00:15 2009 -0400 ALSA: HDA - Correct trivial typos in comments. Correct some trivial typos in comments. Signed-off-by: Sasha Alexandr Signed-off-by: Takashi Iwai commit c259249f7d7a6e534f3bafe046929fee236eebfa Author: Sasha Alexandr Date: Tue Jun 16 14:52:54 2009 -0400 ALSA: HDA - Name-fixes in code (tagra/targa) Correct some cut+paste typos from 'tagra' to 'targa'. Signed-off-by: Sasha Alexandr Signed-off-by: Takashi Iwai commit df01b8af5627b7e28c087559cbce4f359ce07c49 Author: Sasha Alexandr Date: Tue Jun 16 14:46:17 2009 -0400 ALSA: HDA - Add pci-quirk for MSI MS-7350 motherboard. Add pci-quirk for MSI MS-7350 motherboard with Realtek ALC888. Signed-off-by: Sasha Alexandr Signed-off-by: Takashi Iwai commit 87c441e54dfcf9f45593ecaf68e7e18ea53d5e13 Author: Wolfgang Denk Date: Wed Jun 17 00:30:22 2009 -0600 powerpc/5xxx: Add common mpc5xxx_get_bus_frequency() function So far, MPC512x used mpc512x_find_ips_freq() to get the bus frequency, while MPC52xx used mpc52xx_find_ipb_freq(). Despite the different clock names (IPS vs. IPB) the code was identical. Use common code for both processor families. Signed-off-by: Wolfgang Denk Signed-off-by: Grant Likely commit c155ee10c212254e9cdfe7b3eab4e8c13990c231 Author: Wolfram Sang Date: Wed Jun 17 00:30:17 2009 -0600 powerpc/5200: Update pcm030.dts to add i2c eeprom and delete cruft Add a node for the i2c eeprom and delete the superflous gpio-example. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit ab7f3341df07747079b46c38d4e445f38f9a3192 Author: Anton Vorontsov Date: Wed Jun 17 00:30:10 2009 -0600 powerpc/5200: convert mpc52xx_psc_spi to use cs_control callback mpc52xx_psc_spi driver is the last user of the legacy activate_cs and deactivate_cs callbacks, so convert the driver to the cs_control hook and remove the legacy callbacks from fsl_spi_platform_data struct. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely commit aa296a891d1f3704d40127e998c31dfda531fca7 Author: Grant Likely Date: Wed Jun 17 00:30:02 2009 -0600 fbdev/xilinxfb: Fix improper casting and tighen up probe path The xilinxfb driver is improperly casting a physical address to a u32, and the probe routine isn't as straight forward as it could be. (discovered by gcc spitting out warnings on most recent change to xilinxfb driver). This patch fixes the cast and simplifies the probe path. Signed-off-by: Grant Likely Tested-by: John Linn commit f75dcc87feab791847605044311a4a8e9335da91 Author: Takashi Iwai Date: Wed Jun 17 08:22:32 2009 +0200 ALSA: hda - Fix memory leak at codec creation The codec->modelname field is allocated twice in snd_hda_codec_new(). Signed-off-by: Takashi Iwai commit 5caf5c7dc2d303b770e426f7e2238df882f1773b Merge: e03ab9d 964cf35 Author: Pekka Enberg Date: Wed Jun 17 08:30:54 2009 +0300 Merge branch 'slub/earlyboot' into for-linus Conflicts: mm/slub.c commit e03ab9d415c47e1ff485b646f95604d3e3a91708 Merge: 65795ef a234bdc 6746136 7303f24 95f8598 Author: Pekka Enberg Date: Wed Jun 17 08:30:15 2009 +0300 Merge branches 'slab/documentation', 'slab/fixes', 'slob/cleanups' and 'slub/fixes' into for-linus commit 5ac3455a843d2ca77333c954eea83aa4514c8199 Author: Al Viro Date: Tue Jun 16 23:59:37 2009 -0400 get rid of BKL in fs/sysv Signed-off-by: Al Viro commit cc46759a8c0ac4c6f13aa4b0f470305c05f600e1 Author: Al Viro Date: Tue Jun 16 23:47:45 2009 -0400 get rid of BKL in fs/minix Signed-off-by: Al Viro commit e7ec952f6aa6ac1649ac49eb5e4de5b92c829d1e Author: Al Viro Date: Tue Jun 16 23:35:46 2009 -0400 get rid of BKL in fs/efs Only readdir() really needed it, and that's easily fixable by switch to generic_file_llseek() Signed-off-by: Al Viro commit 536c94901eb8f2eb6fccf81ae6be814899a9f6e8 Author: Al Viro Date: Tue Jun 16 23:24:50 2009 -0400 befs ->pust_super() doesn't need BKL Signed-off-by: Al Viro commit 608ba50bd0225d95469154feba8f00a6457848c1 Author: Al Viro Date: Tue Jun 16 14:52:13 2009 -0400 Cleanup of adfs headers Signed-off-by: Al Viro commit ee450f796f6c4f3a563c914cb93ccfa91a1f7580 Author: Al Viro Date: Tue Jun 16 14:17:21 2009 -0400 9P doesn't need BKL in ->umount_begin() Signed-off-by: Al Viro commit 66c6af2e8ba55d4d6691c136b42f2423ab9598ec Author: Al Viro Date: Tue Jun 16 14:15:00 2009 -0400 fuse doesn't need BKL in ->umount_begin() Signed-off-by: Al Viro commit fe36adf47eb1f7f4972559efa30ce3d2d3f977f2 Author: Al Viro Date: Tue Jun 16 13:35:01 2009 -0400 No instance of ->bmap() needs BKL Signed-off-by: Al Viro commit b0895513f499b8f786d292ce48589ca210ca1d6e Author: J. R. Okajima Date: Wed Jun 17 01:16:50 2009 +0900 remove unlock_kernel() left accidentally commit 337eb00a2c3a421999c39c94ce7e33545ee8baa7 Push BKL down into ->remount_fs() and commit 4aa98cf768b6f2ea4b204620d949a665959214f6 Push BKL down into do_remount_sb() were uncorrectly merged. The former removes one pair of lock/unlock_kernel(), but the latter adds several unlock_kernel(). Finally a few unlock_kernel() calls left. Signed-off-by: J. R. Okajima Signed-off-by: Al Viro commit 210ad6aedb332e73167ece5af9bd47f0da8c2aca Author: Theodore Ts'o Date: Mon Jun 8 15:22:25 2009 -0400 ext4: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext4 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. (This commit was ported from a patch originally authored by Linus for ext3.) Signed-off-by: "Theodore Ts'o" Signed-off-by: Al Viro commit 9c64daff9d5afb102dfe64a26829e26725538e58 Author: Linus Torvalds Date: Mon Jun 8 15:22:24 2009 -0400 ext3: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext3 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. This is noticeable even on Nehalem, which does locking quite well (much better than P4). From lmbench: Processor, Processes - times in microseconds - smaller is better -------------------------------------------------------------------- Host OS Mhz null null open slct fork exec sh call I/O stat clos TCP proc proc proc --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- - before: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.45 2.18 69.1 273. 1141 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.48 2.28 69.9 253. 1140 nehalem.l Linux 2.6.30- 3193 0.04 0.10 0.95 1.42 2.19 68.6 284. 1141 - after: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.44 2.12 68.3 282. 1094 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.20 67.0 308. 1123 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.36 67.4 293. 1148 where you can see what appears to be a roughly 3% improvement in stat and open/close latencies from just the removal of the locking overhead. Of course, this only matters for files you don't own (the owner never needs to do the ACL checks), but that's the common case for libraries, header files, and executables. As well as for the base components of any absolute pathname, even if you are the owner of the final file. [ At some point we probably want to move this ACL caching logic entirely into the VFS layer (and only call down to the filesystem when uncached), but in the meantime this improves ext3 a bit. A similar fix to btrfs makes a much bigger difference (15x improvement in lmbench) due to broken caching. ] Signed-off-by: Linus Torvalds Signed-off-by: "Theodore Ts'o" Acked-by: Jan Kara Cc: Al Viro Signed-off-by: Al Viro commit 65795efbd380a832ae508b04dba8f8e53f0b84d9 Merge: 8d15b0e 4eaad8a Author: Linus Torvalds Date: Tue Jun 16 21:26:42 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-stu300: Make driver depend on MACH_U300 i2c-s3c2410: use resource_size() i2c: Use resource_size macro i2c: ST DDC I2C U300 bus driver v3 i2c-bfin-twi: pull in io.h for ioremap() commit 8d15b0ec32f20a57881dc073b2e8d11dea0ccceb Merge: 005411c cc8da52 Author: Linus Torvalds Date: Tue Jun 16 21:20:39 2009 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon: switch to using late_initcall radeon legacy chips: tv dac bg/dac adj updates drm/radeon: introduce kernel modesetting for radeon hardware drm: Add the TTM GPU memory manager subsystem. drm: Memory fragmentation from lost alignment blocks drm/radeon: fix mobility flags on new PCI IDs. commit 005411c3e9147bc3b78215390e847d688dbbc163 Author: David Howells Date: Tue Jun 16 21:36:49 2009 +0100 AFS: Correctly translate auth error aborts and don't failover in such cases Authentication error abort codes should be translated to appropriate Linux error codes, rather than all being translated to EREMOTEIO - which indicates that the server had internal problems. Additionally, a server shouldn't be marked unavailable and the next server tried if an authentication error occurs. This will quickly make all the servers unavailable to the client. Instead the error should be returned straight to the user. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 519d25679e8ae7433c758b9e74b19144f61b90f8 Author: David Howells Date: Tue Jun 16 21:36:44 2009 +0100 RxRPC: Don't attempt to reuse aborted connections Connections that have seen a connection-level abort should not be reused as the far end will just abort them again; instead a new connection should be made. Connection-level aborts occur due to such things as authentication failures. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 0dd5198672dd2bbeb933862e1fc82162e0b636be Merge: c868d55 11c635a Author: Linus Torvalds Date: Tue Jun 16 21:15:42 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (425 commits) V4L/DVB (11870): gspca - main: VIDIOC_ENUM_FRAMESIZES ioctl added. V4L/DVB (12004): poll method lose race condition V4L/DVB (11894): flexcop-pci: dmesg visible names broken V4L/DVB (11892): Siano: smsendian - declare function as extern V4L/DVB (11891): Siano: smscore - bind the GPIO SMS protocol V4L/DVB (11890): Siano: smscore - remove redundant code V4L/DVB (11889): Siano: smsdvb - add DVB v3 events V4L/DVB (11888): Siano: smsusb - remove redundant ifdef V4L/DVB (11887): Siano: smscards - add board (target) events V4L/DVB (11886): Siano: smscore - fix some new GPIO definitions names V4L/DVB (11885): Siano: Add new GPIO management interface V4L/DVB (11884): Siano: smssdio - revert to stand alone module V4L/DVB (11883): Siano: cards - add two additional (USB) devices V4L/DVB (11824): Siano: smsusb - change exit func debug msg V4L/DVB (11823): Siano: smsusb - fix typo in module description V4L/DVB (11822): Siano: smscore - bug fix at get_device_mode V4L/DVB (11821): Siano: smscore - fix isdb-t firmware name V4L/DVB (11820): Siano: smscore - fix byte ordering bug V4L/DVB (11819): Siano: smscore - fix get_common_buffer bug V4L/DVB (11818): Siano: smscards - assign gpio to HPG targets ... commit c868d550115b9ccc0027c67265b9520790f05601 Author: Benjamin Herrenschmidt Date: Wed Jun 17 13:48:39 2009 +1000 mm: Move pgtable_cache_init() earlier Some architectures need to initialize SLAB caches to be able to allocate page tables. They do that from pgtable_cache_init() so the later should be called earlier now, best is before vmalloc_init(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 517d08699b250021303f9a7cf0d758b6dc0748ed Merge: 8eeee4e a34601c Author: Linus Torvalds Date: Tue Jun 16 19:50:13 2009 -0700 Merge branch 'akpm' * akpm: (182 commits) fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset fbdev: *bfin*: fix __dev{init,exit} markings fbdev: *bfin*: drop unnecessary calls to memset fbdev: bfin-t350mcqb-fb: drop unused local variables fbdev: blackfin has __raw I/O accessors, so use them in fb.h fbdev: s1d13xxxfb: add accelerated bitblt functions tcx: use standard fields for framebuffer physical address and length fbdev: add support for handoff from firmware to hw framebuffers intelfb: fix a bug when changing video timing fbdev: use framebuffer_release() for freeing fb_info structures radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb? s3c-fb: CPUFREQ frequency scaling support s3c-fb: fix resource releasing on error during probing carminefb: fix possible access beyond end of carmine_modedb[] acornfb: remove fb_mmap function mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF mb862xxfb: restrict compliation of platform driver to PPC Samsung SoC Framebuffer driver: add Alpha Channel support atmel-lcdc: fix pixclock upper bound detection offb: use framebuffer_alloc() to allocate fb_info struct ... Manually fix up conflicts due to kmemcheck in mm/slab.c commit a34601c5d84134055782ee031d58d82f5440e918 Author: Mike Frysinger Date: Tue Jun 16 15:34:43 2009 -0700 fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f09d74a6165c210d5d58d10c2bd58a8c13b0ca8 Author: Mike Frysinger Date: Tue Jun 16 15:34:42 2009 -0700 fbdev: *bfin*: fix __dev{init,exit} markings The remove member of the platform_driver bfin_t350mcqb_driver should use __devexit_p() to refer to the remove function, and that function should get __devexit markings. Likewise, the probe function should be marked with __devinit and not __init. Also, module_init() functions should be marked with __init rather than __devinit. Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3608c66c2e6522952b4be219317b194ab27f4e78 Author: Vivek Kutal Date: Tue Jun 16 15:34:42 2009 -0700 fbdev: *bfin*: drop unnecessary calls to memset The dma_alloc_* functions sets the memory to 0 before returning so there is no need to call memset after the allocation. Also no point in clearing the memory when disabling the buffer. Signed-off-by: Vivek Kutal Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9990bfd0e5d4aae9c33693aef8b0a36577c63677 Author: Mike Frysinger Date: Tue Jun 16 15:34:41 2009 -0700 fbdev: bfin-t350mcqb-fb: drop unused local variables The local fbinfo/info vars in the suspend functions don't actually get used which cause ugly gcc warnings, so drop them. Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00115e6690ed5aa90530e1e41c467cd895dd18fc Author: Mike Frysinger Date: Tue Jun 16 15:34:40 2009 -0700 fbdev: blackfin has __raw I/O accessors, so use them in fb.h Signed-off-by: Mike Frysinger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ed167af96ed098187ea41353fe02d1af20d38a1 Author: Kristoffer Ericson Date: Tue Jun 16 15:34:40 2009 -0700 fbdev: s1d13xxxfb: add accelerated bitblt functions Add accelerated bitblt functions to s1d13xxx based video chipsets, more specificly functions copyarea and fillrect. It has only been tested and activated for 13506 chipsets but is expected to work for the majority of s1d13xxx based chips. This patch also cleans up the driver with respect of whitespaces and other formatting issues. We update the current status comments. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Kristoffer Ericson Cc: Russell King Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe3a1aa239a74bcbf25211aab33b6ecc80acf0f9 Author: Krzysztof Helt Date: Tue Jun 16 15:34:39 2009 -0700 tcx: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4410f3910947dcea8672280b3adecd53cec4e85e Author: Dave Airlie Date: Tue Jun 16 15:34:38 2009 -0700 fbdev: add support for handoff from firmware to hw framebuffers With KMS we have ran into an issue where we really want the KMS fb driver to be the one running the console, so panics etc can be shown by switching out of X etc. However with vesafb/efifb built-in, we end up with those on fb0 and the KMS fb driver on fb1, driving the same piece of hw, so this adds an fb info flag to denote a firmware fbdev, and adds a new aperture base/size range which can be compared when the hw drivers are installed to see if there is a conflict with a firmware driver, and if there is the firmware driver is unregistered and the hw driver takes over. It uses new aperture_base/size members instead of comparing on the fix smem_start/length, as smem_start/length might for example only cover the first 1MB of the PCI aperture, and we could allocate the kms fb from 8MB into the aperture, thus they would never overlap. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Dave Airlie Acked-by: Peter Jones Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b586640141ab5f4ab3b194419bc2c0f039e91dbc Author: Paul Menzel Date: Tue Jun 16 15:34:37 2009 -0700 intelfb: fix a bug when changing video timing When changing video timing dynamically via fbset the screen sporadically is rendered black. With the attached fix which disables VCO prior to timing register change the problem disappears. I had a look at the Xserver register setup code. Here the VCO is disabled in the same way [1]. This patch is taken from vga-sync-field version 0.0.11 [2][3]. [1] http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/tree/src/i830_= driver.c [2] http://lowbyte.de/vga-sync-fields/vga-sync-fields-0.0.11.tgz [3] http://easy-vdr.de/git?p=frc.git/.git;a=commit;h=dcc3b863e5a663652587619c357bd20075af6896 2587619c357bd20075af6896 Signed-off-by: Thomas Hilber Signed-off-by: Paul Menzel Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 491bcc9bf5d9a57f2d9cb3ce8ba0f6d48752c113 Author: Krzysztof Helt Date: Tue Jun 16 15:34:36 2009 -0700 fbdev: use framebuffer_release() for freeing fb_info structures Use the framebuffer_release() for freeing fb_info structures allocated with framebuffer_alloc(). Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f73323de5a07e2a7bf3e9bca36dcc8057e5446d4 Author: Roel Kluin Date: Tue Jun 16 15:34:35 2009 -0700 radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb? P2G2CLK_ALWAYS_ONb is tested twice, 2nd should be P2G2CLK_DAC_ALWAYS_ONb. [akpm@linux-foundation.org: remove duplicated bitwise-OR of PIXCLKS_CNTL__R300_P2G2CLK_ALWAYS_ONb too] Signed-off-by: Roel Kluin Acked-by: Benjamin Herrenschmidt Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dac6ecdc056b83ac66e5b5c923fb73268f4332d Author: Ben Dooks Date: Tue Jun 16 15:34:34 2009 -0700 s3c-fb: CPUFREQ frequency scaling support Add support for CPU frequency scaling in the S3C24XX video driver. Signed-off-by: Simtec Linux Team Signed-off-by: Ben Dooks Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddc518d9f88d7cf82bd974737ce977193785335d Author: Krzysztof Helt Date: Tue Jun 16 15:34:33 2009 -0700 s3c-fb: fix resource releasing on error during probing All resources are released in s3c_fb_win_release so remove other places of resources releasing. Add releasing of an allocated fb_info structure as well. Signed-off-by: Krzysztof Helt Cc: Kyungmin Park Cc: Marek Szyprowski Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 493f139ecf9ee72f73ccbabd016325a145e884ee Author: Roel Kluin Date: Tue Jun 16 15:34:32 2009 -0700 carminefb: fix possible access beyond end of carmine_modedb[] This check is off-by-one. Signed-off-by: Roel Kluin Cc: Sebastian Siewior Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34308fd4a22b4c24f54951e47d14e6ae5de6e150 Author: Krzysztof Helt Date: Tue Jun 16 15:34:32 2009 -0700 acornfb: remove fb_mmap function The driver's fb_mmap function is essentially the same as a generic fb_mmap function. Delete driver's function and use the generic one. A difference is that generic function marks frame buffer memory as VM_IO | VM_RESERVED. The driver's function marks it as VM_IO only. Signed-off-by: Krzysztof Helt Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24f01dcb53a950999f42f55123f7bc4ccda4ca57 Author: Arnd Bergmann Date: Tue Jun 16 15:34:31 2009 -0700 mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF With this change, the driver builds fine on Microblaze, which helps allyesconfig compile tests. I did not test sparc, but the change should have the same effect there. Signed-off-by: Arnd Bergmann Acked-by: Anatolij Gustschin Tested-by: Anatolij Gustschin Cc: "David S. Miller" Cc: Michal Simek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 336e747eebef7117b9acabb606bd817f1f1c5106 Author: Julian Calaby Date: Tue Jun 16 15:34:29 2009 -0700 mb862xxfb: restrict compliation of platform driver to PPC The OpenFirmware part of this driver is uncompilable on SPARC due to it's dependance on several PPC specific functions. Restricting this to PPC to prevent these build errors: CC drivers/video/mb862xx/mb862xxfb.o drivers/video/mb862xx/mb862xxfb.c: In function 'of_platform_mb862xx_probe': drivers/video/mb862xx/mb862xxfb.c:559: error: implicit declaration of function 'of_address_to_resource' drivers/video/mb862xx/mb862xxfb.c:575: error: 'NO_IRQ' undeclared (first use in this function) drivers/video/mb862xx/mb862xxfb.c:575: error: (Each undeclared identifier is reported only once drivers/video/mb862xx/mb862xxfb.c:575: error: for each function it appears in.) This was found using randconfig builds. Signed-off-by: Julian Calaby Signed-off-by: Anatolij Gustschin Cc: Arnd Bergmann Cc: Anatolij Gustschin Cc: "David S. Miller" Cc: Michal Simek Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39000d654c2a22ca51fe92a39003d5fade59e9e4 Author: InKi Dae Date: Tue Jun 16 15:34:27 2009 -0700 Samsung SoC Framebuffer driver: add Alpha Channel support Add support for the ARGB1888 and ARGB4888 hardware to the Samsung SoC Framebuffer driver (s3c-fb.c). ARGB1888 and ARGB4888 is decided by var->transp.length and this variable is set by s3c_fb_check_var(). In s3c_fb_check_var(), if var->vits_per_pixel is 25 or 28, then var->transp.length would be 1 or 3. Therefore alpha mode(ARGB1888 or ARGB4888) could be decided through that variable. For using alpha mode, you need to set the following: This code should be added to your machine code as platform data. static struct s3c_fb_pd_win xxx_fb_win0 = { /* this is to ensure we use win0 */ .win_mode = { .pixclock = (8+8+8+240)*(38+4+38+400), .left_margin = 8, .right_margin = 8, .upper_margin = 38, .lower_margin = 38, .hsync_len = 8, .vsync_len = 4, .xres = 240, .yres = 400, }, .max_bpp = 32, .default_bpp = 24, }; static struct s3c_fb_pd_win xxx_fb_win1 = { .win_mode = { .pixclock = (8+8+8+240)*(38+4+38+400), .left_margin = 8, .right_margin = 8, .upper_margin = 38, .lower_margin = 38, .hsync_len = 8, .vsync_len = 4, .xres = 240, .yres = 400, }, .max_bpp = 32, .default_bpp = 28, }; static struct s3c_fb_platdata xxx_lcd_pdata __initdata = { .win[0] = &ncp_fb_win0, .win[1] = &ncp_fb_win1, .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, .setup_gpio = xxx_fb_gpio_setup, }; s3c_fb_set_platdata(&xxx_lcd_pdata); The above code sets pixelformat for window0 layer to RGB888 and window1 layer to ARGB4888. Signed-off-by: InKi Dae Cc: Ben Dooks Cc: Kyungmin Park Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97b9a5a28b5fd02ceb3fcccee05e39dd62e4f474 Author: Ben Nizette Date: Tue Jun 16 15:34:24 2009 -0700 atmel-lcdc: fix pixclock upper bound detection AFAICT the code which checks that the requested pixclock value is within bounds is incorrect. It ensures that the lcdc core clock is at least (bytes per pixel) times higher than the pixel clock rather than just greater than or equal to. There are tighter restrictions on the pixclock value as a function of bus width for STN panels but even then it isn't a simple relationship as currently checked for. IMO either something like the below patch should be applied or else more detailed checking logic should be implemented which takes in to account the panel type as well. Signed-off-by: Ben Nizette Acked-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Daniel Glockner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4113819eb360555a91a8291f37bbbe9d26c5b275 Author: Krzysztof Helt Date: Tue Jun 16 15:34:23 2009 -0700 offb: use framebuffer_alloc() to allocate fb_info struct Use the framebuffer_alloc() function to allocate the fb_info structure so the structure is correctly initialized after allocation. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Acked-by: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 100b4a6eefb2ec335a2ae82356dad1b506ded8ed Author: Krzysztof Helt Date: Tue Jun 16 15:34:23 2009 -0700 igafb: use framebuffer_alloc() to allocate fb_info struct Use the framebuffer_alloc() function to allocate the fb_info structure so the structure is correctly initialized after allocation. Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ec42d2659e81f068c5392fd5cb2f5b4bd35e880 Author: Krzysztof Helt Date: Tue Jun 16 15:34:22 2009 -0700 chipsfb: remove redundant assignment The removed assignment is done inside the framebuffer_alloc() earlier. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d9d2fdfae4cf7fda90178a9daf0f8f750043ae8 Author: Paul Menzel Date: Tue Jun 16 15:34:21 2009 -0700 Documentation/fb/vesafb.txt: fix typo Signed-off-by: Paul Menzel Cc: Gerd Knorr Cc: Nico Schmoigl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b7f2e3b587f01d2cc901b48716eed4bd90fbe4 Author: Paul Menzel Date: Tue Jun 16 15:34:20 2009 -0700 fbdev: add video modes for resolutions and timings of PAL RGB This patch was taken from vga-sync-field version 0.0.3 [1][2]. [1] http://lowbyte.de/vga-sync-fields/vga-sync-fields-0.0.3.tgz [2] http://git.hellersdorfer-jugendchor.de/?p=3Dvga2scart.git;a=3Dcommit;h= =3Dc5c8ed6c51fc9879dbf38d8b91d5db6f4300ea03 Signed-off-by: Thomas Hilber Signed-off-by: Paul Menzel Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae52bb2384f721562f15f719de1acb8e934733cb Author: Geert Uytterhoeven Date: Tue Jun 16 15:34:19 2009 -0700 fbdev: move logo externs to header file Now we have __initconst, we can finally move the external declarations for the various Linux logo structures to . James' ack dates back to the previous submission (way to long ago), when the logos were still __initdata, which caused failures on some platforms with some toolchain versions. Signed-off-by: Geert Uytterhoeven Acked-by: James Simmons Cc: Krzysztof Helt Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a53c9d5b7115173fba9f82ff8120b624ef206f48 Author: Sam Ravnborg Date: Tue Jun 16 15:34:18 2009 -0700 fbdev: generated logo sources depend on scripts/pnmtologo The generated logo sources are not automatically regenerated if scripts/pnmtologo.c has changed. Add the missing dependency to fix this. Signed-off-by: Sam Ravnborg Tested-by: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f3128e714ded7cf1e8c786c204a4f253b5d8ff4 Author: Daniel Mack Date: Tue Jun 16 15:34:17 2009 -0700 lis3: add click function The LIS302DL accelerometer chip has a 'click' feature which can be used to detect sudden motion on any of the three axis. Configuration data is passed via spi platform_data and no action is taken if that's not specified, so it won't harm any existing platform. To make the configuration effective, the IRQ lines need to be set up appropriately. This patch also adds a way to do that from board support code. The DD_* definitions were factored out to an own enum because they are specific to LIS3LV02D devices. Signed-off-by: Daniel Mack Acked-by: Pavel Machek Acked-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0093716e6dd18dad554bef81cc788a4c50d32a09 Author: Eric Piel Date: Tue Jun 16 15:34:16 2009 -0700 lis3: add three new laptop models Separate the 6710 and 6715, and set the right axis information for the 6715. Reported-by: Isaac702 Add the 6930. Reported-by: Christian Weidle Add the 2710. Reported-by: Pavel Herrmann Signed-off-by: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc6ea97bac6b8228c7a69740df35eed2be3407be Author: Eric Piel Date: Tue Jun 16 15:34:15 2009 -0700 lis3: use input_polled_device Now that there is no need to hookup on the open/close of the joystick, it's possible to use the simplified interface input_polled_device, instead of creating our own kthread. [randy.dunlap@oracle.com: fix Kconfig] [randy.dunlap@oracle.com: fix Kconfig some more] Signed-off-by: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a002ee896dfd08ce9fba44e9ae513c9094699a27 Author: Eric Piel Date: Tue Jun 16 15:34:14 2009 -0700 lis3: remove automatic shutdown of the device After measurement on my laptop, it seems that turning off the device does not bring any energy saving (within 0.1W precision). So let's keep the device always on. It simplifies the code, and it avoids the problem of reading a wrong value sometimes just after turning the device on. Moreover, since commit ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df had been too zealous, the device was actually never turned off anyway. This patch also restores the damages done by this commit concerning the initialisation/poweroff. Also do more clean up with the usage of the lis3_dev global variable. Signed-off-by: Eric Piel Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c28842421cb6a29fd952043381bc5391bdf6be50 Author: Eric Piel Date: Tue Jun 16 15:34:13 2009 -0700 lis3: fix misc device unregistering and printk Can only unregister the misc device if it was registered before. Also remove debugging messages, which in addition were not properly formated. Signed-off-by: Eric Piel Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b324126e0c6c3a5080ca3ec0981e8766ed6f1ee Author: Wolfram Strepp Date: Tue Jun 16 15:34:13 2009 -0700 rb_tree: remove redundant if()-condition in rb_erase() Furthermore, notice that the initial checks: if (!node->rb_left) child = node->rb_right; else if (!node->rb_right) child = node->rb_left; else { ... } guarantee that old->rb_right is set in the final else branch, therefore we can omit checking that again. Signed-off-by: Wolfram Strepp Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c60117811171d867d4f27f17ea07d7419d45dae Author: Wolfram Strepp Date: Tue Jun 16 15:34:12 2009 -0700 rb_tree: make clear distinction between two different cases in rb_erase() There are two cases when a node, having 2 childs, is erased: 'normal case': the successor is not the right-hand-child of the node to be erased 'special case': the successor is the right-hand child of the node to be erased Here some ascii-art, with following symbols (referring to the code): O: node to be deleted N: the successor of O P: parent of N C: child of N L: some other node normal case: O N / \ / \ / \ / \ L \ L \ / \ P ----> / \ P / \ / \ / / N C \ / \ \ C / \ special case: O|P N / \ / \ / \ / \ L \ L \ / \ N ----> / C \ / \ \ C / \ Notice that for the special case we don't have to reconnect C to N. Signed-off-by: Wolfram Strepp Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16c047add3ceaf0ab882e3e094d1ec904d02312d Author: Wolfram Strepp Date: Tue Jun 16 15:34:11 2009 -0700 rb_tree: reorganize code in rb_erase() for additional changes First, move some code around in order to make the next change more obvious. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Peter Zijlstra Signed-off-by: Wolfram Strepp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 130b76cf5295d74a2174d0843bb563bbf0a19dbb Author: Joe Perches Date: Tue Jun 16 15:34:10 2009 -0700 MAINTAINERS: add file patterns to TTY LAYER Signed-off-by: Joe Perches Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 852f9bbbdec485d3015adc81b7b0c874c55705cc Author: Joe Perches Date: Tue Jun 16 15:34:09 2009 -0700 MAINTAINERS: add Paul McKenney to RCU and RCUTORTURE Signed-off-by: Joe Perches Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a99921a5570381fc1da04a1bd9f7afe8692e49e Author: Joe Perches Date: Tue Jun 16 15:34:09 2009 -0700 MAINTAINERS: add file pattern to CISCO FCOE HBA DRIVER Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f70f873b8ffa0bca4aeccd20a3e4641b7645018a Author: Joe Perches Date: Tue Jun 16 15:34:08 2009 -0700 MAINTAINERS: mention scripts/get_maintainer.pl in the preface Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5472cddbe2c41fd434592ecf3c5b81a551d5bea Author: Joe Perches Date: Tue Jun 16 15:34:07 2009 -0700 MAINTAINERS: remove L: linux-kernel@vger.kernel.org from all but "THE REST" lkml is added to all CC lists via pattern matching on "THE REST" Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93711660086d0ad2da071b6aba675e96277e995f Author: Joe Perches Date: Tue Jun 16 15:34:07 2009 -0700 MAINTAINERS: mark ALSA lists as moderated Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f563d2503604b1d33d2474d99a32a6fb4cc7904 Author: Joe Perches Date: Tue Jun 16 15:34:06 2009 -0700 MAINTAINERS: update M32R file patterns after rename Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34d03cc16adc475118f7cfbb2288fca5af1e252f Author: Joe Perches Date: Tue Jun 16 15:34:06 2009 -0700 MAINTAINERS: add file patterns to "THE REST" These file patterns match all sources. By default, scripts/get_maintainers.pl excludes Linus Torvalds from the CC: list. Option --git-chief-penguins will include him. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 866a36b73ecfaffbb4ba74f7fb3a18d71a982983 Author: Joe Perches Date: Tue Jun 16 15:34:05 2009 -0700 MAINTAINERS: swap mismarked ECRYPT FS M: and P: entries Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f29fd2748ac8a8a47c949b26e5a9749b1b804fb Author: Joe Perches Date: Tue Jun 16 15:34:04 2009 -0700 scripts/get_maintainer.pl: change "die" to "warn" when command line file is not a patch fixes git send-email with a cover letter Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df4cc036828f6027689016a91adadee405eab104 Author: Joe Perches Date: Tue Jun 16 15:34:04 2009 -0700 scripts/get_maintainer.pl: allow 8 bit characters in email addresses Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a79c492bcb1022e9a2d0bcb5ed6c624ef6641a0 Author: Joe Perches Date: Tue Jun 16 15:34:03 2009 -0700 scripts/get_maintainer.pl: don't print maintainers when not requested Fixed bug introduced after using rfc822 address checking. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f2441e97684cfc787873f884c715e109ffcfbcd Author: Joe Perches Date: Tue Jun 16 15:34:02 2009 -0700 scripts/get_maintainer.pl: support both "P:/M:" and integrated "M:" lines Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d789504ab03c27b194170262cb4ffda38905c5c0 Author: Joe Perches Date: Tue Jun 16 15:34:02 2009 -0700 scripts/get_maintainer.pl: better email name quoting Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b5e1cf64a7a376417457c7f2b3885decea276e4 Author: Joe Perches Date: Tue Jun 16 15:34:01 2009 -0700 scripts/get_maintainer.pl: support M: lines with names and multiple entries per M: line Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de2fc4922b7db1f5099585f821f854a86b5828eb Author: Joe Perches Date: Tue Jun 16 15:34:01 2009 -0700 scripts/get_maintainer.pl: warn on missing git or git repository support older versions of grep (use -E not -P) no need to return data in routine recent_git_signoffs Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f5078db2c61bf42ed20527731c0a23bed86c11 Author: Joe Perches Date: Tue Jun 16 15:34:00 2009 -0700 scripts/get_maintainer.pl: improve --git-chief-penquins (Linus Torvalds) filtering Moved linux-kernel@vger.kernel.org to MAINTAINERS lkml will be added to all CC lists via F: pattern match Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf7c685aa4639c95a752b52fa06741a7e3bb34e Author: Joe Perches Date: Tue Jun 16 15:33:59 2009 -0700 scripts/get_maintainer.pl: better fix for subscriber-only mailing lists Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 290603c1205242691b8a0963f496d0aa80e9ca02 Author: Joe Perches Date: Tue Jun 16 15:33:58 2009 -0700 scripts/get_maintainer.pl: output first field only in mailing lists and after maintainers. Fix mailing lists that are described, but not "(subscriber-only)" Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e8a2dea0ca91fe2cb7de7ea212124cfe8c82c35 Author: Zygo Blaxell Date: Tue Jun 16 15:33:57 2009 -0700 lib/genalloc.c: remove unmatched write_lock() in gen_pool_destroy There is a call to write_lock() in gen_pool_destroy which is not balanced by any corresponding write_unlock(). This causes problems with preemption because the preemption-disable counter is incremented in the write_lock() call, but never decremented by any call to write_unlock(). This bug is gen_pool_destroy, and one of them is non-x86 arch-specific code. Signed-off-by: Zygo Blaxell Cc: Jiri Kosina Cc: Steve Wise Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69050eee8e08a6234f29fe71a56f8c7c7d4d7186 Author: Tomas Szepe Date: Tue Jun 16 15:33:56 2009 -0700 CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK. This makes it possible to run complete systems out of a CONFIG_BLOCK=n initramfs on current kernels again (this last worked on 2.6.27.*). Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e331cf7ebe20665253770589cd9eb06048bf25 Author: Florian Fainelli Date: Tue Jun 16 15:33:53 2009 -0700 drivers: add support for the TI VLYNQ bus Add support for the TI VLYNQ high-speed, serial and packetized bus. This bus allows external devices to be connected to the System-on-Chip and appear in the main system memory just like any memory mapped peripheral. It is widely used in TI's networking and multimedia SoC, including the AR7 SoC. Signed-off-by: Eugene Konev Signed-off-by: Florian Fainelli Cc: Ralf Baechle Cc: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f324edc85e5c1137e49e3b36a58cf436ab5b1fb3 Author: Daniel Mack Date: Tue Jun 16 15:33:52 2009 -0700 console: make blank timeout value a boot option The console blank timer is currently hardcoded to 10*60 seconds which might be annoying on systems with no input devices attached to wake up the console again. Especially during development, disabling the screen saver can be handy - for example when debugging the root fs mount mechanism or other scenarios where no userspace program could be started to do that at runtime from userspace. This patch defines a core_param for the variable in charge which allows users to entirely disable the blank feature at boot time by setting it 0. The value can still be overwritten at runtime using the standard ioctl call - this just allows to conditionally change the default. Signed-off-by: Daniel Mack Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4764e280dc7dde1534161e148d38dbd792a2b8ab Author: Figo.zhang Date: Tue Jun 16 15:33:51 2009 -0700 Documentation/atomic_ops.txt: fix sample code list_add() lost a parameter in sample code. Signed-off-by: Figo.zhang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d05163d15e4a400db63df906c55260a6dae987 Author: Maciej W. Rozycki Date: Tue Jun 16 15:33:50 2009 -0700 eisa.ids: add Network Peripherals FDDI boards Add EISA IDs for Network Peripherals FDDI boards. Descriptions taken from the respective EISA configuration files. It's unlikely we'll ever support these cards, the problem being the lack of documentation. Assuming the policy for the EISA ID database is the same as for PCI I'm sending these entries for the sake of completeness. Signed-off-by: Maciej W. Rozycki Cc: Marc Zyngier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc6f26774136b7f5307abcd3887f08360c9b7554 Author: Masatake YAMATO Date: Tue Jun 16 15:33:49 2009 -0700 syscalls.h: remove duplicated declarations for sys_pipe2 sys_pipe2 is declared twice in include/linux/syscalls.h. Signed-off-by: Masatake YAMATO Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c9dd0fbad60c098a026e9b06d9de1bc98c5e89 Author: Randy Dunlap Date: Tue Jun 16 15:33:47 2009 -0700 kmap_types: make most arches use generic header file Convert most arches to use asm-generic/kmap_types.h. Move the KM_FENCE_ macro additions into asm-generic/kmap_types.h, controlled by __WITH_KM_FENCE from each arch's kmap_types.h file. Would be nice to be able to add custom KM_types per arch, but I don't yet see a nice, clean way to do that. Built on x86_64, i386, mips, sparc, alpha(tonyb), powerpc(tonyb), and 68k(tonyb). Note: avr32 should be able to remove KM_PTE2 (since it's not used) and then just use the generic kmap_types.h file. Get avr32 maintainer approval. Signed-off-by: Randy Dunlap Cc: Acked-by: Mike Frysinger Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Bryan Wu Cc: Mikael Starvik Cc: Hirokazu Takata Cc: "Luck Tony" Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: David Howells Cc: Kyle McMartin Cc: Martin Schwidefsky Cc: Paul Mundt Cc: "David S. Miller" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Arnd Bergmann Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8d9a86590fb334d28c5905a4c419ece7d08e37d Author: Jaswinder Singh Rajput Date: Tue Jun 16 15:33:46 2009 -0700 Documentation/accounting/getdelays.c intialize the variable before using it Fix compilation warning: Documentation/accounting/getdelays.c: In function `main': Documentation/accounting/getdelays.c:249: warning: `cmd_type' may be used uninitialized in this function This is in fact a false positive. Signed-off-by: Jaswinder Singh Rajput Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67ae69b661f3c2fe1a9c8259bc948c68b082166 Author: Li Zefan Date: Tue Jun 16 15:33:45 2009 -0700 hexdump: remove the trailing space For example: hex_dump_to_buffer("AB", 2, 16, 1, buf, 100, 0); pr_info("[%s]\n", buf); I'd expect the output to be "[41 42]", but actually it's "[41 42 ]" This patch also makes the required buf to be minimum. To print the hex format of "AB", a buf with size 6 should be sufficient, but hex_dump_to_buffer() required at least 8. Signed-off-by: Li Zefan Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9c569539312cfd3c820b38036679a9d72c55331 Author: Minchan Kim Date: Tue Jun 16 15:33:44 2009 -0700 use printk_once() in several places There are some places to be able to use printk_once instead of hard coding. Signed-off-by: Minchan Kim Cc: Dominik Brodowski Cc: David S. Miller Cc: Ingo Molnar Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 009789f040b71699278e70a6664701c10065e430 Author: Chris Peterson Date: Tue Jun 16 15:33:43 2009 -0700 slow-work: use round_jiffies() for thread pool's cull and OOM timers Round the slow work queue's cull and OOM timeouts to whole second boundary with round_jiffies(). The slow work queue uses a pair of timers to cull idle threads and, after OOM, to delay new thread creation. This patch also extracts the mod_timer() logic for the cull timer into a separate helper function. By rounding non-time-critical timers such as these to whole seconds, they will be batched up to fire at the same time rather than being spread out. This allows the CPU wake up less, which saves power. Signed-off-by: Chris Peterson Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b72b71c6cb6ecc564d4d5f9c512a7df269837846 Author: Huang Shijie Date: Tue Jun 16 15:33:42 2009 -0700 lib: do code optimization for radix_tree_lookup() and radix_tree_lookup_slot() radix_tree_lookup() and radix_tree_lookup_slot() have much the same code except for the return value. Introduce radix_tree_lookup_element() to do the real work. /* * is_slot == 1 : search for the slot. * is_slot == 0 : search for the node. */ static void * radix_tree_lookup_element(struct radix_tree_root *root, unsigned long index, int is_slot); Signed-off-by: Huang Shijie Cc: Nick Piggin Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30639b6af85a92491b22dd14c17b14ca11da60e6 Author: Alexey Dobriyan Date: Tue Jun 16 15:33:40 2009 -0700 groups: move code to kernel/groups.c Move supplementary groups implementation to kernel/groups.c . kernel/sys.c already accumulated quite a few random stuff. Do strictly copy/paste + add required headers to compile. Compile-tested on many configs and archs. Signed-off-by: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b0b1db0133e4218a9b45c09e53793c039edebe1 Author: Thomas Gleixner Date: Tue Jun 16 15:33:39 2009 -0700 remove put_cpu_no_resched() put_cpu_no_resched() is an optimization of put_cpu() which unfortunately can cause high latencies. The nfs iostats code uses put_cpu_no_resched() in a code sequence where a reschedule request caused by an interrupt between the get_cpu() and the put_cpu_no_resched() can delay the reschedule for at least HZ. The other users of put_cpu_no_resched() optimize correctly in interrupt code, but there is no real harm in using the put_cpu() function which is an alias for preempt_enable(). The extra check of the preemmpt count is not as critical as the potential source of missing a reschedule. Debugged in the preempt-rt tree and verified in mainline. Impact: remove a high latency source [akpm@linux-foundation.org: build fix] Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Tony Luck Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10fc89d01a7ea2ecc2a58d2f4e7700f47178cd62 Author: Philipp Reisner Date: Tue Jun 16 15:33:38 2009 -0700 drbd: add major number to major.h Since we have had a LANANA major number for years, and it is documented in devices.txt, I think that this first patch can go upstream. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d9c25dde878a636ee9a9b53923569171bf9a55b Author: Andrew Morton Date: Tue Jun 16 15:33:37 2009 -0700 headers: move module_bug_finalize()/module_bug_cleanup() definitions into module.h They're in linux/bug.h at present, which causes include order tangles. In particular, linux/bug.h cannot be used by linux/atomic.h because, according to Nikanth: linux/bug.h pulls in linux/module.h => linux/spinlock.h => asm/spinlock.h (which uses atomic_inc) => asm/atomic.h. bug.h is a pretty low-level thing and module.h is a higher-level thing, IMO. Cc: Nikanth Karthikesan Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4938d7e0233a455f04507bac81d0886c71529537 Author: Eric Dumazet Date: Tue Jun 16 15:33:36 2009 -0700 poll: avoid extra wakeups in select/poll After introduction of keyed wakeups Davide Libenzi did on epoll, we are able to avoid spurious wakeups in poll()/select() code too. For example, typical use of poll()/select() is to wait for incoming network frames on many sockets. But TX completion for UDP/TCP frames call sock_wfree() which in turn schedules thread. When scheduled, thread does a full scan of all polled fds and can sleep again, because nothing is really available. If number of fds is large, this cause significant load. This patch makes select()/poll() aware of keyed wakeups and useless wakeups are avoided. This reduces number of context switches by about 50% on some setups, and work performed by sofirq handlers. Signed-off-by: Eric Dumazet Acked-by: David S. Miller Acked-by: Andi Kleen Acked-by: Ingo Molnar Acked-by: Davide Libenzi Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d5341ae53d32681241b27a40397475caef1c83 Author: Robert P. J. Day Date: Tue Jun 16 15:33:35 2009 -0700 ntfs: use is_power_of_2() function for clarity. Signed-off-by: Robert P. J. Day Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b33112d1cc25e658c334125d127a6ae15d5a0ad6 Author: Robert P. J. Day Date: Tue Jun 16 15:33:34 2009 -0700 kernel/kfifo.c: replace conditional test with is_power_of_2() Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 417dcdf99ec9f8d8d6917189130bdc17cb67c678 Author: Jan Blunck Date: Tue Jun 16 15:33:33 2009 -0700 atomic: only take lock when the counter drops to zero on UP as well _atomic_dec_and_lock() should not unconditionally take the lock before calling atomic_dec_and_test() in the UP case. For consistency reasons it should behave exactly like in the SMP case. Besides that this works around the problem that with CONFIG_DEBUG_SPINLOCK this spins in __spin_lock_debug() if the lock is already taken even if the counter doesn't drop to 0. Signed-off-by: Jan Blunck Acked-by: Paul E. McKenney Acked-by: Nick Piggin Cc: Valerie Aurora Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7d932af06e8eee2163627d19898e18da5635449 Author: Dan Smith Date: Tue Jun 16 15:33:33 2009 -0700 utsname.h: make new_utsname fields use the proper length constant The members of the new_utsname structure are defined with magic numbers that *should* correspond to the constant __NEW_UTS_LEN+1. Everywhere else, code assumes this and uses the constant, so this patch makes the structure match. Originally suggested by Serge here: https://lists.linux-foundation.org/pipermail/containers/2009-March/016258.html Signed-off-by: Dan Smith Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b08cd961cc3869e14d841a3ed1641f47b11348f3 Author: Roel Kluin Date: Tue Jun 16 15:33:32 2009 -0700 uml: bad macro expansion, parameter is member `ELF_CORE_COPY_REGS(x, y)' will make expansions like: `(y)[0] = (x)->x.gp[0]' but correct is `(y)[0] = (x)->regs.gp[0]' Signed-off-by: Roel Kluin Cc: WANG Cong Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 276c974ac7965e7335f0f4ab945729d8f30f11b5 Author: Amerigo Wang Date: Tue Jun 16 15:33:30 2009 -0700 uml: fix a section warning When compiling uml on x86_64: MODPOST vmlinux.o WARNING: vmlinux.o (.__syscall_stub.2): unexpected non-allocatable section. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. Because modpost checks for missing SHF_ALLOC section flag. So just add it. Signed-off-by: WANG Cong Cc: Jeff Dike Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fa851c3e9746e3cf23694f0571a9e080107ba7c Author: Thomas Gleixner Date: Tue Jun 16 15:33:29 2009 -0700 um: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e1cb780452809da09ee47860736a9c8d86d67c6 Author: Alan Cox Date: Tue Jun 16 15:33:28 2009 -0700 uml: UML net driver does not allow for vlans See ancient discussion at http://marc.info/?l=user-mode-linux-devel&m=101990155831279&w=2 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=7854 Signed-off-by: Alan Cox Reported-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Cc: Roland Kletzing Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 189e91f5f5c09043ef78cad956a71ac339203a5d Author: Thomas Gleixner Date: Tue Jun 16 15:33:26 2009 -0700 m32r: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb26b3e63e9685ce250377bf905c78425a8e8b2b Author: Roel Kluin Date: Tue Jun 16 15:33:25 2009 -0700 alpha: bad macro expansion, parameter is member `for_each_mem_cluster(x, y, z)' will expand to `for ((x) = (y)->x ...' but correct is `for ((x) = (y)->cluster ...' Signed-off-by: Roel Kluin Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44377f622ee4f23ea0afc9b83dba5d3ec2d560cd Author: Thomas Gleixner Date: Tue Jun 16 15:33:25 2009 -0700 alpha: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee993b135ec75a93bd5c45e636bb210d2975159b Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:33:24 2009 -0700 mm: fix lumpy reclaim lru handling at isolate_lru_pages At lumpy reclaim, a page failed to be taken by __isolate_lru_page() can be pushed back to "src" list by list_move(). But the page may not be from "src" list. This pushes the page back to wrong LRU. And list_move() itself is unnecessary because the page is not on top of LRU. Then, leave it as it is if __isolate_lru_page() fails. Reviewed-by: Minchan Kim Reviewed-by: KOSAKI Motohiro Acked-by: Mel Gorman Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24cf72518c79cdcda486ed26074ff8151291cf65 Author: Mel Gorman Date: Tue Jun 16 15:33:23 2009 -0700 vmscan: count the number of times zone_reclaim() scans and fails On NUMA machines, the administrator can configure zone_reclaim_mode that is a more targetted form of direct reclaim. On machines with large NUMA distances for example, a zone_reclaim_mode defaults to 1 meaning that clean unmapped pages will be reclaimed if the zone watermarks are not being met. There is a heuristic that determines if the scan is worthwhile but it is possible that the heuristic will fail and the CPU gets tied up scanning uselessly. Detecting the situation requires some guesswork and experimentation so this patch adds a counter "zreclaim_failed" to /proc/vmstat. If during high CPU utilisation this counter is increasing rapidly, then the resolution to the problem may be to set /proc/sys/vm/zone_reclaim_mode to 0. [akpm@linux-foundation.org: name things consistently] Signed-off-by: Mel Gorman Reviewed-by: Rik van Riel Cc: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Wu Fengguang Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa5e084e43eb14c14942027e1e2e894aeed96097 Author: Mel Gorman Date: Tue Jun 16 15:33:22 2009 -0700 vmscan: do not unconditionally treat zones that fail zone_reclaim() as full On NUMA machines, the administrator can configure zone_reclaim_mode that is a more targetted form of direct reclaim. On machines with large NUMA distances for example, a zone_reclaim_mode defaults to 1 meaning that clean unmapped pages will be reclaimed if the zone watermarks are not being met. The problem is that zone_reclaim() failing at all means the zone gets marked full. This can cause situations where a zone is usable, but is being skipped because it has been considered full. Take a situation where a large tmpfs mount is occuping a large percentage of memory overall. The pages do not get cleaned or reclaimed by zone_reclaim(), but the zone gets marked full and the zonelist cache considers them not worth trying in the future. This patch makes zone_reclaim() return more fine-grained information about what occured when zone_reclaim() failued. The zone only gets marked full if it really is unreclaimable. If it's a case that the scan did not occur or if enough pages were not reclaimed with the limited reclaim_mode, then the zone is simply skipped. There is a side-effect to this patch. Currently, if zone_reclaim() successfully reclaimed SWAP_CLUSTER_MAX, an allocation attempt would go ahead. With this patch applied, zone watermarks are rechecked after zone_reclaim() does some work. This bug was introduced by commit 9276b1bc96a132f4068fdee00983c532f43d3a26 ("memory page_alloc zonelist caching speedup") way back in 2.6.19 when the zonelist_cache was introduced. It was not intended that zone_reclaim() aggressively consider the zone to be full when it failed as full direct reclaim can still be an option. Due to the age of the bug, it should be considered a -stable candidate. Signed-off-by: Mel Gorman Reviewed-by: Wu Fengguang Reviewed-by: Rik van Riel Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90afa5de6f3fa89a733861e843377302479fcf7e Author: Mel Gorman Date: Tue Jun 16 15:33:20 2009 -0700 vmscan: properly account for the number of page cache pages zone_reclaim() can reclaim A bug was brought to my attention against a distro kernel but it affects mainline and I believe problems like this have been reported in various guises on the mailing lists although I don't have specific examples at the moment. The reported problem was that malloc() stalled for a long time (minutes in some cases) if a large tmpfs mount was occupying a large percentage of memory overall. The pages did not get cleaned or reclaimed by zone_reclaim() because the zone_reclaim_mode was unsuitable, but the lists are uselessly scanned frequencly making the CPU spin at near 100%. This patchset intends to address that bug and bring the behaviour of zone_reclaim() more in line with expectations which were noticed during investigation. It is based on top of mmotm and takes advantage of Kosaki's work with respect to zone_reclaim(). Patch 1 fixes the heuristics that zone_reclaim() uses to determine if the scan should go ahead. The broken heuristic is what was causing the malloc() stall as it uselessly scanned the LRU constantly. Currently, zone_reclaim is assuming zone_reclaim_mode is 1 and historically it could not deal with tmpfs pages at all. This fixes up the heuristic so that an unnecessary scan is more likely to be correctly avoided. Patch 2 notes that zone_reclaim() returning a failure automatically means the zone is marked full. This is not always true. It could have failed because the GFP mask or zone_reclaim_mode were unsuitable. Patch 3 introduces a counter zreclaim_failed that will increment each time the zone_reclaim scan-avoidance heuristics fail. If that counter is rapidly increasing, then zone_reclaim_mode should be set to 0 as a temporarily resolution and a bug reported because the scan-avoidance heuristic is still broken. This patch: On NUMA machines, the administrator can configure zone_reclaim_mode that is a more targetted form of direct reclaim. On machines with large NUMA distances for example, a zone_reclaim_mode defaults to 1 meaning that clean unmapped pages will be reclaimed if the zone watermarks are not being met. There is a heuristic that determines if the scan is worthwhile but the problem is that the heuristic is not being properly applied and is basically assuming zone_reclaim_mode is 1 if it is enabled. The lack of proper detection can manfiest as high CPU usage as the LRU list is scanned uselessly. Historically, once enabled it was depending on NR_FILE_PAGES which may include swapcache pages that the reclaim_mode cannot deal with. Patch vmscan-change-the-number-of-the-unmapped-files-in-zone-reclaim.patch by Kosaki Motohiro noted that zone_page_state(zone, NR_FILE_PAGES) included pages that were not file-backed such as swapcache and made a calculation based on the inactive, active and mapped files. This is far superior when zone_reclaim==1 but if RECLAIM_SWAP is set, then NR_FILE_PAGES is a reasonable starting figure. This patch alters how zone_reclaim() works out how many pages it might be able to reclaim given the current reclaim_mode. If RECLAIM_SWAP is set in the reclaim_mode it will either consider NR_FILE_PAGES as potential candidates or else use NR_{IN}ACTIVE}_PAGES-NR_FILE_MAPPED to discount swapcache and other non-file-backed pages. If RECLAIM_WRITE is not set, then NR_FILE_DIRTY number of pages are not candidates. If RECLAIM_SWAP is not set, then NR_FILE_MAPPED are not. [kosaki.motohiro@jp.fujitsu.com: Estimate unmapped pages minus tmpfs pages] [fengguang.wu@intel.com: Fix underflow problem in Kosaki's estimate] Signed-off-by: Mel Gorman Reviewed-by: Rik van Riel Acked-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Wu Fengguang Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84a892456046921a40646114deed65e2df93a1bc Author: Wu Fengguang Date: Tue Jun 16 15:33:17 2009 -0700 writeback: skip new or to-be-freed inodes 1) I_FREEING tests should be coupled with I_CLEAR The two I_FREEING tests are racy because clear_inode() can set i_state to I_CLEAR between the clear of I_SYNC and the test of I_FREEING. 2) skip I_WILL_FREE inodes in generic_sync_sb_inodes() to avoid possible races with generic_forget_inode() generic_forget_inode() sets I_WILL_FREE call writeback on its own, so generic_sync_sb_inodes() shall not try to step in and create possible races: generic_forget_inode inode->i_state |= I_WILL_FREE; spin_unlock(&inode_lock); generic_sync_sb_inodes() spin_lock(&inode_lock); __iget(inode); __writeback_single_inode // see non zero i_count may WARN here ==> WARN_ON(inode->i_state & I_WILL_FREE); spin_unlock(&inode_lock); may call generic_forget_inode again ==> iput(inode); The above race and warning didn't turn up because writeback_inodes() holds the s_umount lock, so generic_forget_inode() finds MS_ACTIVE and returns early. But we are not sure the UBIFS calls and future callers will guarantee that. So skip I_WILL_FREE inodes for the sake of safety. Cc: Eric Sandeen Acked-by: Jeff Layton Cc: Masayoshi MIZUMA Signed-off-by: Wu Fengguang Cc: Artem Bityutskiy Cc: Christoph Hellwig Acked-by: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81236810226f71bd9ff77321c8e8276dae7efc61 Author: David Rientjes Date: Tue Jun 16 15:33:16 2009 -0700 oom: only oom kill exiting tasks with attached memory When a task is chosen for oom kill and is found to be PF_EXITING, __oom_kill_task() is called to elevate the task's timeslice and give it access to memory reserves so that it may quickly exit. This privilege is unnecessary, however, if the task has already detached its mm. Although its possible for the mm to become detached later since task_lock() is not held, __oom_kill_task() will simply be a no-op in such circumstances. Subsequently, it is no longer necessary to warn about killing mm-less tasks since it is a no-op. Signed-off-by: David Rientjes Acked-by: Rik van Riel Cc: Balbir Singh Cc: Minchan Kim Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9198e96c06744517e3b18fce8be6db61e96a3227 Author: Daisuke Nishimura Date: Tue Jun 16 15:33:15 2009 -0700 vmscan: handle may_swap more strictly Commit 2e2e425989080cc534fc0fca154cae515f971cf5 ("vmscan,memcg: reintroduce sc->may_swap) add may_swap flag and handle it at get_scan_ratio(). But the result of get_scan_ratio() is ignored when priority == 0, so anon lru is scanned even if may_swap == 0 or nr_swap_pages == 0. IMHO, this is not an expected behavior. As for memcg especially, because of this behavior many and many pages are swapped-out just in vain when oom is invoked by mem+swap limit. This patch is for handling may_swap flag more strictly. Signed-off-by: Daisuke Nishimura Reviewed-by: KOSAKI Motohiro Cc: Minchan Kim Cc: Johannes Weiner Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Rik van Riel Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb4140f0389bdada022d5e8efd88504ad30df14 Author: Wu Fengguang Date: Tue Jun 16 15:33:13 2009 -0700 vmscan: merge duplicate code in shrink_active_list() The "move pages to active list" and "move pages to inactive list" code blocks are mostly identical and can be served by a function. Thanks to Andrew Morton for pointing this out. Note that buffer_heads_over_limit check will also be carried out for re-activated pages, which is slightly different from pre-2.6.28 kernels. Also, Rik's "vmscan: evict use-once pages first" patch could totally stop scans of active file list when memory pressure is low. So the net effect could be, the number of buffer heads is now more likely to grow large. However that's fine according to Johannes' comments: I don't think that this could be harmful. We just preserve the buffer mappings of what we consider the working set and with low memory pressure, as you say, this set is not big. As to stripping of reactivated pages: the only pages we re-activate for now are those VM_EXEC mapped ones. Since we don't expect IO from or to these pages, removing the buffer mappings in case they grow too large should be okay, I guess. Cc: Pekka Enberg Acked-by: Peter Zijlstra Reviewed-by: Rik van Riel Reviewed-by: Minchan Kim Reviewed-by: Johannes Weiner Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cab4754d24a0f2e05920170c845bd84472814c6 Author: Wu Fengguang Date: Tue Jun 16 15:33:12 2009 -0700 vmscan: make mapped executable pages the first class citizen Protect referenced PROT_EXEC mapped pages from being deactivated. PROT_EXEC(or its internal presentation VM_EXEC) pages normally belong to some currently running executables and their linked libraries, they shall really be cached aggressively to provide good user experiences. Thanks to Johannes Weiner for the advice to reuse the VMA walk in page_referenced() to get the PROT_EXEC bit. [more details] ( The consequences of this patch will have to be discussed together with Rik van Riel's recent patch "vmscan: evict use-once pages first". ) ( Some of the good points and insights are taken into this changelog. Thanks to all the involved people for the great LKML discussions. ) the problem =========== For a typical desktop, the most precious working set is composed of *actively accessed* (1) memory mapped executables (2) and their anonymous pages (3) and other files (4) and the dcache/icache/.. slabs while the least important data are (5) infrequently used or use-once files For a typical desktop, one major problem is busty and large amount of (5) use-once files flushing out the working set. Inside the working set, (4) dcache/icache have already been too sticky ;-) So we only have to care (2) anonymous and (1)(3) file pages. anonymous pages =============== Anonymous pages are effectively immune to the streaming IO attack, because we now have separate file/anon LRU lists. When the use-once files crowd into the file LRU, the list's "quality" is significantly lowered. Therefore the scan balance policy in get_scan_ratio() will choose to scan the (low quality) file LRU much more frequently than the anon LRU. file pages ========== Rik proposed to *not* scan the active file LRU when the inactive list grows larger than active list. This guarantees that when there are use-once streaming IO, and the working set is not too large(so that active_size < inactive_size), the active file LRU will *not* be scanned at all. So the not-too-large working set can be well protected. But there are also situations where the file working set is a bit large so that (active_size >= inactive_size), or the streaming IOs are not purely use-once. In these cases, the active list will be scanned slowly. Because the current shrink_active_list() policy is to deactivate active pages regardless of their referenced bits. The deactivated pages become susceptible to the streaming IO attack: the inactive list could be scanned fast (500MB / 50MBps = 10s) so that the deactivated pages don't have enough time to get re-referenced. Because a user tend to switch between windows in intervals from seconds to minutes. This patch holds mapped executable pages in the active list as long as they are referenced during each full scan of the active list. Because the active list is normally scanned much slower, they get longer grace time (eg. 100s) for further references, which better matches the pace of user operations. Therefore this patch greatly prolongs the in-cache time of executable code, when there are moderate memory pressures. before patch: guaranteed to be cached if reference intervals < I after patch: guaranteed to be cached if reference intervals < I+A (except when randomly reclaimed by the lumpy reclaim) where A = time to fully scan the active file LRU I = time to fully scan the inactive file LRU Note that normally A >> I. side effects ============ This patch is safe in general, it restores the pre-2.6.28 mmap() behavior but in a much smaller and well targeted scope. One may worry about some one to abuse the PROT_EXEC heuristic. But as Andrew Morton stated, there are other tricks to getting that sort of boost. Another concern is the PROT_EXEC mapped pages growing large in rare cases, and therefore hurting reclaim efficiency. But a sane application targeted for large audience will never use PROT_EXEC for data mappings. If some home made application tries to abuse that bit, it shall be aware of the consequences. If it is abused to scale of 2/3 total memory, it gains nothing but overheads. benchmarks ========== 1) memory tight desktop 1.1) brief summary - clock time and major faults are reduced by 50%; - pswpin numbers are reduced to ~1/3. That means X desktop responsiveness is doubled under high memory/swap pressure. 1.2) test scenario - nfsroot gnome desktop with 512M physical memory - run some programs, and switch between the existing windows after starting each new program. 1.3) progress timing (seconds) before after programs 0.02 0.02 N xeyes 0.75 0.76 N firefox 2.02 1.88 N nautilus 3.36 3.17 N nautilus --browser 5.26 4.89 N gthumb 7.12 6.47 N gedit 9.22 8.16 N xpdf /usr/share/doc/shared-mime-info/shared-mime-info-spec.pdf 13.58 12.55 N xterm 15.87 14.57 N mlterm 18.63 17.06 N gnome-terminal 21.16 18.90 N urxvt 26.24 23.48 N gnome-system-monitor 28.72 26.52 N gnome-help 32.15 29.65 N gnome-dictionary 39.66 36.12 N /usr/games/sol 43.16 39.27 N /usr/games/gnometris 48.65 42.56 N /usr/games/gnect 53.31 47.03 N /usr/games/gtali 58.60 52.05 N /usr/games/iagno 65.77 55.42 N /usr/games/gnotravex 70.76 61.47 N /usr/games/mahjongg 76.15 67.11 N /usr/games/gnome-sudoku 86.32 75.15 N /usr/games/glines 92.21 79.70 N /usr/games/glchess 103.79 88.48 N /usr/games/gnomine 113.84 96.51 N /usr/games/gnotski 124.40 102.19 N /usr/games/gnibbles 137.41 114.93 N /usr/games/gnobots2 155.53 125.02 N /usr/games/blackjack 179.85 135.11 N /usr/games/same-gnome 224.49 154.50 N /usr/bin/gnome-window-properties 248.44 162.09 N /usr/bin/gnome-default-applications-properties 282.62 173.29 N /usr/bin/gnome-at-properties 323.72 188.21 N /usr/bin/gnome-typing-monitor 363.99 199.93 N /usr/bin/gnome-at-visual 394.21 206.95 N /usr/bin/gnome-sound-properties 435.14 224.49 N /usr/bin/gnome-at-mobility 463.05 234.11 N /usr/bin/gnome-keybinding-properties 503.75 248.59 N /usr/bin/gnome-about-me 554.00 276.27 N /usr/bin/gnome-display-properties 615.48 304.39 N /usr/bin/gnome-network-preferences 693.03 342.01 N /usr/bin/gnome-mouse-properties 759.90 388.58 N /usr/bin/gnome-appearance-properties 937.90 508.47 N /usr/bin/gnome-control-center 1109.75 587.57 N /usr/bin/gnome-keyboard-properties 1399.05 758.16 N : oocalc 1524.64 830.03 N : oodraw 1684.31 900.03 N : ooimpress 1874.04 993.91 N : oomath 2115.12 1081.89 N : ooweb 2369.02 1161.99 N : oowriter Note that the last ": oo*" commands are actually commented out. 1.4) vmstat numbers (some relevant ones are marked with *) before after nr_free_pages 1293 3898 nr_inactive_anon 59956 53460 nr_active_anon 26815 30026 nr_inactive_file 2657 3218 nr_active_file 2019 2806 nr_unevictable 4 4 nr_mlock 4 4 nr_anon_pages 26706 27859 *nr_mapped 3542 4469 nr_file_pages 72232 67681 nr_dirty 1 0 nr_writeback 123 19 nr_slab_reclaimable 3375 3534 nr_slab_unreclaimable 11405 10665 nr_page_table_pages 8106 7864 nr_unstable 0 0 nr_bounce 0 0 *nr_vmscan_write 394776 230839 nr_writeback_temp 0 0 numa_hit 6843353 3318676 numa_miss 0 0 numa_foreign 0 0 numa_interleave 1719 1719 numa_local 6843353 3318676 numa_other 0 0 *pgpgin 5954683 2057175 *pgpgout 1578276 922744 *pswpin 1486615 512238 *pswpout 394568 230685 pgalloc_dma 277432 56602 pgalloc_dma32 6769477 3310348 pgalloc_normal 0 0 pgalloc_movable 0 0 pgfree 7048396 3371118 pgactivate 2036343 1471492 pgdeactivate 2189691 1612829 pgfault 3702176 3100702 *pgmajfault 452116 201343 pgrefill_dma 12185 7127 pgrefill_dma32 334384 653703 pgrefill_normal 0 0 pgrefill_movable 0 0 pgsteal_dma 74214 22179 pgsteal_dma32 3334164 1638029 pgsteal_normal 0 0 pgsteal_movable 0 0 pgscan_kswapd_dma 1081421 1216199 pgscan_kswapd_dma32 58979118 46002810 pgscan_kswapd_normal 0 0 pgscan_kswapd_movable 0 0 pgscan_direct_dma 2015438 1086109 pgscan_direct_dma32 55787823 36101597 pgscan_direct_normal 0 0 pgscan_direct_movable 0 0 pginodesteal 3461 7281 slabs_scanned 564864 527616 kswapd_steal 2889797 1448082 kswapd_inodesteal 14827 14835 pageoutrun 43459 21562 allocstall 9653 4032 pgrotated 384216 228631 1.5) free numbers at the end of the tests before patch: total used free shared buffers cached Mem: 474 467 7 0 0 236 -/+ buffers/cache: 230 243 Swap: 1023 418 605 after patch: total used free shared buffers cached Mem: 474 457 16 0 0 236 -/+ buffers/cache: 221 253 Swap: 1023 404 619 2) memory flushing in a file server 2.1) brief summary The number of major faults from 50 to 3 during 10% cache hot reads. That means this patch successfully stops major faults when the active file list is slowly scanned when there are partially cache hot streaming IO. 2.2) test scenario Do 100000 pread(size=110 pages, offset=(i*100) pages), where 10% of the pages will be activated: for i in `seq 0 100 10000000`; do echo $i 110; done > pattern-hot-10 iotrace.rb --load pattern-hot-10 --play /b/sparse vmmon nr_mapped nr_active_file nr_inactive_file pgmajfault pgdeactivate pgfree and monitor /proc/vmstat during the time. The test box has 2G memory. I carried out tests on fresh booted console as well as X desktop, and fetched the vmstat numbers on (1) begin: shortly after the big read IO starts; (2) end: just before the big read IO stops; (3) restore: the big read IO stops and the zsh working set restored (4) restore X: after IO, switch back and forth between the urxvt and firefox windows to restore their working set. 2.3) console mode results nr_mapped nr_active_file nr_inactive_file pgmajfault pgdeactivate pgfree 2.6.29 VM_EXEC protection ON: begin: 2481 2237 8694 630 0 574299 end: 275 231976 233914 633 776271 20933042 restore: 370 232154 234524 691 777183 20958453 2.6.29 VM_EXEC protection ON (second run): begin: 2434 2237 8493 629 0 574195 end: 284 231970 233536 632 771918 20896129 restore: 399 232218 234789 690 774526 20957909 2.6.30-rc4-mm VM_EXEC protection OFF: begin: 2479 2344 9659 210 0 579643 end: 284 232010 234142 260 772776 20917184 restore: 379 232159 234371 301 774888 20967849 The above console numbers show that - The startup pgmajfault of 2.6.30-rc4-mm is merely 1/3 that of 2.6.29. I'd attribute that improvement to the mmap readahead improvements :-) - The pgmajfault increment during the file copy is 633-630=3 vs 260-210=50. That's a huge improvement - which means with the VM_EXEC protection logic, active mmap pages is pretty safe even under partially cache hot streaming IO. - when active:inactive file lru size reaches 1:1, their scan rates is 1:20.8 under 10% cache hot IO. (computed with formula Dpgdeactivate:Dpgfree) That roughly means the active mmap pages get 20.8 more chances to get re-referenced to stay in memory. - The absolute nr_mapped drops considerably to 1/9 during the big IO, and the dropped pages are mostly inactive ones. The patch has almost no impact in this aspect, that means it won't unnecessarily increase memory pressure. (In contrast, your 20% mmap protection ratio will keep them all, and therefore eliminate the extra 41 major faults to restore working set of zsh etc.) The iotrace.rb read throughput is 151.194384MB/s 284.198252s 100001x 450560b --load pattern-hot-10 --play /b/sparse which means the inactive list is rotated at the speed of 250MB/s, so a full scan of which takes about 3.5 seconds, while a full scan of active file list takes about 77 seconds. 2.4) X mode results We can reach roughly the same conclusions for X desktop: nr_mapped nr_active_file nr_inactive_file pgmajfault pgdeactivate pgfree 2.6.30-rc4-mm VM_EXEC protection ON: begin: 9740 8920 64075 561 0 678360 end: 768 218254 220029 565 798953 21057006 restore: 857 218543 220987 606 799462 21075710 restore X: 2414 218560 225344 797 799462 21080795 2.6.30-rc4-mm VM_EXEC protection OFF: begin: 9368 5035 26389 554 0 633391 end: 770 218449 221230 661 646472 17832500 restore: 1113 218466 220978 710 649881 17905235 restore X: 2687 218650 225484 947 802700 21083584 - the absolute nr_mapped drops considerably (to 1/13 of the original size) during the streaming IO. - the delta of pgmajfault is 3 vs 107 during IO, or 236 vs 393 during the whole process. Cc: Elladan Cc: Nick Piggin Cc: Andi Kleen Cc: Christoph Lameter Acked-by: Rik van Riel Acked-by: Peter Zijlstra Acked-by: KOSAKI Motohiro Reviewed-by: Johannes Weiner Reviewed-by: Minchan Kim Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fe6b7e35785e3232ffe7f81d3893f1316710a02 Author: Wu Fengguang Date: Tue Jun 16 15:33:05 2009 -0700 vmscan: report vm_flags in page_referenced() Collect vma->vm_flags of the VMAs that actually referenced the page. This is preparing for more informed reclaim heuristics, eg. to protect executable file pages more aggressively. For now only the VM_EXEC bit will be used by the caller. Thanks to Johannes, Peter and Minchan for all the good tips. Acked-by: Peter Zijlstra Reviewed-by: Rik van Riel Reviewed-by: Minchan Kim Reviewed-by: Johannes Weiner Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608e8e66a154cbc3d591a59dcebfd9cbc9e3431a Author: Mel Gorman Date: Tue Jun 16 15:33:04 2009 -0700 mm: add a gfp-translate script to help understand page allocation failure reports The page allocation failure messages include a line that looks like page allocation failure. order:1, mode:0x4020 The mode is easy to translate but irritating for the lazy and a bit error prone. This patch adds a very simple helper script gfp-translate for the mode: portion of the page allocation failure messages. An example usage looks like mel@machina:~/linux-2.6 $ scripts/gfp-translate 0x4020 Source: /home/mel/linux-2.6 Parsing: 0x4020 #define __GFP_HIGH (0x20) /* Should access emergency pools? */ #define __GFP_COMP (0x4000) /* Add compound page metadata */ The script is not a work of art but it has come in handy for me a few times so I thought I would share. [akpm@linux-foundation.org: clarify an error message] Signed-off-by: Mel Gorman Acked-by: Rik van Riel Acked-by: Pekka Enberg Cc: Christoph Hellwig Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 168f5ac668f63dfb64439766e3ef9e866b83719d Author: Sergei Trofimovich Date: Tue Jun 16 15:33:02 2009 -0700 mm cleanup: shmem_file_setup: 'char *' -> 'const char *' for name argument As function shmem_file_setup does not modify/allocate/free/pass given filename - mark it as const. Signed-off-by: Sergei Trofimovich Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aca8bf323edd31ad462dc98c107c23a5c6022ca2 Author: Minchan Kim Date: Tue Jun 16 15:33:02 2009 -0700 mm: remove file argument from swap_readpage() The file argument resulted from address_space's readpage long time ago. We don't use it any more. Let's remove unnecessary argement. Signed-off-by: Minchan Kim Acked-by: Hugh Dickins Reviewed-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8192da6a8811ab6c3d29dc590a5f94a377c43739 Author: Minchan Kim Date: Tue Jun 16 15:33:01 2009 -0700 mm: remove annotation of gfp_mask in add_to_swap Hugh removed add_to_swap's gfp_mask argument. (mm: remove gfp_mask from add_to_swap) So we have to remove annotation of gfp_mask of the function. Signed-off-by: Minchan Kim Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d60b7f747176dbdff826c4127d22e1fd3f9f74 Author: Yinghai Lu Date: Tue Jun 16 15:33:00 2009 -0700 page-allocator: clear N_HIGH_MEMORY map before we set it again SRAT tables may contains nodes of very small size. The arch code may decide to not activate such a node. However, currently the early boot code sets N_HIGH_MEMORY for such nodes. These nodes therefore seem to be active although these nodes have no present pages. For 64bit N_HIGH_MEMORY == N_NORMAL_MEMORY, so that works for 64 bit too Signed-off-by: Yinghai Lu Tested-by: Jack Steiner Acked-by: Christoph Lameter Cc: Mel Gorman Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 286973552f051404abdb58dd9b2f8f7558efe4e5 Author: Mike Waychison Date: Tue Jun 16 15:32:59 2009 -0700 mm: remove __invalidate_mapping_pages variant Remove __invalidate_mapping_pages atomic variant now that its sole caller can sleep (fixed in eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb ("vfs: fix lock inversion in drop_pagecache_sb()")). This fixes softlockups that can occur while in the drop_caches path. Signed-off-by: Mike Waychison Cc: Jan Kara Cc: Wu Fengguang Cc: Dave Chinner Cc: Nick Piggin Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82553a937f12352c26fe457510ebab3f512cd3fa Author: David Rientjes Date: Tue Jun 16 15:32:58 2009 -0700 oom: invoke oom killer for __GFP_NOFAIL The oom killer must be invoked regardless of the order if the allocation is __GFP_NOFAIL, otherwise it will loop forever when reclaim fails to free some memory. Cc: Nick Piggin Acked-by: Rik van Riel Acked-by: Mel Gorman Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Dave Hansen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d8b9135c30ccbe46e621fefd862969819003fd6 Author: David Rientjes Date: Tue Jun 16 15:32:57 2009 -0700 oom: avoid unnecessary mm locking and scanning for OOM_DISABLE This moves the check for OOM_DISABLE to the badness heuristic so it is only necessary to hold task_lock() once. If the mm is OOM_DISABLE, the score is 0, which is also correctly exported via /proc/pid/oom_score. This requires that tasks with badness scores of 0 are prohibited from being oom killed, which makes sense since they would not allow for future memory freeing anyway. Since the oom_adj value is a characteristic of an mm and not a task, it is no longer necessary to check the oom_adj value for threads sharing the same memory (except when simply issuing SIGKILLs for threads in other thread groups). Cc: Nick Piggin Cc: Rik van Riel Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ff05b2b4eac2e63d345fc731ea151a060247f53 Author: David Rientjes Date: Tue Jun 16 15:32:56 2009 -0700 oom: move oom_adj value from task_struct to mm_struct The per-task oom_adj value is a characteristic of its mm more than the task itself since it's not possible to oom kill any thread that shares the mm. If a task were to be killed while attached to an mm that could not be freed because another thread were set to OOM_DISABLE, it would have needlessly been terminated since there is no potential for future memory freeing. This patch moves oomkilladj (now more appropriately named oom_adj) from struct task_struct to struct mm_struct. This requires task_lock() on a task to check its oom_adj value to protect against exec, but it's already necessary to take the lock when dereferencing the mm to find the total VM size for the badness heuristic. This fixes a livelock if the oom killer chooses a task and another thread sharing the same memory has an oom_adj value of OOM_DISABLE. This occurs because oom_kill_task() repeatedly returns 1 and refuses to kill the chosen task while select_bad_process() will repeatedly choose the same task during the next retry. Taking task_lock() in select_bad_process() to check for OOM_DISABLE and in oom_kill_task() to check for threads sharing the same memory will be removed in the next patch in this series where it will no longer be necessary. Writing to /proc/pid/oom_adj for a kthread will now return -EINVAL since these threads are immune from oom killing already. They simply report an oom_adj value of OOM_DISABLE. Cc: Nick Piggin Cc: Rik van Riel Cc: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9e444103b5e7a5a3519f9913f59767f92e33baf Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:32:54 2009 -0700 mm: reuse unused swap entry if necessary Presently we can know a swap entry is just used as SwapCache via swap_map, without looking up swap cache. Then, we have a chance to reuse swap-cache-only swap entries in get_swap_pages(). This patch tries to free swap-cache-only swap entries if swap is not enough. Note: We hit following path when swap_cluster code cannot find a free cluster. Then, vm_swap_full() is not only condition to allow the kernel to reclaim unused swap. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Tested-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355cfa73ddff2fb8fa14e93bd94a057cc022512e Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:32:53 2009 -0700 mm: modify swap_map and add SWAP_HAS_CACHE flag This is a part of the patches for fixing memcg's swap accountinf leak. But, IMHO, not a bad patch even if no memcg. There are 2 kinds of references to swap. - reference from swap entry - reference from swap cache Then, - If there is swap cache && swap's refcnt is 1, there is only swap cache. (*) swapcount(entry) == 1 && find_get_page(swapper_space, entry) != NULL This counting logic have worked well for a long time. But considering that we cannot know there is a _real_ reference or not by swap_map[], current usage of counter is not very good. This patch adds a flag SWAP_HAS_CACHE and recored information that a swap entry has a cache or not. This will remove -1 magic used in swapfile.c and be a help to avoid unnecessary find_get_page(). Signed-off-by: KAMEZAWA Hiroyuki Tested-by: Daisuke Nishimura Cc: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb4b86ba47bb0937b71fb825b3ed88adf7a190f0 Author: KAMEZAWA Hiroyuki Date: Tue Jun 16 15:32:52 2009 -0700 mm: add swap cache interface for swap reference In a following patch, the usage of swap cache is recorded into swap_map. This patch is for necessary interface changes to do that. 2 interfaces: - swapcache_prepare() - swapcache_free() are added for allocating/freeing refcnt from swap-cache to existing swap entries. But implementation itself is not changed under this patch. At adding swapcache_free(), memcg's hook code is moved under swapcache_free(). This is better than using scattered hooks. Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Acked-by: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Cc: Li Zefan Cc: Dhaval Giani Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6837765963f1723e80ca97b1fae660f3a60d77df Author: KOSAKI Motohiro Date: Tue Jun 16 15:32:51 2009 -0700 mm: remove CONFIG_UNEVICTABLE_LRU config option Currently, nobody wants to turn UNEVICTABLE_LRU off. Thus this configurability is unnecessary. Signed-off-by: KOSAKI Motohiro Cc: Johannes Weiner Cc: Andi Kleen Acked-by: Minchan Kim Cc: David Woodhouse Cc: Matt Mackall Cc: Rik van Riel Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce7394a3ef82b8477952fbab838e4a6e8cb47d2 Author: Minchan Kim Date: Tue Jun 16 15:32:50 2009 -0700 page-allocator: reset wmark_min and inactive ratio of zone when hotplug happens Solve two problems. Whenever memory hotplug sucessfully happens, zone->present_pages have to be changed. 1) Now memory hotplug calls setup_per_zone_wmark_min only when online_pages called, not offline_pages. It breaks balance. 2) If zone->present_pages is changed, we also have to change zone->inactive_ratio. That's because inactive_ratio depends on zone->present_pages. Signed-off-by: Minchan Kim Acked-by: Yasunori Goto Cc: Rik van Riel Cc: KOSAKI Motohiro Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96cb4df5ddf5e6d5785b5acd4003e3689b87f896 Author: Minchan Kim Date: Tue Jun 16 15:32:49 2009 -0700 page-allocator: add inactive ratio calculation function of each zone Factor the per-zone arithemetic inside setup_per_zone_inactive_ratio()'s loop into a a separate function, calculate_zone_inactive_ratio(). This function will be used in a later patch [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Minchan Kim Reviewed-by: KOSAKI Motohiro Cc: Rik van Riel Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc75d33f0fc1d56e734db1f56d3cfc8097b8e0cf Author: Minchan Kim Date: Tue Jun 16 15:32:48 2009 -0700 page-allocator: clean up functions related to pages_min Change the names of two functions. It doesn't affect behavior. Presently, setup_per_zone_pages_min() changes low, high of zone as well as min. So a better name is setup_per_zone_wmarks(). That's because Mel changed zone->pages_[hig/low/min] to zone->watermark array in "page allocator: replace the watermark-related union in struct zone with a watermark[] array". * setup_per_zone_pages_min => setup_per_zone_wmarks Of course, we have to change init_per_zone_pages_min, too. There are not pages_min any more. * init_per_zone_pages_min => init_per_zone_wmark_min [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Minchan Kim Acked-by: Mel Gorman Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70d94ee438b3fd9c15c7691d7a932a135c18101 Author: Christoph Lameter Date: Tue Jun 16 15:32:46 2009 -0700 page-allocator: use integer fields lookup for gfp_zone and check for errors in flags passed to the page allocator This simplifies the code in gfp_zone() and also keeps the ability of the compiler to use constant folding to get rid of gfp_zone processing. The lookup of the zone is done using a bitfield stored in an integer. So the code in gfp_zone is a simple extraction of bits from a constant bitfield. The compiler is generating a load of a constant into a register and then performs a shift and mask operation to get the zone from a gfp_t. No cachelines are touched and no branches have to be predicted by the compiler. We are doing some macro tricks here to convince the compiler to always do the constant folding if possible. Signed-off-by: Christoph Lameter Cc: KAMEZAWA Hiroyuki Reviewed-by: Mel Gorman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31c911329e048b715a1dfeaaf617be9430fd7f4e Author: Matthew Wilcox Date: Tue Jun 16 15:32:45 2009 -0700 mm: check the argument of kunmap on architectures without highmem If you're using a non-highmem architecture, passing an argument with the wrong type to kunmap() doesn't give you a warning because the ifdef doesn't check the type. Using a static inline function solves the problem nicely. Reported-by: David Woodhouse Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69c854817566db82c362797b4a6521d0b00fe1d8 Author: MinChan Kim Date: Tue Jun 16 15:32:44 2009 -0700 vmscan: prevent shrinking of active anon lru list in case of no swap space V3 shrink_zone() can deactivate active anon pages even if we don't have a swap device. Many embedded products don't have a swap device. So the deactivation of anon pages is unnecessary. This patch prevents unnecessary deactivation of anon lru pages. But, it don't prevent aging of anon pages to swap out. Signed-off-by: Minchan Kim Acked-by: KOSAKI Motohiro Cc: Johannes Weiner Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35282a2de4e5e4e173ab61aa9d7015886021a821 Author: Brice Goglin Date: Tue Jun 16 15:32:43 2009 -0700 migration: only migrate_prep() once per move_pages() migrate_prep() is fairly expensive (72us on 16-core barcelona 1.9GHz). Commit 3140a2273009c01c27d316f35ab76a37e105fdd8 improved move_pages() throughput by breaking it into chunks, but it also made migrate_prep() be called once per chunk (every 128pages or so) instead of once per move_pages(). This patch reverts to calling migrate_prep() only once per chunk as we did before 2.6.29. It is also a followup to commit 0aedadf91a70a11c4a3e7c7d99b21e5528af8d5d ("mm: move migrate_prep out from under mmap_sem"). This improves migration throughput on the above machine from 600MB/s to 750MB/s. Signed-off-by: Brice Goglin Acked-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Heiko Carstens Cc: Nick Piggin Cc: Hugh Dickins Cc: Rik van Riel Cc: Lee Schermerhorn Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f33d49a2ed546e01f7b1d0607661810f2421859 Author: Rafael J. Wysocki Date: Tue Jun 16 15:32:41 2009 -0700 mm, PM/Freezer: Disable OOM killer when tasks are frozen Currently, the following scenario appears to be possible in theory: * Tasks are frozen for hibernation or suspend. * Free pages are almost exhausted. * Certain piece of code in the suspend code path attempts to allocate some memory using GFP_KERNEL and allocation order less than or equal to PAGE_ALLOC_COSTLY_ORDER. * __alloc_pages_internal() cannot find a free page so it invokes the OOM killer. * The OOM killer attempts to kill a task, but the task is frozen, so it doesn't die immediately. * __alloc_pages_internal() jumps to 'restart', unsuccessfully tries to find a free page and invokes the OOM killer. * No progress can be made. Although it is now hard to trigger during hibernation due to the memory shrinking carried out by the hibernation code, it is theoretically possible to trigger during suspend after the memory shrinking has been removed from that code path. Moreover, since memory allocations are going to be used for the hibernation memory shrinking, it will be even more likely to happen during hibernation. To prevent it from happening, introduce the oom_killer_disabled switch that will cause __alloc_pages_internal() to fail in the situations in which the OOM killer would have been called and make the freezer set this switch after tasks have been successfully frozen. [akpm@linux-foundation.org: be nicer to the namespace] Signed-off-by: Rafael J. Wysocki Cc: Fengguang Wu Cc: David Rientjes Acked-by: Pavel Machek Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75927af8bcb940dad4fe281713d526cb520869ff Author: Nick Piggin Date: Tue Jun 16 15:32:38 2009 -0700 mm: madvise(): correct return code The posix_madvise() function succeeds (and does nothing) when called with parameters (NULL, 0, -1); according to LSB tests, it should fail with EINVAL because -1 is not a valid flag. When called with a valid address and size, it correctly fails. So perform an initial check for valid flags first. Reported-by: Jiri Dluhos Signed-off-by: Nick Piggin Reviewed-and-Tested-by: WANG Cong Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dab48dab37d2770824420d1e01730a107fade1aa Author: Andrew Morton Date: Tue Jun 16 15:32:37 2009 -0700 page-allocator: warn if __GFP_NOFAIL is used for a large allocation __GFP_NOFAIL is a bad fiction. Allocations _can_ fail, and callers should detect and suitably handle this (and not by lamely moving the infinite loop up to the caller level either). Attempting to use __GFP_NOFAIL for a higher-order allocation is even worse, so add a once-off runtime check for this to slap people around for even thinking about trying it. Cc: David Rientjes Acked-by: Mel Gorman Acked-by: Peter Zijlstra Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 720b17e759a50635c429ccaa2ec3d01edb4f92d6 Author: Magnus Damm Date: Tue Jun 16 15:32:36 2009 -0700 videobuf-dma-contig: zero copy USERPTR support Since videobuf-dma-contig is designed to handle physically contiguous memory, this patch modifies the videobuf-dma-contig code to only accept a user space pointer to physically contiguous memory. For now only VM_PFNMAP vmas are supported, so forget hotplug. On SuperH Mobile we use this with our sh_mobile_ceu_camera driver together with various multimedia accelerator blocks that are exported to user space using UIO. The UIO kernel code exports physically contiguous memory to user space and lets the user space application mmap() this memory and pass a pointer using the USERPTR interface for V4L2 zero copy operation. With this approach we support zero copy capture, hardware scaling and various forms of hardware encoding and decoding. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Magnus Damm Cc: Johannes Weiner Cc: Paul Mundt Acked-by: Mauro Carvalho Chehab Cc: Hans Verkuil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b6748e2dd69906af3835db4dc9d1c8a3ee4c68c Author: Johannes Weiner Date: Tue Jun 16 15:32:35 2009 -0700 mm: introduce follow_pfn() Analoguous to follow_phys(), add a helper that looks up the PFN at a user virtual address in an IO mapping or a raw PFN mapping. Signed-off-by: Johannes Weiner Cc: Christoph Hellwig Acked-by: Magnus Damm Cc: Hans Verkuil Cc: Paul Mundt Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03668a4debf4f50de55c34b6e66dae63e1c73716 Author: Johannes Weiner Date: Tue Jun 16 15:32:34 2009 -0700 mm: use generic follow_pte() in follow_phys() Signed-off-by: Johannes Weiner Cc: Christoph Hellwig Acked-by: Magnus Damm Cc: Hans Verkuil Cc: Paul Mundt Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8ad0f499fad5cdbcaaa2d97542b2db869b5a770 Author: Johannes Weiner Date: Tue Jun 16 15:32:33 2009 -0700 mm: introduce follow_pte() A generic readonly page table lookup helper to map an address space and an address from it to a pte. Signed-off-by: Johannes Weiner Cc: Christoph Hellwig Acked-by: Magnus Damm Cc: Hans Verkuil Cc: Paul Mundt Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9bb35df6f813ca46f8e6273add657643c7df73f Author: Cyrill Gorcunov Date: Tue Jun 16 15:32:32 2009 -0700 mm: setup_per_zone_inactive_ratio - fix comment and make it __init The caller of setup_per_zone_inactive_ratio is an __init function. There is no need to keep the callee after it completed as well. Also fix a comment. Acked-by: David Rientjes Signed-off-by: Cyrill Gorcunov Reviewed-by: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c87eada68fe5d29a5f67528f81b6e45124f579b Author: Cyrill Gorcunov Date: Tue Jun 16 15:32:32 2009 -0700 mm: setup_per_zone_inactive_ratio - do not call for int_sqrt if not needed int_sqrt() returns 0 if its argument is zero so call it if only needed. Signed-off-by: Cyrill Gorcunov Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af166777cf451f0373b952ce6766dc1c25385686 Author: Wu Fengguang Date: Tue Jun 16 15:32:31 2009 -0700 vmscan: ZVC updates in shrink_active_list() can be done once This effectively lifts the unit of updates to nr_inactive_* and pgdeactivate from PAGEVEC_SIZE=14 to SWAP_CLUSTER_MAX=32, or MAX_ORDER_NR_PAGES=1024 for reclaim_zone(). Cc: Johannes Weiner Acked-by: Rik van Riel Reviewed-by: Minchan Kim Signed-off-by: Wu Fengguang Cc: Peter Zijlstra Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d9ae7cbbd0c5c07573d072ec771e997a9a39e0 Author: Wu Fengguang Date: Tue Jun 16 15:32:30 2009 -0700 vmscan: don't export nr_saved_scan in /proc/zoneinfo The lru->nr_saved_scan's are not meaningful counters for even kernel developers. They typically are smaller than 32 and are always 0 for large lists. So remove them from /proc/zoneinfo. Hopefully this interface change won't break too many scripts. /proc/zoneinfo is too unstructured to be script friendly, and I wonder the affected scripts - if there are any - are still bleeding since the not long ago commit "vmscan: split LRU lists into anon & file sets", which also touched the "scanned" line :) If we are to re-export accumulated vmscan counts in the future, they can go to new lines in /proc/zoneinfo instead of the current form, or to /sys/devices/system/node/node0/meminfo? Signed-off-by: Wu Fengguang Acked-by: Rik van Riel Cc: Nick Piggin Acked-by: Christoph Lameter Cc: Peter Zijlstra Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e08a369ee10b361ac1cdcdf4fabd420fd08beb3 Author: Wu Fengguang Date: Tue Jun 16 15:32:29 2009 -0700 vmscan: cleanup the scan batching code The vmscan batching logic is twisting. Move it into a standalone function nr_scan_try_batch() and document it. No behavior change. Signed-off-by: Wu Fengguang Acked-by: Rik van Riel Cc: Nick Piggin Cc: Christoph Lameter Acked-by: Peter Zijlstra Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56e49d218890f49b0057710a4b6fef31f5ffbfec Author: Rik van Riel Date: Tue Jun 16 15:32:28 2009 -0700 vmscan: evict use-once pages first When the file LRU lists are dominated by streaming IO pages, evict those pages first, before considering evicting other pages. This should be safe from deadlocks or performance problems because only three things can happen to an inactive file page: 1) referenced twice and promoted to the active list 2) evicted by the pageout code 3) under IO, after which it will get evicted or promoted The pages freed in this way can either be reused for streaming IO, or allocated for something else. If the pages are used for streaming IO, this pageout pattern continues. Otherwise, we will fall back to the normal pageout pattern. Signed-off-by: Rik van Riel Reported-by: Elladan Cc: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Lee Schermerhorn Acked-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35efa5e993a7a00a50b87d2b7725c3eafc80b083 Author: Wu Fengguang Date: Tue Jun 16 15:32:27 2009 -0700 pagemap: add page-types tool Add page-types, a handy tool for querying page flags. It will expand some of the overloaded flags: PG_slob_free = PG_private PG_slub_frozen = PG_active PG_slub_debug = PG_error PG_readahead = PG_reclaim and mask out obscure flags except in -raw mode: PG_reserved PG_mlocked PG_mappedtodisk PG_private PG_private_2 PG_owner_priv_1 PG_arch_1 PG_uncached PG_compound* for non hugeTLB pages [akpm@linux-foundation.org: fix warning] Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17e895012f7fe9dc63144990da98c41bbc22d68f Author: Wu Fengguang Date: Tue Jun 16 15:32:26 2009 -0700 pagemap: document 9 more exported page flags Also add short descriptions for all of the 20 exported page flags. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9ba78e226057a1c2f19671383c496df187c02b5 Author: Wu Fengguang Date: Tue Jun 16 15:32:25 2009 -0700 pagemap: document clarifications Some bit ranges were inclusive and some not. Fix them to be consistently inclusive. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 177975495914efb372f7edee28ba9a0fdb754149 Author: Wu Fengguang Date: Tue Jun 16 15:32:24 2009 -0700 proc: export more page flags in /proc/kpageflags Export all page flags faithfully in /proc/kpageflags. 11. KPF_MMAP (pseudo flag) memory mapped page 12. KPF_ANON (pseudo flag) memory mapped page (anonymous) 13. KPF_SWAPCACHE page is in swap cache 14. KPF_SWAPBACKED page is swap/RAM backed 15. KPF_COMPOUND_HEAD (*) 16. KPF_COMPOUND_TAIL (*) 17. KPF_HUGE hugeTLB pages 18. KPF_UNEVICTABLE page is in the unevictable LRU list 19. KPF_HWPOISON(TBD) hardware detected corruption 20. KPF_NOPAGE (pseudo flag) no page frame at the address 32-39. more obscure flags for kernel developers (*) For compound pages, exporting _both_ head/tail info enables users to tell where a compound page starts/ends, and its order. The accompanying page-types tool will handle the details like decoupling overloaded flags and hiding obscure flags to normal users. Thanks to KOSAKI and Andi for their valuable recommendations! Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7ce0f1022942301776f93159c981b09382ddea Author: Wu Fengguang Date: Tue Jun 16 15:32:23 2009 -0700 proc: kpagecount/kpageflags code cleanup Move increments of pfn/out to bottom of the loop. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Acked-by: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20a0307c0396c2edb651401d2f2db193dda2f3c9 Author: Wu Fengguang Date: Tue Jun 16 15:32:22 2009 -0700 mm: introduce PageHuge() for testing huge/gigantic pages A series of patches to enhance the /proc/pagemap interface and to add a userspace executable which can be used to present the pagemap data. Export 10 more flags to end users (and more for kernel developers): 11. KPF_MMAP (pseudo flag) memory mapped page 12. KPF_ANON (pseudo flag) memory mapped page (anonymous) 13. KPF_SWAPCACHE page is in swap cache 14. KPF_SWAPBACKED page is swap/RAM backed 15. KPF_COMPOUND_HEAD (*) 16. KPF_COMPOUND_TAIL (*) 17. KPF_HUGE hugeTLB pages 18. KPF_UNEVICTABLE page is in the unevictable LRU list 19. KPF_HWPOISON hardware detected corruption 20. KPF_NOPAGE (pseudo flag) no page frame at the address (*) For compound pages, exporting _both_ head/tail info enables users to tell where a compound page starts/ends, and its order. a simple demo of the page-types tool # ./page-types -h page-types [options] -r|--raw Raw mode, for kernel developers -a|--addr addr-spec Walk a range of pages -b|--bits bits-spec Walk pages with specified bits -l|--list Show page details in ranges -L|--list-each Show page details one by one -N|--no-summary Don't show summay info -h|--help Show this usage message addr-spec: N one page at offset N (unit: pages) N+M pages range from N to N+M-1 N,M pages range from N to M-1 N, pages range from N to end ,M pages range from 0 to M bits-spec: bit1,bit2 (flags & (bit1|bit2)) != 0 bit1,bit2=bit1 (flags & (bit1|bit2)) == bit1 bit1,~bit2 (flags & (bit1|bit2)) == bit1 =bit1,bit2 flags == (bit1|bit2) bit-names: locked error referenced uptodate dirty lru active slab writeback reclaim buddy mmap anonymous swapcache swapbacked compound_head compound_tail huge unevictable hwpoison nopage reserved(r) mlocked(r) mappedtodisk(r) private(r) private_2(r) owner_private(r) arch(r) uncached(r) readahead(o) slob_free(o) slub_frozen(o) slub_debug(o) (r) raw mode bits (o) overloaded bits # ./page-types flags page-count MB symbolic-flags long-symbolic-flags 0x0000000000000000 487369 1903 _________________________________ 0x0000000000000014 5 0 __R_D____________________________ referenced,dirty 0x0000000000000020 1 0 _____l___________________________ lru 0x0000000000000024 34 0 __R__l___________________________ referenced,lru 0x0000000000000028 3838 14 ___U_l___________________________ uptodate,lru 0x0001000000000028 48 0 ___U_l_______________________I___ uptodate,lru,readahead 0x000000000000002c 6478 25 __RU_l___________________________ referenced,uptodate,lru 0x000100000000002c 47 0 __RU_l_______________________I___ referenced,uptodate,lru,readahead 0x0000000000000040 8344 32 ______A__________________________ active 0x0000000000000060 1 0 _____lA__________________________ lru,active 0x0000000000000068 348 1 ___U_lA__________________________ uptodate,lru,active 0x0001000000000068 12 0 ___U_lA______________________I___ uptodate,lru,active,readahead 0x000000000000006c 988 3 __RU_lA__________________________ referenced,uptodate,lru,active 0x000100000000006c 48 0 __RU_lA______________________I___ referenced,uptodate,lru,active,readahead 0x0000000000004078 1 0 ___UDlA_______b__________________ uptodate,dirty,lru,active,swapbacked 0x000000000000407c 34 0 __RUDlA_______b__________________ referenced,uptodate,dirty,lru,active,swapbacked 0x0000000000000400 503 1 __________B______________________ buddy 0x0000000000000804 1 0 __R________M_____________________ referenced,mmap 0x0000000000000828 1029 4 ___U_l_____M_____________________ uptodate,lru,mmap 0x0001000000000828 43 0 ___U_l_____M_________________I___ uptodate,lru,mmap,readahead 0x000000000000082c 382 1 __RU_l_____M_____________________ referenced,uptodate,lru,mmap 0x000100000000082c 12 0 __RU_l_____M_________________I___ referenced,uptodate,lru,mmap,readahead 0x0000000000000868 192 0 ___U_lA____M_____________________ uptodate,lru,active,mmap 0x0001000000000868 12 0 ___U_lA____M_________________I___ uptodate,lru,active,mmap,readahead 0x000000000000086c 800 3 __RU_lA____M_____________________ referenced,uptodate,lru,active,mmap 0x000100000000086c 31 0 __RU_lA____M_________________I___ referenced,uptodate,lru,active,mmap,readahead 0x0000000000004878 2 0 ___UDlA____M__b__________________ uptodate,dirty,lru,active,mmap,swapbacked 0x0000000000001000 492 1 ____________a____________________ anonymous 0x0000000000005808 4 0 ___U_______Ma_b__________________ uptodate,mmap,anonymous,swapbacked 0x0000000000005868 2839 11 ___U_lA____Ma_b__________________ uptodate,lru,active,mmap,anonymous,swapbacked 0x000000000000586c 30 0 __RU_lA____Ma_b__________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked total 513968 2007 # ./page-types -r flags page-count MB symbolic-flags long-symbolic-flags 0x0000000000000000 468002 1828 _________________________________ 0x0000000100000000 19102 74 _____________________r___________ reserved 0x0000000000008000 41 0 _______________H_________________ compound_head 0x0000000000010000 188 0 ________________T________________ compound_tail 0x0000000000008014 1 0 __R_D__________H_________________ referenced,dirty,compound_head 0x0000000000010014 4 0 __R_D___________T________________ referenced,dirty,compound_tail 0x0000000000000020 1 0 _____l___________________________ lru 0x0000000800000024 34 0 __R__l__________________P________ referenced,lru,private 0x0000000000000028 3794 14 ___U_l___________________________ uptodate,lru 0x0001000000000028 46 0 ___U_l_______________________I___ uptodate,lru,readahead 0x0000000400000028 44 0 ___U_l_________________d_________ uptodate,lru,mappedtodisk 0x0001000400000028 2 0 ___U_l_________________d_____I___ uptodate,lru,mappedtodisk,readahead 0x000000000000002c 6434 25 __RU_l___________________________ referenced,uptodate,lru 0x000100000000002c 47 0 __RU_l_______________________I___ referenced,uptodate,lru,readahead 0x000000040000002c 14 0 __RU_l_________________d_________ referenced,uptodate,lru,mappedtodisk 0x000000080000002c 30 0 __RU_l__________________P________ referenced,uptodate,lru,private 0x0000000800000040 8124 31 ______A_________________P________ active,private 0x0000000000000040 219 0 ______A__________________________ active 0x0000000800000060 1 0 _____lA_________________P________ lru,active,private 0x0000000000000068 322 1 ___U_lA__________________________ uptodate,lru,active 0x0001000000000068 12 0 ___U_lA______________________I___ uptodate,lru,active,readahead 0x0000000400000068 13 0 ___U_lA________________d_________ uptodate,lru,active,mappedtodisk 0x0000000800000068 12 0 ___U_lA_________________P________ uptodate,lru,active,private 0x000000000000006c 977 3 __RU_lA__________________________ referenced,uptodate,lru,active 0x000100000000006c 48 0 __RU_lA______________________I___ referenced,uptodate,lru,active,readahead 0x000000040000006c 5 0 __RU_lA________________d_________ referenced,uptodate,lru,active,mappedtodisk 0x000000080000006c 3 0 __RU_lA_________________P________ referenced,uptodate,lru,active,private 0x0000000c0000006c 3 0 __RU_lA________________dP________ referenced,uptodate,lru,active,mappedtodisk,private 0x0000000c00000068 1 0 ___U_lA________________dP________ uptodate,lru,active,mappedtodisk,private 0x0000000000004078 1 0 ___UDlA_______b__________________ uptodate,dirty,lru,active,swapbacked 0x000000000000407c 34 0 __RUDlA_______b__________________ referenced,uptodate,dirty,lru,active,swapbacked 0x0000000000000400 538 2 __________B______________________ buddy 0x0000000000000804 1 0 __R________M_____________________ referenced,mmap 0x0000000000000828 1029 4 ___U_l_____M_____________________ uptodate,lru,mmap 0x0001000000000828 43 0 ___U_l_____M_________________I___ uptodate,lru,mmap,readahead 0x000000000000082c 382 1 __RU_l_____M_____________________ referenced,uptodate,lru,mmap 0x000100000000082c 12 0 __RU_l_____M_________________I___ referenced,uptodate,lru,mmap,readahead 0x0000000000000868 192 0 ___U_lA____M_____________________ uptodate,lru,active,mmap 0x0001000000000868 12 0 ___U_lA____M_________________I___ uptodate,lru,active,mmap,readahead 0x000000000000086c 800 3 __RU_lA____M_____________________ referenced,uptodate,lru,active,mmap 0x000100000000086c 31 0 __RU_lA____M_________________I___ referenced,uptodate,lru,active,mmap,readahead 0x0000000000004878 2 0 ___UDlA____M__b__________________ uptodate,dirty,lru,active,mmap,swapbacked 0x0000000000001000 492 1 ____________a____________________ anonymous 0x0000000000005008 2 0 ___U________a_b__________________ uptodate,anonymous,swapbacked 0x0000000000005808 4 0 ___U_______Ma_b__________________ uptodate,mmap,anonymous,swapbacked 0x000000000000580c 1 0 __RU_______Ma_b__________________ referenced,uptodate,mmap,anonymous,swapbacked 0x0000000000005868 2839 11 ___U_lA____Ma_b__________________ uptodate,lru,active,mmap,anonymous,swapbacked 0x000000000000586c 29 0 __RU_lA____Ma_b__________________ referenced,uptodate,lru,active,mmap,anonymous,swapbacked total 513968 2007 # ./page-types --raw --list --no-summary --bits reserved offset count flags 0 15 _____________________r___________ 31 4 _____________________r___________ 159 97 _____________________r___________ 4096 2067 _____________________r___________ 6752 2390 _____________________r___________ 9355 3 _____________________r___________ 9728 14526 _____________________r___________ This patch: Introduce PageHuge(), which identifies huge/gigantic pages by their dedicated compound destructor functions. Also move prep_compound_gigantic_page() to hugetlb.c and make __free_pages_ok() non-static. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Cc: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1dd268cf6306565a31a48deff8bf4f6b4b105f7 Author: Mel Gorman Date: Tue Jun 16 15:32:19 2009 -0700 mm: use alloc_pages_exact() in alloc_large_system_hash() to avoid duplicated logic alloc_large_system_hash() has logic for freeing pages at the end of an excessively large power-of-two buffer that is a duplicate of what is in alloc_pages_exact(). This patch converts alloc_large_system_hash() to use alloc_pages_exact(). Signed-off-by: Mel Gorman Acked-by: Hugh Dickins Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72807a74c0172376bba6b5b27702c9f702b526e9 Author: Mel Gorman Date: Tue Jun 16 15:32:18 2009 -0700 page allocator: sanity check order in the page allocator slow path Callers may speculatively call different allocators in order of preference trying to allocate a buffer of a given size. The order needed to allocate this may be larger than what the page allocator can normally handle. While the allocator mostly does the right thing, it should not direct reclaim or wakeup kswapd with a bogus order. This patch sanity checks the order in the slow path and returns NULL if it is too large. Signed-off-by: Mel Gorman Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 092cead6175bb1b3d3078a34ba71c939d526c70b Author: KOSAKI Motohiro Date: Tue Jun 16 15:32:17 2009 -0700 page allocator: move free_page_mlock() to page_alloc.c Currently, free_page_mlock() is only called from page_alloc.c. Thus, we can move it to page_alloc.c. Cc: Lee Schermerhorn Cc: Mel Gorman Cc: Christoph Lameter Cc: Pekka Enberg Cc: Dave Hansen Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6e68bc1baed9b6972a250aba66b8c5276cf6fb1 Author: Mel Gorman Date: Tue Jun 16 15:32:16 2009 -0700 page allocator: slab: use nr_online_nodes to check for a NUMA platform SLAB currently avoids checking a bitmap repeatedly by checking once and storing a flag. When the addition of nr_online_nodes as a cheaper version of num_online_nodes(), this check can be replaced by nr_online_nodes. (Christoph did a patch that this is lifted almost verbatim from) Signed-off-by: Christoph Lameter Signed-off-by: Mel Gorman Cc: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62bc62a873116805774ffd37d7f86aa4faa832b1 Author: Christoph Lameter Date: Tue Jun 16 15:32:15 2009 -0700 page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths num_online_nodes() is called in a number of places but most often by the page allocator when deciding whether the zonelist needs to be filtered based on cpusets or the zonelist cache. This is actually a heavy function and touches a number of cache lines. This patch stores the number of online nodes at boot time and updates the value when nodes get onlined and offlined. The value is then used in a number of important paths in place of num_online_nodes(). [rientjes@google.com: do not override definition of node_set_online() with macro] Signed-off-by: Christoph Lameter Signed-off-by: Mel Gorman Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 974709bdb2a34db378fc84140220f363f558d0d6 Author: Mel Gorman Date: Tue Jun 16 15:32:14 2009 -0700 page allocator: get the pageblock migratetype without disabling interrupts Local interrupts are disabled when freeing pages to the PCP list. Part of that free checks what the migratetype of the pageblock the page is in but it checks this with interrupts disabled and interupts should never be disabled longer than necessary. This patch checks the pagetype with interrupts enabled with the impact that it is possible a page is freed to the wrong list when a pageblock changes type. As that block is now already considered mixed from an anti-fragmentation perspective, it's not of vital importance. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2260e6b1f4eba0f5b5906795117791b5c660154 Author: Mel Gorman Date: Tue Jun 16 15:32:13 2009 -0700 page allocator: update NR_FREE_PAGES only as necessary When pages are being freed to the buddy allocator, the zone NR_FREE_PAGES counter must be updated. In the case of bulk per-cpu page freeing, it's updated once per page. This retouches cache lines more than necessary. Update the counters one per per-cpu bulk free. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 418589663d6011de9006425b6c5721e1544fb47a Author: Mel Gorman Date: Tue Jun 16 15:32:12 2009 -0700 page allocator: use allocation flags as an index to the zone watermark ALLOC_WMARK_MIN, ALLOC_WMARK_LOW and ALLOC_WMARK_HIGH determin whether pages_min, pages_low or pages_high is used as the zone watermark when allocating the pages. Two branches in the allocator hotpath determine which watermark to use. This patch uses the flags as an array index into a watermark array that is indexed with WMARK_* defines accessed via helpers. All call sites that use zone->pages_* are updated to use the helpers for accessing the values and the array offsets for setting. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3af9c389a7f3e675313f442fdd8c247c1cdb66b Author: Nick Piggin Date: Tue Jun 16 15:32:10 2009 -0700 page allocator: do not check for compound pages during the page allocator sanity checks A number of sanity checks are made on each page allocation and free including that the page count is zero. page_count() checks for compound pages and checks the count of the head page if true. However, in these paths, we do not care if the page is compound or not as the count of each tail page should also be zero. This patch makes two changes to the use of page_count() in the free path. It converts one check of page_count() to a VM_BUG_ON() as the count should have been unconditionally checked earlier in the free path. It also avoids checking for compound pages. [mel@csn.ul.ie: Wrote changelog] Signed-off-by: Mel Gorman Signed-off-by: Nick Piggin Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d395b73428d9748fb70b33477c9b2acae62f360a Author: Mel Gorman Date: Tue Jun 16 15:32:09 2009 -0700 page allocator: do not setup zonelist cache when there is only one node There is a zonelist cache which is used to track zones that are not in the allowed cpuset or found to be recently full. This is to reduce cache footprint on large machines. On smaller machines, it just incurs cost for no gain. This patch only uses the zonelist cache when there are NUMA nodes. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da456f14d2f2d7350f2b9440af79c85a34c7eed5 Author: Mel Gorman Date: Tue Jun 16 15:32:08 2009 -0700 page allocator: do not disable interrupts in free_page_mlock() free_page_mlock() tests and clears PG_mlocked using locked versions of the bit operations. If set, it disables interrupts to update counters and this happens on every page free even though interrupts are disabled very shortly afterwards a second time. This is wasteful. This patch splits what free_page_mlock() does. The bit check is still made. However, the update of counters is delayed until the interrupts are disabled and the non-lock version for clearing the bit is used. One potential weirdness with this split is that the counters do not get updated if the bad_page() check is triggered but a system showing bad pages is getting screwed already. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: Pekka Enberg Reviewed-by: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Acked-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed0ae21dc5fe3b9ad4cf1c7bb2bfd2ad596c481c Author: Mel Gorman Date: Tue Jun 16 15:32:07 2009 -0700 page allocator: do not call get_pageblock_migratetype() more than necessary get_pageblock_migratetype() is potentially called twice for every page free. Once, when being freed to the pcp lists and once when being freed back to buddy. When freeing from the pcp lists, it is known what the pageblock type was at the time of free so use it rather than rechecking. In low memory situations under memory pressure, this might skew anti-fragmentation slightly but the interference is minimal and decisions that are fragmenting memory are being made anyway. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ac3a4099b0171ff965836182bc688bb8ca01058 Author: Mel Gorman Date: Tue Jun 16 15:32:06 2009 -0700 page allocator: inline __rmqueue_fallback() __rmqueue_fallback() is in the slow path but has only one call site. Because there is only one call-site, this function can then be inlined without causing text bloat. On an x86-based config, it made no difference as the savings were padded out by NOP instructions. Milage varies but text will either decrease in size or remain static. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a15c3e9f649f71464ac39e6378f1fde6f995322 Author: Mel Gorman Date: Tue Jun 16 15:32:05 2009 -0700 page allocator: inline buffered_rmqueue() buffered_rmqueue() is in the fast path so inline it. Because it only has one call site, this function can then be inlined without causing text bloat. On an x86-based config, it made no difference as the savings were padded out by NOP instructions. Milage varies but text will either decrease in size or remain static. Signed-off-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 728ec980fb9fa2d65d9e05444079a53615985e7b Author: Mel Gorman Date: Tue Jun 16 15:32:04 2009 -0700 page allocator: inline __rmqueue_smallest() Inline __rmqueue_smallest by altering flow very slightly so that there is only one call site. Because there is only one call-site, this function can then be inlined without causing text bloat. On an x86-based config, this patch reduces text by 16 bytes. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56f57ff94c25d5d80def06f3ed8fe7f99147762 Author: Mel Gorman Date: Tue Jun 16 15:32:02 2009 -0700 page allocator: remove a branch by assuming __GFP_HIGH == ALLOC_HIGH Allocations that specify __GFP_HIGH get the ALLOC_HIGH flag. If these flags are equal to each other, we can eliminate a branch. [akpm@linux-foundation.org: Suggested the hack] Signed-off-by: Mel Gorman Reviewed-by: Pekka Enberg Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341ce06f69abfafa31b9468410a13dbd60e2b237 Author: Peter Zijlstra Date: Tue Jun 16 15:32:02 2009 -0700 page allocator: calculate the alloc_flags for allocation only once Factor out the mapping between GFP and alloc_flags only once. Once factored out, it only needs to be calculated once but some care must be taken. [neilb@suse.de says] As the test: - if (((p->flags & PF_MEMALLOC) || unlikely(test_thread_flag(TIF_MEMDIE))) - && !in_interrupt()) { - if (!(gfp_mask & __GFP_NOMEMALLOC)) { has been replaced with a slightly weaker one: + if (alloc_flags & ALLOC_NO_WATERMARKS) { Without care, this would allow recursion into the allocator via direct reclaim. This patch ensures we do not recurse when PF_MEMALLOC is set but TF_MEMDIE callers are now allowed to directly reclaim where they would have been prevented in the past. Signed-off-by: Peter Zijlstra Acked-by: Pekka Enberg Signed-off-by: Mel Gorman Cc: Neil Brown Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dd2826698b6902aafd9441ce28ebb44735fd0d6 Author: Mel Gorman Date: Tue Jun 16 15:32:00 2009 -0700 page allocator: calculate the migratetype for allocation only once GFP mask is converted into a migratetype when deciding which pagelist to take a page from. However, it is happening multiple times per allocation, at least once per zone traversed. Calculate it once. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5117f45d11a9ee62d9b086f1312f3f31781ff155 Author: Mel Gorman Date: Tue Jun 16 15:31:59 2009 -0700 page allocator: calculate the preferred zone for allocation only once get_page_from_freelist() can be called multiple times for an allocation. Part of this calculates the preferred_zone which is the first usable zone in the zonelist but the zone depends on the GFP flags specified at the beginning of the allocation call. This patch calculates preferred_zone once. It's safe to do this because if preferred_zone is NULL at the start of the call, no amount of direct reclaim or other actions will change the fact the allocation will fail. [akpm@linux-foundation.org: remove (void) casts] Signed-off-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Christoph Lameter Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49255c619fbd482d704289b5eb2795f8e3b7ff2e Author: Mel Gorman Date: Tue Jun 16 15:31:58 2009 -0700 page allocator: move check for disabled anti-fragmentation out of fastpath On low-memory systems, anti-fragmentation gets disabled as there is nothing it can do and it would just incur overhead shuffling pages between lists constantly. Currently the check is made in the free page fast path for every page. This patch moves it to a slow path. On machines with low memory, there will be small amount of additional overhead as pages get shuffled between lists but it should quickly settle. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11e33f6a55ed7847d9c8ffe185ef87faf7806abe Author: Mel Gorman Date: Tue Jun 16 15:31:57 2009 -0700 page allocator: break up the allocator entry point into fast and slow paths The core of the page allocator is one giant function which allocates memory on the stack and makes calculations that may not be needed for every allocation. This patch breaks up the allocator path into fast and slow paths for clarity. Note the slow paths are still inlined but the entry is marked unlikely. If they were not inlined, it actally increases text size to generate the as there is only one call site. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Cc: KOSAKI Motohiro Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f82af9742a9346794ecc1515139daed480e7025 Author: Mel Gorman Date: Tue Jun 16 15:31:56 2009 -0700 page allocator: check only once if the zonelist is suitable for the allocation It is possible with __GFP_THISNODE that no zones are suitable. This patch makes sure the check is only made once. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6484eb3e2a81807722c5f28efef94d8338b7b996 Author: Mel Gorman Date: Tue Jun 16 15:31:54 2009 -0700 page allocator: do not check NUMA node ID when the caller knows the node is valid Callers of alloc_pages_node() can optionally specify -1 as a node to mean "allocate from the current node". However, a number of the callers in fast paths know for a fact their node is valid. To avoid a comparison and branch, this patch adds alloc_pages_exact_node() that only checks the nid with VM_BUG_ON(). Callers that know their node is valid are then converted. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Acked-by: Paul Mundt [for the SLOB NUMA bits] Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3c466ce512923298ae8c0121d3e9f397a3f1210 Author: Mel Gorman Date: Tue Jun 16 15:31:53 2009 -0700 page allocator: do not sanity check order in the fast path No user of the allocator API should be passing in an order >= MAX_ORDER but we check for it on each and every allocation. Delete this check and make it a VM_BUG_ON check further down the call path. [akpm@linux-foundation.org: s/VM_BUG_ON/WARN_ON_ONCE/] Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d239171e4f6efd58d7e423853056b1b6a74f1446 Author: Mel Gorman Date: Tue Jun 16 15:31:52 2009 -0700 page allocator: replace __alloc_pages_internal() with __alloc_pages_nodemask() The start of a large patch series to clean up and optimise the page allocator. The performance improvements are in a wide range depending on the exact machine but the results I've seen so fair are approximately; kernbench: 0 to 0.12% (elapsed time) 0.49% to 3.20% (sys time) aim9: -4% to 30% (for page_test and brk_test) tbench: -1% to 4% hackbench: -2.5% to 3.45% (mostly within the noise though) netperf-udp -1.34% to 4.06% (varies between machines a bit) netperf-tcp -0.44% to 5.22% (varies between machines a bit) I haven't sysbench figures at hand, but previously they were within the -0.5% to 2% range. On netperf, the client and server were bound to opposite number CPUs to maximise the problems with cache line bouncing of the struct pages so I expect different people to report different results for netperf depending on their exact machine and how they ran the test (different machines, same cpus client/server, shared cache but two threads client/server, different socket client/server etc). I also measured the vmlinux sizes for a single x86-based config with CONFIG_DEBUG_INFO enabled but not CONFIG_DEBUG_VM. The core of the .config is based on the Debian Lenny kernel config so I expect it to be reasonably typical. This patch: __alloc_pages_internal is the core page allocator function but essentially it is an alias of __alloc_pages_nodemask. Naming a publicly available and exported function "internal" is also a big ugly. This patch renames __alloc_pages_internal() to __alloc_pages_nodemask() and deletes the old nodemask function. Warning - This patch renames an exported symbol. No kernel driver is affected by external drivers calling __alloc_pages_internal() should change the call to __alloc_pages_nodemask() without any alteration of parameters. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Reviewed-by: Pekka Enberg Cc: Peter Zijlstra Cc: Nick Piggin Cc: Dave Hansen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c0db4664b49417d80988953e69c323721353227 Author: Hugh Dickins Date: Tue Jun 16 15:31:50 2009 -0700 mm: alloc_large_system_hash check order On an x86_64 with 4GB ram, tcp_init()'s call to alloc_large_system_hash(), to allocate tcp_hashinfo.ehash, is now triggering an mmotm WARN_ON_ONCE on order >= MAX_ORDER - it's hoping for order 11. alloc_large_system_hash() had better make its own check on the order. Signed-off-by: Hugh Dickins Cc: David Miller Cc: Mel Gorman Cc: Eric Dumazet Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58568d2a8215cb6f55caf2332017d7bdff954e1c Author: Miao Xie Date: Tue Jun 16 15:31:49 2009 -0700 cpuset,mm: update tasks' mems_allowed in time Fix allocating page cache/slab object on the unallowed node when memory spread is set by updating tasks' mems_allowed after its cpuset's mems is changed. In order to update tasks' mems_allowed in time, we must modify the code of memory policy. Because the memory policy is applied in the process's context originally. After applying this patch, one task directly manipulates anothers mems_allowed, and we use alloc_lock in the task_struct to protect mems_allowed and memory policy of the task. But in the fast path, we didn't use lock to protect them, because adding a lock may lead to performance regression. But if we don't add a lock,the task might see no nodes when changing cpuset's mems_allowed to some non-overlapping set. In order to avoid it, we set all new allowed nodes, then clear newly disallowed ones. [lee.schermerhorn@hp.com: The rework of mpol_new() to extract the adjusting of the node mask to apply cpuset and mpol flags "context" breaks set_mempolicy() and mbind() with MPOL_PREFERRED and a NULL nodemask--i.e., explicit local allocation. Fix this by adding the check for MPOL_PREFERRED and empty node mask to mpol_new_mpolicy(). Remove the now unneeded 'nodes = NULL' from mpol_new(). Note that mpol_new_mempolicy() is always called with a non-NULL 'nodes' parameter now that it has been removed from mpol_new(). Therefore, we don't need to test nodes for NULL before testing it for 'empty'. However, just to be extra paranoid, add a VM_BUG_ON() to verify this assumption.] [lee.schermerhorn@hp.com: I don't think the function name 'mpol_new_mempolicy' is descriptive enough to differentiate it from mpol_new(). This function applies cpuset set context, usually constraining nodes to those allowed by the cpuset. However, when the 'RELATIVE_NODES flag is set, it also translates the nodes. So I settled on 'mpol_set_nodemask()', because the comment block for mpol_new() mentions that we need to call this function to "set nodes". Some additional minor line length, whitespace and typo cleanup.] Signed-off-by: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 950592f7b991f267d707d372b90f508bbe72acbc Author: Miao Xie Date: Tue Jun 16 15:31:47 2009 -0700 cpusets: update tasks' page/slab spread flags in time Fix the bug that the kernel didn't spread page cache/slab object evenly over all the allowed nodes when spread flags were set by updating tasks' page/slab spread flags in time. Signed-off-by: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3b39d47ebc51416fc3b690a32dfe030a2035e67 Author: Miao Xie Date: Tue Jun 16 15:31:46 2009 -0700 cpusets: restructure the function cpuset_update_task_memory_state() The kernel still allocates the page caches on old node after modifying its cpuset's mems when 'memory_spread_page' was set, or it didn't spread the page cache evenly over all the nodes that faulting task is allowed to usr after memory_spread_page was set. it is caused by the old mem_allowed and flags of the task, the current kernel doesn't updates them unless some function invokes cpuset_update_task_memory_state(), it is too late sometimes.We must update the mem_allowed and the flags of the tasks in time. Slab has the same problem. The following patches fix this bug by updating tasks' mem_allowed and spread flag after its cpuset's mems or spread flag is changed. This patch: Extract a function from cpuset_update_task_memory_state(). It will be used later for update tasks' page/slab spread flags after its cpuset's flag is set Signed-off-by: Miao Xie Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Christoph Lameter Cc: Paul Menage Cc: Nick Piggin Cc: Yasunori Goto Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf975d58565880a134afb13bde511d1b873ce79 Author: H Hartley Sweeten Date: Tue Jun 16 15:31:44 2009 -0700 mm/page-writeback.c: dirty limit type should be unsigned long get_dirty_limits() calls clip_bdi_dirty_limit() and task_dirty_limit() with variable pbdi_dirty as one of the arguments. This variable is an unsigned long * but both functions expect it to be a long *. This causes the following sparse warnings: warning: incorrect type in argument 3 (different signedness) expected long *pbdi_dirty got unsigned long *pbdi_dirty warning: incorrect type in argument 2 (different signedness) expected long *pdirty got unsigned long *pbdi_dirty Fix the warnings by changing the long * to unsigned long * in both functions. Signed-off-by: H Hartley Sweeten Cc: Johannes Weiner Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78dc583d3ab43115579cb5f3f7bd12e3548dd5a5 Author: KOSAKI Motohiro Date: Tue Jun 16 15:31:40 2009 -0700 vmscan: low order lumpy reclaim also should use PAGEOUT_IO_SYNC Commit 33c120ed2843090e2bd316de1588b8bf8b96cbde ("more aggressively use lumpy reclaim") increased how aggressive lumpy reclaim was by isolating both active and inactive pages for asynchronous lumpy reclaim on costly-high-order pages and for cheap-high-order when memory pressure is high. However, if the system is under heavy pressure and there are dirty pages, asynchronous IO may not be sufficient to reclaim a suitable page in time. This patch causes the caller to enter synchronous lumpy reclaim for costly-high-order pages and for cheap-high-order pages when under memory pressure. Minchan.kim@gmail.com said: Andy added synchronous lumpy reclaim with c661b078fd62abe06fd11fab4ac5e4eeafe26b6d. At that time, lumpy reclaim is not agressive. His intension is just for high-order users.(above PAGE_ALLOC_COSTLY_ORDER). After some time, Rik added aggressive lumpy reclaim with 33c120ed2843090e2bd316de1588b8bf8b96cbde. His intention was to do lumpy reclaim when high-order users and trouble getting a small set of contiguous pages. So we also have to add synchronous pageout for small set of contiguous pages. Cc: Lee Schermerhorn Cc: Andy Whitcroft Acked-by: Peter Zijlstra Cc: Rik van Riel Signed-off-by: KOSAKI Motohiro Reviewed-by: Minchan Kim Reviewed-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2bf6be8ab63aa84e6149aac934649aadf3828b1 Author: Nick Piggin Date: Tue Jun 16 15:31:39 2009 -0700 mm: clean up get_user_pages_fast() documentation Move more documentation for get_user_pages_fast into the new kerneldoc comment. Add some comments for get_user_pages as well. Also, move get_user_pages_fast declaration up to get_user_pages. It wasn't there initially because it was once a static inline function. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Nick Piggin Cc: Andy Grover Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ffc59b4d0bdfa00e882339f85b8a969bb7021e2 Author: Wu Fengguang Date: Tue Jun 16 15:31:38 2009 -0700 readahead: enforce full sync mmap readahead size Now that we do readahead for sequential mmap reads, here is a simple evaluation of the impacts, and one further optimization. It's an NFS-root debian desktop system, readahead size = 60 pages. The numbers are grabbed after a fresh boot into console. approach pgmajfault RA miss ratio mmap IO count avg IO size(pages) A 383 31.6% 383 11 B 225 32.4% 390 11 C 224 32.6% 307 13 case A: mmap sync/async readahead disabled case B: mmap sync/async readahead enabled, with enforced full async readahead size case C: mmap sync/async readahead enabled, with enforced full sync/async readahead size or: A = vanilla 2.6.30-rc1 B = A plus mmap readahead C = B plus this patch The numbers show that - there are good possibilities for random mmap reads to trigger readahead - 'pgmajfault' is reduced by 1/3, due to the _async_ nature of readahead - case C can further reduce IO count by 1/4 - readahead miss ratios are not quite affected The theory is - readahead is _good_ for clustered random reads, and can perform _better_ than readaround because they could be _async_. - async readahead size is guaranteed to be larger than readaround size, and they are _async_, hence will mostly behave better However for B - sync readahead size could be smaller than readaround size, hence may make things worse by produce more smaller IOs which will be fixed by this patch. Final conclusion: - mmap readahead reduced major faults by 1/3 and no obvious overheads; - mmap io can be further reduced by 1/4 with this patch. Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61b7cbdba2f3c588a0cf3db574c562805454b09b Author: Wu Fengguang Date: Tue Jun 16 15:31:36 2009 -0700 readahead: remove redundant test in shrink_readahead_size_eio() Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10be0b372cac50e2e7a477852f98bf069a97a3fa Author: Wu Fengguang Date: Tue Jun 16 15:31:36 2009 -0700 readahead: introduce context readahead algorithm Introduce page cache context based readahead algorithm. This is to better support concurrent read streams in general. RATIONALE --------- The current readahead algorithm detects interleaved reads in a _passive_ way. Given a sequence of interleaved streams 1,1001,2,1002,3,4,1003,5,1004,1005,6,... By checking for (offset == prev_offset + 1), it will discover the sequentialness between 3,4 and between 1004,1005, and start doing sequential readahead for the individual streams since page 4 and page 1005. The context readahead algorithm guarantees to discover the sequentialness no matter how the streams are interleaved. For the above example, it will start sequential readahead since page 2 and 1002. The trick is to poke for page @offset-1 in the page cache when it has no other clues on the sequentialness of request @offset: if the current requenst belongs to a sequential stream, that stream must have accessed page @offset-1 recently, and the page will still be cached now. So if page @offset-1 is there, we can take request @offset as a sequential access. BENEFICIARIES ------------- - strictly interleaved reads i.e. 1,1001,2,1002,3,1003,... the current readahead will take them as silly random reads; the context readahead will take them as two sequential streams. - cooperative IO processes i.e. NFS and SCST They create a thread pool, farming off (sequential) IO requests to different threads which will be performing interleaved IO. It was not easy(or possible) to reliably tell from file->f_ra all those cooperative processes working on the same sequential stream, since they will have different file->f_ra instances. And NFSD's file->f_ra is particularly unusable, since their file objects are dynamically created for each request. The nfsd does have code trying to restore the f_ra bits, but not satisfactory. The new scheme is to detect the sequential pattern via looking up the page cache, which provides one single and consistent view of the pages recently accessed. That makes sequential detection for cooperative processes possible. USER REPORT ----------- Vladislav recommends the addition of context readahead as a result of his SCST benchmarks. It leads to 6%~40% performance gains in various cases and achieves equal performance in others. http://lkml.org/lkml/2009/3/19/239 OVERHEADS --------- In theory, it introduces one extra page cache lookup per random read. However the below benchmark shows context readahead to be slightly faster, wondering.. Randomly reading 200MB amount of data on a sparse file, repeat 20 times for each block size. The average throughputs are: original ra context ra gain 4K random reads: 65.561MB/s 65.648MB/s +0.1% 16K random reads: 124.767MB/s 124.951MB/s +0.1% 64K random reads: 162.123MB/s 162.278MB/s +0.1% Cc: Jens Axboe Cc: Jeff Moyer Tested-by: Vladislav Bolkhovitin Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045a2529a3513faed2d45bd82f9013b124309d94 Author: Wu Fengguang Date: Tue Jun 16 15:31:33 2009 -0700 readahead: move the random read case to bottom Split all readahead cases, and move the random one to bottom. No behavior changes. This is to prepare for the introduction of context readahead, and make it easy for inserting accounting/tracing points for each case. Signed-off-by: Wu Fengguang Cc: Vladislav Bolkhovitin Cc: Jens Axboe Cc: Jeff Moyer Cc: Nick Piggin Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc566127dd161b6c997466a2349ac179527ea89b Author: Wu Fengguang Date: Tue Jun 16 15:31:32 2009 -0700 radix-tree: add radix_tree_prev_hole() The counterpart of radix_tree_next_hole(). To be used by context readahead. Signed-off-by: Wu Fengguang Cc: Vladislav Bolkhovitin Cc: Jens Axboe Cc: Jeff Moyer Cc: Nick Piggin Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d30a11004e3411909f2448546f036a011978062e Author: Wu Fengguang Date: Tue Jun 16 15:31:30 2009 -0700 readahead: record mmap read-around states in file_ra_state Mmap read-around now shares the same code style and data structure with readahead code. This also removes do_page_cache_readahead(). Its last user, mmap read-around, has been changed to call ra_submit(). The no-readahead-if-congested logic is dumped by the way. Users will be pretty sensitive about the slow loading of executables. So it's unfavorable to disabled mmap read-around on a congested queue. [akpm@linux-foundation.org: coding-style fixes] Cc: Nick Piggin Signed-off-by: Fengguang Wu Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fad6f5deee5556f511eab58da78737a23ddb35d Author: Wu Fengguang Date: Tue Jun 16 15:31:29 2009 -0700 readahead: enforce full readahead size on async mmap readahead We need this in one particular case and two more general ones. Now we do async readahead for sequential mmap reads, and do it with the help of PG_readahead. For normal reads, PG_readahead is the sufficient condition to do a sequential readahead. But unfortunately, for mmap reads, there is a tiny nuisance: [11736.998347] readahead-init0(process: sh/23926, file: sda1/w3m, offset=0:4503599627370495, ra=0+4-3) = 4 [11737.014985] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:0, ra=290+32-0) = 17 [11737.019488] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:0, ra=118+32-0) = 32 [11737.024921] readahead-interleaved(process: w3m/23926, file: sda1/w3m, offset=0:2, ra=4+6-6) = 6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ An unfavorably small readahead. The original dumb read-around size could be more efficient. That happened because ld-linux.so does a read(832) in L1 before mmap(), which triggers a 4-page readahead, with the second page tagged PG_readahead. L0: open("/lib/libc.so.6", O_RDONLY) = 3 L1: read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\342"..., 832) = 832 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ L2: fstat(3, {st_mode=S_IFREG|0755, st_size=1420624, ...}) = 0 L3: mmap(NULL, 3527256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fac6e51d000 L4: mprotect(0x7fac6e671000, 2097152, PROT_NONE) = 0 L5: mmap(0x7fac6e871000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x154000) = 0x7fac6e871000 L6: mmap(0x7fac6e876000, 16984, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fac6e876000 L7: close(3) = 0 In general, the PG_readahead flag will also be hit in cases - sequential reads - clustered random reads A full readahead size is desirable in both cases. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70ac23cfa31f68289d4b720c6162b3929ab4de36 Author: Wu Fengguang Date: Tue Jun 16 15:31:28 2009 -0700 readahead: sequential mmap readahead Auto-detect sequential mmap reads and do readahead for them. The sequential mmap readahead will be triggered when - sync readahead: it's a major fault and (prev_offset == offset-1); - async readahead: minor fault on PG_readahead page with valid readahead state. The benefits of doing readahead instead of read-around: - less I/O wait thanks to async readahead - double real I/O size and no more cache hits The single stream case is improved a little. For 100,000 sequential mmap reads: user system cpu total (1-1) plain -mm, 128KB readaround: 3.224 2.554 48.40% 11.838 (1-2) plain -mm, 256KB readaround: 3.170 2.392 46.20% 11.976 (2) patched -mm, 128KB readahead: 3.117 2.448 47.33% 11.607 The patched (2) has smallest total time, since it has no cache hit overheads and less I/O block time(thanks to async readahead). Here the I/O size makes no much difference, since there's only one single stream. Note that (1-1)'s real I/O size is 64KB and (1-2)'s real I/O size is 128KB, since the half of the read-around pages will be readahead cache hits. This is going to make _real_ differences for _concurrent_ IO streams. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef00e08e26dd5d84271ef706262506b82195e752 Author: Linus Torvalds Date: Tue Jun 16 15:31:25 2009 -0700 readahead: clean up and simplify the code for filemap page fault readahead This shouldn't really change behavior all that much, but the single rather complex function with read-ahead inside a loop etc is broken up into more manageable pieces. The behaviour is also less subtle, with the read-ahead being done up-front rather than inside some subtle loop and thus avoiding the now unnecessary extra state variables (ie "did_readaround" is gone). Fengguang: the code split in fact fixed a bug reported by Pavel Levshin: the PGMAJFAULT accounting used to be bypassed when MADV_RANDOM is set, in which case the original code will directly jump to no_cached_page reading. Cc: Pavel Levshin Cc: Cc: Nick Piggin Signed-off-by: Wu Fengguang Signed-off-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51daa88ebd8e0d437289f589af29d4b39379ea76 Author: Wu Fengguang Date: Tue Jun 16 15:31:24 2009 -0700 readahead: remove sync/async readahead call dependency The readahead call scheme is error-prone in that it expects the call sites to check for async readahead after doing a sync one. I.e. if (!page) page_cache_sync_readahead(); page = find_get_page(); if (page && PageReadahead(page)) page_cache_async_readahead(); This is because PG_readahead could be set by a sync readahead for the _current_ newly faulted in page, and the readahead code simply expects one more callback on the same page to start the async readahead. If the caller fails to do so, it will miss the PG_readahead bits and never able to start an async readahead. Eliminate this insane constraint by piggy-backing the async part into the current readahead window. Now if an async readahead should be started immediately after a sync one, the readahead logic itself will do it. So the following code becomes valid: (the 'else' in particular) if (!page) page_cache_sync_readahead(); else if (PageReadahead(page)) page_cache_async_readahead(); Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 160334a0cfa8e578b718f81038026326845d07d7 Author: Wu Fengguang Date: Tue Jun 16 15:31:23 2009 -0700 readahead: increase interleaved readahead size Make sure interleaved readahead size is larger than request size. This also makes the readahead window grow up more quickly. Reported-by: Xu Chenfeng Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caca7cb748571a5b39943a9b3e7081feef055e5e Author: Wu Fengguang Date: Tue Jun 16 15:31:21 2009 -0700 readahead: remove one unnecessary radix tree lookup (hit_readahead_marker != 0) means the page at @offset is present, so we can search for non-present page starting from @offset+1. Reported-by: Xu Chenfeng Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc31d16add13773265cc53d59f2e7594cb3c0a14 Author: Wu Fengguang Date: Tue Jun 16 15:31:21 2009 -0700 readahead: apply max_sane_readahead() limit in ondemand_readahead() Just in case someone aggressively sets a huge readahead size. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7e839dd36fd940b0202cfb7d39b2a1b2dc59b1b Author: Wu Fengguang Date: Tue Jun 16 15:31:20 2009 -0700 readahead: move max_sane_readahead() calls into force_page_cache_readahead() Impact: code simplification. Cc: Nick Piggin Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ebf26a9b338534def47f307c6c8694b6dfc0a79 Author: Wu Fengguang Date: Tue Jun 16 15:31:19 2009 -0700 readahead: make mmap_miss an unsigned int This makes the performance impact of possible mmap_miss wrap around to be temporary and tolerable: i.e. MMAP_LOTSAMISS=100 extra readarounds. Otherwise if ever mmap_miss wraps around to negative, it takes INT_MAX cache misses to bring it back to normal state. During the time mmap readaround will be _enabled_ for whatever wild random workload. That's almost permanent performance impact. Signed-off-by: Wu Fengguang Cc: Ying Han Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb1f17b0372de93758653ca3454bc0df18dc2e5c Author: Alexey Dobriyan Date: Tue Jun 16 15:31:18 2009 -0700 mm: consolidate init_mm definition * create mm/init-mm.c, move init_mm there * remove INIT_MM, initialize init_mm with C99 initializer * unexport init_mm on all arches: init_mm is already unexported on x86. One strange place is some OMAP driver (drivers/video/omap/) which won't build modular, but it's already wants get_vm_area() export. Somebody should look there. [akpm@linux-foundation.org: add missing #includes] Signed-off-by: Alexey Dobriyan Cc: Mike Frysinger Cc: Americo Wang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b0fde0fac19c180317eb0601b3504083f4b9bf5 Author: Yinghai Lu Date: Tue Jun 16 15:31:16 2009 -0700 firmware_map: fix hang with x86/32bit Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13484 Peer reported: | The bug is introduced from kernel 2.6.27, if E820 table reserve the memory | above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000 | (reserved)), system will report Int 6 error and hang up. The bug is caused by | the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit | variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6 | error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this | bug. |====== |static int firmware_map_add_entry(resource_size_t start, resource_size_t end, | const char *type, | struct firmware_map_entry *entry) and it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set. it turns out we need to pass u64 instead of resource_size_t for that. [akpm@linux-foundation.org: add comment] Reported-and-tested-by: Peer Chen Signed-off-by: Yinghai Lu Cc: Ingo Molnar Acked-by: H. Peter Anvin Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021415468c889979117b1a07b96f7e36de33e995 Author: Roel Kluin Date: Tue Jun 16 15:31:15 2009 -0700 spi: takes size of a pointer to determine the size of the pointed-to type Do not take the size of a pointer to determine the size of the pointed-to type. Signed-off-by: Roel Kluin Acked-by: Anton Vorontsov Cc: David Brownell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Acked-by: Grant Likely Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08604bd9935dc98fb62ef61d5b7baa7ccc10f8c2 Author: Arnd Bergmann Date: Tue Jun 16 15:31:12 2009 -0700 time: move PIT_TICK_RATE to linux/timex.h PIT_TICK_RATE is currently defined in four architectures, but in three different places. While linux/timex.h is not the perfect place for it, it is still a reasonable replacement for those drivers that traditionally use asm/timex.h to get CLOCK_TICK_RATE and expect it to be the PIT frequency. Note that for Alpha, the actual value changed from 1193182UL to 1193180UL. This is unlikely to make a difference, and probably can only improve accuracy. There was a discussion on the correct value of CLOCK_TICK_RATE a few years ago, after which every existing instance was getting changed to 1193182. According to the specification, it should be 1193181.818181... Signed-off-by: Arnd Bergmann Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Len Brown Cc: john stultz Cc: Dmitry Torokhov Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f01789c68882d846946cf9b972cf090b283d1f73 Author: Paul Mundt Date: Wed Jun 17 10:43:13 2009 +0900 sh: Use generic atomic64_t implementation. Signed-off-by: Paul Mundt commit c6a9d7b55e2df63de012a9a285bf2a0bee8e4d59 Author: Steven Rostedt Date: Thu Jun 11 09:49:15 2009 -0400 ring-buffer: remove useless warn on check A check if "write > BUF_PAGE_SIZE" is done right after a if (write > BUF_PAGE_SIZE) return ...; Thus the check is actually testing the compiler and not the kernel. This is useless, remove it. Signed-off-by: Steven Rostedt commit 22f470f8daea64bc03be1fe30c8c5df382295386 Author: Steven Rostedt Date: Thu Jun 11 09:29:58 2009 -0400 ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index The index of the event is found by masking PAGE_MASK to it and subtracting the header size. Currently the header size is calculate by PAGE_SIZE - BUF_PAGE_SIZE, when we already have a macro BUF_PAGE_HDR_SIZE to define it. If we want to change BUF_PAGE_SIZE to something less than filling the rest of the page (this is done for debugging), then we break the algorithm to find the index. Signed-off-by: Steven Rostedt commit 28b4868820a56de661f54742ff91b78e12f1e582 Author: H. Peter Anvin Date: Tue Jun 16 17:39:04 2009 -0700 x86, boot: use .code16gcc instead of .code16 Use .code16gcc to compile arch/x86/boot/bioscall.S rather than .code16, since some older versions of binutils can't generate 32-bit addressing expressions (67 prefixes) in .code16 mode, only in .code16gcc mode. Reported-by: Tetsuo Handa Signed-off-by: H. Peter Anvin commit e2a7147640a54eb812c8ab5f3ee4424b92db4856 Author: Cliff Wickman Date: Tue Jun 16 16:43:40 2009 -0500 x86: correct the conversion of EFI memory types This patch causes all the EFI_RESERVED_TYPE memory reservations to be recorded in the e820 table as type E820_RESERVED. (This patch replaces one called 'x86: vendor reserved memory type'. This version has been discussed a bit with Peter and Yinghai but not given a final opinion.) Without this patch EFI_RESERVED_TYPE memory reservations may be marked usable in the e820 table. There may be a collision between kernel use and some reserver's use of this memory. (An example use of this functionality is the UV system, which will access extremely large areas of memory with a memory engine that allows a user to address beyond the processor's range. Such areas are reserved in the EFI table by the BIOS. Some loaders have a restricted number of entries possible in the e820 table, hence the need to record the reservations in the unrestricted EFI table.) The call to do_add_efi_memmap() is only made if "add_efi_memmap" is specified on the kernel command line. Signed-off-by: Cliff Wickman Signed-off-by: H. Peter Anvin commit 95ee14e4379c5e19c0897c872350570402014742 Author: H. Peter Anvin Date: Tue Jun 9 18:20:39 2009 -0700 x86: cap iomem_resource to addressable physical memory iomem_resource is by default initialized to -1, which means 64 bits of physical address space if 64-bit resources are enabled. However, x86 CPUs cannot address 64 bits of physical address space. Thus, we want to cap the physical address space to what the union of all CPU can actually address. Without this patch, we may end up assigning inaccessible values to uninitialized 64-bit PCI memory resources. Signed-off-by: H. Peter Anvin Cc: Matthew Wilcox Cc: Jesse Barnes Cc: Martin Mares Cc: stable@kernel.org commit 492b057c426e4aa747484958e18e9da29003985d Merge: 3134851 300df7d Author: Benjamin Herrenschmidt Date: Wed Jun 17 10:24:53 2009 +1000 Merge commit 'origin/master' into next commit 5d77ddfbcb062f2617ea79d7a371b4bc78f28417 Author: Andy Adamson Date: Tue Jun 16 04:19:38 2009 +0300 nfsd41: sanity check client drc maxreqs Ensure the client requested maximum requests are between 1 and NFSD_MAX_SLOTS_PER_SESSION Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 1af0815f9639752409a9c15ba6a3dc0f322fd114 Author: Hidetoshi Seto Date: Mon Jun 15 17:28:38 2009 +0900 x86, mce: rename _64.c files which are no longer 64-bit-specific Rename files that are no longer 64bit specific: mce_amd_64.c => mce_amd.c mce_intel_64.c => mce_intel.c Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 58995d2d58e8e555bc92582abe7554921deea3aa Author: Hidetoshi Seto Date: Mon Jun 15 17:27:47 2009 +0900 x86, mce: mce.h cleanup Reorder definitions. - static inline dummy mcheck_init() for !CONFIG_X86_MCE - gather defs for exception, threshold handler Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1149e7264528723b8c3b075a90386ceb2e07070a Author: Hidetoshi Seto Date: Mon Jun 15 17:27:13 2009 +0900 x86, mce: remove therm_throt.h Now all symbols in the header are static. Remove the header. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8363fc82d36c0886292e33925391dca93f03bd50 Author: Hidetoshi Seto Date: Mon Jun 15 17:26:36 2009 +0900 x86, mce: remove intel_set_thermal_handler() and make intel_thermal_interrupt() static. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 895287c0a6aa571160c47ee10de11b542166c4f9 Author: Hidetoshi Seto Date: Mon Jun 15 17:26:10 2009 +0900 x86, mce: squash mce_intel.c into therm_throt.c move intel_init_thermal() into therm_throt.c Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a65c88dd2c83b569dbd13778da689861bdf977f2 Author: Hidetoshi Seto Date: Mon Jun 15 17:25:27 2009 +0900 x86, mce: unify smp_thermal_interrupt Put common functions into therm_throt.c, modify Makefile. unexpected_thermal_interrupt intel_thermal_interrupt smp_thermal_interrupt intel_set_thermal_handler Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit e8ce2c5ee826b3787202493effcd08d4b1e1e639 Author: Hidetoshi Seto Date: Mon Jun 15 17:24:40 2009 +0900 x86, mce: unify smp_thermal_interrupt, prepare Let them in same shape. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5335612a574a45beab14193ec641ed2f45e7a523 Author: Hidetoshi Seto Date: Mon Jun 15 17:24:09 2009 +0900 x86, mce: unify smp_thermal_interrupt, prepare mce_intel_64 Break smp_thermal_interrupt() into two functions. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3adacb70d32046ccc9f0333b50bb2ba1582ccdf4 Author: Hidetoshi Seto Date: Mon Jun 15 17:23:28 2009 +0900 x86, mce: unify smp_thermal_interrupt, prepare p4 Remove unused argument regs from handlers, and use inc_irq_stat. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit c697836985e18d9c34897428ba563b13044a6dcd Author: Hidetoshi Seto Date: Mon Jun 15 17:22:49 2009 +0900 x86, mce: make mce_disabled boolean The mce_disabled on 32bit is a tristate variable [1,0,-1], while 64bit version is boolean [0,1]. This patch makes mce_disabled always boolean, and use mce_p5_enabled to indicate the third state instead. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9e55e44e39798541ba39d57f4b569deb555ae1ce Author: Hidetoshi Seto Date: Mon Jun 15 17:22:15 2009 +0900 x86, mce: unify mce.h There are 2 headers: arch/x86/include/asm/mce.h arch/x86/kernel/cpu/mcheck/mce.h and in the latter small header: #include This patch move all contents in the latter header into the former, and fix all files using the latter to include the former instead. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9af43b54ab4509f1dac49637d6917d57292e6518 Author: Hidetoshi Seto Date: Mon Jun 15 17:21:36 2009 +0900 x86, mce: sysfs entries for new mce options Add sysfs interface for admins who want to tweak these options without rebooting the system. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1020bcbcc7da36001d9226c5d57e999949cb80c5 Author: Hidetoshi Seto Date: Mon Jun 15 17:20:57 2009 +0900 x86, mce: rename static variables around trigger "trigger" is not straight forward name for valiable that holds name of user mode helper program which triggered by machine check events. This patch renames this valiable and kins to more recognizable names. trigger => mce_helper trigger_argv => mce_helper_argv notify_user => mce_need_notify No functional changes. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4e5b3e690dda890523e93af9c545261f5916a3a6 Author: Hidetoshi Seto Date: Mon Jun 15 17:20:20 2009 +0900 x86, mce: add __read_mostly Add __read_mostly to data written during setup. Suggested-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 7fb06fc9672b947424e05871243a4c8e19ec3bce Author: Hidetoshi Seto Date: Mon Jun 15 18:18:43 2009 +0900 x86, mce: cleanup mce_start() Simplify interface of mce_start(): - no_way_out = mce_start(no_way_out, &order); + order = mce_start(&no_way_out); Now Monarch and Subjects share same exit(return) in usual path. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 33edbf02a92771fa2a81e41084a44ba874e3a5a5 Author: Hidetoshi Seto Date: Mon Jun 15 17:18:45 2009 +0900 x86, mce: don't init timer if !mce_available In mce_cpu_restart, mce_init_timer is called unconditionally. If !mce_available (e.g. mce is disabled), there are no useful work for timer. Stop running it. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 184e1fdfea066ab8f12a1e8912f402d2d6556d11 Author: Huang Ying Date: Mon Jun 15 15:37:07 2009 +0800 x86, mce: fix a race condition about mce_callin and no_way_out If one CPU has no_way_out == 1, all other CPUs should have no_way_out == 1. But despite global_nwo is read after mce_callin, global_nwo is updated after mce_callin too. So it is possible that some CPU read global_nwo before some other CPU update global_nwo, so that no_way_out == 1 for some CPU, while no_way_out == 0 for some other CPU. This patch fixes this race condition via moving mce_callin updating after global_nwo updating, with a smp_wmb in between. A smp_rmb is added between their reading too. Signed-off-by: Huang Ying Acked-by: Andi Kleen Acked-by: Hidetoshi Seto commit 44ad18e0a65e296b2e68a1452509f6222cdce743 Author: Steven Rostedt Date: Tue Jun 16 19:53:07 2009 -0400 tracing: update sample event documentation The comments in the sample code is a bit confusing. This patch cleans them up a little. Signed-off-by: Steven Rostedt commit 9f01efaa49070acfcfa4b976345054cc27b172ed Merge: 9d76295 799ca06 Author: Ben Dooks Date: Tue Jun 16 23:43:43 2009 +0100 [ARM] S3C2440: Merge branch next-mini2440 into next-s3c Merge branch 'next-mini2440' into next-s3c commit 9d76295ac6082449a64fd6fa981d2615a34e243d Author: Andy Green Date: Tue May 19 06:41:42 2009 -0300 [ARM] GTA02/FreeRunner: Add machine definition This patch introduces the Openmoko GTA02 machine definition. Much of the code is based on Harald Welte's work, although it has been largely rewritten several times. This is intended to be the minimum machine definition to boot and be able to run a rootfs from NAND on GTA02 / FreeRunner. It does not bring up the framebuffer / Glamo and lacks many other peripheral drivers from outside the SoC. But once we have this basis in mainline kernel, we will be able to introduce the other drivers and add them here. Thanks to Sven Rebhan for his fixes to this patch (Kconfig and defconfig files). Signed-off-by: Andy Green Signed-off-by: Nelson Castillo [ben-linux@fluff.org: Fix the GPIO definitions] Signed-off-by: Ben Dooks commit b3748ddd80569ec753f62e709629b8c639143222 Author: Mark Brown Date: Mon Jun 15 11:23:20 2009 +0100 [ARM] S3C64XX: Initial support for DVFS This patch provides initial support for CPU frequency scaling on the Samsung S3C ARM processors. Currently only S3C6410 processors are supported, though addition of another data table with supported clock rates should be sufficient to enable support for further CPUs. Use the regulator framework to provide optional support for DVFS in the S3C cpufreq driver. When a software controllable regulator is configured the driver will use it to lower the supply voltage when running at a lower frequency, giving improved power savings. When regulator support is disabled or no regulator can be obtained for VDDARM the driver will fall back to scaling only the frequency. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 8eeee4e2f04fc551f50c9d9847da2d73d7d33728 Author: Oleg Nesterov Date: Wed Jun 17 00:27:10 2009 +0200 send_sigio_to_task: sanitize the usage of fown->signum send_sigio_to_task() reads fown->signum several times, we can race with F_SETSIG which changes ->signum lockless. In theory, this can fool security checks or we can call group_send_sig_info() with the wrong ->si_signo which does not match "int sig". Change the code to cache ->signum. Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit d06a49eec97718949acfdc26110701d28b1872c0 Author: Mark Brown Date: Wed Jun 3 20:08:39 2009 +0100 [ARM] S3C64XX: Add device for IISv4 port Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 52da219e9664e537a745877b0efa7cf2b1ff2996 Author: Mark Brown Date: Wed Jun 3 20:08:38 2009 +0100 [ARM] S3C64XX: Provide device for IIS ports This allows the S3C64XX IIS drivers to be converted to the standard driver model and allows fixes there for problems with attempting to acquire the clocks for the IIS blocks via the clock API. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 9492b272820ac8f32a6ad4fcabd571d8305a6d47 Author: Huang Weiyi Date: Tue Jun 16 16:56:34 2009 +0800 [ARM] S3C24XX: remove duplicated #include Remove duplicated #include in arch/arm/mach-s3c2410/usb-simtec.c. Signed-off-by: Huang Weiyi Signed-off-by: Ben Dooks commit 3f1a567d8a4ed7a5d105bd049343606f5273b603 Author: Ben Dooks Date: Tue Jun 2 09:31:03 2009 +0100 [ARM] VIC: Fix resume sources usage The resume_mask wasn't being checked in vic_set_wake() to see if the IRQ was a valid wakeup source. Signed-off-by: Ben Dooks commit 7d9a73f6dcf4390d256bf19330c81e91523a26d5 Author: Frans Pop Date: Wed Jun 17 00:16:15 2009 +0200 PCI PM: consistently use type bool for wake enable variable Other functions use type bool, so use that for pci_enable_wake as well. Signed-off-by: Frans Pop Signed-off-by: Jesse Barnes commit 11c635a25b9f3a5d87409ce46cf2e05c500251ec Author: Hans de Goede Date: Mon May 25 15:04:22 2009 -0300 V4L/DVB (11870): gspca - main: VIDIOC_ENUM_FRAMESIZES ioctl added. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9fd6418a6a7655b69cfa0ae27a3639a6d0b2924f Author: Figo.zhang Date: Tue Jun 16 13:31:29 2009 -0300 V4L/DVB (12004): poll method lose race condition bttv-driver.c,cx23885-video.c,cx88-video.c: poll method lose race condition for capture video. Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 1c905a4522a3913cf321365c5bb62eb2f70d55d9 Author: Matthias Schwarzott Date: Fri May 22 07:19:14 2009 -0300 V4L/DVB (11894): flexcop-pci: dmesg visible names broken Changeset 1589a993f074124c3edfff03656e910bb472eeaa broke user visible names of flexcop-pci devices, as it did reorder the enum of card types, but did not adjust the array containing the card names. Reorder the names, and uses [FC_AIR_DVBT] = "Air2PC/AirStar 2 DVB-T" assignment style for more clarity. It also adds the revision Number to the name for SkyStar rev. 2.3 and rev 2.6 as I think it is useful to see in log output. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit d95e9883ce28c23cb852d599bf0a0889527c1d09 Author: Uri Shkolnik Date: Tue May 19 12:56:16 2009 -0300 V4L/DVB (11892): Siano: smsendian - declare function as extern Declare the object function as 'extern' Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 34601caa64e11b8fa5e9a03d74cc1df0af32e2ca Author: Uri Shkolnik Date: Tue May 19 12:52:58 2009 -0300 V4L/DVB (11891): Siano: smscore - bind the GPIO SMS protocol Bind SMS protocol commands to the GPIO commands Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 6675167cab92906a7b1d29faa3901716925d3af8 Author: Uri Shkolnik Date: Tue May 19 12:34:09 2009 -0300 V4L/DVB (11890): Siano: smscore - remove redundant code remove redundant code, which in the past handled the various components (now independent modules) registrations. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 4db989f7745778f9f0a4f823bd5932f108dd76ba Author: Uri Shkolnik Date: Tue May 19 12:28:02 2009 -0300 V4L/DVB (11889): Siano: smsdvb - add DVB v3 events Add various DVB-API v3 events, those events will trig target (card) events. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 07f56002c11897d663f6b1e74a564d821d4086a2 Author: Uri Shkolnik Date: Tue May 19 12:24:03 2009 -0300 V4L/DVB (11888): Siano: smsusb - remove redundant ifdef Remove a redundant ifdef Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 5b8db8978379be5e715803f89c03a2733fe8c8e8 Author: Uri Shkolnik Date: Tue May 19 12:18:40 2009 -0300 V4L/DVB (11887): Siano: smscards - add board (target) events Add events handling for targets. All board-specific (target specific) should reside here. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 4887f7b4ef8926fd8eb79a928d5f3c4ea25263b8 Author: Uri Shkolnik Date: Tue May 19 12:10:36 2009 -0300 V4L/DVB (11886): Siano: smscore - fix some new GPIO definitions names Fix some definitions' names, in order to emphasize the names Signed-off-by: Mauro Carvalho Chehab commit 7c4ca79f4969a5c5ffcf31a3ba01453821669ced Author: Uri Shkolnik Date: Tue May 19 11:49:19 2009 -0300 V4L/DVB (11885): Siano: Add new GPIO management interface Add new GPIO management interface to replace old (buggy) one. Keeping old interface intact for now. Signed-off-by: Uri Shkolnik Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit db9582a1e447daffec54a7172f6f824cfaed0a8e Author: Uri Shkolnik Date: Tue May 19 11:15:01 2009 -0300 V4L/DVB (11884): Siano: smssdio - revert to stand alone module Make the SDIO interface driver a stand alone module. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit d0b66180c3b288678853e31ec4330b2b5d01e2db Author: Uri Shkolnik Date: Tue May 19 09:51:41 2009 -0300 V4L/DVB (11883): Siano: cards - add two additional (USB) devices Add two additional USB targets, add these to the 'cards' modules and to the 'smsusb' module. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit bebfa762b171ffcfeeec08f3e677fa9076db6d4c Author: Uri Shkolnik Date: Sun May 17 09:28:55 2009 -0300 V4L/DVB (11824): Siano: smsusb - change exit func debug msg Change the debug message of the USB interface driver exit function. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 05a073769dbc5f4440d40880a26b76bc8e568c78 Author: Uri Shkolnik Date: Sun May 17 09:17:51 2009 -0300 V4L/DVB (11823): Siano: smsusb - fix typo in module description Fix small typo in the module description Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 5d2387e3cae1e70febc1bd805f248d6e13cb254f Author: Uri Shkolnik Date: Sun May 17 06:02:46 2009 -0300 V4L/DVB (11822): Siano: smscore - bug fix at get_device_mode Fix bug that cause error log to echo also if success Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 8cc8ef265015cee192fddad3801f09c9c750821b Author: Uri Shkolnik Date: Sun May 17 06:01:55 2009 -0300 V4L/DVB (11821): Siano: smscore - fix isdb-t firmware name Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 01abc0b07685137765ec36441adf66f7cfcaf654 Author: Uri Shkolnik Date: Sun May 17 06:01:03 2009 -0300 V4L/DVB (11820): Siano: smscore - fix byte ordering bug Fix byte ordering bug. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit a9349315f65cd6a16e8fab1f6cf0fd40f379c4db Author: Uri Shkolnik Date: Sun May 17 05:59:37 2009 -0300 V4L/DVB (11819): Siano: smscore - fix get_common_buffer bug get common buffers() should block operation until valid buffer is avaliable. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 9504ccacd749ad98e1990c35acd94f7fceaa992e Author: Uri Shkolnik Date: Thu May 14 16:34:59 2009 -0300 V4L/DVB (11818): Siano: smscards - assign gpio to HPG targets Assign using the new gpio structures, i/o for exist HPG targets, without removing the old implementation. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 266b95a548c6707eac43ac8caac515348aa44efe Author: Uri Shkolnik Date: Thu May 14 16:33:37 2009 -0300 V4L/DVB (11817): Siano: smscards - fix wrong firmware assignment Remove wrong firmware assignments for Nova, Stellar Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit a804800a29cbbe2881107df0a016b0b98a21cbbf Author: Uri Shkolnik Date: Thu May 14 16:29:35 2009 -0300 V4L/DVB (11816): Siano: USB - move the device id table to the cards module The card modules is the component which handles various targets, so the IDs table should reside within it. [mchehab@redhat.com: add missing smsendian.h include at smscoreapi.c] Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 90f944a38c4eb8432b6381fd0b9789f1f4600786 Author: Uri Shkolnik Date: Thu May 14 16:32:12 2009 -0300 V4L/DVB (11815): Siano: bind infra-red component Add the infra-red to the makefile and declare the assignment in the cards components. [mchehab@redhat.com: Fixed a few trivial merge conflicts] Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 3b2d18efd16d444ffd1ec50547ee6f1d66e3b57b Author: Uri Shkolnik Date: Thu May 14 16:31:23 2009 -0300 V4L/DVB (11814): Siano: smscards - add gpio look-up table Add gpio look-up table for various requirements, any target may select any gpio and assign it to a function Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit c9679e3b0c329fa090798d658e185ee788540353 Author: Uri Shkolnik Date: Thu May 14 16:28:17 2009 -0300 V4L/DVB (11813): Siano: move dvb-api headers' includes to dvb adapter Move the DVB-API v3 headers' include list from the core component to the smsdvb (DVB adapter) which is the only one that uses them. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 843d0605efa58f6e087cae074b22a2fb77506f6a Author: Uri Shkolnik Date: Tue May 12 13:13:13 2009 -0300 V4L/DVB (11783): Siano: smsdvb - small typo fix ad module author Fix type at the module description Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 793786d19a35c59a9379cb75da5b5d6bd052820d Author: Uri Shkolnik Date: Tue May 12 12:28:46 2009 -0300 V4L/DVB (11782): Siano: smsdvb - use 'push' status mechanism This patch replace the old method of pulling the device status by sending "get_statistics" request, to push mode. This make status update much faster, and reduce various operation time (UHF scan now takes 15s instead of 2m). In order to make the change the following modification have been applied: 1) core header - update statistics headers. 2) dvb adapter - omit the statistics request, add handling of status indications. 3) core 'onresponse' - re-route messages addressed to other adapter to the dvb adapter. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit ba79bb2c381f01224786270d0914d46f31667cf0 Author: Uri Shkolnik Date: Tue May 12 11:37:09 2009 -0300 V4L/DVB (11781): Siano: smsdvb - add big endian support Add support for Siano protocol messages with big endian systems. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 2c5582e58ce2982fd64da21907dfad4061fc1f71 Author: Mauro Carvalho Chehab Date: Thu May 14 09:35:26 2009 -0300 V4L/DVB (11780): Siano: fix compilation error due to the lack of EXTERNAL_SYMBOL Cc: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 51819f6493f434598e89e8a66d6aa2c31bde494d Author: Uri Shkolnik Date: Tue May 12 10:38:58 2009 -0300 V4L/DVB (11779): Siano: Makefile - add smsendian to build Add smsendian component to the module build Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 8f12d0a4eb7c55837f0104c95c60933dc9c593db Author: Uri Shkolnik Date: Tue May 12 11:28:41 2009 -0300 V4L/DVB (11778): Siano: smsusb - lost buffers bug fix This patch fixes a problem were protocol buffers have been lost during USB disconnect events. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit c7ce8d37a738b64cafae07db4de021edf1feaa70 Author: Uri Shkolnik Date: Tue May 12 08:24:07 2009 -0300 V4L/DVB (11777): Siano: smsusb - handle byte ordering and big endianity This patch adds support for byte ordering and big endianity handling for the USB interface driver Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 6d4e6972bb9545f968359379aa5adff863aa4d7c Author: Uri Shkolnik Date: Tue May 12 07:57:54 2009 -0300 V4L/DVB (11776): Siano: smsusb - update license This patch updates the license of the USB interface driver Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 2e25d1428ae1a166954fb2cd0de422094a93fef1 Author: Uri Shkolnik Date: Mon Apr 27 09:12:37 2009 -0300 V4L/DVB (11729): Siano: smsdvb - remove redundent complete instruction Remove redundant complete instruction from smsdvb, in the past this was used by the statistics state machine, but no longer. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit e527579373ab3be045de16a627e43a193fcfacc0 Author: Uri Shkolnik Date: Mon Apr 27 09:09:47 2009 -0300 V4L/DVB (11728): Siano: smsdvb - modify license Siano: smsdvb - Fix license to match all other Siano's files Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit f95e82c2e5f0dbb9b6e9c7d03b0311c21b6b05b8 Author: Uri Shkolnik Date: Mon May 11 06:36:27 2009 -0300 V4L/DVB (11727): Siano: core header - update include files Re-order the include files list Re-order the include files list, put the DVB-API v3 within its own section, within a define container. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 1339f9108a84710969903e892dcf1849ae1215cf Author: Uri Shkolnik Date: Mon Apr 27 07:50:42 2009 -0300 V4L/DVB (11726): Modify the file license to match all other Siano's files Modify the file license to match all other Siano's files Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit cb17f9047d2c6f248f2f87f4783ca90db7b3f445 Author: Uri Shkolnik Date: Mon Apr 20 13:00:52 2009 -0300 V4L/DVB (11561): Siano: add messages handling for big-endian target Add code that modify the content of Siano's protocol messages when running with big-endian target. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit ebb6c22e80ccb2889b9c459df36d686d223911f5 Author: Uri Shkolnik Date: Sun Apr 5 06:01:37 2009 -0300 V4L/DVB (11559): Siano: add support for infra-red (IR) controllers This patch add support for IR (infra-red) remote controllers. Further commits are needed in order to enable the activation of the IR components. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 53838e4b6126b225d2705a00614bd1de42e15f1d Author: Uri Shkolnik Date: Sun Apr 5 05:26:50 2009 -0300 V4L/DVB (11556): Siano: core header - indentation Some more indentation for the smscoreapi.h There are no implementation changes in this patch. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 7c57333dcc95b38827a78ef1660c453077bf63f8 Author: Uri Shkolnik Date: Sun Apr 5 05:21:23 2009 -0300 V4L/DVB (11555): Siano: core - move and update the main core structure declaration smscoreapi - move the main core structure declaration to the header, in order to enable other components (such as IR) to use it. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit a6f231a88cb75324ce812a827077943e23d11448 Author: Uri Shkolnik Date: Sun Apr 5 05:12:51 2009 -0300 V4L/DVB (11554): Siano: core header - add definitions and structures Add new definitions (of Siano's protocol messages), and protocol structures (for future commits usage) Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit f762ee1a0d07d1fdbbc3fa13b39d46d74687a23a Author: Uri Shkolnik Date: Mon Apr 20 11:35:06 2009 -0300 V4L/DVB (11552): Siano: SDIO interface driver - remove two redundant lines Remove two redundant lines, based on Klimov Alexey code review. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 7561300a7cea56b61fa28b36d40cdfab22af38bd Author: Miroslav Sustek Date: Mon Apr 6 20:07:04 2009 -0300 V4L/DVB (11441): cx88-dsp: fixing 64bit math cx88-dsp: fixing 64bit math on 32bit kernels Some gcc versions report the missing of __divdi3 [mchehab.redhat.com: CodingStyle fixes] Signed-off-by: Miroslav Sustek Signed-off-by: Mauro Carvalho Chehab commit 2325a6b98609b6559ce5da7528fc0f5a6d0d8e9b Author: Marton Balint Date: Tue Mar 31 19:01:53 2009 -0300 V4L/DVB (11396): cx88: avoid reprogramming every audio register on A2 stereo/mono change This patch changes cx88_set_stereo to avoid resetting all of the audio registers on stereo/mono change if the audio standard is A2, and set only the AUD_CTL register. The benefit of this method is that it eliminates the annoying clicking noise on setting the audio mode to stereo or mono. The driver had used the same method 1.5 years ago (and for FM radio it still does), but a pretty big cleanup commit changed it to the "complete audio reset" method, although the reason for this move was not clear. (If somebody knows why it was necessary, please let me know!) The original commit: http://linuxtv.org/hg/v4l-dvb/rev/ffe313541d7d Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit 083d6f8c81e9a2bd5f71633fb38acda35fb8240c Author: Marton Balint Date: Tue Mar 31 19:01:52 2009 -0300 V4L/DVB (11395): cx88: audio thread: if stereo detection is hw supported don't do it manually The sole purpose of the audio thread is to detect if stereo transmission is available, and if it is, then switch to stereo mode (and switch back, if it's no longer available). This manual autodetection is useful for some audio standards (e.g. A2) where cx88_get_stereo CAN detect stereo sound, but the cx2388x chip CANNOT auto-detect stereo sound. However, for other audio standards, the cx2388x chip CAN auto-detect the stereo sound, so the manual autodetection in the audio thread is not needed. In fact, it can cause serious problems because for some of these audio standards, cx88_get_stereo CANNOT detect the presence of stereo sound. Besides that, if the hardware automatically detects stereo/mono sound, you cannot set core->audiomode_current to the real current audio mode on channel change. With this patch, the manual autodetection is only used if audiomode_current is known after a channel change (because of the initial mono mode), and hardware-based stereo autodetecion is not applicable for the current audio standard. Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit e878cf3a47a5d99635edc564423a9a4469c17810 Author: Marton Balint Date: Tue Mar 31 19:01:51 2009 -0300 V4L/DVB (11394): cx88: Add support for stereo and sap detection for A2 The patch implements reliable stereo and sap detection for the A2 sound standard. This is achieved by processing the samples of the audio RDS fifo of the cx2388x chip. A2M, EIAJ and BTSC stereo/sap detection is also possible with this new approach, but it's not implemented yet. Stereo detection when alsa handles the sound also does not work yet. Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit 319afbf97f209e3a907981f76e382c02ea3ecff3 Author: Uri Shkolnik Date: Fri Mar 27 14:16:57 2009 -0300 V4L/DVB (11240): siano: add high level SDIO interface driver for SMS based cards This patch provides SDIO interface driver for SMS (Siano Mobile Silicon) based devices. The patch includes SMS high level SDIO driver and requires patching the kernel SDIO stack, those stack patches had been provided previously. I would like to thank Pierre Ossman, MMC maintainer, who wrote this driver. Signed-off-by: Pierre Ossman Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit ecfe0cfa3cae9a8402df12d81b159d851b61cf29 Author: Uri Shkolnik Date: Thu Mar 12 10:10:40 2009 -0300 V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV receivers sdio: add cards id for sms (Siano Mobile Silicon) MDTV receivers Add SDIO vendor ID, and multiple device IDs for various SMS-based MDTV SDIO adapters. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 511da457340d3b30336f7a6731bad9bbe3ffaf08 Author: Michael Krufky Date: Thu May 28 13:50:36 2009 -0300 V4L/DVB (11877): lgdt3305: fix 64bit division in function lgdt3305_set_if Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a5beb7b32364a236e833631c3ee5c910cbbfa5bb Author: Devin Heitmueller Date: Wed May 20 23:58:16 2009 -0300 V4L/DVB (11875): dvb_frontend: fix case where fepriv->exit not reset The fact that we now explicitly set fepriv->exit = 1 when the thread is shutting down exposed an edge case where it was not being reset back to zero once the thread went away in some cases. This resulted in failures in cases where the frontend was closed, and then opened O_RDONLY, since in that case the thread is not being restarted but it was checking the fepriv->exit flag. Thanks to Thierry Lelegard, who and encountered and debugged a large portion of the issue in the same twelve hours that I did (as well as testing my patch). Cc: Thierry Lelegard Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 9c9c68a8c06623b1f1b68652b1a3bf6d8ef415df Author: Uri Shkolnik Date: Thu May 14 16:27:16 2009 -0300 V4L/DVB (11812): Siano: smsusb - add big endian support Add support for big endien target hosts, which use USB interface. Signed-off-by: Uri Shkolnik Signed-off-by: Mauro Carvalho Chehab commit 57594a586f3353286d64c30f397494a834cac238 Author: Devin Heitmueller Date: Mon May 4 21:43:02 2009 -0300 V4L/DVB (11785): dvb_frontend: fix race condition resulting in dropped tuning commands A race condition was detected in the case that putting the tuner to sleep takes an unusually long period of time, combined with applications that quickly close/open the dvb frontend. The kaffeine channel scanner closes and reopens the dvb frontend between each tuning attempt. If it takes an unusually longer period of time to put the tuner to sleep (for example, the Pinnacle 801e takes 660 ms), the dvb_frontend thread will still be in a running state (and hence fepriv->thread is still set) but the fepriv->exit field will still be zero. As a result, if a dvb_frontend_start() call arrives while the frontend thread is in the process of terminating, the call will return 0 without actually starting a new thread. This results in the tuning request being dropped. To address this, mark fepriv->exit as soon as we know the thread is going to be terminated, so that dvb_frontend_start() knows to start a new instance. Problem encountered with Kaffeine 0.8.7 doing ATSC scanning against the Pinnacle 801e tuner, in conjunction with new code to power down the xc5000 when not in use. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 06f837cadbcdedb45f0702cb57c99c404ae921e6 Author: Devin Heitmueller Date: Tue Apr 28 14:35:27 2009 -0300 V4L/DVB (11784): cx88: Fix race condition between cx8800 startup and hald A power management fix to properly put the xc5000 into low power mode revealed a race condition where hald could detect the creation of the device file and connect to the device while the initial device configuration is still in progress. Lock the core structure so that video_release cannot be called and put the tuner to sleep in the middle of the initial call to cx88_set_tvnorm() in cx8800_initdev() Thanks to Michael Krufky for discovering the issue and providing an environment to test in. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b02064caebd9b1d73dd29ebb6e75f487c5f0dbc5 Author: Dean Anderson Date: Thu Apr 30 12:29:38 2009 -0300 V4L/DVB (11738): patch: s2255drv: urb completion routine fixes Error count in read pipe completion corrected. URB not resubmitted if shutting down. URB not freed in completion routine if new urb_submit_fails. (URB is freed on shutdown). Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 1fcbcc47d3ebd962f5486697cb85fd216e01cf89 Author: Robert Krakora Date: Fri Jun 12 13:51:03 2009 -0300 V4L/DVB (12002): uvc: Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible() Fix for no return value check of uvc_ctrl_set() which calls mutex_lock_interruptible(). Signed-off-by: Robert Krakora Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6762d953a36833c8b94090781c791c67cb546080 Author: David Wong Date: Thu Jun 11 09:39:04 2009 -0300 V4L/DVB (12001): lgs8gxx: update signal strength scale lgs8gxx: update signal strength scale Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit ba7d457dd352fdc598d9dae733f8d53ace34c9da Author: David Wong Date: Thu Jun 11 09:38:54 2009 -0300 V4L/DVB (12000): lgs8gxx: lgs8913 fake signal strength option default on lgs8gxx: lgs8913 fake signal strength option default on. Original calculation is too slow. Signed-off-by: David T.L. Wong gmail.com> Signed-off-by: Mauro Carvalho Chehab commit 1e7439388a5aa6decf76ac1d73d5312fe713e6af Author: Jan Nikitenko Date: Tue Jun 9 19:31:55 2009 -0300 V4L/DVB (11999): af9015: fix stack corruption bug This patch fixes stack corruption bug present in af9015_eeprom_dump(): the buffer buf is one byte smaller than required - there is 4 chars for address prefix, 16*3 chars for dump of 16 eeprom bytes per line and 1 byte for zero ending the string required, i.e. 53 bytes, but only 52 are provided. The one byte missing in stack based buffer buf causes following oops on MIPS little endian platform, because i2c_adap pointer in af9015_af9013_frontend_attach() is corrupted by inlined function af9015_eeprom_dump(): CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 803a4488, ra == c049a1c8 Oops[#1]: Cpu 0 $ 0 : 00000000 10003c00 00000000 803a4468 $ 4 : 8f17c600 8f067b30 00000002 00000038 $ 8 : 00000001 8faf3e98 11da000d 09010002 $12 : 00000000 00000000 00000000 0000000a $16 : 8f17c600 8f067b68 8faf3c00 8f067c04 $20 : 8f067b9c 00000100 8f067bf0 80104100 $24 : 00000000 2aba9fb0 $28 : 8f066000 8f067af0 802cbc48 c049a1c8 Hi : 00000000 Lo : 00000000 epc : 803a4488 i2c_transfer+0x20/0x104 Not tainted ra : c049a1c8 af9013_read_reg+0x78/0xc4 [af9013] Status: 10003c03 KERNEL EXL IE Cause : 00808008 BadVA : 00000000 PrId : 03030200 (Au1550) Modules linked in: af9013 dvb_usb_af9015(+) dvb_usb dvb_core firmware_class i2c_au1550 au1550_spi Process modprobe (pid: 2757, threadinfo=8f066000, task=8fade098, tls=2aad6470) Stack : c049f5e0 80163090 805ba880 00000100 8f067bf0 0000d733 8f067b68 8faf3c00 8f067c04 c049a1c8 80163bc0 8056a630 8f067b40 80163224 80569fc8 8f0033d7 00000038 80140003 8f067b2c 00010038 c0420001 8f067b28 c049f5e0 00000004 00000004 c049a524 c049d5a8 c049d5a8 00000000 803a6700 00000000 8f17c600 c042a7a4 8f17c600 c042a7a4 c049c924 00000000 00000000 00000002 613a6c00 ... Call Trace: [<803a4488>] i2c_transfer+0x20/0x104 [] af9013_read_reg+0x78/0xc4 [af9013] [] af9013_read_reg_bits+0x2c/0x70 [af9013] [] af9013_attach+0x98/0x65c [af9013] [] af9015_af9013_frontend_attach+0x214/0x67c [dvb_usb_af9015] [] dvb_usb_adapter_frontend_init+0x20/0x12c [dvb_usb] [] dvb_usb_device_init+0x374/0x6b0 [dvb_usb] [] af9015_usb_probe+0x4fc/0xfcc [dvb_usb_af9015] [<80381024>] usb_probe_interface+0xbc/0x218 [<803227fc>] driver_probe_device+0x12c/0x30c [<80322a80>] __driver_attach+0xa4/0xac [<80321ed0>] bus_for_each_dev+0x60/0xd0 [<8032162c>] bus_add_driver+0x1e8/0x2a8 [<80322cdc>] driver_register+0x7c/0x17c [<80380d30>] usb_register_driver+0xa0/0x12c [] af9015_usb_module_init+0x30/0x6c [dvb_usb_af9015] [<8010d2a4>] __kprobes_text_end+0x3c/0x1f4 [<80167150>] sys_init_module+0xb8/0x1cc [<80102370>] stack_done+0x20/0x3c Code: afb10018 7000003f 00808021 <8c430000> 7000003f 1060002d 00c09021 8f830014 3c02efff Signed-off-by: Jan Nikitenko Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit aae40fd21906f051ce1ee5f623b8d70a2f32b7fc Author: Alan Cox Date: Tue Jun 9 10:02:11 2009 -0300 V4L/DVB (11998): se401: Fix coding style Having fixed the sprintfs I decided a quick clean wouldn't do any harm so it was actually easy to read in future. Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit 226a040e6a95fbedff0c82a10fea4dd42320e79f Author: Alexey Klimov Date: Tue Jun 9 07:59:40 2009 -0300 V4L/DVB (11997): gspca - stv06xx: remove needless if check and goto Patch removes needless if check and goto. Signed-off-by: Alexey Klimov Reviewed-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 27049dc30152ad0401082f32c33859821b4be029 Author: Barry Kitson Date: Sun Jun 7 10:41:03 2009 -0300 V4L/DVB (11996): saa7134: add support for AVerMedia M103 (f736) Add 1461:f736 to the list of identifiers corresponding to the SAA7134_BOARD_AVERMEDIA_M103 board. This patch adds support for a variant of the AVerMedia M103 MiniPCI DVB-T Hybrid card. Signed-off-by: Barry Kitson Signed-off-by: Mauro Carvalho Chehab commit de99d76aa19994f0d1140b1397fc439525e147c0 Author: Figo.zhang Date: Sat Jun 6 06:16:21 2009 -0300 V4L/DVB (11995): zr364xx.c: vfree does its own NULL check vfree() does it's own NULL checking, no need for explicit check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 52a85e17091d2fe9ade6a5d94063e70c5d2a9d5b Author: Lennart Poettering Date: Thu Jun 4 16:18:13 2009 -0300 V4L/DVB (11993): V4L/pwc - use usb_interface as parent, not usb_device The current code creates a sysfs device path where the video4linux device is child of the usb device itself instead of the interface it belongs to. That is evil and confuses udev. This patch does basically the same thing as Kay's similar patch for the ov511 driver: at git commit ce96d0a44a4f8d1bb3dc12b5e98cb688c1bc730d Signed-off-by: Lennart Poettering Acked-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit e36bc31f823d6089bedc935fea82b6d36793412a Author: Jean Delvare Date: Thu Jun 4 11:07:16 2009 -0300 V4L/DVB (11992): Add missing __devexit_p() Add missing __devexit_p() to several drivers. Also add a few missing __init, __devinit and __exit markers. These errors could result in build failures depending on the kernel configuration. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 96ceea2734d922d07000e98606231f3d675e09f8 Author: Figo.zhang Date: Tue Jun 2 23:01:04 2009 -0300 V4L/DVB (11991): buf-core.c: add pointer check add poiter check for videobuf_queue_core_init(). any guys who write a v4l driver, pass a NULL pointer or a non-inintial pointer to the first parameter such as videobuf_queue_sg_init() , it would be crashed. Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit d5709a0e3dfe22e24d871ef1e0eec9ae04055997 Author: figo.zhang Date: Thu May 7 23:31:02 2009 -0300 V4L/DVB (11990): saa7134-video.c: fix the block bug when re-open or re-start (video_streamon), the q->curr would not be NULL in saa7134_buffer_queue(), and all the qbuf will add to q->queue list,no one to do activate to start DMA,and then no interrupt would happened,so it will be block. In VIDEOBUF_NEEDS_INIT state, initialize the curr pointer to be NULL in the buffer_prepare(). Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 040d4cbfb3df7db8cb661a64d0d65f7e753f43d3 Author: Frank Dischner Date: Sun Jun 14 23:05:20 2009 -0300 V4L/DVB (11987): au8522: add support for QAM-64 modulation type Add support for QAM64 modulation type to the au8522 demod driver. Signed-off-by: Frank Dischner Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 24dff657e725fe63b3514b7ee57e4ac51210d3fc Author: Mauro Carvalho Chehab Date: Tue Jun 16 00:46:40 2009 -0300 V4L/DVB (11986): Kconfig: DVBWorld DVB-C USB Cable card needs tda1002x frontend Auto-selects tda1002x if !DVB_FE_CUSTOMISE Cc: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 519a4bdcf8221c6b2d129b3c720761b7cab7f2c1 Author: Igor M. Liplianin Date: Sun Jun 14 21:34:12 2009 -0300 V4L/DVB (11984): Add support for yet another SDMC DM1105 based DVB-S card. Add support for SDMC DM1105 based DVB-S cards with PCI ID 195d:1105 Also create separate workqueue for demuxing. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1dac77c9d82f344b21c1d962d79875ec331f83cc Author: Igor M. Liplianin Date: Sun Jun 14 20:51:45 2009 -0300 V4L/DVB (11983): Add support for DVBWorld DVB-C USB Cable card. DVBWorld DVB-C USB Cable card contains TUA6034 tuner, TDA10023 demod and Cypress FX-2 controller. http://www.worlddvb.com/product/htm/usbc.htm Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit b42e1d71f52995f0a25f2b593fdb166326db3fd4 Author: Igor M. Liplianin Date: Sun Jun 14 19:41:22 2009 -0300 V4L/DVB (11982): Add keymaps for TeVii and TBS USB DVB-S/S2 cards Add keymaps for TeVii and TBS USB DVB-S/S2 cards Also module parameter named keymap inserted for override default keymap. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 8a8dad71485cbfc21ddc0e93f4ae4338b68b82b1 Author: Igor M. Liplianin Date: Sat Jun 13 08:10:24 2009 -0300 V4L/DVB (11981): Remote control debugging for dw2102 driver based USB cards Remote control debugging for dw2102 driver based USB cards It includes DVBWorld, TeVii, Terratec and others. Type 'modprobe dvb-usb-dw2102 debug=4', then look at dmesg output. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 1cdc6392b74246be333e2c88b61beedbf9991422 Author: Devin Heitmueller Date: Tue Jun 9 23:40:39 2009 -0300 V4L/DVB (11979): em28xx: don't create audio device if not supported In cases where the device does not actually provide a USB audio class *or* vendor audio, do not load the driver that provides vendor audio support (such as the KWorld 2800d). Otherwise, the /dev/audio1 device file gets created and users get confused. Also, reworks the logic a bit so that we don't try to inspect the register content if the register read failed entirely. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d7de5d8ff74efd01916b01af875a0e87419a3599 Author: Franklin Meng Date: Sat Jun 6 17:05:02 2009 -0300 V4L/DVB (11977): em28xx: Add Kworld 315 entry Added an entry for Kworld 315 (for while, dvb only) Signed-off-by: Franklin Meng Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ae3340cbf59ea362c2016eea762456cc0969fd9e Author: Franklin Meng Date: Sat Jun 6 16:34:01 2009 -0300 V4L/DVB (11976): em28xx: set up tda9887_conf in em28xx_card_setup() Added tda9887_conf set up into em28xx_card_setup() Signed-off-by: Franklin Meng Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c874f3aa7e66158dccb2b9f3cfc46c65af6c223d Author: Jean-Francois Moine Date: Fri Jun 12 03:20:46 2009 -0300 V4L/DVB (11973): gspca - ov534: Do the ov772x work again. The scan of the image packets of the sensor ov772x was broken when the sensor ov965x was added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a0001a289f667e254eba51f2f729ec677daba503 Author: Hans de Goede Date: Wed Jun 10 04:52:18 2009 -0300 V4L/DVB (11972): gspca - main: Skip disabled controls. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3d48f7d09aadccf570a871ce0d5eec34092b38c1 Author: Jean-Francois Moine Date: Sun Jun 7 13:51:54 2009 -0300 V4L/DVB (11971): gspca - doc: Add the 05a9:a518 webcam to the Documentation. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 49809d6a511960e5ccfb85b780894f45ac119065 Author: Hans de Goede Date: Sun Jun 7 12:10:39 2009 -0300 V4L/DVB (11970): gspca - ov519: Add support for the ov518 bridge. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 253f13d5cd05204aa3174ffb53490f2b0fad055c Author: Jean-Francois Moine Date: Fri May 29 04:46:12 2009 -0300 V4L/DVB (11969): gspca - spca505: Reinitialize the webcam at resume time. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit df59f0b3df3cc35fa03ea395f5106d1625e3726a Author: Hans Verkuil Date: Fri Jun 12 03:38:15 2009 -0300 V4L/DVB (11967): v4l: i2c modules must be linked before the v4l2 drivers Since i2c autoprobing is no longer supported by v4l2 we need to make sure that the i2c modules are linked before the v4l2 modules. The v4l2 modules now rely on the presence of the i2c modules, so these must have initialized themselves before the v4l2 modules. The exception is the ir-kbd-i2c module, which is the only one still using autoprobing. This one should be loaded at the end of the v4l2 module. Loading it earlier actually causes problems with tveeprom. Once ir-kbd-i2c is no longer autoprobing, then it has to move up as well. This is only an issue when everything is compiled into the kernel. Thanks to Marcus Swoboda for reporting this and Udo Steinberg for testing this patch. Tested-by: Udo A. Steinberg Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 163fe744c3283fd267268629afff4cfc846ed0e0 Author: Mauro Carvalho Chehab Date: Mon Jun 15 10:04:00 2009 -0300 V4L/DVB (11966): ov511: Fix unit_video parameter behavior Fix a regression caused by changeset 9133:64aed7485a43 - v4l: disconnect kernel number from minor Before the above changeset, ov511_probe used to allow forcing to use a certain specific set of video devices, like: modprobe ov511 unit_video=4,1,3 num_uv=3 So, assuming that you have 5 ov511 devices, and connect they one by one, they'll gain the following device numbers (at the connection order): /dev/video4 /dev/video1 /dev/video3 /dev/video0 /dev/video2 However, this was changed due to this change at video_register_device(): + nr = find_next_zero_bit(video_nums[type], minor_cnt, nr == -1 ? 0 : nr); With the previous behavior, a trial to register on an already allocated mirror would fail, and a loop would get the next requested minor. However, the current behavior is to get the next available minor instead of failing. Due to that, this means that the above modprobe parameter will give, instead: /dev/video5 /dev/video6 /dev/video7 /dev/video8 /dev/video9 In order to restore the original behavior, a static var were added, storing the amount of already registered devices. While there, it also fixes the locking of the probe/disconnect functions. Signed-off-by: Mauro Carvalho Chehab commit eccd15aad72f774b2059f708bc422dbb8493bb30 Author: Trent Piepho Date: Thu Jun 11 05:33:00 2009 -0300 V4L/DVB (11964): b2c2: Fix problems with frontend attachment The frontend attachment code didn't handle cases where the frontend partially failed to attach. For instance, when the demod was attached successfully but the tuner driver wasn't compiled or fails to init for some reason. In these cases we try to clean up the partial attachment and fail instead of proceeding with a broken frontend. If frontend registration fails, clean up with dvb_frontend_detach() rather than just calling the frontend's main release method. The former does some additional stuff, like release an attached tuner and take care of putting symbols when dynamic binding is used. In skystar2_rev23_attach() it's not necessary to set fc->dev_type, that gets set before skystar2_rev23_attach() is called. Signed-off-by: Trent Piepho Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f6a061bb0f143ff40070e6fd3d38fde5bd60027c Author: Jan Ceuleers Date: Thu Jun 11 16:20:23 2009 -0300 V4L/DVB (11962): dvb: Fix broken link in get_dvb_firmware for nxt2004 (A180) Due to a reorganisation of AVermedia's websites, get_dvb_firmware no longer works for nxt2004. Fix it. Signed-off-by: Jan Ceuleers Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 76b08116458c4dbc1e1c40f78bc087fc4f3c8969 Author: Roel Kluin Date: Thu Jun 11 11:28:17 2009 -0300 V4L/DVB (11961): tvp514x: try_count off by one With `while (try_count-- > 0)' try_count reaches -1 after the loop. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bcd3e4b3190f0cc4e0702785220f0269f8537175 Author: Lennart Poettering Date: Thu Jun 11 11:19:33 2009 -0300 V4L/DVB (11960): v4l: generate KEY_CAMERA instead of BTN_0 key events on input devices A bunch of V4L drivers generate BTN_0 instead of KEY_CAMERA key presses. X11 is able to handle KEY_CAMERA automatically these days while BTN_0 is not treated at all. Thus it would be of big benefit if the camera drivers would consistently generate KEY_CAMERA. Some drivers (uvc) already do, this patch updates the remaining drivers to do the same. I only possess a limited set of webcams, so this isn't tested with all cameras. The patch is rather trivial and compile tested, so I'd say it's still good enough to get merged. Signed-off-by: Lennart Poettering Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6f4d72392d76b8f78f646805ba2be995b3f77992 Author: Alan Cox Date: Thu Jun 11 11:04:11 2009 -0300 V4L/DVB (11959): se401: Fix unsafe use of sprintf with identical source/destination Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13435 Signed-off-by: Alan Cox Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5e2c217eee18a4627a32c49f57f47dbac67dcf23 Author: Figo.zhang Date: Thu Jun 11 10:33:31 2009 -0300 V4L/DVB (11958): usbvision-core.c: vfree does its own NULL check vfree() does it's own NULL checking,so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f1ca0adfcf2c2f1129a59b93caa80a1dbd6b6c81 Author: Alexey Klimov Date: Thu Jun 11 00:22:42 2009 -0300 V4L/DVB (11957): dsbr100: change radio->muted to radio->status, update suspend/resume Patch renames radio->muted to radio->status, add defines for that variable, and fixes suspend/resume procedure. Radio->status set to STOPPED in usb_dsbr100_probe because of removing open call. Also, patch increases driver version. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 917fab4f3e5563e8f88ca0af297728452c6fa265 Author: Alexey Klimov Date: Thu Jun 11 00:19:49 2009 -0300 V4L/DVB (11956): dsbr100: no need to pass curfreq value to dsbr100_setfreq() Small cleanup of dsbr100_setfreq(). No need to pass radio->curfreq value to this function. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a617e0e8c7a94dc796d9887ffed621564553c5b8 Author: Alexey Klimov Date: Thu Jun 11 00:18:35 2009 -0300 V4L/DVB (11955): dsbr100: remove usb_dsbr100_open/close calls Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6f094eb9a860bcde45984e8ab87965f39ceda427 Author: Alexey Klimov Date: Thu Jun 11 00:17:06 2009 -0300 V4L/DVB (11954): dsbr100: remove radio->users counter Patch removes radio->users counter because it is not in use. Signed-off-by: Alexey Klimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 92051b285b12855255f0213d9a25153d917e262c Author: Figo.zhang Date: Wed Jun 10 23:17:27 2009 -0300 V4L/DVB (11953): videobuf-dma-sg: return -ENOMEM if vmalloc fails it is better return -ENOMEM than -EIO Signed-off-by: Figo.zhang Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8bb09db375fe4f15d16315947500e827caa0fe9c Author: Andy Walls Date: Tue Jun 9 20:47:21 2009 -0300 V4L/DVB (11951): cx18: Add DVB-T support for the Leadtek WinFast DVR3100 H This adds support for DVB-T on the Leadtek DVR3100 H and should also get analog TV capture from the tuner working properly as well. DVB-T 6 MHz and 8 MHz have been tested and verified to work by Terry Wu of Leadtek. DVB-T 7 MHz has also been verified working with a change developed by Terry to the tuner-xc2028.c driver. Special thanks go to Terry Wu of Leadtek who provided the needed information and testing to get digital TV working for the Leadtek DVR3100 H. Reported-by: Terry Wu Tested-by: Terry Wu Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9d5af8629255ef6e62481ee7dea8c6787facc579 Author: Andy Walls Date: Tue Jun 9 20:37:24 2009 -0300 V4L/DVB (11950): cx18: Split LeadTek PVR2100 and DVR3100 H into 2 separate card entries Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3b27740c7de0fd59032c723ad326926c97383e95 Author: Laurent Pinchart Date: Tue Jun 9 13:07:44 2009 -0300 V4L/DVB (11948): uvcvideo: Ignore non-UVC trailing interface descriptors. Herton Ronaldo Krzesinski from Mandriva reported that one Bison Electronics webcam exposes a non-UVC interface descriptor. Instead of failing completely, ignore trailing non-UVC descriptors and move on. Thanks to Herton for reporting the problem and submitting a patch proposal. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit ca4a3456858775081f172e89077aa65cf5dbc52a Author: Laurent Pinchart Date: Tue Jun 9 12:46:43 2009 -0300 V4L/DVB (11947): uvcvideo: Add support for FSC V30S webcams The FSC WebCam V30S (18ec:3288) requires the MINMAX quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 2d2bf2a3a6c84f0b316764e521d5dcee557e9c65 Author: Laurent Pinchart Date: Tue Jun 9 12:40:59 2009 -0300 V4L/DVB (11946): uvcvideo: Add support for Aveo Technology webcams The Aveo Technology USB 2.0 Camera (1871:0306) requires the PROBE_EXTRAFIELDS quirk. Add a corresponding entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 23ff6043add670713bbf2f6ee5d520459cfdfae9 Author: Laurent Pinchart Date: Thu Jun 4 09:26:39 2009 -0300 V4L/DVB (11945): uvcvideo: Don't accept to change the format when buffers are allocated. Setting a new frame format or size will likely change the buffer size required to store a complete video frame. To avoid a buffer overflow, don't allow VIDIOC_S_FMT calls when video buffers are already allocated. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d732c44c1a4b54e3c59ad92069bc2fd848aca5f3 Author: Laurent Pinchart Date: Sun May 31 17:05:55 2009 -0300 V4L/DVB (11944): uvcvideo: Add generic control blacklist. Another device (5986:0241) has been reported to advertise a UVC control it does not support. Rework the control blacklist to match devices by their VID:PID instead of trying to be clever about which controls might not be supported properly. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 926b3b4122e4ebca52e67eecf9beb9a517e593f4 Author: Erik Andrén Date: Thu Jun 11 17:20:23 2009 -0300 V4L/DVB (11942): gspca - m5602-ov9650: Reorder quirk list and add A7V quirk The quirk list has grown and was in need of sorting. This is now done. Add a new vflip quirk for the ASUS A7V while we're at it. Thanks to Carsten Menzel for reporting. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 40a4f2fc6525f621f6f855e1d5506c3b14acf3cc Author: Erik Andrén Date: Mon Jun 1 16:22:18 2009 -0300 V4L/DVB (11941): gspca - m5602-ov9650: Add vflip quirk for the ASUS A6VA Add vflip quirk for the ASUS A6VA. Thanks to Salvo Di Rosa for reporting. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit f02c3944c1331f0b41c5d75b6d5d69d8858b169f Author: Erik Andrén Date: Wed May 6 17:44:45 2009 -0300 V4L/DVB (11940): gspca - m5602-s5k4aa: Add vflip quirk for the Lenovo Y300 The Lenovo Y300 has its sensor upside down. Quirk it to gain normal functionality. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6b6b75432caf87b8b7834ad8eb9acd75e383e20f Author: Dmitri Belimov Date: Thu May 28 01:58:57 2009 -0300 V4L/DVB (11938): big rework of TS for saa7134 1. Add start/stop TS function. 2. Move setup DMA of TS to DMA function. 3. Write support cupture via MMAP 4. Rework startup and finish process, remove simple FSM. Tested-by: Hermann Pitton Tested-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Alexey Osipov Signed-off-by: Mauro Carvalho Chehab commit 028bbfedcc00225d4a1d700e75658d773523005d Author: FUJITA Tomonori Date: Wed May 27 22:10:43 2009 -0300 V4L/DVB (11937): vino: replace dma_sync_single with dma_sync_single_for_cpu This replaces dma_sync_single() with dma_sync_single_for_cpu() because dma_sync_single() is an obsolete API; include/linux/dma-mapping.h says: /* Backwards compat, remove in 2.7.x */ Signed-off-by: FUJITA Tomonori Signed-off-by: Mauro Carvalho Chehab commit ef5b5168e58021f87af53283002795ce5a787c2b Author: Randy Dunlap Date: Wed Jun 10 11:58:22 2009 -0300 V4L/DVB (11936): Fix v4l2-device usage of i2c_unregister_device() Fix v4l2-device usage of i2c_unregister_device() and handle the case of CONFIG_I2C=m & CONFIG_MEDIA_VIDEO=y. Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 436ae1381e68b5067da0cab78ffdfa948fb863b8 Author: Dmitri Belimov Date: Sun May 24 22:22:41 2009 -0300 V4L/DVB (11934): Change order for FM tune Change order data of buffer in FM simple_tune function. It is usefull for: 1. Set data of tuner with CP bit UP. 0xCE for MK5 or 0xC6 for MK3 2. When call simple_fm_tune, read this byte from config and overwrite this byte in function simple_radio_bandswitch for set CP bit to OFF. Of course it can be usefull for other tuner for overwrite default settings of FM. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 5ddc9b100fc96e8f3c6d435cecd9d09e5b9673f9 Author: Andy Walls Date: Sun Jun 7 21:39:03 2009 -0300 V4L/DVB (11933): tuner-simple, tveeprom: Add Philips FQ1216LME MK3 analog tuner Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7360055aa31f5f732af4d0ed23517f1b6adfa573 Author: Andy Walls Date: Fri May 22 21:12:00 2009 -0300 V4L/DVB (11932): ivtv: Add missing newline Reported-by: Martin Dauskardt Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3cd5270c411538329ccc135189c68d2b4544c49a Author: Andy Walls Date: Fri May 22 21:07:46 2009 -0300 V4L/DVB (11931): lnbp21: Add missing newline Reported-by: VDR User Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0d834635a35a98d0dced54da7695ccab4464854d Author: Abylay Ospan Date: Sat Jun 6 09:31:34 2009 -0300 V4L/DVB (11930): TS continuity check: show error message when discontinuity detected or TEI flag detected in header Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit d6a9a430a63adac71f2d23d4eb8f4eb467fc82c2 Author: Devin Heitmueller Date: Wed May 27 23:46:17 2009 -0300 V4L/DVB (11928): au0828: provide module option to disable USB speed check Add an au0828 module option that allows a user to override the USB speed check. Intended for advanced users who understand the consequences of trying to use the device with a 12Mbps bus. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e2a1b79f7dc54a6f1cc8821e0c7fd68ba7568d81 Author: Devin Heitmueller Date: Wed May 27 23:44:10 2009 -0300 V4L/DVB (11927): em28xx: provide module option to disable USB speed check Add an em28xx module option that allows a user to override the USB speed check. Intended for advanced users who understand the consequences of trying to use the device with a 12Mbps bus. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0f9fba3129541822b1d75330406e62e838bf4fc1 Author: Devin Heitmueller Date: Wed May 27 23:28:46 2009 -0300 V4L/DVB (11926): tuner-core: fix warning introduced when cleaning up xc5000 init routine This patch removes some remaining dead code. Warning showed up in Hans Verkuil's daily report after I committed hg changeset 7f2eea75118b. Thanks to Michael Krufky for bringing the warning to my attention. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3ed58baf5db4eab553803916a990a3dbca4dc611 Author: Devin Heitmueller Date: Wed May 27 23:27:26 2009 -0300 V4L/DVB (11925): em28xx: Add support for the K-World 2800d Make the KWorld 2800d work properly. In this case, that means making the profile more generic so that it works for both the Pointnix Intra-Oral USB camera and the KWorld device. The device provides the audio through a pass-thru cable, so we don't need an actual audio capture profile (neither the K-World device nor the Pointnix have an onboard audio decoder). Thanks to Paul Thomas for providing sample hardware. Cc: Paul Thomas Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ee3436b82886c0cb295354fb7ebbeadf3ff22105 Author: Devin Heitmueller Date: Wed May 27 23:25:36 2009 -0300 V4L/DVB (11924): au0828: Don't let device work unless connected to a high speed USB port The au0828 basically just doesn't work at 12 Mbps. The isoc pipe needs nearly 200 Mbps for analog support, so users would see garbage video, and on the DVB/ATSC side scanning is likely to work but if the user tried to tune it would certainly appear to have failed. It's better to fail explicity up front and tell the user to plug into a USB 2.0 port, than to let the driver load and the user have weird problems with tuning and garbage video. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 64a00b43e63c916f1bf4f6b7f519db0e198ba9d4 Author: Devin Heitmueller Date: Wed May 27 23:23:37 2009 -0300 V4L/DVB (11923): em28xx: Don't let device work unless connected to a high speed USB port The em28xx basically just doesn't work at 12 Mbps. The isoc pipe needs nearly 200 Mbps for analog support, so users would see garbage video, and on the DVB/ATSC side scanning is likely to work but if the user tried to tune it would certainly appear to have failed. It's better to fail explicity up front and tell the user to plug into a USB 2.0 port, than to let the driver load and the user have weird problems with tuning and garbage video. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e2860d9621caec0b38d47df917a0ac00a083ffeb Author: Mauro Carvalho Chehab Date: Sat Jun 6 08:15:08 2009 -0300 V4L/DVB (11922): tuner-xc2028: cleanup: better use tuner type defines Signed-off-by: Mauro Carvalho Chehab commit 0a863975e288667fd65737f65f9d4cd5d9817ba9 Author: Mauro Carvalho Chehab Date: Mon Jun 1 12:18:10 2009 -0300 V4L/DVB (11918): tuner-xc2028: Fix offset frequencies for DVB @ 6MHz Both ATSC and DVB @ 6MHz bandwidth require the same offset. While we're fixing it, let's cleanup the bandwidth setup to better reflect the fact that it is a function of the bandwidth. Thanks to Terry Wu for pointing this issue and to Andy Walls for an initial patch for this fix. Cc: Terry Wu Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a1014d70db862c8e9de9207c3a0397e644ad9d4a Author: Mauro Carvalho Chehab Date: Mon Jun 1 11:46:08 2009 -0300 V4L/DVB (11917): Fix firmware load for DVB-T @ 6MHz bandwidth for xc3028/xc3028L The only two countries that are known to use 6MHz bandwidth are Taiwan and Uruguay. Both use QAM subcarriers at OFTM. This patch fixes the firmware load for such countries, where the required firmware is the QAM one. This also confirms the previous tests where it was noticed that the 6MHz QAM firmware doesn't work for cable. So, this patch also removes support for DVB-C, instead of just printing a warning. Thanks to Terry Wu for pointing this issue and to Andy Walls for an initial patch for this fix. Cc: Terry Wu Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 22d4645311689cd20967813775e492c786f2d3c6 Author: Antti Palosaari Date: Sun May 31 17:07:01 2009 -0300 V4L/DVB (11915): af9015: support for Genius TVGo DVB-T03 Add USB ID (0458:4012) for Genius TVGo DVB-T03. Thanks to Petr Vodicka for reporting and testing. Tested-by: Petr Vodicka Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit f9cde5ffed17bf74f6bef042d99edb0622f58576 Author: Gary Hade Date: Wed May 27 12:41:44 2009 -0700 x86/ACPI: Correct maximum allowed _CRS returned resources and warn if exceeded Issue a warning if _CRS returns too many resource descriptors to be accommodated by the fixed size resource array instances. If there is no transparent bridge on the root bus "too many" is the PCI_BUS_NUM_RESOURCES size of the resource array. Otherwise, the last 3 slots of the resource array must be excluded making the maximum (PCI_BUS_NUM_RESOURCES - 3). The current code: - is silent when _CRS returns too many resource descriptors and - incorrectly allows use of the last 3 slots of the resource array for a root bus with a transparent bridge Signed-off-by: Gary Hade Signed-off-by: Jesse Barnes commit cc8da5263fa743c33d6503f85113bcb70048e633 Author: Dave Airlie Date: Wed Jun 17 07:41:23 2009 +1000 drm/radeon: switch to using late_initcall This fixes an issue where we get inited before fbcon when built-in. Ideally this should work as a non late_initcall, but this fixes it for now. We also don't suggest people build this in (at least distro maintainers). Reported-by: Ryan Hope Signed-off-by: Dave Airlie commit 4eaad8ad296a78689f148c8dcd383fc4e51ee123 Author: Linus Walleij Date: Mon Jun 15 00:30:18 2009 +0200 i2c-stu300: Make driver depend on MACH_U300 This makes the stu300 driver for the ST Micro ST DDC I2C bus driver depend on MACH_U300, new platforms reusing this I2C driver will need to add in a similar dependency. Signed-off-by: Linus Walleij [ben-linux@fluff.org: re-aranged subject line] Signed-off-by: Ben Dooks commit 933a2aec8d08cda11c4b427ea7930b0e92eb9bc8 Author: Ben Dooks Date: Sun Jun 14 14:04:20 2009 +0100 i2c-s3c2410: use resource_size() Change the usage of res->end-res->start to resource_size(), missed by the last patch to change this. Signed-off-by: Ben Dooks commit c6ffddea36dd576b70dfbd10eb5d2b287b786dca Author: Linus Walleij Date: Sun Jun 14 00:20:36 2009 +0200 i2c: Use resource_size macro This replace all instances in the i2c busses tree of res->end - res->start + 1 with the handy macro resource_size(res) from ioport.h (coming in from platform_device.h). This was created with a simple sed -i -e 's/\([a-z]*\)->end *- *[a-z]*->start *+ *1/resource_size(\1)/g' Then manually replacing the PXA redefiniton of the same kind of macro manually. Recompiled some ARM defconfigs I could find to make a rough test so it shouldn't break anything, though I couldn't see exactly which configs you need for all the drivers. Signed-off-by: Linus Walleij Signed-off-by: Ben Dooks commit 18904c0ecdf2cf22347da2adc4b273e9570333d8 Author: Linus Walleij Date: Sat Jun 13 21:51:34 2009 +0200 i2c: ST DDC I2C U300 bus driver v3 This adds support for the ST Microelectronics DDC I2C bus driver. This bus is used in the U300 architecture recently added to RMK:s ARM tree. Signed-off-by: Linus Walleij Reviewed-by: Ben Dooks Reviewed-by: Jean Delvare Signed-off-by: Ben Dooks commit 6df263cf2ee1c6dd9709488ecd3c7b3447511ecf Author: Mike Frysinger Date: Sun Jun 14 01:55:37 2009 -0400 i2c-bfin-twi: pull in io.h for ioremap() Rather than relying on some of the headers implicitly pulling in io.h, pull it in explicitly our self for ioremap() and friends. Signed-off-by: Mike Frysinger Signed-off-by: Ben Dooks commit ab7de999a2c771482698efa6fe7c7b7fcb1d482a Author: Kenji Kaneshige Date: Tue Jun 16 16:25:40 2009 +0900 PCI: remove invalid comment of msi_mask_irq() Remove invalid comment of msi_mask_irq(). Reviewed-by: Matthew Wilcox Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d2abdf62882d982c58e7a6b09ecdcfcc28075e2e Author: Rafael J. Wysocki Date: Sun Jun 14 21:25:02 2009 +0200 PCI PM: Fix handling of devices without PM support by pci_target_state() If a PCI device is not power-manageable either by the platform, or with the help of the native PCI PM interface, pci_target_state() will return either PCI_D3hot, or PCI_POWER_ERROR for it, depending on whether or not the device is configured to wake up the system. Alas, none of these return values is correct, because each of them causes pci_prepare_to_sleep() to return error code, although it should complete successfully in such a case. Fix this problem by making pci_target_state() always return PCI_D0 for devices that cannot be power managed. Cc: stable@kernel.org Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit c12ff1df5f114484e3d8abd028769a624cc3399f Author: Yu Zhao Date: Sat Jun 13 15:52:15 2009 +0800 PCI: support Secondary Bus Reset PCI-to-PCI Bridge 1.2 specifies that the Secondary Bus Reset bit can force the assertion of RST# on the secondary interface, which can be used to reset all devices including subordinates under this bus. This can be used to reset a function if this function is the only device under this bus. Reviewed-by: Kenji Kaneshige Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit f85876ba82281f15bc4da11e41b94243a8b2b5b4 Author: Yu Zhao Date: Sat Jun 13 15:52:14 2009 +0800 PCI: support PM D0hot->D3 transition reset PCI PM 1.2 specifies that the device will perform an internal reset upon transitioning from D3hot to D0 when the NO_SOFT_RESET bit is clear. This method can be used to reset a function if neither PCIe FLR nor PCI AF FLR are supported. Reviewed-by: Kenji Kaneshige Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit 8c1c699fec9e9021bf6ff0285dee086bb27aec90 Author: Yu Zhao Date: Sat Jun 13 15:52:13 2009 +0800 PCI: cleanup Function Level Reset This patch enhances the FLR functions: 1) remove disable_irq() so the shared IRQ won't be disabled. 2) replace the 1s wait with 100, 200 and 400ms wait intervals for the Pending Transaction. 3) replace mdelay() with msleep(). 4) add might_sleep(). 5) lock the device to prevent PM suspend from accessing the CSRs during the reset. 6) coding style fixes. Reviewed-by: Kenji Kaneshige Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit c465def6bfe834b62623caa9b98f2d4f4739875a Author: Huang Ying Date: Mon Jun 15 10:42:57 2009 +0800 PCI AER: software error injection Debugging PCIE AER code can be very difficult because it is hard to trigger various real hardware errors. This patch provide a software based error injection tool, which can fake various PCIE errors with a user space helper tool named "aer-inject". Which can be gotten from: http://www.kernel.org/pub/linux/kernel/people/yhuang/ The patch fakes AER error by faking some PCIE AER related registers and an AER interrupt for specified the PCIE device. Signed-off-by: Huang Ying Signed-off-by: Jesse Barnes commit 3d5505c56db5c8d1eeca45c325b19e95115afdea Author: Zhang, Yanmin Date: Tue Jun 16 13:35:16 2009 +0800 PCI AER: multiple error support When a root port receives the same errors more than once before the kernel process them, the Multiple Error Messages Received flags are set by hardware. Because the root port could only save one kind of correctable error source id and another uncorrectable error source id at the same time, the second message sender id is lost if the 2 messages are sent from 2 different devices. This patch makes the kernel search all devices under the root port when multiple messages are received. Reviewed-by: Andrew Patterson Signed-off-by: Zhang Yanmin Signed-off-by: Jesse Barnes commit 28eb27cf0839a30948335f9b2edda739f48b7a2e Author: Zhang, Yanmin Date: Tue Jun 16 13:35:11 2009 +0800 PCI AER: support invalid error source IDs When the bus id part of error source id is equal to 0 or nosourceid=1, make the kernel probe the AER status registers of all devices under the root port to find the initial error reporter. Reviewed-by: Andrew Patterson Signed-off-by: Zhang Yanmin Signed-off-by: Jesse Barnes commit 70298c6e6c1ba68346336b4ea54bd5c0abbf73c8 Author: Zhang, Yanmin Date: Tue Jun 16 13:34:38 2009 +0800 PCI AER: support Multiple Error Received and no error source id Based on PCI Express AER specs, a root port might receive multiple TLP errors while it could only save a correctable error source id and an uncorrectable error source id at the same time. In addition, some root port hardware might be unable to provide a correct source id, i.e., the source id, or the bus id part of the source id provided by root port might be equal to 0. The patchset implements the support in kernel by searching the device tree under the root port. Patch 1 changes parameter cb of function pci_walk_bus to return a value. When cb return non-zero, pci_walk_bus stops more searching on the device tree. Reviewed-by: Andrew Patterson Signed-off-by: Zhang Yanmin Signed-off-by: Jesse Barnes commit a6c0d5c6ebb3d988b1f18a1612b5188f3f555637 Author: Kenji Kaneshige Date: Tue Jun 16 11:02:02 2009 +0900 PCI hotplug: remove redundant .owner initializations The "owner" field in struct hotplug_slot_ops is initialized by PCI hotplug core. So each hotplug controller driver doesn't need to initialize it. Signed-off-by: Kenji Kaneshige Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit c825bc94c8c1908750ab20413eb639c6be029e2d Author: Kenji Kaneshige Date: Tue Jun 16 11:01:25 2009 +0900 PCI hotplug: create symlink to hotplug driver module Create symbolic link to hotplug driver module in the PCI slot directory (/sys/bus/pci/slots/). In the past, we need to load hotplug drivers one by one to identify the hotplug driver that handles the slot, and it was very inconvenient especially for trouble shooting. With this change, we can easily identify the hotplug driver. Signed-off-by: Taku Izumi Signed-off-by: Kenji Kaneshige Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit 498a8faf2c7eb974f70b7c5a60a31f0d48c35d44 Author: Kenji Kaneshige Date: Tue Jun 16 11:00:47 2009 +0900 PCI hotplug: fix return value of has_foo() functions Current has_foo() functions in pci_hotplug_core.c returns 0 if the "foo" property is true. It would cause misunderstanding. In addition, the error code of those functions is never checked, so this patch changes those functions' error code to 'bool' and return true if the property "foo" is true. Signed-off-by: Kenji Kaneshige Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit bd3d99c17039fd05a29587db3f4a180c48da115a Author: Kenji Kaneshige Date: Tue Jun 2 13:52:26 2009 +0900 PCI: Remove untested Electromechanical Interlock (EMI) support in pciehp. The EMI support in pciehp is obviously broken. It is implemented using struct hotplug_slot_attribute, but sysfs_ops for pci_slot_ktype is NOT for struct hotplug_slot_attribute, but for struct pci_slot_attribute. This bug had been there for a long time, maybe it was introduced when PCI slot framework was introduced. The reason why this bug didn't cause any problem is maybe the EMI support is not tested at all because of lack of test environment. As described above, the EMI support in pciehp seems not to be tested at all. So this patch removes EMI support from pciehp, instead of fixing the bug. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 1298307736a5882352418b4dc7c65442ab3b8bd4 Author: Andreas Herrmann Date: Sun Jun 7 16:15:16 2009 +0200 x86/PCI: add description for check_enable_amd_mmconf boot parameter Describe check_enable_amd_mmconf. Signed-off-by: Andreas Herrmann Signed-off-by: Jesse Barnes commit f83b1e616f2f68b56b09b2f5116591981fee0c1c Merge: 2f38d70 1e626fd Author: Linus Torvalds Date: Tue Jun 16 14:29:46 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: core: use more outbound tlabels firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met firewire: core: prepare for non-core children of card devices firewire: core: include linux/uaccess.h instead of asm/uaccess.h firewire: add parent-of-unit accessor firewire: rename source files firewire: reorganize header files firewire: clean up includes firewire: ohci: access bus_seconds atomically firewire: also use vendor ID in root directory for driver matches firewire: share device ID table type with ieee1394 firewire: core: add sysfs attribute for easier udev rules firewire: core: check for missing struct update at build time, not run time firewire: core: improve check for local node commit bfe5a7401785f864a4f30b4f066bfa045a28b9f6 Author: Huang Ying Date: Fri Apr 24 10:45:31 2009 +0800 PCI: PCIE AER: Document for PCIE AER software error injection This patch adds a minimal HOWTO for PCIE AER software error injection in Documentation/PCI/pcieaer-howto.txt. Signed-off-by: Huang Ying Signed-off-by: Jesse Barnes commit 634deb028c9188b4144863ea87dde5457fb93e92 Author: Huang Ying Date: Fri Apr 24 10:45:23 2009 +0800 PCI: PCIE AER: export aer_irq This is used by PCIE AER error injection to fake an PCI AER interrupt. Signed-off-by: Huang Ying Signed-off-by: Jesse Barnes commit a72b46c3849cdb05993015991bde548ab8b6d7ac Author: Huang Ying Date: Fri Apr 24 10:45:17 2009 +0800 PCI: Add pci_bus_set_ops pci_bus_set_ops changes pci_ops associated with a pci_bus. This can be used by debug tools such as PCIE AER error injection to fake some PCI configuration registers. Acked-by: Kenji Kaneshige Signed-off-by: Huang Ying Signed-off-by: Jesse Barnes commit 1eb3948716f68bdb71509d0175765295f1aca23d Author: Kenji Kaneshige Date: Tue May 26 16:08:36 2009 +0900 PCI: use pci_is_root_bus() in pci_common_swizzle() Use pci_is_root_bus() in pci_common_swizzle() for checking if the pci bus is root, for code consistency. Reviewed-by: Alex Chiang Reviewed-by: Grant Grundler Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8784fd4d497171882319e4b513f5a5949fc8ab43 Author: Kenji Kaneshige Date: Tue May 26 16:07:33 2009 +0900 PCI: use pci_is_root_bus() in pci_get_interrupt_pin() Use pci_is_root_bus() in pci_get_interrupt_pin() for checking if the pci bus is root, for code consistency. Reviewed-by: Alex Chiang Reviewed-by: Grant Grundler Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 9fc39256508c18d2861de11622183dfb6e79de87 Author: Kenji Kaneshige Date: Tue May 26 16:06:48 2009 +0900 PCI: use pci_is_root_bus() in pci_read_bridge_bases() Use pci_is_root_bus() in pci_read_bridge_bases() to check if the pci bus is root, for code consistency. Reviewed-by: Alex Chiang Reviewed-by: Grant Grundler Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6e3f36df0ffa433e273c89f1447c94382a9db49e Author: Kenji Kaneshige Date: Tue May 26 16:06:10 2009 +0900 PCI: use pci_is_root_bus() in pci_find_upstream_pcie_bridge() Use pci_is_root_bus() in pci_find_upstream_pcie_bridge() to check if the pci bus is root, for code consistency. Reviewed-by: Alex Chiang Reviewed-by: Grant Grundler Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit a222b8f83b995e9c6fe2aff2a8125facb49f658e Author: Kenji Kaneshige Date: Tue May 26 16:05:33 2009 +0900 PCI: use pci_is_root_bus() in acpi_find_root_bridge_handle() Use pci_is_root_bus() in acpi_find_root_bridge_handle() to check if the pci bus is root, for code consistency. Reviewed-by: Alex Chiang Reviewed-by: Grant Grundler Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 84845c070ce3ac4d3bd2c148fa20ba8ce5409167 Author: Kenji Kaneshige Date: Tue May 26 16:05:06 2009 +0900 PCI: use pci_is_root_bus() in acpi_pci_get_bridge_handle() Use pci_is_root_bus() in acpi_pci_get_bridge_handle() to check if the pci bus is root, for code consistency. Reviewed-by: Grant Grundler Reviewed-by: Alex Chiang Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 74c57428971d28863ec1804b1dd453930bbe1306 Author: Michal Miroslaw Date: Tue May 12 13:49:25 2009 -0700 PCI quirk: HP hides SMBus controller in Compaq nx9500 laptops I found no references to SMBus in ACPI DSDT disassembly on my laptop so this should be safe. Signed-off-by: Michal Miroslaw Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 26c56dc0c4fbdf3af12ebc48278f09ef65ddb4dd Author: Michal Miroslaw Date: Tue May 12 13:49:26 2009 -0700 PCI quirk: unhide 'Overflow' device on i828{6,7}5P/PE chipsets Some BIOSes hide 'overflow' device (dev #6) for i82875P/PE chipsets. The same happens for i82865P/PE. Add a quirk to enable this device. This allows i82875 EDAC driver to bind to chipset's dev #6 and not dev #0 as the latter is used by AGP driver. On my laptop (i82865P based) ACPI code is disabling this device again in \_SB.PCI0._CRS method (called at least at PNP init time). This can be easily worked around by patching DSDT. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Michal Miroslaw Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 9ad4c6551b8540054f51b483ce513ccb87f8181b Author: Andy Walls Date: Fri May 29 20:54:02 2009 -0300 V4L/DVB (11898): cx18: Perform 64 bit divide so it works for 32 bit systems Thanks to David Ward and Mike Krufky for reporting the problem and debugging this as an unresolved symbol due to a 64 bit divide on a 32 bit system. David Ward provided the content of this patch; Andy Walls only performed some cosmetic edits. Reported-by: David Ward Signed-off-by: David Ward Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 75c74d1c78ec3b713a986e0efc645ed558384cdf Author: Robert Krakora Date: Thu May 28 11:16:19 2009 -0300 V4L/DVB (11896): em28xx: Fix for Slow Memory Leak Test Code: (Provided by Douglas) v4l-dvb/v4l2-apps/test/stress-buffer.c The audio DMA area was never being freed and would slowly leak over time as the v4l device was opened and closed by an application. Thanks again to Douglas for generating the test code to help locate memory leaks!!! Signed-off-by: Robert Krakora Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f41b6961566b2cd038ad91568882f8fc1feac160 Author: Filipe Rosset Date: Thu May 28 11:11:53 2009 -0300 V4L/DVB (11895): bt8xx: remove always false if Remove always false if over unsigned int variable Signed-off-by: Filipe Rosset Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ab482a6c18523b7aa75eb146dad4db77a86572fa Author: Randy Dunlap Date: Mon May 18 22:00:34 2009 -0300 V4L/DVB (11881): one kconfig controls them all Add a kconfig symbol that allows someone to disable all multimedia config options at one time. Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 493b7127aa56d0a5c041797639bf543d96f6261b Author: David Wong Date: Mon May 18 05:25:49 2009 -0300 V4L/DVB (11880): cx23885: support for card Mygica X8506 DMB-TH This patch add cx23885 support for card "Mygica X8506 DMB-TH". It should work on "Magic-Pro ProHDTV Extreme" as well, as they are same hardware with different branding. Sign-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit 3047a17639d499691c657772667f2c1e65edabfb Author: Miroslav Sustek Date: Sun May 31 16:47:28 2009 -0300 V4L/DVB (11879): Adds support for Leadtek WinFast DTV-1800H Enables analog/digital tv, radio and remote control (gpio). Tested-by: Marcin Wojcikowski Tested-by: Karel Juhanak Tested-by: Andrew Goff Tested-by: Jan Novak Signed-off-by: Miroslav Sustek Signed-off-by: Mauro Carvalho Chehab commit 9035f2e27a99a7ea702973ab4fd47c0dd94a8c6e Author: Hans de Goede Date: Mon May 25 15:26:59 2009 -0300 V4L/DVB (11872): gspca - spca561: Rename the 'White Balance' control to 'Hue'. Binary files /home/v4l/tokernel/oldtree/Documentation/video4linux/v4lgrab.o and /home/v4l/tokernel/linux/Documentation/video4linux/v4lgrab.o differ Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d0848eb2864c0f1ef52d586cd33c68a103b0a2ac Author: Hans de Goede Date: Mon May 25 15:20:16 2009 -0300 V4L/DVB (11871): gspca - spca561: Change the Rev12a controls. - Extend the gain range - Adjust the exposure - Remove the broken autogain Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 191d0e7fba43d79a73605adcf85441ebe0a2aff7 Author: Jean-Francois Moine Date: Fri May 22 04:16:42 2009 -0300 V4L/DVB (11869): gspca - ov534: JPEG 320x240 and 640x480 formats for ov965x. The YUYV 640x480 format did not work with ov965x. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7880f6613814e737de829911b204d7bc1f2ccb49 Author: Jean-Francois Moine Date: Wed May 13 14:25:29 2009 -0300 V4L/DVB (11868): gspca - spca508: Optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1af63b3d1dfd38175c145f1435bab865ebdd8951 Author: Jean-Francois Moine Date: Wed May 13 14:21:46 2009 -0300 V4L/DVB (11867): gspca - spca508: Cleanup source and update copyright. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 86bc85b38602411a9582b829fdd0ee02cf582985 Author: Andy Walls Date: Sat May 16 22:43:43 2009 -0300 V4L/DVB (11865): cx18: Tweak color burst gate delay and initial color sub-carrier freq Fix the burst gate delays to use a crystal value of 28636360 as assumed by the rest of the driver. Also have the initial color sub-carrier freq paramter use the src decimation ratio per the documentation, instead of the actual crystal/pixel clock ratio. The tracking circuit will find the correct color subcarrier in any case, as long as we're close. Also fix up some debug print statements. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 929a3ad1525895c394cbe97a6b74792da9a865a6 Author: Andy Walls Date: Sat May 16 21:06:57 2009 -0300 V4L/DVB (11864): cx18: Complete support for Sliced and Raw VBI for 625 line systems Finish changes for sliced and raw VBI for 625 line systems. Tested with VPS and WSS being emitted by a PVR-350 in field 1 lines 16 and 23. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5ab740522fbee3a2ef83554b9a9c92692c8c0f74 Author: Andy Walls Date: Sun May 10 22:14:29 2009 -0300 V4L/DVB (11863): cx18: Initial attempt to get sliced VBI working for 625 line systems Initial changes to get sliced VBI for 625 line system working. This is patch is untested. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1bc7f51c57c52cfac1a455d8f8ef99703e719e55 Author: Michael Krufky Date: Mon Jan 19 01:10:49 2009 -0300 V4L/DVB (11861): saa7134: enable digital tv support for Hauppauge WinTV-HVR1110r3 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b9dcdb6fb870ce83578465b3ffd047185bead67f Author: Michael Krufky Date: Wed May 20 16:06:10 2009 -0300 V4L/DVB (11860): saa7134: fix quirk in saa7134_i2c_xfer for the saa7131 bridge The i2c quirk in the saa7134_i2c_xfer function does a bogus write to i2c address 0xfd, to work around a bug in the silicon that affects read transactions. Unfortunately, this hack is not working properly, since the bogus write is to 0xfd, an invalid i2c address. Fix this quirk by using an actual valid i2c address, 0xfe, which is still unlikely to be used as an i2c address for any actual i2c client. This is required in order to properly communicate with a TDA10048 DVB-T demod located at i2c address 0x10 on the primary i2c bus. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c27586e4d647c5c07c81e766d34ceef6ba5a316d Author: Michael Krufky Date: Sat May 16 11:00:23 2009 -0300 V4L/DVB (11858): cx23885: fix tda10048 IF frequencies for the Hauppauge WinTV-HVR1210 Steve missed the HVR1210 config struct for the TDA10048 in his IF freq patch. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a884c63cae986cadb6d604f3599a5cf54444f7d2 Author: Steven Toth Date: Sat May 16 14:43:51 2009 -0300 V4L/DVB (11857): TDA10048: Missing two I/F's / Pll combinations from the PLL table This was causing a lock failure in Australia. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 08b83583dcc09260784b398783ac47e13d351fdc Author: Steven Toth Date: Fri May 15 21:04:56 2009 -0300 V4L/DVB (11856): pvrusb2: Ensure we specify I/F's for all bandwidths pvrusb2: Ensure we specify I/F's for all bandwidths Signed-off-by: Steven Toth Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8816bef53cfaf21fcce47fe5fd403d2e39ba6d2d Author: Steven Toth Date: Fri May 15 21:04:18 2009 -0300 V4L/DVB (11855): cx23885: Ensure we specify I/F's for all bandwidths cx23885: Ensure we specify I/F's for all bandwidths Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9e08199770f28b92e5a85052e8c16cde94f9a2c9 Author: Steven Toth Date: Fri May 15 21:01:57 2009 -0300 V4L/DVB (11854): TDA10048: Ensure the I/F changes during DVB-T 6/7/8 bandwidth changes. TDA10048: Ensure the I/F changes during DVB-T 6/7/8 bandwidth changes. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6ecdf92d211fb37a905fce5d0a8668c831764abc Author: figo.zhang Date: Sun May 17 23:31:55 2009 -0300 V4L/DVB (11853): minor have assigned value twice The variable minor have assigned value twice, the first time is in the initial "video_device" data struct in those drivers, pls see saa7134-video.c,line 2503. --- Signed-off-by: Figo.zhang Signed-off-by: Mauro Carvalho Chehab commit 4a567394dce57e8a2329f0a1123b951b0f070d39 Author: figo.zhang Date: Sun May 17 23:13:13 2009 -0300 V4L/DVB (11852): saa7134-video.c: poll method lose race condition saa7134-video.c: poll method lose race condition Signed-off-by: Figo Zhang Signed-off-by: Mauro Carvalho Chehab commit 7d8535329c4e620c155895a33e1bcc47239858b8 Author: Dean Anderson Date: Fri May 15 14:32:04 2009 -0300 V4L/DVB (11851): patch: s2255drv: adding V4L2_MODE_HIGHQUALITY Adding V4L2_MODE_HIGHQUALITY feature. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 849a3aba2d9830dc2a78a66078023e7e5ac26e15 Author: Filipe Rosset Date: Tue May 19 10:12:17 2009 -0300 V4L/DVB (11838): uvcvideo: Add Lenovo Thinkpad SL400 to device list comments Update the 17ef:480b device comment to list Lenovo Thinkpad SL400. Signed-off-by: Filipe Rosset Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 7e1111859204ea76ddb8bb682d8b4097cada4385 Author: Jean Delvare Date: Wed May 13 16:56:20 2009 -0300 V4L/DVB (11850): pvrusb2: Instantiate ir_video I2C device by default Now that the ir-kbd-i2c driver has been converted to a new-style i2c driver, we can instantiate the ir_video I2C device by default. The pvr2_disable_ir_video is kept to disable the IR receiver, either because the user doesn't use it, or for debugging purpose. Signed-off-by: Jean Delvare Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 20b0ead5fd82fcf4824ea0b9c082d9dcfae59b02 Author: Jean Delvare Date: Wed May 13 16:55:13 2009 -0300 V4L/DVB (11849): ivtv: Probe more I2C addresses for IR devices Probe I2C addresses 0x71 and 0x6b for IR receiver devices (for the PVR150 and Adaptec cards, respectively.) Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit d9a88e632b2c527165434c404a0a1ca16d2d3793 Author: Jean Delvare Date: Wed May 13 16:52:44 2009 -0300 V4L/DVB (11848): saa7134: Simplify handling of IR on AVerMedia Cardbus E506R Now that we instantiate I2C IR devices explicitly, we can skip probing altogether on boards where the I2C IR device address is known. The AVerMedia Cardbus E506R is one of these boards. Tested-by: Oldrich Jedlicka Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit ec218a412bcc126d49dec002d06b24a10d0ab6cd Author: Jean Delvare Date: Wed May 13 16:51:46 2009 -0300 V4L/DVB (11847): saa7134: Simplify handling of IR on MSI TV@nywhere Plus Now that we instantiate I2C IR devices explicitly, we can skip probing altogether on boards where the I2C IR device address is known. The MSI TV@nywhere Plus is one of these boards. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 9a4cc5ac991d3b697db4f9e5015a758621a95009 Author: Jean Delvare Date: Wed May 13 16:50:11 2009 -0300 V4L/DVB (11846): ir-kbd-i2c: Don't assume all IR receivers are supported The code in ir_probe makes the dangerous assumption that all IR receivers are supported by the driver. The new i2c model makes it possible for bridge drivers to instantiate IR devices before they are supported, therefore the ir-kbd-i2c drivers must be made more robust to not spam the logs or even crash on unsupported IR devices. Simply, the driver will not bind to the unsupported devices. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 4d7a2d6721a6380d4ffc26d81d2c8232fd0d2dfc Author: Jean Delvare Date: Wed May 13 16:49:32 2009 -0300 V4L/DVB (11845): ir-kbd-i2c: Use initialization data For specific boards, pass initialization data to ir-kbd-i2c instead of modifying the settings after the device is initialized. This is more efficient and easier to read. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit c668f32dca105d876e51862a003a302fa61e4ae4 Author: Jean Delvare Date: Wed May 13 16:48:50 2009 -0300 V4L/DVB (11844): ir-kbd-i2c: Switch to the new-style device binding model Let card drivers probe for IR receiver devices and instantiate them if found. Ultimately it would be better if we could stop probing completely, but I suspect this won't be possible for all card types. There's certainly room for cleanups. For example, some drivers are sharing I2C adapter IDs, so they also had to share the list of I2C addresses being probed for an IR receiver. Now that each driver explicitly says which addresses should be probed, maybe some addresses can be dropped from some drivers. Also, the special cases in saa7134-i2c should probably be handled on a per-board basis. This would be more efficient and less risky than always probing extra addresses on all boards. I'll give it a try later. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 1df8e9861cf9fac5737ccb61c7f7fefa77711d40 Author: Jean Delvare Date: Wed May 13 16:48:07 2009 -0300 V4L/DVB (11843): ir-kbd-i2c: Don't use i2c_client.name for our own needs In the standard device driver binding model, the name field of struct i2c_client is used to match devices to their drivers, so we must stop using it for internal purposes. Define a separate field in struct IR_i2c as a replacement, and use it. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 24c44d85114098a013dd5fed084fb27ad803f000 Author: Alessio Igor Bogani Date: Tue May 12 17:39:27 2009 -0300 V4L/DVB (11842): radio-mr800.c: missing mutex include radio-mr800.c uses struct mutex, so while seems to be pulled in indirectly by one of the headers it already includes, the right thing is to include it directly. Signed-off-by: Alessio Igor Bogani Signed-off-by: Andrew Morton Acked-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit eda9f7523b6760bdfc3b9c5001214467b5ecd618 Author: Simon Arlott Date: Tue May 12 17:39:28 2009 -0300 V4L/DVB (11841): core: fix potential mutex_unlock without mutex_lock in dvb_dvr_read dvb_dvr_read may unlock the dmxdev mutex and return -ENODEV, except this function is a file op and will never be called with the mutex held. There's existing mutex_lock and mutex_unlock around the actual read but it's commented out. These should probably be uncommented but the read blocks and this could block another non-blocking reader on the mutex instead. This change comments out the extra mutex_unlock. [akpm@linux-foundation.org: cleanups, simplification] Signed-off-by: Simon Arlott Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 1010ed132727bbf486ac28fd149ccfb0ef5cd2ab Author: Cohen David.A Date: Mon May 11 11:00:20 2009 -0300 V4L/DVB (11840): change kmalloc to vmalloc for sglist allocation in videobuf_dma_map/unmap Change kmalloc()/kfree() to vmalloc()/vfree() for sglist allocation during videobuf_dma_map() and videobuf_dma_unmap() High resolution sensors might require too many contiguous pages to be allocated for sglist by kmalloc() during videobuf_dma_map() (i.e. 256Kib for 8MP sensor). In such situations, kmalloc() could face some problem to find the required free memory. vmalloc() is a safer solution instead, as the allocated memory does not need to be contiguous. Signed-off-by: David Cohen Signed-off-by: Mauro Carvalho Chehab commit 04a37e0f32f9882430bc1899899d2ed91b8aaf5b Author: Laurent Pinchart Date: Tue May 19 10:08:03 2009 -0300 V4L/DVB (11837): uvcvideo: Start status polling on device open Most UVC camera include an interrupt endpoint to report control value changes, video streaming errors and camera button events. The USB controller continuously polls the interrupt endpoint to retrieve such events. This prevents the device from being auto-suspended, and thus consumes power. Reporting video streaming errors don't make sense when the V4L2 device is closed. Control value changes are probably useless as well if nobody listens to the events, although caching will probably have to be completely disabled then. No polling is thus be required when /dev/videoX is not opened. To enable auto-suspend and save power do not poll the interrupt endpoint until the device is open. We lose the ability to detect button events if no application is using the camera. http://bugzilla.kernel.org/show_bug.cgi?id=11948 Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit b2d9cc4226fa512aa36fd78738f5069dfce0583d Author: Laurent Pinchart Date: Wed May 6 12:37:44 2009 -0300 V4L/DVB (11836): uvcvideo: Add missing whitespaces to multi-line format strings. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 078f8947926732a526fb280c0f3a8920bf173b9c Author: Laurent Pinchart Date: Wed May 6 12:30:30 2009 -0300 V4L/DVB (11835): uvcvideo: Parse frame descriptors with non-continuous indexes. The UVC specification requires frame descriptors indexes to range from 1 to the number of frame descriptors. At least some Hercules Dualpix Infinite webcams erroneously use non-continuous index ranges. Make the driver support them. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 86cf5f84e60fe32e3e665fdc69325f8993970189 Author: Alan Nisota Date: Wed May 20 05:52:13 2009 -0300 V4L/DVB (11833): dvb-usb: Remove support for Genpix-CW3K (damages hardware) I have been informed by the manufacturer that the patch currently in the v4l tree to support the Genpix-CW3K version of the hardware will actually damage the firmware on recent units. As he seems to not want this hardware supported in Linux, and I do not know how to detect the difference between affected and not-affected units, I am requesting the immediate removal of support for this device. This patch removes a portion of the changeset dce7e08ed2b1 applied 2007-08-18 relating to this specific device. Adapted patch to not remove code, but to only to comment it out. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 81dae6716f13e801cfe2035514e7aeb971b57492 Author: matthieu castet Date: Wed May 20 05:42:33 2009 -0300 V4L/DVB (11832): dibusb_mc: fix i2c to not corrupt eeprom in case of strange read pattern dibusb_i2c_xfer seems to do things very dangerous : it assumes that it get only write/read request or write request. That means that read can be understood as write. For example a program doing file = open("/dev/i2c-x", O_RDWR); ioctl(file, I2C_SLAVE, 0x50) read(file, data, 10) will corrupt the eeprom as it will be understood as a write. Signed-off-by: Matthieu CASTET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a9b8fe30a6d2a49749327ff18c4daa488ef73ab3 Author: Patrick Boettcher Date: Wed May 20 05:35:02 2009 -0300 V4L/DVB (11831): dib0700: added USB IDs for Terratec T3 and T5 This patch adds the USB IDs for the Terratec devices T3 and T5. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f0f4ae763b3dc04de3745a75c3518925d1b8325e Author: tomas petr Date: Wed May 20 05:28:05 2009 -0300 V4L/DVB (11830): dib0700: add support for Leadtek WinFast DTV Dongle H "Leadtek WinFast DTV Dongle H" is a hybrid digital/analog USB-stick TV receiver. The code below allows the digital part to work with dvb_usb in linux. Signed-off-by: tomas petr Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d66b94b4aa2f40e134f8c07c58ae74ef3d523ee0 Author: Patrick Boettcher Date: Wed May 20 05:08:26 2009 -0300 V4L/DVB (11829): Rewrote frontend-attach mechanism to gain noise-less deactivation of submodules This patch is reorganizing the frontend-attach mechanism in order to gain noise-less (superflous prints) deactivation of submodules. Credits go to Uwe Bugla for helping to clean and test the code. Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 302e8acc4137821cd30514da3d91ac109b461c7d Author: Matthias Schwarzott Date: Wed May 20 04:57:10 2009 -0300 V4L/DVB (11828): Reducing print-level of I2C error prints Reducing the print-levle of I2C error prints cleans some unwanted but unavoidable errors from default syslog-level. Signed-off-by: Matthias Schwarzott Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 766ed64de554fda08ceb927d36279eabcb08acb3 Author: Mauro Carvalho Chehab Date: Sun May 24 00:46:01 2009 -0300 V4L/DVB (11827): Add support for Terratec Grabster AV350 Signed-off-by: Mauro Carvalho Chehab commit 4557af9c5338605c85fe54f5ebba3d4b14a60ab8 Author: Mauro Carvalho Chehab Date: Sat May 23 09:58:52 2009 -0300 V4L/DVB (11825): em28xx: add Terratec Grabby Signed-off-by: Mauro Carvalho Chehab commit d18e2fda7133287bf8a81809816e646cf17c332e Author: Devin Heitmueller Date: Sat May 16 17:09:28 2009 -0300 V4L/DVB (11810): em28xx: properly set packet size based on the device's eeprom configuration. The em28xx actually has a register that tells the driver what the maximum packet size is (based on a value programmed into the eeprom). Make use of that register instead of assuming a hardcoded value of 564 (since 564 is not correct for devices that do QAM such as the KWorld 340u). Note that for now the em2874 code isn't there, falling back to the 564 value, however this is not a problem since there are not any em2874 based devices in the current v4l-dvb tree). Thanks to Jarod Wilson for detecting the initial problem and figuring out that the isoc configuration was wrong for his device. Cc: Jarod Wilson Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 027aa2c771d9fb8dc6aae95c80b50e40e3c97dc5 Author: Devin Heitmueller Date: Thu May 14 23:38:51 2009 -0300 V4L/DVB (11808): au0828: get rid of debug printk that was causing compile failures Remove a debug printk() line I added which is no longer needed, and happened to be causing compile failures on some earlier kernels in Han's daily compile report. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b8d91986e60e5e15a5283935a99ef86650744a46 Author: Devin Heitmueller Date: Thu May 14 21:50:36 2009 -0300 V4L/DVB (11807): cx88: remove xc5000 reset for Pinnacle 800i According to the engineer at PCTV Systems, the xc5000 reset pin is supposed to be on GPIO12. However, despite three nights of effort, pulling that GPIO low didn't reset the xc5000. While pulling MO_SRST_IO low does reset the xc5000, this also resets in the s5h1409 being reset as well. This causes tuning to always fail since the internal state of the s5h1409 does not match the driver's state. Given that the only two conditions in which the driver performs a reset is during firmware load and powering down the chip, I am taking out the reset. We know that the chip is being reset when the cx88 comes online, and not being able to do power management for this board is better than not having any tuning at all. Problem discovered when implementing proper power management for the xc5000, which results in calls to the reset callback *after* s5h1409 is initialized. Cc: Steven Toth Cc: Chaogui Zhang Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e80858e88b2c9c20de849c67ac2804218a25aaa3 Author: Devin Heitmueller Date: Thu May 14 21:31:11 2009 -0300 V4L/DVB (11806): xc5000: add copyright line Add copyright line for xc5000.c. Cc: Steven Toth Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e4b8bc524141f48af29f5c3096ac96701cf39c8a Author: Devin Heitmueller Date: Wed May 6 20:54:00 2009 -0300 V4L/DVB (11805): au0828: send command to power down tuner when done with analog Make sure the au0828 issues the command to power down the tuner when the user is done using analog support. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a37791c54066d268cb616233b699ebe275d3a888 Author: Devin Heitmueller Date: Mon May 4 23:29:17 2009 -0300 V4L/DVB (11804): xc5000: poll at 5ms interval for register write command completion Instead of polling at 100ms intervals for register writes, poll at 5ms intervals. This is consistent with the xc5000 specification, and improves tuning time by up to 500 ms on devices that such as the au0828 which do not properly implement i2c clock stretching (since the five register writes that occur for a tuning request often do not complete immediately but do complete far before 100ms has gone by). The net amount of time we wait before timing out is unchanged (500ms). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6c99080d8eae64c51f8b44946eb47f995361c582 Author: David T.L. Wong Date: Mon May 4 22:59:58 2009 -0300 V4L/DVB (11803): xc5000: add support for DVB-T tuning This patch adds XC5000 supports for DVB-T 6MHz and 8MHz bandwidth. Signed-off-by: David T.L. Wong Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a6301d1d57dc08ef0e575d39f21435a2fe805900 Author: Devin Heitmueller Date: Mon May 4 22:04:20 2009 -0300 V4L/DVB (11802): xc5000: switch to new xc5000 firmware 1.6.114 with redistribution rights Xceive has graciously allowed us to now freely redistribute the xc5000 firmware, which eliminates the need for users to manually extract the blob from the Hauppauge driver. Thanks to Brian Mathews for providing this code Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f0f4633a048128031b1a37253ab7935aca748b6b Author: Devin Heitmueller Date: Mon May 4 21:57:41 2009 -0300 V4L/DVB (11801): dib0700: reduce xc5000 sleep time for Pinnacle 801e to 10ms According to the xc5000 spec, the reset pin only needs to be held low for 10ms. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4900877b7cdcb88e24c4130cb3c25080c03c335c Author: Devin Heitmueller Date: Tue Apr 28 16:22:47 2009 -0300 V4L/DVB (11800): tuner-xc2028: show the proper module description for no_poweroff option There was a typo in the module description for the "no_poweroff" option, where the help was being associated with the "debug" option instead. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ee7e63f599ae797c785281ee552c7da98b4efb7d Author: Devin Heitmueller Date: Tue Apr 28 14:07:14 2009 -0300 V4L/DVB (11799): xc5000: don't load firmware until a tuning request is made Defer loading of the xc5000 firmware until it is actually needed. This helps on distros that have hald, which results in the device not being available for use for around ten seconds in cases where the i2c bus is slow (such as the HVR-950Q). Also, the firmware load isn't really useful since we immediately put the device to sleep afterward, which means a firmware reload will be required anyway. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b6bd5eb871184dd976ce2d410888b2a29d90371a Author: Devin Heitmueller Date: Tue Apr 28 13:53:38 2009 -0300 V4L/DVB (11798): xc5000: add "no_poweroff" module option Provide for the ability for a user to disable putting the tuner to sleep, in case he doesn't want to incur the cost of reloading the firmware when starting up his/her application. The module options are intentionally identical to xc3028. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 34a0db9202414c42763a437f9937cd8692263170 Author: Devin Heitmueller Date: Thu Apr 2 22:45:17 2009 -0300 V4L/DVB (11797): xc5000: cleanup firmware loading messages Make it a little more obvious in the dmesg output what is going on during firmware upload. This is more important for boards like the HVR-950q that take nearly seven seconds to do the upload. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 81c4dfe7764abc0c859cc0ab2d7cf54dbb36487a Author: Devin Heitmueller Date: Thu Apr 2 22:40:29 2009 -0300 V4L/DVB (11796): xc5000: start using the newer "finerfreq" tuning command Starting in firmware version 1.1.44, Xceive recommends using the FINERFREQ for all normal tuning (the doc indicates reg 0x03 should only be used for fast scanning for channel lock) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit bae7b7d73da0e42169aeb7c697e2c9549929300b Author: Devin Heitmueller Date: Thu Apr 2 22:24:38 2009 -0300 V4L/DVB (11795): xc5000: add build version to debug info Expose the firmware build number along with the other version info Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b25ed9c5352ed338376481d45525392a75d40e33 Author: Devin Heitmueller Date: Thu Apr 2 22:14:51 2009 -0300 V4L/DVB (11794): au0828: reduce reset time for xc5000 to 10ms The xc5000 datasheet indicates that the reset pin only needs to be held low for 10ms. Reduce the value accordingly, which speeds up the firmware load time a bit. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 7f05b530bea09606401dfed386a836b8b7292e65 Author: Devin Heitmueller Date: Thu Apr 2 22:02:39 2009 -0300 V4L/DVB (11793): xc5000: Properly support power down for newer firmware Xceive got rid of the XREG_POWER_DOWN register in later firmware revisions. Their technical support informed me that the correct way to put the tuner to sleep is to pull the reset pin (but don't reload the firmware). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 361d4892cdec41faac5806fcd43cf4898990e0a4 Author: Devin Heitmueller Date: Thu Apr 2 21:50:11 2009 -0300 V4L/DVB (11792): xc5000: switch to new version of Xceive firmware This switches to a new version of the xc5000 firmware, extracted from the latest Hauppauge driver. It includes the support for the XREG_BUSY register (a lack of which was causing tuning to take 3200ms instead of around 300ms). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit a78baacffe910bfdce2e08e93b31e702cc811114 Author: Devin Heitmueller Date: Sun Nov 16 20:48:31 2008 -0300 V4L/DVB (11791): xc5000: do not sleep after digital tuning Don't sleep for 400ms polling the tuner's lock if in digital mode (since the xc5000 lock status registers appear to only be reliable in analog mode) Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8e4c67972e6c7d65903a31a2d9969da38157860b Author: Devin Heitmueller Date: Sun Nov 16 20:41:07 2008 -0300 V4L/DVB (11790): xc5000: restore sleep routine Bring back the code that puts the xc5000 to sleep. For the Pinnacle 801e this results in power consumption at idle dropping from 325ma to 124ma. If there are *actually* any devices that don't work in this configuration, they should set dvb_frontend.ops.tuner_ops.sleep to NULL (per mkrufky's suggestion) Also, had to make sure we were making sure the firmware was loaded in the digital version of set_params, or else we end up get i2c errors if the device is asleep Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7988fc216d41dfc8325d192360ccb702736b3e69 Author: Devin Heitmueller Date: Sun Nov 16 20:23:19 2008 -0300 V4L/DVB (11789): xc5000: check xc5000_readreg return value for XC_RESULT_SUCCESS Make return value checking for calls to i2c routines explicit. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d7800d4ea977fa323d1529850ecc499b82df6884 Author: Devin Heitmueller Date: Sun Nov 16 20:20:06 2008 -0300 V4L/DVB (11788): xc5000: cleanup i2c write routines Cleanup the i2c write routine, getting rid of a passthrough function with only one caller Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bdd335636a1afe1f30076915395874549be8cd35 Author: Devin Heitmueller Date: Sun Nov 16 20:17:14 2008 -0300 V4L/DVB (11787): xc5000: cleanup i2c read routines This patch centralizes the i2c read functions, and eliminates pass-through function only called by one caller. Make reading of xc5000 registers an atomic i2c transaction in case we're on a multi-master bus. Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 91bd625e217452f01fc568f4d2cb3ad5cee4640c Author: Devin Heitmueller Date: Sat Nov 15 23:29:11 2008 -0300 V4L/DVB (11786): xc5000: handle tuner reset failures properly Properly handle tuner reset failures (before it was always returning success) Signed-off-by: Devin Heitmueller Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8475cbcb0f885189969915eb3680d10fc525d722 Author: Dmitri Belimov Date: Mon May 11 08:16:06 2009 -0300 V4L/DVB (11775): tuner: add support Philips MK5 tuner Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 247bc54053df81ede8de32074384c74b0e2eb79b Author: Michael Krufky Date: Tue May 12 18:53:47 2009 -0300 V4L/DVB (11773): cx23885: clean up struct names for Hauppauge WinTV-HVR127X devices Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5308cf09fe16bdf65f9c6e95e7168361efe7c1d5 Author: Michael Krufky Date: Tue May 12 18:37:35 2009 -0300 V4L/DVB (11772): cx23885: update model matrix for "k2c2" retail boards Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6b926eca9824568b18825d3eade5fb39e3b5a9fb Author: Michael Krufky Date: Tue May 12 17:32:17 2009 -0300 V4L/DVB (11771): cx23885: add DVB-T tuning support for Hauppauge WinTV-HVR1210 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19bc57968cc854c7da4846c21b3ef2a39e43f97d Author: Michael Krufky Date: Fri May 8 16:05:29 2009 -0300 V4L/DVB (11770): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1255 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d099becb0bd7ee01a13d58371b4ea5a2f7052c04 Author: Michael Krufky Date: Fri May 8 22:39:24 2009 -0300 V4L/DVB (11769): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1275 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a5dbf45766a378cc00f341f7179befab1edae573 Author: Michael Krufky Date: Sun May 3 23:27:02 2009 -0300 V4L/DVB (11768): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1270 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2074dffaedebbf5a8468fd37855d6d94ba34041c Author: Steven Toth Date: Sat May 2 11:39:46 2009 -0300 V4L/DVB (11767): cx23885: Add preliminary support for the HVR1270 The patch means the board will be recognised, and the parts brought out of reset correctly. This patches depends on the centralized GPIO patch to be merged. What's missing before the HVR-1270 will function for DTV? The model# needs to be added to avoid 'unknown model' output and the LG3305/Tuner need to be attached in cx23885-dvb.c Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6de72bd6453003ef14acc3bac4159f7fffff7064 Author: Michael Krufky Date: Mon May 11 13:37:26 2009 -0300 V4L/DVB (11766): cx23885: mark functions encoder_on_port[bc] as static inline Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f8bee9b104465a881f7e8acd5cbd3e6a0730759 Author: Steven Toth Date: Sat May 2 11:29:50 2009 -0300 V4L/DVB (11765): cx23885: Add generic functions for driving GPIO's The GPIO's on the product can be in one of three places. To date we've mainly used the GPIO's on the bridge itself, and once on the encoder. Rather than having the complexity of multiple GPIO writes/reads from isolated placed in the driver we'll route them through this function, so we can make intelligent decisions about 1) Where the GPIO lives and 2) Whether it conflicts (based on board) with some other function to avoid bugs. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ea3b73dc13d87d92e805f439f3d7bfcb5865db06 Author: Oliver Endriss Date: Wed Apr 29 23:25:07 2009 -0300 V4L/DVB (11763): dvb-ttpci: Some whitespace adjustments Some whitespace adjustments. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit e76ef133522df8ad566d3e176a363ed006ff6829 Author: Oliver Endriss Date: Wed Apr 29 23:09:44 2009 -0300 V4L/DVB (11762): dvb-ttpci: Fixed return code of av7110_av_start_play av7110_av_start_play() should return 0 on success. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 452dac4550f757ef263c324d967414aa6c6122d7 Author: Oliver Endriss Date: Thu Apr 23 23:24:33 2009 -0300 V4L/DVB (11761): dvb-ttpci: Fixed VIDEO_SLOWMOTION ioctl Fixed VIDEO_SLOWMOTION ioctl. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ef226d00dd041f753163fd3b69c7790496ab8384 Author: Oliver Endriss Date: Sun Apr 19 14:47:01 2009 -0300 V4L/DVB (11760): dvb-ttpci: Check transport error indicator flag Discard PES packet if transport error indicator flag is set. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit fd46d16d602ab7fd53cef7ff55b9dcb0b47ad3bf Author: Oliver Endriss Date: Fri Apr 10 10:20:00 2009 -0300 V4L/DVB (11759): dvb-ttpci: Add TS replay capability Implemented TS replay capability. audio/video devices are able to process PES and TS data now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit b7fd6067143181becb5b14765f4ad25857846491 Author: Randy Dunlap Date: Mon May 11 13:37:41 2009 -0300 V4L/DVB (11758): 2: handle unregister for non-I2C builds Build fails when CONFIG_I2C=n, so handle that case in the if block: drivers/built-in.o: In function `v4l2_device_unregister': (.text+0x157821): undefined reference to `i2c_unregister_device' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 507a34f450e3bac2940da4549ca56bcba25184e7 Author: Steven Toth Date: Tue May 5 19:31:42 2009 -0300 V4L/DVB (11701): pvrusb2: Ensure the PVRUSB2 disabled the i2c gate on the tda10048. ... else DVB-T tuning will not work. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8153c3b7d80a2058f91fb0b4ef49190f241ecc34 Author: Steven Toth Date: Tue May 5 19:30:27 2009 -0300 V4L/DVB (11700): tda10048: Added option to block i2c gate control from other drivers. Currently, DVB-T is broken and this fixes it. The PVRUSB2 has an odd I2C bus configuration where opening the i2c gate on the digital and analog demod causes the tuner to fail. This needs to be protected against for the PVRUSB2. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 38092a4402e0df6f1f283ff6e455197035266ce7 Author: Hans Verkuil Date: Sat May 2 12:06:15 2009 -0300 V4L/DVB (11677): radio-fm16: fix g_tuner. g_tuner handled capability, audmode and rxsubchans incorrectly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1d80db562f9ee6d6d72cdbf488493e4cd6433669 Author: Hans Verkuil Date: Sat May 2 12:04:13 2009 -0300 V4L/DVB (11676): radio-fm16: cleanups Remove bogus flags field Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9d6f7f603f8c362eec321e8dacb1cb54d74fa004 Author: Randy Dunlap Date: Mon May 11 14:51:32 2009 -0300 V4L/DVB (11756): soc_camera: depends on I2C soc_camera uses i2c_*() functions and has build errors when CONFIG_I2C=n: ERROR: "i2c_new_device" [drivers/media/video/soc_camera.ko] undefined! ERROR: "i2c_get_adapter" [drivers/media/video/soc_camera.ko] undefined! ERROR: "i2c_put_adapter" [drivers/media/video/soc_camera.ko] undefined! ERROR: "i2c_unregister_device" [drivers/media/video/soc_camera.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 5d24a037f16d6663761d32ea2a0b6acf60cd632c Author: Andy Walls Date: Sat May 9 00:43:40 2009 -0300 V4L/DVB (11753): tveeprom: Point the TCL MNM05-4 tuner entry to an actual tuner definition The TCL MNM05-04 is used on some HVR-1600 models. It appears to be similar to the TCL MFMN05-4 but without FM radio. The TUNER_PHILIPS_FM1236_MK3 tuner definition appears to be the proper existing tuner definition to use for this tuner. Reported-by: Matt Beadon Tested-by: Matt Beadon Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 4442ee8bddf0a412c566e638345860b187849692 Author: Andy Walls Date: Sat May 9 00:34:31 2009 -0300 V4L/DVB (11752): cx18: Add missing newline to tuner detection error message Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 008b6c5f76fd447ba0d49b6ca958a06ee4786085 Author: Mike Isely Date: Sat May 9 18:00:23 2009 -0300 V4L/DVB (11750): pvrusb2: Allocate a routing ID for future support of Terratec Grabster AV400 Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fa7ce76428e7ee61dfccf336505da7e1b79966b0 Author: Jean Delvare Date: Sat May 2 00:22:27 2009 -0300 V4L/DVB (11748): pvrusb2: Don't use the internal i2c client list The i2c core used to maintain a list of client for each adapter. This is a duplication of what the driver core already does, so this list will be removed as part of a future cleanup. Anyone using this list must stop doing so. For pvrusb2, I propose the following change, which should lead to an equally informative output. The only difference is that i2c clients which are not a v4l2 subdev won't show up, but I guess this case is not supposed to happen anyway. Signed-off-by: Jean Delvare Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 48c5b0dfd74f6380aa5fc500fe8d8256f0662592 Author: Mike Isely Date: Sat May 2 00:04:35 2009 -0300 V4L/DVB (11747): pvrusb2: Bump up version advertised through v4l interface Kick up the pvrusb2 version number advertised through the v4l interface. This value really has almost no meaning because I don't make a serious attempt to version the driver in this manner (otherwise this one line becomes a nasty hotspot of changes and merge conflicts). The value that is here is really a historical thing. However Hans Verkuil thought it might be a good idea to bump up the number anyway right now since the driver's mechanism for communicating with the v4l core has pretty much completely changed. Sending out a Signed-off-by: Mauro Carvalho Chehab commit 96e56c1ac45ac2c1df4ab355057e5866b92f030f Author: Mike Isely Date: Fri May 1 22:33:16 2009 -0300 V4L/DVB (11746): pvrusb2: Set ir_video autoloading to default disabled This sets the disable_autoload_ir_video module option to being set, which disables any attempt by the driver to autoload IR support. This changes preserves previous behavior, for now. This change can be set back concurrent with other changes that finally update i2c-kbd-i2c to use the new i2c binding model. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit cd85b7afe1b76e899c387a5d1fd727021aff4a51 Author: Mike Isely Date: Fri May 1 22:23:39 2009 -0300 V4L/DVB (11745): pvrusb2: Update to work with upcoming ir_video changes in v4l-dvb core The ir-kbd-i2c module is about to be updated to match the new style i2c binding model. These pvrusb2 changes maintain compatibility with that change. Note that this does not actually break anything even without the expected ir-kbd-i2c changes yet because previously the pvrusb2 didn't autoload ir-kbd-i2c anyway. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 27eab3840baaee469eb6377607520ca2128b66f7 Author: Mike Isely Date: Mon Apr 6 01:51:38 2009 -0300 V4L/DVB (11744): pvrusb2: Select, track, and report IR scheme in use with the device This change defines all possible "IR schemes" related to the pvrusb2 driver, on a per-device basis. That information is then set according to the hardware in use. The idea here is to make possible a more intelligent future decision on which, if any, IR receiver driver might be loaded during initialization. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 06e61f8d5f5df68104168ac20d0527ecee13638a Author: Chaithrika U S Date: Thu May 7 09:30:01 2009 -0300 V4L/DVB (11743): Analog Devices ADV7343 video encoder driver Add ADV7343 I2C based video encoder driver. This follows the v4l2-subdev framework. This driver has been tested on TI DM646x EVM. It has been tested for Composite and Component outputs. Updates as per review by Mauro Chehab, added support for more standards supported by the encoder. Also adding the missed out signed-offs.Tested only NTSC and PAL standards. [hverkuil@xs4all.nl: s_routing API changed, updated driver to use new API] Signed-off-by: Manjunath Hadli Signed-off-by: Brijesh Jadav Signed-off-by: Chaithrika U S Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 40199c50b891d24d1a8f1d480f886680a3ac9b74 Author: Chaithrika U S Date: Thu May 7 09:29:25 2009 -0300 V4L/DVB (11742): TI THS7303 video amplifier driver code This patch adds driver for TI THS7303 video amplifier. This driver is implemented as a v4l2 sub device. Tested on TI DM646x EVM. This version has updates based on review comments by Mauro Chehab. Signed-off-by: Chaithrika U S Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b475f4eeda1da16e995b2302f6eebdfb08ce18cd Author: Roel Kluin Date: Sat May 2 17:52:52 2009 -0300 V4L/DVB (11741): zoran: Fix &&/|| typo Fix &&/|| typo. `default_norm' can be 0 (PAL), 1 (NTSC) or 2 (SECAM), the condition tested was impossible. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 223ffe5f8270ba9d069f1cbff9acec095a6f58b1 Author: Roel Kluin Date: Sat May 2 16:38:47 2009 -0300 V4L/DVB: cleanup redundant tests on unsigned Remove redundant tests on unsigned. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit ca19d84295c2579229c5478db8b0f9cd7e821685 Author: Greg Kroah-Hartman Date: Thu Apr 30 19:18:08 2009 -0300 V4L/DVB (11739): remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Mauro Carvalho Chehab commit 413ef8a20ae4c12f2462385ac2eebf51a6feabea Author: Jean Delvare Date: Thu Apr 30 05:40:07 2009 -0300 V4L/DVB (11737): Drop stray references to i2c_probe The new i2c binding model doesn't use i2c_probe. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 925d74ae717c9a12d3618eb4b36b9fb632e2cef3 Author: Németh Márton Date: Wed Apr 29 15:57:24 2009 -0300 V4L/DVB (11736): videobuf: modify return value of VIDIOC_REQBUFS ioctl The V4L2 ioctls usually return 0 when the operation was successful and -1 in case of error. Currently VIDIOC_REQBUFS returns the number of buffers which is redundant because this information is available in count field of struct v4l2_requestbuffers. The V4L2 API specification, revision 0.24 [1] explicitly specifies for VIDIOC_REQBUFS that the return value shall be 0 on success. The patch was tested with v4l-test 0.13 [2] with vivi driver. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r13696.htm [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 3e9a489743ea87663e9ff638cb9b8fe13805a327 Author: Pieter Van Schaik Date: Wed Apr 29 03:55:31 2009 -0300 V4L/DVB (11735): Enables the Winfast TV2000 XP Global TV IR Adds support to the remote control of the Winfast TV2000 XP Global TV capture card. A case statement was added in order to initialize the GPIO data structures as well as a case statement for handling the keys correctly when pressed. Thanks to Hermann and Mauro for all the help Signed-off-by: Pieter C van Schaik Signed-off-by: Mauro Carvalho Chehab commit 2ec3475609aa70cd0d9ea218c5d4e915a3caef49 Author: Dmitri Belimov Date: Tue Apr 28 06:46:15 2009 -0300 V4L/DVB (11734): remove hw reset of MPEG encoder when lost/found seq. When we capture signal from composite input offen lost and found syncro sequence. In this case the MPEG coder hardware reset after each lost/found event. The image has a lot of artefactes. This patch remove hardware reset of MPEG encoder. This is patch from our customer. I checked this. With my best regards, Dmitry. Signed-off-by: Alexey Osipov Signed-off-by: Mauro Carvalho Chehab commit 82aa98fd9279dfe3e36679b7529f7b962939150e Author: Dmitri Belimov Date: Tue Apr 28 06:41:08 2009 -0300 V4L/DVB (11733): increase MPEG encoder timout If video has a lot of changes in frame, MPEG encoder need more time for coding process. Add new bigger timeout for encoder. This is patch from our customer. I checked this. Signed-off-by: Alexey Osipov Signed-off-by: Mauro Carvalho Chehab commit be4a1a2209b5c6e6895e0b828a24df04ecb9d40f Author: hermann pitton Date: Tue Apr 28 19:44:05 2009 -0300 V4L/DVB (11732): saa7134: disable not yet existing IR and DVB support on the Compro T750 The Compro VideoMate T750 has no support for IR and DVB-T yet. Disable both to avoid fall through and confusing printouts. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit c9adb4314f0cd2be9304cef8342d71464becb40e Author: Magnus Damm Date: Tue Apr 28 05:45:39 2009 -0300 V4L/DVB (11731): buf-dma-contig: remove sync operation Remove the videobuf-dma-contig sync operation. Sync is only needed for noncoherent buffers, and since videobuf-dma-contig is built on coherent memory allocators the memory is by definition always in sync. Reported-by: Matthieu CASTET Signed-off-by: Magnus Damm Reviewed-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit 6e9c1a2a6766df0cad1632812c6ad05eabf158e4 Author: Wen-chien Jesse Sung Date: Tue Apr 28 01:11:22 2009 -0300 V4L/DVB (11730): af9015: support for KWorld MC810 Add USB ID (1b80:c810) for Kworld MC810. Signed-off-by: Wen-chien Jesse Sung Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 7b5cb558381607d7e0d04f49d16dd3825ca5261a Author: Roel Kluin Date: Sun Apr 26 12:31:26 2009 -0300 V4L/DVB: cx23885/cymax2: binary/logical &/&& typo Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 60c7ef3967edfb2dd59aa149fd25da4779e3261e Author: Tobias Klauser Date: Sun Apr 26 10:03:29 2009 -0300 V4L/DVB (11724): firedtv: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Acked-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit e9785250ef2eead8bd5e9166679c0be0595df387 Author: Jean Delvare Date: Sun Apr 26 05:43:59 2009 -0300 V4L/DVB (11723): Link firmware to physical device Use the physical device rather than the i2c adapter as the reference device when loading firmwares. This will prevent the sysfs name collision with i2c-dev that has been reported many times. I may have missed other drivers which need the same fix. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit f8eaaf4f2a2810d6e486da2916ef07f7e00665c9 Author: Jani Monoses Date: Thu May 7 03:32:27 2009 -0300 V4L/DVB (11720): gspca - sonixj: Webcam 06f8:3008 added Signed-off-by: Jani Monoses Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d1ba6f15c87d64791da7c21d852b62dfbcc472b7 Author: Jean-Francois Moine Date: Tue May 5 05:01:11 2009 -0300 V4L/DVB (11719): gspca - vc032x: mi1320_soc images are upside-down Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2c9561088b14c19ce9d970d2b67b48e103cf2dd7 Author: Jean-Francois Moine Date: Tue May 5 04:59:45 2009 -0300 V4L/DVB (11718): gspca - vc032x: Bad pixelformat for mi1320_soc Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ceec80e5a52580bd7b257c14c6c8355be58c971f Author: Jean-Francois Moine Date: Sat May 9 06:21:35 2009 -0300 V4L/DVB (11717): gspca - sonixj: Webcams with bridge sn9c128 added Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c8b9b2cad435544177a2b7eed1c59438945de68b Author: Jean-Francois Moine Date: Sun Apr 26 14:46:12 2009 -0300 V4L/DVB (11716): gspca - sonixj: Adjust some exchanges according to traces Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 49cb6b046da812d9c1d1f8c958b741126ee4eece Author: Jean-Francois Moine Date: Sat Apr 25 13:29:01 2009 -0300 V4L/DVB (11715): gspca - main: Set the number of packets per ISOC message. The number of packets per isochronous message may now be set by the subdrivers (default value 32). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 59746e1390835ce889e56fa4e792019462465623 Author: Jean-Francois Moine Date: Thu Apr 23 14:33:00 2009 -0300 V4L/DVB (11714): gspca - spca500 and sunplus: Change the 0x00 insertion mechanism. The new mechanism does not use any temporary buffer. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ed47119fb7c7890605379b23180d1b09717b6b5d Author: Jean-Francois Moine Date: Thu Apr 23 13:52:27 2009 -0300 V4L/DVB (11713): gspca - ov534: Don't discard the images when no UVC EOF A new image may start without any UVC EOF in the last packet of the previous image. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8dd07ef1236356222207058ee6a83c24cc896e8d Author: Jean-Francois Moine Date: Tue Apr 21 14:05:44 2009 -0300 V4L/DVB (11712): gspca - main: Set the current alternate setting only when needed Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 30d35e49509345a3bee778e0cee8545cd70853e2 Author: Jean-Francois Moine Date: Tue Apr 21 13:57:31 2009 -0300 V4L/DVB (11711): gspca - main: Fix a crash when no bandwidth available When the bandwidth is not wide enough, the transfer endpoint may be set to the one of the alternate setting 0. This one may be null and this causes a divide by 0 oops. Reported-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6929dc6b30dc3a6c9c411f677a11b866e8dd28aa Author: Jean-Francois Moine Date: Tue Apr 21 13:45:56 2009 -0300 V4L/DVB (11710): gspca - main: Webcams cannot do both isoc and bulk image transfers. Let the subdrivers to set the 'image transfer by bulk' flag. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0b119b7bf4612d6de6638a0babe93c1d8509a838 Author: Jean-Francois Moine Date: Tue Apr 7 05:30:31 2009 -0300 V4L/DVB (11709): gspca - zc3xx: Bad debug level in i2c_read Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11bd199aa089e05316c487ba4d82dd7b3ac5d947 Author: Jean-Francois Moine Date: Tue Apr 21 04:17:59 2009 -0300 V4L/DVB (11708): gspca - main: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0fd327bd0d1b508eb64da3876098f6f43bfc1509 Author: Guennadi Liakhovetski Date: Thu May 7 13:25:32 2009 -0300 V4L/DVB (11705): soc-camera: prepare for the platform driver conversion Add a platform driver to soc_camera.c. This way we preserve backwards compatibility with existing platforms and can start converting them one by one to the new platform-device soc-camera interface. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f4672dffa126afe8c75bf45adc0f06c0a06d08e8 Author: Andy Walls Date: Sun May 3 18:01:57 2009 -0300 V4L/DVB (11703): cx18: Have audio decoder drive SIF gain control, and rework AFE config Ensure the variable gain amplifier gain for SIF is driven by the audio deocder and not the video decoder. This forced rework of the analog front end (AFE) configuration to not rely on autoconfiguration, but instead set up the AFE mux, AFE parameters, and ADC1 & ADC2 configurations explicitly. Reported-by: Helen Buus Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c7470206de9a879d8b90939a37a0d26ead114bd1 Author: Steven Toth Date: Sat May 2 11:09:08 2009 -0300 V4L/DVB (11699): pvrusb2: Ensure we specify the I/F at attach time Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 484d9e0577c12f9c66a7eab799858ad9617da4bf Author: Steven Toth Date: Sat May 2 11:08:23 2009 -0300 V4L/DVB (11698): cx23885: For tda10048 boards ensure we specify the I/F Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d114153816ec188b20a37583e66da33d8b2798fe Author: Steven Toth Date: Sat May 2 11:07:29 2009 -0300 V4L/DVB (11697): tda10048: Add ability to select I/F at attach time. tda10048: Add ability to select I/F at attach time. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 17720e07b6ac573c8929c39f9036dbc460867b72 Author: Erik Andrén Date: Sun May 3 15:51:36 2009 -0300 V4L/DVB (11695): gspca - stv06xx-vv6410: Set analog gain at init Set the analog gain at sensor init. Also set a sensible default value. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 28d7a20a7849e11173206db560aa76113ed4f62e Author: Erik Andrén Date: Fri Apr 3 17:16:42 2009 -0300 V4L/DVB (11694): gspca - stv06xx-vv6410: No need to double set gain and exposure Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1906d8d17e556510603a9281b4fa960f2d73cc37 Author: Erik Andrén Date: Sun May 3 15:45:48 2009 -0300 V4L/DVB (11693): gspca - stv06xx-vv6410: Add exposure ctrl Add the possibility to control the exposure on the vv6410 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 1b844b536794163eb676b71e6e4c033f6d4b6b33 Author: Erik Andrén Date: Sun May 3 15:31:55 2009 -0300 V4L/DVB (11692): gspca - m5602: Checkpatch.pl fixes Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 951872a8198a5a336a49075320197ac5b2e5c6f1 Author: Erik Andrén Date: Tue Mar 10 16:45:57 2009 -0300 V4L/DVB (11691): gspca - m5602-ov9650: Add ASUS A6K vflip quirk The ASUS A6K needs the vflip quirk. Thanks to Marco Baldo for reporting the issue. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 79c3576a1938002c458ffc517668fcb944aff42e Author: Erik Andrén Date: Thu Feb 12 16:36:05 2009 -0300 V4L/DVB (11690): gspca - m5602-s5k4aa: Add vflip quirk for the MSI L735 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 9bc738fb5392f0733529e26d9bb70c8b3d5637ff Author: Grégory Lardière Date: Thu Feb 12 03:40:29 2009 -0300 V4L/DVB (11689): gspca - m5602-s5k4aa: Fixup the vflip/hflip Ensure that the hflip and vflip is consistent when the sensor needs to be vflip quirked or not. Signed-off-by: Grégory Lardière Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 60d52cecedf7b55bed07d59ab6039ae066f01124 Author: Grégory Lardière Date: Thu Feb 12 03:32:52 2009 -0300 V4L/DVB (11688): gspca - m5602-s5k4aa: Fixup SXGA resolution. The SXGA resolution doesn't work unless you first force the VGA resolution. More investigation is needed in order to fix this the "right" way. Signed-off-by: Grégory Lardière Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4db120bc07b330cd7221fda85bbfea54053a83af Author: Erik Andrén Date: Mon Feb 2 16:08:06 2009 -0300 V4L/DVB (11687): gspca - m5602-ov9650: Add missing v4l2 ctrl ids Red and blue balance missed their id fields Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 65bd761e9a8c9114febab4e554ec0800c59e8983 Author: Erik Andrén Date: Mon Feb 2 15:56:39 2009 -0300 V4L/DVB (11686): gspca - m5602-s5k4aa: Disable SXGA resolution for now SXGA resolution needs more testing. Disable it for now Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ff1e6a2155a42f99a9ded8362be2962b1089296b Author: Erik Andrén Date: Mon Feb 2 03:51:20 2009 -0300 V4L/DVB (11685): gspca - gspca-m5602: Constify parameters of two functions A number of parameters to some functions in the m5602 are constant and should be flagged as such. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4fcec145e9eaae26864731fd6a3120d34abcaffe Author: Erik Andrén Date: Thu Jan 29 13:34:41 2009 -0300 V4L/DVB (11684): gspca - m5602-s5k4aa: Add experimental SXGA support Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 27d403214317d42fbeaf626f2734a1028087fd16 Author: Manu Abraham Date: Sat May 2 18:26:58 2009 -0300 V4L/DVB (11682): STV0900/STV0903: Add support for Silicon cut >= 3 1. Support Silicon Cut >= 3.0 2. Remove support for obsolete cuts: 1.0. 1.1. 1.2 3. Try to catch more error cases Driver doesn't now attach to obsolete silcon cuts, It just simply quits. Results in code simplification, with removal of the obsolete cuts. Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b5b2b7ed569cedac4f5da38e08b01c88443187bd Author: Hans Verkuil Date: Sat May 2 10:58:51 2009 -0300 V4L/DVB (11673): v4l2-device: unregister i2c_clients when unregistering the v4l2_device. Until now I relied on i2c_del_adapter to unregister the i2c_clients for me, however, if the i2c bus is a platform bus then it is never deleted. So instead I need to unregister i2c clients when unregistering the v4l2_device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a79b11c025a5757a5129e716e7e66dc36a2dfe21 Author: Hans Verkuil Date: Sat May 2 10:15:17 2009 -0300 V4L/DVB (11672): ivtv: use v4l2_device_set_name. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 102e78136446faca7d7d241b628c5bd0e0d61d5d Author: Hans Verkuil Date: Sat May 2 10:12:50 2009 -0300 V4L/DVB (11671): v4l2: add v4l2_device_set_name() Add a utility function that can be used to setup the v4l2_device's name field in a standard manner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 416a7aa88300601d6630736836f9798c4079bc16 Author: Hans Verkuil Date: Sat May 2 09:42:57 2009 -0300 V4L/DVB (11670): tuner: remove tuner_i2c_address_check Support for tuners with i2c addresses >= 0x65 is dropped since no tuners with addresses in the range 0x65-0x6f have been found. This patch removes addresses 0x65-0x6f from the list of tuner probe addresses, it removes the kernel warning that warned if addresses in this range appeared, and it removed a hack for the cx88 that is no longer needed now that the tuner address range is reduced. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a26ccc9d76a16580c6800ef0758556c4406a31e0 Author: Steven Toth Date: Wed Apr 29 20:49:12 2009 -0300 V4L/DVB (11666): cx23885: Don't assume GPIO interrupts are cam related. cx23885: Don't assume GPIO interrupts are cam related. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 501d8cd4e248feebd465b016a7d5b7bc084f5f1f Author: Steven Toth Date: Sat Mar 28 14:22:21 2009 -0300 V4L/DVB (11665): cx88: Add support for the Hauppauge IROnly board. cx88: Add support for the Hauppauge IROnly board. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f1ff355a2c32dbe93cfe05160e05cbccc789ca33 Author: Mauro Carvalho Chehab Date: Tue May 5 06:39:21 2009 -0300 V4L/DVB (11663): Fix a warning introduced by git commit ec5f5bf80501abfe2da2897cfcde8452b545aacb /home/v4l/master/v4l/radio-si470x.c: In function 'si470x_fops_release': /home/v4l/master/v4l/radio-si470x.c:1218: warning: label 'unlock' defined but not used Signed-off-by: Mauro Carvalho Chehab commit efe018b315a780012d09af70b52a5747cb945e57 Author: Mauro Carvalho Chehab Date: Wed Apr 29 18:03:27 2009 -0300 V4L/DVB (11654a): Add a missing end of line at the end of gspca/m5602/Makefile Signed-off-by: Mauro Carvalho Chehab commit 2e03669d9da8c52f24ba44fdbd17c5df7be10585 Author: Tobias Klauser Date: Sun Apr 26 09:30:18 2009 -0300 V4L/DVB (11654): gspca - m5602: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. [mchehab@redhat.com: Fix a trivial merge conflict] Cc: Erik Andrén Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 72b79747a88f1ffcb6689cedacc01235bb545cd6 Author: Erik Andrén Date: Wed Jan 28 13:14:34 2009 -0300 V4L/DVB (11650): gspca - m5602: Sort out macro conflict by adding a prefix Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7b8265033d3ca5425e4fbdb77f9ccd3375f3f117 Author: Erik Andrén Date: Mon Apr 27 15:41:45 2009 -0300 V4L/DVB (11649): gspca - m5602: Probe the ov7660 sensor Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 52fa70b7f448da8b763e8c2f566d309d7399a20b Author: Erik Andrén Date: Wed Jan 28 04:02:49 2009 -0300 V4L/DVB (11648): gspca - m5602: Remove some needless error checking and add comments Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 934f78c3069943cf0654a6f809adf0375b078c38 Author: Erik Andrén Date: Wed Jan 28 03:34:02 2009 -0300 V4L/DVB (11647): gspca - m5602-po1030: Disable QVGA for now Getting QVGA to be supported on the po1030 seems harder than I first thought. I need access to the proper hardware in order to fix it up. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 489a8c37841969613572a8eca90c5a60a0236f1d Author: Erik Andrén Date: Wed Jan 28 03:29:51 2009 -0300 V4L/DVB (11646): gspca - m5602-mt9m111: Disable QVGA until it has been verified to work The QVGA resolution currently hasn't been verified to work. Disable it for now. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 201a8a6c3f2b948dadee0d835db30e5f287c7e86 Author: Johannes Klug Date: Sun Jan 25 15:25:44 2009 -0300 V4L/DVB (11645): gspca - m5602-ov9650: Add image flip quirk for the ASUS A6VA Signed-off-by: Johannes Klug Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit d33762d2015d251db840f002fc88daec04107df7 Author: Erik Andrén Date: Sun Jan 25 11:45:35 2009 -0300 V4L/DVB (11644): gspca - m5602-s5k4aa: Remove some unneeded init code. Remove some redundant init from the s5k4aa. All these registers are programmed again later in the init phase Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 56513ed50cc8a5c184a3f347e81d74c850cc14fa Author: Erik Andrén Date: Sun Jan 25 10:19:26 2009 -0300 V4L/DVB (11643): gspca - m5602: Add the ov7660 to the module parameter description. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c9304e43fb71ad790c5fc995de55e7c95abe5b4a Author: Erik Andrén Date: Thu Jan 22 04:04:59 2009 -0300 V4L/DVB (11642): gspca - m5602-ov7660: Add a gain ctrl Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2b622e2d0022fd9220d6f712ab59bff768c098e7 Author: Erik Andrén Date: Thu Jan 22 03:57:30 2009 -0300 V4L/DVB (11641): gspca - m5602-ov7660: Remove useless init data Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2f17e1a1f0e545a80cb012cd10cef381acb07574 Author: Erik Andrén Date: Thu Jan 22 03:51:40 2009 -0300 V4L/DVB (11640): gspca - m5602-s5k4aa: Flip hflip and vflip together Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c731e271afa85233a2e7f3c2be826a2729d1100c Author: Erik Andrén Date: Thu Jan 22 03:32:32 2009 -0300 V4L/DVB (11639): gspca - m5602-mt9m111: Correct the hflip/vflip semantics mt9m111: Hflip and vflip shall always be 0 at start and the image shall be correctly aligned. The mt9m111 is hflipped and vflipped by default. Correct the semantics to make this happen. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 81b4293ae62b81b0b434f10c694f11fff93be8ca Author: Erik Andrén Date: Wed Jan 21 13:46:58 2009 -0300 V4L/DVB (11638): gspca - m5602-ov7660: Make an educated guess on the proper hsync/vsync Based on how the ov9650 is configured, make an educated guess on the hsync/vsync setup for the ov7660 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 0364c4ca345175daa36c3c672fdecafd469e05a8 Author: Erik Andrén Date: Wed Jan 21 13:43:20 2009 -0300 V4L/DVB (11637): gspca - m5602-ov7660: Design init function. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ea8f74b168aa4d725c6d1ab98ef4eb4f6f3f3358 Author: Erik Andrén Date: Wed Jan 21 13:39:17 2009 -0300 V4L/DVB (11636): gspca - m5602-ov7660: Design probe function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4763fa84d9942137b011629be2e7547a23cdfbc6 Author: Erik Andrén Date: Wed Jan 21 13:28:31 2009 -0300 V4L/DVB (11635): gspca - m5602-ov7660: Initial checkin of sensor skeleton code Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c41507ba06c2fbe5a1de908ef5bd1b2c4d9b13c0 Author: Lukas Karas Date: Wed Jan 21 13:14:07 2009 -0300 V4L/DVB (11634): gspca - m5602-s5k83a: Set the sensor_settings pointer correctly Signed-off-by: Lukas Karas Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit cde41bb292c5f5475213ebed96cd5f18b51ecd48 Author: Erik Andrén Date: Wed Jan 21 03:33:14 2009 -0300 V4L/DVB (11633): gspca - m5602-s5k83a: Move hsync/vsync setup to start function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 57851d0cd0b4b9058a10ca81efc4cb6cbc9323e7 Author: Erik Andrén Date: Mon Apr 27 15:38:05 2009 -0300 V4L/DVB (11632): gspca - m5602-s5k83a: Reset the v4l2 ctrl cache upon sensor init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4c3414eeb3a275a017399ea162615292b00d087f Author: Erik Andrén Date: Wed Jan 21 03:43:49 2009 -0300 V4L/DVB (11631): gspca - m5602: Remove useless error check Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 04e84f87192b5b599187e3f5edc54ebe4a89e954 Author: Erik Andrén Date: Tue Jan 20 15:15:25 2009 -0300 V4L/DVB (11630): gspca - s5k83a: Add resolution annotations Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 326405de18bbff737eb7349e2f887fb1ea95e5d8 Author: Erik Andrén Date: Tue Jan 20 15:10:17 2009 -0300 V4L/DVB (11629): gspca - m5602-s5k83a: Move some init code around Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 24c64f42788004d2ec0cae2f8c07b4e76b0f69e1 Author: Erik Andrén Date: Tue Jan 20 15:07:54 2009 -0300 V4L/DVB (11628): gspca - m5602-s5k83a: Remove more init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 33b55a0a7d5d0cd109d0506004a51e4000affbf2 Author: Andy Walls Date: Sun Apr 26 18:46:14 2009 -0300 V4L/DVB (11624): cx18: Toggle the AI1 mux when changing the CX18_AUDIO_ENABLE register Toggle the AI1 mux when changing the CX18_AUDIO_ENABLE register. It's hard to reliably tell when we have written to this register successfully unless we change some bits we know we can read back. The AI mux bits always read back what we wrote to them, so force them to toggle whenever we have to write to the register, so we can tell we wrote to the register successfully. This change was prompted by users experiencing broadcast audio decoding problems after the cx18 module loads for the first time. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1bd8e15ac31f7f3d9f1ace70660330ba0055c69c Author: Andy Walls Date: Sun Apr 26 17:02:25 2009 -0300 V4L/DVB (11623): cx18: Verify cx18-av-core digitizer firmware loads correctly Add code to verify the cx18-av-core digitizer firmware loads correctly. The verification function reads back and compares the firmware bytes loaded into the A/V core. The result of the verification is only used to log a message in the system log. This change was prompted by users with multiple card setups that have problems with broadcast audio decoding the first time the cx18 module is loaded. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0c6292522968427d4f8e01f7c2e4216f04470072 Author: Andy Walls Date: Sun Apr 26 16:34:36 2009 -0300 V4L/DVB (11622): cx18: Allow IVTV format VBI insertion in MPEG-2 SVCD and DVD streams Both the MPEG-2 SVCD stream format and the MPEG-2 DVD stream format should use an MPEG-2 PS container. This makes it safe to stuff IVTV Private Stream 1 VBI packets in these stream types using the existing cx18 driver routines. Reported-by: Helen Buus Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9982be8a14e4bff0c3750cbfb669d2648a98b2e8 Author: Andy Walls Date: Wed Apr 15 20:49:19 2009 -0300 V4L/DVB (11620): cx18: Increment version due to significant buffer handling changes Version bump from 1.1.0 to 1.2.0 Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 21a278b85d3c6b8064af0c03aec3205e28aad3b7 Author: Andy Walls Date: Wed Apr 15 20:45:10 2009 -0300 V4L/DVB (11619): cx18: Simplify the work handler for outgoing mailbox commands Simplify the way outgoing work handler gets scheduled to send empty buffers back to the firmware for use. Also reduced the memory required for scheduling this outgoing work, by using a single, per stream work object. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 40c5520f55924ba87090d0d93222baad74202559 Author: Andy Walls Date: Mon Apr 13 23:08:00 2009 -0300 V4L/DVB (11618): cx18: Convert per stream mutex locks to per queue spin locks To avoid sleeps in providing buffers to user space and in handling incoming buffers from the capture unit, converted the per stream mutex for locking queues to 3 spin locks. There is now a spin lock per queue to increase concurrency when moving buffers around. Also simplified queue manipulations and buffer handling of incoming buffers of data from the capture unit. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5f0a3cfcfd315d87de8f80af49b114daf7137823 Author: Andy Walls Date: Mon Apr 13 22:53:09 2009 -0300 V4L/DVB (11617): cx18: Set up to wait for a one-shot response before sending a firmware cmd When sending an outgoing firmware command, prepare to wait before we raise the interrupt, so we don't miss the wake_up() on the acknowledgment. When waiting for the acknowledgement, there is no need to loop around schedule(), as there will only be one interrupt, and hence one wake_up(), issued. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 87116159517ecf6b9cf62a136f2935a63833c485 Author: Andy Walls Date: Mon Apr 13 22:42:43 2009 -0300 V4L/DVB (11616): cx18: Add a work queue for deferring empty buffer handoffs to the firmware This change defers sending all CX18_CPU_DE_SET_MDL commands, for a stream with an ongoing capture, by adding a work queue to handle sending such commands when needed. This prevents any sleeps, caused by notifying the firmware of new usable buffers, when a V4L2 application read() is being satisfied or when an incoming buffer is processed by the cx18-NN-in work queue thread. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit deed75ed9f7576ada4bca02e6c851833a352a38d Author: Andy Walls Date: Mon Apr 13 22:22:40 2009 -0300 V4L/DVB (11615): cx18: Rename the work queue to "in_work_queue" Rename the work queue to "in_work_queue" to indicate it is handling incoming mailbox commands. This is preparation for adding a work queue for handling deferrable outgoing mailbox commands. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 56600093644c6929a7d1809dab5b8265532df045 Author: Robert Jarzmik Date: Fri Apr 24 12:58:35 2009 -0300 V4L/DVB (11613): pxa_camera: Documentation of the FSM After DMA redesign, the pxa_camera dynamic behaviour should be documented so that future contributors understand how it works, and improve it. Signed-off-by: Robert Jarzmik Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c09b77806e692d8e58c55b4f4592a855b95f13cd Author: Guennadi Liakhovetski Date: Fri Apr 24 12:57:42 2009 -0300 V4L/DVB (11611): soc-camera: link host drivers after clients With the transition of soc-camera to become a platform driver and to the v4l2-subdev framework the initialisation order becomes important. In case of a static build clients (i2c) drivers have to be available when host drivers are probed. Moving host drivers down in the Makefile achieves the desired order. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 9538e1c226f1fd665126869f542170a2e90f2039 Author: Guennadi Liakhovetski Date: Fri Apr 24 12:57:01 2009 -0300 V4L/DVB (11610): soc-camera: simplify register access routines in multiple sensor drivers Register access routines only need the I2C client, not the soc-camera device context. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit eff505fa1511b753b7cfb397a754b8ff4367cd55 Author: Guennadi Liakhovetski Date: Fri Apr 24 12:55:48 2009 -0300 V4L/DVB (11609): soc-camera: remove an extra device generation from struct soc_camera_host Make camera devices direct children of host platform devices, move the inheritance management into the soc_camera.c core driver. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit eb6c8558f7658b7f31ee022c7bea1d840eda33dc Author: Guennadi Liakhovetski Date: Fri Apr 24 12:55:18 2009 -0300 V4L/DVB (11608): soc-camera: host-driver cleanup Embed struct soc_camera_host in platform-specific per host instance objects instead of allocating them statically in drivers, use platform_[gs]et_drvdata consistently, use resource_size(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 594bb46dbc63934bc65fa95743f83204bd26a641 Author: Guennadi Liakhovetski Date: Fri Apr 24 12:53:51 2009 -0300 V4L/DVB (11607): soc-camera: add a free_bus method to struct soc_camera_link Currently pcm990 camera bus-width management functions request a GPIO and never free it again. With this approach the GPIO extender driver cannot be unloaded once camera drivers have been loaded, also unloading theb i2c-pxa bus driver produces errors, because the GPIO extender driver cannot unregister properly. Another problem is, that if camera drivers are once loaded before the GPIO extender driver, the platform code marks the GPIO unavailable and only a reboot helps to recover. Adding an explicit free_bus method and using it in mt9m001 and mt9v022 drivers fixes these problems. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Mauro Carvalho Chehab commit 84d728c3df9931d1937e4a76324838ce065c521e Author: Dmitri Belimov Date: Thu Apr 23 02:32:49 2009 -0300 V4L/DVB (11604): saa7134: split Behold`s card entries to properly identify the model Split Beholdr`s cards to correct models. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit d46de9d2364cad55caddc04632707f5739b4cd87 Author: Oldřich Jedlička Date: Tue Apr 14 15:47:17 2009 -0300 V4L/DVB (11567): saa7134: Added support for AVerMedia Cardbus Plus Here comes the full support for AVerMedia Cardbus Plus (E501R) - including remote control. TV, Composite and FM radio tested, I don't have S-Video to test. I've figured out that the radio works only with xtal frequency 13MHz. [mchehab@redhat.com: CodingStyle fixes] Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit df0dbbe24053b7c669f63341d3d3f090560c3217 Author: Andy Shevchenko Date: Wed Apr 8 14:01:19 2009 -0300 V4L/DVB (11442): saa7134: BZ#7524: Add AVerTV Studio 507UA support [mchehab@redhat.com: Fix merge conflicts and CodingStyle issues] Signed-off-by: Mauro Carvalho Chehab commit abce21f40f1c7a52c9a126c6c00db1bd76e96b1d Author: Dean Anderson Date: Thu Apr 23 16:04:41 2009 -0300 V4L/DVB (11605): patch: s2255drv: code cleanup This patch does: - remove unused structure items. - define Response values; - change Driver revision printk. Signed-off-by: Dean Anderson Signed-off-by: Mauro Carvalho Chehab commit 7fc08bbb9965206c57270a911d0e9430aaf347f7 Author: Andreas Regel Date: Thu Apr 23 15:00:40 2009 -0300 V4L/DVB (11601): stv090x: update demodulator capabilities Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 560db4a1a0aaa8920995e60a6a8bbc9f8708f0a3 Author: Andreas Regel Date: Thu Apr 23 15:00:04 2009 -0300 V4L/DVB (11600): budget: Use Continuous clock Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 62ad7c11883ab7b4642da7d220a2bee7a37e3bad Author: Andreas Regel Date: Thu Apr 23 14:59:36 2009 -0300 V4L/DVB (11599): S2-1600: Use budget driver instead of budged-ci Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit cbc320d2782cbb0c19e67522167843d9eb738722 Author: Andreas Regel Date: Thu Apr 23 14:59:03 2009 -0300 V4L/DVB (11598): stv090x: fix missing wakeup in init Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9629c5b69dd016e990603fd7fd9899f0af57610c Author: Andreas Regel Date: Thu Apr 23 14:58:36 2009 -0300 V4L/DVB (11597): stv090x: fixes read_status to return 0 in case of no error Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 94871465b6a82de3882a61bf1e3c202725688294 Author: Andreas Regel Date: Thu Apr 23 14:57:24 2009 -0300 V4L/DVB (11596): stv090x: fixes some register definitions Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2f5914be7c2277cf19699e437cf2c6c15556a085 Author: Andreas Regel Date: Thu Apr 23 14:56:41 2009 -0300 V4L/DVB (11595): stv090x: fixes a few bugs This patch fixes: * Cut revision was read too late * Missing increment * wrong return value * mismatched entries Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 64104dc9014d717335ed8ff987feaec1b17c1cd5 Author: Andreas Regel Date: Thu Apr 16 08:43:41 2009 -0300 V4L/DVB (11594): stv090x: Fix incorrect TSMODE usage Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 4e58a6827a7d67f65d166d28635ac13bdf65dbb0 Author: Andreas Regel Date: Thu Apr 16 08:40:36 2009 -0300 V4L/DVB (11593): stv090x: Fix Rolloff Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f2b2fd401343b188f251b29ec2981ea8054ce1b7 Author: Andreas Regel Date: Thu Apr 16 08:38:46 2009 -0300 V4L/DVB (11592): stv6110x: Fix read bug Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit da4b9059c948ce35ce9d34b982b6a9934a9251ef Author: Manu Abraham Date: Wed Apr 8 20:30:29 2009 -0300 V4L/DVB (11591): stv090x: code simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5f99feffc0426f88db07e2d777d9dd4aa2205c2f Author: Manu Abraham Date: Wed Apr 8 20:24:53 2009 -0300 V4L/DVB (11590): stv090x: code simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f430fff101dd2cdbf5db1cf274a1591ae2b6e05c Author: Manu Abraham Date: Wed Apr 8 20:18:50 2009 -0300 V4L/DVB (11589): stv090x: code simplification Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 15bb366e86e07820374ec313170aab65d4e1d983 Author: Manu Abraham Date: Wed Apr 8 20:14:00 2009 -0300 V4L/DVB (11588): stv090x: support > 60MSPS, simplify Srate calculation Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 94a809143a47343b45c73e84f7f26e3087c2fd62 Author: Manu Abraham Date: Wed Apr 8 19:45:43 2009 -0300 V4L/DVB (11587): stv090x: set DiSEqC frequency to 22kHz Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 26b03bc6c2fa72e3aaed19fba125c2f438bf9261 Author: Manu Abraham Date: Wed Apr 8 18:27:10 2009 -0300 V4L/DVB (11586): stv090x: switch i/p ADC as well during Power management Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 72982f761526278e1ca7dce0507ed9f33b952fee Author: Andreas Regel Date: Wed Apr 8 17:28:41 2009 -0300 V4L/DVB (11585): stv090x: fix incorrectly used mode Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f9ed95d03e3a736627493690bfd1cb893ebaa200 Author: Andreas Regel Date: Wed Apr 8 17:27:51 2009 -0300 V4L/DVB (11584): stv090x: add tone burst control Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 54d859ec563d2f0cbbc03e45e204325c5f2118bf Author: Andreas Regel Date: Tue Apr 7 16:09:52 2009 -0300 V4L/DVB (11583): isl6423: Various fixes to use external modulation Use external modulation Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5657150759ab67292db0333808a069970328663b Author: Manu Abraham Date: Tue Apr 7 16:08:26 2009 -0300 V4L/DVB (11582): stv090x: fix Undocumented Registers Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 017eb0381fedbfdcad1e8e536d014c4064e6687f Author: Manu Abraham Date: Tue Apr 7 05:19:54 2009 -0300 V4L/DVB (11581): stv090x and stv6110x: fix repeater level setup and ref clock * Reference clock was unused * Fix missing repeater level setup Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit dd4c2b3f6a2d30602d22485ab725c84f2fb074b6 Author: Andreas Regel Date: Mon Apr 6 15:46:50 2009 -0300 V4L/DVB (11580): budget-ci: Fix incorrect default CLOCK setup Signed-off-by: Andreas Regel Signed-off-by: MAnu Abraham Signed-off-by: Mauro Carvalho Chehab commit e415c689a8842670e161581f060575c14957f073 Author: Manu Abraham Date: Mon Apr 6 15:45:20 2009 -0300 V4L/DVB (11579): Initial go at TT S2-1600 [mchehab@redhat.com: fix compilation when the new drivers aren't selected] Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2460cdac94082c7046ab595bf643338e6faed6cb Author: Márton Németh Date: Mon Apr 20 14:51:49 2009 -0300 V4L/DVB (11574): uvcvideo: fill reserved fields with zero of VIDIOC_QUERYMENU When querying menu items with VIDIOC_QUERYMENU the reserved field is not set to zero as required by V4L2 API revision 0.24 [1]. Add this fill. The patch was tested with v4l-test 0.11 [2] with CNF7129 webcam found on EeePC 901. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r13317.htm#V4L2-QUERYMENU [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ [Modified by Laurent Pinchart] Use u32 instead of __u32 in non-exported kernel code. Signed-off-by: Márton Németh Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 9086c7b994dcd6d06723bcb48a23af3e3f75e002 Author: Márton Németh Date: Wed Apr 15 09:01:58 2009 -0300 V4L/DVB (11573): uvcvideo: Prevent invormation loss with removing implicit casting The uvcvideo driver supports only one input, which is input 0. For all other input index the return value shall be EINVAL. This patch fixes the problem when the value 0x80000000 was incorrectly casted and treated as a zero value. The patch was tested with v4l-test 0.10 [2] with CNF7129 webcam found on EeePC 901. References: [1] V4L2 API specification, revision 0.24 http://v4l2spec.bytesex.org/spec/r11217.htm [2] v4l-test: Test environment for Video For Linux Two API http://v4l-test.sourceforge.net/ [Modified by Laurent Pinchart] Invalid input value (u32)-1 would be accepted due to integer overflow. Make sure the driver rejects it and returns -EINVAL. Signed-off-by: Márton Németh Signed-off-by: Andrew Morton Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 513846ece644662dc0914f7b518ed1bd29953fc3 Author: Armin Schenker Date: Mon Apr 20 11:57:49 2009 -0300 V4L/DVB (11571): Add Elgato EyeTV DTT deluxe to dibcom driver This patch introduces support for DVB-T for the following dibcom based card: Elgato EyeTV DTT deluxe (USB-ID: 0fd9:0020) Signed-off-by: Armin Schenker Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3763a8a41bd0c1ea6b055b60acaf5f9655e5c25e Author: Alexey Klimov Date: Sun Apr 19 17:21:03 2009 -0300 V4L/DVB (11569): av7110_hw: fix compile warning Signed-off-by: Alexey Klimov Signed-off-by: Mauro Carvalho Chehab commit b5d14eba2ecce23a6a1663bc5bd36c08a011b601 Author: Mariusz Kozlowski Date: Sun Apr 12 16:58:52 2009 -0300 V4L/DVB (11566): remove broken macro from dvb stv0900_priv.h It both has unbalanced parentheses and == is not = and it's not used anywhere anyway. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 9d6e1aa55c3a7f1919e02decac09524cb7d0f33f Author: Huang Weiyi Date: Tue Apr 7 19:49:46 2009 -0300 V4L/DVB: cx231xx: remove unused #include 's Remove unused #include 's in drivers/media/video/cx231xx/cx231xx-avcore.c drivers/media/video/cx231xx/cx231xx-vbi.c Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 3aeae407600af24d9505004305c6aef93ca54b21 Author: Jean Delvare Date: Tue Apr 7 12:55:17 2009 -0300 V4L/DVB (11564): tda7432: Delete old driver history The history of changes does belong to git. In general I wouldn't care too much but it happens that this specific comment triggers a false positive in one of my scripts, so I'd rather get rid of it. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 0e7e526ac7f8a02dbb7191c4ac237f4a32860176 Author: Erik Andr?n Date: Tue Jan 20 15:02:27 2009 -0300 V4L/DVB (11549): gspca - m5602-s5k83a: Remove lots of useless init Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 2286745de7b7608b7eb0a899737a7c23ec99b872 Author: Erik Andr?n Date: Tue Jan 20 14:55:53 2009 -0300 V4L/DVB (11548): gspca - m5602-s5k83a: No need to initialize some registers in init s5k83a: All v4l2 ctrls are initialized later, no need to set those registers during init. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 00e02567950c9061b8f8d3ba46a842d4006fec8e Author: Erik Andr?n Date: Tue Jan 20 14:53:21 2009 -0300 V4L/DVB (11547): gspca - m5602-s5k83a: Align the v4l2 ctrl definitions Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 5a41c9f6b784a9ef7e27a8a27bdb6d541c28b076 Author: Erik Andr?n Date: Tue Jan 20 14:48:16 2009 -0300 V4L/DVB (11546): gspca - m5602-mt9m111: Endianness fixes. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 039efb68626593c70b759d5ece4d87b4afc05379 Author: Erik Andr?n Date: Tue Jan 20 14:32:51 2009 -0300 V4L/DVB (11545): gspca - m5602-mt9m111: Activate vflip/hflip by default Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 60ed6e4f4ec778b195efb92563021a376fa30524 Author: Erik Andr?n Date: Tue Jan 20 04:16:28 2009 -0300 V4L/DVB (11544): gspca - m5602-mt9m111: Add experimental QVGA support Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit f676bb3971b3a77c1936a8507db485af2a3f2d2a Author: Erik Andr?n Date: Tue Jan 20 04:13:34 2009 -0300 V4L/DVB (11543): gspca - m5602-mt9m111: Setup VGA resolution Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit e7ae60f73eebd16cc13e616b096e8b1488915d96 Author: Erik Andr?n Date: Tue Jan 20 04:05:19 2009 -0300 V4L/DVB (11542): gspca - m5602-mt9m111: Synthesize the hsync/vsync setup Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit bce0d2d4aefdb258bd4a69e2de2e0d1bed0e5531 Author: Erik Andr?n Date: Tue Jan 20 03:54:51 2009 -0300 V4L/DVB (11541): gspca - m5602-mt9m111: Add a start function Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 553c91d0b1a9a22bc81c07db589424af658e01cb Author: Erik Andr?n Date: Tue Jan 20 03:49:00 2009 -0300 V4L/DVB (11540): gspca - m5602-mt9m111: Replace magic constants with defines Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit b05a4ad95d0909bde1caca2ce8ec1d18fd00cfd0 Author: Erik Andr?n Date: Mon Jan 19 14:02:28 2009 -0300 V4L/DVB (11539): gspca - m5602-ov9650: Be more strict during the hsync/vsync synthesis Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 927774605ab4771c67763a7b133e8d84b524489d Author: Erik Andr?n Date: Sun Jan 18 15:21:07 2009 -0300 V4L/DVB (11538): gscpa - m5602-ov9650: Add defines for some magic constants Replaces some magic constants with the defines. Remove a couple of bits that should be set later in the process depending on the v4l2 ctrl. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 894e4087f015cef13a4ac52ea465ecd941118bad Author: Erik Andr?n Date: Sun Jan 18 11:13:47 2009 -0300 V4L/DVB (11537): gspca - m5602-po1030: Clear subsampling flag when setting VGA mode Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 9819267009bfec221159373eafd666db37d20c78 Author: Erik Andr?n Date: Fri Jan 16 03:48:15 2009 -0300 V4L/DVB (11536): gspca - m5602-po1030: Impove the bridge vsync/hsync configuration Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 931a1c8dbf71d851d9d4e4dbdedc192bcc9e98c1 Author: Erik Andr?n Date: Thu Jan 15 14:18:36 2009 -0300 V4L/DVB (11535): gspca - m5602-po1030: Add experimental QVGA support Adds experimental support for QVGA. This is code is compile tested only. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 9536a57e7783c627b2bb83f78a99f5c6dcf5d505 Author: Erik Andr?n Date: Thu Jan 15 14:05:35 2009 -0300 V4L/DVB (11534): gspca - m5602-po1030: Synthesize the hsync/vsync setup Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit e807f20db4f4fbbf2b0c881f0b0dd5cf9c18b17c Author: Erik Andr?n Date: Thu Jan 15 13:39:39 2009 -0300 V4L/DVB (11533): gspca - m5602-po1030: Setup window per resolution This patch for the po1030 sets the drawing window for the VGA resolution Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit c86da6b33f1d268483fbdbeaec0b98779d0317c1 Author: Erik Andr?n Date: Thu Jan 15 03:52:08 2009 -0300 V4L/DVB (11532): gspca - m5602-po1030: Move some code from the start vector to the init vector This is a prepatory patch in order to support multiple resolutions for the po1030 sensor Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 825f31b05bd6e92da5ef9f3ca21c5b36021f7e6e Author: Erik Andr?n Date: Thu Jan 15 03:40:01 2009 -0300 V4L/DVB (11531): gspca - m5602-po1030: Clean up some comments Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 7ee4629092aa2982a3fbb9cfb3691637b55b4a40 Author: Erik Andr?n Date: Wed Jan 14 03:37:03 2009 -0300 V4L/DVB (11530): gspca - m5602-s5k4aa: Add brightness v4l2 ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 3290d40206ce122058a1f1f56dfce3d2000107b3 Author: Erik Andr?n Date: Tue Jan 13 16:40:28 2009 -0300 V4L/DVB (11529): gspca - m5602-s5k4aa: Add noise suppression ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 71c6e59d474ed8608b4e5aa998bec47b46c44a93 Author: Erik Andr?n Date: Tue Jan 13 16:24:19 2009 -0300 V4L/DVB (11528): gspca - m5602-s5k4aa: Consolidate the gain settings, adjust row start Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit a68985d46962305f537380a572903fb78dbe207c Author: Erik Andr?n Date: Tue Jan 13 15:44:03 2009 -0300 V4L/DVB (11527): gspca - m5602-s5k4aa: Try to use proper read-modify-write of the vflip/hflip Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 0746673d21ea53d4bd710b47ad67c413e9510a5a Author: Erik Andr?n Date: Tue Jan 13 14:18:53 2009 -0300 V4L/DVB (11526): gspca - m5602-mt9m111: Add red balance ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 74b123cf7ac638ede605e483cde0f534951f5266 Author: Erik Andr?n Date: Tue Jan 13 14:16:03 2009 -0300 V4L/DVB (11525): gspca - m5602-mt9m111: Add blue balance ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 12e4ed7d5e4a3145cb342be91423e92a24257212 Author: Erik Andr?n Date: Tue Jan 13 14:10:44 2009 -0300 V4L/DVB (11524): gspca - m5602-mt9m111: Add green balance ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit b933d585baf6f6432ca5dd3f6d415ffa145e2c25 Author: Erik Andr?n Date: Tue Jan 13 13:55:52 2009 -0300 V4L/DVB (11523): gspca - m5602-po1030: Add private green balance control Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit dd9ce84a773f9c9919a3c59291e82ec0e8803ecc Author: Erik Andr?n Date: Tue Jan 13 13:43:46 2009 -0300 V4L/DVB (11522): gspca - m5602-po1030: Add auto exposure control Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 9ae165779720209d4c566c8102dce415a3c7f055 Author: Erik Andr?n Date: Tue Jan 13 03:57:57 2009 -0300 V4L/DVB (11521): gspca - m5602-ov9650: Add auto exposure ctrl Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit e8a574052e3f05a86d7363065f6734626e34f389 Author: Erik Andr?n Date: Tue Jan 13 03:46:24 2009 -0300 V4L/DVB (11520): gspca - m5602-po1030: Remove redundant init sequences Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 1351a58ce0481afd80b756ecd9307c9fbe9f39b4 Author: Kay Sievers Date: Thu Apr 16 13:30:38 2009 -0300 V4L/DVB (11517): v4l: remove driver-core BUS_ID_SIZE The name size limit is gone from the driver core, the BUS_ID_SIZE value will be removed. Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 734dd236a6045ca764d12ed0fd6a7c1e9a928ac1 Author: Marcel Jueling Date: Thu Apr 9 17:16:41 2009 -0300 V4L/DVB (11492): af9015: support for Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0 Add USB ID (1b80:e397) for Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0. Signed-off-by: Marcel Jueling Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 1ed5fadec7728282466d0203851cf811864b42f7 Author: Antti Palosaari Date: Thu Apr 9 15:14:18 2009 -0300 V4L/DVB (11491): af9015: support for AverMedia AVerTV Volar GPS 805 (A805) Add USB ID (07ca:a805) for AverMedia AVerTV Volar GPS 805 (A805). Thanks to Chris Brown for reporting and testing. Tested-by: Chris Brown Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 85d7d7ca5ef820f2c637032c86d4298ce4ae491b Author: Antti Palosaari Date: Thu Apr 9 09:16:12 2009 -0300 V4L/DVB (11490): af9015: add new dvb_usb_device_properties entry for upcoming USB IDs Add 3rd dvb_usb_device_properties entry for upcoming USB IDs because current entries are full. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit d852d53dcd1f4c353d54cc055eb23cdaad18c906 Author: Joseba Goitia Gandiaga Date: Thu Apr 9 18:29:16 2009 -0300 V4L/DVB (11488): get_dvb_firmware: trivial url change Trivial url changes in script Signed-off-by: Joseba Goitia Gandiaga Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 42ef4632896b0c44f77fb5783b320cbedd38e3e3 Author: Filipe Rosset Date: Thu Apr 9 18:27:12 2009 -0300 V4L/DVB (11487): em28xx: fix typo em28xx_errdev message Fix typo usbtransfer->usb transfer on em28xx_errdev message. Signed-off-by: Filipe Rosset Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e5db5d44432abc82b1250dd05bd0a4b011392d9d Author: Douglas Schilling Landgraf Date: Thu Apr 9 18:24:34 2009 -0300 V4L/DVB (11486): em28xx: Add EmpireTV board support Added EmpireTV entry. Thanks to Xwang to provide data for this board. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ebf58f70e853b9ffe50d6b194d3679b7dc2cac9c Author: Theodore Kilgore Date: Sun Apr 5 15:36:04 2009 -0300 V4L/DVB (11483): gspca - mr97310a: Webcam 093a:010f added. Signed-off-by: Theodore Kilgore Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 938fe53bf07b8a8315d1734302918339d798ab4f Author: Erik Andr?n Date: Mon Jan 12 14:17:05 2009 -0300 V4L/DVB (11482): gspca - m5602-mt9m111: Remove lots of redundant init code Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit da773c9e5fd14249cda578f510dd0e20dd7358fb Author: Erik Andr?n Date: Mon Jan 12 14:00:51 2009 -0300 V4L/DVB (11481): gspca - m5602-mt9m111: More constant replacement Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 6822df520d0140a0adf667ba6e926d90b2ff6d6d Author: Erik Andr?n Date: Mon Jan 12 13:56:13 2009 -0300 V4L/DVB (11480): gspca - m5602-mt9m111: Remove lots of redundant sensor reads Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 2ed3bf306745578b0cc862a12492fb2a7a8e2adc Author: Erik Andr?n Date: Mon Jan 12 13:50:29 2009 -0300 V4L/DVB (11479): gspca - m5602-mt9m111: More magic constants replacement Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 7662dbb373380903f58190dbc514c3db3bfee956 Author: Erik Andr?n Date: Mon Jan 12 13:43:42 2009 -0300 V4L/DVB (11478): gspca - m5602-mt9m111: Replace various magic constants with defines Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 926d5038072c951629bcadbe78f8e251e174cd25 Author: Erik Andr?n Date: Sun Jan 11 15:23:46 2009 -0300 V4L/DVB (11477): gspca - m5602-po1030: Set the blue balance in the init not red balance twice Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 86c9fb5118820af4740ef1d0896fdd4f0923039f Author: Erik Andr?n Date: Sun Jan 11 13:39:41 2009 -0300 V4L/DVB (11476): gspca - m5602: Add some more register defines Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d8a3e35150829ebc3fae2ff18eb16eefef504ef0 Author: Erik Andr?n Date: Sun Jan 11 13:00:15 2009 -0300 V4L/DVB (11475): gspca - m5602-po1030: Lower the default blue and gain balance Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 3e5cbad030f6c12983f697ecff9fbd8f5a6bee7b Author: Erik Andr?n Date: Sun Jan 11 12:52:10 2009 -0300 V4L/DVB (11474): gspca - m5602-po1030: Fix sensor probing. The po1030 read sensor are currently returning the contents of the address+1 fix the probing of the sensor to cope with this. Obviously this needs to be tracked down and fixed. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d9a11e28c862dd1f05193659025a99712bb507e9 Author: Erik Andr?n Date: Sun Jan 11 12:46:51 2009 -0300 V4L/DVB (11473): gspca - m5602-po1030: Release reset when init is done. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 65df609b63836d96b0485a0823a81e87f628d3f1 Author: Erik Andr?n Date: Sat Jan 10 10:55:07 2009 -0300 V4L/DVB (11472): gspca - m5602-mt9m111: Remove lots of redundant init code Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d9cb33bd974a6de94c251c0048c682070ed99dbb Author: Erik Andr?n Date: Fri Jan 9 14:10:19 2009 -0300 V4L/DVB (11471): gspca - m5602-mt9m111: Remove more redundant init Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit b154044a020072c031c7175d2711adc2c6049e93 Author: Erik Andr?n Date: Fri Jan 9 14:03:27 2009 -0300 V4L/DVB (11470): gspca - m5602-mt9m111: Implement an auto white balancing control Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 320aaab872474e4b1c3c3d9807dfe304a7850681 Author: Erik Andr?n Date: Fri Jan 9 13:53:20 2009 -0300 V4L/DVB (11469): gspca - m5602-mt9m111: More redundant init cleanup Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 60b1d3e3de6921fb44661e4772f85ae8d8942f6e Author: Erik Andr?n Date: Fri Jan 9 13:41:28 2009 -0300 V4L/DVB (11468): gspca - m5602-mt9m111: Remove redundant init sequences Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 36e756c5cc024174fec48ba21f1011aed5707e25 Author: Erik Andr?n Date: Fri Jan 9 13:35:00 2009 -0300 V4L/DVB (11467): gspca - m5602: Move all dump_sensor to the init function Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit cf811d506a3ed5721e3f22c77309aff489ce54c7 Author: Erik Andr?n Date: Fri Apr 3 02:49:10 2009 -0300 V4L/DVB (11466): gspca - m5602: Let all ctrls on all sensors be static All hail the static keyword Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit d4a389a39bb9586219641144ab0c79706bbc8bcc Author: Erik Andr?n Date: Fri Jan 9 03:30:54 2009 -0300 V4L/DVB (11465): gspca - m5602-s5k4aa: Set all v4l2 ctrls on sensor init. Reset all v4l2 ctrls on the s5k4aa init. The prevents all ctrls to be reset during resume from ram. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit dd3ec39871ba83fb47364a26b1caaac4494deb7b Author: Erik Andr?n Date: Thu Jan 8 18:11:05 2009 -0300 V4L/DVB (11464): gspca - m5602-mt9m111: Set the cached v4l2 ctrl values When we resume the machine we want the previously set values, not the default values. Fix this for the mt9m111 sensor Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 6e5ccf83eff19dee5aba11aa484dd4426adbbfdf Author: Erik Andr?n Date: Thu Jan 8 14:22:51 2009 -0300 V4L/DVB (11463): gspca - m5602-po1030: Remove unneeded init sequences po1030: There's a lot of redundant writes to the bridge and sensor. Remove them. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit c996b36809af0e5ee441b411f947c3b53d43a104 Author: Erik Andr?n Date: Thu Jan 8 14:15:06 2009 -0300 V4L/DVB (11462): gspca - m5602-po1030: Split up the init into init and start Split up the po1030 init into start and init. Add a start function. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit fcb981080a08c033cf6f1e7e5c4ff706a37a659d Author: Erik Andr?n Date: Thu Jan 8 04:04:19 2009 -0300 V4L/DVB (11461): gspca - m5602-po1030: Probe read only register at probe time Currently, we're probing r/w registers at probe time. This is potentially dangerous, probe some read only registers instead. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 31e1715f9765206711c3a10556428e9d8fa2acad Author: Erik Andr?n Date: Thu Jan 8 04:01:23 2009 -0300 V4L/DVB (11460): gspca - m5602-po1030: Remove unnecessary error check Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 3b9ae658ec77180d13152913a1f63b6f1b2756c2 Author: Erik Andr?n Date: Thu Jan 8 03:53:50 2009 -0300 V4L/DVB (11459): gspca - m5602-po1030: Add auto white balancing control Add a po1030 auto white balancing control that's disabled by default Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit cb29e691977ac7677ca62c13cc9aa1eab2463075 Author: Erik Andr?n Date: Wed Jan 7 18:05:08 2009 -0300 V4L/DVB (11458): gspca - m5602-po1030: Set all v4l2 controls at sensor init Previously many of the v4l2 ctrls were set to their initial values at resume from ram/disk. This patch enforces the values stored in the ctrl cache. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 274290822e22bf4d5394ce029c867a4051342d38 Author: Erik Andr?n Date: Wed Jan 7 17:41:47 2009 -0300 V4L/DVB (11457): gspca - m5602-po1030: Simplify register defines This patch renames some register defines in the ov9650 sensor. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit bb9460eb96571c3f0ad493e54b28f04e33df6041 Author: Erik Andr?n Date: Wed Jan 7 13:54:13 2009 -0300 V4L/DVB (11456): gspca - m5602-po1030: Rename register defines, add missing ones. The po1030 register defines are unnecessarily complex, simplify them and also add some missing ones. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 6f02d76161e7d1b52e4994d83177209a5a93bc7e Author: Erik Andr?n Date: Tue Jan 6 12:58:50 2009 -0300 V4L/DVB (11455): gspca - m5602-ov9650: Improve the vflip quirk handling. Regardless of the actual sensor orientation vflip = 0 is normal, and vflip = 1 is upside down. This patch makes that happen Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 09a7480ec127d26cade353b49f912c3348f6532e Author: Erik Andr?n Date: Tue Jan 6 11:59:42 2009 -0300 V4L/DVB (11454): gspca - m5602-mt9m111: Remove the unused power_down struct member The power_down sensor struct member is almost has no purpose in the current driver abstraction. Remove it. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit a594fb4866ddebcb413577974654be8cffc37a1b Author: Erik Andr?n Date: Tue Jan 6 11:37:03 2009 -0300 V4L/DVB (11453): gspca - m5602-s5k4aa: Convert to use the v4l2 ctrl cache Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 05d7d9ced6fa6153735123412ba8bef329f80a53 Author: Erik Andr?n Date: Tue Jan 6 06:39:11 2009 -0300 V4L/DVB (11452): gspca - m5602-po1030: Convert to have a v4l2 ctrl cache Let the po1030 have a local v4l2 ctrl cache as this minimizes the load on reading the registers and improves performance. Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit ac3d5bfecc362a91f38ad864f5d34c639f894214 Author: Luk?? Karas Date: Fri Apr 3 02:45:56 2009 -0300 V4L/DVB (11451): gspca - m5602-s5k83a: Add rotation, ctrl cache. Rename some ctrls. s5k83a sensor mounted on many acer laptops have a swiwel allowing it to be rotated. When the camera is in its rotated state, the image needs to be flipped. The only way to check for if the camera has been flipped is to continously poll a register in the m5602. This patch creates a kernel thread which does this. This patch renames some v4l2 ctrls and finally implements a cache in order to prevent unnecessary sensor reads. Signed-off-by: Luk?? Karas Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 04f15655f6cd99ba7d7c9ef8f969a71061a1fbac Author: Erik Andr?n Date: Sun Jan 4 16:52:48 2009 -0300 V4L/DVB (11450): gspca - m5602-mt9m111: Convert the mt9m111 to use a v4l2 ctrl cache Signed-off-by: Erik Andr?n Signed-off-by: Mauro Carvalho Chehab commit 881cd41882fa5762e3f831dd997368fef5257274 Author: Jean-Francois Moine Date: Sun Apr 5 04:01:13 2009 -0300 V4L/DVB (11449): gspca - zc3xx: Bad probe of many webcams since adcm2700 addition. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2444163122c42f0f25db9b49a5e55c28eaf0b0f2 Author: Hans de Goede Date: Fri Mar 27 16:08:20 2009 -0300 V4L/DVB (11448): gspca - main: Use usb interface as parent. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5d3fa30ddcc93bb5e0078f67cfe8d277f6334c57 Author: Alexey Klimov Date: Fri Mar 27 15:57:46 2009 -0300 V4L/DVB (11447): gspca - mr97310a: Return good error code in mod_init. Signed-off-by: Alexey Klimov Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit dd72cb3eda68067f27e928a44aa40d82f972669a Author: Jean-Francois Moine Date: Thu Mar 12 04:40:19 2009 -0300 V4L/DVB (11446): gspca - t613: Do sensor reset only for sensor om6802. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2f38d70fb4e97e7d00e12eaac45790cf6ebd7b22 Author: Oleg Nesterov Date: Tue Jun 16 22:07:46 2009 +0200 shift current_cred() from __f_setown() to f_modown() Shift current_cred() from __f_setown() to f_modown(). This reduces the number of arguments and saves 48 bytes from fs/fcntl.o. [ Note: this doesn't clear euid/uid when pid is set to NULL. But if f_owner.pid == NULL we never use f_owner.uid/euid. Otherwise we'd have a bug anyway: we must not send signals if pid was reset to NULL. ] Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: Linus Torvalds commit 00635b8ee2b5650fd01f5602ecfa289db336b570 Author: Stefan Richter Date: Tue Jun 16 22:35:32 2009 +0200 firewire: net: better FIFO address range check and rcodes The AR req handler should not check the generation; higher level code is the better place to handle bus generation changes. The target node ID just needs to be checked for not being the "all nodes" address; in this case don't handle the request and don't respond. Use Address_Error and Type_Error rcodes as appropriate. Signed-off-by: Stefan Richter commit b01b4babbf204443b5a846a7494546501614cefc Author: Stefan Richter Date: Tue Jun 16 20:43:55 2009 +0200 firewire: net: fix card driver reloading Fix some problems from "firewire: net: allow for unordered unit discovery": - fwnet_remove was missing a list_del, causing fwnet_probe to crash if called after fwnet_remove, e.g. if firewire-ohci was unloaded and reloaded. - fwnet_probe should set its new_netdev flag only if it actually allocated a net_device. - Use dev_set_drvdata and dev_get_drvdata instead of deprecated direct access to device.driver_data. Signed-off-by: Stefan Richter commit d645f4dad056a98089df904294f66b96d04e91b6 Author: Stefan Richter Date: Tue Jun 16 19:15:25 2009 +0200 firewire: core: fix iso context shutdown on card removal If isochronous contexts existed when firewire-ohci was unloaded, the core iso shutdown functions crashed with NULL dereferences, and buffers etc. weren't released. How the fix works: We first copy the card driver's iso shutdown hooks into the dummy driver, then fw_destroy_nodes notifies upper layers of devices going away, these should shut down (including their iso contexts), wait_for_completion(&card->done) will be triggered after upper layers gave up all fw_device references, after which the card driver's shutdown proceeds. Signed-off-by: Stefan Richter commit 29ad14cddd6246d17ff22f496363dfd6b3de8964 Author: Stefan Richter Date: Mon Jun 15 00:38:50 2009 +0200 firewire: core: fix DMA unmapping in iso buffer removal dmap_unmap_page() shall use the same direction as dma_map_page(). Signed-off-by: Stefan Richter commit 00e95830a4d6e49f764fdb19896a89199bc0aa3b Author: Li Zefan Date: Tue Jun 16 16:39:41 2009 +0800 tracing/filters: fix race between filter setting and module unload Module unload is protected by event_mutex, while setting filter is protected by filter_mutex. This leads to the race: echo 'bar == 0 || bar == 10' \ | > sample/filter | | insmod sample.ko add_pred("bar == 0") | -> n_preds == 1 | add_pred("bar == 100") | -> n_preds == 2 | | rmmod sample.ko | insmod sample.ko add_pred("&&") | -> n_preds == 1 (should be 3) | Now event->filter->preds is corrupted. An then when filter_match_preds() is called, the WARN_ON() in it will be triggered. To avoid the race, we remove filter_mutex, and replace it with event_mutex. [ Impact: prevent corruption of filters by module removing and loading ] Signed-off-by: Li Zefan LKML-Reference: <4A375A4D.6000205@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 57be88878e7aa38750384704d811485a607bbda4 Author: Li Zefan Date: Tue Jun 16 16:39:12 2009 +0800 tracing/filters: free filter_string in destroy_preds() filter->filter_string is not freed when unloading a module: # insmod trace-events-sample.ko # echo "bar < 100" > /mnt/tracing/events/sample/foo_bar/filter # rmmod trace-events-sample.ko [ Impact: fix memory leak when unloading module ] Signed-off-by: Li Zefan LKML-Reference: <4A375A30.9060802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit fa7439531dee58277748c819785a44d3203c4b51 Author: Steven Rostedt Date: Tue Jun 16 12:37:57 2009 -0400 ring-buffer: use commit counters for commit pointer accounting The ring buffer is made up of three sets of pointers. The head page pointer, which points to the next page for the reader to get. The commit pointer and commit index, which points to the page and index of the last committed write respectively. The tail pointer and tail index, which points to the page and the index of the last reserved data respectively (non committed). The commit pointer is only moved forward by the outer most writer. If a nested writer comes in, it will not move the pointer forward. The current implementation has a flaw. It assumes that the outer most writer successfully reserved data. There's a small race window where the outer most writer could find the tail pointer, but a nested writer could come in (via interrupt) and move the tail forward, and even the commit forward. The outer writer would not realized the commit moved forward and the accounting will break. This patch changes the design to use counters in the per cpu buffers to keep track of commits. The counters are incremented at the start of the commit, and decremented at the end. If the end commit counter is 1, then it moves the commit pointers. A loop is made to check for races between checking and moving the commit pointers. Only the outer commit should move the pointers anyway. The test of knowing if a reserve is equal to the last commit update is still needed to know for time keeping. The time code is much less racey than the commit updates. This change not only solves the mentioned race, but also makes the code simpler. [ Impact: fix commit race and simplify code ] Signed-off-by: Steven Rostedt commit 263294f3e1e883b9dcbf0c09a54b644918f7729d Author: Steven Rostedt Date: Tue Jun 16 11:50:18 2009 -0400 ring-buffer: remove unused variable Fix the compiler error: kernel/trace/ring_buffer.c: In function 'rb_move_tail': kernel/trace/ring_buffer.c:1236: warning: unused variable 'event' Signed-off-by: Steven Rostedt commit e56e2dcd381d9ec35379328f332221581eda4787 Author: Tony Luck Date: Mon Jun 15 16:22:09 2009 -0700 [IA64] ia64 does not need umount2() syscall ia64 doesn't have old and new versions of the umount system call. It just has the new version. Fixes this build warning: :395:2: warning: #warning syscall umount2 not implemented Signed-off-by: Tony Luck commit 97de6ad196db75a26077171014493c9d26be8a5d Author: Tony Luck Date: Mon Jun 15 16:11:43 2009 -0700 [IA64] hook up new rt_tgsigqueueinfo syscall Assign syscall #1321 for rt_tgsigqueueinfo. Signed-off-by: Tony Luck commit b3fec0fe35a4ff048484f1408385a27695d4273b Merge: e1f5b94 722f2a6 Author: Linus Torvalds Date: Tue Jun 16 13:09:51 2009 -0700 Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: (39 commits) signal: fix __send_signal() false positive kmemcheck warning fs: fix do_mount_root() false positive kmemcheck warning fs: introduce __getname_gfp() trace: annotate bitfields in struct ring_buffer_event net: annotate struct sock bitfield c2port: annotate bitfield for kmemcheck net: annotate inet_timewait_sock bitfields ieee1394/csr1212: fix false positive kmemcheck report ieee1394: annotate bitfield net: annotate bitfields in struct inet_sock net: use kmemcheck bitfields API for skbuff kmemcheck: introduce bitfield API kmemcheck: add opcode self-testing at boot x86: unify pte_hidden x86: make _PAGE_HIDDEN conditional kmemcheck: make kconfig accessible for other architectures kmemcheck: enable in the x86 Kconfig kmemcheck: add hooks for the page allocator kmemcheck: add hooks for page- and sg-dma-mappings kmemcheck: don't track page tables ... commit e1f5b94fd0c93c3e27ede88b7ab652d086dc960f Merge: 6fd0330 1b6ed69 Author: Linus Torvalds Date: Tue Jun 16 13:06:10 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits) USB: xhci depends on PCI. USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. USB: xhci: Respect critical sections. USB: xHCI: Fix interrupt moderation. USB: xhci: Remove packed attribute from structures. usb; xhci: Fix TRB offset calculations. USB: xhci: replace if-elseif-else with switch-case USB: xhci: Make xhci-mem.c include linux/dmapool.h USB: xhci: drop spinlock in xhci_urb_enqueue() error path. USB: Change names of SuperSpeed ep companion descriptor structs. USB: xhci: Avoid compiler reordering in Link TRB giveback. USB: xhci: Clean up xhci_irq() function. USB: xhci: Avoid global namespace pollution. USB: xhci: Fix Link TRB handoff bit twiddling. USB: xhci: Fix register write order. USB: xhci: fix some compiler warnings in xhci.h USB: xhci: fix lots of compiler warnings. USB: xhci: use xhci_handle_event instead of handle_event USB: xhci: URB cancellation support. USB: xhci: Scatter gather list support for bulk transfers. ... commit 6fd03301d76bc439382710e449f58efbb233df1b Merge: cd5232b e4792aa Author: Linus Torvalds Date: Tue Jun 16 12:57:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (64 commits) debugfs: use specified mode to possibly mark files read/write only debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem. xen: remove driver_data direct access of struct device from more drivers usb: gadget: at91_udc: remove driver_data direct access of struct device uml: remove driver_data direct access of struct device block/ps3: remove driver_data direct access of struct device s390: remove driver_data direct access of struct device parport: remove driver_data direct access of struct device parisc: remove driver_data direct access of struct device of_serial: remove driver_data direct access of struct device mips: remove driver_data direct access of struct device ipmi: remove driver_data direct access of struct device infiniband: ehca: remove driver_data direct access of struct device ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device hvcs: remove driver_data direct access of struct device xen block: remove driver_data direct access of struct device thermal: remove driver_data direct access of struct device scsi: remove driver_data direct access of struct device pcmcia: remove driver_data direct access of struct device PCIE: remove driver_data direct access of struct device ... Manually fix up trivial conflicts due to different direct driver_data direct access fixups in drivers/block/{ps3disk.c,ps3vram.c} commit cd5232bd6be2d215a800f3d88c287ca791debfbe Merge: 300df7d f7c52fd Author: Linus Torvalds Date: Tue Jun 16 12:23:52 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: fix regression preventing coalescing of extents commit 300df7dc89cc276377fc020704e34875d5c473b6 Merge: 661adc4 9af0b38 Author: Linus Torvalds Date: Tue Jun 16 12:11:57 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2/net: Use wait_event() in o2net_send_message_vec() ocfs2: Adjust rightmost path in ocfs2_add_branch. ocfs2: fdatasync should skip unimportant metadata writeout ocfs2: Remove redundant gotos in ocfs2_mount_volume() ocfs2: Add statistics for the checksum and ecc operations. ocfs2 patch to track delayed orphan scan timer statistics ocfs2: timer to queue scan of all orphan slots ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories ocfs2: Fix possible deadlock in quota recovery ocfs2: Fix possible deadlock with quotas in ocfs2_setattr() ocfs2: Fix lock inversion in ocfs2_local_read_info() ocfs2: Fix possible deadlock in ocfs2_global_read_dquot() ocfs2: update comments in masklog.h ocfs2: Don't printk the error when listing too many xattrs. commit 661adc423d70203a56723701aaf255e16950dfdb Merge: 15bdb56 3b13b5c Author: Linus Torvalds Date: Tue Jun 16 12:10:31 2009 -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: ALSA: ctxfi - Fix deadlock with xfi-timer ALSA: intel8x0 - Fix PCM position craziness ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII ASoC: magician: fix PXA SSP clock polarity ASoC: Instantiate any forgotten DAPM widgets ASoC: Revert duplicated code in SSM2602 driver ALSA: hda - Add quirk for Acer Aspire 6935G ALSA: ctxfi - Replace atc lock to mutex ASoC: Remove odd bit clock ratios for WM8903 commit 15bdb5652689d51cc0316de61774d2732472d9e1 Merge: 98523d4 1a2c4b3 Author: Linus Torvalds Date: Tue Jun 16 12:03:43 2009 -0700 Merge branch 'serial' * serial: imx: Check for NULL pointer deref before calling tty_encode_baud_rate atmel_serial: fix hang in set_termios when crtscts is enabled MAINTAINERS: update 8250 section, give Alan Cox a name tty: fix sanity check pty: Narrow the race on ldisc locking tty: fix unused warning when TCGETX is not defined ldisc: debug aids ldisc: Make sure the ldisc isn't active when we close it tty: Fix leaks introduced by the shift to separate ldisc objects Fix conflicts in drivers/char/pty.c due to earlier version of the ldisc race narrowing. commit 1a2c4b3147ac0645605d6def2855478861d9361b Author: Sascha Hauer Date: Tue Jun 16 17:02:15 2009 +0100 imx: Check for NULL pointer deref before calling tty_encode_baud_rate Signed-off-by: Sascha Hauer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0ccad87012c6c2e7446e4dc0f0894cf182a5270a Author: Haavard Skinnemoen Date: Tue Jun 16 17:02:03 2009 +0100 atmel_serial: fix hang in set_termios when crtscts is enabled After enabling hardware flow control, any subsequent termios call may hang waiting for the transmitter to drain. This appears to be caused by a busy-loop in set_termios() waiting for the transmitter to become empty, which may take a very long time (or hang indefinitely) if the device at the other end is blocking us. A quick look through the tty and serial_core code indicates that any necessary flushing (which is optional) has already been done at this point, so there's no need for the driver to flush the transmitter on its own. Fix it by removing the busy-loop altogether. Tested-by: Eirik Aanonsen Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit dc9879291be479e096c5cfac33effc2ade74309b Author: Joe Perches Date: Tue Jun 16 17:01:52 2009 +0100 MAINTAINERS: update 8250 section, give Alan Cox a name Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1aa4bed82a684308f54bf782cffaecd4b1dc3cf4 Author: Alan Cox Date: Tue Jun 16 17:01:33 2009 +0100 tty: fix sanity check The WARN_ON() that was added to tty_reopen can be triggered in the specific case of a hangup occurring during a re-open of a tty which is not in the middle of being otherwise closed. In that case however the WARN() is bogus as we don't hold the neccessary locks to make a correct decision. The case we should be checking is "if the ldisc is not changing and reopen is occuring". We could drop the WARN_ON but for the moment the debug is more valuable even if it means taking a mutex as it will find any other cases. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 762faaed91e4ea4a3c34bc58f3221d9487acb470 Author: Alan Cox Date: Tue Jun 16 17:01:13 2009 +0100 pty: Narrow the race on ldisc locking The pty code has always been buggy on its ldisc handling. The recent changes made the window for the race much bigger. Pending fixing it properly which is not at all trivial, at least make the race small again so we don't disrupt other dev work. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5dca607bcf10d3f08d07ffeac664c6769c336145 Author: Mike Frysinger Date: Tue Jun 16 17:01:02 2009 +0100 tty: fix unused warning when TCGETX is not defined If TCGETX is not defined, we end up with this warning: drivers/char/tty_ioctl.c: In function ‘tty_mode_ioctl’: drivers/char/tty_ioctl.c:950: warning: unused variable ‘ktermx’ Since the variable is only used in one case statement, push it down to the local case scope. Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 677ca3060c474d7d89941948e32493d9c18c52d2 Author: Alan Cox Date: Tue Jun 16 17:00:53 2009 +0100 ldisc: debug aids Signed-off-by: Linus Torvalds commit 52856ed732aeab5e8e0b7c9e2a7a3d31736218ab Author: Alan Cox Date: Tue Jun 16 17:00:40 2009 +0100 ldisc: Make sure the ldisc isn't active when we close it Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8d2ead743dd54dff1fe3d0f4933e5da8bfe07472 Author: Alan Cox Date: Tue Jun 16 17:00:26 2009 +0100 tty: Fix leaks introduced by the shift to separate ldisc objects Gold star for the kmemleak detector. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 98523d4630865c407d3787fd592e5e399488b93b Merge: 8d6cea5 aaa7e2f Author: Linus Torvalds Date: Tue Jun 16 11:52:41 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (30 commits) sparc64: Update defconfig. sparc: Wire up sys_rt_tgsigqueueinfo(). openprom: Squelch useless GCC warning. sparc: replace uses of CPU_MASK_ALL_PTR sparc64: Add proper dynamic ftrace support. sparc: Simplify code using is_power_of_2() routine. sparc: move of_device common code to of_device_common sparc: remove dma-mapping_{32|64}.h sparc: use dma_map_page instead of dma_map_single sparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops sparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h p9100: use standard fields for framebuffer physical address and length leo: use standard fields for framebuffer physical address and length cg6: use standard fields for framebuffer physical address and length cg3: use standard fields for framebuffer physical address and length cg14: use standard fields for framebuffer physical address and length bw2: use standard fields for framebuffer physical address and length sparc64: fix and optimize irq distribution sparc64: Use new dynamic per-cpu allocator. sparc64: Only allocate per-cpu areas for possible cpus. ... commit 8d6cea5111f2daea8acf79d7b4b384a14175ecc1 Merge: 6a454f7 61cdd7a Author: Linus Torvalds Date: Tue Jun 16 11:49:58 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (27 commits) Blackfin: hook up new rt_tgsigqueueinfo syscall Blackfin: improve CLKIN_HZ config default Blackfin: initial support for ftrace grapher Blackfin: initial support for ftrace Blackfin: enable support for LOCKDEP Blackfin: add preliminary support for STACKTRACE Blackfin: move custom sections into sections.h Blackfin: punt unused/wrong mutex-dec.h Blackfin: add support for irqflags Blackfin: add support for bzip2/lzma compressed kernel images Blackfin: convert Kconfig style to def_bool Blackfin: bf548-ezkit: update smsc911x resources Blackfin: update aedos-ipipe code to upstream 1.10-00 Blackfin: bf537-stamp: update ADP5520 resources Blackfin: bf518f-ezbrd: fix SPI CS for SPI flash Blackfin: define SPI IRQ in board resources Blackfin: do not configure the UART early if on wrong processor Blackfin: fix deadlock in SMP IPI handler Blackfin: fix flag storage for irq funcs Blackfin: push down exception oops checking ... commit 6a454f71d795368c00d9c329b60cc4d58929e7bc Merge: d613839 155af2f Author: Linus Torvalds Date: Tue Jun 16 11:48:13 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (33 commits) [S390] s390: hibernation support for s390 [S390] pm: dcssblk power management callbacks. [S390] pm: monreader power management callbacks. [S390] pm: monwriter power management callbacks. [S390] pm: memory hotplug power management callbacks [S390] pm: con3270 power management callbacks. [S390] pm: smsgiucv power management callbacks. [S390] pm: hvc_iucv power management callbacks [S390] PM: af_iucv power management callbacks. [S390] pm: netiucv power management callbacks. [S390] pm: iucv power management callbacks. [S390] iucv: establish reboot notifier [S390] pm: power management support for SCLP drivers. [S390] pm: tape power management callbacks [S390] pm: vmlogrdr power management callbacks [S390] pm: vmur driver power management callbacks [S390] pm: appldata power management callbacks [S390] pm: vmwatchdog power management callbacks. [S390] pm: zfcp driver power management callbacks [S390] pm: claw driver power management callbacks ... commit d613839ef987d20f7c9347732b452efd921b97d9 Merge: 609106b e212d6f Author: Linus Torvalds Date: Tue Jun 16 11:46:45 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: remove some includings of blktrace_api.h mg_disk: seperate mg_disk.h again block: Introduce helper to reset queue limits to default values cfq: remove extraneous '\n' in blktrace output ubifs: register backing_dev_info btrfs: properly register fs backing device block: don't overwrite bdi->state after bdi_init() has been run cfq: cleanup for last_end_request in cfq_data commit 43a1a3ed6bf5a1b9ae197b4f5f20033baf19db61 Author: Ira Snyder Date: Thu May 28 09:26:40 2009 +0000 fsldma: do not clear bandwidth control bits on the 83xx controller The 83xx controller does not support the external pause feature. The bit in the mode register that controls external pause on the 85xx controller happens to be part of the bandwidth control settings for the 83xx controller. This patch fixes the driver so that it only clears the external pause bit if the hardware is the 85xx controller. When driving the 83xx controller, the bit is left untouched. This follows the existing convention that mode registers settings are not touched unless necessary. Signed-off-by: Ira W. Snyder Signed-off-by: Dan Williams commit f7c52fd17a7dda42fc9e88c2b2678403419bfe63 Author: Dave Kleikamp Date: Tue Jun 16 13:43:22 2009 -0500 jfs: fix regression preventing coalescing of extents Commit fec1878fe952b994125a3be7c94b1322db586f3b caused a regression in which contiguous blocks being allocated to the end of an extent were getting a new extent created. This typically results in files entirely made up of 1-block extents even though the blocks are contiguous on disk. Apparently grub doesn't handle a jfs file being fragmented into too many extents, since it refuses to boot a kernel from jfs that was created by the 2.6.30 kernel. Signed-off-by: Dave Kleikamp Reported-by: Alex commit be30b226f2ae618cd719e40267d9923db1db9001 Author: Ira Snyder Date: Thu May 28 09:20:42 2009 +0000 fsldma: enable external start for the 83xx controller The 83xx controller has external start capability, but lacks external pause capability. Hook up the external start function pointer for the 83xx controller. Signed-off-by: Ira W. Snyder Signed-off-by: Dan Williams commit 609106b9ac968adbc76ce78c979fc3903a56e16c Merge: 69257ca 42e27bf Author: Linus Torvalds Date: Tue Jun 16 11:30:37 2009 -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: (38 commits) ps3flash: Always read chunks of 256 KiB, and cache them ps3flash: Cache the last accessed FLASH chunk ps3: Replace direct file operations by callback ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL() ps3: Correct debug message in dma_ioc0_map_pages() drivers/ps3: Add missing annotations ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices block/ps3: remove driver_data direct access of struct device ps3vram: Make ps3vram_priv.reports a void * ps3vram: Remove no longer used ps3vram_priv.ddr_base ps3vram: Replace mutex by spinlock + bio_list block: Add bio_list_peek() powerpc: Use generic atomic64_t implementation on 32-bit processors lib: Provide generic atomic64_t implementation powerpc: Add compiler memory barrier to mtmsr macro powerpc/iseries: Mark signal_vsp_instruction() as maybe unused powerpc/iseries: Fix unused function warning in iSeries DT code ... commit 69257cae20640a396f03aa0bf169b815ba66a58a Merge: 23059a0 978d910 Author: Linus Torvalds Date: Tue Jun 16 11:30:16 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: always update root items for fs trees at commit time commit 23059a0df5fad3d83b9a21fc2696a39148f49617 Merge: 4858704 21bea49 Author: Linus Torvalds Date: Tue Jun 16 11:29:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: split fat_generic_ioctl FAT: add 'errors' mount option commit a7aea373b4ca428f1be2c1fedd2f26c8e3f2864d Author: Ira W. Snyder Date: Thu Apr 23 16:17:54 2009 -0700 fsldma: use PCI Read Multiple command By default, the Freescale 83xx DMA controller uses the PCI Read Line command when reading data over the PCI bus. Setting the controller to use the PCI Read Multiple command instead allows the controller to read much larger bursts of data, which provides a drastic speed increase. The slowdown due to using PCI Read Line was only observed when a PCI-to-PCI bridge was between the devices trying to communicate. A simple test driver showed an increase from 4MB/sec to 116MB/sec when performing DMA over the PCI bus. Using DMA to transfer between blocks of local SDRAM showed no change in performance with this patch. The dmatest driver was also used to verify the correctness of the transfers, and showed no errors. Signed-off-by: Ira W. Snyder Acked-by: Timur Tabi Acked-by: Kumar Gala Signed-off-by: Dan Williams commit 4858704da75ba84ce21e6d4b3b974e8b8594c9f2 Merge: 86ade88 036533e Author: Linus Torvalds Date: Tue Jun 16 11:29:17 2009 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: therm_windtunnel: Convert to a new-style i2c driver therm_adt746x: Convert to a new-style i2c driver windfarm: Convert to new-style i2c drivers therm_pm72: Convert to a new-style i2c driver i2c-viapro: Add new PCI device ID for VX855 i2c/chips: Move max6875 to drivers/misc/eeprom i2c: Do not give adapters a default parent i2c: Do not probe for TV chips on Voodoo3 adapters i2c: Retry automatically on arbitration loss i2c: Remove void casts commit 86ade88e15b0852fa437e816037ecb266ae990ad Merge: 9bd47bf 52b5226 Author: Linus Torvalds Date: Tue Jun 16 11:28:50 2009 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (max6650) Add support for alarms hwmon: (f71882fg) Add support for the F71858F hwmon: (f71882fg) Add temp#_fault sysfs attr for f8000 hwmon: (f71882fg) Sanity check f8000 pwm settings hwmon: (f71882fg) Cleanup f8000 pwm handling hwmon: PCI quirk for hwmon access on MSI MS-7031 board hwmon: (w83627ehf) Add W83627DHG-P support hwmon: (tmp401) Add documentation hwmon: (tmp401) Add support for TI's TMP411 sensors chip hwmon: (tmp401) Add support for TI's TMP401 sensor chip hwmon: (ibmaem) Automatically load on HC10 blade hwmon: Fix more __devexit_p glitches commit 9bd47bf9324d4c6a49292d98019938b04791a35d Merge: 46a5066 d6a1cd4 Author: Linus Torvalds Date: Tue Jun 16 11:24:23 2009 -0700 Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits) ACPICA: Update version to 20090521. ACPICA: Disable preservation of SCI enable bit (SCI_EN) ACPICA: Region deletion: Ensure region object is removed from handler list ACPICA: Eliminate extra call to NsGetParentNode ACPICA: Simplify internal operation region interface ACPICA: Update Load() to use operation region interfaces ACPICA: New: AcpiInstallMethod - install a single control method ACPICA: Invalidate DdbHandle after table unload ACPICA: Fix reference count issues for DdbHandle object ACPICA: Simplify and optimize NsGetNextNode function ACPICA: Additional validation of _PRT packages (resource mgr) ACPICA: Fix DebugObject output for DdbHandle objects ACPICA: Fix allowable release order for ASL mutex objects ACPICA: Mutex support: Fix release ordering issue and current sync level ACPICA: Update version to 20090422. ACPICA: Linux OSL: cleanup/update/merge ACPICA: Fix implementation of AML BreakPoint operator (break to debugger) ACPICA: Fix miscellaneous warnings under gcc 4+ ACPICA: Miscellaneous lint changes ACPICA: Fix possible dereference of null pointer ... commit 46a50661fc95d4acf5e4c203f7889234238ce642 Author: Alan Cox Date: Mon Jun 15 16:28:29 2009 +0100 tty: Fix leaks introduced by the shift to separate ldisc objects Gold star for the kmemleak detector. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cbcb6d66af4c6169ce1c2d01a3ab345f04b8359d Author: Alan Cox Date: Mon Jun 15 16:27:29 2009 +0100 pty: Narrow the race on ldisc locking The pty code has always been buggy on its ldisc handling. The recent changes made the window for the race much bigger. Pending fixing it properly which is not at all trivial, at least make the race small again so we don't disrupt other dev work. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b231125af7811a2f68c455d3bda95ac170ee4fa6 Author: Linus Torvalds Date: Tue Jun 16 11:07:14 2009 -0700 printk: add KERN_DEFAULT loglevel to print_modules() Several WARN_ON() messages omit the '\n' at the end of the string, which is a simple (and understandable) error. The next line printed after that warning line is usually the current module list, and that printk does not have a log-level marker - resulting in one long mixed-up line. Adding this loglevel marker will now avoid this unreadable mess. Signed-off-by: Linus Torvalds commit e28d713704117bca0820c732210df6075b09f13b Author: Linus Torvalds Date: Tue Jun 16 11:02:28 2009 -0700 printk: Add KERN_DEFAULT printk log-level This adds a KERN_DEFAULT loglevel marker, for when you cannot decide which loglevel you want, and just want to keep an existing printk with the default loglevel. The difference between having KERN_DEFAULT and having no log-level marker at all is two-fold: - having the log-level marker will now force a new-line if the previous printout had not added one (perhaps because it forgot, but perhaps because it expected a continuation) - having a log-level marker is required if you are printing out a message that otherwise itself could perhaps otherwise be mistaken for a log-level. Signed-of-by: Linus Torvalds commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f Author: Linus Torvalds Date: Tue Jun 16 10:57:02 2009 -0700 printk: clean up handling of log-levels and newlines It used to be that we would only look at the log-level in a printk() after explicit newlines, which can cause annoying problems when the previous printk() did not end with a '\n'. In that case, the log-level marker would be just printed out in the middle of the line, and be seen as just noise rather than change the logging level. This changes things to always look at the log-level in the first bytes of the printout. If a log level marker is found, it is always used as the log-level. Additionally, if no newline existed, one is added (unless the log-level is the explicit KERN_CONT marker, to explicitly show that it's a continuation of a previous line). Acked-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 9086c7b90abbf4ec29543e8f2424e3ecd14e955d Author: Steven Rostedt Date: Tue Jun 16 11:46:09 2009 -0400 ring-buffer: have benchmark test handle discarded events With the addition of commit: c7b0930857e2278f2e7714db6294e94c57f623b0 ring-buffer: prevent adding write in discarded area The ring buffer may now add discarded events when a write passes the end of a buffer page. Before, a discarded event was only added when the tracer deliberately created one. The ring buffer benchmark test does not handle discarded events when it reads the buffer and fails when it encounters one. Also fix the increment for large data entries (luckily, the test did not add any yet). [ Impact: fix false failure of ring buffer self test ] Signed-off-by: Steven Rostedt commit 6c18ba9f5e506b8115b89b1aa7bdc25178f40b0a Author: Alexandros Batsakis Date: Tue Jun 16 04:19:13 2009 +0300 nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct the change is valid for both the forechannel and the backchannel (currently dummy) Signed-off-by: Alexandros Batsakis Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 3b13b5ce8c1b52379aff80666d31d4354354b2d4 Merge: b909005 d9e89bf Author: Takashi Iwai Date: Tue Jun 16 17:38:50 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII commit b909005ce15886e9f3283b876e17901f8057d2f7 Merge: 7998d90 f708eb1 Author: Takashi Iwai Date: Tue Jun 16 17:38:46 2009 +0200 Merge branch 'topic/intel8x0' into for-linus * topic/intel8x0: ALSA: intel8x0 - Fix PCM position craziness commit 7998d90a143d0f8fbbb45282d5900a844de9bc16 Merge: 3d2aa66 e46b0c8 Author: Takashi Iwai Date: Tue Jun 16 17:38:43 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - Add quirk for Acer Aspire 6935G commit 3d2aa66ddaa3008ae2c71bca07eb5e8b08170c4a Merge: 21ce3cd 8dca419 Author: Takashi Iwai Date: Tue Jun 16 17:38:40 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: ALSA: ctxfi - Fix deadlock with xfi-timer ALSA: ctxfi - Replace atc lock to mutex commit 21ce3cd63365b0d07794adeb4325944bfa86fb4e Merge: e3f86d3 33745fb Author: Takashi Iwai Date: Tue Jun 16 17:38:36 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: magician: fix PXA SSP clock polarity ASoC: Instantiate any forgotten DAPM widgets ASoC: Revert duplicated code in SSM2602 driver ASoC: Remove odd bit clock ratios for WM8903 commit d78ff0a50aac6a1bfe445969dd963e6486e49f56 Author: Robert Jarzmik Date: Tue Jun 16 07:51:05 2009 +0200 MAINTAINERS: add entry for Mitac Mio A701 board Add maintainer entry for Mitac Mio A701 board. Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit cafc22658e85f65df72bee31c31b1fb337e7e606 Author: Stefan Schmidt Date: Sun Jun 14 01:08:36 2009 +0200 MAINTAINERS: Update entry with file and SCM for EZX Add file entry for easier mainatiner detection and make SCM more visible. Signed-off-by: Stefan Schmidt Signed-off-by: Eric Miao commit 90af5811eb1fd69968f7c99e0cae6a5825dcf229 Author: Tomas 'Sleep_Walker' Cech Date: Fri May 22 16:05:58 2009 +0200 MAINTAINERS: add entry for Palm Treo680 Signed-off-by: Tomáš Čech Signed-off-by: Eric Miao commit 8776b268c6b0b671c2c744b06fee021b6da3e45f Author: Mark Brown Date: Sun Apr 26 12:53:58 2009 +0100 [ARM] pxa: register wm8731 explicitly for corgi and poodle The wm8731 driver has been converted to register using the standard I2C device registration mechanism so we can now do the registration in the arch/arm code as normal. Signed-off-by: Mark Brown Signed-off-by: Eric Miao commit e567b74caff03c0ed66b3d3e11c0acd17fbcfb9a Author: Philipp Zabel Date: Thu May 28 07:15:17 2009 +0200 [ARM] pxa/mioa701: add V3 gain configuration for Maxim 1586 voltage regulator Maxim 1586 V3 gain can be configured by external resistors (R24, R25) connected to the FB3 pin. To avoid accidental overvoltage, it now requires this gain to be configured explicitly. Signed-off-by: Philipp Zabel Acked-by: Robert Jarzmik Signed-off-by: Eric Miao commit 9752e14898102063a67b44e6db5b758092e769a4 Author: Robert Jarzmik Date: Thu Apr 30 11:53:30 2009 +0800 [ARM] pxa/mioa701: add Maxim 1586 voltage regulator On this board, the PXA272 CPU voltage VCC_CORE is provided by a Maxim 1586 voltage regulator. Use the regulator framework to provide VCC_CORE control. When cpufreq will be updated to ask for vcc_core, this will optimize power drained by the board. Signed-off-by: Robert Jarzmik Acked-by: Mark Brown Signed-off-by: Eric Miao commit 6ea0414fc748ab5b1d83a414c7ee3a60190363aa Author: Philipp Zabel Date: Thu May 28 07:15:18 2009 +0200 [ARM] pxa/hx4700: add Maxim 1587A voltage regulator On this board, the PXA270 CPU voltage VCC_CORE is provided by a Maxim 1587A voltage regulator configured to provide 1.55 V maximum voltage for 624 MHz operation. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit e6c3f4b89bf3698a6994d30de7a16ae395a81dab Author: Tomas 'Sleep_Walker' Cech Date: Mon May 18 15:24:14 2009 +0200 [ARM] pxa/treo680: initial support Signed-off-by: Tomáš Čech Acked-by: Marek Vasut Signed-off-by: Eric Miao commit 303f2d7dc8eddc65de27d97eab0fc1c04ec4d2e1 Author: Mike Rapoport Date: Sun Jun 14 12:04:19 2009 +0300 [ARM] pxa/em-x270: fix type in SND_PXA2XX_LIB_AC97 Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit c63a5751d971b07d8cd80f4d4aae75c676665a3b Author: Mike Rapoport Date: Mon May 11 15:06:16 2009 +0300 [ARM] pxa/em-x270: always register AC97 controller device After commit 6b849bcff0004aa5dd216b4d3eb56f51c9df8a72 (ASoC: Convert PXA AC97 driver to probe with the platform device) AC97 controller device should be registered explicitly for both ASoC and generic AC97 drivers Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit a37ed43115b70e832c7e8cc7dabd026d127ad9db Author: Mike Rapoport Date: Mon May 18 08:53:56 2009 +0300 [ARM] pxa/em-x270: add ability to control GPS and GPRS power Register userspace-consumer devices to allow userspace control of voltage regulators supplying GPS and GPRS modules Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 3cb05c97ad38aab0858fc176fd1577ac4a947bad Author: Mike Rapoport Date: Tue Jun 16 15:19:24 2009 +0300 [ARM] pxa/em-x270: remove .gpio_cs from em_x270_libertas_pdata Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 14ebaf81e13ce66bff275380b246796fd16cbfa1 Author: David S. Miller Date: Tue Jun 16 05:40:30 2009 -0700 x25: Fix sleep from timer on socket destroy. If socket destuction gets delayed to a timer, we try to lock_sock() from that timer which won't work. Use bh_lock_sock() in that case. Signed-off-by: David S. Miller Tested-by: Ingo Molnar commit aaa7e2f74f11b5f7e30483807b896d7b3369586f Author: David S. Miller Date: Tue Jun 16 04:59:53 2009 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit d1ae4ce3d0db5153435558f0f3f4ef8f4c790dee Author: David S. Miller Date: Tue Jun 16 04:17:58 2009 -0700 sparc: Wire up sys_rt_tgsigqueueinfo(). Signed-off-by: David S. Miller commit 32e5897da1fc5180aa817c81e6aca74a8f6b6957 Author: David S. Miller Date: Tue Jun 16 03:46:54 2009 -0700 openprom: Squelch useless GCC warning. drivers/sbus/char/openprom.c: In function ‘openprom_sunos_ioctl’: drivers/sbus/char/openprom.c:306: warning: ‘opp’ may be used uninitialized in this function Signed-off-by: David S. Miller commit 6ac5c610828c051666f667d2bdbd51fc15a59e98 Author: Stephen Rothwell Date: Mon Jun 15 03:06:18 2009 -0700 sparc: replace uses of CPU_MASK_ALL_PTR CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: #define CPU_MASK_ALL (cpumask_t) { { ... } } Taking the address of such a temporary is questionable at best, unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added CPU_MASK_ALL_PTR: #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) Which formalizes this practice. One day gcc could bite us over this usage (though we seem to have gotten away with it so far). [Description by Rusty Russell] Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 9be12f9b1c4fd5f18cc82c170a32bfe1713ba76d Author: David S. Miller Date: Sat Jun 13 01:03:24 2009 -0700 sparc64: Add proper dynamic ftrace support. Signed-off-by: David S. Miller Acked-by: Steven Rostedt Acked-by: Ingo Molnar commit 949e82744b31b555dd6dba40758e05338f305233 Author: Robert P. J. Day Date: Fri Apr 24 03:58:24 2009 +0000 sparc: Simplify code using is_power_of_2() routine. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit c9f5b7e77c30da25104a3f7f26ac46c07d7b5cb6 Author: Robert Reif Date: Thu Jun 4 02:00:02 2009 -0700 sparc: move of_device common code to of_device_common This patch moves code common to of_device_32.c and of_device_64.c into of_device_common.h and of_device_common.c. The only functional difference is in sparc32 where of_bus_default_map is used in place of of_bus_sbus_map because they are equivelent. There is still room for further code consolidation with some minor refactoring. Boot tested on sparc32 and compile tested on sparc64. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit d69864158e24f323e818403c6b89ad4871aea6f6 Author: FUJITA Tomonori Date: Thu May 14 16:23:11 2009 +0000 sparc: remove dma-mapping_{32|64}.h This modifies SPARC32 to use struct dma_map ops. It means that we can remove dma-mapping_{32|64}.h. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit 797a75686528e9f6f9bfee2a719a00b47868c999 Author: FUJITA Tomonori Date: Thu May 14 16:23:10 2009 +0000 sparc: use dma_map_page instead of dma_map_single This patch converts dma_map_single and dma_unmap_single to use map_page and unmap_page respectively and removes unnecessary map_single and unmap_single. map_page can be used to implement map_single but the opposite is impossible. Having only dma_map_page in struct dma_ops is enough. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit 2e8fcfe2e51b2ee0fef3313e3c9ec25b9d6ed255 Author: FUJITA Tomonori Date: Thu May 14 16:23:09 2009 +0000 sparc: add sync_single_for_device and sync_sg_for_device to struct dma_ops This adds sync_single_for_device() and sync_sg_for_device() to struct dma_ops in order to unify dma-mpping_{32|64}.h. dma-mpping_32.h needs them though dma-mpping_64.h doesn't. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit b9f69f4f4a953b2b5299fff7fc98e69221e29514 Author: FUJITA Tomonori Date: Thu May 14 16:23:08 2009 +0000 sparc: move the duplication in dma-mapping_{32|64}.h to dma-mapping.h Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Signed-off-by: David S. Miller commit 0d76cb2606cbb2e21f3832773458bb0241f99c6d Author: Krzysztof Helt Date: Mon May 4 10:42:57 2009 +0000 p9100: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 8803f7afe6370af8cd97991bde0c3b53eca4e8da Author: Krzysztof Helt Date: Mon May 4 10:41:56 2009 +0000 leo: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 963b916c1cb42450c7a061b13fcce6c9a2cdea28 Author: Krzysztof Helt Date: Mon May 4 10:39:45 2009 +0000 cg6: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer are displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 9fbfd4b8a4d8c097bcb0efd14a84a6869c0ac4d5 Author: Krzysztof Helt Date: Mon May 4 10:37:46 2009 +0000 cg3: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer is displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit de4dc48ee26ccc9dbc6a86b0710f7fd408149056 Author: Krzysztof Helt Date: Mon May 4 10:36:50 2009 +0000 cg14: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer is displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 3f06cd29358dd390d62afcde14fde54cec9deef9 Author: Krzysztof Helt Date: Mon May 4 10:35:36 2009 +0000 bw2: use standard fields for framebuffer physical address and length Use standard fields fbinfo.fix.smem_start and fbinfo.fix.smem_len for physical address and length of framebuffer. This also fixes output of the 'fbset -i' command - address and length of the framebuffer is displayed correctly. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 280ff97494e0fef4124bee5c52e39b23a18dd283 Author: Hong H. Pham Date: Thu Jun 4 02:10:11 2009 -0700 sparc64: fix and optimize irq distribution irq_choose_cpu() should compare the affinity mask against cpu_online_map rather than CPU_MASK_ALL, since irq_select_affinity() sets the interrupt's affinity mask to cpu_online_map "and" CPU_MASK_ALL (which ends up being just cpu_online_map). The mask comparison in irq_choose_cpu() will always fail since the two masks are not the same. So the CPU chosen is the first CPU in the intersection of cpu_online_map and CPU_MASK_ALL, which is always CPU0. That means all interrupts are reassigned to CPU0... Distributing interrupts to CPUs in a linearly increasing round robin fashion is not optimal for the UltraSPARC T1/T2. Also, the irq_rover in irq_choose_cpu() causes an interrupt to be assigned to a different processor each time the interrupt is allocated and released. This may lead to an unbalanced distribution over time. A static mapping of interrupts to processors is done to optimize and balance interrupt distribution. For the T1/T2, interrupts are spread to different cores first, and then to strands within a core. The following is some benchmarks showing the effects of interrupt distribution on a T2. The test was done with iperf using a pair of T5220 boxes, each with a 10GBe NIU (XAUI) connected back to back. TCP | Stock Linear RR IRQ Optimized IRQ Streams | 2.6.30-rc5 Distribution Distribution | GBits/sec GBits/sec GBits/sec --------+----------------------------------------- 1 0.839 0.862 0.868 8 1.16 4.96 5.88 16 1.15 6.40 8.04 100 1.09 7.28 8.68 Signed-off-by: Hong H. Pham Signed-off-by: David S. Miller commit 4fd78a5f1edf62ab1ca3d23efee4a8a336edb2b6 Author: David S. Miller Date: Wed Apr 8 20:32:02 2009 -0700 sparc64: Use new dynamic per-cpu allocator. Signed-off-by: David S. Miller commit 0c243ad81f234672bebb72cf3dd014b9c841781d Author: David S. Miller Date: Wed Apr 1 16:22:27 2009 -0700 sparc64: Only allocate per-cpu areas for possible cpus. This gets us real close to the generic implementation of setup_per_cpu_areas() except: 1) We store the per-cpu offset into the trap_block[], whereas the generic code has it's own static array. 2) We have to initialize the %g5 register to hold the boot cpu's per-cpu area offset. 3) The OBP/MDESC cpu info scan is performed at the end. Signed-off-by: David S. Miller commit 73fffc037e2383a0ed126d57bdcda9b369769ae8 Author: David S. Miller Date: Wed Apr 1 16:15:20 2009 -0700 sparc64: Get rid of real_setup_per_cpu_areas(). Now that we defer the cpu_data() initializations to the end of per-cpu setup, we can get rid of this local hack we had to setup the per-cpu areas eary. This is a necessary step in order to support HAVE_DYNAMIC_PER_CPU_AREA since the per-cpu setup must run when page structs are available. Signed-off-by: David S. Miller commit b696fdc259f0d94348a9327bed352fac44d4883d Author: David S. Miller Date: Tue May 26 22:37:25 2009 -0700 sparc64: Defer cpu_data() setup until end of per-cpu data initialization. Signed-off-by: David S. Miller commit a2094502dce23e9ace04d49702aa7a4d5996df55 Author: David S. Miller Date: Wed Apr 1 03:15:11 2009 -0700 sparc64: Make mdesc_fill_in_cpu_data take a cpumask_t pointer. Signed-off-by: David S. Miller commit 890db403d59fbeaf273ed019d0b1862223d80a9a Author: David S. Miller Date: Wed Apr 1 03:13:15 2009 -0700 sparc: Call OF and MD cpu scanning explicitly from paging_init() We need to split up the cpu present mask setup from the cpu_data initialization, and this is a first step towards that. Signed-off-by: David S. Miller commit 5052f525fde2dcb550cc3b4f15d2bfdd2a5c8782 Author: David S. Miller Date: Wed Apr 8 19:55:47 2009 -0700 sparc64: Refactor MDESC cpu scanning code using an iterator. Signed-off-by: David S. Miller commit 9bab54143ca16592536c9d35f43cfac0a2a28ea8 Author: David S. Miller Date: Tue May 26 21:46:14 2009 -0700 sparc64: Refactor OBP cpu scanning code using an iterator. With feedback from Sam Ravnborg. Signed-off-by: David S. Miller commit 8249778908783f329a8852285b083ce86437e089 Author: David S. Miller Date: Wed Apr 1 01:57:36 2009 -0700 sparc64: Use BUILD_BUG_ON() in trap_init(). Signed-off-by: David S. Miller commit 5a5488d3bb9a23d9884572e5d85dfeefe8749d3d Author: David S. Miller Date: Wed Apr 1 01:47:10 2009 -0700 sparc64: Store per-cpu offset in trap_block[] Surprisingly this actually makes LOAD_PER_CPU_BASE() a little more efficient. Signed-off-by: David S. Miller commit 19f0fa3fb3499d8c5fb861933959f546d05fc202 Author: David S. Miller Date: Wed Apr 1 01:26:43 2009 -0700 sparc64: Move trap_block[] definitions into a new header file. Later we're going to want to get at these definitions from asm/percpu.h and that's not possible via cpudata.h because of the set of dependencies the non-trap_block[] stuff has. Signed-off-by: David S. Miller commit 557fe0e8842e919aeacedeb5f35444c78232b3c8 Author: David S. Miller Date: Tue Mar 31 17:15:40 2009 -0700 sparc64: Reclaim trap_block[]->hdesc This really isn't necessary at all, a local variable suits the job just fine. This frees up 8 bytes in the trap_block[] that we can use later to store the per-cpu base addresses. Signed-off-by: David S. Miller commit c79ee4e466dd12347f112e2af306dca35198458f Author: Joerg Roedel Date: Tue Jun 16 12:23:58 2009 +0200 dma-debug: fix off-by-one error in overlap function This patch fixes a bug in the overlap function which returned true if one region ends exactly before the second region begins. This is no overlap but the function returned true in that case. Cc: stable@kernel.org Reported-by: Andrew Randrianasulu Signed-off-by: Joerg Roedel commit 8a4a6182fd43c46ed8c12e26b4669854bcad300a Merge: 5dfaf90 6a047d8 Author: Ingo Molnar Date: Tue Jun 16 11:51:24 2009 +0200 Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit a1870b9cc280fe16fed13994810f8a1687be3bcf Merge: 6cc90a5 1fa6f4a Author: David S. Miller Date: Tue Jun 16 02:27:12 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6cc90a5a6061428358d0f726a53fb44af5254111 Author: Stephen Hemminger Date: Thu Jun 11 07:03:47 2009 +0000 sky2: don't look for VPD size The code to compute VPD size didn't handle some systems that use chip without VPD. Also some of the newer chips use some additional registers to store the actual size, and wasn't worth putting the additional complexity in, so just remove the code. No big loss since the code to set the VPD size was only a convenience so that utilities would not read the extra space past the end of the available VPD. Move the first PCI config read earlier to detect bad hardware where it returns all ones and refuse loading driver before furthur damage. Signed-off-by: Stephen Hemminger Tested-by: Andy Whitcroft Signed-off-by: David S. Miller commit e212d6f25084e8e9b02a04ba514d7bb1e4a4924a Author: Li Zefan Date: Tue Jun 16 11:19:36 2009 +0200 block: remove some includings of blktrace_api.h When porting blktrace to tracepoints, we changed to trace/block.h for trace prober declarations. Signed-off-by: Li Zefan Signed-off-by: Jens Axboe commit eb73e6221c5013b32647bcf44bcc570232ba2804 Author: Marek Vasut Date: Mon Jun 1 22:34:14 2009 +0200 [ARM] pxa/palm: various fixes for PalmZ72 (mostly audio asoc and usb) Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 155af2f95f905c830688dd0ca7c7cac4107334fd Author: Hans-Joachim Picht Date: Tue Jun 16 10:30:52 2009 +0200 [S390] s390: hibernation support for s390 This patch introduces the hibernation backend support to the s390 architecture. Now it is possible to suspend a mainframe Linux guest using the following command: echo disk > /sys/power/state Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit c369527f18f8560bd3580be2676cb55b54b02ee6 Author: Gerald Schaefer Date: Tue Jun 16 10:30:51 2009 +0200 [S390] pm: dcssblk power management callbacks. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 2b1e3e5558b9de0f85ed9183a7adb2d61aab363b Author: Gerald Schaefer Date: Tue Jun 16 10:30:50 2009 +0200 [S390] pm: monreader power management callbacks. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit fb78140cedcd2805e5cfec12af59c0a6dfa112db Author: Gerald Schaefer Date: Tue Jun 16 10:30:49 2009 +0200 [S390] pm: monwriter power management callbacks. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 039979049834bde56f67f8078c802b416bd4763c Author: Gerald Schaefer Date: Tue Jun 16 10:30:48 2009 +0200 [S390] pm: memory hotplug power management callbacks Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 4b214a0c7720bfcfaca936047a359f8859fc8424 Author: Martin Schwidefsky Date: Tue Jun 16 10:30:47 2009 +0200 [S390] pm: con3270 power management callbacks. Introduce the power management callbacks to the 3270 driver. On suspend the current 3270 view is deactivated and for non-console 3270 device the release callback is done. This disconnects the current tty / fullscreen application from the 3270 device. On resume the current view is reactivated, on the tty you get a fresh login. If the system panics before the 3270 device has been resumed, the ccw device for the 3270 console is reactivated with ccw_device_force_console. Signed-off-by: Martin Schwidefsky commit 6a1d96dced593bc17d7a17fdb93c99b275e71eba Author: Martin Schwidefsky Date: Tue Jun 16 10:30:46 2009 +0200 [S390] pm: smsgiucv power management callbacks. Create dummy iucv-device to get control when the system is suspended and resumed. Server the smsg iucv path on suspend, reestablish the path on resume. Signed-off-by: Martin Schwidefsky commit 0259162ecd083f1ce0f6022e669f393330b06f4d Author: Hendrik Brueckner Date: Tue Jun 16 10:30:45 2009 +0200 [S390] pm: hvc_iucv power management callbacks The patch adds supporting for suspending and resuming IUCV HVC terminal devices from disk. The obligatory Linux device driver interfaces has been added by registering a device driver on the IUCV bus. For each IUCV HVC terminal device the driver creates a respective device on the IUCV bus. To support suspend and resume, the PM freeze callback severs any established IUCV communication path and triggers a HVC tty hang-up when the system image is restored. IUCV communication path are no longer valid when the z/VM guest is halted. The device driver initialization has been updated to register devices and the a new routine has been extracted to facilitate the hang-up of IUCV HVC terminal devices. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit c23cad923bfebd295ec49dc9265569993903488d Author: Ursula Braun Date: Tue Jun 16 10:30:44 2009 +0200 [S390] PM: af_iucv power management callbacks. Patch establishes a dummy afiucv-device to make sure af_iucv is notified as iucv-bus device about suspend/resume. The PM freeze callback severs all iucv pathes of connected af_iucv sockets. The PM thaw/restore callback switches the state of all previously connected sockets to IUCV_DISCONN. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 1175b257c8a2cb384823621cad0c1e0945f74300 Author: Ursula Braun Date: Tue Jun 16 10:30:43 2009 +0200 [S390] pm: netiucv power management callbacks. Patch establishes a dummy netiucv device to make sure iucv is notified about suspend/resume even if netiucv is the only loaded iucv-exploting module without any real net_device defined. The PM freeze callback closes all open netiucv connections. Thus the corresponding iucv path is removed. The PM thaw/restore callback re-opens previously closed netiucv connections. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 672e405b603af0bed99a4c173cdfce9bbf81c963 Author: Ursula Braun Date: Tue Jun 16 10:30:42 2009 +0200 [S390] pm: iucv power management callbacks. Patch calls the PM callback functions of iucv-bus devices, which are responsible for removal of their established iucv pathes. The PM freeze callback for the first iucv-bus device disables all iucv interrupts except the connection severed interrupt. The PM freeze callback for the last iucv-bus device shuts down iucv. The PM thaw callback for the first iucv-bus device re-enables iucv if it has been shut down during freeze. If freezing has been interrupted, it re-enables iucv interrupts according to the needs of iucv-exploiters. The PM restore callback for the first iucv-bus device re-enables iucv. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 6c005961c15ff85fe1047c197d50b843567c89f8 Author: Ursula Braun Date: Tue Jun 16 10:30:41 2009 +0200 [S390] iucv: establish reboot notifier To guarantee a proper cleanup, patch adds a reboot notifier to the iucv base code, which disables iucv interrupts, shuts down established iucv pathes, and removes iucv declarations for z/VM. Checks have to be added to the iucv-API functions, whether iucv-buffers removed at reboot time are still declared. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 62b7494209495847269a6ce0504cbefd23d42eb1 Author: Michael Holzheu Date: Tue Jun 16 10:30:40 2009 +0200 [S390] pm: power management support for SCLP drivers. The SCLP base driver defines a new notifier call back for all upper level SCLP drivers, like the SCLP console, etc. This guarantees that in suspend first the upper level drivers are suspended and afterwards the SCLP base driver. For resume it is the other way round. The SCLP base driver itself registers a new platform device at the platform bus and gets PM notifications via the dev_pm_ops. In suspend, the SCLP base driver switches off the receiver and sender mask This is done in sclp_deactivate(). After suspend all new requests will be rejected with -EIO and no more interrupts will be received, because the masks are switched off. For resume the sender and receiver masks are reset in the sclp_reactivate() function. When the SCLP console is suspended, all new messages are cached in the sclp console buffers. In resume, all the cached messages are written to the console. In addition to that we have an early resume function that removes the cached messages from the suspend image. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 3ef32e62cb55785f6f1b5ad7290744f74bdadaf0 Author: Frank Munzert Date: Tue Jun 16 10:30:39 2009 +0200 [S390] pm: tape power management callbacks Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 9f62fa1618987e9fadb2eef86d35ef168ddf5a1f Author: Stefan Weinhuber Date: Tue Jun 16 10:30:38 2009 +0200 [S390] pm: vmlogrdr power management callbacks Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit b241f7bcc603babd3de903fa855d418ee7c4751d Author: Frank Munzert Date: Tue Jun 16 10:30:37 2009 +0200 [S390] pm: vmur driver power management callbacks Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit 524dbcdad7a84a054b4458aa94e152ffb2bfabbd Author: Gerald Schaefer Date: Tue Jun 16 10:30:36 2009 +0200 [S390] pm: appldata power management callbacks Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 58872d5f367876a81dcda82465381d80d321a81d Author: Christian Borntraeger Date: Tue Jun 16 10:30:35 2009 +0200 [S390] pm: vmwatchdog power management callbacks. This patch implements suspend/hibernation for the vmwatchdog driver. The pm_notifier_callchain is used to get control on PM events. Since watchdog operation and suspend cannot work together in a reliable fashion, the open flag is also used to prevent suspend and open from happening at the same time. The watchdog can also be active with no open file descriptor. This patch adds another flag which is only changed in vmwdt_keep_alive and vmwdt_disable. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit daa70fa960fb5625d762988cca7e4733573d90a3 Author: Martin Petermann Date: Tue Jun 16 10:30:34 2009 +0200 [S390] pm: zfcp driver power management callbacks Signed-off-by: Martin Petermann Signed-off-by: Martin Schwidefsky commit 88efc2c503e82072a19b531d54e02f22de14a132 Author: Frank Blaschka Date: Tue Jun 16 10:30:33 2009 +0200 [S390] pm: claw driver power management callbacks Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit b8a2d42a8276d4dbc5a5c99f4422132c43ce3e1d Author: Frank Blaschka Date: Tue Jun 16 10:30:32 2009 +0200 [S390] pm: ctcm driver power management callbacks Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit bbcfcdc8324e75532c4d2592a545a91fcb45f229 Author: Frank Blaschka Date: Tue Jun 16 10:30:31 2009 +0200 [S390] pm: qeth driver power management callbacks Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky commit cbb2aec3e7271f4cefcba2942aecc658d5841307 Author: Klaus-Dieter Wacket Date: Tue Jun 16 10:30:30 2009 +0200 [S390] pm: lcs driver power management callbacks Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Martin Schwidefsky commit 77812a27577dba6adb71b1de8ee690ced5002067 Author: Martin Schwidefsky Date: Tue Jun 16 10:30:29 2009 +0200 [S390] pm: con3215 power management callbacks Introduce the power management callbacks to the 3215 console. On suspend the console buffer is flushed to the 3215 device to have an empty console buffer. Printks done while the 3215 device is suspended are buffered in the 64K buffer of the 3215 device. If the buffer is full new messages will push out the oldest messages to make room for the most recent message. On resume the buffered messages are printed. If the system panics before the 3215 device is resumed ccw_device_force_console is used to get the console working again. Signed-off-by: Martin Schwidefsky commit 6664845cef13b0a224f43f6c46eddd0b3e018c04 Author: Martin Schwidefsky Date: Tue Jun 16 10:30:28 2009 +0200 [S390] cio: force console function If something goes wrong in a suspend / resume cycle a ccw based console if very likely in the suspended state and cannot print anything. Introduce ccw_device_force_console to force the wake up of the console device to be able to print the oops message. The console device drivers should use this function only if the system paniced. Signed-off-by: Martin Schwidefsky commit 14532095dfe9e8faf2d314d9c2170f64737c7dff Author: Michael Holzheu Date: Tue Jun 16 10:30:27 2009 +0200 [S390] pm: xpram driver power management callbacks Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 7db11a363fc41cec170a94a3542031e5e64bb333 Author: Hans-Joachim Picht Date: Tue Jun 16 10:30:26 2009 +0200 [S390] pm: add kernel_page_present Fix the following build failure caused by make allyesconfig using CONFIG_HIBERNATION and CONFIG_DEBUG_PAGEALLOC kernel/built-in.o: In function `saveable_page': kernel/power/snapshot.c:897: undefined reference to `kernel_page_present' kernel/built-in.o: In function `safe_copy_page': kernel/power/snapshot.c:948: undefined reference to `kernel_page_present' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit d41dd122acf960db78c9ddc87684b43751dd36d9 Author: Stefan Haberland Date: Tue Jun 16 10:30:25 2009 +0200 [S390] pm: dasd power management callbacks. Introduce the power management callbacks to the dasd driver. On suspend the dasd devices are stopped and removed from the focus of alias management. On resume they are reinitialized by rereading the device characteristics and adding the device to the alias management. In case the device has gone away during suspend it will caught in the suspend state with stopped flag set to UNRESUMED. After it appears again the restore function is called again. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit ad285ae9fc6b9c0058f2a558b43fe8817685ebfa Author: Cornelia Huck Date: Tue Jun 16 10:30:24 2009 +0200 [S390] pm: chsc subchannel driver power management callbacks Signed-off-by: Cornelia Huck Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 93a275921daf83e6e4efbafdd82712bcaa93f491 Author: Cornelia Huck Date: Tue Jun 16 10:30:23 2009 +0200 [S390] pm: io subchannel driver power management callbacks Signed-off-by: Cornelia Huck Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit dcbd16d5111258df7c821ec1e4124fe6ffbf3c16 Author: Sebastian Ott Date: Tue Jun 16 10:30:22 2009 +0200 [S390] pm: css bus power management callbacks Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 7e597a21a1470b12428cb0edd03c40986026451f Author: Sebastian Ott Date: Tue Jun 16 10:30:21 2009 +0200 [S390] pm: ccwgroup bus power management callbacks Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 823d494ac11111064cf39abd4178ce299414c771 Author: Sebastian Ott Date: Tue Jun 16 10:30:20 2009 +0200 [S390] pm: ccw bus power management callbacks Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 5dfaf90f8052327c92fbe3c470a2e6634be296c0 Author: Ingo Molnar Date: Tue Jun 16 10:23:32 2009 +0200 x86: mm: Read cr2 before prefetching the mmap_lock Prefetch instructions can generate spurious faults on certain models of older CPUs. The faults themselves cannot be stopped and they can occur pretty much anywhere - so the way we solve them is that we detect certain patterns and ignore the fault. There is one small path of code where we must not take faults though: the #PF handler execution leading up to the reading of the CR2 (the faulting address). If we take a fault there then we destroy the CR2 value (with that of the prefetching instruction's) and possibly mishandle user-space or kernel-space pagefaults. It turns out that in current upstream we do exactly that: prefetchw(&mm->mmap_sem); /* Get the faulting address: */ address = read_cr2(); This is not good. So turn around the order: first read the cr2 then prefetch the lock address. Reading cr2 is plenty fast (2 cycles) so delaying the prefetch by this amount shouldnt be a big issue performance-wise. [ And this might explain a mystery fault.c warning that sometimes occurs on one an old AMD/Semptron based test-system i have - which does have such prefetch problems. ] Cc: Mathieu Desnoyers Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Nick Piggin Cc: Pekka Enberg Cc: Vegard Nossum Cc: Jeremy Fitzhardinge Cc: Hugh Dickins LKML-Reference: <20090616030522.GA22162@Krystal> Signed-off-by: Ingo Molnar commit 6a047d8b9efc4b7d0c57ca4835f7e519e5c90d3f Author: Chris Wright Date: Tue Jun 16 03:01:37 2009 -0400 amd-iommu: resume cleanup Now that enable_iommus() will call iommu_disable() for each iommu, the call to disable_iommus() during resume is redundant. Also, the order for an invalidation is to invalidate device table entries first, then domain translations. Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 39f4490c70eae62cfed62081243110607069d3f9 Author: Nobuhiro Iwamatsu Date: Tue Jun 16 07:44:10 2009 +0000 sh: Revised clock function in highlander Clock function was changed, but highlander used old function. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 02a146dffa471fec4c095c3810645df26ac86d5d Author: Nobuhiro Iwamatsu Date: Tue Jun 16 07:43:21 2009 +0000 sh: Update r7780mp defconfig Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 15ba400ebb9d958afb3d2a7aa079a56e9ad2fe7a Author: Nobuhiro Iwamatsu Date: Tue Jun 16 07:42:20 2009 +0000 sh: Add support mtd mapping for highlander Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit c90173f0907486fe4010c2a8cef534e2473db43f Author: Amul Saha Date: Tue Jun 16 11:24:01 2009 +0530 mtd: OneNAND: Allow setting of boundary information when built as module This patch unifies the flex_bdry setting for module vs. built-in configuration of OneNAND. Signed-off-by: Amul Kumar Saha Signed-off-by: Vishak G Signed-off-by: David Woodhouse commit fbb704efb784e2c8418e34dc3013af76bdd58101 Author: raz ben yehuda Date: Tue Jun 16 17:02:05 2009 +1000 md: raid0 :Enables chunk size other than powers of 2. Maintain two flows, one for pow2 chunk sizes (which uses masks and shift), and a flow for the general case (which uses sector_div). This is for the sake of performance. - introduce map_sector and is_io_in_chunk_boundary to encapsulate those two flows better for raid0_make_request - fix blk_mergeable to support the two flows. Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 2ac06c3332898103210b478c5a17c20e28929287 Author: raz ben yehuda Date: Tue Jun 16 17:01:42 2009 +1000 md: prepare for non-power-of-two chunk sizes Remove chunk size check from md as this is now performed in the run function in each personality. Replace chunk size power 2 code calculations by a regular division. Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 740da44918680a0c72411ae4ccdd1861069afcc4 Author: raz ben yehuda Date: Tue Jun 16 17:01:36 2009 +1000 md: raid5: chunk size check in setup_conf have raid5 check chunk size in run/reshape method instead of in md Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 964e7913b0d25b988e27a7cd9378bc55cc572bb4 Author: raz ben yehuda Date: Tue Jun 16 17:01:22 2009 +1000 md: raid10: chunk size check in run have raid10 check chunk size in run method instead of in md Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 92e59b6ba21845fadd2cce725010a9351740b76e Author: raz ben yehuda Date: Tue Jun 16 17:00:57 2009 +1000 md: raid0: chunk size check in raid0_run have raid0 check chunk size in run method instead of in md. This is part of a series moving the checks from common code to the personalities where they belong. hardsect is short and chunksize is an int, so it is safe to use %. Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 46994191ae8fdf1cbcc1f29282576b269a638c69 Author: raz ben yehuda Date: Tue Jun 16 17:00:54 2009 +1000 md: have raid0 report its formation Report to the user what are the raid zones Signed-off-by: raziebe@gmail.com Signed-off-by: NeilBrown commit 1b9614291eb319fad96de45392eb4452ad39f0ee Author: raz ben yehuda Date: Tue Jun 16 16:57:40 2009 +1000 md: have raid0 compile with MD_DEBUG on Because of the removal of the device list from the strips raid0 did not compile with MD_DEBUG flag on Signed-off-by: NeilBrown commit aece3d1f40879759f641dfbfdbb9e2593adeb43c Author: Sandeep K Sinha Date: Tue Jun 16 16:57:08 2009 +1000 md: Binary search in linear raid Replace the linear search with binary search in which_dev. Signed-off-by: Sandeep K Sinha Signed-off-by: NeilBrown commit 4db7cdc859f56ecf0a186e0cfb238b5bb3af2efb Author: Sandeep K Sinha Date: Tue Jun 16 16:56:13 2009 +1000 md: Removing num_sector and replacing start_sector with end_sector Remove num_sectors from dev_info and replace start_sector with end_sector. This makes a lot of comparisons much simpler. Signed-off-by: Sandeep K Sinha Signed-off-by: NeilBrown commit 45d4582f219619e368ea91ea1189085e1c5f1969 Author: Sandeep K Sinha Date: Tue Jun 16 16:55:26 2009 +1000 md: Removal of hash table in linear raid Get rid of sector_div and hash table for linear raid and replace with a linear search in which_dev. The hash table adds a lot of complexity for little if any gain. Ultimately a binary search will be used which will have smaller cache foot print, a similar number of memory access, and no divisions. Signed-off-by: Sandeep K Sinha Signed-off-by: NeilBrown commit 070ec55d07157a3041f92654135c3c6e2eaaf901 Author: NeilBrown Date: Tue Jun 16 16:54:21 2009 +1000 md: remove mddev_to_conf "helper" macro Having a macro just to cast a void* isn't really helpful. I would must rather see that we are simply de-referencing ->private, than have to know what the macro does. So open code the macro everywhere and remove the pointless cast. Signed-off-by: NeilBrown commit a6b3deafe0c50e3e873e8ed5cc8abfcb25c05eff Author: NeilBrown Date: Tue Jun 16 16:54:07 2009 +1000 md: raid0: remove setting of segment boundary. This setting doesn't seem to make sense (half the chunk size??) and shouldn't be needed. The segment boundary exported by raid0 should simply be the minimum of the segment boundary of all component devices. And we already get that right. Signed-off-by: NeilBrown commit b414579f4573b6dc8583e31b01dcffd13f49fd62 Author: NeilBrown Date: Tue Jun 16 16:50:52 2009 +1000 md: raid0: remove ->dev pointer from strip_zone structure If we treat conf->devlist more like a 2 dimensional array, we can get the devlist for a particular zone simply by indexing that array, so we don't need to store the pointers to subarrays in strip_zone. This makes strip_zone smaller and so (hopefully) searches faster. Signed-of-by: NeilBrown commit 49f357a22b3fa3eeac042dfa0a6cae920c174e48 Author: NeilBrown Date: Tue Jun 16 16:50:35 2009 +1000 md: raid0: remove ->sectors from the strip_zone structure. storing ->sectors is redundant as is can be computed from the difference z->zone_end - (z-1)->zone_end The one place where it is used, it is just as efficient to use a zone_end value instead. And removing it makes strip_zone smaller, so they array of these that is searched on every request has a better chance to say in cache. So discard the field and get the value from elsewhere. Signed-off-by: NeilBrown commit fb5ab4b5d6e16fd5006c9f800d0116f3547cb760 Author: Andre Noll Date: Tue Jun 16 16:48:19 2009 +1000 md: raid0: Fix a memory leak when stopping a raid0 array. raid0_stop() removes all references to the raid0 configuration but misses to free the ->devlist buffer. This patch closes this leak, removes a pointless initialization and fixes a coding style issue in raid0_stop(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit ed7b00380d957ec770b5e90380d012c6062c13cc Author: Andre Noll Date: Tue Jun 16 16:47:36 2009 +1000 md: raid0: Allocate all buffers for the raid0 configuration in one function. Currently the raid0 configuration is allocated in raid0_run() while the buffers for the strip_zone and the dev_list arrays are allocated in create_strip_zones(). On errors, all three buffers are freed in raid0_run(). It's easier and more readable to do the allocation and cleanup within a single function. So move that code into create_strip_zones(). Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 5568a6035d9fca2cd8f1ef7005e215eae4e65fab Author: Andre Noll Date: Tue Jun 16 16:47:21 2009 +1000 md: raid0: Make raid0_run() return a proper error code. Currently raid0_run() always returns -ENOMEM on errors. This is incorrect as running the array might fail for other reasons, for example because not all component devices were available. This patch changes create_strip_zones() so that it returns a proper error code (either -ENOMEM or -EINVAL) rather than 1 on errors and makes raid0_run(), its single caller, return that value instead of -ENOMEM. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 8f79cfcdb65472f1504ade2f53e5f2bfdaeb95da Author: Andre Noll Date: Tue Jun 16 16:47:10 2009 +1000 md: raid0: Remove hash spacing and sector shift. The "sector_shift" and "spacing" fields of struct raid0_private_data were only used for the hash table lookups. So the removal of the hash table allows get rid of these fields as well which simplifies create_strip_zones() and raid0_run() quite a bit. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 09770e0b6ee649313611a2d6a9b44f456072dbd6 Author: Andre Noll Date: Tue Jun 16 16:46:48 2009 +1000 md: raid0: Remove hash table. The raid0 hash table has become unused due to the changes in the previous patch. This patch removes the hash table allocation and setup code and kills the hash_table field of struct raid0_private_data. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit d27a43abd7be0ab4b2337e4587feca8c7340e5f9 Author: NeilBrown Date: Tue Jun 16 16:46:46 2009 +1000 md/raid0: two cleanups in create_stripe_zones. 1/ remove current_start. The same value is available in zone->dev_start and storing it separately doesn't gain anything. 2/ rename curr_zone_start to curr_zone_end as we are now more focused on the 'end' of each zone. We end up storing the same number though - the old name was a little confusing (and what does 'current' mean in this context anyway). Signed-off-by: NeilBrown commit 5ced504b1bd1979378de35c56aa5d3d79fb5033f Author: unsik Kim Date: Tue Jun 16 08:40:20 2009 +0200 mg_disk: seperate mg_disk.h again eec9462088a26c046d4db3100796a340a50890b8 fold mg_disk.h into mg_disk.c, but mg_disk platform driver needs private data for operation. This also make mg_disk.c as machine independent. Seperate only needed structure and defines to mg_disk.h Signed-off-by: unsik Kim Signed-off-by: Jens Axboe commit e475bba2fdee9c3dbfe25f026f8fb8de69508ad2 Author: Martin K. Petersen Date: Tue Jun 16 08:23:52 2009 +0200 block: Introduce helper to reset queue limits to default values DM reuses the request queue when swapping in a new device table Introduce blk_set_default_limits() which can be used to reset the the queue_limits prior to stacking devices. Signed-off-by: Martin K. Petersen Acked-by: Alasdair G Kergon Acked-by: Mike Snitzer Signed-off-by: Jens Axboe commit 6923715ae39ed39ac2fc1993e5061668f4f71ad0 Author: Jeff Moyer Date: Fri Jun 12 15:29:30 2009 +0200 cfq: remove extraneous '\n' in blktrace output I noticed a blank line in blktrace output. This patch fixes that. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit a979eff1811a07f5fd331c5f6f727370747b42ad Author: Jens Axboe Date: Fri May 29 09:19:23 2009 +0200 ubifs: register backing_dev_info Signed-off-by: Jens Axboe commit ad081f1430515d0b727eba99ec435a526c61a599 Author: Jens Axboe Date: Fri Jun 12 14:43:40 2009 +0200 btrfs: properly register fs backing device btrfs assigns this bdi to all inodes on that file system, so make sure it's registered. This isn't really important now, but will be when we put dirty inodes there. Even now, we miss the stats when the bdi isn't visible. Also fixes failure to check bdi_init() return value, and bad inherit of ->capabilities flags from the default bdi. Acked-by: Chris Mason Signed-off-by: Jens Axboe commit 0989a025d2f4f9f51ea641bd26c563c53dc63f55 Author: Jens Axboe Date: Fri Jun 12 14:42:56 2009 +0200 block: don't overwrite bdi->state after bdi_init() has been run Move the defaults to where we do the init of the backing_dev_info. Signed-off-by: Jens Axboe commit 81be834713a7d6b9463663145d493fe9daee2d61 Author: Gui Jianfeng Date: Fri Jun 12 15:27:50 2009 +0200 cfq: cleanup for last_end_request in cfq_data Actually, last_end_request in cfq_data isn't used now. So lets just remove it. Signed-off-by: Gui Jianfeng Signed-off-by: Jens Axboe commit dc58266385e51420298275c90a616c34f1473a73 Author: Andre Noll Date: Tue Jun 16 16:18:43 2009 +1000 md: raid0: Replace hash table lookup by looping over all strip_zones. The number of strip_zones of a raid0 array is bounded by the number of drives in the array and is in fact much smaller for typical setups. For example, any raid0 array containing identical disks will have only a single strip_zone. Therefore, the hash tables which are used for quickly finding the strip_zone that holds a particular sector are of questionable value and add quite a bit of unnecessary complexity. This patch replaces the hash table lookup by equivalent code which simply loops over all strip zones to find the zone that holds the given sector. In order to make this loop as fast as possible, the zone->start field of struct strip_zone has been renamed to zone_end, and it now stores the beginning of the next zone in sectors. This allows to save one addition in the loop. Subsequent cleanup patches will remove the hash table structure. Signed-off-by: Andre Noll Signed-off-by: NeilBrown commit 1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f Author: Paul Mundt Date: Thu Apr 30 17:30:02 2009 +0900 USB: xhci depends on PCI. While it looks like xhci was written with both PCI and non-PCI in mind, apparently only the former has seen any testing. xhci-mem.o can be "fixed" with a linux/dmapool.h include, but there are still parts of the code that make use of struct pci_dev directly. So, at least more work is needed before this can be turned on for non-PCI builds: CC drivers/usb/host/xhci-mem.o drivers/usb/host/xhci-mem.c: In function 'xhci_segment_alloc': drivers/usb/host/xhci-mem.c:45: error: implicit declaration of function 'dma_pool_alloc' drivers/usb/host/xhci-mem.c:45: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c: In function 'xhci_segment_free': drivers/usb/host/xhci-mem.c:67: error: implicit declaration of function 'dma_pool_free' drivers/usb/host/xhci-mem.c: In function 'xhci_alloc_virt_device': drivers/usb/host/xhci-mem.c:239: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c:248: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c: In function 'xhci_mem_cleanup': drivers/usb/host/xhci-mem.c:578: error: implicit declaration of function 'dma_pool_destroy' drivers/usb/host/xhci-mem.c: In function 'xhci_mem_init': drivers/usb/host/xhci-mem.c:657: error: implicit declaration of function 'dma_pool_create' drivers/usb/host/xhci-mem.c:658: warning: assignment makes pointer from integer without a cast drivers/usb/host/xhci-mem.c:663: warning: assignment makes pointer from integer without a cast make[3]: *** [drivers/usb/host/xhci-mem.o] Error 1 CC drivers/usb/host/xhci-pci.o drivers/usb/host/xhci-pci.c: In function 'xhci_pci_reinit': drivers/usb/host/xhci-pci.c:39: error: implicit declaration of function 'pci_set_mwi' drivers/usb/host/xhci-pci.c: At top level: drivers/usb/host/xhci-pci.c:151: error: 'usb_hcd_pci_probe' undeclared here (not in a function) drivers/usb/host/xhci-pci.c:152: error: 'usb_hcd_pci_remove' undeclared here (not in a function) drivers/usb/host/xhci-pci.c:155: error: 'usb_hcd_pci_shutdown' undeclared here (not in a function) drivers/usb/host/xhci-pci.c:159: warning: function declaration isn't a prototype drivers/usb/host/xhci-pci.c:164: warning: function declaration isn't a prototype make[3]: *** [drivers/usb/host/xhci-pci.o] Error 1 Cc: Sarah Sharp Signed-off-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit eb6bab138d8b1172edf67ef7bd2032f476b7c6ad Author: Sarah Sharp Date: Wed Apr 29 19:07:13 2009 -0700 USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. Add Makefile and Kconfig entries for the xHCI host controller driver. List Sarah Sharp as the maintainer for the xHCI driver. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f88ba78d9ac0e1f583da4cada80b8816ca761a3f Author: Sarah Sharp Date: Thu May 14 11:44:22 2009 -0700 USB: xhci: Respect critical sections. Narrow down time spent holding the xHCI spinlock so that it's only used to protect the xHCI rings, not as mutual exclusion. Stop allocating memory while holding the spinlock and calling xhci_alloc_virt_device() and xhci_endpoint_init(). The USB core should have locking in it to prevent device state to be manipulated by more than one kernel thread. E.g. you can't free a device while you're in the middle of setting a new configuration. So removing the locks from the sections where xhci_alloc_dev() and xhci_reset_bandwidth() touch xHCI's representation of the device should be OK. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a4d88302268d1e458f7c6eb7855f1ba4b3a7cffc Author: Sarah Sharp Date: Thu May 14 11:44:26 2009 -0700 USB: xHCI: Fix interrupt moderation. Mask off the lower 16 bits of the interrupt control register, instead of masking off the upper 16 bits. The interrupt moderation interval field is the lower 16 bytes, and is set to 0x4000 (1ms) by default. The previous code was adding 40 us to the default value, instead of setting it to 40 us. This makes performance really bad. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 98441973105b80e133fcaa47ebf17be1e024ea30 Author: Sarah Sharp Date: Thu May 14 11:44:18 2009 -0700 USB: xhci: Remove packed attribute from structures. The packed attribute allows gcc to muck with the alignment of data structures, which may lead to byte-wise writes that break atomicity of writes. Packed should only be used when the compile may add undesired padding to the structure. Each element of the structure will be aligned by C based on its size and the size of the elements around it. E.g. a u64 would be aligned on an 8 byte boundary, the next u32 would be aligned on a four byte boundary, etc. Since most of the xHCI structures contain only u32 bit values, removing the packed attribute for them should be harmless. (A future patch will change some of the twin 32-bit address fields to one 64-bit field, but all those places have an even number of 32-bit fields before them, so the alignment should be correct.) Add BUILD_BUG_ON statements to check that the compiler doesn't add padding to the data structures that have a hardware-defined layout. While we're modifying the registers, change the name of intr_reg to xhci_intr_reg to avoid global conflicts. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6071d8363b7b284038069f1795a98372fbc1a48e Author: Sarah Sharp Date: Thu May 14 11:44:14 2009 -0700 usb; xhci: Fix TRB offset calculations. Greg KH introduced a bug into xhci_trb_virt_to_dma() when he changed the type of offset to dma_addr_t from unsigned int and dropped the casts to unsigned int around the virtual address pointer subtraction. trb and seg->trbs are both valid pointers to virtual addresses, so the compiler will mod the subtraction by the size of union trb (16 bytes). segment_offset is an unsigned long, which is guaranteed to be at least as big as a void *. Drop the void * casts in the first if statement because trb and seg->trbs are both pointers of the same type (pointers to union trb). Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7dd19e69d131ea34f74397559b422511e54d2911 Author: Viral Mehta Date: Tue May 5 15:54:23 2009 +0530 USB: xhci: replace if-elseif-else with switch-case Replace if-elseif-else with switch-case to keep the code consistent which is semantically same Switch-case is used here, http://www.spinics.net/lists/linux-usb/msg17201.html Making consistent at other places in usb/core Also easier to read and maintain when USB4.0, 5.0, ... comes Signed-off-by: Viral Mehta Tested-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 527c6d7f188f116852141f50b4d008f966bb17f8 Author: Sarah Sharp Date: Wed Apr 29 19:06:56 2009 -0700 USB: xhci: Make xhci-mem.c include linux/dmapool.h xhci-mem.c includes calls to dma_pool_alloc() and other functions defined in linux/dmapool.h. Make sure to include that header file. Reported-by: Randy Dunlap Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit c7959fb265d8d5e00eb6d30717eb63e6189a1f07 Author: Sarah Sharp Date: Wed Apr 29 19:06:36 2009 -0700 USB: xhci: drop spinlock in xhci_urb_enqueue() error path. Make sure the error path in xhci_urb_enqueue() releases the spinlock before it returns. Reported by Oliver in http://marc.info/?l=linux-usb&m=124091637311832&w=2 Reported-by: Oliver Neukum Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f0058c627855ecb3b6c7185b7ad1910463c24c42 Author: Sarah Sharp Date: Wed Apr 29 19:06:20 2009 -0700 USB: Change names of SuperSpeed ep companion descriptor structs. Differentiate between SuperSpeed endpoint companion descriptor and the wireless USB endpoint companion descriptor. Make all structure names for this descriptor have "ss" (SuperSpeed) in them. David Vrabel asked for this change in http://marc.info/?l=linux-usb&m=124091465109367&w=2 Reported-by: David Vrabel Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b7116ebca4e1a898f30ae474151fd6474327257c Author: Sarah Sharp Date: Wed Apr 29 19:05:58 2009 -0700 USB: xhci: Avoid compiler reordering in Link TRB giveback. Force the compiler to write the cycle bit of the Link TRB last. This ensures that the hardware doesn't think it owns the Link TRB before we set the chain bit. Reported by Oliver in this thread: http://marc.info/?l=linux-usb&m=124091532410219&w=2 Reported-by: Oliver Neukum Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit c96a2b81f3747e6924307714666aa2368bc1718b Author: Sarah Sharp Date: Wed Apr 29 19:05:40 2009 -0700 USB: xhci: Clean up xhci_irq() function. Drop spinlock in xhci_irq() error path. This fixes the issue reported by Oliver Neukum on this thread: http://marc.info/?l=linux-usb&m=124090924401444&w=2 Remove unnecessary register read reported by Viral Mehta: http://marc.info/?l=linux-usb&m=124091326007398&w=2 Reported-by: Oliver Neukum Reported-by: Viral Mehta Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 23e3be113f42790736319c049c78e5f9a4394c02 Author: Sarah Sharp Date: Wed Apr 29 19:05:20 2009 -0700 USB: xhci: Avoid global namespace pollution. Make all globally visible functions start with xhci_ and mark functions as static if they're only called within the same C file. Fix some long lines while we're at it. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 06e7a1487b61e1ae909c4a4c264b4428c55beb7e Author: Sarah Sharp Date: Wed Apr 29 19:04:59 2009 -0700 USB: xhci: Fix Link TRB handoff bit twiddling. Make sure to preserve all bits *except* the TRB_CHAIN bit when giving a Link TRB to the hardware. We need to save things like TRB type and the toggle bit in the control dword. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 3841d56ebb9730c786a59bf3207529c35214df26 Author: Sarah Sharp Date: Wed Apr 29 19:04:32 2009 -0700 USB: xhci: Fix register write order. The 0.95 xHCI spec says that if the xHCI HW support 64-bit addressing, you must write the whole 64-bit address as one atomic operation, or write the low 32 bits, and then the high 32 bits. I had the register writes swapped in some places. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 045f123d9c83b9a18c9d43a9afbf52bf0799640d Author: Greg Kroah-Hartman Date: Wed Apr 29 19:12:44 2009 -0700 USB: xhci: fix some compiler warnings in xhci.h This fixes the warning: drivers/usb/host/xhci.h:1083: warning: passing argument 1 of ‘xhci_to_hcd’ discards qualifiers from pointer target type drivers/usb/host/xhci.h:1083: warning: passing argument 1 of ‘xhci_to_hcd’ discards qualifiers from pointer target type Reported-by: Stephen Rothwell Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 700e2052c6814b1b1d2714225d568c5c64bc49ae Author: Greg Kroah-Hartman Date: Wed Apr 29 19:14:08 2009 -0700 USB: xhci: fix lots of compiler warnings. Turns out someone never built this code on a 64bit platform. Someone owes me a beer... Reported-by: Stephen Rothwell Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b7258a4aba2b24d5c27a0f6674795e83e7771969 Author: Stephen Rothwell Date: Wed Apr 29 19:02:47 2009 -0700 USB: xhci: use xhci_handle_event instead of handle_event The former is way to generic for a global symbol. Fixes this build error: drivers/usb/built-in.o: In function `.handle_event': (.text+0x67dd0): multiple definition of `.handle_event' drivers/pcmcia/built-in.o:(.text+0xcfcc): first defined here drivers/usb/built-in.o: In function `handle_event': (.opd+0x5bc8): multiple definition of `handle_event' drivers/pcmcia/built-in.o:(.opd+0xed0): first defined here Signed-off-by: Stephen Rothwell Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit ae636747146ea97efa18e04576acd3416e2514f5 Author: Sarah Sharp Date: Wed Apr 29 19:02:31 2009 -0700 USB: xhci: URB cancellation support. Add URB cancellation support to the xHCI host controller driver. This currently supports cancellation for endpoints that do not have streams enabled. An URB is represented by a number of Transaction Request Buffers (TRBs), that are chained together to make one (or more) Transaction Descriptors (TDs) on an endpoint ring. The ring is comprised of contiguous segments, linked together with Link TRBs (which may or may not be chained into a TD). To cancel an URB, we must stop the endpoint ring, make the hardware skip over the TDs in the URB (either by turning them into No-op TDs, or by moving the hardware's ring dequeue pointer past the last TRB in the last TD), and then restart the ring. There are times when we must drop the xHCI lock during this process, like when we need to complete cancelled URBs. We must ensure that additional URBs can be marked as cancelled, and that new URBs can be enqueued (since the URB completion handlers can do either). The new endpoint ring variables cancels_pending and state (which can only be modified while holding the xHCI lock) ensure that future cancellation and enqueueing do not interrupt any pending cancellation code. To facilitate cancellation, we must keep track of the starting ring segment, first TRB, and last TRB for each URB. We also need to keep track of the list of TDs that have been marked as cancelled, separate from the list of TDs that are queued for this endpoint. The new variables and cancellation list are stored in the xhci_td structure. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 8a96c052283e68fe91a6c657c175b39bfed80bed Author: Sarah Sharp Date: Mon Apr 27 19:59:19 2009 -0700 USB: xhci: Scatter gather list support for bulk transfers. Add support for bulk URBs that pass scatter gather lists to xHCI. This allows xHCI to more efficiently enqueue these transfers, and allows the host controller to take advantage of USB 3.0 "bursts" for bulk endpoints. Use requested length to calculate the number of TRBs needed for a scatter gather list transfer, instead of using the number of sglist entries. The application can pass down a scatter gather list that is bigger than it needs for the requested transfer. Scatter gather entries can cross 64KB boundaries, so be careful to setup TRBs such that no buffer crosses a 64KB boundary. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit e04748e3a87271fcf30d383e3780c5d3ee1c1618 Author: Sarah Sharp Date: Mon Apr 27 19:59:01 2009 -0700 USB: Push scatter gather lists down to host controller drivers. This is the original patch I created before David Vrabel posted a better patch (http://marc.info/?l=linux-usb&m=123377477209109&w=2) that does basically the same thing. This patch will get replaced with his (modified) patch later. Allow USB device drivers that use usb_sg_init() and usb_sg_wait() to push bulk endpoint scatter gather lists down to the host controller drivers. This allows host controller drivers to more efficiently enqueue these transfers, and allows the xHCI host controller to better take advantage of USB 3.0 "bursts" for bulk endpoints. This patch currently only enables scatter gather lists for bulk endpoints. Other endpoint types that use the usb_sg_* functions will not have their scatter gather lists pushed down to the host controller. For periodic endpoints, we want each scatterlist entry to be a separate transfer. Eventually, HCDs could parse these scatter-gather lists for periodic endpoints also. For now, we use the old code and call usb_submit_urb() for each scatterlist entry. The caller of usb_sg_init() can request that all bytes in the scatter gather list be transferred by passing in a length of zero. Handle that request for a bulk endpoint under xHCI by walking the scatter gather list and calculating the length. We could let the HCD handle a zero length in this case, but I'm not sure if the core layers in between will get confused by this. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit b10de142119a676552df3f0d2e3a9d647036c26a Author: Sarah Sharp Date: Mon Apr 27 19:58:50 2009 -0700 USB: xhci: Bulk transfer support Allow device drivers to submit URBs to bulk endpoints on devices under an xHCI host controller. Share code between the control and bulk enqueueing functions when it makes sense. To get the best performance out of bulk transfers, SuperSpeed devices must have the bMaxBurst size copied from their endpoint companion controller into the xHCI device context. This allows the host controller to "burst" up to 16 packets before it has to wait for the device to acknowledge the first packet. The buffers in Transfer Request Blocks (TRBs) can cross page boundaries, but they cannot cross 64KB boundaries. The buffer must be broken into multiple TRBs if a 64KB boundary is crossed. The sum of buffer lengths in all the TRBs in a Transfer Descriptor (TD) cannot exceed 64MB. To work around this, the enqueueing code must enqueue multiple TDs. The transfer event handler may incorrectly give back the URB in this case, if it gets a transfer event that points somewhere in the first TD. FIXME later. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f94e0186312b0fc39f41eed4e21836ed74b7efe1 Author: Sarah Sharp Date: Mon Apr 27 19:58:38 2009 -0700 USB: xhci: Bandwidth allocation support Since the xHCI host controller hardware (xHC) has an internal schedule, it needs a better representation of what devices are consuming bandwidth on the bus. Each device is represented by a device context, with data about the device, endpoints, and pointers to each endpoint ring. We need to update the endpoint information for a device context before a new configuration or alternate interface setting is selected. We setup an input device context with modified endpoint information and newly allocated endpoint rings, and then submit a Configure Endpoint Command to the hardware. The host controller can reject the new configuration if it exceeds the bus bandwidth, or the host controller doesn't have enough internal resources for the configuration. If the command fails, we still have the older device context with the previous configuration. If the command succeeds, we free the old endpoint rings. The root hub isn't a real device, so always say yes to any bandwidth changes for it. The USB core will enable, disable, and then enable endpoint 0 several times during the initialization sequence. The device will always have an endpoint ring for endpoint 0 and bandwidth allocated for that, unless the device is disconnected or gets a SetAddress 0 request. So we don't pay attention for when xhci_check_bandwidth() is called for a re-add of endpoint 0. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 79abb1ab13cee5ba488210798b6e7bbae0b391ac Author: Sarah Sharp Date: Mon Apr 27 19:58:26 2009 -0700 USB: Support for bandwidth allocation. Originally, the USB core had no support for allocating bandwidth when a particular configuration or alternate setting for an interface was selected. Instead, the device driver's URB submission would fail if there was not enough bandwidth for a periodic endpoint. Drivers could work around this, by using the scatter-gather list API to guarantee bandwidth. This patch adds host controller API to allow the USB core to allocate or deallocate bandwidth for an endpoint. Endpoints are added to or dropped from a copy of the current schedule by calling add_endpoint() or drop_endpoint(), and then the schedule is atomically evaluated with a call to check_bandwidth(). This allows all the endpoints for a new configuration or alternate setting to be added at the same time that the endpoints from the old configuration or alt setting are dropped. Endpoints must be added to the schedule before any URBs are submitted to them. The HCD must be allowed to reject a new configuration or alt setting before the control transfer is sent to the device requesting the change. It may reject the change because there is not enough bandwidth, not enough internal resources (such as memory on an embedded host controller), or perhaps even for security reasons in a virtualized environment. If the call to check_bandwidth() fails, the USB core must call reset_bandwidth(). This causes the schedule to be reverted back to the state it was in just after the last successful check_bandwidth() call. If the call succeeds, the host controller driver (and hardware) will have changed its internal state to match the new configuration or alternate setting. The USB core can then issue a control transfer to the device to change the configuration or alt setting. This allows the core to test new configurations or alternate settings before unbinding drivers bound to interfaces in the old configuration. WIP: The USB core must add endpoints from all interfaces in a configuration to the schedule, because a driver may claim that interface at any time. A slight optimization might be to add the endpoints to the schedule once a driver claims that interface. FIXME This patch does not cover changing alternate settings, but it does handle a configuration change or de-configuration. FIXME The code for managing the schedule is currently HCD specific. A generic scheduling algorithm could be added for host controllers without built-in scheduling support. For now, if a host controller does not define the check_bandwidth() function, the call to usb_hcd_check_bandwidth() will always succeed. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 663c30d0829d556efabd5fbd98fb8473da7fe694 Author: Sarah Sharp Date: Mon Apr 27 19:58:14 2009 -0700 USB: Parse and store the SuperSpeed endpoint companion descriptors. The USB 3.0 bus specification added an "Endpoint Companion" descriptor that is supposed to follow all SuperSpeed Endpoint descriptors. This descriptor is used to extend the bus protocol to allow more packets to be sent to an endpoint per "microframe". The word microframe was removed from the USB 3.0 specification because the host controller does not send Start Of Frame (SOF) symbols down the USB 3.0 wires. The descriptor defines a bMaxBurst field, which indicates the number of packets of wMaxPacketSize that a SuperSpeed device can send or recieve in a service interval. All non-control endpoints may set this value as high as 16 packets (bMaxBurst = 15). The descriptor also allows isochronous endpoints to further specify that they can send and receive multiple bursts per service interval. The bmAttributes allows them to specify a "Mult" of up to 3 (bmAttributes = 2). Bulk endpoints use bmAttributes to report the number of "Streams" they support. This was an extension of the endpoint pipe concept to allow multiple mass storage device commands to be outstanding for one bulk endpoint at a time. This should allow USB 3.0 mass storage devices to support SCSI command queueing. Bulk endpoints can say they support up to 2^16 (65,536) streams. The information in the endpoint companion descriptor must be stored with the other device, config, interface, and endpoint descriptors because the host controller needs to access them quickly, and we need to install some default values if a SuperSpeed device doesn't provide an endpoint companion descriptor. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d0e96f5a71a032ced0c35f521c1cbd67e816922a Author: Sarah Sharp Date: Mon Apr 27 19:58:01 2009 -0700 USB: xhci: Control transfer support. Allow device drivers to enqueue URBs to control endpoints on devices under an xHCI host controller. Each control transfer is represented by a series of Transfer Descriptors (TDs) written to an endpoint ring. There is one TD for the Setup phase, (optionally) one TD for the Data phase, and one TD for the Status phase. Enqueue these TDs onto the endpoint ring that represents the control endpoint. The host controller hardware will return an event on the event ring that points to the (DMA) address of one of the TDs on the endpoint ring. If the transfer was successful, the transfer event TRB will have a completion code of success, and it will point to the Status phase TD. Anything else is considered an error. This should work for control endpoints besides the default endpoint, but that hasn't been tested. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6d65b78a093552fb42448480d4c66bf093a6d4cf Author: Sarah Sharp Date: Mon Apr 27 19:57:50 2009 -0700 USB: Support for submitting control URBs under xHCI. Warn users of URB_NO_SETUP_DMA_MAP about xHCI behavior. Device drivers can choose to DMA map the setup packet of a control transfer before submitting the URB to the USB core. Drivers then set the URB_NO_SETUP_DMA_MAP and pass in the DMA memory address in setup_dma, instead of providing a kernel address for setup_packet. However, xHCI requires that the setup packet be copied into an internal data structure, and we need a kernel memory address pointer for that. Warn users of URB_NO_SETUP_DMA_MAP that they should provide a valid pointer for setup_packet, along with the DMA address. FIXME: I'm not entirely sure how to work around this in the xHCI driver or USB core. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 3ffbba9511b4148cbe1f6b6238686adaeaca8feb Author: Sarah Sharp Date: Mon Apr 27 19:57:38 2009 -0700 USB: xhci: Allocate and address USB devices xHCI needs to get a "Slot ID" from the host controller and allocate other data structures for every USB device. Make usb_alloc_dev() and usb_release_dev() allocate and free these device structures. After setting up the xHC device structures, usb_alloc_dev() must wait for the hardware to respond to an Enable Slot command. usb_alloc_dev() fires off a Disable Slot command and does not wait for it to complete. When the USB core wants to choose an address for the device, the xHCI driver must issue a Set Address command and wait for an event for that command. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit c6515272b858742962c1de0f3bf497a048b9abd7 Author: Sarah Sharp Date: Mon Apr 27 19:57:26 2009 -0700 USB: Support for addressing a USB device under xHCI Add host controller driver API and a slot_id variable to struct usb_device. This allows the xHCI host controller driver to ask the hardware to allocate a slot for the device when a struct usb_device is allocated. The slot needs to be allocated at that point because the hardware can run out of internal resources, and we want to know that very early in the device connection process. Don't call this new API for root hubs, since they aren't real devices. Add HCD API to let the host controller choose the device address. This is especially important for xHCI hardware running in a virtualized environment. The guests running under the VM don't need to know which addresses on the bus are taken, because the hardware picks the address for them. Announce SuperSpeed USB devices after the address has been assigned by the hardware. Don't use the new get descriptor/set address scheme with xHCI. Unless special handling is done in the host controller driver, the xHC can't issue control transfers before you set the device address. Support for the older addressing scheme will be added when the xHCI driver supports the Block Set Address Request (BSR) flag in the Address Device command. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0f2a79300a1471cf92ab43af165ea13555c8b0a5 Author: Sarah Sharp Date: Mon Apr 27 19:57:12 2009 -0700 USB: xhci: Root hub support. Add functionality for getting port status and hub descriptor for xHCI root hubs. This is WIP because the USB 3.0 hub descriptor is different from the USB 2.0 hub descriptor. For now, we lie about the root hub descriptor because the changes won't effect how the core talks to the root hub. Later we will need to add the USB 3.0 hub descriptor for real hubs, and this code might change. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7206b00164a1c3ca533e01db285955617e1019f8 Author: Sarah Sharp Date: Mon Apr 27 19:54:49 2009 -0700 USB: Add route string to struct usb_device. This patch adds a hex route string to each USB device. The route string is used by the USB 3.0 host controller to send packets through the device tree. USB 3.0 hubs use this string to route packets to the correct port. This is fundamental bus change from USB 2.0, where all packets were broadcast across the bus. Devices (including hubs) under a root port receive the route string 0x0. Every four bits in the route string represent a port on a hub. This length works because USB 3.0 hubs are limited to 15 ports, and USB 2.0 hubs (with potentially more ports) will never see packets with a route string. A port number of 0 means the packet is destined for that hub. For example, a peripheral device might have a route string of 0x00097. This means the device is connected to port 9 of the hub at depth 1. The hub at depth 1 is connected to port 7 of a hub at depth 0. The hub at depth 0 is connected to a root port. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit e7b7717247f61e2cf18ec47f91999065c59d1607 Author: Sarah Sharp Date: Mon Apr 27 19:54:26 2009 -0700 USB: Don't reset USB 3.0 devices on port change detection. The USB 3.0 bus specification defines a new connection sequence for USB 3.0 hubs and roothubs. USB 3.0 devices are reset and link trained by the hub before the port status change notification is sent to the host OS. This means that an entire tree of devices can be trained in parallel on power up, and the OS no longer needs to reset USB 3.0 devices. Change the USB core's hub port init sequence so that it does not reset USB 3.0 devices. The port status change from the roothub and from the USB 3.0 hub will report the SuperSpeed connect correctly. This patch currently only handles the roothub case. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit d2e9b4d6734db2327af3149d8ca7555307e10828 Author: Sarah Sharp Date: Mon Apr 27 19:55:01 2009 -0700 USB: Add USB 3.0 roothub support to USB core. Add USB 3.0 root hub descriptors. This is a kludge because I reused the old USB 2.0 descriptors, instead of using the new USB 3.0 hub descriptors with endpoint companion descriptors and other descriptors. I did this because I wasn't ready to add USB 3.0 hub changes to khubd. For now, a USB 3.0 roothub looks like a USB 2.0 roothub, with a higher speed. USB 3.0 hubs have no transaction translator (TT). Make USB core debugging handle super speed ports. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 6b403b020c1f42180b14d28d832da61167cff822 Author: Sarah Sharp Date: Mon Apr 27 19:54:10 2009 -0700 USB: Add SuperSpeed to the list of USB device speeds. Modify the USB core to handle the new USB 3.0 speed, "SuperSpeed". This is 5.0 Gbps (wire speed). There are probably more places that check for speed that I've missed. SuperSpeed devices have a 512 byte endpoint 0 max packet size. This shows up as a bMaxPacketSize0 set to 0x09 (see table 9-8 of the USB 3.0 bus spec). xHCI spec says that the xHC can handle intervals up to 2^15 microframes. That might change when real silicon becomes available. Add FIXME note for SuperSpeed isochronous endpoints. They can transmit up to 16 packets in one "burst" before they wait for an acknowledgment of the packets. They can do up to 3 bursts per microframe (determined by the mult value in the endpoint companion descriptor). The xHCI driver doesn't have support for isoc yet, so fix this later. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 7f84eef0dafb1d318263d8b71c38700aaf2d530d Author: Sarah Sharp Date: Mon Apr 27 19:53:56 2009 -0700 USB: xhci: No-op command queueing and irq handler. xHCI host controllers can optionally implement a no-op test. This simple test ensures the OS has correctly setup all basic data structures and can correctly respond to interrupts from the host controller hardware. There are two rings exercised by the no-op test: the command ring, and the event ring. The host controller driver writes a no-op command TRB to the command ring, and rings the doorbell for the command ring (the first entry in the doorbell array). The hardware receives this event, places a command completion event on the event ring, and fires an interrupt. The host controller driver sees the interrupt, and checks the event ring for TRBs it can process, and sees the command completion event. (See the rules in xhci-ring.c for who "owns" a TRB. This is a simplified set of rules, and may not contain all the details that are in the xHCI 0.95 spec.) A timer fires every 60 seconds to debug the state of the hardware and command and event rings. This timer only runs if CONFIG_USB_XHCI_HCD_DEBUGGING is 'y'. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a74588f94655263b96dacbbf14aac0958d8b7409 Author: Sarah Sharp Date: Mon Apr 27 19:53:42 2009 -0700 USB: xhci: Device context array allocation. Instead of keeping a "frame list" like older host controllers, the xHCI host controller keeps internal representations of the USB devices, with a transfer ring per endpoint. The host controller queues Transfer Request Blocks (TRBs) to the endpoint ring, and then "rings the doorbell" for that device. The host controller processes the transfer, places a transfer completion event on the event ring, and interrupts the system. The device context base address array must be allocated by the xHCI host controller driver, along with the device contexts it points to. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 0ebbab37422315a5d0cb29792271085bafdf38c0 Author: Sarah Sharp Date: Mon Apr 27 19:52:34 2009 -0700 USB: xhci: Ring allocation and initialization. Allocate basic xHCI host controller data structures. For every xHC, there is a command ring, an event ring, and a doorbell array. The doorbell array is used to notify the host controller that work has been enqueued onto one of the rings. The host controller driver enqueues commands on the command ring. The HW enqueues command completion events on the event ring and interrupts the system (currently using PCI interrupts, although the xHCI HW will use MSI interrupts eventually). All rings and the doorbell array must be allocated by the xHCI host controller driver. Each ring is comprised of one or more segments, which consists of 16-byte Transfer Request Blocks (TRBs) that can be chained to form a Transfer Descriptor (TD) that represents a multiple-buffer request. Segments are linked into a ring using Link TRBs, which means they are dynamically growable. The producer of the ring enqueues a TD by writing one or more TRBs in the ring and toggling the TRB cycle bit for each TRB. The consumer knows it can process the TRB when the cycle bit matches its internal consumer cycle state for the ring. The consumer cycle state is toggled an odd amount of times in the ring. An example ring (a ring must have a minimum of 16 TRBs on it, but that's too big to draw in ASCII art): chain cycle bit bit ------------------------ | TD A TRB 1 | 1 | 1 |<------------- <-- consumer dequeue ptr ------------------------ | consumer cycle state = 1 | TD A TRB 2 | 1 | 1 | | ------------------------ | | TD A TRB 3 | 0 | 1 | segment 1 | ------------------------ | | TD B TRB 1 | 1 | 1 | | ------------------------ | | TD B TRB 2 | 0 | 1 | | ------------------------ | | Link TRB | 0 | 1 |----- | ------------------------ | | | | chain cycle | | bit bit | | ------------------------ | | | TD C TRB 1 | 0 | 1 |<---- | ------------------------ | | TD D TRB 1 | 1 | 1 | | ------------------------ | | TD D TRB 2 | 1 | 1 | segment 2 | ------------------------ | | TD D TRB 3 | 1 | 1 | | ------------------------ | | TD D TRB 4 | 1 | 1 | | ------------------------ | | Link TRB | 1 | 1 |----- | ------------------------ | | | | chain cycle | | bit bit | | ------------------------ | | | TD D TRB 5 | 1 | 1 |<---- | ------------------------ | | TD D TRB 6 | 0 | 1 | | ------------------------ | | TD E TRB 1 | 0 | 1 | segment 3 | ------------------------ | | | 0 | 0 | | <-- producer enqueue ptr ------------------------ | | | 0 | 0 | | ------------------------ | | Link TRB | 0 | 0 |--------------- ------------------------ Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 66d4eadd8d067269ea8fead1a50fe87c2979a80d Author: Sarah Sharp Date: Mon Apr 27 19:52:28 2009 -0700 USB: xhci: BIOS handoff and HW initialization. Add PCI initialization code to take control of the xHCI host controller away from the BIOS, halt, and reset the host controller. The xHCI spec says that BIOSes must give up the host controller within 5 seconds. Add some host controller glue functions to handle hardware initialization and memory allocation for the host controller. The current xHCI prototypes use PCI interrupts, but the xHCI spec requires MSI-X interrupts. Add code to support MSI-X interrupts, but use the PCI interrupts for now. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 74c6874199af98e602bb7c5fb1beb9cffda98729 Author: Sarah Sharp Date: Mon Apr 27 19:52:22 2009 -0700 USB: xhci: Support xHCI host controllers and USB 3.0 devices. This is the first of many patches to add support for USB 3.0 devices and the hardware that implements the eXtensible Host Controller Interface (xHCI) 0.95 specification. This specification is not yet publicly available, but companies can receive a copy by becoming an xHCI Contributor (see http://www.intel.com/technology/usb/xhcispec.htm). No xHCI hardware has made it onto the market yet, but these patches have been tested under the Fresco Logic host controller prototype. This patch adds the xHCI register sets, which are grouped into five sets: - Generic PCI registers - Host controller "capabilities" registers (cap_regs) short - Host controller "operational" registers (op_regs) - Host controller "runtime" registers (run_regs) - Host controller "doorbell" registers These some of these registers may be virtualized if the Linux driver is running under a VM. Virtualization has not been tested for this patch. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a92b63e7e4c185b4dd9e87762e2cb716e54482d0 Author: Greg Kroah-Hartman Date: Mon Jun 15 13:13:05 2009 -0700 USB: usbtmc: fix switch statment Steve Holland pointed out that we forgot to call break; in the switch statment. This probably resolves a lot of the bug reports I've gotten for the driver lately. Stupid me... Reported-by: Steve Holland Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3b6c023f831e3179c42bbcff189c73628cd5ea4c Author: Martin Fuzzey Date: Thu Jun 4 23:20:38 2009 +0200 USB: usbtest fix endless loop in unlink tests. In tests 11 and 12 if the URB completes with an error status (eg babble) the asynchrous unlink entered an endless loop trying to unlink a non resubmitted URB. Signed-off-by: Martin Fuzzey Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e60c65d35951ef3527596442338c371ea16d55ed Author: Nicolas Ferre Date: Fri Jun 5 17:46:16 2009 +0200 USB: atmel_usba_udc: change way of specifying bias function The toggle_bias() function was specified differently for avr32 and at91 architectures. Now, new at91 have the same behavior as avr32. Consequently, we change to a particular chip function definition: only for at91sam9rl. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 23a54e567534d4895056df558e2564114513524a Author: Frans Pop Date: Thu Jun 4 22:30:48 2009 +0200 USB: Avoid PM error messages during resume if a device was disconnected Currently if a laptop is suspended e.g. while docked and then resumed after undocking it, the following errors get generated because the USB hub in the docking station and the devices connected to it are no longer available: pm_op(): usb_dev_resume+0x0/0x10 returns -19 PM: Device 1-2 failed to resume: error -19 pm_op(): usb_dev_resume+0x0/0x10 returns -19 PM: Device 1-2.2 failed to resume: error -19 pm_op(): usb_dev_resume+0x0/0x10 returns -19 PM: Device 1-2.3 failed to resume: error -19 As the removal of USB devices while a system is suspended is a relatively common use case and in most cases not an error, just return success on -ENODEV. The user gets informed anyway as the USB subsystem generates regular disconnect messages for the devices shortly afterwards: usb 1-2: USB disconnect, address 3 usb 1-2.2: USB disconnect, address 4 usblp0: removed usb 1-2.3: USB disconnect, address 5 Signed-off-by: Frans Pop Acked-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 453f77558810ffa669ed5a510a7173ec49def396 Author: Hao Wu Date: Thu Jun 4 16:06:50 2009 +0800 USB: Add Intel Langwell USB OTG Transceiver Drive Description: This driver is used for Intel Langwell* USB OTG controller in Intel Moorestown* platform. It tries to implement host/device role switch according to OTG spec. The actual hsot and device functions are accomplished in modified EHCI driver and Intel Langwell USB OTG client controller driver. * Langwell and Moorestown are names used in development. They are not approved official name. Note: This patch is the first version Intel Langwell USB OTG Transceiver driver. The development is not finished, and the bug fixing is on going for some hardware and software issues. The main purpose of this submission is for code view. Supported features: - Data-line Pulsing SRP - Support HNP to switch roles - PCI D0/D3 power management support Known issues: - HNP is only tested with another Moorestown platform. - PCI D0/D3 power management support is not fully tested. - VBus Pulsing SRP is not support in current version. Signed-off-by: Hao Wu Signed-off-by: Greg Kroah-Hartman commit 5be19a9daa2df2507adf5b4676a7db8d131cf56e Author: Xiaochen Shen Date: Thu Jun 4 15:34:49 2009 +0800 USB: Add Intel Langwell USB Device Controller driver Intel Langwell USB Device Controller is a High-Speed USB OTG device controller in Intel Moorestown platform. It can work in OTG device mode with Intel Langwell USB OTG transceiver driver as well as device-only mode. The number of programmable endpoints is different through controller revision. NOTE: This patch is the first version Intel Langwell USB OTG device controller driver. The bug fixing is on going for some hardware and software issues. Intel Langwell USB OTG transceiver driver and EHCI driver patches will be submitted later. Supported features: - USB OTG protocol support with Intel Langwell USB OTG transceiver driver (turn on CONFIG_USB_LANGWELL_OTG) - Support control, bulk, interrupt and isochronous endpoints (isochronous not tested) - PCI D0/D3 power management support - Link Power Management (LPM) support Tested gadget drivers: - g_file_storage - g_ether - g_zero The passed tests: - g_file_storage: USBCV Chapter 9 tests - g_file_storage: USBCV MSC tests - g_file_storage: from/to host files copying - g_ether: ping, ftp and scp files from/to host - Hotplug, with and without hubs Known issues: - g_ether: failed part of USBCV chap9 tests - LPM support not fully tested TODO: - g_ether: pass all USBCV chap9 tests - g_zero: pass usbtest tests - Stress tests on different gadget drivers - On-chip private SRAM caching support Signed-off-by: Xiaochen Shen Signed-off-by: Greg Kroah-Hartman commit f9c99bb8b3a1ec81af68d484a551307326c2e933 Author: Alan Stern Date: Tue Jun 2 11:53:55 2009 -0400 USB: usb-serial: replace shutdown with disconnect, release This patch (as1254) splits up the shutdown method of usb_serial_driver into a disconnect and a release method. The problem is that the usb-serial core was calling shutdown during disconnect handling, but drivers didn't expect it to be called until after all the open file references had been closed. The result was an oops when the close method tried to use memory that had been deallocated by shutdown. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c706ebdfc8955b850e477255a8c0f93f9f14712d Author: Alan Stern Date: Tue Jun 2 11:54:11 2009 -0400 USB: usb-serial: call port_probe and port_remove at the right times This patch (as1253) prevents the usb-serial core from calling a driver's port_probe and port_remove methods more than once per port. It also removes some unnecessary try_module_get() calls and adds a missing port_remove method call in a failure path. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c6994e6f067cf0fc4c6cca3d164018b1150916f8 Author: Bryan Wu Date: Wed Jun 3 09:17:58 2009 -0400 USB: gadget: add USB Audio Gadget driver Funtions added: - setup all the USB audio class device descriptors - handle class specific setup request - receive data from USB host by ISO transfer - play audio data by ALSA sound card - open and setup playback PCM interface - set default playback PCM parameters - provide playback functions for USB audio driver - provide PCM parameters set/get functions Test on: - Host: Ubuntu 8.10, kernel 2.6.27 - Gadget: EZKIT-BF548 with ASoC AD1980 codec Todo: - add real Mute control code - add real Volume control code - maybe find another way to replace dynamic buffer handling with static buffer allocation - test on Windows system - provide control interface to handle mute/volume control - provide capture interface in the future - test on BF527, other USB device controler and other audio codec Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit c47d7b09891abb4f8b222317c89c7469bed8db3a Author: Bryan Wu Date: Wed Jun 3 09:17:57 2009 -0400 USB: audio: add USB audio class definitions Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 5b7d70c6dbf2db786395cbd21750a1a4ce222f84 Author: Ben Dooks Date: Tue Jun 2 14:58:06 2009 +0100 USB: Gadget driver for Samsung HS/OtG block Driver support for the new high-speed/OtG block that is in the newer line of Samsung SoC devices such as the S3C64XX series. This driver does not currntly have DMA support enabled due to issues with buffer alignment which need to be sorted out. Signed-off-by: Ben Dooks Signed-off-by: Greg Kroah-Hartman commit 54e4026b64a970303349b952866641a7804ef594 Author: Guennadi Liakhovetski Date: Wed Apr 15 14:25:33 2009 +0200 USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver This patch adds support for i.MX3x (only tested with i.MX31 so far) ARM SoCs to the fsl_usb2_udc driver. It also moves PHY configuration before controller reset, because otherwise an ULPI PHY doesn't get a reset and doesn't function after a reboot. The problem with longer control transfers is still not fixed. The patch renames the fsl_usb2_udc.c file to fsl_udc_core.c to preserve the same module name for user-space backwards compatibility. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Greg Kroah-Hartman commit 568d422e9cf52b7b26d2e026ae1617971f62b560 Author: Jason Wessel Date: Fri May 29 13:34:17 2009 -0500 USB: usb_serial: only allow sysrq on a console port The only time a sysrq should get processed is if the attached device is a console. This is intended to protect sysrq execution on a host connected with a terminal program. Here is the problem scenario: host A <-- rs232 link --> host B Host A is using mincom and a usb pl2303 device to connect to host b which is a linux system with a usb pl2303 device acting as the serial console. When host B is rebooted the pl2303 emits random junk characters on reset. These character sequences contain serial break signals most of the time and when translated to a sysrq have caused host A to get random processes killed, reboots or power down. It is true that in this setup with this patch host B might still have the same problem as host A if you reboot host A. In most cases host A is a development host which seldom gets rebooted, and you could turn off sysrq temporarily on host B if you need to reboot host A. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 430eb0d27c1b36c5191c16b2472b26137673a8d4 Author: Jason Wessel Date: Fri May 29 13:34:16 2009 -0500 USB: pl2303 usb_serial: implement sysrq handling on break Add callbacks to process the sysrq when using a pl2303 usb device as a console. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 830d1b188c997c4af094d4e20b194205ddbded13 Author: Maulik Mankad Date: Fri May 29 18:34:40 2009 +0530 USB: gadget : Fix RNDIS code to pass USB Compliance tests (USBCV) with g_ether This patch fixes a bug in the RNDIS code. Due to this bug gether_connect() fails as the port remains un-initialized. As a result following USB Compliance Tests were failing. (1)EndpointDescriptorTest_DeviceConfigured (2)Interface Descriptor Test. (3)Halt Endpoint Test. (4)SetConfigurationTest The fix aligns rndis code with the CDC ECM for xxx_set_alt(). The above listed USB Compliance test passes with this fix. Tested working fine on SDP with OMAP 3430. Signed-off-by: Maulik Mankad CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f17c5026ce27d0449903d34f9fca461a45fe1cb Author: Kir Kolyshkin Date: Thu May 28 20:33:58 2009 +0400 USB: cdc-acm: quirk for Alcatel OT-I650 This mobile phone fails to work as a modem, failing with: cdc_acm: Zero length descriptor references cdc_acm: probe of 1-6.1.3:1.1 failed with error -22 Tested to work fine with this patch. Signed-off-by: Kir Kolyshkin Cc: stable Signed-off-by: Greg Kroah-Hartman commit 680cc64557101eaaca706dc9a1a0777f35aac0da Author: Daniel Glöckner Date: Thu May 28 13:00:14 2009 +0200 USB: gadget: imx_udc: don't queue more data when zlp is to be sent When a zero-length packet has been requested and another packet is written into the fifo, the MX1 tends to send the first byte of the previous packet instead of the first byte of the current packet. The CRC is adjusted accordingly so that this packet is _not_ discarded by the host. Waiting for the ZLPS bit to clear avoids these bad packets. Signed-off-by: Daniel Glöckner Cc: Darius Augulis Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e25134122c25ebb0679b4bbd536fb46c669f9d7 Author: Daniel Glöckner Date: Thu May 28 12:53:24 2009 +0200 USB: gadget: g_serial: append zlp when tx buffer becomes empty Some usb serial host drivers expect a short packet before they forward the data to the application. This is caused by them trying to read more than one packet at a time. So when the gadget sends an exact multiple of the maximum packet size, it should append a zero-length packet. Signed-off-by: Daniel Glöckner Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9b8e7ba68ad0e4273f4897950de65bc311552cd1 Author: FUJITA Tomonori Date: Thu May 28 10:10:44 2009 +0900 USB: replace dma_sync_single and dma_sync_sg with dma_sync_single_for_cpu and dma_sync_sg_for_cpu This replaces dma_sync_single() and dma_sync_sg() with dma_sync_single_for_cpu() and dma_sync_sg_for_cpu() respectively because they is an obsolete API; include/linux/dma-mapping.h says: /* Backwards compat, remove in 2.7.x */ #define dma_sync_single dma_sync_single_for_cpu #define dma_sync_sg dma_sync_sg_for_cpu Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b18ffd49e86102a9ed0a1cc83fdafe3891e844e5 Author: Alan Stern Date: Wed May 27 18:21:56 2009 -0400 USB: EHCI: update toggle state for linked QHs This patch (as1245) fixes a bug in ehci-hcd. When an URB is queued for an endpoint whose QH is already in the LINKED state, the QH doesn't get refreshed. As a result, if usb_clear_halt() was called during the time that the QH was linked but idle, the data toggle value in the QH doesn't get reset. The symptom is that after a clear_halt, data gets lost and transfers time out. This problem is starting to show up now because the "ehci-hcd unlink speedups" patch causes QHs with no queued URBs to remain linked for a suitable time. The patch utilizes the new endpoint_reset mechanism to fix the problem. When an endpoint is reset, the new method forcibly unlinks the QH (if necessary) and safely updates the toggle value. This allows qh_update() to be simplified and avoids using usb_device's toggle bits in a rather unintuitive way. Signed-off-by: Alan Stern CC: David Brownell Tested-by: David Signed-off-by: Greg Kroah-Hartman commit 5effabbe9e6e0089f7afdde35cb51e8c8b4cf6bc Author: Yoshihiro Shimoda Date: Tue May 26 18:24:34 2009 +0900 USB: r8a66597-hcd: use platform_data instead of module_param CPU/board specific parameters (PLL clock, vif etc...) can be set by platform_data instead of module_param. v2: remove irq_sense member in platform_data because it can OR in IRQF_TRIGGER_LOW or IRQF_TRIGGER_FALLING against IORESOURCE_IRQ in the struct resource. Signed-off-by: Yoshihiro Shimoda Reviewed-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit 32ebbe7b6ad44ae9c276419710b56de6ba705303 Author: Josua Dietze Date: Sun May 24 23:21:42 2009 +0200 USB: usb-storage: add filter to "option_ms" to leave unrecognized devices alone Some unusual usb devices from the maker "Option" are switched from storage to serial/modem mode by sending a SCSI REZERO command. In one case a fairly common vendor/device ID is affected which led to problems for users of other modems or phones which are not supposed to be switched. The patch adds a filter by reading the vendor name with the SCSI INQUIRY command, and skips the switching code for all unrecognized entries. Further changes are cleanups and corrections pointed out by Alan Stern. Tested with two devices with the IDs 05c6:1000, one from "Option" and switchable, and one from Samsung (cell phone). Signed-off-by: Josua Dietze Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 68335e816a92411649955a9903b1f30c388ea322 Author: Alan Stern Date: Fri May 22 17:02:33 2009 -0400 USB: EHCI: stagger frames for interrupt transfers This patch (as1243) tries to improve ehci-hcd's scheduling of interrupt transfers. Instead of trying to cram all transfers with the same period into the same frame, the new code will spread the transfers out among lots of different frames. This should reduce the periodic schedule load in any one frame -- some host controllers have trouble when there's too much work to do. A more thorough approach would stagger the uframe values as well. But this is enough to make a big improvement. Signed-off-by: Alan Stern Tested-by: Dwayne Fontenot Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit be475d9027a07069407a19980d1a4fcb7b18b23c Author: Alan Stern Date: Thu May 21 17:37:58 2009 -0400 USB: usb-storage: fix return values from init functions This patch (as1242) fixes the return values from the special init functions in usb-storage. They are supposed to return 0 for success, not USB_STOR_TRANSPORT_GOOD. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9a4b5e36ce58febdd2039dd4d129ee7edf4f5536 Author: Niilo Minkkinen Date: Mon May 18 17:54:16 2009 +0300 usb: musb: disable OTG AUTOIDLE only with omap3430 Omap3 MUSB AUTOIDLE functionality configured through OTG_SYSCONFIG register prevents the device from going into retention. This is a workaround (by Richard Woodruff/TI), as his comment : > A new MUSB bug which is a match to data below was identified very > recently (on hardware and in simulation). > This bug is in 3430 and not 3630. > As a priority test (and as new default) you should have engineers > disable autoidle for MUSB block. > This is the workaround which will show up in next errata. Signed-off-by: Niilo Minkkinen Signed-off-by: Richard Woodruff Signed-off-by: Greg Kroah-Hartman commit a2bfb4a346d2c2e25f84b35c6044ff53296be1ee Author: Oliver Neukum Date: Sat May 16 21:13:19 2009 +0200 USB: support for cdc-acm of single interface devices This implement support in cdc-acm for acm devices another popular OS can handle - adds support for autodetection of devices that use one interface - autodetection of endpoints - add a quirk for surpressing a setting that OS doesn't use - autoassume that quirk for single interface devices Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0b10395ab86c11bef10e882a4323367e6735c9b2 Author: Andrew Morton Date: Tue May 12 15:27:59 2009 -0700 + drivers-usb-serial-sierrac-fix-printk-warning.patch added to -mm tree drivers/usb/serial/sierra.c: In function 'sierra_write': drivers/usb/serial/sierra.c:375: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' Signed-off-by: Andrew Morton Cc: Elina Pasheva Cc: Rory Filer Signed-off-by: Greg Kroah-Hartman commit 1e0abb7e1844a7cb499321a94d5d04347ef86d68 Author: Daniel Mack Date: Tue May 12 13:50:34 2009 -0700 USB: imx_udc: fix leak in imx_ep_alloc_request() cppcheck found another leak in drivers/usb/gadget/imx_udc.c Cc: Mike Lee Cc: Darius Augulis Signed-off-by: Daniel Mack Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5512966643adb17483efc5f61481a38fc33088bb Author: Kay Sievers Date: Mon May 4 19:48:32 2009 +0200 usb: convert endpoint devices to bus-less childs of the usb interface The endpoint devices look like simple attribute groups now, and no longer like devices with a specific subsystem. They will also no longer emit uevents. It also removes the device node requests for endpoint devices, which are not implemented for now. Signed-off-by: Kay Sievers Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9636b683769a6c3acfe121314ee9d7e19157f109 Author: Elina Pasheva Date: Tue May 12 13:12:54 2009 -0700 USB: serial: sierra driver sierra_calc_num_ports() fix - Removed potential kernel oops from sierra_calc_num_ports() function. Calling this function twice would likely have caused an oops because the function releases allocated memory after the first call. - Modified sierra_probe() function to reflect the changes in sierra_calc_num_ports(). Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit c76a23da8e9a39222c4a7c29b0c5348cd8902a2b Author: Elina Pasheva Date: Tue May 12 13:12:37 2009 -0700 USB: serial: sierra driver interrupt urb resubmit fix - Fixed a problem when re-submitting urb from interrupt callback in function sierra_instat_callback(). This suppresses also issuing of error messages in /var/log/kern.log - Removed redundant debug message at the beginning of sierra_instat_callback() function - Changed a debug message to be an error message Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 238ebd138c9704e1162030c1e600bc06142cb2c8 Author: Elina Pasheva Date: Tue May 12 13:12:24 2009 -0700 USB: serial: sierra driver zero length packet fix - Fixed a problem with transferring packets with size a multiple of Bulk Xfer size in function sierra_write(). Added transfer flag URB_ZERO_PACKET before submitting the urb to trigger Zero-length data transfer when packet size is a multiple of Bulk Xfer. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 72fda3ca6fc14662bb385d1e39e9e00af15b200d Author: Jason Wessel Date: Mon May 11 15:24:10 2009 -0500 USB: serial: ftd_sio: implement sysrq handling on break Change driver to make use of the new functions in include/linux/usb/serial.h so as to allow the driver to handle the sysrq Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 98fcb5f78165b8a3d93870ad7afd4d9ebbb8b43a Author: Jason Wessel Date: Mon May 11 15:24:09 2009 -0500 USB: serial: usb_debug,usb_generic_serial: implement sysrq and serial break The usb_debug driver was modified to implement serial break handling by using a "magic" data packet comprised of the sequence: 0x00 0xff 0x01 0xfe 0x00 0xfe 0x01 0xff When the tty layer requests a serial break the usb_debug driver sends the magic packet. On the receiving side the magic packet is thrown away or a sysrq is activated depending on what kernel .config options have been set. The generic serial driver was modified as well as the usb serial headers to generically implement sysrq processing in the same way the non usb uart based drivers implement the sysrq handling. This will allow other usb serial devices to implement sysrq handling as desired. The new usb serial functions are named similarly and implemented similarly to the uart functions as follows: usb_serial_handle_break <-> uart_handle_break usb_serial_handle_sysrq_char <-> uart_handle_sysrq_char Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 87c1edd217a6742e48028db6664d7763de0449f6 Author: Jason Wessel Date: Mon May 11 15:24:08 2009 -0500 USB: serial: ftd_sio usb: move status check Alan Stern commented that the private driver counts must be updated regard less of the status return on the urb when the write call back is executed. This patch alters the behavior to update the private driver counts by simply moving the status check to after the driver count update. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 715b1dc01fe44537e8fce9566e4bb48d6821d84b Author: Jason Wessel Date: Mon May 11 15:24:07 2009 -0500 USB: usb_debug, usb_generic_serial: implement multi urb write The usb_debug driver, when used as the console, will always fail to insert the carriage return and new line sequence as well as randomly drop console output. This is a result of only having the single write_urb and that the tty layer will have a lock that prevents the processing of the back to back urb requests. The solution is to allow more than one urb to be outstanding and have a slightly deeper transmit queue. The idea and some code is borrowed from the ftdi_sio usb driver. The generic usb serial driver was modified so as to allow the classic method of 1 write urb, or a multi write urb scheme with N allowed outstanding urbs where N is controlled by max_in_flight_urbs. When max_in_flight_urbs in a "struct usb_serial_driver" is non zero the multi write urb scheme will be used. The size of 4000 was selected for the usb_debug driver so that the driver lowers possibility of losing the queued console messages during the kernel startup. Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit b0cda8c5f7b652c6c27bcb3891d174534d2f1a91 Author: Elina Pasheva Date: Wed Apr 29 10:29:21 2009 -0700 USB: serial: sierra driver read path bug fix This patch fixes a problem in function sierra_indat_callback() which would stop receiving traffic from a modem if a number of URB failures occur. Failed URBs are not resubmitted for the next read and there is only a limited number of URBs allocated for the IN path. After this number of failures, the receive path stops working on a particular interface. Signed-off-by: Elina Pasheva commit 40d2ff32f102e69d482480265ec60ffb86b028de Author: Elina Pasheva Date: Wed Apr 29 10:26:46 2009 -0700 USB: serial: sierra driver write path improvements - Updated Copyright notice with new authors names - Version number set to 1.3.6 - Added a MAX_TRANSFER constant following Greg Kroah-Hartman's recommended setting of PAGE_SIZE-512 for USB transfer buffers and modified accordingly sierra_write() function. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit e05b8e6e1066e7583dbb6b00407508797b737995 Author: Pete Zaitcev Date: Wed Apr 29 16:02:18 2009 -0600 USB: janitor storage initializers We all know that pointless janitoring is bad, but this code is just offensive. So: - The error code goes directly to probe return, so don't return -1. - Don't return return internal usb-storage codes either. - usb_stor_control_msg takes timeout in milliseconds. - Sanitize messages. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit bf92c1906e4f294a48fafc15755c65af636195e0 Author: Randy Dunlap Date: Wed Apr 29 21:02:49 2009 -0700 USB: usb.h: change private: kernel-doc for new format requirement Use "/* private:" to mark struct members as private so that scripts/kernel-doc will handle them correctly. Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit cac85a8b4e8e7c51bc0ce2980bba0e35cfec5c2e Author: Randy Dunlap Date: Wed Apr 29 21:04:19 2009 -0700 USB: composite.h: mark private struct members as private: Mark internal struct members as /* private: */ so that kernel-doc won't produce warnings about missing descriptions for them. Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5700f4c551f807576eec1d359575681e33057871 Author: Paul Mundt Date: Thu Apr 30 17:41:02 2009 +0900 wusb: hwa-hc: Drop unused pci_suspend/resume hooks. CC drivers/usb/host/hwa-hc.o drivers/usb/host/hwa-hc.c:601: warning: initialization from incompatible pointer type drivers/usb/host/hwa-hc.c:602: warning: initialization from incompatible pointer type The prototype for these changed, so the message itself was dropped. As the only thing these hooks were doing was printing out the message for debugging, there is not much point in keeping them around. So, just kill them off. Cc: Inaky Perez-Gonzalez Cc: Greg Kroah-Hartman Signed-off-by: Paul Mundt Acked-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit b4072f46e57fe7138f4337840fab736ec43293ca Author: Hermann Kneissel Date: Sun Apr 26 22:42:04 2009 +0200 USB: garmin_gps: removes usb_reset_device from garmin_close The following patch removes the call to usb_reset_device which may occur when closing the driver by implementing a new session initialization code based on the method used by gpsbabel. The patch is against linux-2.6.30-rc3-git1. Signed-off-by: Hermann Kneissel herkne@users.sourceforge.net Signed-off-by: Greg Kroah-Hartman commit 9685a59a2bc0e1e85d1848c744214dbe74e9ce7d Author: Richard Laager Date: Sun Apr 26 20:56:20 2009 -0500 USB: Identify Novatel MC760 in option driver Identify the Novatel MC760/U760/USB760 in the option USB serial driver. Signed-off-by: Richard Laager Signed-off-by: Greg Kroah-Hartman commit 6ec4beb5c701f728548b587082c83ef62eb36035 Author: Alan Stern Date: Mon Apr 27 13:33:41 2009 -0400 USB: new flag for resume-from-hibernation This patch (as1237) changes the way the PCI host controller drivers avoid retaining bogus hardware states during resume-from-hibernation. Previously we had reset the hardware as part of preparing to reinstate the memory image. But we can do better now with the new PM framework, since we know exactly which resume operations are from hibernation. The pci_resume method is changed to accept a flag indicating whether the system is resuming from hibernation. When this flag is set, the drivers will reset the hardware to get rid of any existing state. Similarly, the pci_suspend method is changed to remove the pm_message_t argument. It's no longer needed, since no special action has to be taken when preparing to reinstate the memory image. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit abb306416a7ec2386678de0da6b632a6cb068af0 Author: Alan Stern Date: Mon Apr 27 13:33:24 2009 -0400 USB: move PCI host controllers to new PM framework This patch (as1236) converts the USB PCI power management routines over to the new PM framework. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 00240c3839d843ccf07abd52806f421f7b87bbdc Author: Alan Stern Date: Mon Apr 27 13:33:16 2009 -0400 PCI: add power-state name strings This patch (as1235) adds an array of PCI power-state names, together with a simple inline accessor routine. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Acked-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 604eb89ffed9fba268582dc44d5b462ea94cc0ca Author: Alan Stern Date: Mon Apr 27 13:19:41 2009 -0400 USB: g_file_storage: use the "unaligned" accessors This patch (as1233) makes g_file_storage use the "unaligned" accessors. This is based on work originally done by Harvey Harrison. Signed-off-by: Alan Stern Acked-by: Harvey Harrison Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5d44b36120d5b67081419d9307a526a0dfd949fc Author: Elina Pasheva Date: Mon Apr 27 18:41:52 2009 -0700 USB: serial: sierra driver debug info visibility improvement - Version number set to 1.3.5 - Added "\n" at the end of each string in dev_dbg() code to improve the debug information visibility. Without this change the debug logs are very difficult to read. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit b748bb71b50fcea991e5c17bb3e10b5f38d21eaa Author: Elina Pasheva Date: Fri Apr 24 18:41:49 2009 -0700 USB: serial: sierra driver performance improvements - Version number set to 1.3.4 - Increased the number of input/output URBs for improved performance (numbers based on an measurement study triggered by a user request). We performed the testing using a network simulator that provided full speeds in the uplink and downlink directions and this combination of URBs provided the best throughput. Signed-off-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit 820d7a253c5e59a786d5b608f6e8d0419fdc2f6e Author: Greg Kroah-Hartman Date: Mon Apr 27 13:17:21 2009 -0700 USB: remove unused usb_host class The usb_host class isn't used for anything anymore (it was used for debug files, but they have moved to debugfs a few kernel releases ago), so let's delete it before someone accidentally puts a file in it. Signed-off-by: Greg Kroah-Hartman commit ed14f0340a4954c1a9ffaff01c261428b5753e9d Author: Greg Kroah-Hartman Date: Mon Apr 27 13:15:38 2009 -0700 USB: EHCI: create sysfs companion files directly in the controller device The controller device is where we want this sysfs file, especially as the dev pointer is about to go away... Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 109833417cd0bf27089fcca5b0d6a44c8d592452 Author: Greg Kroah-Hartman Date: Mon Apr 27 13:12:58 2009 -0700 USB: OHCI: use the ohci structure directly in debugfs files. Right now we jump through some hoops to get to the struct ohci_hcd struct in the ohci debugfs files. Remove all of the fun casting around and just use the pointer directly. This is needed as the dev pointer in the hcd structure is going away, and it makes the code simpler and smaller Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 74675a58507e769beee7d949dbed788af3c4139d Author: Alan Stern Date: Thu Apr 30 10:08:18 2009 -0400 NLS: update handling of Unicode This patch (as1239) updates the kernel's treatment of Unicode. The character-set conversion routines are well behind the current state of the Unicode specification: They don't recognize the existence of code points beyond plane 0 or of surrogate pairs in the UTF-16 encoding. The old wchar_t 16-bit type is retained because it's still used in lots of places. This shouldn't cause any new problems; if a conversion now results in an invalid 16-bit code then before it must have yielded an undefined code. Difficult-to-read names like "utf_mbstowcs" are replaced with more transparent names like "utf8s_to_utf16s" and the ordering of the parameters is rationalized (buffer lengths come immediate after the pointers they refer to, and the inputs precede the outputs). Fortunately the low-level conversion routines are used in only a few places; the interfaces to the higher-level uni2char and char2uni methods have been left unchanged. Signed-off-by: Alan Stern Acked-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit a853a3d4eb2edb066248a39f0634f6f5858816a0 Author: Clemens Ladisch Date: Fri Apr 24 10:12:18 2009 +0200 usb: return device strings in UTF-8 Change the encoding of strings returned by usb_string() from ISO 8859-1 to UTF-8. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit 905c02acbd89f427c87a6d0a50fed757f6b3001c Author: Clemens Ladisch Date: Fri Apr 24 10:11:56 2009 +0200 nls: utf8_wcstombs: fix buffer overflow utf8_wcstombs forgot to include one-byte UTF-8 characters when calculating the output buffer size, i.e., theoretically, it was possible to overflow the output buffer with an input string that contains enough ASCII characters. In practice, this was no problem because the only user so far (VFAT) always uses a big enough output buffer. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit e27ecdd94d81e5bc3d1f68591701db5adb342f0d Author: Clemens Ladisch Date: Fri Apr 24 10:11:40 2009 +0200 nls: utf8_wcstombs: use correct buffer size in error case When utf8_wcstombs encounters a character that cannot be encoded, we must not decrease the remaining output buffer size because nothing has been written to the output buffer. Signed-off-by: Clemens Ladisch Signed-off-by: Greg Kroah-Hartman commit 97d7b7a41bd462abceee7dbb2b3afacfd52438ed Author: Greg Kroah-Hartman Date: Fri Apr 24 15:16:04 2009 -0700 USB: add the usbfs devices file to debugfs People are very used to the devices file in usbfs. Now that we have moved usbfs to be an "embedded" option only, the developers miss the file, they had grown quite attached to it over all of these years. This patch brings it back and puts it in the usb debugfs directory, so that the developers don't feel sad anymore. Signed-off-by: Greg Kroah-Hartman commit f49ce96f11112a84c16ac217490ebd6f8d9a8977 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:15:49 2009 -0700 USB: usbmon: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit ec20df2e8907950f45fa538fa5c62a254e686875 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:15:00 2009 -0700 USB: UHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 485f4f397544a26ad10ec2a3c7fd9dfe009fe602 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:14:38 2009 -0700 USB: OHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 66536ab36895f7da718693c21f2bde3247c8cf07 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:14:25 2009 -0700 USB: FHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 08f4e586b9db4f398af1133a7b7457607539b958 Author: Greg Kroah-Hartman Date: Fri Apr 24 15:13:18 2009 -0700 USB: EHCI: use the new usb debugfs directory All usb debugfs files should be behind the usb directory, not at the root of debugfs. Signed-off-by: Greg Kroah-Hartman commit 00048b8bde5a6cbd9c3a76f272cc9ddb55705e37 Author: Greg Kroah-Hartman Date: Fri Apr 24 14:56:26 2009 -0700 USB: add usb debugfs directory Add a common usb directory in debugfs that the usb subsystem can use. Signed-off-by: Greg Kroah-Hartman commit 84fe6e799deaf14e2c7a941e805cd93d83f90927 Author: Tony Cook Date: Sat Apr 18 22:55:06 2009 +0930 USB: mos7840: fix debug log messages This patch removes all the unnecessary "\n"s that the debug print statements have, which result in everything appearing double spaced and unreadable in the logs. Signed-off-by: Tony Cook Signed-off-by: Greg Kroah-Hartman commit d0f830d30c24175b463fa725ba369a5117fbdd8f Author: H Hartley Sweeten Date: Wed Apr 22 16:03:05 2009 -0400 USB: hub.c: fix sparse warnings Fix sparse warning in drivers/usb/core/hub.c. The following sparse warning is seen when building on ARM due do the macro raw_local_irq_save(): warning: symbol 'temp' shadows an earlier one Signed-off-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman commit 96f90a8b0dc84538ee4a31d3a5b80d758916629e Author: H Hartley Sweeten Date: Wed Apr 22 16:18:59 2009 -0400 USB: host/ohci-hcd.c: fix sparse warnings Fix sparse warnings in drivers/usb/host/ohci-hcd.c. Four of the following sparse warning are seen when building on ARM due do the macro raw_local_irq_save(): warning: symbol 'temp' shadows an earlier one Signed-off-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman commit 367815eea4e483d9c3630f69ae0a57e1e32a92b0 Author: Robert Jarzmik Date: Tue Apr 21 20:41:03 2009 -0700 USB: pxa27x_udc: single-thread setup requests Since the PXA 27x UDC automatically ACK's some control packets such as SET_INTERFACE, the gadgets may not get a chance to process the request before another control packet is received. The Linux gadgets do not expect to receive setup callbacks out of order. The file storage gadget only saves the "highest" priority request. The PXA27x UDC driver must make sure it only sends one up at a time, allowing the gadget to make changes before continuing. In theory, the host would be NACK'd while the gadget processes the change but the UDC has already ACK'd the request. If another request is sent by the host that is not automatically ACK'd by the UDC, then the throttling happens properly to regain sync. The observed case was the file_storage gadget timing out on a BulkReset request because the SET_INTERFACE was being processed by the gadget. Since SET_INTERFACE is higher priority than BulkReset, the BulkReset was dropped. This was exacerbated by turning on the debug which delayed the fsg signal processing thread. This also fixes the "should never get in WAIT_ACK_SET_CONF_INTERF state here!!!" warning. Reported-by: Vernon Sauder Signed-off-by: Robert Jarzmik Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman index 51790b0..1937d8c 100644 commit 9f5351b743716c796d13235651699fb4ec7aa64f Author: Robert Jarzmik Date: Tue Apr 21 20:34:44 2009 -0700 USB: pxa27x_udc: compatibility with pxa320 SoC Got pxa27x_udc working on the pxa320 Nomad platform. The problem was that the pxa3xx UDC is not quite compatible with the pxa27x UDC in how it handles back-to-back control packets. The pxa27x probably drops them by default, but the pxa320 does not, and you have to detect it and set the OPC bit to clear the zero-length packet. Signed-off-by: Aric Blumer Signed-off-by: Robert Jarzmik Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f6d529f936672d341fab14ffb0d8eebeee2d8cd3 Author: David Brownell Date: Tue Apr 21 20:34:24 2009 -0700 USB: pxa27x_udc: introduce pxa27x_clear_otgph() Follow pxa27x change in OTGPH handling, and use the newly defined pxa27x_clear_otgph(). Signed-off-by: Robert Jarzmik Acked-by: Eric Miao Acked-by: David Brownell commit 1eba67a60d6c95f7eae94930ec369f2837bb5b12 Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:28 2009 +0200 USB: UHCI queue: use usb_endpoint_type() use usb_endpoint_type() instead of fiddling manually with bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fa4c86a0dda8dd508f2542d97febe674d2e686cc Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:32 2009 +0200 USB: gadgetfs: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9ab1565151dff37a7d7687bfe5cfafb62c7d5e49 Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:21 2009 +0200 USB: Goku-S: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 81c8d8d28d6f2750acd4e41de34aefeb9404431c Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:02 2009 +0200 USB: at91_udc: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 71de6b63f15924e5aed2de0b975efc5117c0ca75 Author: Matthias Kaehlcke Date: Wed Apr 15 22:27:49 2009 +0200 USB: atmel_usba_udc: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 15739bb5023ab9373e0c6c7c703dc8c50ead9eca Author: Matthias Kaehlcke Date: Wed Apr 15 22:28:41 2009 +0200 USB: ci13xxx_udc: use helper functions to determine endpoint type and direction Use helper functions to determine the type and direction of an endpoint instead of fiddling with bEndpointAddress and bmAttributes Signed-off-by: Matthias Kaehlcke Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a864e3aa5d8e1278c05aa93c57dba0debbb46858 Author: H Hartley Sweeten Date: Wed Apr 15 21:34:40 2009 -0400 USB: core/sysfs: fix sparse warnings Fix 3 sparse warning in drivers/usb/core/sysfs.c. warning: symbol '__mptr' shadows an earlier one Signed-off-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman commit c5be1b52d9ea6ede4931691bf9f0bd454515aa52 Author: Pascal Terjan Date: Thu Apr 16 19:00:45 2009 +0200 USB: Ignore storage device in modem mode on DWN-652 D-Link DWN-652 in Modem mode exposes 3 interfaces - First one is the USB storage one - Second one is for both control and connection - Third one is unknown This patch avoids usb-storage trying to switch again when already in modem mode, and exposes only 2 ttyUSB instead of 3 by not attaching to the storage interface Signed-off-by: Pascal Terjan Signed-off-by: Greg Kroah-Hartman commit cc71329b3b89b4a5be849b617f2c4f151f0b9213 Author: Scott James Remnant Date: Tue Apr 21 17:21:40 2009 +0100 USB: usbfs: deprecate and hide option for !embedded Modern systems do not use usbfs; the entries within it are files, not device nodes, and do not support ACLs which are the default way to provide access to USB devices to untrusted users. It is replaced by device-nodes maintained by udev in /dev/bus/usb, libusb uses this device nodes. Mark the option as deprecated, and hide entirely for non-embedded builds (which may not be using udev but require raw USB device access). Signed-off-by: Scott James Remnant Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 91f8d063d30358fcb76831c238071f7d4b13c35e Author: Alan Stern Date: Thu Apr 16 15:35:09 2009 -0400 USB: consolidate usb_unbind_interface and usb_driver_release_interface This patch (as1230) consolidates code in usb_unbind_interface() and usb_driver_release_interface(). In fact, it makes release_interface call unbind_interface, thereby removing the need for duplicated code. It works like this: If the interface has already been registered with the driver core when a driver releases it, then the usual driver-core mechanism will call unbind_interface. If it hasn't been unregistered then we will make the call ourselves. As a nice bonus, drivers now don't have to worry about whether their disconnect method will get called when they release an interface -- it always will. Previously it would be called only if the interface was registered. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 895f28badce96cd903026b0076966e3571b6968e Author: Mark Adamson Date: Fri May 1 11:48:45 2009 +0100 USB: ftdi_sio: fix hi-speed device packet size calculation Added a function to set the packet size to be used based on the value from the device endpoint descriptor. The FT2232H and FT4232H hi-speed devices will have wMaxPacketSize of 512 bytes when connected to a USB 2.0 hi-speed host, but will use alternative descriptors with wMaxPacketSize of 64 bytes if connected to a USB 1.1 host or hub. All other FTDI devices have wMaxPacketSize of 64 bytes, except some FT232R and FT245R devices which customers have mistakenly programmed to have wMaxPacketSize of 0 - this is an error and will be overridden to use wMaxPacketSize of 64 bytes. The packet size used is important as it determines where the driver removes the status bytes from the incoming data. If it is incorrect, it will lead to data corruption. Signed-off-by: Mark J. Adamson Signed-off-by: Greg Kroah-Hartman commit 094c2e6db4be381f708ad8a2e0532d7782f05ea4 Author: Mark Adamson Date: Thu Apr 9 15:03:09 2009 +0100 USB: serial: FTDI: add high speed device support Added support for FTDI's USB 2.0 hi-speed devices - FT2232H (2 interfaces) and FT4232H (4 interfaces), including a new baud rate calculation for these devices which can now achieve up to 12Mbaud by turning off a divide by 2.5 in the baud rate generator of the chips. In order to achieve baud rates of <1200 baud, the divide by 2.5 must be active. The default product ID of the FT2232H is 0x6010 (same as the FT2232C IC). The default PID of the FT4232H is 0x6011. Signed-off-by: Mark J. Adamson Signed-off-by: Greg Kroah-Hartman commit a483d7068f661213e9586d4d132fc0e0287118b4 Author: Ajay Kumar Gupta Date: Fri Apr 3 16:16:17 2009 -0700 musb: add high bandwidth ISO support Tested on OMAP3 host side with Creative (Live! Cam Optia) USB camera which uses high bandwidth isochronous IN endpoints. FIFO mode 4 is updated to provide the needed 4K endpoint buffer without breaking the g_nokia composite gadget configuration. (This is the only gadget driver known to use enough endpoints to notice the change.) Signed-off-by: Ajay Kumar Gupta Signed-off-by: David Brownell commit d1043a2697effee3054451a9293a376bfb013e4b Author: Anand Gadiyar Date: Thu Apr 2 12:07:08 2009 -0700 musb: use dma mode 1 for TX if transfer size equals maxpacket (v2) Currently, with Inventra DMA, we use Mode 0 if transfer size is less than or equal to the endpoint's maxpacket size. This requires that we explicitly set TXPKTRDY for that transfer. However the musb_g_tx code will not set TXPKTRDY twice if the last transfer is exactly equal to maxpacket, even if request->zero is set. Using Mode 1 will solve this; a better fix might be in musb_g_tx(). Without this change, musb will not correctly send out a ZLP if the last transfer is the maxpacket size and request->zero is set. Signed-off-by: Anand Gadiyar Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ab983f2a1be582b00f706013f40f658769d0823a Author: David Brownell Date: Tue Mar 31 12:35:09 2009 -0700 musb: support disconnect after HNP roleswitch Adjust HNP state machines in MUSB driver so that they handle the case where the cable is disconnected. The A-side machine was very wrong (unrecoverable); the B-Side was much less so. - A_PERIPHERAL ... as usual, the non-observability of the ID pin through Mentor's registers makes trouble. We can't go directly to A_WAIT_VFALL to end the session and start the disconnect processing. We can however sense link suspending, go to A_WAIT_BCON, and from there use OTG timeouts to finally trigger that A_WAIT_VFALL transition. (Hoping that nobody reconnects quickly to that port and notices the wrong state.) - B_HOST ... actually clear the Host Request (HR) bit as the messages say, disconnect the peripheral from the root hub, and don't detour through a suspend state. (In some cases this would eventually have cleaned up.) Also adjust the A_SUSPEND transition to respect the A_AIDL_BDIS timeout, so if HNP doesn't trigger quickly enough the A_WAIT_VFALL transition happens as it should. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1de00dae8036dfee44ebea2c38f942fb6072e0b7 Author: David Brownell Date: Thu Apr 2 10:16:11 2009 -0700 musb: make initial HNP roleswitch work (v2) Minor HNP bugfixes, so the initial role switch works: - A-Device: * disconnect-during-suspend enters A_PERIPHERAL state * kill OTG timer after reset as A_PERIPHERAL ... * ... and also pass that reset to the gadget * once HNP succeeds, clear the "ignore_disconnect" flag * from A_PERIPHERAL, disconnect transitions to A_WAIT_BCON - B-Device: * kill OTG timer on entry to B_HOST state (HNP succeeded) * once HNP succeeds, clear "ignore_disconnect" flag * kick the root hub only _after_ the state is adjusted Other state transitions are left alone. Notably, exit paths from the "roles have switched" state ... A_PERIPHERAL handling of that stays seriously broken. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f7f9d63eac12b345d6243d1d608b7944a05be921 Author: David Brownell Date: Tue Mar 31 12:32:12 2009 -0700 musb: otg timer cleanup Minor cleanup of OTG timer handling: * unify decls for OTG time constants, in the core header * set up and use that timer in a more normal way * move to the driver struct, so it's usable outside core And tighten use and setup of T(a_wait_bcon) so that if it's used, it's always valid. (If that timer expires, the A-device will stop powering VBUS. For non-OTG systems, that will be a surprise.) No behavioral changes, other than more consistency when applying that core HNP timeout. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 84e250ffa76dddc1bad84e04248a27f442c25986 Author: David Brownell Date: Tue Mar 31 12:30:04 2009 -0700 musb: proper hookup to transceiver drivers Let the otg_transceiver in MUSB be managed by an external driver; don't assume it's integrated. OMAP3 chips need it to be external, and there may be ways to interact with the transceiver which add functionality to the system. Platform init code is responsible for setting up the transeciver, probably using the NOP transceiver for integrated transceivers. External ones will use whatever the board init code provided, such as twl4030 or something more hands-off. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit cc835e321a9f3fa5e083436872e198095f4805b9 Author: David Brownell Date: Tue Mar 31 12:28:31 2009 -0700 USB: nop-usb-xceiv: behave when linked as a module The NOP OTG transceiver driver needs to be usable from modules. Make sure its symbols are always accessible at both compile and link time, and make sure the device instance is allocated from the heap so that device lifetime rules are obeyed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit def6f8b978618d50daaddb92331d398da9e141f1 Author: David Brownell Date: Tue Mar 31 12:26:10 2009 -0700 USB: twl4030-usb: fix minor reporting goofage Fix a reporting glitch in the twl4030 USB transceiver code. It wasn't properly distinguishing the two types of active USB link: ID grounded, vs not. In the current code that distinction doesn't much matter; in the future this bugfix should help support better USB controller communications. Provide a comment sorting out some of the cryptic bits of the manual: different sections use different names for key signals, and the register definitions don't help much without the explanations and diagrams. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dc2f2b7505c195a6963fc07b549e269eee417261 Author: Uwe Kleine-König Date: Sat Mar 28 00:26:33 2009 +0100 USB: move orion-ehci's probe function to .devinit.text A pointer to ehci_orion_drv_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Ronen Shitrit Cc: Lennert Buytenhek Cc: Alan Stern Cc: David Brownell Cc: Nicolas Pitre Cc: Russell King Cc: Tzachi Perelstein Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8864bd8606508f6cb66bb0668250cc0672060b65 Author: Uwe Kleine-König Date: Sat Mar 28 00:27:00 2009 +0100 USB: move r8a66597_hcd's probe function to .devinit.text A pointer to r8a66597_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Acked-by: Yoshihiro Shimoda Cc: Magnus Damm Cc: Stephen Rothwell Cc: Paul Mundt Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d8b175e78b9debdacd31fa74da5dedd6a6285f94 Author: Uwe Kleine-König Date: Sat Mar 28 00:27:13 2009 +0100 USB: move twl4030_usb's probe function to .devinit.text A pointer to twl4030_usb_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Jouni Hogander Cc: Kalle Jokiniemi Cc: Andrew Morton Cc: David Brownell Cc: Tony Lindgren Cc: Kevin Hilman Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 91e9c4fec7ee777213859aa1a18bf0b885527637 Author: Sergei Shtylyov Date: Fri Mar 27 12:59:46 2009 -0700 musb: split out CPPI interrupt handler As DaVinci DM646x has a dedicated CPPI DMA interrupt, replace cppi_completion() (which has always been kind of layering violation) by a complete CPPI interrupt handler. [ dbrownell@users.sourceforge.net: only cppi_dma.c needs platform device header, not cppi_dma.h ] Signed-off-by: Dmitry Krivoschekov Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c9cd06b3d6ea825c62e277def929cc4315802b48 Author: Sergei Shtylyov Date: Fri Mar 27 12:58:31 2009 -0700 musb_host: refactor URB giveback As musb_advance_schedule() is now the only remaning caller of musb_giveback() (and the only valid context of such call), just fold the latter into the former and then rename __musb_giveback() into musb_giveback(). This is a net minor shrink. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 81ec4e4a5116c2bccec2dd1d350ceb4372846ba8 Author: Sergei Shtylyov Date: Fri Mar 27 12:57:50 2009 -0700 musb_host: streamline musb_cleanup_urb() calls The argument for the 'is_in' parameter of musb_cleanup_urb() is always extracted from an URB that's passed to the function. So that parameter is superfluous; remove it. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 22a0d6f1383c85a7a9759cb805fd06c848c9c4d3 Author: Sergei Shtylyov Date: Fri Mar 27 12:56:26 2009 -0700 musb_host: simplify check for active URB The existance of the scheduling list shouldn't matter in determining whether there's currectly an URB executing on a hardware endpoint. What should actually matter is the 'in_qh' or 'out_qh' fields of the 'struct musb_hw_ep' -- those are set in musb_start_urb() and cleared in musb_giveback() when the endpoint's URB list drains. Hence we should be able to replace the big *switch* statements in musb_urb_dequeue() and musb_h_disable() with mere musb_ep_get_qh() calls... While at it, do some more changes: - add 'is_in' variable to musb_urb_dequeue(); - remove the unnecessary 'epnum' variable from musb_h_disable(); - fix the comment style in the vicinity. This is a minor shrink of source and object code. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3e5c6dc71146c2c3f21d60d3b4b25dc7755d5339 Author: Sergei Shtylyov Date: Fri Mar 27 12:55:16 2009 -0700 musb_host: factor out musb_ep_{get|set}_qh() Factor out the often used code to get/set the active 'qh' pointer for the hardware endpoint. Change the way the case of a shared FIFO is handled by setting *both* 'in_qh' and 'out_qh' fields of 'struct musb_hw_ep'. That seems more consistent and makes getting to the current 'qh' easy when the code knows the direction beforehand. While at it, turn some assignments into intializers and fix declaration style in the vicinity. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 846099a61cf549f450178f1fb3e27adcbd9dcfc2 Author: Sergei Shtylyov Date: Fri Mar 27 12:54:21 2009 -0700 musb_host: refactor musb_save_toggle() (take 2) Refactor musb_save_toggle() as follows: - replace 'struct musb_hw_ep *ep' parameter by 'struct musb_qh *qh' to avoid re-calculating this value - move usb_settogle() call out of the *if* operator. This is a net minor shrink of source and object code. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37e3ee991091e08d4902e3d2694c723446a89a8d Author: Sergei Shtylyov Date: Fri Mar 27 12:53:32 2009 -0700 musb_gadget: suppress "parasitic" TX interrupts with CPPI Suppress "parasitic" endpoint interrupts in the DMA mode when using CPPI DMA driver; they're caused by the MUSB gadget driver using the DMA request mode 0 instead of the mode 1. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a5073b52833e4df8e16c93dc4cbb7e0c558c74a2 Author: Sergei Shtylyov Date: Fri Mar 27 12:52:43 2009 -0700 musb_gadget: fix unhandled endpoint 0 IRQs The gadget EP0 code routinely ignores an interrupt at end of the data phase because of musb_g_ep0_giveback() resetting the state machine to "idle, waiting for SETUP" phase prematurely. The driver also prematurely leaves the status phase on receiving the SetupEnd interrupt. As there were still unhandled endpoint 0 interrupts happening from time to time after fixing these issues, there turned to be yet another culprit: two distinct gadget states collapsed into one. The (missing) state that comes after STATUS IN/OUT states was typically indiscernible from them since the corresponding interrupts tend to happen within too little period of time (due to only a zero-length status packet in between) and so they got coalesced; yet this state is not the same as the next one which is associated with the reception of a SETUP packet. Adding this extra state seems to have fixed the rest of the unhandled interrupts that generic_interrupt() and davinci_interrupt() hid by faking their result and only emitting a debug message -- so, stop doing that. Signed-off-by: Sergei Shtylyov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 003051bfb62513842a9e9efde17afeba46519c95 Author: Bryan Wu Date: Tue Jun 2 03:25:58 2009 -0400 usb: misc: SiS usbvga dangle: accept MUSB_HDRC as a fast enough host controller Acked-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 334f9b0f23c9bb90589213279c9cfe19ebe4c0c6 Author: Michele Valzelli Date: Wed May 27 00:09:12 2009 +0200 USB: option.c: add Toshiba 3G HSDPA SM-Bus Minicard device id This patch adds support for the Toshiba HSDPA Minicard (which is just a rebranded Novatel EU870D) used in some Toshiba laptops. This is my first patch attempt, I hope I got the conventions right. Signed-off-by: Michele Valzelli Signed-off-by: Greg Kroah-Hartman commit d46130ab3ed3716db22bdd9881a60ec7e4365b63 Author: Daniel Suchy Date: Wed May 13 10:05:48 2009 +0200 USB: FTDI-SIO new device ids I would like to have added new device to usbserial/ftdi_sio driver. These ids used USB track device (http://www.l-and-b.dk/access_alt.html). They use differend device IDs, but it works as standard usb-serial conventer. From: Daniel Suchy Signed-off-by: Greg Kroah-Hartman commit e4792aa30f9d33584d7192685ed149cc5fee737f Author: Robin Getz Date: Tue Jun 2 03:00:47 2009 -0400 debugfs: use specified mode to possibly mark files read/write only In many SoC implementations there are hardware registers can be read or write only. This extends the debugfs to enforce the file permissions for these types of registers by providing a set of fops which are read or write only. This assumes that the kernel developer knows more about the hardware than the user (even root users) -- which is normally true. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Greg Kroah-Hartman commit 156f5a7801195fa2ce44aeeb62d6cf8468f3332a Author: GeunSik Lim Date: Tue Jun 2 15:01:37 2009 +0900 debugfs: Fix terminology inconsistency of dir name to mount debugfs filesystem. Many developers use "/debug/" or "/debugfs/" or "/sys/kernel/debug/" directory name to mount debugfs filesystem for ftrace according to ./Documentation/tracers/ftrace.txt file. And, three directory names(ex:/debug/, /debugfs/, /sys/kernel/debug/) is existed in kernel source like ftrace, DRM, Wireless, Documentation, Network[sky2]files to mount debugfs filesystem. debugfs means debug filesystem for debugging easy to use by greg kroah hartman. "/sys/kernel/debug/" name is suitable as directory name of debugfs filesystem. - debugfs related reference: http://lwn.net/Articles/334546/ Fix inconsistency of directory name to mount debugfs filesystem. * From Steven Rostedt - find_debugfs() and tracing_files() in this patch. Signed-off-by: GeunSik Lim Acked-by : Inaky Perez-Gonzalez Reviewed-by : Steven Rostedt Reviewed-by : James Smart CC: Jiri Kosina CC: David Airlie CC: Peter Osterlund CC: Ananth N Mavinakayanahalli CC: Anil S Keshavamurthy CC: Masami Hiramatsu Signed-off-by: Greg Kroah-Hartman commit 1b713e00500c6f03317742981674e89a21629399 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 xen: remove driver_data direct access of struct device from more drivers In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: xen-devel@lists.xensource.com Cc: virtualization@lists.osdl.org Acked-by: Chris Wright Cc: Jeremy Fitzhardinge Signed-off-by: Greg Kroah-Hartman commit 839214aeaae1866d55e745c676206825f8ba7e99 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 usb: gadget: at91_udc: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-usb@vger.kernel.org Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8691b97b99d8b0ba7427afde1a50695cc4112938 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 uml: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: user-mode-linux-devel@lists.sourceforge.net Cc: Jeff Dike Signed-off-by: Greg Kroah-Hartman commit 5888fd30ac70fa50f08979c46f9206d01ca6ad49 Author: Roel Kluin Date: Tue May 5 10:41:19 2009 +0200 block/ps3: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Roel Kluin Acked-by: Geert Uytterhoeven Signed-off-by: Greg Kroah-Hartman commit dff59b64af94dc588044d70f3708cb835055c5b6 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 s390: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Thanks to Sebastian Ott for fixing a few typos in my original version of this patch. Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Sebastian Ott Cc: linux-s390@vger.kernel.org Cc: linux390@de.ibm.com Signed-off-by: Greg Kroah-Hartman commit 61616115d748e2eb76c43715383e602b09d9bf50 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 parport: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-kernel@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit d18dbfa7aaa8d50c2c1c66359f0ab6b085dfa03f Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 parisc: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-parisc@vger.kernel.org Cc: Helge Deller Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit 3cf62a5a82f9819896d72b20f8c55e0858c7aec8 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 of_serial: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Benjamin Herrenschmidt Acked-by: Arnd Bergmann Acked-by: Stephen Rothwell Cc: Paul Mackerras Cc: Matthias Fuchs Signed-off-by: Greg Kroah-Hartman commit d7792065590ab1fd0a9f06ffaab3dc237a30b339 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 mips: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-mips@linux-mips.org Cc: Ralf Baechle Signed-off-by: Greg Kroah-Hartman commit 9de33df41f712712ccd3297c898e365b50fb91ef Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 ipmi: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: openipmi-developer@lists.sourceforge.net Acked-by: Corey Minyard Signed-off-by: Greg Kroah-Hartman commit f899c2ddd45f2515deb446e2b143e4a686a49aee Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 infiniband: ehca: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Sean Hefty Cc: Roland Dreier Cc: Hal Rosenstock Cc: general@lists.openfabrics.org Cc: Christoph Raisch Acked-by: Hoang-Nam Nguyen Signed-off-by: Greg Kroah-Hartman commit 559fde706873256903155b3a62b05d0f52d62ab9 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 ibmvscsi: gadget: at91_udc: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-scsi@vger.kernel.org Cc: James Bottomley Cc: Brian King Cc: Robert Jennings Signed-off-by: Greg Kroah-Hartman commit 317ccc4246bf205807c4d2f270d7fc8f024a9dc3 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 hvcs: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Paul Mackerras Acked-by: Stephen Rothwell Cc: Roel Kluin Cc: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit a1b4b12b372e76d22d4f3bf58b47e4cf2fb132fe Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 xen block: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: xen-devel@lists.xensource.com Cc: virtualization@lists.osdl.org Acked-by: Chris Wright Acked-by: Jeremy Fitzhardinge Signed-off-by: Greg Kroah-Hartman commit 0e968a3b6da710294a56460473cac32dc821fd4a Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 thermal: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman commit 78c55d76b84628862079351f77aa0f4aa3b65f58 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 scsi: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-scsi@vger.kernel.org Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit f3e7a7b64a79a3d82835ce83fb32616df762d456 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 pcmcia: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-pcmcia@lists.infradead.org Cc: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 8952f593ea66bff4a30f9e641dc6c79832ca64cf Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 PCIE: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-pci@vger.kernel.org Cc: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 1902a9e62ba34a1071407ab61cef626e019a0923 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 mfd: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Samuel Ortiz Acked-by: Mark Brown Signed-off-by: Greg Kroah-Hartman commit 79510cdbc76265426c6d75326436624393694ea7 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 media: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Mauro Carvalho Chehab Acked-by: Mike Isely Cc: linux-media@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit 017596b61f324946299fa94d9ef6f08b7478a3d8 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 input: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Dmitry Torokhov Cc: linux-input@vger.kernel.org Signed-off-by: Greg Kroah-Hartman commit 7a9d56f6a459472bc4383aeb85612d72e79d1818 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: sound: add nodename for sound drivers This adds support to the sound core to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 3f7c58a05fe4aa71983ea27959b7ad840950537e Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 infiniband: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: general@lists.openfabrics.org Cc: Roland Dreier Cc: Hal Rosenstock Cc: Sean Hefty Signed-off-by: Greg Kroah-Hartman commit aa5ed63e96656bb246a9439e06c7b67d455a5aa1 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: input: add nodename for input drivers This adds support to the input core to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit bab030595a4f84c679fe26e05263e3dc9f560391 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 ieee1394: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux1394-devel@lists.sourceforge.net Acked-by: Stefan Richter Cc: Ben Collins Signed-off-by: Greg Kroah-Hartman commit 8a8bdcc7533b104d789d9bb3ed90da9352515e21 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: dvb: add nodename for dvb drivers This adds support to the dvb core to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit fcb5207723919ad85178420633d55efea80b652d Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 ide: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux-ide@vger.kernel.org Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d961450da5e16dae8da276c0a234764872b2307b Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 firewire: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: linux1394-devel@lists.sourceforge.net Acked-by: Stefan Richter Cc: Kristian Hoegsberg Signed-off-by: Greg Kroah-Hartman commit 4b9d0d3b81ec0900971cbe8aba8ba0ae9c08a087 Author: Greg Kroah-Hartman Date: Thu Apr 30 14:43:31 2009 -0700 eisa: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman commit 2bdf914915e98fe82495d05741a57e37f4b604e8 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: bsg: add nodename for bsg driver This adds support to the BSG driver to report the proper device name to userspace for the bsg devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 1ce8a0d396288f28070483a8190843c23b8282f4 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: aoe: add nodename for aoe devices This adds support to the AOE core to report the proper device name to userspace for the AOE devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 02200d0664bc630b3525989cb8f49880bf8bda84 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: drm: add nodename for drm devices This adds support to the drm core to report the proper device name to userspace for the drm devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 6fd4693375b6e1001c69e78f5aefd44bf5aa7084 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: raw: add nodename for raw devices This adds support to the raw driver to report the proper device name to userspace for the raw devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 07e9bb8eebb04c81323cbd3eabf07a3f6f05b204 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: x86: add nodename for cpuid and msr drivers. This adds support to the x86 cpuid and msr drivers to report the proper device name to userspace for their devices. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit b03f38b685e2e1db174fb8982930e789a516f414 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: block: add nodename support for block drivers. This adds support for block drivers to report their requested nodename to userspace. It also updates a number of block drivers to provide the needed subdirectory and device name to be used for them. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit f7a386c5b8ff34cd84ae922603d1c6f9d234edee Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: usb: add nodename support for usb drivers. This adds support for USB drivers to report their requested nodename to userspace. It also updates a number of USB drivers to provide the needed subdirectory and device name to be used for them. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit d405640539555b601e52f7d18f1f0b1345d18bf5 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: misc: add nodename support for misc devices. This adds support for misc devices to report their requested nodename to userspace. It also updates a number of misc drivers to provide the needed subdirectory and device name to be used for them. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit 6fcf53acccf85b4b0d0260e66c692a341760f464 Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: add nodename callbacks This adds the nodename callback for struct class, struct device_type and struct device, to allow drivers to send userspace hints on the device name and subdirectory that should be used for it. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Signed-off-by: Greg Kroah-Hartman commit acc0e90fbccbc6e4d48184cba0983ea044e131af Author: Greg Kroah-Hartman Date: Tue Jun 2 15:39:55 2009 -0700 driver core: fix gcc 4.3.3 warnings about string literals This removes the warning: format not a string literal and no format arguments warnings in the driver core that gcc 4.3.3 complains about. Signed-off-by: Greg Kroah-Hartman commit d12b77afb4f0a06e9c7e82a0e88d5f011b862c10 Author: Greg Kroah-Hartman Date: Tue Jun 2 15:01:00 2009 -0700 firmware: remove broken example files The firmware example files are beyond broken, and will not work, and should not be used as an example at all. So lets remove them and hope someone writes new files sometime in the future. Signed-off-by: Greg Kroah-Hartman commit 5e8e9245f9bb4c6ed2a2f4af42f2ec9733dc5378 Author: Samuel Ortiz Date: Wed May 27 00:49:37 2009 +0200 firmware: FIRMWARE_NAME_MAX removal As we're allocating the firmware name dynamically, we no longer need this definition. This patch must be applied only after the 5 previous patches from this pacth set have been applied. Signed-off-by: Samuel Ortiz Signed-off-by: Greg Kroah-Hartman commit cadeba315cc91ae1b57632e61b0cec3a4ed7088d Author: John W. Linville Date: Wed May 27 00:49:36 2009 +0200 firmware: wireless/libertas: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch eplaces the shared FIRMWARE_NAME_MAX definition with a libertas local one. Signed-off-by: John W. Linville Acked-by: Dan Williams Acked-by: Samuel Ortiz Signed-off-by: Greg Kroah-Hartman commit ed62acec209fa7e104b9d7871c1e5307fab83bf0 Author: Samuel Ortiz Date: Wed May 27 00:49:35 2009 +0200 firmware: pcmcia/ds: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. With the FIRMWARE_NAME_MAX removal, the ds.c reference becomes useless as we dont need to check for the firmware name length anymore. Signed-off-by: Samuel Ortiz Cc: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 56aec8d874e222f68baffbda33322c9be4cbf2ea Author: Samuel Ortiz Date: Wed May 27 00:49:34 2009 +0200 firmware: dvb/dvb-usb: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch changes the dvb_usb_device_properties firmware field accordingly. Signed-off-by: Samuel Ortiz Reviewed-by: Michael Krufky Cc: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit 4327b77ed7e73336069c441f91df58a251c77975 Author: Samuel Ortiz Date: Wed May 27 00:49:33 2009 +0200 firmware: tuners/xc2028: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch gets rid of the xc2028 FIRMWARE_NAME_MAX reference. Signed-off-by: Samuel Ortiz Cc: Mauro Carvalho Chehab Cc: Michel Ludwig Signed-off-by: Greg Kroah-Hartman commit ade901d7a46e389197f028d12fb67d88f34cd8d5 Author: Samuel Ortiz Date: Wed May 27 00:49:32 2009 +0200 firmware: atm/ueagle-atm: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch replaces the shared FIRMWARE_NAME_MAX definition with a ueagle local one. Signed-off-by: Samuel Ortiz Cc: Damien Bergamini Signed-off-by: Greg Kroah-Hartman commit 976821d756c53b421d7c58a9ed60125016d330aa Author: Samuel Ortiz Date: Wed May 27 00:49:31 2009 +0200 firmware: allocate firmware id dynamically The firmware loader has a statically allocated 30 bytes long string for the firmware id (a.k.a. the firmware file name). There is no reason why we couldnt allocate it dynamically, and avoid having restrictions on the firmware names lengths. Signed-off-by: Samuel Ortiz Cc: Marcel Holtmann Cc: Zhu Yi , Cc: John Linville Signed-off-by: Greg Kroah-Hartman commit 7fcab099795812a8a08eb3b8c8ddb35c3685045f Author: Ming Lei Date: Fri May 29 11:33:19 2009 +0800 driver core: fix documentation of request_firmware_nowait request_firmware_nowait declares it can be called in non-sleep contexts, but kthead_run called by request_firmware_nowait may sleep. So fix its documentation and comment to make callers clear about it. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit c4c01684349ac0821ad8c27de9516fe493f3361d Author: Michal Marek Date: Tue May 26 14:19:35 2009 +0200 kobject: samples: make SAMPLE_KOBJECT module-only With SAMPLE_KOBJECT=y, it isn't even linked into the kernel image. Signed-off-by: Michal Marek Signed-off-by: Greg Kroah-Hartman commit 401097ea4b89846d66ac78f7f108d49c2e922d9c Author: Shaohua Li Date: Tue May 12 13:37:57 2009 -0700 driver core: synchronize device shutdown A patch series to make .shutdown execute asynchronously. Some drivers's shutdown can take a lot of time. The patches can help save some shutdown time. The patches use Arjan's async API. This patch: synchronize all tasks submitted by .shutdown Signed-off-by: Shaohua Li Cc: Arjan van de Ven Cc: Dmitry Torokhov Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 400ced61fa4914457d7e0a38e7c0fc6fd208694b Author: Jonathan Corbet Date: Mon May 25 10:15:27 2009 -0600 debugfs: fix docbook error Fix an error in debugfs_create_blob's docbook description It cannot actually be used to write a binary blob. Signed-off-by: Jonathan Corbet commit 9227c47bbdd87f276e08ed17877cc1649f5ed10a Author: Dave Young Date: Mon May 11 14:18:55 2009 +0800 driver-core: make sysdev_class_register check kobject_set_name return value sysdev_class_register should check the kobject_set_name return value. Add the return value checking code. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit d9cd8f37855b012757818f31390e8f84db251c89 Author: Dave Young Date: Mon May 11 14:17:45 2009 +0800 kobject: make kset_create check kobject_set_name return value kset_create should check the kobject_set_name return value. Add the return value checking code. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 59a3cd7f9da60ac4ba8ae5a4cddc48fe4a450129 Author: Dmitry Torokhov Date: Tue May 5 20:38:28 2009 -0700 Driver core: fix comment for device_attach() We are looking for matching drivers, not devices. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 56a83cc92991ed5bf76e224dd2ad53b5e9c00681 Author: Steven Rostedt Date: Sat Apr 25 00:39:40 2009 -0400 debugfs: dont stop on first failed recursive delete debugfs: dont stop on first failed recursive delete While running a while loop of removing a module that removes a debugfs directory with debugfs_remove_recursive, and at the same time doing a while loop of cat of a file in that directory, I would hit a point where somehow the cat of the file caused the remove to fail. The result is that other files did not get removed when the module was removed. I simple read of one of those file can oops the kernel because the operations to the file no longer exist (removed by module). The funny thing is that the file being cat'ed was removed. It was the siblings that were not. I see in the code to debugfs_remove_recursive there's a test that checks if the child fails to bail out of the loop to prevent an infinite loop. What this patch does is to still try any siblings in that directory. If all the siblings fail, or there are no more siblings, then we exit the loop. This fixes the above symptom, but... This is no full proof. It makes the debugfs_remove_recursive a bit more robust, but it does not explain why the one file failed. There may be some kind of delay deletion that makes the debugfs think it did not succeed. So this patch is more of a fix for the symptom but not the disease. This patch still makes the debugfs_remove_recursive more robust and until I can find out why the bug exists, this patch will keep the kernel from oopsing in most cases. Even after the cause is found I think this change can stand on its own and should be kept. [ Impact: prevent kernel oops on module unload and reading debugfs files ] Signed-off-by: Steven Rostedt Signed-off-by: Greg Kroah-Hartman commit c0afe7ba5e71d8ab66bc42f90b3e237581d3c509 Author: Linus Walleij Date: Mon Apr 27 02:38:16 2009 +0200 driver core: Const-correct platform getbyname functions This converts resource and IRQ getbyname functions for the platform bus to use const char *, I ran into compiler moanings when I tried using a const char * for looking up a certain resource. Signed-off-by: Linus Walleij Signed-off-by: Greg Kroah-Hartman commit 309b7d60a345f402bec3cf9caadb53de4028e2aa Author: Joerg Roedel Date: Fri Apr 24 14:57:00 2009 +0200 driver core: add BUS_NOTIFY_UNBOUND_DRIVER event This patch adds a new bus notifier event which is emitted _after_ a device is removed from its driver. This event will be used by the dma-api debug code to check if a driver has released all dma allocations for that device. Signed-off-by: Joerg Roedel Signed-off-by: Greg Kroah-Hartman commit 6acf70f078ca42a63397b8b84bf6383b01303009 Author: Ming Lei Date: Thu Apr 23 22:31:52 2009 +0800 driver core: firmware_class: replace kfree(dev) with put_device(dev) against v2.6.30-rc3-next tree. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 557411eb2ce61ef5e87bd759a6f86881586df857 Author: Armin Kuster Date: Wed Apr 29 07:29:59 2009 -1000 Sysfs: fix possible memleak in sysfs_follow_link There is the possiblity of a memory leak if a page is allocated and if sysfs_getlink() fails in the sysfs_follow_link. Signed-off-by: Armin Kuster Signed-off-by: Greg Kroah-Hartman commit b22813b373749d0878e7140e9a6eadf182298709 Author: Grant Likely Date: Fri Mar 6 14:05:39 2009 -0700 Driver Core: Warn driver authors about adding device attributes Add a blurb to the driver-model documentation about how (not) to add extra attributes to a struct device at driver probe time. Signed-off-by: Grant Likely Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3959214f971417f4162926ac52ad4cd042958caa Author: Kay Sievers Date: Tue Mar 24 15:43:30 2009 +0100 sched: delayed cleanup of user_struct During bootup performance tracing we see repeated occurrences of /sys/kernel/uid/* events for the same uid, leading to a, in this case, rather pointless userspace processing for the same uid over and over. This is usually caused by tools which change their uid to "nobody", to run without privileges to read data supplied by untrusted users. This change delays the execution of the (already existing) scheduled work, to cleanup the uid after one second, so the allocated and announced uid can possibly be re-used by another process. This is the current behavior, where almost every invocation of a binary, which changes the uid, creates two events: $ read START < /sys/kernel/uevent_seqnum; \ for i in `seq 100`; do su --shell=/bin/true bin; done; \ read END < /sys/kernel/uevent_seqnum; \ echo $(($END - $START)) 178 With the delayed cleanup, we get only two events, and userspace finishes a bit faster too: $ read START < /sys/kernel/uevent_seqnum; \ for i in `seq 100`; do su --shell=/bin/true bin; done; \ read END < /sys/kernel/uevent_seqnum; \ echo $(($END - $START)) 1 Acked-by: Dhaval Giani Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f6ee649f4b191d316a463ce7e514f9d12fa31c01 Author: Kay Sievers Date: Thu Apr 16 19:56:37 2009 +0200 driver core: set default SYSFS_DEPRECATED=n All recent distros depend on the non-deprecated sysfs layout, so change the default value of the option to reflect that. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 313485175da221c388f6a8ecf4c30062ba9bea17 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:59 2009 +0000 usb/ps3: Add missing annotations probe functions should be __devinit initialization functions should be __init Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Acked-by: Greg Kroah-Hartman Signed-off-by: Benjamin Herrenschmidt commit 2fae0a524b193e200b71778407ad29b22417056a Author: Benjamin Herrenschmidt Date: Sun Jun 14 16:16:10 2009 +0000 powerpc: Add memory clobber to mtspr() Without this clobber, mtspr can be re-ordered by gcc vs. surrounding memory accesses. While this might be ok for some cases, it's not in others and I'm not confident that all callers get it right (In fact I'm sure some of them don't). So for now, let's make mtspr() itself contain a memory clobber until we can audit and fix everything, at which point we can remove it if we think it's worth doing so. Signed-off-by: Benjamin Herrenschmidt commit 48c931125bf228a529b8d05218e9fdda899dfa93 Author: Benjamin Herrenschmidt Date: Sun Jun 14 14:45:50 2009 +0000 powerpc: Fix invalid construct in our CPU selection Kconfig commit 5b7c3c918c9c26c50d220b2b50359208cb5a1dbe introduced an invalid construct in our CPU selection. This caused warnings, though it still appeared to do the right thing. This fixes it properly by having separate formal definitions of PPC_BOOK3S_32 and PPC_BOOK3S_64 and one statement defining PPC_BOOK3S based on the two above. Signed-off-by: Benjamin Herrenschmidt commit c4b512bc832c6c6aab14acb2bd96940e867e5018 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:56 2009 +0000 ps3rom: Use ps3_system_bus_[gs]et_drvdata() instead of direct access Signed-off-by: Geert Uytterhoeven Acked-by: James E.J. Bottomley Signed-off-by: Benjamin Herrenschmidt commit ba55bd74360ea4b8b95e73ed79474d37ff482b36 Author: Michael Ellerman Date: Tue Jun 9 20:48:51 2009 +0000 powerpc: Add configurable -Werror for arch/powerpc Add the option to build the code under arch/powerpc with -Werror. The intention is to make it harder for people to inadvertantly introduce warnings in the arch/powerpc code. It needs to be configurable so that if a warning is introduced, people can easily work around it while it's being fixed. The option is a negative, ie. don't enable -Werror, so that it will be turned on for allyes and allmodconfig builds. The default is n, in the hope that developers will build with -Werror, that will probably lead to some build breaks, I am prepared to be flamed. It's not enabled for math-emu, which is a steaming pile of warnings. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit eedacbf02df462d6c915d8d642b23fb450d485c7 Author: Dave Mitchell Date: Tue Jun 9 13:39:47 2009 +0000 of_serial: Add UPF_FIXED_TYPE flag This patch adds the UPF_FIXED_TYPE flag which will bypass the 8250's autoconfig probe for uart type. The uart type identified by the of_serial's parse of the flat device tree will be utilized as defined. Signed-off-by: Dave Mitchell Signed-off-by: Benjamin Herrenschmidt commit e364ca92770a84ab3a917359ba7fed69479a16e3 Author: Mike Frysinger Date: Wed Jun 10 09:42:30 2009 +0000 drivers/hvc: Add missing __devexit_p() The remove function uses __devexit, so the .remove assignment needs __devexit_p() to fix a build error with hotplug disabled. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit 48dce82cd6df71c8e7cddc79d787735b109ee0a3 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:58 2009 +0000 net/ps3: gelic - Add missing annotations probe functions should be __devinit Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Acked-by: David S. Miller Signed-off-by: Benjamin Herrenschmidt commit 9317726de42a157c377f7fe9110a63260800582f Author: Timur Tabi Date: Tue May 26 05:21:41 2009 +0000 powerpc: Introduce macro spin_event_timeout() The macro spin_event_timeout() takes a condition and timeout value (in microseconds) as parameters. It spins until either the condition is true or the timeout expires. It returns the result of the condition when the loop was terminated. This primary purpose of this macro is to poll on a hardware register until a status bit changes. The timeout ensures that the loop still terminates if the bit doesn't change as expected. This macro makes it easier for driver developers to perform this kind of operation properly. Signed-off-by: Timur Tabi Acked-by: Geoff Thorpe Signed-off-by: Benjamin Herrenschmidt commit 79290e4b692af8a76273bab38e41a3a385dedc7b Author: Sean MacLennan Date: Wed Jun 10 15:09:23 2009 +0000 powerpc/warp: Fix ISA_DMA_THRESHOLD default If no device is passed to __dma_alloc_coherent, it defaults to using ISA_DMA_THRESHOLD for the mask. This patch provides a reasonable default rather than 0. Signed-off-by: Sean MacLennan Signed-off-by: Benjamin Herrenschmidt commit 247608234e944e3e8e4d503c54c19ccb63dd27f2 Author: Nate Case Date: Thu Jun 11 14:43:01 2009 -0500 powerpc/bootwrapper: Custom build options for XPedite52xx targets Some XPedite52xx boards have a legacy boot loader requiring some special care in the boot wrapper. The use of cuboot-85xx is needed to fix up embedded device trees, and a custom link address is specified to accommodate the boot loader and larger kernel image sizes used on X-ES MPC85xx platforms. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 6277597819f07945d8ef234518d970aa51ef17d8 Author: Nate Case Date: Thu Jun 11 14:43:00 2009 -0500 powerpc/85xx: Add defconfig for X-ES MPC85xx boards Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 317bf653a6700b0ae34cef5028b287d5205bdaf1 Author: Nate Case Date: Thu Jun 11 14:42:59 2009 -0500 powerpc/85xx: Add dts files for X-ES MPC85xx boards Add device tree source files for various MPC85xx boards from Extreme Engineering Solutions. Supported boards include XPedite5370, XPedite5200, XPedite5301, XPedite5330, and XCalibur1501. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 3038acf9091ff265609af3524ed94cce797d8485 Author: Nate Case Date: Thu Jun 11 14:42:58 2009 -0500 powerpc/85xx: Add platform support for X-ES MPC85xx boards Add support for X-ES single-board computers based on the Freescale MPC85xx processors. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit 8159df72d43e237d5bfcff052a8337245b6ac53e Author: Heiko Schocher Date: Mon Jun 15 09:38:18 2009 +0200 83xx: add support for the kmeter1 board. The following series implements basic board support for the kmeter1 board from keymile, based on a MPC8360. This series provides the following functionality: - The board can boot with a serial console on UART1 - Ethernet: UCC1 in RGMII mode UCC2 in RGMII mode UCC4 in RMII mode UCC5 in RMII mode UCC6 in RMII mode UCC7 in RMII mode UCC8 in RMII mode following patch is necessary for working UCC in RMII mode: http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/070804.html - Flash accessed via MTD layer On this hardware there is an Intel P30 flash, following patch series is necessary for working with this hardware: http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/070624.html - I2C using I2C Bus 1 from the MPC8360 cpu Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala commit 40aa7353355f2d2766b2c960aff2f93e3dac4bfa Author: Kevin Hao Date: Wed May 27 10:05:05 2009 +0800 powerpc/85xx: Add nor flash partitions for mpc8569mds Add 4 partitions in nor flash. Also fix nor flash bank width bug. The flash is capable of x8/x16 width but is configured for x8. Signed-off-by: Kevin Hao Signed-off-by: Kumar Gala commit e86b4998f00b51f60b4baab9bbef5e07c9407614 Author: mware@internode.on.net Date: Wed Jun 10 17:01:19 2009 +0000 powerpc/fsl: Increase the number of possible localbus banks Currently the fsl,*lbc devices support 8 banks (ie OR and BR registers). This is adequate for most pq2 and pq3 processors, but not the MPC8280 which has 12 banks. Signed-Off-By: Mark Ware Signed-off-by: Kumar Gala commit 5f28c52003612cccf12dfcbac4d9f0692bd28e67 Author: Yang Li Date: Mon May 11 22:36:02 2009 +0000 rio: warn_unused_result warnings fix Adding failure path for the following two cases. warning: ignoring return value of 'device_add', declared with attribute warn_unused_result warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 7b9edb9d619a1b3ecd35d832d4a93803d4f0ca5f Author: Nate Case Date: Mon Jun 8 17:17:42 2009 -0500 powerpc/85xx: cuboot - Fix up ethernet3 MAC address on MPC85xx Some MPC85xx platforms do support 4 ethernet ports, so make sure the boot wrapper fixes up all of them in the fdt. Since MAC addresses are at the end of the bd_t structure there is no harm in expanding to support 4 MAC address on older 85xx systems that might not have that many. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit b45cc9eff72e0871ffb83ae32c3dbca382909706 Author: Dave Liu Date: Mon Jun 8 22:24:36 2009 +0800 serial: Make ucc_uart work in HW UART mode In HW UART mode the TxBD[READY] is not cleared by H/W (RISC engine) when the user send characters to Tx buffer of QE UART. So, these characters stay on the QE forever, never go to UART line. Signed-off-by: Dave Liu Signed-off-by: Kumar Gala commit f1f8b4948d19ae84fe37e36601ae064102dfa5ab Author: Gerhard Pircher Date: Sat Jun 6 11:12:36 2009 +0000 powerpc: Enable additional BAT registers in setup_745x_specifics() Currently the kernel expects the additional four IBAT and DBAT registers to be available, but doesn't enable these registers on 745x CPUs, which have them disabled after reset. Thus set the HIGH_BAT_EN bit in HID0 register, if the corresponding MMU feature is defined. Signed-off-by: Gerhard Pircher Signed-off-by: Kumar Gala commit b7d66c88c968379ebe683a28c4005895497ebbad Author: Peter Korsgaard Date: Tue Jun 9 13:43:32 2009 +0200 powerpc/mpc83xx: Fix usb mux setup for mpc834x usb0 and usb1 mux settings in the sicrl register were swapped (twice!) in mpc834x_usb_cfg(), leading to various strange issues with fsl-ehci and full speed devices. The USB port config on mpc834x is done using 2 muxes: Port 0 is always used for MPH port 0, and port 1 can either be used for MPH port 1 or DR (unless DR uses UTMI phy or OTG, then it uses both ports) - See 8349 RM figure 1-4.. mpc8349_usb_cfg() had this inverted for the DR, and it also had the bit positions of the usb0 / usb1 mux settings swapped. It would basically work if you specified port1 instead of port0 for the MPH controller (and happened to use ULPI phys), which is what all the 834x dts have done, even though that configuration is physically invalid. Instead fix mpc8349_usb_cfg() and adjust the dts files to match reality. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 4dc2a6cf82746c1e632aad0cd38615a35f8df075 Author: leon.woestenberg@gmail.com Date: Sat Jun 6 09:15:13 2009 -0700 powerpc/83xx: Add MSI interrupts to DTS of MPC8315E-RDB The PCIe MSI interrupts are missing from the device tree source, and thus were not enabled. This patch adds them. Tested to work on MPC8315E-RDB with custom FPGA PCIe device. Signed-off-by: Leon Woestenberg Tested-by: Leon Woestenberg Signed-off-by: Kumar Gala commit 7a5c62fbfb86e731eab0798a1a02ff0d915ea10a Author: Martyn Welch Date: Tue May 19 10:40:57 2009 +0100 powerpc/86xx: Add I2C device mappings in DTS for SBC610 Mappings for temperature sensors (adt7461 and lm92) are missing from the SBC610's DTS file. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit b4a31c94b6445b9e2cfe62efbb8109ac6ebd11aa Author: Haiying Wang Date: Tue Jun 2 10:04:16 2009 -0400 powerpc/85xx: Add UCC6 and UCC8 nodes in SGMII mode for MPC8569MDS Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 1a2eceaacd3721336bc08ffdca546e1a8ff2429d Author: Anton Vorontsov Date: Wed Jun 10 19:19:26 2009 +0400 powerpc/83xx: Update sdhci nodes per new bindings As of commit 404614728f857d0ac63d29c3a29d0cf392a15598 ("Update FSL esdhc binding"), we use "fsl,esdhc" compatible entry as a base match. U-Boot will use the same compatible to fixup esdhc nodes. This patch updates 83xx dts files so that they conform to the new bindings. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit cab888e678d0986ebce95464d3842a6aeca1e3d8 Author: Nate Case Date: Wed Jun 10 15:37:28 2009 -0500 powerpc/fsl-booke: Enable L1 cache on e500v1/e500v2/e500mc CPUs Some boot loaders may not enable L1 instruction/data cache. Check if data and instruction caches are enabled, and enable them if needed. Signed-off-by: Nate Case Signed-off-by: Kumar Gala commit c7a7a5b9a27e28ce5f800ead9091ce68d37e8088 Author: Wolfgang Denk Date: Tue May 12 21:06:14 2009 +0200 powerpc/mpc8272ads: fix device tree for 8 MB flash size The current device tree for the MPC8272ADS assumes a mapping of 32 MB of NOR flash at 0xFE00.0000, while there are actually only 8 MB on the boards, mapped at 0xFF80.0000. When booting an uImage with such a device tree, the kernel crashes because 0xFE00.0000 is not mapped. Also introduce aliases for serial[01] and ethernet[01]. Signed-off-by: Wolfgang Denk Cc: Scott Wood Signed-off-by: Kumar Gala commit 152d0182822e871a3fe1f6d97949d83fad950e26 Author: Kumar Gala Date: Fri May 15 00:37:35 2009 -0500 powerpc/85xx: Add SWIOTLB support to FSL boards Add the platform-specific code for enabling SWIOTLB if needed on P2020DS, MPC85xx DS, and MPC85xx MDS boards as they are capable of having >4G of memory. We determine if we need to enable swiotlb based on how much memory is in the board and if it exceeds 4G or what we can map via PCI inbound windows. Signed-off-by: Kumar Gala commit 5cef379b34ffcd96567066ddc1012bd40e6e7675 Author: Becky Bruce Date: Thu May 14 17:42:29 2009 -0500 powerpc: Add 86xx support for SWIOTLB This is the final bit of code to allow enabling swiotlb on mpc86xx. The platform-specific code is very small and consists of enabling SWIOTLB in the config file, registering the swiotlb_setup_bus_notifier initcall, and setting pci_dma_ops to point to swiotlb_pci_dma_ops if we have more memory than can be mapped by the inbound PCI windows. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit b9081d90f5b989cd927052084b16b4f950c8c8d7 Author: Yu Zhiguo Date: Tue Jun 9 17:33:34 2009 +0800 NFS: kill off complicated macro 'PROC' kill off obscure macro 'PROC' of NFSv2&3 in order to make the code more clear. Among other things, this makes it simpler to grep for callers of these functions--something which has frequently caused confusion among nfs developers. Signed-off-by: Yu Zhiguo Signed-off-by: J. Bruce Fields commit 59fb30660be3f3ead54b3850c401d462449caaaa Author: Christian Engelmayer Date: Sun Jun 14 00:05:26 2009 +0200 sunrpc: potential memory leak in function rdma_read_xdr In case the check on ch_count fails the cleanup path is skipped and the previously allocated memory 'rpl_map', 'chl_map' is not freed. Reported by Coverity. Signed-off-by: Christian Engelmayer Signed-off-by: J. Bruce Fields commit e4636d535e32768c8c500641ddb144f56e3dc5c0 Author: J. Bruce Fields Date: Mon Jun 15 19:07:13 2009 -0700 nfsd: minor nfsd_vfs_write cleanup There's no need to check host_err >= 0 every time here when we could check host_err < 0 once, following the usual kernel style. Signed-off-by: J. Bruce Fields commit d911df7b8d44de41661363a4e29ee710180ba025 Author: J. Bruce Fields Date: Mon Jun 15 16:03:53 2009 -0700 nfsd: Pull write-gathering code out of nfsd_vfs_write This is a relatively self-contained piece of code that handles a special case--move it to its own function. Signed-off-by: J. Bruce Fields commit 9d2a3f31d6d7832cd441eeda08bc2266cdd5d972 Author: J. Bruce Fields Date: Mon Jun 15 18:47:56 2009 -0700 nfsd: track last inode only in use_wgather case Updating last_ino and last_dev probably isn't useful in the !use_wgather case. Also remove some pointless ifdef'd-out code. Signed-off-by: J. Bruce Fields commit 6aad89c8376e432231b78d1bdbcc10ef7708b011 Author: Anton Blanchard Date: Wed Jun 10 12:52:21 2009 -0700 sunrpc: align cache_clean work's timer Align cache_clean work. Signed-off-by: Anton Blanchard Cc: Neil Brown Cc: Trond Myklebust Cc: "David S. Miller" Signed-off-by: Andrew Morton Acked-by: David S. Miller Signed-off-by: J. Bruce Fields commit 48e03bc515cff75718de5460458680a230ae997e Author: Trond Myklebust Date: Fri Jun 5 12:35:15 2009 -0400 nfsd: Use write gathering only with NFSv2 NFSv3 and above can use unstable writes whenever they are sending more than one write, rather than relying on the flaky write gathering heuristics. More often than not, write gathering is currently getting it wrong when the NFSv3 clients are sending a single write with FILE_SYNC for efficiency reasons. This patch turns off write gathering for NFSv3/v4, and ensures that it only applies to the one case that can actually benefit: namely NFSv2. Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 7eef4091a653c243a87e5375c54504cc03bec4d8 Merge: 0a93a47 07a2039 Author: J. Bruce Fields Date: Mon Jun 15 18:08:07 2009 -0700 Merge commit 'v2.6.30' into for-2.6.31 commit 978d910d31c5202e251298bf3f603300a54605dd Author: Yan Zheng Date: Mon Jun 15 20:01:02 2009 -0400 Btrfs: always update root items for fs trees at commit time commit_fs_roots skips updating root items for fs trees that aren't modified. This is unsafe now that relocation code modifies root item's last_snapshot field without modifying corresponding fs tree. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 9af0b38ff3f4f79c62dd909405b113bf7c1a23aa Author: Sunil Mushran Date: Thu Jun 11 11:02:03 2009 -0700 ocfs2/net: Use wait_event() in o2net_send_message_vec() Replace wait_event_interruptible() with wait_event() in o2net_send_message_vec(). This is because this function is called by the dlm that expects signals to be blocked. Fixes oss bugzilla#1126 http://oss.oracle.com/bugzilla/show_bug.cgi?id=1126 Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 6b791bcc8b2ae21daf95d18cff2f1eca7a64c9a5 Author: Tao Ma Date: Fri Jun 12 14:18:36 2009 +0800 ocfs2: Adjust rightmost path in ocfs2_add_branch. In ocfs2_add_branch, we use the rightmost rec of the leaf extent block to generate the e_cpos for the newly added branch. In the most case, it is OK but if the parent extent block's rightmost rec covers more clusters than the leaf does, it will cause kernel panic if we insert some clusters in it. The message is something like: (7445,1):ocfs2_insert_at_leaf:3775 ERROR: bug expression: le16_to_cpu(el->l_next_free_rec) >= le16_to_cpu(el->l_count) (7445,1):ocfs2_insert_at_leaf:3775 ERROR: inode 66053, depth 0, count 28, next free 28, rec.cpos 270, rec.clusters 1, insert.cpos 275, insert.clusters 1 [] ? ocfs2_do_insert_extent+0xb58/0xda0 [ocfs2] [] ? ocfs2_insert_extent+0x5bd/0x6ba [ocfs2] [] ? ocfs2_add_clusters_in_btree+0x37f/0x564 [ocfs2] ... The panic can be easily reproduced by the following small test case (with bs=512, cs=4K, and I remove all the error handling so that it looks clear enough for reading). int main(int argc, char **argv) { int fd, i; char buf[5] = "test"; fd = open(argv[1], O_RDWR|O_CREAT); for (i = 0; i < 30; i++) { lseek(fd, 40960 * i, SEEK_SET); write(fd, buf, 5); } ftruncate(fd, 1146880); lseek(fd, 1126400, SEEK_SET); write(fd, buf, 5); close(fd); return 0; } The reason of the panic is that: the 30 writes and the ftruncate makes the file's extent list looks like: Tree Depth: 1 Count: 19 Next Free Rec: 1 ## Offset Clusters Block# 0 0 280 86183 SubAlloc Bit: 7 SubAlloc Slot: 0 Blknum: 86183 Next Leaf: 0 CRC32: 00000000 ECC: 0000 Tree Depth: 0 Count: 28 Next Free Rec: 28 ## Offset Clusters Block# Flags 0 0 1 143368 0x0 1 10 1 143376 0x0 ... 26 260 1 143576 0x0 27 270 1 143584 0x0 Now another write at 1126400(275 cluster) whiich will write at the gap between 271 and 280 will trigger ocfs2_add_branch, but the result after the function looks like: Tree Depth: 1 Count: 19 Next Free Rec: 2 ## Offset Clusters Block# 0 0 280 86183 1 271 0 143592 So the extent record is intersected and make the following operation bug out. This patch just try to remove the gap before we add the new branch, so that the root(branch) rightmost rec will cover the same right position. So in the above case, before adding branch the tree will be changed to Tree Depth: 1 Count: 19 Next Free Rec: 1 ## Offset Clusters Block# 0 0 271 86183 SubAlloc Bit: 7 SubAlloc Slot: 0 Blknum: 86183 Next Leaf: 0 CRC32: 00000000 ECC: 0000 Tree Depth: 0 Count: 28 Next Free Rec: 28 ## Offset Clusters Block# Flags 0 0 1 143368 0x0 1 10 1 143376 0x0 ... 26 260 1 143576 0x0 27 270 1 143584 0x0 And after branch add, the tree looks like Tree Depth: 1 Count: 19 Next Free Rec: 2 ## Offset Clusters Block# 0 0 271 86183 1 271 0 143592 Signed-off-by: Tao Ma Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 9542b21e4f05a521a35752f49a522ef5a6221b4f Author: Jaswinder Singh Rajput Date: Wed Jun 10 12:45:01 2009 -0700 [IA64] msi_ia64.c dmar_msi_type should be static Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit fb824f4838c3110c282268a3620f41da67b3f3fb Author: Thomas Gleixner Date: Wed Jun 10 12:45:00 2009 -0700 [IA64] remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 86bc3dfe6a76eb2fd332694f5052c862a3314efd Author: Thomas Gleixner Date: Wed Jun 10 12:45:00 2009 -0700 [IA64] remove obsolete irq_desc_t typedef The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users and remove the typedef. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 8a7c3cd3123d9278d8c505a9c8d0f7a5d7a0b3ca Author: Thomas Gleixner Date: Wed Jun 10 12:44:59 2009 -0700 [IA64] remove obsolete no_irq_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup convert the last remaining users to no_irq_chip Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 78ddb274b9ad81e64f55b19baf83d4a67e351973 Author: Sam Ravnborg Date: Mon Jun 8 19:48:32 2009 +0200 [IA64] unexport fpswa.h fpswa.h is not relevant for userspace, so do not export it. Signed-off-by: Sam Ravnborg Signed-off-by: Tony Luck commit f25f0b9ca48848632f19e6616bd01550e3c0fc0e Author: Ben Dooks Date: Thu Jun 4 18:00:25 2009 +0100 s3cmci: fix dma configuration call This was missed in the DMA changes during the s3c24xx updates in commit 8970ef47d56fd3db28ee798b9d400caf08abd924. Signed-off-by: Ben Dooks commit 66765fe1b62e4c0eee3b7e3aa1eb34e5428f52ec Author: Paul Mundt Date: Tue Jun 16 06:26:08 2009 +0900 sh: pci: SH7786 PCI ops. This adds in preliminary support for the SH7786 PCIe module PCI ops, and the corresponding module definitions. Signed-off-by: Paul Mundt commit 799ca065213ab5df92d787c36c99cb4222f4e717 Author: Ben Dooks Date: Mon Jun 15 22:07:48 2009 +0100 [ARM] MINI2440: Cleanup duplicated header includes Remove duplicate mach headers for gpio. Signed-off-by: Ben Dooks commit bf4a59f1524202f887c4595aedb1aa489bcd9b64 Author: Michel Pollet Date: Wed Mar 25 17:24:08 2009 +0000 [ARM] MINI2440: Create a mini2440_defconfig file Just a working, starting point config file for the board. Signed-off-by: Michel Pollet Signed-off-by: Ben Dooks commit 39f45d7bc0df52db8a7dd099ac02fef89514b7fc Author: Michel Pollet Date: Wed May 20 11:10:31 2009 +0100 [ARM] MINI2440: Document the mini2440= kernel parameter Also explains why the touchscreen support is not present, and were to find a working one... Signed-off-by: Michel Pollet [ben-linux@fluff.org: Fix header description] Signed-off-by: Ben Dooks commit 5102aa4acdbde305646ae60c5eec7042b5016a0e Author: Michel Pollet Date: Wed Mar 25 17:19:14 2009 +0000 [ARM] MINI2440: Add machine support The MINI2440 is a chinese made s3c2440 development board with a large set of peripherals. This patch provides machine support for almost all the features of the board. Since it can come with various "options" fitted, a kernel parameter is used to specify the lcd size, backlight control and touchscreen. Signed-off-by: Michel Pollet Signed-off-by: Ben Dooks commit 8c6b44d00aca45edf69b35220ba4dce962c482f8 Author: Paul Mundt Date: Tue Jun 16 06:01:58 2009 +0900 sh: pci: Allow register_pci_controller() to handle overlapping regions. Some host controllers (such as SH7786) have overlapping regions that are fixed in hardware. The resource allocator does the right thing in managing this space already, so the conflict case is non-fatal. Signed-off-by: Paul Mundt commit 724cfb944007b7f8d346523a7810b53a35921bc5 Author: Magnus Damm Date: Tue Apr 28 08:02:13 2009 +0000 sh: smsc911x support for the rsk7203 board This patch adds support for the LAN9118 ethernet on rsk7203. The LAN9118 controller is hooked up using a 16-bit data bus, but the rsk7203 board does not swap the byte lanes as needed between the sh7203 processor and the the ethernet controller. In the processor the CS memory window is configured in 16-bit mode but the smsc911x driver is told to do 32-bit accesses to improve performance. The SMSC911X_SWAP_FIFO flag is used to tell the driver to do software byte swapping of fifo data. Signed-off-by: Magnus Damm Acked-by: Steve Glendinning Signed-off-by: Paul Mundt commit 2c7eaa43c3bb7b3b9fe2051d17f308c1f0728c78 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 22:16:10 2009 +0200 ide: BUG() on unknown requests Unsupported requests should be never handed down to device drivers and the best thing we can do upon discovering such request inside driver's ->do_request method is to just BUG(). Signed-off-by: Bartlomiej Zolnierkiewicz commit a9c415090710a108edcd81b3392b90396f190a9a Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 22:13:45 2009 +0200 ide: filter out invalid DMA xfer mode changes in HDIO_DRIVE_CMD ioctl handler Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bfb151f1f565e6082304a30e8c81dfb6ed0b0c8 Author: Joao Ramos Date: Mon Jun 15 22:13:44 2009 +0200 ide: do not access ide_drive_t 'drive_data' field directly Change ide_drive_t 'drive_data' field from 'unsigned int' type to 'void *' type, allowing a wider range of values/types to be stored in this field. Added 'ide_get_drivedata' and 'ide_set_drivedata' helpers to get and set the 'drive_data' field. Fixed all host drivers to maintain coherency with the change in the 'drive_data' field type. Signed-off-by: Joao Ramos [bart: fix qd65xx build, cast to 'unsigned long', minor Coding Style fixups] Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fa6f4af9f55bc1b753af04276984429d6b5a613 Author: Johannes Berg Date: Mon Jun 15 18:13:58 2009 +0200 mac80211: fix wext bssid/ssid setting When changing to a new BSSID or SSID, the code in ieee80211_set_disassoc() needs to have the old data still valid to be able to disconnect and clean up properly. Currently, however, the old data is thrown away before ieee80211_set_disassoc() is ever called, so fix that by calling the function _before_ the old data is overwritten. This is (one of) the issue(s) causing mac80211 to hold cfg80211's BSS structs forever, and them thus being returned in scan results after they're long gone. http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2015 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f0e9a8606ce60880249fd570fbebf4472c3d37c0 Author: Gabor Juhos Date: Mon Jun 15 17:49:11 2009 +0200 ath9k: process rx packet if we are waiting for CAB If we are in PS mode, we have to process the received frame if the SC_OP_WAIT_FOR_CAB bit is set. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 7fe96a16486fb617a26b39a4895c7522c50fc555 Author: Gabor Juhos Date: Mon Jun 15 17:49:10 2009 +0200 ath9k: prevent sleeping while we are waiting for CAB We have to remain awake if the SC_OP_WAIT_FOR_CAB flag is set. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 3989279ccc838c7357c75af6090f56f5cb555158 Author: Gabor Juhos Date: Mon Jun 15 17:49:09 2009 +0200 ath9k: restore power mode on error path The ath9k_ps_{wakeup,restore} calls must be in balance. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 624f0de44afa9fbb4ec8396f88d8d54b96a57a7e Author: Johannes Berg Date: Mon Jun 15 16:26:47 2009 +0200 dell-laptop: fix rfkill conversion A polarity error snuck into the rfkill rewrite's dell-laptop conversion, fix it. Signed-off-by: Johannes Berg Tested-by: Oliver Hartkopp Signed-off-by: John W. Linville commit ce0879e324df007f12cc25227102847b92fcafb7 Author: Johannes Berg Date: Mon Jun 15 15:36:38 2009 +0200 rfkill: improve docs Now that the dust has settled a bit, improve the docs on rfkill and include more information about /dev/rfkill. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7e9debe9789456426ec8574ead879e33da19ee57 Author: Johannes Berg Date: Mon Jun 15 13:42:25 2009 +0200 mac80211: disconnect when user changes channel If we do not disconnect when a channel switch is requested, we end up eventually detection beacon loss from the AP and then disconnecting, without ever really telling the AP, so we might just as well disconnect right away. Additionally, this fixes a problem with iwlwifi where the driver will clear some internal state on channel changes like this and then get confused when we actually go clear that state from mac80211. It may look like this patch drops the no-IBSS check, but that is already handled by cfg80211 in the wext handler it provides for IBSS (cfg80211_ibss_wext_siwfreq). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit db2e6bd4e966a36c6b2f1921feb3537e8254415c Author: Johannes Berg Date: Sun Jun 14 17:37:39 2009 +0200 mac80211: add queue debugfs file I suspect that some driver bugs can cause queues to be stopped while they shouldn't be, but it's hard to find out whether that is the case or not without having any visible information about the queues. This adds a file to debugfs that allows us to see the queues' statuses. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b319aae4244f9b4758212605f67cf63207a4fa1 Author: Johannes Berg Date: Sat Jun 13 14:50:26 2009 +0530 ath9k: port to cfg80211 rfkill This ports the ath9k rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. ("With this series a kernel panic, which is a regression, during module unload disappears." -- Vasanthakumar Thiagarajan Other patches in the series: ath9k: Add helper to get ath9k specific current channel ath9k: Make sure we have current channel in ah_curchan before rf disable/enable -- JWL) Signed-off-by: Johannes Berg Cc: Luis Rodriguez Tested-by: Vasanthakumar Thiagarajan Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 159cd468bc885f7a2fbc75bbfe782782e52ef9c9 Author: Vasanthakumar Thiagarajan Date: Sat Jun 13 14:50:25 2009 +0530 ath9k: Make sure we have current channel in ah_curchan before rf disable/enable Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 82880a7cf9c059c11cd6ad1868c48969956f966b Author: Vasanthakumar Thiagarajan Date: Sat Jun 13 14:50:24 2009 +0530 ath9k: Add helper to get ath9k specific current channel Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 35edf8aae8f903b154d658b9a7eed0d5c1a4a814 Author: Nick Kossifidis Date: Fri Jun 12 16:09:53 2009 -0700 ath5k: fix mesh beaconing This patch is from Nick Kossifidis but he forgot to send it. It ensures that the beacon queue gets started in mesh mode as well, otherwise ath5k will not beacon in mesh point mode. At this time, we still need to issue a scan before mesh beaconing will work but that appears to be a separate problem. Signed-off-by: Andrey Yurovsky Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8a9b99267cb3b51d4e59693c03e1204d86b42445 Author: Abhijeet Kolekar Date: Fri Jun 12 13:22:52 2009 -0700 iwlwifi/iwl3945: fix suspend resume association bug Patch fixes the following bugs at http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2005 http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2007 If we suspend with an association and then resumed, we need to synchronize the active rxon with staging rxon, else we will get an error when iwl_alive_start try to commit rxon and staging is set to channel 0. Before going to suspend staging and active rxon are in sync. After resuming from the suspend, iwl_mac_start is called and it clears the staging rxon. Patch fixes the bug by not clearing the staging rxon in iwl_mac_start. Patch also adds similar fix to 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 611d3eb72aa7847a1081e6c1ac05fd2012652cde Author: Wey-Yi Guy Date: Fri Jun 12 13:22:51 2009 -0700 iwlwifi: check for channel location for 40MHz for both mixed and pure 40MHz, need to check for valid channel location. if the specified channel not allow the channel location requested (ABOVE, BELOW), then reject the Fat channel access This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1988 ("iwlwifi: checking for 40MHz mode" and "iwlwifi: check control channel for pure 40MHz" combine with this to address the above bug. -- JWL) Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 508b08e7121f2083c9e9cd82f10b9088b6bc13fb Author: Wey-Yi Guy Date: Fri Jun 12 13:22:50 2009 -0700 iwlwifi: check control channel for pure 40MHz for pure 40MHz mode, set the control channel location if provided, but not like Mixed mode; if information is not provided, still allow 40MHz operation. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8e8df3a08c6f3098b54639ee6892e3753ad5f210 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:49 2009 -0700 iwlwifi: checking for 40MHz mode when checking for 40MHz, compare ht_protection to IEEE80211_HT_OP_MODE_PROTECTION_20MHZ. ht_protection is not a bit-mask field Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d7129e190c3107db8ac11a9e51035641b68d2aa7 Author: Johannes Berg Date: Fri Jun 12 13:22:48 2009 -0700 iwlwifi: revamp bss_info_changed My earlier patch, "mac80211: unify config_interface and bss_info_changed" introduced a bug in iwlwifi where it will do some things incorrectly now when reassociating. Revamp iwl_bss_info_changed to fix that issue and make it easier to read. Also, while at it, add comments about things that it should do but currently doesn't. Finally, also improve the locking in the function. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 87e501b351ed9d837e63f6506b7e66331a69ed58 Author: Sebastian Andrzej Siewior Date: Fri Jun 12 21:37:31 2009 +0200 net/libertas: don't recursive spin lock in if_spi_e2h() |BUG: spinlock recursion on CPU#0, lbs_spi_thread/1030 | lock: dee9a1bc, .magic: dead4ead, .owner: lbs_spi_thread/1030, .owner_cpu: 0 |Call Trace: |[deec3eb0] [c0007220] show_stack+0x4c/0x15c (unreliable) |[deec3ef0] [c0187720] spin_bug+0x9c/0xb0 |[deec3f10] [c0187890] _raw_spin_lock+0x54/0x148 |[deec3f40] [c02d260c] _spin_lock_irqsave+0x2c/0x44 |[deec3f60] [e8671800] lbs_queue_event+0x7c/0x130 [libertas] |[deec3f80] [e8725f04] lbs_spi_thread+0x538/0x58c [libertas_spi] |[deec3fe0] [c004f270] kthread+0x4c/0x88 |[deec3ff0] [c000f33c] kernel_thread+0x4c/0x68 if_spi_e2h() is grabbing ->driver_lock just while calling lbs_queue_event() which is grabbing the same lock. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: John W. Linville commit b3781c74373489fa325ce64efdf72f6c8567b783 Author: Andrey Yurovsky Date: Fri Jun 12 12:45:36 2009 -0700 libertas: fix IEEE PS mode in GSPI driver The card firmware does not set the Command Download Ready interrupt bit when IEEE PS mode is enabled, preventing the driver from sending commands (such as the command to exit IEEE PS mode) since there is no indication that the card is ready to accept commands. This patch works around the problem by using the the TX Download Ready bit in place of the Command Download Ready Bit while in IEEE PS mode. TX Download Ready is set in IEEE PS mode. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 68f2d02669f7102be80aae47155f45e18950d223 Author: Jouni Malinen Date: Thu Jun 11 18:19:45 2009 +0300 mac80211: Do not try to associate with an empty SSID It looks like some programs (e.g., NM) are setting an empty SSID with SIOCSIWESSID in some cases. This seems to trigger mac80211 to try to associate with an invalid configuration (wildcard SSID) which will result in failing associations (or odd issues, potentially including kernel panic with some drivers) if the AP were to actually accept this anyway). Only start association process if the SSID is actually set. This speeds up connection with NM in number of cases and avoids sending out broken association request frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e1f8a19e6fc4f6d4267f6d3fe465553c3688f28e Author: Johannes Berg Date: Thu Jun 11 12:08:15 2009 +0200 sony: fix rfkill code again When the hard state changes, we shouldn't set the soft state to blocked as well -- we have no such indication from the device in that case so leave it untouched. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13458. Signed-off-by: Johannes Berg Reported-by: Reinette Chatre Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b27fc6de184d66347e4aceeb5c0a4262732cc03 Author: Paul Mundt Date: Tue Jun 16 03:58:25 2009 +0900 sh: Set EARLY_SCIF_CONSOLE_PORT sanely for SH7786. Signed-off-by: Paul Mundt commit 03347e2592078a90df818670fddf97a33eec70fb Merge: 19035e5 1dcd775 Author: Linus Torvalds Date: Mon Jun 15 10:38:06 2009 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix compile error in arch/ia64/mm/extable.c commit 19035e5b5d1e3127b4925d86f6a77964f91f2c3c Merge: f9db6e0 eea08f3 Author: Linus Torvalds Date: Mon Jun 15 10:06:19 2009 -0700 Merge branch 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers: Logic to move non pinned timers timers: /proc/sys sysctl hook to enable timer migration timers: Identifying the existing pinned timers timers: Framework for identifying pinned timers timers: allow deferrable timers for intervals tv2-tv5 to be deferred Fix up conflicts in kernel/sched.c and kernel/timer.c manually commit f9db6e095115f9411b9647bdb9d81fe11f3d8b54 Merge: 3f27c0d c81fc2c Author: Linus Torvalds Date: Mon Jun 15 09:58:50 2009 -0700 Merge branch 'timers-for-linus-clockevents' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-clockevents' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevent: export register_device and delta2ns clockevents: tick_broadcast_device can become static commit 3f27c0d2a469673e0f1efc8004b6f42428aa5b94 Merge: 9aaa630 cd6d95d Author: Linus Torvalds Date: Mon Jun 15 09:58:33 2009 -0700 Merge branch 'timers-for-linus-clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: prevent selection of low resolution clocksourse also for nohz=on clocksource: sanity check sysfs clocksource changes commit 3779f818a42879038c4be8bc83123432b774279d Author: Sergei Shtylyov Date: Mon Jun 15 18:53:00 2009 +0200 sl82c105: implement test_irq() method Implement test_irq() method. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ec053e4ee98b6e5a9ecf97754837b6fc989774f0 Author: Sergei Shtylyov Date: Mon Jun 15 18:53:00 2009 +0200 siimage: implement test_irq() method Implement test_irq() method based on the driver's former dma_test_irq() methods. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e0321fbe6d34b4bb514fb6daff9e0859e5d76001 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:59 2009 +0200 pdc202xx_old: implement test_irq() method (take 2) Implement test_irq() method based on the driver's former dma_test_irq() method. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 628df2f33d99dace08838779d8a02bf1deaff100 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:59 2009 +0200 cmd64x: implement test_irq() method Convert the driver's two dma_test_irq() methods into test_irq() methods. The driver will now use the standard dma_test_irq() method implementation which allows to remove 'cmd54x_dma_ops' and 'cmd648_dma_ops' that become identical to 'sff_dma_ops'... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 87441db22f95f03d4a91e2e250d88eafb1622b22 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:58 2009 +0200 cmd640: implement test_irq() method Implement test_irq() method, adding the drive 2/3 interrupt bit definition. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f4d3ffa52a402ec9e8699571cf3811763d284459 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:58 2009 +0200 ide: move ack_intr() method into 'struct ide_port_ops' (take 2) Move the ack_intr() method into 'struct ide_port_ops', also renaming it to test_irq() while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit eba8999cefb6b61704d8fa825b7694825a087765 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:57 2009 +0200 ide: move IRQ clearing from ack_intr() method to clear_irq() method (take 2) There are now two methods that clear the port interrupt: ack_intr() method, implemented only on M680x0 machines, that is called at the start of ide_intr(), and clear_irq() method, that is called somewhat later in this function. In order to stop this duplication, delegate the task of clearing the interrupt to clear_irq() method, only leaving to ack_intr() the task of testing for the port interrupt. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 74414a91204ee57528041f771da1fd1ee3ba64c4 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:57 2009 +0200 siimage: use ide_dma_test_irq() (take 2) Remove interrupt bit test (not trusted anyway) from siimage_io_dma_test_irq() and siimage_mmio_dma_test_irq() -- this allows to replace the former function with now identical ide_dma_test_irq()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 30e5ffc368ff7d96fbc7a51ede10809642b0a6df Author: Sergei Shtylyov Date: Mon Jun 15 18:52:56 2009 +0200 cmd64x: implement clear_irq() method (take 2) Convert the driver's two dma_end() methods into clear_irq() methods -- the driver will now use the standard dma_end() method implementation, ide_dma_end(). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 53b987d5e7e8d5be3b84522149907fa7ac95526e Author: Sergei Shtylyov Date: Mon Jun 15 18:52:55 2009 +0200 ide: call clear_irq() method in ide_timer_expiry() Now the clear_irq() method is called only from ide_intr() but ide_timer_expiry() also should call this method in case when drive_is_ready() succeeds... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ccae50bcf9b8a2365e8050ccdd20b172db7b9be1 Author: Sergei Shtylyov Date: Mon Jun 15 18:52:55 2009 +0200 sgiioc4: coding style cleanup Fix several errors and warnings given by checkpatch.pl: - space between the asterisk and parameter name; - inconsistent spacing between operator and operands; - space between *sizeof* and open parenthesis; - #include instead of #include - use of *typedef* instead of a structure tag; - line over 80 characters. In addition to these changes, also do the following: - indent with tabs instead of spaces; - put the function's result type and name/parameters on the same line; - join back the needlessly broken lines; - get rid of needless type cast in sgiioc4_checkirq(); - remove space between the type cast and the variable name; - remove commented out field initializer; - uppercase the acronyms, lowercase the normal words in the comments; - fix up the multi-line comment style... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5880b5de7101cc123778c5d17d4f3986351f3122 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 18:52:54 2009 +0200 ide: don't enable IORDY at a probe time * Add 'unsigned long port_flags' field to ide_hwif_t. * Add IDE_PFLAG_PROBING port flag and keep it set during probing. * Fix ide_pio_need_iordy() to not enable IORDY at a probe time (IORDY may lead to controller lock up on certain controllers if the port is not occupied). Loosely based on the recent libata's fix by Tejun, thanks to Alan for the hint that IDE may also need it. Signed-off-by: Bartlomiej Zolnierkiewicz commit c9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 18:52:53 2009 +0200 ide: IORDY handling fixes Add ide_pio_need_iordy() helper and convert host drivers to use it. This fixes it8172, it8213, pdc202xx_old, piix, slc90e66 and siimage host drivers to handle IORDY correctly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dae44f9a55f13765c877687602cd2bf1a057cfd Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 15 18:52:52 2009 +0200 ata: add ata_id_pio_need_iordy() helper (v2) v2: Minor fixes per Sergei's review. Cc: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 79ca743f68a94443518f165355d4327bc0f87632 Author: Borislav Petkov Date: Mon Jun 15 07:32:04 2009 +0200 ide-tape: fix build issue This fixes drivers/ide/ide-tape.c: In function `idetape_chrdev_open': drivers/ide/ide-tape.c:1515: error: implicit declaration of function `idetape_read_position' make[1]: *** [drivers/ide/ide-tape.o] Error 1 Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9aaa630503f20461bee65ebc4fd87ba8d7a2bd2c Merge: 2ed0e21 e13cf6e Author: Linus Torvalds Date: Mon Jun 15 09:43:24 2009 -0700 Merge branch 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus-ntp' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ntp: fix comment typos ntp: adjust SHIFT_PLL to improve NTP convergence commit 2ed0e21b30b53d3a94e204196e523e6c8f732b56 Merge: 0fa2133 9cbc1cb Author: Linus Torvalds Date: Mon Jun 15 09:40:05 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1244 commits) pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US ipv4: Fix fib_trie rebalancing Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver Bluetooth: Fix Kconfig issue with RFKILL integration PIM-SM: namespace changes ipv4: update ARPD help text net: use a deferred timer in rt_check_expire ieee802154: fix kconfig bool/tristate muckup bonding: initialization rework bonding: use is_zero_ether_addr bonding: network device names are case sensative bonding: elminate bad refcount code bonding: fix style issues bonding: fix destructor bonding: remove bonding read/write semaphore bonding: initialize before registration bonding: bond_create always called with default parameters x_tables: Convert printk to pr_err netfilter: conntrack: optional reliable conntrack event delivery list_nulls: add hlist_nulls_add_head and hlist_nulls_del ... commit 52b5226f481c09cc499cc28b1e9347d314b340f1 Author: Christian Engelmayer Date: Mon Jun 15 18:39:52 2009 +0200 hwmon: (max6650) Add support for alarms Export the alarm flags provided by the MAX6650/MAX6651 fan-speed regulator and monitor chips via sysfs. Signed-off-by: Christian Engelmayer Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 09475d32e652fe60901fe8c9cd50f3f6db0c4933 Author: Hans de Goede Date: Mon Jun 15 18:39:52 2009 +0200 hwmon: (f71882fg) Add support for the F71858F Add support for the hwmon part of the Fintek F71858FG superio IC to the f71882fg driver. Many thanks to Jelle de Jong for lending me a motherboard with this superio on it. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit b6858bca8d7bf52e2564cba5a5ed87e1019d3fd9 Author: Hans de Goede Date: Mon Jun 15 18:39:51 2009 +0200 hwmon: (f71882fg) Add temp#_fault sysfs attr for f8000 While working on f71852fg support I noticed that the f8000 sysfs attr table was missing entries for temp#_fault, which the f8000 does have and which we were already reading. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 996cadb2bf3787adcf4e164e1b351966c9e787f6 Author: Hans de Goede Date: Mon Jun 15 18:39:51 2009 +0200 hwmon: (f71882fg) Sanity check f8000 pwm settings We depend up on the pwm_enable register (0x96) not containing any reserved settings in various places. We were already checking to make sure there were no reserved settings in the register for the f71862fg, this patch adds the same checking for the f8000, while at it it also moves the code to a more apropriate place so we don't need to check if the fan/pwm part of the IC is enabled twice. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 3fc7838a20cdd9aab0077f355b8c44135cd4b6bd Author: Hans de Goede Date: Mon Jun 15 18:39:50 2009 +0200 hwmon: (f71882fg) Cleanup f8000 pwm handling Currently we are using separate per model sysfs attr for the 3th pwm, because the 3th pwm of the f8000 only has automatic mode and not manual mode. Doing things this way was getting in the way for adding f71858fg support, so this patch makes the pwm attr identical for all models, and instead adds a check to store_pwm_enable() disallowing setting the 3th pwm to manual mode on a f8000 IC. Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 2958b1ec6be1d71105d67d70de9d7d70f5e97151 Author: Jean Delvare Date: Mon Jun 15 18:39:50 2009 +0200 hwmon: PCI quirk for hwmon access on MSI MS-7031 board The MSI MS-7031 is based on an ATI IXP300 south bridge. On this south bridge, accessible I/O ports must be enabled explicitly. Unfortunately the BIOS forgets to enable access to the hardware monitoring chip I/O ports, so hardware monitoring fails. Add a quirk enabling access to the required ports (0x295-0x296). This is exactly what MSI's own hardware monitoring application is doing, so it has to be the right way. Signed-off-by: Jean Delvare commit c1e48dce05ff06266cdfd0cba55fc5367cd499a5 Author: Jean Delvare Date: Mon Jun 15 18:39:50 2009 +0200 hwmon: (w83627ehf) Add W83627DHG-P support Add support for the new incarnation of the Winbond/Nuvoton W83627DHG chip known as W83627DHG-P. It is basically the same as the original W83627DHG with an additional automatic can speed control mode (not supported by the driver yet.) Signed-off-by: Jean Delvare Tested-by: Madhu commit cd4e96c5dd4a72bdc54ea9981e02465708c204d3 Author: Andre Prendel Date: Mon Jun 15 18:39:49 2009 +0200 hwmon: (tmp401) Add documentation Documentation for the tmp401 driver. The documentation describes the tmp401 driver and the supported Texas Instruments TMP401 and TMP411 temperature sensor chips. Further documentation for new sysfs attributes supported by this driver is added to Documentation/hwmon/sysfs-interface. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit fce0758f5990b34af4ffba589b23f25c700beb2f Author: Andre Prendel Date: Mon Jun 15 18:39:47 2009 +0200 hwmon: (tmp401) Add support for TI's TMP411 sensors chip This adds support for TI's TMP411 sensor chip. Preliminary support were done by Gabriel Konat, Sander Leget and Wouter Willems. The chip is compatible with TI's TMP401 sensor chip. It has additional support for historical minimun/maximum measurements. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit ab2b79d5e22d3cdd2b191e479c60e69df528369a Author: Hans de Goede Date: Mon Jun 15 18:39:46 2009 +0200 hwmon: (tmp401) Add support for TI's TMP401 sensor chip This is a new hwmon driver for TI's TMP401 temperature sensor IC. This driver was written on behalf of an embedded systems vendor under the Linux driver project. It has been tested using a TI TMP401 sample attached to a i2c-tiny-usb adapter. Which was provided by Till Harbaum, many thanks to him for this! Signed-off-by: Hans de Goede Signed-off-by: Jean Delvare commit 8070408b5446232ba6eb6e0809a329da58a6ae52 Author: Darrick J. Wong Date: Mon Jun 15 18:39:46 2009 +0200 hwmon: (ibmaem) Automatically load on HC10 blade Enable auto-probing for the HC10 blade and amend the supported system list. Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit cd659fd0d7c91b7830d1fea0c76a640e171d2d43 Author: Jean Delvare Date: Mon Jun 15 18:39:45 2009 +0200 hwmon: Fix more __devexit_p glitches Make sure __devexit and devexit_p() match in all hwmon drivers. Suggested by a similar fix from Mike Frysinger. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Acked-by: Jonathan Cameron commit 0fa213310cd8fa7a51071cdcf130e26fa56e9549 Merge: d3bf80b bc47ab0 Author: Linus Torvalds Date: Mon Jun 15 09:32:52 2009 -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: (103 commits) powerpc: Fix bug in move of altivec code to vector.S powerpc: Add support for swiotlb on 32-bit powerpc/spufs: Remove unused error path powerpc: Fix warning when printing a resource_size_t powerpc/xmon: Remove unused variable in xmon.c powerpc/pseries: Fix warnings when printing resource_size_t powerpc: Shield code specific to 64-bit server processors powerpc: Separate PACA fields for server CPUs powerpc: Split exception handling out of head_64.S powerpc: Introduce CONFIG_PPC_BOOK3S powerpc: Move VMX and VSX asm code to vector.S powerpc: Set init_bootmem_done on NUMA platforms as well powerpc/mm: Fix a AB->BA deadlock scenario with nohash MMU context lock powerpc/mm: Fix some SMP issues with MMU context handling powerpc: Add PTRACE_SINGLEBLOCK support fbdev: Add PLB support and cleanup DCR in xilinxfb driver. powerpc/virtex: Add ml510 reference design device tree powerpc/virtex: Add Xilinx ML510 reference design support powerpc/virtex: refactor intc driver and add support for i8259 cascading powerpc/virtex: Add support for Xilinx PCI host bridge ... commit d3bf80bff13597004b5724ee4549cd68eb0badf0 Merge: 9c7cb99 c8f1e50 Author: Linus Torvalds Date: Mon Jun 15 09:27:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: regulator/max1586: fix V3 gain calculation integer overflow regulator/max1586: support increased V3 voltage range regulator: lp3971 - fix driver link error when built-in. LP3971 PMIC regulator driver (updated and combined version) regulator: remove driver_data direct access of struct device regulator: Set MODULE_ALIAS for regulator drivers regulator: Support list_voltage for fixed voltage regulator regulator: Move regulator drivers to subsys_initcall() regulator: build fix for powerpc - renamed show_state regulator: add userspace-consumer driver Maxim 1586 regulator driver commit 1dcd775eb302f897865bbab8779ae4165c13cd7e Author: Rusty Russell Date: Sat Jun 13 14:50:15 2009 +0930 [IA64] fix compile error in arch/ia64/mm/extable.c ad6561dffa17f17bb68d7207d422c26c381c4313 ("module: trim exception table on init free.") put a bogus trim_init_extable() function into ia64 which didn't compile. Signed-off-by: Rusty Russell Signed-off-by: Tony Luck commit 9c7cb99a8202452d3e0440a5505c5c6d262771d9 Merge: 0a8eba9 c3a7abf Author: Linus Torvalds Date: Mon Jun 15 09:13:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (22 commits) nilfs2: support contiguous lookup of blocks nilfs2: add sync_page method to page caches of meta data nilfs2: use device's backing_dev_info for btree node caches nilfs2: return EBUSY against delete request on snapshot nilfs2: modify list of unsupported features in caveats nilfs2: enable sync_page method nilfs2: set bio unplug flag for the last bio in segment nilfs2: allow future expansion of metadata read out via get info ioctl NILFS2: Pagecache usage optimization on NILFS2 nilfs2: remove nilfs_btree_operations from btree mapping nilfs2: remove nilfs_direct_operations from direct mapping nilfs2: remove bmap pointer operations nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function nilfs2: move get block functions in bmap.c into btree codes nilfs2: remove nilfs_bmap_delete_block nilfs2: remove nilfs_bmap_put_block nilfs2: remove header file for segment list operations nilfs2: eliminate removal list of segments nilfs2: add sufile function that can modify multiple segment usages ... commit 036533e232922ec6667817de9b037d0b1ebd062e Author: Jean Delvare Date: Mon Jun 15 18:01:52 2009 +0200 therm_windtunnel: Convert to a new-style i2c driver The legacy i2c binding model is going away soon, so convert the ppc therm_windtunnel driver to the new model or it will break. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Cc: Paul Mackerras commit 2e613e7f69226bd020987bbf0c2ee251c019ab33 Author: Jean Delvare Date: Mon Jun 15 18:01:51 2009 +0200 therm_adt746x: Convert to a new-style i2c driver The legacy i2c binding model is going away soon, so convert the ppc therm_adt746x driver to the new model or it will break. Signed-off-by: Jean Delvare Tested-by: Andreas Schwab Tested-by: Paul Mackerras Cc: Benjamin Herrenschmidt commit 351ca3e31197929535418f5affc761cd9fb07428 Author: Jean Delvare Date: Mon Jun 15 18:01:51 2009 +0200 windfarm: Convert to new-style i2c drivers The legacy i2c binding model is going away soon, so convert the macintosh windfarm drivers to the new model or they will break. Signed-off-by: Jean Delvare Tested-by: Johannes Berg Tested-by: Paul Mackerras Cc: Benjamin Herrenschmidt commit 1b9f37d488f09342610b29ac1c8e734e540932ab Author: Jean Delvare Date: Mon Jun 15 18:01:50 2009 +0200 therm_pm72: Convert to a new-style i2c driver The legacy i2c binding model is going away soon, so convert the macintosh therm_pm72 driver to the new model or it will break. This is really a quick and dirty conversion, that should do the trick for now, but no doubt that something cleaner can be done if anyone is interested. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Tested-by: Paul Mackerras commit a231591f0427cfb91ae247be974a7fa0e6b37389 Author: Harald Welte Date: Mon Jun 15 18:01:49 2009 +0200 i2c-viapro: Add new PCI device ID for VX855 The south bridge of the VIA VX855 chipset has a different PCI Device ID so i2c-viapro.c needs to be updated with this. Signed-off-by: Harald Welte Signed-off-by: Jean Delvare commit 4b364f230a5ef984818837ec7c2be0884eac191c Author: Wolfram Sang Date: Mon Jun 15 18:01:49 2009 +0200 i2c/chips: Move max6875 to drivers/misc/eeprom This driver only reads the user EEPROM of that chip, so we can move it to the eeprom-directory in order to further clean up (and later remove) drivers/i2c/chips. The Kconfig text was updated to match the current functionality, dropping the meanwhile obsoleted parts. Defconfigs have been adapted. Signed-off-by: Wolfram Sang Acked-by: Ben Gardner Signed-off-by: Jean Delvare commit c52cf01f5b35d77b2a918c319e22567de5c3c15f Author: Jean Delvare Date: Mon Jun 15 18:01:48 2009 +0200 i2c: Do not give adapters a default parent We don't need to give adapters a parent if they don't have one. The driver core will put them in the virtual device directory and all will be fine. Signed-off-by: Jean Delvare commit fa1b2ca4fa271f9300a764b9d505a027156f749b Author: Jean Delvare Date: Mon Jun 15 18:01:48 2009 +0200 i2c: Do not probe for TV chips on Voodoo3 adapters There's no point in giving the I2C bus of Voodoo3 adapters a class value, there's no video chip driver checking for it anymore. If support is ever needed, the video device should be instantiated explicitly rather than probed. To the best of my knowledge the only video chip that can be found on these boards is a BT869 video encoder, for which no support exists currently. Signed-off-by: Jean Delvare Acked-by: Krzysztof Helt commit 66b650f04576a6737579ec404446450026ff2e0b Author: Clifford Wolf Date: Mon Jun 15 18:01:46 2009 +0200 i2c: Retry automatically on arbitration loss Some small changes in i2c core to retry i2c xfers until either the maximum number of retries or the timeout is hit. Signed-off-by: Clifford Wolf Signed-off-by: Jean Delvare commit 1cf92b453a405f6e452737962933a19ec1582029 Author: Jack Stone Date: Mon Jun 15 18:01:46 2009 +0200 i2c: Remove void casts Remove uneeded void casts. Signed-off-by: Jack Stone Signed-off-by: Jean Delvare commit 8e7c25971b1590776a90b249de3d859dd45e7414 Author: Rusty Russell Date: Fri Jun 12 20:58:37 2009 +0930 [CPUFREQ] cpumask: new cpumask operators for arch/x86/kernel/cpu/cpufreq/powernow-k8.c Remove all old-style cpumask operators, and cpumask_t. Also: get rid of the unused define_siblings function. Signed-off-by: Rusty Russell Acked-by: Mark Langsdorf Tested-by: Mark Langsdorf Signed-off-by: Dave Jones commit 1ff6e97f1d993dff2f9b6f4a9173687370660232 Author: Rusty Russell Date: Fri Jun 12 20:55:37 2009 +0930 [CPUFREQ] cpumask: avoid playing with cpus_allowed in powernow-k8.c cpumask: avoid playing with cpus_allowed in powernow-k8.c It's generally a very bad idea to mug some process's cpumask: it could legitimately and reasonably be changed by root, which could break us (if done before our code) or them (if we restore the wrong value). I did not replace powernowk8_target; it needs fixing, but it grabs a mutex (so no smp_call_function_single here) but Mark points out it can be called multiple times per second, so work_on_cpu is too heavy. Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Acked-by: Mark Langsdorf Tested-by: Mark Langsdorf Signed-off-by: Dave Jones commit e3f996c26ff6c4c084aaaa64dce6e54d31f517be Author: Rusty Russell Date: Thu Jun 11 22:59:58 2009 +0930 [CPUFREQ] cpumask: avoid cpumask games in arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c Impact: don't play with current's cpumask It's generally a very bad idea to mug some process's cpumask: it could legitimately and reasonably be changed by root, which could break us (if done before our code) or them (if we restore the wrong value). Use rdmsr_on_cpu and wrmsr_on_cpu instead. Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Cc: Jeremy Fitzhardinge Signed-off-by: Dave Jones commit 394122ab144dae4b276d74644a2f11c44a60ac5c Author: Rusty Russell Date: Thu Jun 11 22:59:58 2009 +0930 [CPUFREQ] cpumask: avoid playing with cpus_allowed in speedstep-ich.c Impact: don't play with current's cpumask It's generally a very bad idea to mug some process's cpumask: it could legitimately and reasonably be changed by root, which could break us (if done before our code) or them (if we restore the wrong value). We use smp_call_function_single: this had the advantage of being more efficient, too. Signed-off-by: Rusty Russell To: cpufreq@vger.kernel.org Cc: Dominik Brodowski Signed-off-by: Dave Jones commit e15bc4559b397a611441a135b1f5992f07d0f436 Author: Naga Chumbalkar Date: Thu Jun 11 15:26:54 2009 +0000 [CPUFREQ] powernow-k8: get drv data for correct CPU Make powernowk8_get() similar to powernowk8_target() and powernowk8_verify() in the way it obtains "powernow_data" for a given CPU. Cc: Andreas Herrmann Cc: Langsdorf, Mark Cc: Thomas Renninger Signed-off-by: Naga Chumbalkar Reviewed-by: Andreas Herrmann Tested-by: Andreas Herrmann Acked-by: Langsdorf, Mark Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 532cfee6ba0a8efcf7c3ce38b9881292d79d516e Author: Naga Chumbalkar Date: Thu Jun 11 15:26:48 2009 +0000 [CPUFREQ] powernow-k8: read P-state from HW By definition, "cpuinfo_cur_freq" should report the value from HW. So, don't depend on the cached value. Instead read P-state directly from HW, while taking into account the erratum 311 workaround for Fam 11h processors. Cc: Andreas Herrmann Cc: Langsdorf, Mark Cc: Thomas Renninger Signed-off-by: Naga Chumbalkar Reviewed-by: Andreas Herrmann Tested-by: Andreas Herrmann Acked-by: Langsdorf, Mark Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit b394f1dfc070e6f50f5f33694000815e50ef319d Author: Andrew Morton Date: Wed Jun 10 12:41:37 2009 -0700 [CPUFREQ] reduce scope of ACPI_PSS_BIOS_BUG_MSG[] This symbol doesn't need file-global scope. Cc: "Zhang, Rui" Cc: Dave Jones Cc: Ingo Molnar Cc: Langsdorf, Mark Cc: Leo Milano Cc: Thomas Renninger Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 931db6a32dbfaad627e89d0524979ce9cb894691 Author: Dave Jones Date: Mon Jun 1 12:29:55 2009 -0400 [CPUFREQ] Clean up convoluted code in arch/x86/kernel/tsc.c:time_cpufreq_notifier() Christoph Hellwig noticed the following potential uninitialised use: > arch/x86/kernel/tsc.c: In function 'time_cpufreq_notifier': > arch/x86/kernel/tsc.c:634: warning: 'dummy' may be used uninitialized in this function > > where we do have CONFIG_SMP set, freq->flags & CPUFREQ_CONST_LOOPS is > true and ref_freq is false. It seems plausable, though the circumstances for hitting it are really low. Nearly all SMP capable cpufreq drivers set CPUFREQ_CONST_LOOPS. powernow-k8 is really the only exception. The older CPUs were typically only ever UP. (powernow-k7 never supported SMP for eg) It's worth fixing regardless, as it cleans up the code. Fix possible uninitialized use of dummy, by just removing it, and making the setting of lpj more obvious. Signed-off-by: Dave Jones commit 51555c0e91160f6d4c6c1cb7a44d20ea346aed08 Author: Chumbalkar Nagananda Date: Thu May 21 23:29:48 2009 +0000 [CPUFREQ] minor correction to cpu-freq documentation I have been reading the documentation for cpufreq closely. Found a couple of minor errors in the Documentation. Signed-off-by: Naga Chumbalkar Signed-off-by: Dave Jones commit 21335d021464c3ba3c20fc7207ffe2bdd2458568 Author: Luis Henriques Date: Thu Apr 23 19:45:04 2009 +0100 [CPUFREQ] powernow-k8.c: mess cleanup Mess cleanup in powernow_k8_acpi_pst_values() function. Signed-off-by: Luis Henriques Signed-off-by: Dave Jones commit 4f4d1ad6ee69027f51f9d137f7e7d3c863cbc53d Author: Thomas Renninger Date: Wed Apr 22 13:48:31 2009 +0200 [CPUFREQ] Only set sampling_rate_max deprecated, sampling_rate_min is useful Update the documentation accordingly. Cleanup and use printk_once. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 86e13684aa77f07c77db352f437d9e53a84dde90 Author: Thomas Renninger Date: Wed Apr 22 13:48:30 2009 +0200 [CPUFREQ] powernow-k8: Set transition latency to 1 if ACPI tables export 0 This doesn't fix anything, but it's expected that a transition latency of 0 could cause trouble in the future. Signed-off-by: Thomas Renninger Cc: Langsdorf, Mark Signed-off-by: Dave Jones commit cef9615a853ebc4972084f7e70b52892557420ac Author: Thomas Renninger Date: Wed Apr 22 13:48:29 2009 +0200 [CPUFREQ] ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case With this patch you have following minimal sampling rate restrictions: Kernel restrictions: If CONFIG_NO_HZ is set, the limit is 10ms fixed. If CONFIG_NO_HZ is not set or no_hz=off boot parameter is used, the limits depend on the CONFIG_HZ option: HZ=1000: min=20000us (20ms) HZ=250: min=80000us (80ms) HZ=100: min=200000us (200ms) HW restrictions: Do not sample/poll more often than HW latency * 100 exported by the low level cpufreq HW driver The higher value of above restrictions is the minimal sampling rate that can be set (and can be seen via ondemand/sampling_rate_min sysfs file) Default sampling rate still is HW latency * 1000, but this will now end up in lower values on latest (Intel and AMD) hardware as these can switch really fast and sampling rate mostly was limited to the 80ms or 200ms (depending on whether HZ=250 or HZ=1000 is used). Signed-off-by: Thomas Renninger Cc: Pallipadi Venkatesh Signed-off-by: Dave Jones commit c7b0930857e2278f2e7714db6294e94c57f623b0 Author: Steven Rostedt Date: Thu Jun 11 11:12:00 2009 -0400 ring-buffer: prevent adding write in discarded area This a very tight race where an interrupt could come in and not have enough data to put into the end of a buffer page, and that it would fail to write and need to go to the next page. But if this happened when another writer was about to reserver their data, and that writer has smaller data to reserve, then it could succeed even though the interrupt moved the tail page. To pervent that, if we fail to store data, and by subtracting the amount we reserved we still have room for smaller data, we need to fill that space with "discarded" data. [ Impact: prevent race were buffer data may be lost ] Signed-off-by: Steven Rostedt commit 0ac2058f686a19fe8ab25c4f3104fc1580dce7cf Author: Li Zefan Date: Mon Jun 15 10:59:17 2009 +0800 tracing/filters: strloc should be unsigned short I forgot to update filter code accordingly in "tracing/events: change the type of __str_loc_item to unsigned short" (commt b0aae68cc5508f3c2fbf728988c954db4c8b8a53) It can cause system crash: # echo 1 > tracing/events/irq/irq_handler_entry/enable # echo 'name == eth0' > tracing/events/irq/irq_handler_entry/filter [ Impact: fix crash while filtering on __string() field ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B905.3090500@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 5e4904cb633177046bee5d26946a7ac918e642fc Author: Li Zefan Date: Mon Jun 15 10:58:39 2009 +0800 tracing/filters: operand can be negative This should be a bug: # cat format name: foo_bar ID: 71 format: ... field:int bar; offset:24; size:4; # echo 'bar < 0' > filter # echo 'bar < -1' > filter bash: echo: write error: Invalid argument [ Impact: fix to allow negative operand in filer expr ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B8DF.60400@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit e4f2d10f479d18198ebafcb5e124cc3dd8b8817a Author: Li Zefan Date: Mon Jun 15 10:57:28 2009 +0800 tracing: replace a GFP_ATOMIC with GFP_KERNEL allocation Atomic allocation is not needed here. [ Impact: clean up of memory alloction type ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B898.2050607@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 215368e8e59023d6a0abdda896923018d74fdf7f Author: Li Zefan Date: Mon Jun 15 10:56:42 2009 +0800 tracing: fix a typo in tracing_cpumask_write() It's tracing_cpumask_new that should be kfree()ed. This causes tracing_cpumask to be freed due to the typo: # echo z > tracing_cpumask bash: echo: write error: Invalid argument And subsequent reads/writes to tracing_cpuamsk will access this already-freed tracing_cpumask, thus may lead to crash. [ Impact: fix leak and crash when writing invalid val to tracing_cpumask ] Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4A35B86A.7070608@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 78be6914cb5c6d648617c51bb99bf81f28471d89 Author: Wu Zhangjin Date: Sun Jun 14 14:52:30 2009 +0800 tracing: fix undeclared 'PAGE_SIZE' in include/linux/trace_seq.h when compiling linux-mips with kmemtrace enabled, there will be an error: include/linux/trace_seq.h:12: error: 'PAGE_SIZE' undeclared here (not in a function) I checked the source code and found trace_seq.h used PAGE_SIZE but not included the relative header file, so, fix it via adding the header file Acked-by: Frederic Weisbecker Acked-by: Pekka Enberg Signed-off-by: Wu Zhangjin LKML-Reference: <1244962350-28702-1-git-send-email-wuzhangjin@gmail.com> Signed-off-by: Steven Rostedt commit 3f237a79ddeea34dda67e9eedece3a22918df75e Author: Rusty Russell Date: Fri Jun 12 21:15:30 2009 +0930 cpumask: use new operators in kernel/trace Signed-off-by: Rusty Russell LKML-Reference: <200906122115.30787.rusty@rustcorp.com.au> Signed-off-by: Steven Rostedt commit 0990b1c65729012a63e0eeca93aaaafea4e9a064 Author: Peter Zijlstra Date: Mon Jun 15 16:46:05 2009 +0200 x86: Add NMI types for kmap_atomic, fix I just realized this has a kmap_atomic bug in... The below would fix it - but it's complicating this code some more. Alternatively I would have to introduce something like pte_offset_map_irq() which would make the irq/nmi detection and leave the regular code paths alone, however that would mean either duplicating the gup_fast() pagewalk or passing down a pte function pointer, which would only duplicate the gup_pte_range() bit, neither is really attractive ... Signed-off-by: Peter Zijlstra CC: Nick Piggin Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit ea4431906d86686e541de527915ccbe556761b16 Author: James Bottomley Date: Sat Jun 13 12:19:05 2009 -0500 [SCSI] aic79xx: make driver respect nvram for IU and QAS settings This patch allows the Adaptec firmware to pass on its values for Packetize and QAS. To do this, the settings max_iu and max_qas have been introduced into the SPI transport class and populated from the adaptec NVram tables. Domain validation in the SPI transport class will respect the max settings when configuring to the highest possible speed for testing. Signed-off-by: James Bottomley commit 4aa312b96f3220103e60c32740452a336dab6260 Author: James Bottomley Date: Sat Jun 13 09:21:43 2009 -0500 [SCSI] don't attach ULD to Dell Universal Xport We already have blacklists for SGI, IBM and SUN versions of this; apparently there's a Dell version too. Reported-by: Thomas Witzel Signed-off-by: James Bottomley commit c667940902aec32c7ec90aa74b8b661619460f56 Author: James Smart Date: Wed Jun 10 17:23:24 2009 -0400 [SCSI] lpfc 8.3.3 : Update driver version to 8.3.3 Signed-off-by: James Smart Signed-off-by: James Bottomley commit bbb9d18009373bc74bfeba760097de277f395858 Author: James Smart Date: Wed Jun 10 17:23:16 2009 -0400 [SCSI] lpfc 8.3.3 : Add support for Target Reset handler entrypoint Patch was originally submitted upstream on 4/21/2008: http://marc.info/?l=linux-scsi&m=120880973719266&w=2 Somewhere, it never get merged. The patch restructures the task mgmt routines, commonizing like behavior. Then the patch changes device reset to LUN resets, and adds a target reset handler. Signed-off-by: James Smart Signed-off-by: James Bottomley commit d11e31ddb9718755dc96e1c018843ae6f5bb085e Author: James Smart Date: Wed Jun 10 17:23:06 2009 -0400 [SCSI] lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash Contains the following changes: - Fixed error paths retaking a spin lock which they already hold - Added code to free memory in a couple of error paths - Added code to free RPI bit map while unloading driver - Added code to write zero to memory object allocated through dma_alloc_coherent - Fixed crash/hang with target or LUN resets Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0c2875893ef27b93d5d3221f8f98ae944d6be5fa Author: James Smart Date: Wed Jun 10 17:22:56 2009 -0400 [SCSI] lpfc 8.3.3 : FC/FCOE discovery fixes Contains the following changes: - Force vport to send LOGO to fabric controller when deleting vport - Fixed driver failing to register login when a PLOGI is received - Fixes for FIP discovery - Added stricter checks for FCF addressing mode - Added code to send only FLOGI, FDISC and LOGO to Fabric controller as FIP - Fixed handling of LOGO from Fabric port - Fixed consecutive link up events skipped link_down processing Signed-off-by: James Smart Signed-off-by: James Bottomley commit f1126688805d77a4798b694439fa48bba6629388 Author: James Smart Date: Wed Jun 10 17:22:44 2009 -0400 [SCSI] lpfc 8.3.3 : Fix various SLI-3 vs SLI-4 differences Contains the following changes - Set the CT field of FDISC to 3 - Fixed over allocation of SCSI buffers on SLI4 - Removed unused jump table entries - Increase LPFC_WQE_DEF_COUNT to 256 - Updated FDISC context to VPI - Fixed immediate SCSI command for LUN reset translation to WQE - Extended mailbox handling to allow MBX_POLL commands in between async MBQ commands - Fixed SID used for FDISC - Fix crash when accessing ctlregs from sysfs for SLI4 HBAs - Fix SLI4 firmware version not being saved or displayed correctly - Expand CQID field in WQE structure to 16 bits - Fix post header template mailbox command timing out - Removed FCoE PCI device ID 0x0705 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 43fac4d97a1a30085f1cae61aa565e5e7e5e5d7d Author: Anirban Chakraborty Date: Wed Jun 10 13:55:11 2009 -0700 [SCSI] qla2xxx: Resolve a performance issue in interrupt Reverted back a change in qla*_intr_handler code that caused an increase in cpu cycles by allowing interrupts to occur while the instance hardware lock was being held. Fix by taking the lock in irqsave mode. Reported-and-tested-by: Douglas W. Styner Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit babdb788f7ec1a782a52240a5f6dae568f32565f Author: Michael Chan Date: Wed Jun 10 13:35:28 2009 -0700 [SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set. CNIC and BNX2I must depend on PCI. Dependencies do not get propagated through select. Signed-off-by: Michael Chan Signed-off-by: James Bottomley commit 0454c7408ac533a0690cb308554a4ed304270c3d Author: Roel Kluin Date: Wed Jun 10 12:56:59 2009 -0700 [SCSI] nsp_cs: time_out reaches -1 With a postfix decrement timeouts will reach -1 rather than 0, so the errors do not appear. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 18020ba7915efe5763c1cbb11f9f7e3f85b3cb72 Author: Randy Dunlap Date: Wed Jun 10 12:56:58 2009 -0700 [SCSI] qla2xxx: fix printk format warnings Fix qla2xxx printk format warnings: drivers/scsi/qla2xxx/qla_sup.c:915: warning: long long unsigned int format, u64 arg (arg 5) drivers/scsi/qla2xxx/qla_sup.c:915: warning: long long unsigned int format, u64 arg (arg 6) drivers/scsi/qla2xxx/qla_sup.c:923: warning: long long unsigned int format, u64 arg (arg 5) drivers/scsi/qla2xxx/qla_sup.c:923: warning: long long unsigned int format, u64 arg (arg 6) Signed-off-by: Randy Dunlap Acked-by: Seokmann Ju Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 36c7b3029784323d46d80b3262a4c1ab664eb0a3 Author: Roel Kluin Date: Wed Jun 10 12:56:57 2009 -0700 [SCSI] ncr53c8xx: div reaches -1 With while(--div >= 0) { ... } div reaches -1. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit df59c0ad05182329688e514e5a9c3836fa208ea3 Author: Alexey Zaytsev Date: Wed Jun 10 12:56:56 2009 -0700 [SCSI] compat: don't perform unneeded copy in sg_io code The members from 'status' in struct sg_io_hdr to the last are used to transfer information from kernel to user space. The values that user space sets are just ignored. Signed-off-by: Alexey Zaytsev Acked-by: Jens Axboe Acked-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit e2eae0f5605b90a0838608043c21050b08b6dd95 Author: Ingo Molnar Date: Mon Jun 15 16:15:19 2009 +0200 perf report: Fix 32-bit printf format Yong Wang reported the following compiler warning: builtin-report.c: In function 'process_overflow_event': builtin-report.c:984: error: cast to pointer from integer of different size Which happens because we try to print ->ips[] out with a limited format, losing the high 32 bits. Print it out using %016Lx instead. Reported-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9974458e2f9a11dbd2f4bd14fab5a79af4907b41 Author: Paul Mackerras Date: Mon Jun 15 21:45:16 2009 +1000 perf_counter: Make set_perf_counter_pending() declaration common At present, every architecture that supports perf_counters has to declare set_perf_counter_pending() in its arch-specific headers. This consolidates the declarations into a single declaration in one common place, include/linux/perf_counter.h. On powerpc, we continue to provide a static inline definition of set_perf_counter_pending() in the powerpc hw_irq.h. Also, this removes from the x86 perf_counter.h the unused null definitions of {test,clear}_perf_counter_pending. Reported-by: Mike Frysinger Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: benh@kernel.crashing.org LKML-Reference: <18998.13388.920691.523227@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 90c8f954534ba15e4542ab00dd9f0e58b071518c Author: Paul Mackerras Date: Mon Jun 15 21:36:52 2009 +1000 perf_counter: powerpc: Fix two compile warnings This fixes a couple of compile warnings that crept into the powerpc perf_counter code recently: CC arch/powerpc/kernel/perf_counter.o arch/powerpc/kernel/perf_counter.c: In function 'record_and_restart': arch/powerpc/kernel/perf_counter.c:1016: warning: unused variable 'addr' arch/powerpc/kernel/perf_counter.c: In function 'hw_perf_counter_init': arch/powerpc/kernel/perf_counter.c:891: warning: 'ev' may be used uninitialized in this function Stephen Rothwell reported this against linux-next as well. Reported-by: Stephen Rothwell Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18998.12884.787039.22202@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 09067207f6eacb7f00c8f7f0623c3696083ce042 Author: Joerg Roedel Date: Mon Jun 15 16:06:48 2009 +0200 amd-iommu: set event buffer head and tail to 0 manually These registers may contain values from previous kernels. So reset them to known values before enable the event buffer again. Signed-off-by: Joerg Roedel commit 3dfabc74c65904c9e6cf952391312d16ea772ef5 Author: Ingo Molnar Date: Mon Jun 15 11:24:38 2009 +0200 perf report: Add per system call overhead histogram Take advantage of call-graph percounter sampling/recording to display a non-trivial histogram: the true, collapsed/summarized cost measurement, on a per system call total overhead basis: aldebaran:~/linux/linux/tools/perf> ./perf record -g -a -f ~/hackbench 10 aldebaran:~/linux/linux/tools/perf> ./perf report -s symbol --syscalls | head -10 # # (3536 samples) # # Overhead Symbol # ........ ...... # 40.75% [k] sys_write 40.21% [k] sys_read 4.44% [k] do_nmi ... This is done by accounting each (reliable) call-chain that chains back to a given system call to that system call function. [ So in the above example we can see that hackbench spends about 40% of its total time somewhere in sys_write() and 40% somewhere in sys_read(), the rest of the time is spent in user-space. The time is not spent in sys_write() _itself_ but in one of its many child functions. ] Or, a recording of a (source files are already in the page-cache) kernel build: $ perf record -g -m 512 -f -- make -j32 kernel $ perf report -s s --syscalls | grep '\[k\]' | grep -v nmi 4.14% [k] do_page_fault 1.20% [k] sys_write 1.10% [k] sys_open 0.63% [k] sys_exit_group 0.48% [k] smp_apic_timer_interrupt 0.37% [k] sys_read 0.37% [k] sys_execve 0.20% [k] sys_mmap 0.18% [k] sys_close 0.14% [k] sys_munmap 0.13% [k] sys_poll 0.09% [k] sys_newstat 0.07% [k] sys_clone 0.06% [k] sys_newfstat 0.05% [k] sys_access 0.05% [k] schedule Shows the true total cost of each syscall variant that gets used during a kernel build. This profile reveals it that pagefaults are the costliest, followed by read()/write(). An interesting detail: timer interrupts cost 0.5% - or 0.5 seconds per 100 seconds of kernel build-time. (this was done with HZ=1000) The summary is done in 'perf report', i.e. in the post-processing stage - so once we have a good call-graph recording, this type of non-trivial high-level analysis becomes possible. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Linus Torvalds Cc: Frederic Weisbecker Cc: Pekka Enberg LKML-Reference: Signed-off-by: Ingo Molnar commit 74193ef0ecab92535c8517f082f1f50504526c9b Author: Peter Zijlstra Date: Mon Jun 15 13:07:24 2009 +0200 perf_counter: x86: Fix call-chain support to use NMI-safe methods __copy_from_user_inatomic() isn't NMI safe in that it can trigger the page fault handler which is another trap and its return path invokes IRET which will also close the NMI context. Therefore use a GUP based approach to copy the stack frames over. We tried an alternative solution as well: we used a forward ported version of Mathieu Desnoyers's "NMI safe INT3 and Page Fault" patch that modifies the exception return path to use an open-coded IRET with explicit stack unrolling and TF checking. This didnt work as it interacted with faulting user-space instructions, causing them not to restart properly, which corrupts user-space registers. Solving that would probably involve disassembling those instructions and backtracing the RIP. But even without that, the code was deemed rather complex to the already non-trivial x86 entry assembly code, so instead we went for this GUP based method that does a software-walk of the pagetables. Signed-off-by: Peter Zijlstra Cc: Nick Piggin Cc: Pekka Enberg Cc: Vegard Nossum Cc: Jeremy Fitzhardinge Cc: Mathieu Desnoyers Cc: Linus Torvalds Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3ff0141aa3a03ca3388b40b36167d0a37919f3fd Author: Peter Zijlstra Date: Mon Jun 15 12:40:41 2009 +0200 x86: Add NMI types for kmap_atomic Two new kmap_atomic slots for NMI context. And teach pte_offset_map() about NMI context. Signed-off-by: Peter Zijlstra CC: Nick Piggin Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 465a454f254ee2ff7acc4aececbe31f8af046bc0 Author: Peter Zijlstra Date: Mon Jun 15 12:31:37 2009 +0200 x86, mm: Add __get_user_pages_fast() Introduce a gup_fast() variant which is usable from IRQ/NMI context. Signed-off-by: Peter Zijlstra CC: Nick Piggin Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 75f937f24bd9c003dcb9d7d5509f23459f1f6000 Author: Peter Zijlstra Date: Mon Jun 15 15:05:12 2009 +0200 perf_counter: Fix ctx->mutex vs counter->mutex inversion Simon triggered a lockdep inversion report about us taking ctx->mutex vs counter->mutex in inverse orders. Fix that up. Reported-by: Simon Holm Thøgersen Tested-by: Simon Holm Thøgersen Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a8c485bb6857811807d42f9fd1fde2f5f89cc5c9 Author: Chris Wright Date: Mon Jun 15 15:53:45 2009 +0200 amd-iommu: disable cmd buffer and evt logging before reprogramming iommu The IOMMU spec states that IOMMU behavior may be undefined when the IOMMU registers are rewritten while command or event buffer is enabled. Disable them in IOMMU disable path. Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 722f2a6c87f34ee0fd0130a8cf45f81e0705594a Merge: 7a0aeb1 45e3e19 Author: Vegard Nossum Date: Mon Jun 15 15:50:49 2009 +0200 Merge commit 'linus/master' into HEAD Conflicts: MAINTAINERS Signed-off-by: Vegard Nossum commit 7a0aeb14e18ad59394bd9bbc6e57fb345819e748 Author: Vegard Nossum Date: Sat May 16 11:28:33 2009 +0200 signal: fix __send_signal() false positive kmemcheck warning This false positive is due to field padding in struct sigqueue. When this dynamically allocated structure is copied to the stack (in arch- specific delivery code), kmemcheck sees a read from the padding, which is, naturally, uninitialized. Hide the false positive using the __GFP_NOTRACK_FALSE_POSITIVE flag. Also made the rlimit override code a bit clearer by introducing a new variable. Cc: Oleg Nesterov Signed-off-by: Vegard Nossum commit 3b5c760efcddf1ebdd39a2035b554e96febd7466 Author: Vegard Nossum Date: Sat May 16 11:26:20 2009 +0200 fs: fix do_mount_root() false positive kmemcheck warning This false positive is due to the fact that do_mount_root() fakes a mount option (which is normally read from userspace), and the kernel unconditionally reads a whole page for the mount option. Hide the false positive by using the new __getname_gfp() with the __GFP_NOTRACK_FALSE_POSITIVE flag. Cc: Al Viro Signed-off-by: Vegard Nossum commit 3446a8aa7ebcbc0a799e5e8fc4f2da0738d6bc21 Author: Vegard Nossum Date: Sat May 16 11:22:14 2009 +0200 fs: introduce __getname_gfp() The purpose of this change is to allow __getname() users to pass a custom GFP mask to kmem_cache_alloc(). This is needed for annotating a certain kmemcheck false positive. Cc: Al Viro Signed-off-by: Vegard Nossum commit 1744a21d57d9c60136461adb6afa85e51b3e94d9 Author: Vegard Nossum Date: Sat Feb 28 08:29:44 2009 +0100 trace: annotate bitfields in struct ring_buffer_event This gets rid of a heap of false-positive warnings from the tracer code due to the use of bitfields. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit a98b65a3ad71e702e760bc63f57684301628e837 Author: Vegard Nossum Date: Thu Feb 26 14:46:57 2009 +0100 net: annotate struct sock bitfield 2009/2/24 Ingo Molnar : > ok, this is the last warning i have from today's overnight -tip > testruns - a 32-bit system warning in sock_init_data(): > > [ 2.610389] NET: Registered protocol family 16 > [ 2.616138] initcall netlink_proto_init+0x0/0x170 returned 0 after 7812 usecs > [ 2.620010] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f642c184) > [ 2.624002] 010000000200000000000000604990c000000000000000000000000000000000 > [ 2.634076] i i i i i i u u i i i i i i i i i i i i i i i i i i i i i i i i > [ 2.641038] ^ > [ 2.643376] > [ 2.644004] Pid: 1, comm: swapper Not tainted (2.6.29-rc6-tip-01751-g4d1c22c-dirty #885) > [ 2.648003] EIP: 0060:[] EFLAGS: 00010282 CPU: 0 > [ 2.652008] EIP is at sock_init_data+0xa1/0x190 > [ 2.656003] EAX: 0001a800 EBX: f6836c00 ECX: 00463000 EDX: c0e46fe0 > [ 2.660003] ESI: f642c180 EDI: c0b83088 EBP: f6863ed8 ESP: c0c412ec > [ 2.664003] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 > [ 2.668003] CR0: 8005003b CR2: f682c400 CR3: 00b91000 CR4: 000006f0 > [ 2.672003] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 > [ 2.676003] DR6: ffff4ff0 DR7: 00000400 > [ 2.680002] [] __netlink_create+0x35/0xa0 > [ 2.684002] [] netlink_kernel_create+0x4c/0x140 > [ 2.688002] [] rtnetlink_net_init+0x1e/0x40 > [ 2.696002] [] register_pernet_operations+0x11/0x30 > [ 2.700002] [] register_pernet_subsys+0x1c/0x30 > [ 2.704002] [] rtnetlink_init+0x4c/0x100 > [ 2.708002] [] netlink_proto_init+0x159/0x170 > [ 2.712002] [] do_one_initcall+0x24/0x150 > [ 2.716002] [] do_initcalls+0x27/0x40 > [ 2.723201] [] do_basic_setup+0x1c/0x20 > [ 2.728002] [] kernel_init+0x5a/0xa0 > [ 2.732002] [] kernel_thread_helper+0x7/0x10 > [ 2.736002] [] 0xffffffff We fix this false positive by annotating the bitfield in struct sock. Reported-by: Ingo Molnar Signed-off-by: Vegard Nossum commit c53bd2e1949ddbe06fe2a6079c0658d58ce25edb Author: Vegard Nossum Date: Thu Feb 26 14:05:59 2009 +0100 c2port: annotate bitfield for kmemcheck This silences a false positive warning with kmemcheck. Signed-off-by: Vegard Nossum commit 9e337b0fb3baa3c22490365b1bdee6f4741413d4 Author: Vegard Nossum Date: Sat Oct 18 17:37:51 2008 +0200 net: annotate inet_timewait_sock bitfields The use of bitfields here would lead to false positive warnings with kmemcheck. Silence them. (Additionally, one erroneous comment related to the bitfield was also fixed.) Signed-off-by: Vegard Nossum commit 96c25c81ecf452b778e2f432bd17c95de637d129 Author: Vegard Nossum Date: Thu Sep 11 20:59:03 2008 +0200 ieee1394/csr1212: fix false positive kmemcheck report kmemcheck reports a use of uninitialized memory here, but it's not a real error. The structure in question has just been allocated, and the whole field is initialized, but it happens in two steps. We fix the false positive by inserting a kmemcheck annotation. Signed-off-by: Vegard Nossum commit 004cdb5a718fa2bb697c541eb1171ee817fc72f1 Author: Vegard Nossum Date: Wed Sep 10 15:15:23 2008 +0200 ieee1394: annotate bitfield Signed-off-by: Vegard Nossum commit 45e3ff82708c65c895d5c5882aff17ecf62a80b5 Author: Vegard Nossum Date: Tue Sep 9 06:43:12 2008 +0200 net: annotate bitfields in struct inet_sock Signed-off-by: Vegard Nossum commit fe55f6d5c0cfec4a710ef6ff63f162b99d5f7842 Author: Vegard Nossum Date: Sat Aug 30 12:16:35 2008 +0200 net: use kmemcheck bitfields API for skbuff Signed-off-by: Vegard Nossum commit fc7d0c9f2122e8bf58deaf1252b0e750df5b0e91 Author: Vegard Nossum Date: Sat Aug 30 12:16:05 2008 +0200 kmemcheck: introduce bitfield API Add the bitfield API which can be used to annotate bitfields in structs and get rid of false positive reports. According to Al Viro, the syntax we were using (putting #ifdef inside macro arguments) was not valid C. He also suggested using begin/end markers instead, which is what we do now. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit ac61a7579625ddfca3b2e0aa298879a94d15884d Author: Vegard Nossum Date: Fri Feb 27 11:35:55 2009 +0100 kmemcheck: add opcode self-testing at boot We've had some troubles in the past with weird instructions. This patch adds a self-test framework which can be used to verify that a certain set of opcodes are decoded correctly. Of course, the opcodes which are not tested can still give the wrong results. In short, this is just a safeguard to catch unintentional changes in the opcode decoder. It does not mean that errors can't still occur! [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit eb63657e1314ae4af5e19a61db8dc1b6e935775a Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:05:56 2009 -0800 x86: unify pte_hidden Unify and demacro pte_hidden. Signed-off-by: Jeremy Fitzhardinge [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 9d31c5068b852deaf02ccfb4a1ed2b54f3b9358a Author: Jeremy Fitzhardinge Date: Fri Feb 6 13:05:01 2009 -0800 x86: make _PAGE_HIDDEN conditional Only _PAGE_HIDDEN when CONFIG_KMEMCHECK is defined, otherwise set it to 0. Allows later cleanups. Signed-off-by: Jeremy Fitzhardinge [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 0a4af3b09309049d8560f8ad558a1337bb4f7f32 Author: Pekka Enberg Date: Thu Feb 26 21:38:56 2009 +0200 kmemcheck: make kconfig accessible for other architectures The Kconfig options of kmemcheck are hidden under arch/x86 which makes porting to other architectures harder. To fix that, move the Kconfig bits to lib/Kconfig.kmemcheck and introduce a CONFIG_HAVE_ARCH_KMEMCHECK config option that architectures can define. Signed-off-by: Pekka Enberg [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 7d46d9e6dbffe8780aa8430a63543d3f7ba92860 Author: Vegard Nossum Date: Fri Apr 4 00:51:41 2008 +0200 kmemcheck: enable in the x86 Kconfig let it rip! Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit b1eeab67682a5e397aecf172046b3a8bd4808ae4 Author: Vegard Nossum Date: Tue Nov 25 16:55:53 2008 +0100 kmemcheck: add hooks for the page allocator This adds support for tracking the initializedness of memory that was allocated with the page allocator. Highmem requests are not tracked. Cc: Dave Hansen Acked-by: Pekka Enberg [build fix for !CONFIG_KMEMCHECK] Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 361ea1ae5451040cd254eee0b6df64581080b2cc Author: Steve French Date: Mon Jun 15 13:46:12 2009 +0000 [CIFS] Fix build break Signed-off-by: Steve French commit 61f98ffd74254a95871168bd5a6646b4f3002e31 Author: Jeff Layton Date: Thu Jun 11 10:27:32 2009 -0400 cifs: display scopeid in /proc/mounts Move address display into a new function and display the scopeid as part of the address in /proc/mounts. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 42a49f965a8d24ed92af04f5b564d63f17fd9c56 Author: Chris Wright Date: Mon Jun 15 15:42:00 2009 +0200 amd-iommu: flush domain tlb when attaching a new device When kexec'ing to a new kernel (for example, when crashing and launching a kdump session), the AMD IOMMU may have cached translations. The kexec'd kernel, during initialization, will invalidate the IOMMU device table entries, but not the domain translations. These stale entries can cause a device's DMA to fail, makes it rough to write a dump to disk when the disk controller can't DMA ;-) Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 61d047be99757fd9b0af900d7abce9a13a337488 Author: Joerg Roedel Date: Tue Jun 9 17:56:09 2009 +0200 x86: disable IOMMUs on kernel crash If the IOMMUs are still enabled when the kexec kernel boots access to the disk is not possible. This is bad for tools like kdump or anything else which wants to use PCI devices. Signed-off-by: Joerg Roedel commit 0975904276552c8e201dad0ad31152ba8a21505a Author: Joerg Roedel Date: Tue Jun 9 17:52:27 2009 +0200 amd-iommu: disable IOMMU hardware on shutdown When the IOMMU stays enabled the BIOS may not be able to finish the machine shutdown properly. So disable the hardware on shutdown. Signed-off-by: Joerg Roedel commit 8dca419721d188bfee5f19fad45275856c619a5c Author: Takashi Iwai Date: Mon Jun 15 14:50:52 2009 +0200 ALSA: ctxfi - Fix deadlock with xfi-timer The PCM x-fi native update routine can cause deadlocks when the trigger(START) is called while the stream is running. This patch fixes the deadlock by just postponing the pcm period update to the next possible wake-up. Also it adds the flip of ti->running flag (just to be sure as now). Signed-off-by: Takashi Iwai commit 964cf35c88f93b4927dbc4e950dfa4d880c7f9d1 Author: Nick Piggin Date: Mon Jun 15 13:35:10 2009 +0300 SLUB: Fix early boot GFP_DMA allocations Recent change to use slab allocations earlier exposed a bug where SLUB can call schedule_work and try to call sysfs before it is safe to do so. Reported-by: Heiko Carstens Tested-by: Heiko Carstens Signed-off-by: Nick Piggin Signed-off-by: Pekka Enberg commit 9b5cab31897e9e89e36c0c2a89b16b93ff1a971a Author: Vegard Nossum Date: Sat Feb 21 13:52:37 2009 +0100 kmemcheck: add hooks for page- and sg-dma-mappings This is needed for page allocator support to prevent false positives when accessing pages which are dma-mapped. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 9e730237c2cb479649207da1be2114c28d2fcf51 Author: Vegard Nossum Date: Sun Feb 22 11:28:25 2009 +0100 kmemcheck: don't track page tables As these are allocated using the page allocator, we need to pass __GFP_NOTRACK before we add page allocator support to kmemcheck. Signed-off-by: Vegard Nossum commit 33f65df7ed1abcaac32ba620b9976a4d8cea3248 Author: Vegard Nossum Date: Thu Feb 26 09:55:52 2009 +0100 crypto: don't track xor test pages with kmemcheck The xor tests are run on uninitialized data, because it is doesn't really matter what the underlying data is. Annotate this false- positive warning. Acked-by: Pekka Enberg Signed-off-by: Vegard Nossum commit c175eea466e760de4b69b9aad90157e7aa9ff54f Author: Pekka Enberg Date: Fri May 9 20:35:53 2008 +0200 slab: add hooks for kmemcheck We now have SLAB support for kmemcheck! This means that it doesn't matter whether one chooses SLAB or SLUB, or indeed whether Linus chooses to chuck SLAB or SLUB.. ;-) Cc: Ingo Molnar Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Pekka Enberg [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 5a896d9e7c921742d0437a452f991288f4dc2c42 Author: Vegard Nossum Date: Fri Apr 4 00:54:48 2008 +0200 slub: add hooks for kmemcheck Parts of this patch were contributed by Pekka Enberg but merged for atomicity. Cc: Christoph Lameter Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit d7002857dee6e9a3ce1f78d23f37caba106b29c5 Author: Vegard Nossum Date: Sun Jul 20 10:44:54 2008 +0200 kmemcheck: add DMA hooks This patch hooks into the DMA API to prevent the reporting of the false positives that would otherwise be reported when memory is accessed that is also used directly by devices. [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit 2dff440525f8faba8836e9f05297b76f23b4af30 Author: Vegard Nossum Date: Sat May 31 15:56:17 2008 +0200 kmemcheck: add mm functions With kmemcheck enabled, the slab allocator needs to do this: 1. Tell kmemcheck to allocate the shadow memory which stores the status of each byte in the allocation proper, e.g. whether it is initialized or uninitialized. 2. Tell kmemcheck which parts of memory that should be marked uninitialized. There are actually a few more states, such as "not yet allocated" and "recently freed". If a slab cache is set up using the SLAB_NOTRACK flag, it will never return memory that can take page faults because of kmemcheck. If a slab cache is NOT set up using the SLAB_NOTRACK flag, callers can still request memory with the __GFP_NOTRACK flag. This does not prevent the page faults from occuring, however, but marks the object in question as being initialized so that no warnings will ever be produced for this object. In addition to (and in contrast to) __GFP_NOTRACK, the __GFP_NOTRACK_FALSE_POSITIVE flag indicates that the allocation should not be tracked _because_ it would produce a false positive. Their values are identical, but need not be so in the future (for example, we could now enable/disable false positives with a config option). Parts of this patch were contributed by Pekka Enberg but merged for atomicity. Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit f85612967c93b67b10dd240e3e8bf8a0eee9def7 Author: Vegard Nossum Date: Fri Apr 4 00:53:23 2008 +0200 x86: add hooks for kmemcheck The hooks that we modify are: - Page fault handler (to handle kmemcheck faults) - Debug exception handler (to hide pages after single-stepping the instruction that caused the page fault) Also redefine memset() to use the optimized version if kmemcheck is enabled. (Thanks to Pekka Enberg for minimizing the impact on the page fault handler.) As kmemcheck doesn't handle MMX/SSE instructions (yet), we also disable the optimized xor code, and rely instead on the generic C implementation in order to avoid false-positive warnings. Signed-off-by: Vegard Nossum [whitespace fixlet] Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit f8b4ece2a94693b7d2dd32ea716cb92545b5dce6 Author: Pekka Enberg Date: Thu Feb 26 11:53:11 2009 +0200 kmemcheck: use kmemcheck_pte_lookup() instead of open-coding it Lets use kmemcheck_pte_lookup() in kmemcheck_fault() instead of open-coding it there. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 6d9609c13250631c1d0c55a29a64d5687fd91293 Author: Pekka Enberg Date: Thu Feb 26 11:23:52 2009 +0200 kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode() This patch moves the CONFIG_X86_64 ifdef out of kmemcheck_opcode_decode() by introducing a version of the function that always returns false for CONFIG_X86_32. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 0c33cacd8672ef034ba414510f71ea2bd9370111 Author: Pekka Enberg Date: Thu Feb 26 11:17:31 2009 +0200 kmemcheck: remove multiple ifdef'd definitions of the same global variable Multiple ifdef'd definitions of the same global variable is ugly and error-prone. Fix that up. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 5b53b76a6158cd831759d7b0b2585bf0b121cec2 Author: Pekka Enberg Date: Thu Feb 26 11:11:59 2009 +0200 kmemcheck: make initialization message less confusing The "Bugs, beware!" printout during is cute but confuses users that something bad happened so change the text to the more boring "Initialized" message. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 6a19638719b4272ac86589c4bb660fc92db03dae Author: Pekka Enberg Date: Thu Feb 26 10:47:50 2009 +0200 kmemcheck: remove forward declarations from error.c This patch reorders code in error.c so that we can get rid of the forward declarations. Signed-off-by: Pekka Enberg Signed-off-by: Vegard Nossum commit f708eb1d71dc8ffb184da9f0bc53461c6dc10653 Author: Takashi Iwai Date: Mon Jun 15 12:31:38 2009 +0200 ALSA: intel8x0 - Fix PCM position craziness The PCM pointer callback sometimes returns invalid positions and this screws up the hw_ptr updater in PCM core. Especially since now the jiffies check is optional with xrun_debug, the invalid position is handled as is, and causes serious sound skips, etc. This patch simplifies the position-fix strategy in intel8x0 to be more robust: - just falls back to the last position if bogus position is detected - another sanity check for the backward move of the position due to a race of register update and the base-index update This patch is applicable also for 2.6.30. Tested-by: David Miller Cc: Signed-off-by: Takashi Iwai commit c8f1e5025ca2fa8e6e037451f3d271e66745a19b Author: Philipp Zabel Date: Thu May 28 21:00:03 2009 +0200 regulator/max1586: fix V3 gain calculation integer overflow On Thu, May 28, 2009 at 10:59 AM, Mark Brown wrote: > On Thu, May 28, 2009 at 07:15:16AM +0200, Philipp Zabel wrote: >> The V3 regulator can be configured with an external resistor >> connected to the feedback pin (R24 in the data sheet) to >> increase the voltage range. >> >> For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum >> V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency. >> >> Signed-off-by: Philipp Zabel > > Looks good. > > Acked-by: Mark Brown Thanks, but it turns out I hit a 32 bit integer overflow in the gain calculation. I'd like to mend that with the following patch. Now max_uV could be increased up to 4.294 V, enough to charge LiPo cells. Signed-off-by: Philipp Zabel Acked-by: Robert Jarzmik Signed-off-by: Liam Girdwood commit b110a8fb242bc34e4b7686252899ce0fca956e2c Author: Philipp Zabel Date: Thu May 28 07:15:16 2009 +0200 regulator/max1586: support increased V3 voltage range The V3 regulator can be configured with an external resistor connected to the feedback pin (R24 in the data sheet) to increase the voltage range. For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency. Signed-off-by: Philipp Zabel Acked-by: Mark Brown Acked-by: Robert Jarzmik Signed-off-by: Liam Girdwood commit 6113c3a5a63b8f0d5613b2a71cd1f5335a37b89a Author: Liam Girdwood Date: Tue May 19 11:44:37 2009 +0100 regulator: lp3971 - fix driver link error when built-in. lp3971_i2c_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o Signed-off-by: Liam Girdwood commit 0cbdf7bce5b98807b946d1a96956f30dcae24a50 Author: Marek Szyprowski Date: Tue May 19 07:33:55 2009 +0200 LP3971 PMIC regulator driver (updated and combined version) This patch adds regulator drivers for National Semiconductors LP3971 PMIC. This LP3971 PMIC controller has 3 DC/DC voltage converters and 5 low drop-out (LDO) regulators. LP3971 PMIC controller uses I2C interface. Reviewed-by: Kyungmin Park Signed-off-by: Marek Szyprowski Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 1909e2f658ee6ec5bcca62a5599f5653857cfe18 Author: Greg Kroah-Hartman Date: Thu Apr 30 15:21:37 2009 -0700 regulator: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: Mark Brown Cc: Liam Girdwood Signed-off-by: Greg Kroah-Hartman Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 38c53c89139e6140b895b419b18c586e8593a6e8 Author: Mark Brown Date: Tue Apr 28 11:13:55 2009 +0100 regulator: Set MODULE_ALIAS for regulator drivers Several of the regulator drivers didn't have MODULE_ALIAS so couldn't be auto loaded. Add the MODULE_ALIAS in case they do get built as modules. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9035cefc2d4b67591cbc2e4e8fbc8d73901ca9eb Author: Mark Brown Date: Tue Apr 28 11:13:54 2009 +0100 regulator: Support list_voltage for fixed voltage regulator Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 5a1b22beeff30d870bf2169a37e343e06cb5db3a Author: Mark Brown Date: Mon Apr 27 18:21:18 2009 +0100 regulator: Move regulator drivers to subsys_initcall() Regulators need to be available early in init in order to allow them to be available for consumers when requested. This is generally done by registering them at subsys_initcall() time but not all regulator drivers have done that. Convert these drivers to do so in order to mimimise future support. Signed-off-by: Mark Brown Acked-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 7c314991d7d7ad4edf96e8322bcb30e8452957b7 Author: Liam Girdwood Date: Tue Apr 28 12:01:16 2009 +0100 regulator: build fix for powerpc - renamed show_state This patch fixes the follwing build failure on powerpc:- > Today's linux-next build (powerpc allyesconfig) failed like this: > > drivers/regulator/userspace-consumer.c:43: error: conflicting types > for 'show_state' > include/linux/sched.h:273: note: previous definition of 'show_state' > was here > > Caused by commit 5defa2bce704ca4151cfe24e4297aa7797cafd22 ("regulator: > add userspace-consumer driver") which I have reverted for today. Signed-off-by: Liam Girdwood commit 1d98cccf7f8b944ba4ea56d14bbb7c2eeee59bfe Author: Mike Rapoport Date: Sun Apr 26 16:49:39 2009 +0300 regulator: add userspace-consumer driver The userspace-consumer driver allows control of voltage and current regulator state from userspace. This is required for fine-grained power management of devices that are completely controller by userspace applications, e.g. a GPS transciever connected to a serial port. Signed-off-by: Mike Rapoport Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 55f4fa4e33e90c6b25b4c8ed038392a73b654fef Author: Robert Jarzmik Date: Thu Apr 23 20:10:43 2009 +0200 Maxim 1586 regulator driver The Maxim 1586 regulator is a voltage regulator with 2 voltage outputs, specially suitable for Marvell PXA chips. One output is in the range of required VCC_CORE by the PXA27x chips, the other in the VCC_USIM required as well by PXA27x chips. The chip is controlled through the I2C bus. Signed-off-by: Robert Jarzmik Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit a2ab0ce09edf20b5228208405dd14bc8790fbdbd Author: Christian Engelmayer Date: Sat Jun 13 23:06:29 2009 +0200 jffs2: leaking jffs2_summary in function jffs2_scan_medium In case of an error returned by file_dirty() 's' is not freed as the cleanup path is skipped. Reported by Coverity. Signed-off-by: Christian Engelmayer Signed-off-by: David Woodhouse commit 5d0e945a249c729caa69b3b0c6f19ba002c433b5 Author: Paul Mundt Date: Mon Jun 15 19:02:37 2009 +0900 sh: urquell: Add system FPGA mode pin support. Urquell has a system FPGA capable of reading the mode pin states from software, wire this up in the machvec. Signed-off-by: Paul Mundt commit 9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb Merge: ca44d6e 45e3e19 Author: David S. Miller Date: Mon Jun 15 03:02:23 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/scsi/fcoe/fcoe.c net/core/drop_monitor.c net/core/net-traces.c commit ca44d6e60f9de26281fda203f58b570e1748c015 Author: Jarek Poplawski Date: Mon Jun 15 02:31:47 2009 -0700 pkt_sched: Rename PSCHED_US2NS and PSCHED_NS2US Let's use TICKS instead of US, so PSCHED_TICKS2NS and PSCHED_NS2TICKS (like in PSCHED_TICKS_PER_SEC already) to avoid misleading. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit e0f7cb8c8cc6cccce28d2ce39ad8c60d23c3799f Author: Jarek Poplawski Date: Mon Jun 15 02:31:29 2009 -0700 ipv4: Fix fib_trie rebalancing While doing trie_rebalance(): resize(), inflate(), halve() RCU free tnodes before updating their parents. It depends on RCU delaying the real destruction, but if RCU readers start after call_rcu() and before parent update they could access freed memory. It is currently prevented with preempt_disable() on the update side, but it's not safe, except maybe classic RCU, plus it conflicts with memory allocations with GFP_KERNEL flag used from these functions. This patch explicitly delays freeing of tnodes by adding them to the list, which is flushed after the update is finished. Reported-by: Yan Zheng Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit aa010efb7b6cd0dfbea8ecf37a6ab587dc2a8560 Author: Joerg Roedel Date: Fri Jun 12 15:25:06 2009 +0200 dma-debug: be more careful when building reference entries The current code is not very careful when it builds reference dma_debug_entries which get passed to hash_bucket_find(). But since this function changed to a best-fit algorithm these entries have to be more acurate. This patch adds this higher level of accuracy. Signed-off-by: Joerg Roedel commit e5e8c5b90a1ae249930fcf7403f3757686cf1a7b Author: Joerg Roedel Date: Thu Jun 11 10:03:42 2009 +0200 dma-debug: check for sg_call_ents in best-fit algorithm too If we don't check for sg_call_ents the hash_bucket_find function might still return the wrong dma_debug_entry for sg mappings. Signed-off-by: Joerg Roedel commit 4159175058987cb68aefd0e9eec2598b795363b4 Author: Theodore Ts'o Date: Mon Jun 15 03:41:23 2009 -0400 ext4: Don't update ctime for non-extent-mapped inodes The VFS handles updating ctime, so we don't need to update the inode's ctime in ext4_splace_branch() to update the direct or indirect blocks. This was harmless when we did this in ext3, but in ext4, thanks to delayed allocation, updating the ctime in ext4_splice_branch() can cause the ctime to mysteriously jump when the blocks are finally allocated. Thanks to Björn Steinbrink for pointing out this problem on the git mailing list. Signed-off-by: "Theodore Ts'o" commit 613d8602292165f86ba1969784fea01a06d55900 Author: Ingo Molnar Date: Mon Jun 15 08:17:12 2009 +0200 perf record: Fix fast task-exit race Recording with -a (or with -p) can race with tasks going away: couldn't open /proc/8440/maps Causing an early exit() and no recording done. Do not abort the recording session - instead just skip that task. Also, only print the warnings under -v. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 038e836e97e70c4ad2b5058b07fc7207f50b59dd Author: Ingo Molnar Date: Mon Jun 15 09:57:59 2009 +0200 perf_counter, x86: Fix kernel-space call-chains Kernel-space call-chains were trimmed at the first entry because we never processed anything beyond the first stack context. Allow the backtrace to jump from NMI to IRQ stack then to task stack and finally user-space stack. Also calculate the stack and bp variables correctly so that the stack walker does not exit early. We can get deep traces as a result, visible in perf report -D output: 0x32af0 [0xe0]: PERF_EVENT (IP, 5): 15134: 0xffffffff815225fd period: 1 ... chain: u:2, k:22, nr:24 ..... 0: 0xffffffff815225fd ..... 1: 0xffffffff810ac51c ..... 2: 0xffffffff81018e29 ..... 3: 0xffffffff81523939 ..... 4: 0xffffffff81524b8f ..... 5: 0xffffffff81524bd9 ..... 6: 0xffffffff8105e498 ..... 7: 0xffffffff8152315a ..... 8: 0xffffffff81522c3a ..... 9: 0xffffffff810d9b74 ..... 10: 0xffffffff810dbeec ..... 11: 0xffffffff810dc3fb This is a 22-entries kernel-space chain. (We still only record reliable stack entries.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 42e27bfc4bfa42bd905e53be93d862b8e3d80a00 Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:08 2009 +0000 ps3flash: Always read chunks of 256 KiB, and cache them Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 6bd57f2e5db408e0dfdb3bf052d58c4e7b18ed3c Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:07 2009 +0000 ps3flash: Cache the last accessed FLASH chunk Add support for caching, to reduce FLASH wear when writing using small blocksizes. As we also don't care anymore about heads and tails in case of partial writes, this greatly simplifies the code for handling writes. Note: We don't bother caching reads smaller than the FLASH chunk size (256 KiB). Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit a4e623fbc9b201930abcf78df6db5e49aa8e00cb Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:06 2009 +0000 ps3: Replace direct file operations by callback Currently the FLASH database is updated by the kernel using file operations, meant for userspace only. While this works for us because copy_{from,to}_user() on powerpc can handle kernel pointers, this is unportable and a bad example. Replace the file operations by callbacks, registered by the ps3flash driver. Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 47cb996b059e0e5696b8daa1f62881a6462a251a Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:05 2009 +0000 ps3: Switch ps3_os_area_[gs]et_rtc_diff to EXPORT_SYMBOL_GPL() They were never intended to be exported using EXPORT_SYMBOL() anyway Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 7e28060a5e04966d20c04c232b2f438f96e0a29e Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:04 2009 +0000 ps3: Correct debug message in dma_ioc0_map_pages() It reports the failure of a call to lv1_put_iopte(), not lv1_map_device_dma_region(). Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit a469f563d6eec9ef68da9b4aed708e7f6ecabd51 Author: Geert Uytterhoeven Date: Wed Jun 10 04:39:00 2009 +0000 drivers/ps3: Add missing annotations probe functions should be __devinit initialization functions should be __init Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit cd4a157d769311964717d5c7cfc0c34426d090b4 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:57 2009 +0000 ps3fb: Use ps3_system_bus_[gs]et_drvdata() instead of direct access Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 559dc87f50d062d881fed406efb76925aa1f30e7 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:55 2009 +0000 ps3flash: Use ps3_system_bus_[gs]et_drvdata() instead of direct access Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 03fa68c245cccbcb99035cbabaa13b408ba91ab5 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:54 2009 +0000 ps3: shorten ps3_system_bus_[gs]et_driver_data to ps3_system_bus_[gs]et_drvdata Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Cc: Jim Paris Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 9f08e9db84c1e9234e07b9b595f5b2508c621823 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:53 2009 +0000 ps3: Use dev_[gs]et_drvdata() instead of direct access for system bus devices Signed-off-by: Geert Uytterhoeven Cc: Geoff Levand Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 6dee2c87ebbe5d7ce8c4c163966a0bd9c02c75ef Author: Roel Kluin Date: Wed Jun 10 04:38:52 2009 +0000 block/ps3: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. [Geert: Use ps3_system_bus_[gs]et_driver_data() for ps3_system_bus_device] Signed-off-by: Roel Kluin Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 1bd9784f5ebb5b1b5a1efb8302d7b57c6483e2e6 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:51 2009 +0000 ps3vram: Make ps3vram_priv.reports a void * So we can kill a cast. Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit c3b94fd800cc7eb59c91ccb55326cdaf589b0e88 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:50 2009 +0000 ps3vram: Remove no longer used ps3vram_priv.ddr_base Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit fb89e89d0ff6142f0616eb8260ea89d6fd924982 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:41 2009 +0000 ps3vram: Replace mutex by spinlock + bio_list Remove the mutex serializing access to the cache. Instead, queue up new requests on a bio_list if the driver is busy. This improves sequential write performance by ca. 2%. Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 13685a1654b65357fb34066a98ef40445f7820fc Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:40 2009 +0000 block: Add bio_list_peek() Introduce bio_list_peek(), to obtain a pointer to the first bio on the bio_list without actually removing it from the list. This is needed when you want to serialize based on the list being empty or not. Signed-off-by: Geert Uytterhoeven Acked-by: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit d9e89bf0c0a25273921381df8edd41e69b74b74c Author: Andrea Borgia Date: Sun Jun 14 12:16:17 2009 +0200 ALSA: usb-audio - rework quirk for TerraTec Aureon USB 5.1 MkII This patch changes yet again the ID for the TTA cards, resulting in a more reasonable name: 1 [Aureon51MkII ]: USB-Audio - Aureon5.1MkII TerraTec Aureon5.1MkII at usb-0000:00:03.0-2, full speed Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 3fade49b734cca2d8c4f1bcd7c3023302b557f3b Author: Nicolas Pitre Date: Thu Jun 11 22:27:20 2009 +0200 [ARM] orion5x: register the crypto device on SOCs that support it Not all Orion variants do implement the crypto unit. Signed-off-by: Nicolas Pitre commit 97f8a27a5cfb08c9ce3abc90aaafb791759aed94 Author: Sebastian Andrzej Siewior Date: Thu Jun 11 22:51:12 2009 -0400 [ARM] orion5x: increment window counter after adding sram mapping Without incrementing the counter the next window setup will overwrite the SRAM mapping. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Nicolas Pitre commit c2e95c6d7a9b9d8f023c3639edbb1da65ccd15ac Author: Paul Mackerras Date: Fri Jun 12 21:10:41 2009 +0000 powerpc: Use generic atomic64_t implementation on 32-bit processors This makes 32-bit powerpc use the generic atomic64_t implementation. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 09d4e0edd4614e787393acc582ac701c6ec3565b Author: Paul Mackerras Date: Fri Jun 12 21:10:05 2009 +0000 lib: Provide generic atomic64_t implementation Many processor architectures have no 64-bit atomic instructions, but we need atomic64_t in order to support the perf_counter subsystem. This adds an implementation of 64-bit atomic operations using hashed spinlocks to provide atomicity. For each atomic operation, the address of the atomic64_t variable is hashed to an index into an array of 16 spinlocks. That spinlock is taken (with interrupts disabled) around the operation, which can then be coded non-atomically within the lock. On UP, all the spinlock manipulation goes away and we simply disable interrupts around each operation. In fact gcc eliminates the whole atomic64_lock variable as well. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 4c75f84f2c781beb230031234ed961d28771a764 Author: Paul Mackerras Date: Fri Jun 12 02:00:50 2009 +0000 powerpc: Add compiler memory barrier to mtmsr macro On 32-bit non-Book E, local_irq_restore() turns into just mtmsr(), which doesn't currently have a compiler memory barrier. This means that accesses to memory inside a local_irq_save/restore section, or a spin_lock_irqsave/spin_unlock_irqrestore section on UP, can be reordered by the compiler to occur outside that section. To fix this, this adds a compiler memory barrier to mtmsr for both 32-bit and 64-bit. Having a compiler memory barrier in mtmsr makes sense because it will almost always be changing something about the context in which memory accesses are done, so in general we don't want memory accesses getting moved from one side of an mtmsr to the other. With the barrier in mtmsr(), some of the explicit barriers in hw_irq.h are now redundant, so this removes them. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit e8d1673b9720ec72d85916c6b7d5d476abb2c861 Author: Michael Ellerman Date: Thu Jun 11 02:18:49 2009 +0000 powerpc/iseries: Mark signal_vsp_instruction() as maybe unused signal_vsp_instruction() is currently only used if CONFIG_PROC_FS is enabled. However logically it has nothing to do with PROC_FS, so rather than making it depend on that mark it as maybe unused. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 27167c7e9bc3b4b93d1b567e0cf9a3744dd4f1f2 Author: Michael Ellerman Date: Thu Jun 11 02:18:26 2009 +0000 powerpc/iseries: Fix unused function warning in iSeries DT code If CONFIG_BLK_DEV_INITRD is unset dt_prop_u64() is unused, which causes a warning. We don't really want to tie the definition to BLK_DEV_INITRD, so mark it as maybe unused. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 7719ed7ce814aa89c6af082f6773dddc93c6f237 Author: Michael Ellerman Date: Thu Jun 11 02:12:28 2009 +0000 powerpc: Only build prom_init.o when CONFIG_PPC_OF_BOOT_TRAMPOLINE=y Commit 28794d34 ("powerpc/kconfig: Kill PPC_MULTIPLATFORM"), added CONFIG_PPC_OF_BOOT_TRAMPOLINE to control the buliding of prom_init.o However the Makefile still unconditionally builds prom_init_check, the script that checks prom_init.o for symbol usage, and so in turn prom_init.o is still always being built. (it's not linked though) So surround all the prom_init_check logic with an ifeq block testing if CONFIG_PPC_OF_BOOT_TRAMPOLINE is set. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 3240776ce290a3be4ca77bacf8b1e8d36b4a691d Author: Stephen Rothwell Date: Wed Jun 10 22:22:08 2009 +0000 powerpc: Wire up sys_rt_tgsigqueueinfo Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 86c276560a22915c92cd0b0179556b7f3dac6f7a Author: Michael Ellerman Date: Wed Jun 10 19:06:34 2009 +0000 powerpc/cell: Use driver_data acessors, not platform_data in Axon MSI The Axon MSI driver incorrectly uses platform_data, rather than the proper accessors for driver_data. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit e468455e5845f83950d1271a6cd0425b9c7290ab Author: Michael Ellerman Date: Wed Jun 10 19:05:00 2009 +0000 powerpc: Fix warning in setup_64.c when CONFIG_RELOCATABLE=y When CONFIG_RELOCATABLE is enabled, PHYSICAL_START is actually a variable of type phys_addr_t. That means to print it we need to cast to unsigned long long and use llx. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit c204ff65590837e6a9c50ca549497b4682682ec6 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:49 2009 +0000 ps3fb: Tear down FB setup during cleanup During cleanup, use L1GPU_CONTEXT_ATTRIBUTE_FB_CLOSE to tear down the setup done by L1GPU_CONTEXT_ATTRIBUTE_FB_SETUP. This allows unloading and reloading of ps3fb while the sound driver keeps the GPU open. Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit d3352c9f1e8e2f2989d9686c8aa8acb4842fe75e Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:48 2009 +0000 ps3fb/vram: Extract common GPU stuff into Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 56ac72dba5d24a477d281b985797d5e62d3f5c2e Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:47 2009 +0000 ps3vram: GPU memory mapping cleanup - Make the IOMMU flags used for mapping main memory into the GPU's I/O space explicit, instead of relying on the default in the hypervisor, - Add missing calls to lv1_gpu_context_iomap(..., CBE_IOPTE_M) to unmap the memory during cleanup. Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit e78d0c5c14ab91648274b2c5e6c4c35f072cea64 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:46 2009 +0000 ps3fb: GPU memory mapping cleanup - Make the IOMMU flags used for mapping main memory into the GPU's I/O space explicit, instead of relying on the default in the hypervisor, - Add missing calls to lv1_gpu_context_iomap(..., CBE_IOPTE_M) to unmap the memory during cleanup. Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 5c6fc8db768fb9990ee67ab052896fd46fbe2651 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:45 2009 +0000 powerpc/cell: Extract duplicated IOPTE_* to Both arch/powerpc/platforms/cell/iommu.c and arch/powerpc/platforms/ps3/mm.c contain the same Cell IOMMU page table entry definitions. Extract them and move them to , while adding a CBE_ prefix. This also allows them to be used by drivers. Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit ca971ea39fa92add0fa596ad80affd7db781d762 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:44 2009 +0000 ps3fb: Correct handling of device opening in ps3fb_probe() - ps3_open_hv_device() returns a standard error value, - Add missing call to ps3_close_hv_device() in the error path. Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit bb94f077e5c1d3276fe656665c2574fdd3483e75 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:43 2009 +0000 ps3fb: Inline functions in ps3fb_probe(), to ease cleanup in the error path Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 02aad32c32691b63a47d8e7c098c1822faf88c35 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:42 2009 +0000 ps3fb: Remove useless debug checks in ps3fb_shutdown() Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 3273d8778f90457a495603945e95b47c2c139f22 Author: Jim Paris Date: Wed Jun 10 04:38:39 2009 +0000 ps3vram: Correct exchanged gotos in ps3vram_probe() error path Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 3c20e2f2793380add92dacce63395a8503b6c7c9 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:38 2009 +0000 ps3vram: Use proc_create_data() instead of proc_create() Use proc_create_data() to avoid race conditions. Reported-by: Alexey Dobriyan Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 734957c89794971c874f9d3ccd9eb49dc3325f65 Author: Geert Uytterhoeven Date: Wed Jun 10 04:38:37 2009 +0000 ps3vram: Fix error path (return -EIO) for short read/write Signed-off-by: Geert Uytterhoeven Cc: Jim Paris Cc: Jens Axboe Signed-off-by: Benjamin Herrenschmidt commit 7a4a89c38960591fa6555d287f793bd592c07ebd Author: sebastian.blanes@gmail.com Date: Wed Jun 10 04:38:36 2009 +0000 ps3av: Set 16:9 aspect ratio for 720p video modes Signed-off-by: Geert Uytterhoeven Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Benjamin Herrenschmidt commit 177996e6e20f15004d6757d9b859f57d181ef443 Author: Benjamin Herrenschmidt Date: Tue Jun 9 21:12:00 2009 +0000 powerpc: Don't do generic calibrate_delay() Currently we are wasting time calling the generic calibrate_delay() function. We don't need it since our implementation of __delay() is based on the CPU timebase. So instead, we use our own small implementation that initializes loops_per_jiffy to something sensible to make the few users like spinlock debug be happy Signed-off-by: Benjamin Herrenschmidt commit 529273c1ad5f591d066a9d90a6bd6affa19c5461 Author: Grant Likely Date: Sat Jun 6 06:39:46 2009 +0000 powerpc/install: Bail with error code on error in install script If anything goes wrong when copying images into the install path, then the install script should exit with an error code so that 'make' knows about it and tells the user. Signed-off-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 6fe7ac3f5b544703581f3829c8c950dc721d976e Author: Alex Deucher Date: Fri Jun 12 17:26:08 2009 +0000 radeon legacy chips: tv dac bg/dac adj updates COMBIOS - fallback to table values if there are no tv dac or lvds bios tables ATOMBIOS - add support for looking up these values from the bios table Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 771fe6b912fca54f03e8a72eb63058b582775362 Author: Jerome Glisse Date: Fri Jun 5 14:42:42 2009 +0200 drm/radeon: introduce kernel modesetting for radeon hardware Add kernel modesetting support to radeon driver, use the ttm memory manager to manage memory and DRM/GEM to provide userspace API. In order to avoid backward compatibility issue and to allow clean design and code the radeon kernel modesetting use different code path than old radeon/drm driver. When kernel modesetting is enabled the IOCTL of radeon/drm driver are considered as invalid and an error message is printed in the log and they return failure. KMS enabled userspace will use new API to talk with the radeon/drm driver. The new API provide functions to create/destroy/share/mmap buffer object which are then managed by the kernel memory manager (here TTM). In order to submit command to the GPU the userspace provide a buffer holding the command stream, along this buffer userspace have to provide a list of buffer object used by the command stream. The kernel radeon driver will then place buffer in GPU accessible memory and will update command stream to reflect the position of the different buffers. The kernel will also perform security check on command stream provided by the user, we want to catch and forbid any illegal use of the GPU such as DMA into random system memory or into memory not owned by the process supplying the command stream. This part of the code is still incomplete and this why we propose that patch as a staging driver addition, future security might forbid current experimental userspace to run. This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX (radeon up to X1950). Works is underway to provide support for R6XX, R7XX and newer hardware (radeon from HD2XXX to HD4XXX). Authors: Jerome Glisse Dave Airlie Alex Deucher Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 0a8eba9b7f7aa3ad0305627c99ad4d6deedd871d Author: Mike Frysinger Date: Sun Jun 14 22:56:48 2009 +0100 ramfs: ignore unknown mount options On systems where CONFIG_SHMEM is disabled, mounting tmpfs filesystems can fail when tmpfs options are used. This is because tmpfs creates a small wrapper around ramfs which rejects unknown options, and ramfs itself only supports a tiny subset of what tmpfs supports. This makes it pretty hard to use the same userspace systems across different configuration systems. As such, ramfs should ignore the tmpfs options when tmpfs is merely a wrapper around ramfs. This used to work before commit c3b1b1cbf0 as previously, ramfs would ignore all options. But now, we get: ramfs: bad mount option: size=10M mount: mounting mdev on /dev failed: Invalid argument Another option might be to restore the previous behavior, where ramfs simply ignored all unknown mount options ... which is what Hugh prefers. Signed-off-by: Mike Frysinger Signed-off-by: Hugh Dickins Acked-by: Matt Mackall Acked-by: Wu Fengguang Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 7dafd239ab522d38979ebe44d79aa68ad7b1a383 Merge: bc47ab0 45e3e19 Author: Benjamin Herrenschmidt Date: Mon Jun 15 10:36:54 2009 +1000 Merge commit 'origin/master' into next commit ba4e7d973dd09b66912ac4c0856add8b0703a997 Author: Thomas Hellstrom Date: Wed Jun 10 15:20:19 2009 +0200 drm: Add the TTM GPU memory manager subsystem. TTM is a GPU memory manager subsystem designed for use with GPU devices with various memory types (On-card VRAM, AGP, PCI apertures etc.). It's essentially a helper library that assists the DRM driver in creating and managing persistent buffer objects. TTM manages placement of data and CPU map setup and teardown on data movement. It can also optionally manage synchronization of data on a per-buffer-object level. TTM takes care to provide an always valid virtual user-space address to a buffer object which makes user-space sub-allocation of big buffer objects feasible. TTM uses a fine-grained per buffer-object locking scheme, taking care to release all relevant locks when waiting for the GPU. Although this implies some locking overhead, it's probably a big win for devices with multiple command submission mechanisms, since the lock contention will be minimal. TTM can be used with whatever user-space interface the driver chooses, including GEM. It's used by the upcoming Radeon KMS DRM driver and is also the GPU memory management core of various new experimental DRM drivers. Signed-off-by: Thomas Hellstrom Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit e6c03c5b40314d787f7053f631594d6b1bd609e8 Author: Chris Wilson Date: Fri May 22 14:14:22 2009 +0100 drm: Memory fragmentation from lost alignment blocks If the block needs an alignment but otherwise fits exactly into the tail, then the split-off block from the start would remain marked as non-free. Signed-off-by: Chris Wilson Acked-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 602c11a8ee62d49cddbc5972e5edb876dd415113 Author: Dave Airlie Date: Mon Jun 15 09:24:41 2009 +1000 drm/radeon: fix mobility flags on new PCI IDs. These aren't used that much on r600, but may be needed in the future, so get them correct now. Signed-off-by: Dave Airlie commit 6daa79b3c113bf95793aee95fcfb4008e85614eb Author: Paul Mundt Date: Mon Jun 15 07:07:38 2009 +0900 serial: sh-sci: Move over to dev_pm_ops. Presently the boot log whines about suspend/resume hooks at the platform driver level, move these over to dev_pm_ops. Signed-off-by: Paul Mundt commit 62e086be5d2abef8cad854bc5707329ad345f2ec Author: Aneesh Kumar K.V Date: Sun Jun 14 17:59:34 2009 -0400 ext4: Move __ext4_journalled_writepage() to avoid forward declaration In addition, fix two unused variable warnings. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 43ce1d23b43330634507a049b55c36e91d27282e Author: Aneesh Kumar K.V Date: Sun Jun 14 17:58:45 2009 -0400 ext4: Fix mmap/truncate race when blocksize < pagesize && !nodellaoc This patch fixes the mmap/truncate race that was fixed for delayed allocation by merging ext4_{journalled,normal,da}_writepage() into ext4_writepage(). Signed-off-by: Aneesh Kumar K.V Acked-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit c364b22c9580a885e0f8c0d0f9710d67dc448958 Author: Aneesh Kumar K.V Date: Sun Jun 14 17:57:10 2009 -0400 ext4: Fix mmap/truncate race when blocksize < pagesize && delayed allocation It is possible to see buffer_heads which are not mapped in the writepage callback in the following scneario (where the fs blocksize is 1k and the page size is 4k): 1) truncate(f, 1024) 2) mmap(f, 0, 4096) 3) a[0] = 'a' 4) truncate(f, 4096) 5) writepage(...) Now if we get a writepage callback immediately after (4) and before an attempt to write at any other offset via mmap address (which implies we are yet to get a pagefault and do a get_block) what we would have is the page which is dirty have first block allocated and the other three buffer_heads unmapped. In the above case the writepage should go ahead and try to write the first blocks and clear the page_dirty flag. Further attempts to write to the page will again create a fault and result in allocating blocks and marking page dirty. If we don't write any other offset via mmap address we would still have written the first block to the disk and rest of the space will be considered as a hole. So to address this, we change all of the places where we look for delayed, unmapped, or unwritten buffer heads, and only check for delayed or unwritten buffer heads instead. Signed-off-by: Aneesh Kumar K.V Acked-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit de9a55b841132f7ae097f6e31ccebad2d5030cf5 Author: Theodore Ts'o Date: Sun Jun 14 17:45:34 2009 -0400 ext4: Fix up whitespace issues in fs/ext4/inode.c This is a pure cleanup patch. Signed-off-by: "Theodore Ts'o" commit 0610b6e99939828b77eec020ead0e1f44cba38ca Author: Theodore Ts'o Date: Mon Jun 15 03:45:05 2009 -0400 ext4: Fix 64-bit block type problem on 32-bit platforms The function ext4_mb_free_blocks() was using an "unsigned long" to pass a block number; this will cause 64-bit block numbers to get truncated on x86 and other 32-bit platforms. Signed-off-by: "Theodore Ts'o" Reviewed-by: Eric Sandeen commit 45e3e1935e2857c54783291107d33323b3ef33c8 Merge: cf50463 3f8d9ce Author: Linus Torvalds Date: Sun Jun 14 14:12:18 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits) .gitignore: ignore *.lzma files kbuild: add generic --set-str option to scripts/config kbuild: simplify argument loop in scripts/config kbuild: handle non-existing options in scripts/config kallsyms: generalize text region handling kallsyms: support kernel symbols in Blackfin on-chip memory documentation: make version fix kbuild: fix a compile warning gitignore: Add GNU GLOBAL files to top .gitignore kbuild: fix delay in setlocalversion on readonly source README: fix misleading pointer to the defconf directory vmlinux.lds.h update kernel-doc: cleanup perl script Improve vmlinux.lds.h support for arch specific linker scripts kbuild: fix headers_exports with boolean expression kbuild/headers_check: refine extern check kbuild: fix "Argument list too long" error for "make headers_check", ignore *.patch files Remove bashisms from scripts menu: fix embedded menu presentation ... commit 3f8d9ced7746f3f329ccca0bb3f3c7a2c15c47bb Author: Arne Janbu Date: Wed Jun 10 18:25:10 2009 +0200 .gitignore: ignore *.lzma files Signed-off-by: Sam Ravnborg commit cf5046323ea254be72535648a9d090b18b8510f3 Merge: ae937de 8d34ff3 Author: Linus Torvalds Date: Sun Jun 14 13:53:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Don't double-free IRQs when falling back from MSI-X to INTx IB/mthca: Don't double-free IRQs when falling back from MSI-X to INTx IB/mlx4: Add strong ordering to local inval and fast reg work requests IB/ehca: Remove superfluous bitmasks from QP control block RDMA/cxgb3: Limit fast register size based on T3 limitations RDMA/cxgb3: Report correct port state and MTU mlx4_core: Add module parameter for number of MTTs per segment IB/mthca: Add module parameter for number of MTTs per segment RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes() infiniband: Remove void casts IB/ehca: Increment version number IB/ehca: Remove unnecessary memory operations for userspace queue pairs IB/ehca: Fall back to vmalloc() for big allocations IB/ehca: Replace vmalloc() with kmalloc() for queue allocation commit ae937debe178b4327fd67d604ee83a20f22aa0de Merge: 9cf46a3 0419bb4 Author: Linus Torvalds Date: Sun Jun 14 13:52:53 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/headers-check-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/headers-check-2.6: headers_check fix: mn10300, setup.h headers_check fix: mn10300, ptrace.h commit 9cf46a35d25debfc314dd6f090b8075bd0b7f74c Author: Randy Dunlap Date: Sat Jun 13 19:37:18 2009 -0700 fusion: fix recent kernel-doc problems Fix recent fusion driver kernel-doc fatal error and warnings. Signed-off-by: Randy Dunlap Cc: Eric.Moore@lsi.com Cc: support@lsi.com Cc: DL-MPTFusionLinux@lsi.com Signed-off-by: Linus Torvalds commit 5a7e3d1281bbc4404b250b4a18d3ecb07c77640c Author: Samuel Thibault Date: Sat Jun 13 14:52:33 2009 +0200 keyboard: advertise KT_DEAD2 extended diacriticals In addition to KT_DEAD which has limited support for diacriticals, there is KT_DEAD2 that can support 256 criticals, so let's advertise it in . This lets userland know abut the drivers/char/keyboard.c function k_dead2, which supports more than the few trivial ones that k_dead supports. Signed-off-by: Samuel Thibault Signed-off-by: Linus Torvalds commit 1f990cf94559e0a7363d56aade1d5dc6c515b60b Author: Michal Marek Date: Mon May 25 16:43:27 2009 +0200 kbuild: add generic --set-str option to scripts/config Signed-off-by: Michal Marek Signed-off-by: Sam Ravnborg commit 47312d2cfd9b769c1739738602c163c4c9814c7b Author: Michal Marek Date: Mon May 25 16:43:25 2009 +0200 kbuild: simplify argument loop in scripts/config Signed-off-by: Michal Marek Signed-off-by: Sam Ravnborg commit 566432224731c3d8fa7925ce07953701f536a666 Author: Michal Marek Date: Sun Jun 14 22:48:07 2009 +0200 kbuild: handle non-existing options in scripts/config If an option does not exist in .config, set it at the end of the file. Signed-off-by: Michal Marek Signed-off-by: Sam Ravnborg commit 2625b10d8c37656cf410a464ed95942b3abbd1f6 Merge: 489f7ab 7f72134 Author: Linus Torvalds Date: Sun Jun 14 13:46:57 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (25 commits) atmel-mci: add MCI2 register definitions atmel-mci: Integrate AT91 specific definition in header file tmio_mmc: allow compilation for ASIC3 mmc_block: do not DMA to stack sdhci: Print ADMA status and pointer on debug tmio_mmc: fix clock setup tmio_mmc: map SD control registers after enabling the MFD cell tmio_mmc: correct probe return value for num_resources != 3 tmio_mmc: don't use set_irq_type tmio_mmc: add bus_shift support MFD,mmc: tmio_mmc: make HCLK configurable mmc_spi: don't use EINVAL for possible transmission errors cb710: more cleanup for the DEBUG case. sdhci: platform driver for SDHCI mxcmmc: remove frequency workaround cb710: handle DEBUG define in Makefile cb710: add missing parenthesis cb710: fix printk format string mmc: Driver for CB710/720 memory card reader (MMC part) pxamci: add regulator support. ... commit 489f7ab6c18cdd64a2d444e056d60a0e722f4ad7 Merge: b322b78 82d27b2 Author: Linus Torvalds Date: Sun Jun 14 13:46:25 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (31 commits) trivial: remove the trivial patch monkey's name from SubmittingPatches trivial: Fix a typo in comment of addrconf_dad_start() trivial: usb: fix missing space typo in doc trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug trivial: Remove the hyphen from git commands trivial: fix ETIMEOUT -> ETIMEDOUT typos trivial: Kconfig: .ko is normally not included in module names trivial: SubmittingPatches: fix typo trivial: Documentation/dell_rbu.txt: fix typos trivial: Fix Pavel's address in MAINTAINERS trivial: ftrace:fix description of trace directory trivial: unnecessary (void*) cast removal in sound/oss/msnd.c trivial: input/misc: Fix typo in Kconfig trivial: fix grammo in bus_for_each_dev() kerneldoc trivial: rbtree.txt: fix rb_entry() parameters in sample code trivial: spelling fix in ppc code comments trivial: fix typo in bio_alloc kernel doc trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt trivial: Miscellaneous documentation typo fixes trivial: fix typo milisecond/millisecond for documentation and source comments. ... commit b322b7816908487c08b89b72f838174c37d8c836 Merge: f44c2c9 6341de0 Author: Linus Torvalds Date: Sun Jun 14 13:45:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: fix inverted wheel for bluetooth version of apple mighty mouse HID: no more reinitializtion is needed in post_reset HID: hidraw -- fix comment about accepted devices HID: Multitouch support for the N-Trig touchscreen HID: add new multitouch and digitizer contants HID: autocentering support for Logitech Force 3D Pro HID: fix hid-ff drivers so that devices work even without ff support HID: force feedback support for SmartJoy PLUS PS2/USB adapter HID: Wacom Graphire Bluetooth driver HID: autocentering support for Logitech G25 Racing Wheel commit f44c2c9e073a578b2946bcf4127ffb041ee765b8 Merge: 2cf4d45 73be159 Author: Linus Torvalds Date: Sun Jun 14 13:45:05 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5545/2: add flush_kernel_dcache_page() for ARM commit 17b1f0de79dbdf5cfb2686b63a7fb9ecc440da7c Author: Mike Frysinger Date: Mon Jun 8 19:12:13 2009 -0400 kallsyms: generalize text region handling Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 028f042613c3c99db20dd7f4e4069fbbcea92dd7 Author: Robin Getz Date: Mon Jul 10 06:25:40 2006 +0000 kallsyms: support kernel symbols in Blackfin on-chip memory The Blackfin arch has a discontiguous .text layout due to having on-chip instruction memory and no virtual memory support. As such, we need to add explicit checks for these additional .text regions. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 2cf4d4514d5b43c1f3b64bd0ec8b9853bde8f1dc Merge: 44b7532 ce53895 Author: Linus Torvalds Date: Sun Jun 14 13:42:43 2009 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (417 commits) MAINTAINERS: EB110ATX is not ebsa110 MAINTAINERS: update Eric Miao's email address and status fb: add support of LCD display controller on pxa168/910 (base layer) [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines [ARM] 5544/1: Trust PrimeCell resource sizes [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. [ARM] pxa/sharpsl_pm: drop set_irq_type calls [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific [ARM] sa1100: remove unused collie_pm.c [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] [ARM] 5550/1: Add default configure file for w90p910 platform [ARM] 5549/1: Add clock api for w90p910 platform. [ARM] 5548/1: Add gpio api for w90p910 platform [ARM] 5551/1: Add multi-function pin api for w90p910 platform. [ARM] Make ARM_VIC_NR depend on ARM_VIC [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 ARM: OMAP4: SMP: Update defconfig for OMAP4430 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 ... commit 2185a5ecd98d2cebc6a29b07b1ea4f7334c2ccc3 Author: Adam Lackorzynski Date: Sun Jun 14 22:38:59 2009 +0200 documentation: make version fix The Makefiles in the build directories use the internal make variable MAKEFILE_LIST which is available from make 3.80 only. (The patch would be valid back to 2.6.25) Signed-off-by: Adam Lackorzynski Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 5a6cec3abbdb74244caab68db100825a8c4ac02d Author: Ingo Molnar Date: Fri May 29 11:25:09 2009 +0200 perf_counter, x86: Fix call-chain walking Fix the ptregs variant when we hit user-mode tasks. Cc: Frederic Weisbecker Cc: Pekka Enberg Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d067aa741589a9783cc43315119e0f431b4e382c Author: Amerigo Wang Date: Wed Jun 10 12:48:23 2009 -0700 kbuild: fix a compile warning gcc-4.4.1: HOSTCC scripts/basic/fixdep scripts/basic/fixdep.c: In function 'traps': scripts/basic/fixdep.c:377: warning: dereferencing type-punned pointer will break strict-aliasing rules scripts/basic/fixdep.c:379: warning: dereferencing type-punned pointer will break strict-aliasing rules (Apparently -fno-strict-aliasing will fix this too) Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 8d34ff34016959d464fd5582ea6a8226fe57ab0e Merge: 3026c19 25a5239 5b891a9 2ac6bf4 d1fdf24 28e43a5 Author: Roland Dreier Date: Sun Jun 14 13:31:19 2009 -0700 Merge branches 'cxgb3', 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus commit d1fdf24b4074a8d962f9a28519c99dcdd66bdee3 Author: Roland Dreier Date: Sun Jun 14 13:30:45 2009 -0700 mlx4_core: Don't double-free IRQs when falling back from MSI-X to INTx When both MSI-X and legacy INTx fail to generate an interrupt, the driver frees the MSI-X interrupts twice. Fix this by clearing the have_irq flag for the MSI-X interrupts when they are freed the first time. This is the same bug that was reported in ib_mthca by Yinghai Lu . Signed-off-by: Roland Dreier commit f2ac5e78928bf94118b4d4911166a02e8a87d3ea Author: Jani Nikula Date: Thu Jun 11 12:21:47 2009 +0300 gitignore: Add GNU GLOBAL files to top .gitignore Ignore GPATH, GRTAGS, GSYMS, and GTAGS generated by GNU GLOBAL. Signed-off-by: Jani Nikula Signed-off-by: Sam Ravnborg commit a2bb90a08cb3b64dd815d762ffde2312582a6ec9 Author: Nico Schottelius Date: Fri Jun 12 09:59:52 2009 +0200 kbuild: fix delay in setlocalversion on readonly source Do not update index on read only media. Idea published by Christian Kujau . Cc: Nico Schottelius Cc: Christian Kujau commit b2d8993026a26f4ece8c8b3f2e138d2ba8f18eaa Author: Patrick Ringl Date: Fri Jun 12 13:58:36 2009 +0200 README: fix misleading pointer to the defconf directory Signed-off-by: Patrick Ringl Cc: Arnd Bergmann commit 7923f90fffa8746f6457d4eea2109fd3d6414189 Author: Sam Ravnborg Date: Sun Jun 14 22:10:41 2009 +0200 vmlinux.lds.h update Updated after review by Tim Abbott. - Use HEAD_TEXT_SECTION - Drop use of section-names.h and delete file - Introduce EXIT_CALL Deleting section-names.h required a few simple updates of init.h Signed-off-by: Sam Ravnborg Cc: Tim Abbott commit 3efa1cc99ec51bc7a7ae0011a16619fd20dbe6ea Author: Ingo Molnar Date: Sun Jun 14 15:04:15 2009 +0200 perf record/report: Add call graph / call chain profiling Add the first steps of call-graph profiling: - add the -c (--call-graph) option to perf record - parse the call-graph record and printout out under -D (--dump-trace) The call-graph data is not put into the histogram yet, but it can be seen that it's being processed correctly: 0x3ce0 [0x38]: event: 35 . . ... raw event: size 56 bytes . 0000: 23 00 00 00 05 00 38 00 d4 df 0e 81 ff ff ff ff #.....8........ . 0010: 60 0b 00 00 60 0b 00 00 03 00 00 00 01 00 02 00 `...`.......... . 0020: d4 df 0e 81 ff ff ff ff a0 61 ed 41 36 00 00 00 .........a.A6.. . 0030: 04 92 e6 41 36 00 00 00 .a.A6.. . 0x3ce0 [0x38]: PERF_EVENT (IP, 5): 2912: 0xffffffff810edfd4 period: 1 ... chain: u:2, k:1, nr:3 ..... 0: 0xffffffff810edfd4 ..... 1: 0x3641ed61a0 ..... 2: 0x3641e69204 ... thread: perf:2912 ...... dso: [kernel] This shows a 3-entry call-graph: with 1 kernel-space and two user-space entries Cc: Frederic Weisbecker Cc: Pekka Enberg Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 507fa3a3d80365c595113a5ac3232309e3dbf5d8 Author: Thomas Gleixner Date: Sun Jun 14 17:46:01 2009 +0200 x86: hpet: Mark per cpu interrupts IRQF_TIMER to prevent resume failure timer interrupts are excluded from being disabled during suspend. The clock events code manages the disabling of clock events on its own because the timer interrupt needs to be functional before the resume code reenables the device interrupts. The hpet per cpu timers request their interrupt without setting the IRQF_TIMER flag so suspend_device_irqs() disables them as well which results in a fatal resume failure on the boot CPU. Adding IRQF_TIMER to the interupt flags when requesting the hpet per cpu timer interrupts solves the problem. Reported-by: Benjamin S. Signed-off-by: Thomas Gleixner Tested-by: Benjamin S. Cc: stable@kernel.org commit 0c50f6f38399685d0c9ef0f5ffd6c4955e31cb26 Author: Matt Fleming Date: Sat Jun 13 22:23:27 2009 +0100 sh: Make the atomic functions safe for irqsoff tracing The irqsoff tracer uses the atomic_* functions internally, but the implementations of those functions in arch/sh/include/asm/atomic-irq.h disable irqs to achieve atomicity. A continuous loop ensues where we disable interrupts, trace the interrupt disabling, call atomic_* functions, disable interrupts, trace the interrupt disabling, etc.. The simplest solution to all this is to just convert uses of local_irq_save()/local_irq_restore() the raw_* equivalents because the raw_* equivalents don't call trace_hardirqs_on()/trace_hardirqs_off(). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 33745fb3448f90d2b9e414ccc6689e9ee70cfae4 Author: Philipp Zabel Date: Sun Jun 14 12:51:30 2009 +0200 ASoC: magician: fix PXA SSP clock polarity Follow-up fix needed since "ASoC: pxa-ssp.c fix clock/frame invert". Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit 6d5701b29e392f77d222254aa8e375315d59f0aa Author: Mark Brown Date: Sun Jun 14 11:33:37 2009 +0100 ASoC: Instantiate any forgotten DAPM widgets With the recent changes to the DAPM power checks it has become important to explicitly instantiate all widgets but some drivers were forgetting to do that. Since everything needs to do it add a call to instantiate them immediately before the card registration - it does no harm when it is called repeatedly and saves work in drivers. Tested-by: pHilipp Zabel Signed-off-by: Mark Brown commit 3767f3f1ee11da55760616a2c68a09c02babdd9b Author: Paul Mundt Date: Mon Jun 15 00:00:42 2009 +0900 sh: Convert sh64 to use the generic checksum code. This plugs in GENERIC_CSUM support on sh64, and kills off all of the old references. Signed-off-by: Paul Mundt commit 2b74b85693c7c0772e8787883230cd15314555f8 Author: Paul Mundt Date: Sun Jun 14 23:27:41 2009 +0900 sh: Derive COMMAND_LINE_SIZE from asm-generic/setup.h. Signed-off-by: Paul Mundt commit 7fb8156d50c7bf3eb183c308cc63be827c6944a9 Author: Paul Mundt Date: Sun Jun 14 23:26:48 2009 +0900 sh: Switch to asm-generic versions for identical headers. This switches over mman/param/parport/serial/socket/ucontext.h. Signed-off-by: Paul Mundt commit bdc90d461d576505114168c4b8237a3f6789ecba Author: Paul Mundt Date: Sun Jun 14 23:25:57 2009 +0900 sh: Convert to asm-generic/signal.h. Signed-off-by: Paul Mundt commit a8bd4683134affa76f2edd3a6b8b526832722242 Author: Paul Mundt Date: Sun Jun 14 23:25:27 2009 +0900 sh: Convert to asm-generic/types.h. Signed-off-by: Paul Mundt commit 84f8369015bd4ea9f487a164a3b08d5ec96d6fe1 Author: Paul Mundt Date: Sun Jun 14 23:25:04 2009 +0900 sh: Convert to asm-generic/scatterlist.h. Signed-off-by: Paul Mundt commit 508fb69886bde5a346f2fe0b550eb49e969f0ac5 Author: Paul Mundt Date: Sun Jun 14 23:24:43 2009 +0900 sh: Convert to asm-generic/unaligned.h. Signed-off-by: Paul Mundt commit 5db455bd55654c8a963191d6458ff1c20993f8bb Author: Paul Mundt Date: Sun Jun 14 23:24:14 2009 +0900 sh: Convert to asm-generic/module.h. Signed-off-by: Paul Mundt commit 7b2758228f2d554316288ef650fe5a08e3b2c559 Author: Paul Mundt Date: Sun Jun 14 23:23:41 2009 +0900 sh: Conver to asm-generic/mmu_context.h. Signed-off-by: Paul Mundt commit f8f06bc74b5afbb434b8f3982db19acdbf48dee9 Author: Paul Mundt Date: Sun Jun 14 23:21:54 2009 +0900 sh: Tidy up duplication in irq/swab/timex.h. The asm-generic versions have some helper definitions that we can use instead, drop our definitions and use those instead. Signed-off-by: Paul Mundt commit 6f2ea729756e09aa02d5ceb395c2a67323948ab2 Author: Paul Mundt Date: Sun Jun 14 23:20:27 2009 +0900 sh: Convert ipc/shm bits to their asm-generic versions. Signed-off-by: Paul Mundt commit 4b1239559ee96850889343bbf902de5129bac2ce Author: Paul Mundt Date: Sun Jun 14 23:17:57 2009 +0900 sh: Convert to asm-generic/termbits.h and termios.h. Signed-off-by: Paul Mundt commit bc8d422d1158a338a567e1b878dedd52efeba9a1 Author: Paul Mundt Date: Sun Jun 14 23:16:27 2009 +0900 sh: Convert to asm-generic/posix_types.h. Signed-off-by: Paul Mundt commit 3c4bdc4bd4af791a72147b6ebc29553808f53cea Author: Marcel Holtmann Date: Sun Jun 14 15:24:44 2009 +0200 Bluetooth: Fix issue with uninitialized nsh.type in DTL-1 driver The current build shows a warning with the DTL-1 driver: CC [M] drivers/bluetooth/dtl1_cs.o drivers/bluetooth/dtl1_cs.c: In function ‘dtl1_hci_send_frame’: drivers/bluetooth/dtl1_cs.c:396: warning: ‘nsh.type’ may be used uninitialized in this function Fix this by adding a proper error for unknown packet types. Signed-off-by: Marcel Holtmann commit b70b92e41d95fd906f05f6e98f61209201495fa7 Merge: 1e68b2b 44b7532 Author: Steve French Date: Sun Jun 14 13:34:46 2009 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 1a097181ee8b0c492c021eb3dbaa5f9cd813ad0e Author: Marcel Holtmann Date: Sun Jun 14 15:21:25 2009 +0200 Bluetooth: Fix Kconfig issue with RFKILL integration Since the re-write of the RFKILL subsystem it is no longer good to just select RFKILL, but it is important to add a proper depends on rule. Based on a report by Alexander Beregalov Signed-off-by: Marcel Holtmann commit 8465b05046652cfde3d47692cab2e8ba962f140f Author: Ingo Molnar Date: Sun Jun 14 14:44:07 2009 +0200 perf report: Print out raw events in hexa Print out events in hexa dump format, when -D is specified: 0x4868 [0x48]: event: 1 . . ... raw event: size 72 bytes . 0000: 01 00 00 00 00 00 48 00 d4 72 00 00 d4 72 00 00 ......H..r...r. . 0010: 00 00 40 f2 3e 00 00 00 00 30 01 00 00 00 00 00 ..@.>....0..... . 0020: 00 00 00 00 00 00 00 00 2f 75 73 72 2f 6c 69 62 ......../usr/li . 0030: 36 34 2f 6c 69 62 65 6c 66 2d 30 2e 31 34 31 2e 64/libelf-0.141 . 0040: 73 6f 00 00 00 00 00 00 f-0.141 . 0x4868 [0x48]: PERF_EVENT_MMAP 29396: [0x3ef2400000(0x13000) @ (nil)]: /usr/lib64/libelf-0.141.so This helps the debugging of mis-parsing of data files, and helps the addition of new sample/trace formats. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9deaa3bcff657f6e54e869ac1507c7ea8088fd09 Author: Paul Mundt Date: Sun Jun 14 21:45:06 2009 +0900 sh: Convert to asm-generic/dma.h. Signed-off-by: Paul Mundt commit 4822994a238b44ab5d162243077fe6273171fbab Author: Paul Mundt Date: Sun Jun 14 21:34:26 2009 +0900 sh: Convert to asm-generic/current.h. Signed-off-by: Paul Mundt commit 1337f8535ac1f41915d9e8aa03d5a3edf2f7c0a5 Author: Stefan Richter Date: Sun Jun 14 11:47:44 2009 +0200 firewire: net: adjust net_device ops The .ndo_tx_timeout callback is currently without function; delete it. Give .watchdog_timeo a proper time value; lower it to 2 seconds. Decrease the .tx_queue_len from 1000 (as in Ethernet card drivers) to 10 because we have only 64 transaction labels available, and responders might have further limits of their AR req contexts. Signed-off-by: Stefan Richter commit 156ce867a6725ea8a24b452469a6dc9f3fa6a161 Author: Stefan Richter Date: Sun Jun 14 11:46:57 2009 +0200 firewire: net: remove unused code Signed-off-by: Stefan Richter commit 5a124d382ea5c97be43c779e4f481455e0287654 Author: Stefan Richter Date: Sun Jun 14 11:45:27 2009 +0200 firewire: net: allow for unordered unit discovery Decouple the creation and destruction of the net_device from the order of discovery and removal of nodes with RFC 2734 unit directories since there is no reliable order. The net_device is now created when the first RFC 2734 unit on a card is discovered, and destroyed when the last RFC 2734 unit on a card went away. This includes all remote units as well as the local unit, which is therefore tracked as a peer now too. Also, locking around the list of peers is slightly extended to guard against peer removal. As a side effect, fwnet_peer.pdg_lock has become superfluous and is deleted. Peer data (max_rec, speed, node ID, generation) are updated more carefully. Signed-off-by: Stefan Richter commit f91e3bd842ec6f5cea245993926ee8ff26250467 Author: Stefan Richter Date: Sun Jun 7 22:57:53 2009 +0200 firewire: net: style changes Change names of types, variables, functions. Omit debug code. Use get_unaligned*, put_unaligned*. Annotate big endian data. Handle errors in __init. Change whitespace. Signed-off-by: Stefan Richter commit b9530fd6c3f057bda258c8e2631ad1a25959f4a2 Author: Stefan Richter Date: Sun Jun 7 22:57:53 2009 +0200 firewire: net: add Kconfig item, rename driver The driver is now called firewire-net. It might implement the transport of other networking protocols in the future, notably IPv6 per RFC 3146. Signed-off-by: Stefan Richter commit c76acec6d55107b652a37c90b36c00bc8b04dabb Author: Jay Fenlason Date: Mon May 18 13:08:06 2009 -0400 firewire: add IPv4 support Implement IPv4 over IEEE 1394 as per RFC 2734 for the newer firewire stack. This feature has only been present in the older ieee1394 stack via the eth1394 driver. Still to do: - fix ipv4_priv and ipv4_node lifetime logic - fix determination of speeds and max payloads - fix bus reset handling - fix unaligned memory accesses - fix coding style - further testing/ improvement of fragment reassembly - perhaps multicast support Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter (rebased, copyright note, changelog) commit 1e626fdcef61460dc75fe7377f38bb019722b848 Author: Stefan Richter Date: Sun Jun 14 13:23:58 2009 +0200 firewire: core: use more outbound tlabels Tlabel is a 6 bits wide datum. Wrap it after 63 rather than 31 for more safety against transaction label exhaustion and potential responders' transaction layer bugs. (As noted by Guus Sliepen, this change requires an expansion of tlabel_mask to 64 bits.) Signed-off-by: Stefan Richter commit bff7b55bdb325f62c4e30a97883ebd2b536bd47b Merge: e7fad45 44b7532 Author: Paul Mundt Date: Sun Jun 14 21:22:15 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit e7fad451f06e21e74b6051c5ad4917e37460be3a Author: Paul Mundt Date: Sun Jun 14 21:18:24 2009 +0900 clocksource: Drop unused irqaction.mask from SH drivers. The irqaction.mask is legacy code that is wholly unused and going away, so simply drop its use in the SH drivers completely. Fixes up build failures in -next. Signed-off-by: Paul Mundt commit 6fe32a468521d45edc35d92cdc05cd74e930426a Author: Paul Mundt Date: Sun Jun 14 20:02:30 2009 +0900 sh: Bump the earlytimer probe devices up. Presently the earlytimer probe handles the clockevents driver, which requires that the clockevents driver be registered first. This bumps it up by 1 to include the clocksource device, which can be safely ignored if it doesn't exist, as we will simply error out on that path and defer to the jiffies clocksource. Signed-off-by: Paul Mundt commit a34c7e3e7b0e7db67ffef21ba3056eb2f807ba4a Author: Paul Mundt Date: Sun Jun 14 19:48:48 2009 +0900 sh: Use generic sched_clock(). The generic sched_clock() handles INITIAL_JIFFIES now as well, so we can just use that instead. Signed-off-by: Paul Mundt commit 1d29ebebcb951ab6b04d22807cafb24b893310a2 Author: Paul Mundt Date: Sun Jun 14 19:45:40 2009 +0900 sh: Bump the earlytimer bits back to time_init(). These were handled through late_time_init due to kmalloc() and friends not being available earlier on previously. Now with slab caches being available much earlier, this is no longer necessary, and we can move the initialization up to an earlier point. One of the benefits with this is that printk times are available a bit earlier! Signed-off-by: Paul Mundt commit 73be1591579084a8103a7005dd3172f3e9dd7362 Author: Nicolas Pitre Date: Fri Jun 12 03:09:29 2009 +0100 [ARM] 5545/2: add flush_kernel_dcache_page() for ARM Without this, the default implementation is a no op which is completely wrong with a VIVT cache, and usage of sg_copy_buffer() produces unpredictable results. Tested-by: Sebastian Andrzej Siewior CC: stable@kernel.org Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 403dbb97f654cd59b87999fe1b64d29bf90b3a2a Author: Tom Goff Date: Sun Jun 14 03:16:13 2009 -0700 PIM-SM: namespace changes IPv4: - make PIM register vifs netns local - set the netns when a PIM register vif is created - make PIM available in all network namespaces (if CONFIG_IP_PIMSM_V2) by adding the protocol handler when multicast routing is initialized IPv6: - make PIM register vifs netns local - make PIM available in all network namespaces (if CONFIG_IPV6_PIMSM_V2) by adding the protocol handler when multicast routing is initialized Signed-off-by: Tom Goff Signed-off-by: David S. Miller commit ce53895a5d24e0ee19fb92f56c17323fb4c9ab27 Author: Russell King Date: Sun Jun 14 11:09:29 2009 +0100 MAINTAINERS: EB110ATX is not ebsa110 Signed-off-by: Russell King commit b7c11ec9f1c9f4272f032215ddb0b65d64b22ecc Merge: 0609996 7666c17 Author: Russell King Date: Sun Jun 14 11:01:44 2009 +0100 Merge branch 'u300' into devel Conflicts: arch/arm/Makefile Updates: arch/arm/mach-u300/core.c arch/arm/mach-u300/timer.c commit 06099961002a813324d057a91695af7c72939da6 Merge: 4c31791 c11c221 Author: Russell King Date: Sun Jun 14 11:01:05 2009 +0100 Merge branch 'stmp' into devel commit 4c31791c3d9d38ac052dd5e2981df713d8f3dcc4 Merge: 98797a2 7517b3f Author: Russell King Date: Sun Jun 14 11:00:16 2009 +0100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel commit 98797a241e28b787b84d308b867ec4c5fe7bbdf8 Merge: ca8cbc8 c626e3f Author: Russell King Date: Sun Jun 14 10:59:32 2009 +0100 Merge branch 'copy_user' of git://git.marvell.com/orion into devel commit 837ec787d85fda8d73193a399ebcea0288e4765b Author: Stefan Richter Date: Tue Jun 9 23:56:55 2009 +0200 firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met This extra check will avoid Broadcast_Channel register related traffic to many IIDC, SBP-2, and AV/C devices which aren't IRMC or have a max_rec < 8 (i.e. support < 512 bytes async payload). This avoids a little bit of traffic after bus reset and is even more careful with devices which don't implement this CSR. The assumption is that no other protocol than IP over 1394 uses the broadcast channel for streams. Signed-off-by: Stefan Richter commit e09377bae410247f2ba35a2edc7ab637a5c79170 Author: Rusty Russell Date: Fri Jun 12 22:33:14 2009 +0930 cpumask: Use accessors for cpu_*_mask: sh Use the accessors rather than frobbing bits directly (the new versions are const). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis Signed-off-by: Paul Mundt commit 74c86d6757c8782e076f15aa87b8b509742c9927 Author: Rusty Russell Date: Fri Jun 12 22:33:14 2009 +0930 cpumask: use mm_cpumask() wrapper: sh Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell Signed-off-by: Paul Mundt commit 819807df6e60d415a73cd25038814dc9c88d376f Author: Rusty Russell Date: Fri Jun 12 22:32:35 2009 +0930 cpumask: arch_send_call_function_ipi_mask: sh We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. Signed-off-by: Rusty Russell Signed-off-by: Paul Mundt commit 0cb73f4c4667bec8648c32c11f728b81180720d9 Author: Rusty Russell Date: Fri Jun 12 22:31:04 2009 +0930 cpumask: remove the now-obsoleted pcibus_to_cpumask(): sh cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell Signed-off-by: Paul Mundt commit 78c99ba1b180a794f35a4d701693fbc1b00fe9e1 Author: Huang Weiyi Date: Sat Jun 13 12:21:11 2009 +0000 sh: pci: remove duplicated #include's Signed-off-by: Huang Weiyi Signed-off-by: Paul Mundt commit ab33dcff40d7a9a28587e4425621e4cbc4089e03 Author: Randy Dunlap Date: Sat Jun 13 20:01:00 2009 -0700 genirq, irq.h: Fix kernel-doc warnings Fix kernel-doc warnings in linux/irq.h: Warning(include/linux/irq.h:201): No description found for parameter 'node' Warning(include/linux/irq.h:201): Excess struct/union/enum/typedef member 'cpu' description in 'irq_desc' Warning(include/linux/irq.h:434): No description found for parameter 'node' Warning(include/linux/irq.h:434): Excess function parameter 'cpu' description in 'alloc_desc_masks' Signed-off-by: Randy Dunlap LKML-Reference: <4A3467EC.50006@oracle.com> Signed-off-by: Ingo Molnar commit 46e443283891dbd45fba7fa037baab831f5d8f3f Author: Randy Dunlap Date: Sat Jun 13 20:00:54 2009 -0700 x86: atomic_32.h: Fix kernel-doc warnings Fix kernel-doc warnings in atomic_32.h: Warning(arch/x86/include/asm/atomic_32.h:265): No description found for parameter 'ptr' Warning(arch/x86/include/asm/atomic_32.h:265): Excess function parameter 'v' description in '__atomic64_read' Warning(arch/x86/include/asm/atomic_32.h:305): Excess function parameter 'old_val' description in 'atomic64_xchg' Signed-off-by: Randy Dunlap LKML-Reference: <4A3467E6.6010907@oracle.com> Signed-off-by: Ingo Molnar commit e61a4b634a15c11725eac8e66b457ba411168c7f Author: Timo Teräs Date: Thu Jun 11 19:38:02 2009 +0000 ipv4: update ARPD help text Removed the statements about ARP cache size as this config option does not affect it. The cache size is controlled by neigh_table gc thresholds. Remove also expiremental and obsolete markings as the API originally intended for arp caching is useful for implementing ARP-like protocols (e.g. NHRP) in user space and has been there for a long enough time. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 125bb8f5637bd653244728f734bcac218986d910 Author: Eric Dumazet Date: Thu Jun 11 20:10:07 2009 +0000 net: use a deferred timer in rt_check_expire For the sake of power saver lovers, use a deferrable timer to fire rt_check_expire() As some big routers cache equilibrium depends on garbage collection done in time, we take into account elapsed time between two rt_check_expire() invocations to adjust the amount of slots we have to check. Based on an initial idea and patch from Tero Kristo Signed-off-by: Eric Dumazet Signed-off-by: Tero Kristo Signed-off-by: David S. Miller commit 13be8a126850692839934116fbdaf008bfdedec1 Author: Randy Dunlap Date: Fri Jun 12 12:59:20 2009 +0000 ieee802154: fix kconfig bool/tristate muckup menuconfig IEEE802154_DRIVERS is a bool that depends on tristate IEEE802154. If the IEEE802154 symbol is 'm', the bool becomes 'y'. This allows tristate symbols under IEEE802154_DRIVERS to be configured as 'y' and cause build problems. Changing the menuconfig bool to a tristate fixes this. drivers/built-in.o: In function `fake_scan_req': fakehard.c:(.text+0x46d625): undefined reference to `ieee802154_nl_scan_confirm' drivers/built-in.o: In function `fake_disassoc_req': fakehard.c:(.text+0x46d66f): undefined reference to `ieee802154_nl_disassoc_confirm' drivers/built-in.o: In function `fake_assoc_req': fakehard.c:(.text+0x46d6be): undefined reference to `ieee802154_nl_assoc_confirm' Signed-off-by: Randy Dunlap Acked-by: Sergey Lapin Signed-off-by: David S. Miller commit 181470fcf3f8ecc16625bc45a5f6f678e57bfb22 Author: Stephen Hemminger Date: Fri Jun 12 19:02:52 2009 +0000 bonding: initialization rework Need to rework how bonding devices are initialized to make it more amenable to creating bonding devices via netlink. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c5129b54f2f346c86cd23fea67e71b45f7f84ff Author: Stephen Hemminger Date: Fri Jun 12 19:02:51 2009 +0000 bonding: use is_zero_ether_addr Remove bogus non-portable possibly unaligned way of testing for zero addres.. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 373500db927706d1f60785aff40b9884f789b01a Author: Stephen Hemminger Date: Fri Jun 12 19:02:50 2009 +0000 bonding: network device names are case sensative The bonding device acts unlike all other Linux network device functions in that it ignores case of device names. The developer must have come from windows! Cleanup the management of names and use standard routines where possible. Flag places where bonding device still doesn't work right with network namespaces. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6d7ab43ccce5fddeca945ba6b06ba32cda4e3355 Author: Stephen Hemminger Date: Fri Jun 12 19:02:49 2009 +0000 bonding: elminate bad refcount code The "expected_refcount" stuff in bonding sysfs module is a mistake. Sysfs does proper refcounting, and it is okay to remove a bond device that has some user process holding the file open. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3d632c3f28e69f0d6d44aa09c4df708d63a91a7c Author: Stephen Hemminger Date: Fri Jun 12 19:02:48 2009 +0000 bonding: fix style issues Resolve some of the complaints from checkpatch, and remove "magic emacs format" comments, and useless MODULE_SUPPORTED_DEVICE(). But should not change actual code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9e71626c1c23ec69372c43c6fe66c1171032bf42 Author: Stephen Hemminger Date: Fri Jun 12 19:02:47 2009 +0000 bonding: fix destructor It is not safe to use a network device destructor that is a function in the module, since it can be called after module is unloaded if sysfs handle is open. When eventually using netlink, the device cleanup code needs to be done via uninit function. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7e0838404541d2758bee089632690aabd82f3d5d Author: Stephen Hemminger Date: Fri Jun 12 19:02:46 2009 +0000 bonding: remove bonding read/write semaphore The whole read/write semaphore locking can be removed. It doesn't add any protection that isn't already done by using the RTNL mutex properly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d93216051ae60995736518ca9ebb58a0e6ade212 Author: Stephen Hemminger Date: Fri Jun 12 19:02:45 2009 +0000 bonding: initialize before registration Avoid a unnecessary carrier state transistion that happens when device is registered. Lockdep works better if initialization is done before registration as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d2991f75354941a4cdf61ce7443d21804b978f89 Author: Stephen Hemminger Date: Fri Jun 12 19:02:44 2009 +0000 bonding: bond_create always called with default parameters bond_create() is always called with same parameters so move the argument down. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0419bb466f5059e40e141b1e3ab258a862ae11f0 Author: Jaswinder Singh Rajput Date: Sun Jun 14 11:51:12 2009 +0530 headers_check fix: mn10300, setup.h fix the following 'make headers_check' warnings: usr/include/asm-mn10300/setup.h:14: extern's make no sense in userspace usr/include/asm-mn10300/setup.h:15: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit c14e1a13b77e0c9cbae7c356ee13af4fc3064428 Author: Jaswinder Singh Rajput Date: Sun Jun 14 11:49:41 2009 +0530 headers_check fix: mn10300, ptrace.h fix the following 'make headers_check' warning: usr/include/asm-mn10300/ptrace.h:80: extern's make no sense in userspace Signed-off-by: Jaswinder Singh Rajput commit 9d794a0c1dbb9551d870683bca0744624db353ed Merge: eaae44d e005797 Author: David S. Miller Date: Sat Jun 13 17:08:11 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6 commit eaae44d248b151e7257ba551ae589cf343c3fdf6 Merge: 5b54814 3dd5d7e Author: David S. Miller Date: Sat Jun 13 16:43:28 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 9aa0a489d909af0cc36c41d3061ef956c7442ce2 Author: Roland Dreier Date: Sat Jun 13 15:14:09 2009 -0700 IB/mthca: Don't double-free IRQs when falling back from MSI-X to INTx When both MSI-X and legacy INTx fail to generate an interrupt, the driver frees the MSI-X interrupts twice. Fix this by clearing the have_irq flag for the MSI-X interrupts when they are freed the first time. Reported-by: Yinghai Lu Tested-by: Yinghai Lu Signed-off-by: Roland Dreier commit 7f72134c32eb64c77d1fb35123ba8bf815bf797c Author: Nicolas Ferre Date: Fri Jun 12 17:58:30 2009 +0200 atmel-mci: add MCI2 register definitions New revision of Atmel MCI interface adds new features. This is a update of register definition in header file. This new MCI IP is called MCI2. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit 199118959e9b31cd6cd6492a323669966061033c Author: Nicolas Ferre Date: Fri Jun 12 17:58:29 2009 +0200 atmel-mci: Integrate AT91 specific definition in header file The MCI IP is shared among AVR32 and AT91 SOCs. AT91 has specific bit definitions in the user interface of MCI SD/MMC IP. Signed-off-by: Nicolas Ferre Acked-by: Haavard Skinnemoen Signed-off-by: Pierre Ossman commit e6f2c7adc1318e233d31d113e6896607c54073a4 Author: Philipp Zabel Date: Thu Jun 4 20:12:37 2009 +0200 tmio_mmc: allow compilation for ASIC3 Now tmio_mmc is able to drive the MMC/SD cell in ASIC3. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit 051913dada046ac948eb6f48c0717fc25de2a917 Author: Ben Dooks Date: Mon Jun 8 23:33:57 2009 +0100 mmc_block: do not DMA to stack In the write recovery routine, the data to get from the card is allocated from the stack. The DMA mapping documentation says explicitly stack memory is not mappable by any of the DMA calls. Change to using kmalloc() to allocate the memory for the result from the card and then free it once we've finished with the transaction. [ Changed to GFP_KERNEL allocation - Pierre Ossman ] Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit be3f4ae0c0c56aab903aceaceed4b9d8418e180e Author: Ben Dooks Date: Mon Jun 8 23:33:52 2009 +0100 sdhci: Print ADMA status and pointer on debug If using ADMA, then we should print the ADMA error and current pointer in sdhci_dumpregs() when any debug is requested. Signed-off-by: Ben Dooks Signed-off-by: Pierre Ossman commit da46a0bd42c81a473618e94871500fb792c98727 Author: Ian Molton Date: Fri Jun 12 21:53:05 2009 +0100 tmio_mmc: fix clock setup This patch fixes the clock setup in tmio_mmc. * Incorrect divider setting * Cruft written to the clock registers (seemingly harmless but Not Good (tm)) It also eliminates some unnecessary ifs and tidies the loop syntax. Thanks to Philipp Zabel who discovered the divider issue, commenting "Except for the SDCLK = HCLK (divider bypassed) case, the clock setting resulted in double the requested frequency. The smallest possible frequency (f_max/512) is configured with a divider setting 0x80, not 0x40." Signed-off-by: Ian Molton Signed-off-by: Pierre Ossman commit 544f277bb849da0ba86cfc4203a4c9139e2cd927 Author: Philipp Zabel Date: Thu Jun 4 20:12:35 2009 +0200 tmio_mmc: map SD control registers after enabling the MFD cell ASIC3 can disable the memory, so we need to wait for mfd_cell->enable to enable the memory before we can map the SD control registers. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit d6c9b5ed37c26503795d241474a17db1d306e7ea Author: Philipp Zabel Date: Thu Jun 4 20:12:34 2009 +0200 tmio_mmc: correct probe return value for num_resources != 3 Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit 6c413cc76b893310b3b258b7de47fb74dcc50203 Author: Philipp Zabel Date: Thu Jun 4 20:12:33 2009 +0200 tmio_mmc: don't use set_irq_type Use an IRQF_TRIGGER_ flag in request_irq instead. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit 5e74672c0925335bb00772530634ac70179e8a19 Author: Philipp Zabel Date: Thu Jun 4 20:12:32 2009 +0200 tmio_mmc: add bus_shift support Some ASIC3 devices in the wild are connected with the address bus shifted by one line, so that its 16-bit registers appear 32-bit aligned in host memory space. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Pierre Ossman commit f0e46cc4971f6be96010d9248e0fc076b229d989 Author: Philipp Zabel Date: Thu Jun 4 20:12:31 2009 +0200 MFD,mmc: tmio_mmc: make HCLK configurable The Toshiba parts all have a 24 MHz HCLK, but HTC ASIC3 has a 24.576 MHz HCLK and AMD Imageon w228x's HCLK is 80 MHz. With this patch, the MFD driver provides the HCLK frequency to tmio_mmc via mfd_cell->driver_data. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Acked-by: Samuel Ortiz Signed-off-by: Pierre Ossman commit fdd858db7113ca64132de390188d7ca00701013d Author: Wolfgang Muees Date: Tue May 26 08:56:19 2009 +0100 mmc_spi: don't use EINVAL for possible transmission errors This patch changes the reported error code for the responses to a command from EINVAL to EFAULT/ENOSYS, as EINVAL is reserved for non-recoverable host errors, and the responses from the SD/MMC card may be because of recoverable transmission errors in the command or in the response. Response codes in SPI mode are NOT protected by a checksum, so don't trust them. Signed-off-by: Wolfgang Muees Acked-by: Matt Fleming Signed-off-by: Pierre Ossman commit c54f6bc67a4398243682f7438a2129906e127d21 Author: Michał Mirosław Date: Sat Jun 13 12:37:59 2009 +0200 cb710: more cleanup for the DEBUG case. Signed-off-by: Michał Mirosław Signed-off-by: Pierre Ossman commit a3456a2da14fb1d8246df63bb229623d58d09ce1 Author: Richard Röjfors Date: Thu Jun 4 13:57:29 2009 +0200 sdhci: platform driver for SDHCI Added a platform driver which uses the SDHCI core. Signed-off-by: Richard Röjfors Signed-off-by: Pierre Ossman commit 99d9260c30f0705c95a5839d9184f2e949d2051e Author: Pierre Ossman Date: Tue Jun 9 20:17:25 2009 +0200 mxcmmc: remove frequency workaround The MMC core has now been fixed to not send silly frequencies to the drivers which means we can remove this workaround. Signed-off-by: Pierre Ossman commit 9bf69a26ad9ccdc49469402275204271b3336ab6 Author: Pierre Ossman Date: Thu Jun 4 08:00:40 2009 +0200 cb710: handle DEBUG define in Makefile Signed-off-by: Pierre Ossman commit 10eb4f901cacf7da87145330f3ca77b723783497 Author: Pierre Ossman Date: Thu Jun 4 07:58:57 2009 +0200 cb710: add missing parenthesis Signed-off-by: Pierre Ossman commit 09adfe454c87e3ec5dffbc42567cd7b4b4948522 Author: Pierre Ossman Date: Thu Jun 4 07:53:38 2009 +0200 cb710: fix printk format string Signed-off-by: Pierre Ossman commit 5f5bac8272be791b67c7b7b411e7c8c5847e598a Author: Michał Mirosław Date: Fri May 22 20:33:59 2009 +0200 mmc: Driver for CB710/720 memory card reader (MMC part) The code is divided in two parts. There is a virtual 'bus' driver that handles PCI device and registers three new devices one per card reader type. The other driver handles SD/MMC part of the reader. Signed-off-by: Michał Mirosław Signed-off-by: Pierre Ossman commit 8385f9cb7f12ef6a5261fa76f1a1b612280c94f7 Author: Daniel Ribeiro Date: Thu May 21 08:54:18 2009 -0300 pxamci: add regulator support. Changes pxamci.c to use the regulator subsystem. Uses the regulator case CONFIG_REGULATOR is defined and a matching is regulator is provided, or falls back to pdata->setpower otherwise. A warning is displayed case both a valid regulator and pdata is set, and the regulator is used. Signed-off-by: Daniel Ribeiro Acked-by: Eric Miao Signed-off-by: Pierre Ossman commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21 Author: Sascha Hauer Date: Thu Apr 9 08:32:02 2009 +0200 MMC core: limit minimum initialization frequency to 400kHz Some controllers allow a much lower frequency than 400kHz. Keep the minimum frequency within sensible limits. Signed-off-by: Sascha Hauer commit ae628903ab6cc9a04fdf8d4ff3f0c5b2ffa6f939 Author: Pierre Ossman Date: Sun May 3 20:45:03 2009 +0200 sdhci: avoid changing voltage needlessly Because of granularity issues, sometimes we told the hardware to change to the voltage we were already at. Rework the logic so this doesn't happen. Signed-off-by: Pierre Ossman commit 7ceeb6a40a4dcc9b9cded6127ad5cdddb79b40ad Author: Uwe Kleine-König Date: Thu Apr 2 19:47:41 2009 +0200 mmc/omap: make mmci-omap using platform_driver_probe A pointer to mmc_omap_probe which lives in .init.text is passed to the core via platform_driver_register and so the kernel might oops if probe is called after the init code is discarded. As requested by David Brownell platform_driver_probe is used instead of moving the probe function to .devinit.text. This saves some memory, but might have the downside that a device being registered after the call to mmc_omap_init but before the init sections are discarded will not be bound anymore to the driver. Signed-off-by: Uwe Kleine-König Acked-by: David Brownell Signed-off-by: Pierre Ossman commit 5cf20aa557e8f9dd5af302b8f33972082479753a Author: Wolfgang Muees Date: Wed Apr 8 10:14:07 2009 +0100 mmc_spi: speedup for slow cards, less wear-out Speedup for slow cards by transfering more data at once. This patch also reduces the amount of wear-out of the flash blocks because fewer partial blocks are written. Signed-off-by: Wolfgang Muees Signed-off-by: Pierre Ossman commit 94d89efb2c347a82a08a61dbac8565b1087c3259 Author: Jorg Schummer Date: Tue Mar 31 17:51:21 2009 +0300 mmc: mmc_rescan detects card change in one run With this patch, mmc_rescan can detect the removal of an mmc card and the insertion of (possibly another) card in the same run. This means that a card change can be detected without having to call mmc_detect_change multiple times. This change generalises the core such that it can be easily used by hosts which provide a mechanism to detect only the presence of a card reader cover, which has to be taken off in order to insert a card. Other hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when a card is removed and when a card is inserted, so it is sufficient for them if mmc_rescan handles only one event at a time. "Cover detect" hosts, however, only receive events about the cover status. This means that between 2 subsequent events, both a card removal and a card insertion can occur. In this case, the pre-patch version of mmc_rescan would only detect the removal of the previous card but not the insertion of the new card. Signed-off-by: Jorg Schummer Signed-off-by: Pierre Ossman commit 95f8598931bd86a5775073db2fa2004b892dd3d0 Author: Pekka Enberg Date: Thu Jun 11 16:18:09 2009 +0300 SLUB: Don't print out OOM warning for __GFP_NOFAIL We must check for __GFP_NOFAIL like the page allocator does; otherwise we end up with false positives. While at it, add the printk_ratelimit() check in SLUB as well. Cc: Alexander Beregalov Signed-off-by: Pekka Enberg commit 26c02cf05ddadfee3952e829b841583794bf46f6 Author: Alexander Beregalov Date: Thu Jun 11 14:08:48 2009 +0400 SLUB: fix build when !SLUB_DEBUG Fix this build error when CONFIG_SLUB_DEBUG is not set: mm/slub.c: In function 'slab_out_of_memory': mm/slub.c:1551: error: 'struct kmem_cache_node' has no member named 'nr_slabs' mm/slub.c:1552: error: 'struct kmem_cache_node' has no member named 'total_objects' [ penberg@cs.helsinki.fi: cleanups ] Signed-off-by: Alexander Beregalov Signed-off-by: Pekka Enberg commit 44b7532b8b464f606053562400719c9c21276037 Merge: 84c48e6 bc3bf8f Author: Linus Torvalds Date: Sat Jun 13 13:22:00 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’ [SCSI] cnic: fix undefined reference to `ip6_route_output' commit 84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b Merge: 5c55b40 bb6e647 Author: Linus Torvalds Date: Sat Jun 13 13:18:32 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: Fix oops on unaligned user access avr32: Add support for Mediama RMTx add-on board for ATNGW100 avr32: Change Atmel ATNGW100 config to add choice of add-on board Fix MIMC200 board LCD init avr32: Fix clash in ATMEL_USART_ flags avr32: remove obsolete hw_interrupt_type avr32: Solves problem with inverted MCI detect pin on Merisc board atmel-mci: Add support for inverted detect pin commit 5c55b40b27bc3249358dcfc86c0845be409ab7a6 Author: David Howells Date: Sat Jun 13 13:23:54 2009 +0100 FRV: Fix interaction with new generic header stuff Fix interaction with new generic header stuff as added by: commit 6103ec56c65c33774c7c38652c8204120c3c7519 Author: Arnd Bergmann Date: Wed May 13 22:56:27 2009 +0000 asm-generic: add generic ABI headers The problem is that asm/signal.h has been made to include asm-generic/signal.h, but the redundant stuff from asm/signal.h has not been discarded, leading to multiple redefinitions. Cc: Arnd Bergmann Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d32f60ed54351ebdea8ae6fbfa0d26e93de29252 Merge: a2ee298 dd14be4 Author: Linus Torvalds Date: Sat Jun 13 13:15:59 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: i2c-ocores: Can add I2C devices to the bus i2c-s3c2410: move to using platform idtable to match devices i2c: OMAP3: Better noise suppression for fast/standard modes i2c: OMAP2/3: Fix scll/sclh calculations i2c: Blackfin TWI: implement I2C_FUNC_SMBUS_I2C_BLOCK functionality i2c: Blackfin TWI: fix transfer errors with repeat start i2c: Blackfin TWI: fix REPEAT START mode doesn't repeat i2c: Blackfin TWI: make sure we don't end up with a CLKDIV=0 commit a2ee2981ae2a7046b10980feae9f4ab813877106 Merge: 7603ef0 0d59597 Author: Linus Torvalds Date: Sat Jun 13 13:14:51 2009 -0700 Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (80 commits) x86, mce: Add boot options for corrected errors x86, mce: Fix mce printing x86, mce: fix for mce counters x86, mce: support action-optional machine checks x86, mce: define MCE_VECTOR x86, mce: rename mce_notify_user to mce_notify_irq x86: fix panic with interrupts off (needed for MCE) x86, mce: export MCE severities coverage via debugfs x86, mce: implement new status bits x86, mce: print header/footer only once for multiple MCEs x86, mce: default to panic timeout for machine checks x86, mce: improve mce_get_rip x86, mce: make non Monarch panic message "Fatal machine check" too x86, mce: switch x86 machine check handler to Monarch election. x86, mce: implement panic synchronization x86, mce: implement bootstrapping for machine check wakeups x86, mce: check early in exception handler if panic is needed x86, mce: add table driven machine check grading x86, mce: remove TSC print heuristic x86, mce: log corrected errors when panicing ... commit 7603ef03a22a33d36d3c75d7c1aca1f957671ad3 Merge: 1904187 fd40261 Author: Linus Torvalds Date: Sat Jun 13 13:08:54 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (23 commits) xfs: fix small mismerge in xfs_vn_mknod xfs: fix warnings with CONFIG_XFS_QUOTA disabled xfs: fix freeing memory in xfs_getbmap() xfs: use generic Posix ACL code xfs: remove SYNC_BDFLUSH xfs: remove SYNC_IOWAIT xfs: split xfs_sync_inodes xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes xfs: introduce a per-ag inode iterator xfs: remove unused parameter from xfs_reclaim_inodes xfs: factor out inode validation for sync xfs: split inode flushing from xfs_sync_inodes_ag xfs: split inode data writeback from xfs_sync_inodes_ag xfs: kill xfs_qmops xfs: validate quota log items during log recovery xfs: update max log size xfs: prevent deadlock in xfs_qm_shake() xfs: fix overflow in xfs_growfs_data_private xfs: fix double unlock in xfs_swap_extents() xfs: fix getbmap vs mmap deadlock ... commit 1904187a694713b80d74186fe058377b067cc195 Merge: 32f44d6 f89d7ea Author: Linus Torvalds Date: Sat Jun 13 13:08:34 2009 -0700 Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 * 'docs-next' of git://git.lwn.net/linux-2.6: Document the debugfs API Documentation: Add "how to write a good patch summary" to SubmittingPatches SubmittingPatches: fix typo docs: Encourage better changelogs in the development process document Document Reported-by in SubmittingPatches commit 32f44d62e463f66307513e90c09b4ceeac13cc22 Merge: f3ad116 08ced85 Author: Linus Torvalds Date: Sat Jun 13 13:08:01 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (35 commits) hwrng: timeriomem - Fix potential oops (request_mem_region/__devinit) crypto: api - Use formatting of module name crypto: testmgr - Allow hash test vectors longer than a page crypto: testmgr - Check all test vector lengths crypto: hifn_795x - fix __dev{init,exit} markings crypto: tcrypt - Do not exit on success in fips mode crypto: compress - Return produced bytes in crypto_{,de}compress_{update,final} hwrng: via_rng - Support VIA Nano hardware RNG on X86_64 builds hwrng: via_rng - Support VIA Nano hardware RNG hwrng: via_rng - The VIA Hardware RNG driver is for the CPU, not Chipset crypto: testmgr - Skip algs not flagged fips_allowed in fips mode crypto: testmgr - Mark algs allowed in fips mode crypto: testmgr - Add ctr(aes) test vectors crypto: testmgr - Dynamically allocate xbuf and axbuf crypto: testmgr - Print self-test pass notices in fips mode crypto: testmgr - Catch base cipher self-test failures in fips mode crypto: testmgr - Add ansi_cprng test vectors crypto: testmgr - Add infrastructure for ansi_cprng self-tests crypto: testmgr - Add self-tests for rfc4309(ccm(aes)) crypto: testmgr - Handle AEAD test vectors expected to fail verification ... commit 5ba73683ba5223b218b26f878663e3907e85eedc Author: Mark Brown Date: Sat Jun 13 11:14:55 2009 +0100 ASoC: Revert duplicated code in SSM2602 driver The Blackfin submission was done as a patch against a different tree and contained a duplicate hunk which will cause us to loose track of the substream pointers when shutting down. Remove one of the duplicated hunks. Signed-off-by: Mark Brown commit c17c2db1f3cea41c3543025905d3582c6937dd95 Author: Frederic Weisbecker Date: Sat Jun 13 17:39:23 2009 +0200 perf annotate: Fixes for filename:line displays - fix addr2line on userspace binary: don't only check kernel image. - fix string allocation size for path: missing ending null char room - fix overflow in symbol extra info Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1244907563-7820-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 11013911daea4820147ae6d7094dd7c6894e8651 Author: Andreas Dilger Date: Sat Jun 13 11:45:35 2009 -0400 ext4: teach the inode allocator to use a goal inode number Enhance the inode allocator to take a goal inode number as a paremeter; if it is specified, it takes precedence over Orlov or parent directory inode allocation algorithms. The extents migration function uses the goal inode number so that the extent trees allocated the migration function use the correct flex_bg. In the future, the goal inode functionality will also be used to allocate an adjacent inode for the extended attributes. Also, for testing purposes the goal inode number can be specified via /sys/fs/{dev}/inode_goal. This can be useful for testing inode allocation beyond 2^32 blocks on very large filesystems. Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" commit f157a4aa98a18bd3817a72bea90d48494e2586e7 Author: Theodore Ts'o Date: Sat Jun 13 11:09:42 2009 -0400 ext4: Use a hash of the topdir directory name for the Orlov parent group Instead of using a random number to determine the goal parent grop for the Orlov top directories, use a hash of the directory name. This allows for repeatable results when trying to benchmark filesystem layout algorithms. Signed-off-by: "Theodore Ts'o" commit 8a8a2050c844d9de224ff591e91bda3f77bd6eda Author: Theodore Ts'o Date: Sat Jun 13 10:08:59 2009 -0400 ext4: document the "abort" mount option Signed-off-by: "Theodore Ts'o" commit 4ab2f15b7f709c3626a7eed075a7225b4c775c7e Author: Theodore Ts'o Date: Sat Jun 13 10:09:36 2009 -0400 ext4: move the abort flag from s_mount_opts to s_mount_flags We're running out of space in the mount options word, and EXT4_MOUNT_ABORT isn't really a mount option, but a run-time flag. So move it to become EXT4_MF_FS_ABORTED in s_mount_flags. Also remove bogus ext2_fs.h / ext4.h simultaneous #include protection, which can never happen. Signed-off-by: "Theodore Ts'o" commit bc0b0d6d69ee9022f18ae264e62beb30ddeb322a Author: Theodore Ts'o Date: Sat Jun 13 10:09:48 2009 -0400 ext4: update the s_last_mounted field in the superblock This field can be very helpful when a system administrator is trying to sort through large numbers of block devices or filesystem images. What is stored in this field can be ambiguous if multiple filesystem namespaces are in play; what we store in practice is the mountpoint interpreted by the process's namespace which first opens a file in the filesystem. Signed-off-by: "Theodore Ts'o" commit 7f4520cc6242780ce720aa440ad4b391f998b558 Author: Theodore Ts'o Date: Sat Jun 13 10:09:41 2009 -0400 ext4: change s_mount_opt to be an unsigned int We can only fit 32 options in s_mount_opt because an unsigned long is 32-bits on a x86 machine. So use an unsigned int to save space on 64-bit platforms. Signed-off-by: "Theodore Ts'o" commit 748de6736c1e482e111f9d1b5a5d5b1787600cad Author: Akira Fujita Date: Wed Jun 17 19:24:03 2009 -0400 ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl The EXT4_IOC_MOVE_EXT exchanges the blocks between orig_fd and donor_fd, and then write the file data of orig_fd to donor_fd. ext4_mext_move_extent() is the main fucntion of ext4 online defrag, and this patch includes all functions related to ext4 online defrag. Signed-off-by: Akira Fujita Signed-off-by: Takashi Sato Signed-off-by: Kazuya Mio Signed-off-by: "Theodore Ts'o" commit bc3bf8fd330ce981ce632a1a4a283eee46838f32 Author: Ingo Molnar Date: Sat Jun 13 08:29:33 2009 +0200 [SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’ drivers/net/cnic.c: In function ‘init_bnx2_cnic’: drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’ drivers/net/cnic.c:2520: warning: assignment makes pointer from integer without a cast make[1]: *** [drivers/net/cnic.o] Error 1 make: *** [drivers/net/cnic.o] Error 2 Caused by not including linux/module.h Signed-off-by: Ingo Molnar Signed-off-by: James Bottomley commit faea56c9bb44f539da1ae0194184873fc2720b20 Author: Randy Dunlap Date: Fri Jun 12 11:43:48 2009 -0700 [SCSI] cnic: fix undefined reference to `ip6_route_output' Fix cnic build for case of CONFIG_INET=n. Fix cnic build for case of CONFIG_IPV6=m and CONFIG_CNIC=y. Fixes these build errors: cnic.c:(.text+0x236a1d): undefined reference to `ip_route_output_key' cnic.c:(.text+0x15a8e8): undefined reference to `ip6_route_output' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit bb6e647051a59dca5a72b3deef1e061d7c1c34da Author: Haavard Skinnemoen Date: Wed Jun 3 14:29:16 2009 +0200 avr32: Fix oops on unaligned user access The unaligned address exception handler (and others) does not scan the fixup tables before oopsing. This is bad because it means passing a badly aligned pointer from user space might crash the kernel. Fix this by scanning the fixup tables in _exception(). This should resolve the issue for unaligned addresses as well as other less common exceptions that might be happening during a userspace access. The page fault handler already does fixup processing. Signed-off-by: Haavard Skinnemoen commit ef281a196d66b8bc2d067a3704712e5b93691fbc Author: Ingo Molnar Date: Sat Jun 13 15:40:35 2009 +0200 perf stat: Enable raw data to be printed If -vv (very verbose) is specified, print out raw data in the following format: $ perf stat -vv -r 3 ./loop_1b_instructions [ perf stat: executing run #1 ... ] [ perf stat: executing run #2 ... ] [ perf stat: executing run #3 ... ] debug: runtime[0]: 235871872 debug: walltime[0]: 236646752 debug: runtime_cycles[0]: 755150182 debug: counter/0[0]: 235871872 debug: counter/1[0]: 235871872 debug: counter/2[0]: 235871872 debug: scaled[0]: 0 debug: counter/0[1]: 2 debug: counter/1[1]: 235870662 debug: counter/2[1]: 235870662 debug: scaled[1]: 0 debug: counter/0[2]: 1 debug: counter/1[2]: 235870437 debug: counter/2[2]: 235870437 debug: scaled[2]: 0 debug: counter/0[3]: 140 debug: counter/1[3]: 235870298 debug: counter/2[3]: 235870298 debug: scaled[3]: 0 debug: counter/0[4]: 755150182 debug: counter/1[4]: 235870145 debug: counter/2[4]: 235870145 debug: scaled[4]: 0 debug: counter/0[5]: 1001411258 debug: counter/1[5]: 235868838 debug: counter/2[5]: 235868838 debug: scaled[5]: 0 debug: counter/0[6]: 27897 debug: counter/1[6]: 235868560 debug: counter/2[6]: 235868560 debug: scaled[6]: 0 debug: counter/0[7]: 2910 debug: counter/1[7]: 235868151 debug: counter/2[7]: 235868151 debug: scaled[7]: 0 debug: runtime[0]: 235980257 debug: walltime[0]: 236770942 debug: runtime_cycles[0]: 755114546 debug: counter/0[0]: 235980257 debug: counter/1[0]: 235980257 debug: counter/2[0]: 235980257 debug: scaled[0]: 0 debug: counter/0[1]: 3 debug: counter/1[1]: 235980049 debug: counter/2[1]: 235980049 debug: scaled[1]: 0 debug: counter/0[2]: 1 debug: counter/1[2]: 235979907 debug: counter/2[2]: 235979907 debug: scaled[2]: 0 debug: counter/0[3]: 135 debug: counter/1[3]: 235979780 debug: counter/2[3]: 235979780 debug: scaled[3]: 0 debug: counter/0[4]: 755114546 debug: counter/1[4]: 235979652 debug: counter/2[4]: 235979652 debug: scaled[4]: 0 debug: counter/0[5]: 1001439771 debug: counter/1[5]: 235979304 debug: counter/2[5]: 235979304 debug: scaled[5]: 0 debug: counter/0[6]: 23723 debug: counter/1[6]: 235979050 debug: counter/2[6]: 235979050 debug: scaled[6]: 0 debug: counter/0[7]: 2213 debug: counter/1[7]: 235978820 debug: counter/2[7]: 235978820 debug: scaled[7]: 0 debug: runtime[0]: 235888002 debug: walltime[0]: 236700533 debug: runtime_cycles[0]: 754881504 debug: counter/0[0]: 235888002 debug: counter/1[0]: 235888002 debug: counter/2[0]: 235888002 debug: scaled[0]: 0 debug: counter/0[1]: 2 debug: counter/1[1]: 235887793 debug: counter/2[1]: 235887793 debug: scaled[1]: 0 debug: counter/0[2]: 1 debug: counter/1[2]: 235887645 debug: counter/2[2]: 235887645 debug: scaled[2]: 0 debug: counter/0[3]: 135 debug: counter/1[3]: 235887499 debug: counter/2[3]: 235887499 debug: scaled[3]: 0 debug: counter/0[4]: 754881504 debug: counter/1[4]: 235887368 debug: counter/2[4]: 235887368 debug: scaled[4]: 0 debug: counter/0[5]: 1001401731 debug: counter/1[5]: 235887024 debug: counter/2[5]: 235887024 debug: scaled[5]: 0 debug: counter/0[6]: 24212 debug: counter/1[6]: 235886786 debug: counter/2[6]: 235886786 debug: scaled[6]: 0 debug: counter/0[7]: 1824 debug: counter/1[7]: 235886560 debug: counter/2[7]: 235886560 debug: scaled[7]: 0 Performance counter stats for '/home/mingo/loop_1b_instructions' (3 runs): 235.913377 task-clock-msecs # 0.997 CPUs ( +- 0.011% ) 2 context-switches # 0.000 M/sec ( +- 0.000% ) 1 CPU-migrations # 0.000 M/sec ( +- 0.000% ) 136 page-faults # 0.001 M/sec ( +- 0.730% ) 755048744 cycles # 3200.534 M/sec ( +- 0.009% ) 1001417586 instructions # 1.326 IPC ( +- 0.001% ) 25277 cache-references # 0.107 M/sec ( +- 3.988% ) 2315 cache-misses # 0.010 M/sec ( +- 9.845% ) 0.236706075 seconds time elapsed. This allows the summary stats to be validated. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 60e383931d41b0bccefdf318ffde8b49e343e9bc Author: Randy Dunlap Date: Thu Jul 24 16:09:32 2008 -0700 kmemcheck: include module.h to prevent warnings kmemcheck/shadow.c needs to include to prevent the following warnings: linux-next-20080724/arch/x86/mm/kmemcheck/shadow.c:64: warning : data definition has no type or storage class linux-next-20080724/arch/x86/mm/kmemcheck/shadow.c:64: warning : type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL' linux-next-20080724/arch/x86/mm/kmemcheck/shadow.c:64: warning : parameter names (without types) in function declaration Signed-off-by: Randy Dunlap Cc: vegardno@ifi.uio.no Cc: penberg@cs.helsinki.fi Cc: akpm Signed-off-by: Ingo Molnar commit dfec072ecd35ba6ecad2d51dde325253ac9a2936 Author: Vegard Nossum Date: Fri Apr 4 00:51:41 2008 +0200 kmemcheck: add the kmemcheck core General description: kmemcheck is a patch to the linux kernel that detects use of uninitialized memory. It does this by trapping every read and write to memory that was allocated dynamically (e.g. using kmalloc()). If a memory address is read that has not previously been written to, a message is printed to the kernel log. Thanks to Andi Kleen for the set_memory_4k() solution. Andrew Morton suggested documenting the shadow member of struct page. Signed-off-by: Vegard Nossum Signed-off-by: Pekka Enberg [export kmemcheck_mark_initialized] [build fix for setup_max_cpus] Signed-off-by: Ingo Molnar [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit fbe0b8d5822a88e2e769a318eaf3134da5881769 Merge: c878b7d 4024533 Author: Haavard Skinnemoen Date: Sat Jun 13 15:34:22 2009 +0200 Merge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 commit 42202dd56c717f173cd0bf2390249e1bf5cf210b Author: Ingo Molnar Date: Sat Jun 13 14:57:28 2009 +0200 perf stat: Add feature to run and measure a command multiple times Add the --repeat feature to perf stat, which repeats a given command up to a 100 times, collects the stats and calculates an average and a stddev. For example, the following oneliner 'perf stat' command runs hackbench 5 times and prints a tabulated result of all metrics, with averages and noise levels (in percentage) printed: aldebaran:~/linux/linux/tools/perf> ./perf stat --repeat 5 ~/hackbench 10 Time: 0.117 Time: 0.108 Time: 0.089 Time: 0.088 Time: 0.100 Performance counter stats for '/home/mingo/hackbench 10' (5 runs): 1243.989586 task-clock-msecs # 10.460 CPUs ( +- 4.720% ) 47706 context-switches # 0.038 M/sec ( +- 19.706% ) 387 CPU-migrations # 0.000 M/sec ( +- 3.608% ) 17793 page-faults # 0.014 M/sec ( +- 0.354% ) 3770941606 cycles # 3031.329 M/sec ( +- 4.621% ) 1566372416 instructions # 0.415 IPC ( +- 2.703% ) 16783421 cache-references # 13.492 M/sec ( +- 5.202% ) 7128590 cache-misses # 5.730 M/sec ( +- 7.420% ) 0.118924455 seconds time elapsed. The goal of this feature is to allow the reliance on these accurate statistics and to know how many times a command has to be repeated for the noise to go down to an acceptable level. (The -v option can be used to see a line printed out as each run progresses.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit e594c8de3bd4e7732ed3340fb01e18ec94b12df2 Author: Vegard Nossum Date: Sat Jun 13 14:15:57 2009 +0200 kmemcheck: add the kmemcheck documentation Thanks to Sitsofe Wheeler, Randy Dunlap, and Jonathan Corbet for providing input and feedback on this! Signed-off-by: Vegard Nossum commit 44175b6f397a6724121eeaf0f072e2c912a46614 Author: Ingo Molnar Date: Sat Jun 13 13:35:00 2009 +0200 perf stat: Reorganize output - use IPC for the instruction normalization output - CPUs for the CPU utilization factor value. - print out time elapsed like the other rows - tidy up the task-clocks/cpu-clocks printout Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 61cdd7a28f8b515140cb5d8aea518678f0fae024 Author: Mike Frysinger Date: Fri Jun 12 07:30:55 2009 -0400 Blackfin: hook up new rt_tgsigqueueinfo syscall Signed-off-by: Mike Frysinger commit d0cb9b4ef680c518087b019e29fe5c2eca9a0740 Author: Mike Frysinger Date: Thu Jun 11 21:52:35 2009 +0000 Blackfin: improve CLKIN_HZ config default Most boards use 25000000 as the default HZ, so rather than add a whole bunch more boards, make it the default for everyone. This also fixes randconfig builds as there was no default before. Signed-off-by: Mike Frysinger commit 1ee76d7e169ff2b0ff1df4b40b9d5276eec9ffb4 Author: Mike Frysinger Date: Wed Jun 10 04:45:29 2009 -0400 Blackfin: initial support for ftrace grapher Signed-off-by: Mike Frysinger commit 1c873be744410e26fb91ee9228c90adff6eabe15 Author: Mike Frysinger Date: Tue Jun 9 07:25:09 2009 -0400 Blackfin: initial support for ftrace Just the basic ftrace support here -- mcount and the ftrace stub. Signed-off-by: Mike Frysinger commit 6fa68e7a7f0641e8b7f263141d600877cdc2b5f2 Author: Mike Frysinger Date: Mon Jun 8 18:45:01 2009 -0400 Blackfin: enable support for LOCKDEP Signed-off-by: Mike Frysinger commit c7b412f41d9c95d084e049fe83248ebb41a2d8f5 Author: Mike Frysinger Date: Mon Jun 8 18:44:45 2009 -0400 Blackfin: add preliminary support for STACKTRACE Signed-off-by: Mike Frysinger commit 5203fa82f3907a9c3357f84aa1cdfb57e55cc175 Author: Mike Frysinger Date: Mon Jun 8 18:40:28 2009 -0400 Blackfin: move custom sections into sections.h The Blackfin arch has a bunch of custom section markings for its on-chip regions, but they aren't declared in the right header. Signed-off-by: Mike Frysinger commit e38eb89210ce7171291e4164c24b8d1e6c5385ea Author: Mike Frysinger Date: Mon Jun 8 18:11:21 2009 -0400 Blackfin: punt unused/wrong mutex-dec.h Looks like the mutex-dec.h header file was incorrectly copied into the Blackfin asm path. Nothing uses it, so punt it. Signed-off-by: Mike Frysinger commit 8f86001f76609f70bfcce34e7e2a11860e012ace Author: Mike Frysinger Date: Mon Jun 8 12:49:48 2009 -0400 Blackfin: add support for irqflags This converts the irq handling in the Blackfin arch from the old irq.h / system.h method to the new irqflags.h. A stepping stone on the way to other tracing functionality. Signed-off-by: Mike Frysinger commit 538067c822e2512d9a165c71c0c5722168470304 Author: Mike Frysinger Date: Sun Jun 7 03:47:01 2009 -0400 Blackfin: add support for bzip2/lzma compressed kernel images Since U-Boot can support these compression types, add appropriate targets to the Blackfin boot files. Signed-off-by: Mike Frysinger commit bac7d89ebe64eca9ce63ee6a5e4341d252671467 Author: Mike Frysinger Date: Sun Jun 7 03:46:06 2009 -0400 Blackfin: convert Kconfig style to def_bool Makes the file easier to read when there isn't so much clutter. Signed-off-by: Mike Frysinger commit 7a8b71db9dbb87640ffabcf42285781a808de342 Author: Mike Frysinger Date: Fri Jun 5 20:41:17 2009 -0400 Blackfin: bf548-ezkit: update smsc911x resources The older smsc911x driver made platform data optional, but the newer one always requires it, so add proper settings to the BF548-EZKIT. Signed-off-by: Mike Frysinger commit 6640cfa82b77fa63f6d3fc284dbd3ab957842936 Author: Yi Li Date: Thu Jun 11 01:51:57 2009 -0400 Blackfin: update aedos-ipipe code to upstream 1.10-00 Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 4f84b6e0bb9a7d92c791ba3607674c98f69418cb Author: Mike Frysinger Date: Wed Jun 10 20:45:48 2009 -0400 Blackfin: bf537-stamp: update ADP5520 resources The ADP5520 hooks up to PF7 rather than PG0. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit a427293f84ea2491fbdcfbddadc2a2f68e0d2969 Author: Graf Yang Date: Wed Jun 10 08:45:12 2009 +0000 Blackfin: bf518f-ezbrd: fix SPI CS for SPI flash The SPI flash on the BF518F-EZBRD board is actually hooked up to CS2, not CS1, so make sure the resources are correct. URL: http://blackfin.uclinux.org/gf/tracker/5220 Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 53122693c3cef005495279835286c36c58e035e8 Author: Yi Li Date: Fri Jun 5 12:11:11 2009 +0000 Blackfin: define SPI IRQ in board resources The Blackfin SPI driver can be driven by an IRQ now, so declare it in the board resources. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 54ebae7166275a618f0228138e67ff7d10a3b9d0 Author: Robin Getz Date: Wed Jun 10 06:11:21 2009 +0000 Blackfin: do not configure the UART early if on wrong processor Before we configure the early UART, check to make sure we are running on the expected processor - otherwise, we cause problems by configuring pins that don't exist (and causing an infinite loop of faults). Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 86f2008bf546af9a434f480710e8d33891616bf5 Author: Sonic Zhang Date: Wed Jun 10 08:42:41 2009 +0000 Blackfin: fix deadlock in SMP IPI handler When a low priority interrupt (like ethernet) is triggered between 2 high priority IPI messages, a deadlock in disable_irq() is hit by the second IPI handler. This is because the second IPI message is queued within the first IPI handler, but the handler doesn't process all messages, and new ones are inserted rather than appended. So now we process all the pending messages, and append new ones to the pending list. URL: http://blackfin.uclinux.org/gf/tracker/5226 Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit f9ee3ab81c222219ad4467b75b406efe2616d8a4 Author: Mike Frysinger Date: Mon Jun 8 09:51:30 2009 -0400 Blackfin: fix flag storage for irq funcs The IRQ functions take an "unsigned long" flags variable, not any other type, so fix the places where we use "int" or "long". Signed-off-by: Mike Frysinger commit 82bd1d7d45a69c54fb6beedb78ccb1c7d308dd93 Author: Mike Frysinger Date: Sun Jun 7 17:08:28 2009 -0400 Blackfin: push down exception oops checking Rather than maintain a duplicate list of valid exceptions we can take in the kernel both in the first if() check and the switch() check, delay the oops check to after the switch(). All valid exceptions will have returned by this point leaving only the invalid ones. Signed-off-by: Mike Frysinger commit 6510a20e1b1a3a5703429a09d03adf44882ae373 Author: Mike Frysinger Date: Sun Jun 7 15:07:25 2009 -0400 Blackfin: fix trap_c() exit paths The trap_c() code pushes the hardware trace status onto the stack, but doesn't always restore it when returning from some trap code paths. So unify the exit code paths to all head to the end of the function. Signed-off-by: Mike Frysinger commit 47e9dedb720364e0adff0e99960fa294c6161f71 Author: Sonic Zhang Date: Wed Jun 10 08:57:08 2009 +0000 Blackfin: add blackfin_invalidate_entire_icache for SMP systems The KGDB code uses this when switching processors to make sure the icache is in a valid state. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 2466ac65560ee8b7506eea3987aba9519355fd02 Author: Robin Getz Date: Mon Jun 8 17:52:27 2009 +0000 Blackfin: include the cpu compiled version in /proc/cpuinfo Since the compiled-for cpu revision can be significant, include it in the cpuinfo output along side the cpu revision we're currently running on. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 70f12567ac9aca9c2f242ae060d7de245904889e Author: Mike Frysinger Date: Sun Jun 7 17:18:25 2009 -0400 Blackfin: add support for GENERIC_BUG Signed-off-by: Mike Frysinger commit 67834fa93d7a4fac9069a07e739110d3916d8cd4 Author: Jie Zhang Date: Wed Jun 10 06:26:26 2009 +0000 Blackfin: rename bfin_addr_dcachable to bfin_addr_dcacheable The latter naming convention is much more common. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger commit aa286ba3aef7d1b78467313111a13888fb4c3a66 Author: Mike Frysinger Date: Fri Jun 5 16:43:39 2009 +0000 Blackfin: export ip_compute_csum/csum_partial_copy_from_user symbols All other arches do this, and some places like the net/scsi code will fail as modules without them. Signed-off-by: Mike Frysinger commit 16aadcb680e188bd0a6d7b0ecd5d0ceabd4fba4d Author: Robin Getz Date: Tue Jun 9 01:18:41 2009 +0000 Blackfin: only handle CPLB protection violations when MPU is enabled We don't need to handle CPLB protection violations unless we are running with the MPU on. Fix the entry code to call common trap_c, and remove the code which is never run. This allows the traps test suite to run on older boards with the MPU disabled. URL: http://blackfin.uclinux.org/gf/tracker/5129 Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit f4db43a38f7387c3b19c9565124c06ab0c5d6e9a Author: Jaswinder Singh Rajput Date: Sat Jun 13 01:06:21 2009 +0530 perf_counter, x86: Update AMD hw caching related event table All AMD models share the same hw caching related event table. Also complete the table with more events. Signed-off-by: Jaswinder Singh Rajput Cc: Robert Richter Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1244835381.2802.2.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 4d2be1267fcfb3a4d2198fd696aec5e3dcbce60e Author: Jaswinder Singh Rajput Date: Thu Jun 11 15:28:09 2009 +0530 perf_counter, x86: Check old-AMD performance monitoring support AMD supports performance monitoring start from K7 (i.e. family 6), so disable it for earlier AMD CPUs. Signed-off-by: Jaswinder Singh Rajput Cc: Robert Richter Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1244714289.6923.0.camel@ht.satnam> Signed-off-by: Ingo Molnar commit d5e8da6449d4ef4bac35ea9b9719a2cda02e7b39 Author: Marti Raudsepp Date: Sat Jun 13 02:35:01 2009 +0300 perf_counter: Fix stack corruption in perf_read_hw With PERF_FORMAT_ID, perf_read_hw now needs space for up to 4 values. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 87847b8f26cc7176ec9b239898dc7ce47a94e1a6 Author: Paul Mackerras Date: Sat Jun 13 17:06:50 2009 +1000 perf_counter: Fix atomic_set vs. atomic64_t type mismatch Using atomic_set on an atomic64_t variable gives a compiler warning on powerpc, and won't give the desired result at runtime. This fixes an instance of this error in the perf_counter code. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18995.20490.979429.244883@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 971738f3669092dd247eaf89658f2685180492a0 Author: Frederic Weisbecker Date: Sat Jun 13 00:11:22 2009 +0200 perf annotate: Print a sorted summary of annotated overhead lines It's can be very annoying to scroll down perf annotated output until we find relevant overhead. Using the -l option, you can now have a small summary sorted per overhead in the beginning of the output. Example: ./perf annotate -l -k ../../vmlinux -s __lock_acquire Sorted summary for file ../../vmlinux ---------------------------------------------- 12.04 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1653 4.61 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1740 3.77 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1775 3.56 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1653 2.93 /home/fweisbec/linux/linux-2.6-tip/arch/x86/include/asm/irqflags.h:15 2.83 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2545 2.30 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2594 2.20 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2388 2.20 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:730 2.09 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:730 2.09 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:138 1.88 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2548 1.47 /home/fweisbec/linux/linux-2.6-tip/arch/x86/include/asm/irqflags.h:15 1.36 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2594 1.36 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:730 1.26 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1654 1.26 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1653 1.15 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:2592 1.15 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1740 1.15 /home/fweisbec/linux/linux-2.6-tip/kernel/lockdep.c:1740 [...] Only overhead over 0.5% are summarized. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1244844682-12928-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 301406b9c69e4914cf45ae9d5f929e7bcf0d93cd Author: Frederic Weisbecker Date: Sat Jun 13 00:11:21 2009 +0200 perf annotate: Print the filename:line for annotated colored lines When we have a colored line in perf annotate, ie a middle/high overhead one, it's sometimes useful to get the matching line and filename from the source file, especially this path prepares to another subsequent one which will print a sorted summary of midle/high overhead lines in the beginning of the output. Filename:Lines have the same color than the concerned ip lines. It can be slow because it relies on addr2line. We could also use objdump with -l but that implies we would have to bufferize objdump output and parse it to filter the relevant lines since we want to print a sorted summary in the beginning. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1244844682-12928-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3dd5d7e3ba5e9b05586ff0d59ae6d700b7b7c607 Author: Joe Perches Date: Sat Jun 13 12:32:39 2009 +0200 x_tables: Convert printk to pr_err Signed-off-by: Joe Perches Signed-off-by: Patrick McHardy commit dd7669a92c6066b2b31bae7e04cd787092920883 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:30:52 2009 +0200 netfilter: conntrack: optional reliable conntrack event delivery This patch improves ctnetlink event reliability if one broadcast listener has set the NETLINK_BROADCAST_ERROR socket option. The logic is the following: if an event delivery fails, we keep the undelivered events in the missed event cache. Once the next packet arrives, we add the new events (if any) to the missed events in the cache and we try a new delivery, and so on. Thus, if ctnetlink fails to deliver an event, we try to deliver them once we see a new packet. Therefore, we may lose state transitions but the userspace process gets in sync at some point. At worst case, if no events were delivered to userspace, we make sure that destroy events are successfully delivered. Basically, if ctnetlink fails to deliver the destroy event, we remove the conntrack entry from the hashes and we insert them in the dying list, which contains inactive entries. Then, the conntrack timer is added with an extra grace timeout of random32() % 15 seconds to trigger the event again (this grace timeout is tunable via /proc). The use of a limited random timeout value allows distributing the "destroy" resends, thus, avoiding accumulating lots "destroy" events at the same time. Event delivery may re-order but we can identify them by means of the tuple plus the conntrack ID. The maximum number of conntrack entries (active or inactive) is still handled by nf_conntrack_max. Thus, we may start dropping packets at some point if we accumulate a lot of inactive conntrack entries that did not successfully report the destroy event to userspace. During my stress tests consisting of setting a very small buffer of 2048 bytes for conntrackd and the NETLINK_BROADCAST_ERROR socket flag, and generating lots of very small connections, I noticed very few destroy entries on the fly waiting to be resend. A simple way to test this patch consist of creating a lot of entries, set a very small Netlink buffer in conntrackd (+ a patch which is not in the git tree to set the BROADCAST_ERROR flag) and invoke `conntrack -F'. For expectations, no changes are introduced in this patch. Currently, event delivery is only done for new expectations (no events from expectation expiration, removal and confirmation). In that case, they need a per-expectation event cache to implement the same idea that is exposed in this patch. This patch can be useful to provide reliable flow-accouting. We still have to add a new conntrack extension to store the creation and destroy time. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit d219dce76c64f2c883dad0537fa09a56d5ff0a10 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:28:57 2009 +0200 list_nulls: add hlist_nulls_add_head and hlist_nulls_del This patch adds the hlist_nulls_add_head() function which is based on hlist_nulls_add_head_rcu() but without the use of rcu_assign_pointer(). It also adds hlist_nulls_del which is exactly the same like hlist_nulls_del_rcu(). Signed-off-by: Pablo Neira Ayuso Acked-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 9858a3ae1d4b390fbaa9c30b83cb66d861b76294 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:28:22 2009 +0200 netfilter: conntrack: move helper destruction to nf_ct_helper_destroy() This patch moves the helper destruction to a function that lives in nf_conntrack_helper.c. This new function is used in the patch to add ctnetlink reliable event delivery. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit a0891aa6a635f658f29bb061a00d6d3486941519 Author: Pablo Neira Ayuso Date: Sat Jun 13 12:26:29 2009 +0200 netfilter: conntrack: move event caching to conntrack extension infrastructure This patch reworks the per-cpu event caching to use the conntrack extension infrastructure. The main drawback is that we consume more memory per conntrack if event delivery is enabled. This patch is required by the reliable event delivery that follows to this patch. BTW, this patch allows you to enable/disable event delivery via /proc/sys/net/netfilter/nf_conntrack_events in runtime, although you can still disable event caching as compilation option. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 65cb9fda32be613216f601a330b311c3bd7a8436 Author: Patrick McHardy Date: Sat Jun 13 12:21:49 2009 +0200 netfilter: nf_conntrack: use mod_timer_pending() for conntrack refresh Use mod_timer_pending() instead of atomic sequence of del_timer()/ add_timer(). mod_timer_pending() does not rearm an inactive timer, so we don't need the conntrack lock anymore to make sure we don't accidentally rearm a timer of a conntrack which is in the process of being destroyed. With this change, we don't need to take the global lock anymore at all, counter updates can be performed under the per-conntrack lock. Signed-off-by: Patrick McHardy commit 266d07cb1c9a0c345d7d3aea889f92062894059e Author: Patrick McHardy Date: Sat Jun 13 12:21:10 2009 +0200 netfilter: nf_log: fix sleeping function called from invalid context Fix regression introduced by 17625274 "netfilter: sysctl support of logger choice": BUG: sleeping function called from invalid context at /mnt/s390test/linux-2.6-tip/arch/s390/include/asm/uaccess.h:234 in_atomic(): 1, irqs_disabled(): 0, pid: 3245, name: sysctl CPU: 1 Not tainted 2.6.30-rc8-tipjun10-02053-g39ae214 #1 Process sysctl (pid: 3245, task: 000000007f675da0, ksp: 000000007eb17cf0) 0000000000000000 000000007eb17be8 0000000000000002 0000000000000000 000000007eb17c88 000000007eb17c00 000000007eb17c00 0000000000048156 00000000003e2de8 000000007f676118 000000007eb17f10 0000000000000000 0000000000000000 000000007eb17be8 000000000000000d 000000007eb17c58 00000000003e2050 000000000001635c 000000007eb17be8 000000007eb17c30 Call Trace: (<00000000000162e6> show_trace+0x13a/0x148) <00000000000349ea> __might_sleep+0x13a/0x164 <0000000000050300> proc_dostring+0x134/0x22c <0000000000312b70> nf_log_proc_dostring+0xfc/0x188 <0000000000136f5e> proc_sys_call_handler+0xf6/0x118 <0000000000136fda> proc_sys_read+0x26/0x34 <00000000000d6e9c> vfs_read+0xac/0x158 <00000000000d703e> SyS_read+0x56/0x88 <0000000000027f42> sysc_noemu+0x10/0x16 Use the nf_log_mutex instead of RCU to fix this. Reported-and-tested-by: Maran Pakkirisamy Signed-off-by: Patrick McHardy commit 8dcce4081305d3d1629190edd112e6473c315cbc Merge: f3ad116 103f703 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 12:00:54 2009 +0200 Merge branch 'bp-remove-pc-buf' into for-next Conflicts: drivers/ide/ide-tape.c commit cd6d95d8449b7c9f415f26041e9ae173d387b6bd Author: Thomas Gleixner Date: Fri Jun 12 11:29:27 2009 +0200 clocksource: prevent selection of low resolution clocksourse also for nohz=on commit 3f68535adad (clocksource: sanity check sysfs clocksource changes) prevents selection of non high resolution capable clocksources when high resolution mode is active, but did not take into account that the same rules apply for highres=off nohz=on. Check the tick device mode instead of hrtimer_hres_active() to verify whether the system needs to be protected from a switch to jiffies or other non highres capable clock sources. Reported-by: Luming Yu Signed-off-by: Thomas Gleixner commit b21477f9d257cd8d45f7df32a9ebed45dbdfa4b5 Author: Ben Dooks Date: Sat Jun 13 10:46:34 2009 +0100 MAINTAINERS: Add ARM S3C2442, S3C2443, S3C6400, S3C6410 and ARM/SAMSUNG Add entries for the ARM architectures and platform support that are currently being maintained by myself. Signed-off-by: Ben Dooks commit 3a45c9e4b192c9e96f65a8473c7a28e09cf2ac2a Author: Ben Dooks Date: Sat Jun 13 10:43:19 2009 +0100 MAINTAINERS: Update file list for ARM/S3C2410 and ARM/S3C2440 Add F: entries for ARM/S3C2410 and ARM/S3C2440 to update the entries. Signed-off-by: Ben Dooks commit dd14be4c274fc484eccace03ae9726e516630331 Author: Richard Röjfors Date: Fri Jun 5 15:40:32 2009 +0200 i2c-ocores: Can add I2C devices to the bus There is sometimes a need for the ocores driver to add devices to the bus when installed. i2c_register_board_info can not always be used, because the I2C devices are not known at an early state, they could for instance be connected on a I2C bus on a PCI device which has the Open Cores IP. i2c_new_device can not be used in all cases either since the resulting bus nummer might be unknown. The solution is the pass a list of I2C devices in the platform data to the Open Cores driver. This is useful for MFD drivers. Signed-off-by: Richard Röjfors Signed-off-by: Ben Dooks commit 7d85ccd816535f56880f7dfdb4de056794376b2c Author: Ben Dooks Date: Fri Jun 12 10:45:29 2009 +0100 i2c-s3c2410: move to using platform idtable to match devices Change to using platform id table to match either of the two supported platform device names in the driver. This simplifies the driver init and exit code Note, log messages will now be prefixed with 's3c-i2c' instead of the driver name, so output will be of the form of: s3c-i2c s3c2440-i2c.0: slave address 0x10 Signed-off-by: Ben Dooks commit 84bf2c868f3ca996e5bbd3beb2ef502f457140f3 Author: Aaro Koskinen Date: Wed May 27 17:54:46 2009 +0300 i2c: OMAP3: Better noise suppression for fast/standard modes Use longer noise filter period for fast and standard mode. Based on an earlier patch by Eero Nurkkala. Signed-off-by: Aaro Koskinen Acked-by: Tony Lindgren Signed-off-by: Ben Dooks commit baf46b4e378d7950dff7ba30cfd50ff585987cb4 Author: Aaro Koskinen Date: Wed May 27 17:54:45 2009 +0300 i2c: OMAP2/3: Fix scll/sclh calculations Fix scll/sclh calculations for HS and fast modes. Currently the driver uses equal (roughly) low/high times which will result in too short low time. OMAP3430 TRM gives the following equations: F/S: tLow = (scll + 7) * internal_clk tHigh = (sclh + 5) * internal_clk HS: tLow = (scll + 7) * fclk tHigh = (sclh + 5) * fclk Furthermore, the I2C specification sets the following minimum values for HS tLow/tHigh for capacitive bus loads 100 pF (maximum speed 3400) and 400 pF (maximum speed 1700): speed tLow tHigh 3400 160 ns 60 ns 1700 320 ns 120 ns and for F/S: speed tLow tHigh 400 1300 ns 600 ns 100 4700 ns 4000 ns By using duty cycles 33/66 (HS, F) and 50/50 (S) we stay above these minimum values. Signed-off-by: Aaro Koskinen Acked-by: Tony Lindgren Signed-off-by: Ben Dooks commit e0cd2dd5dd2b7c6512e46ce0b4f119cd7b0c74a4 Author: Michael Hennerich Date: Wed May 27 09:24:10 2009 +0000 i2c: Blackfin TWI: implement I2C_FUNC_SMBUS_I2C_BLOCK functionality Some drivers need i2c_smbus_read_i2c_block_data() functionality, so add support for it to the Blackfin I2C bus driver. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger [ben-linux@fluff.org: shortened subject] Signed-off-by: Ben Dooks commit 94327d009e3aa20214e9dfa486a1fd14445fe736 Author: Frank Shew Date: Tue May 19 07:23:49 2009 -0400 i2c: Blackfin TWI: fix transfer errors with repeat start We have a custom BF537 board with an I2C RTC (MAX DS3231) running uclinux 2007R1 for some time. Recently during migration to 2008R1.5-RC3 we losted access to the RTC. The RTC driver calls 'i2c_transfer()' which in turns calls 'bfin_twi_master_xfer()' in i2c-bfin-twi.c. Compared with 2007R1, it looks like the 2008R1.5 version of i2c-bin-twi.c has a new mode 'TWI_I2C-MODE_REPEAT' which corresponds to the Repeat Start Condition described in the HRM. However, according to the HRM, at XMIT or RECV interrupt and when the data count is 0, not only is the RESTART bit supposed to be set, but MDIR must also be set if the next operation is a receive sequence, and cleared if not. Currently there is no code that looks at the I2C_M_RD bit in the flag from the next cur_msg and set/clear the MDIR flag accordingly at the same time that the RSTART bit is set. Instead, MDIR is set or cleared (by OR'ing with 0?) after the RESTART bit has been cleared during handling of MCOMP interrupt. It appears that this is causing our failure with reading the RTC, as a quick patch to set/clear MDIR when RESTART is set seem to solve our problem. Signed-off-by: Frank Shew Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu [ben-linux@fluff.org: shorted subject] Signed-off-by: Ben Dooks commit 57a8f32eafa6f36ea3a128e8b13f353c5a3ca9b2 Author: Sonic Zhang Date: Tue May 19 07:21:58 2009 -0400 i2c: Blackfin TWI: fix REPEAT START mode doesn't repeat Avoid rewrite TWI MASTER_CTL reg when issue next message In i2c repeat transfer mode, byte count of next message should be filled into part of the TWI MASTER_CTL reg when interrupt MCOMP of last message transfer is triggered. But, other bits in this reg should not be touched. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu [ben-linux@fluff.org: shorted subject] Signed-off-by: Ben Dooks commit 9528d1c7a541b481a0e80301dc8d545848104023 Author: Michael Hennerich Date: Mon May 18 08:14:41 2009 -0400 i2c: Blackfin TWI: make sure we don't end up with a CLKDIV=0 Make sure we don't end up with an invalid CLKDIV=0 in case someone specifies 20kHz SCL or less (5 * 1024 / 20 = 0x100). Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu [ben-linux@fluff.org: shortened subject line] Signed-off-by: Ben Dooks commit 5b548140225c6bbbbd560551dd1048b2c0ce58be Author: Patrick McHardy Date: Fri Jun 12 06:22:29 2009 +0000 net: use symbolic values for ndo_start_xmit() return codes Convert magic values 1 and -1 to NETDEV_TX_BUSY and NETDEV_TX_LOCKED respectively. 0 (NETDEV_TX_OK) is not changed to keep the noise down, except in very few cases where its in direct proximity to one of the other values. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b2c4b972c0226406361f83b747eb5cdab51e68e Author: Patrick McHardy Date: Fri Jun 12 06:14:36 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 8) Fix up USB drivers that return an errno value (result of usb_submit_urb()) to qdisc_restart(), causing qdisc_restart() to print a warning and requeue/ retransmit the skb. - hso: skb is freed: use after free - at76_usb: skb is freed: use after free Compile tested only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 81fbbf60408ad6b98ff72120de948cb7fd2498d0 Author: Patrick McHardy Date: Fri Jun 12 05:34:37 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 7) Fix up ATM drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - lec: condition can only be remedied by userspace, until that retransmissions Compile tested only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 98ca4a46d27348476c9196ebc0a0c5297431d90f Author: Patrick McHardy Date: Fri Jun 12 05:20:01 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 6) Fix up hamradio drivers that return an errno value to dev_queue_xmit(), causing it to print a warning an free the skb. - bpqether: skb is freed: use after free Compile tested only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ae71bafdd4ce29856addfede1ab7046f4e45775b Author: Patrick McHardy Date: Fri Jun 12 05:13:07 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 5) Fix up s390 drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - claw: impossible condition, simply remove it Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 47f88c99c2ad0c05dd415e1c2a6d59426eb305ed Author: Patrick McHardy Date: Fri Jun 12 04:37:34 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 4) Fix up WAN drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - cycx_x25: intention appears to be to requeue the skb Does not compile cleanly for me even without this patch, so untested. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4153e77596c4caaf52293b0c6b2207d73ed8f1eb Author: Patrick McHardy Date: Fri Jun 12 04:08:02 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 3) net: fix network drivers ndo_start_xmit() return values (part 3) Fix up wireless drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - airo: transmission not implemented for chip, intention is to free and abort - ipw2200: transmission not implemented for promiscous mode, intention is to drop - prism54: intention is to drop - wl3501_cs: intention appears to be to drop - zd1201: error counter indicates intention is to drop All drivers compile tested. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bd73ae2682d9069746bb049a416d9ab90c6684b Author: Patrick McHardy Date: Fri Jun 12 03:17:19 2009 +0000 net: fix network drivers ndo_start_xmit() return values (part 2) Fix up IRDA drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning an requeue/retransmit the skb. - donauboe: intention appears to be to have the skb retransmitted without error message - irda-usb: intention is to drop silently according to comment - kingsub-sir: skb is freed: use after free - ks959-sir: skb is freed: use after free - ksdazzle-sir: skb is freed: use after free - mcs7880: skb is freed: use after free All but donauboe compile tested. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3790c8cdb99f23824b23cb16df608281b335ee91 Author: Patrick McHardy Date: Fri Jun 12 03:00:35 2009 +0000 net: fix network driver ndo_start_xmit() return values (part 1) Fix up drivers that return an errno value to qdisc_restart(), causing qdisc_restart() to print a warning and requeue/retransmit the skb. - xpnet: memory allocation error, intention is to drop - ethoc: oversized packet, packet must be dropped - ibmlana: skb freed: use after free - rrunner: skb freed: use after free Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1e68b2b2756fc3488ecbade5ad5f13302b3aaafc Author: Jeff Layton Date: Thu Jun 11 10:27:30 2009 -0400 cifs: add new routine for converting AF_INET and AF_INET6 addrs ...to consolidate some logic used in more than one place. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 340481a36498bf3fe404bcecb2e2d6188e950bff Author: Jeff Layton Date: Thu Jun 11 10:27:29 2009 -0400 cifs: have cifs_show_options show forceuid/forcegid options Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8616e0fc1e27295316f9821a883f0e9fa6f8200f Author: Jeff Layton Date: Thu Jun 11 10:27:28 2009 -0400 cifs: remove unneeded NULL checks from cifs_show_options show_options is always called with the namespace_sem held. Therefore we don't need to worry about the vfsmount being NULL, or it vanishing while the function is running. By the same token, there's no need to worry about the superblock, tcon, smb or tcp sessions being NULL on entry. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit e46b0c8c08cd97eb8f9a523986908add3ece0cc6 Author: Takashi Iwai Date: Sat Jun 13 10:16:43 2009 +0200 ALSA: hda - Add quirk for Acer Aspire 6935G Added model=acer-aspire-8930g for Acer Aspire 6935G (1025:0146). Signed-off-by: Takashi Iwai commit 635c265f32d8a3f73402813d6a8dd47f2a363df5 Author: Takashi Iwai Date: Sat Jun 13 10:12:59 2009 +0200 ALSA: ctxfi - Replace atc lock to mutex The spinlock in atc can cause a sleep in lock: Kernel failure message 1: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 2537, name: gstreamer-prope Pid: 2537, comm: gstreamer-prope Tainted: P 2.6.29.4-167.fc11.x86_64 #1 Call Trace: [] __might_sleep+0x10b/0x110 [] __kmalloc+0x73/0x130 [] ? daio_rsc_init+0xaa/0x125 [snd_ctxfi] [] dao_rsc_init+0x55/0x1c0 [snd_ctxfi] [] dao_rsc_reinit+0x55/0x5d [snd_ctxfi] [] ? _spin_lock_irqsave+0x32/0x3b [] atc_spdif_out_passthru+0x92/0x136 [snd_ctxfi] ... Since the lock path is no critical path, it can be gracefully replaced with a mutex. Signed-off-by: Takashi Iwai commit 456db8cc450c4b5e7f8a4b6ffe1ab340061e7f7d Author: Pekka Enberg Date: Mon Apr 28 22:47:29 2008 +0300 kmemcheck: add Vegard and Pekka to MAINTAINERS Acked-by: Vegard Nossum Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 7c692cbade8b8884f1c20500393bcc7cd6d24ef8 Author: Vegard Nossum Date: Wed May 21 22:53:13 2008 +0200 tasklets: new tasklet scheduling function Rationale: kmemcheck needs to be able to schedule a tasklet without touching any dynamically allocated memory _at_ _all_ (since that would lead to a recursive page fault). This tasklet is used for writing the error reports to the kernel log. The new scheduling function avoids touching any other tasklets by inserting the new tasklist as the head of the "tasklet_hi" list instead of on the tail. Also don't wake up the softirq thread lest the scheduler access some tracked memory and we go down with a recursive page fault. In this case, we'd better just wait for the maximum time of 1/HZ for the message to appear. Signed-off-by: Vegard Nossum commit 8eae985f08138758e06503588f5f1196269bc415 Author: Pekka Enberg Date: Fri May 9 20:32:44 2008 +0200 slab: move struct kmem_cache to headers Move the SLAB struct kmem_cache definition to like with SLUB so kmemcheck can access ->ctor and ->flags. Cc: Ingo Molnar Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Pekka Enberg [rebased for mainline inclusion] Signed-off-by: Vegard Nossum commit fd40261354802b0f05f6f67121235aa002e87069 Merge: f3ad116 e83f1eb Author: Felix Blyakher Date: Fri Jun 12 21:28:59 2009 -0500 Merge branch 'master' of git://oss.sgi.com/xfs/xfs into for-linus commit e83f1eb6bfc4004c19a99ee5f5aa65bd3fbecec3 Author: Christoph Hellwig Date: Fri Jun 12 11:19:11 2009 -0400 xfs: fix small mismerge in xfs_vn_mknod Identation got messed up when merging the current_umask changes with the generic ACL support. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 493b87e5ed352cf548e6456ddfc36576e28278ea Author: Christoph Hellwig Date: Fri Jun 12 11:34:55 2009 -0400 xfs: fix warnings with CONFIG_XFS_QUOTA disabled Fix warnings about unitialized dquot variables by making sure xfs_qm_vop_dqalloc touches it even when quotas are disabled. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f3ad116588151b3371ae4e092290e4f48e62b8bb Merge: d645727 420118c Author: Linus Torvalds Date: Fri Jun 12 18:21:19 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs: configfs: Rework configfs_depend_item() locking and make lockdep happy configfs: Silence lockdep on mkdir() and rmdir() commit d645727bdc2aed8e2e0e9496248f735481b5049a Merge: cd166bd 310d6b6 Author: Linus Torvalds Date: Fri Jun 12 18:18:05 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (30 commits) [S390] wire up sys_perf_counter_open [S390] wire up sys_rt_tgsigqueueinfo [S390] ftrace: add system call tracer support [S390] ftrace: add function graph tracer support [S390] ftrace: add function trace mcount test support [S390] ftrace: add dynamic ftrace support [S390] kprobes: use probe_kernel_write [S390] maccess: arch specific probe_kernel_write() implementation [S390] maccess: add weak attribute to probe_kernel_write [S390] profile_tick called twice [S390] dasd: forward internal errors to dasd_sleep_on caller [S390] dasd: sync after async probe [S390] dasd: check_characteristics cleanup [S390] dasd: no High Performance FICON in 31-bit mode [S390] dcssblk: revert devt conversion [S390] qdio: fix access beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs [S390] vmalloc: add vmalloc kernel parameter support [S390] uaccess: use might_fault() instead of might_sleep() [S390] 3270: lock dependency fixes [S390] 3270: do not register with tty_register_device ... commit cd166bd0dde265a97dd9aa8e3451a2646d96d04b Merge: 6b70246 5b02ee3 Author: Linus Torvalds Date: Fri Jun 12 18:15:51 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: add generic lib/checksum.c asm-generic: add a generic uaccess.h asm-generic: add generic NOMMU versions of some headers asm-generic: add generic atomic.h and io.h asm-generic: add legacy I/O header files asm-generic: add generic versions of common headers asm-generic: make bitops.h usable asm-generic: make pci.h usable directly asm-generic: make get_rtc_time overridable asm-generic: rename page.h and uaccess.h asm-generic: rename atomic.h to atomic-long.h asm-generic: add a generic unistd.h asm-generic: add generic ABI headers asm-generic: add generic sysv ipc headers asm-generic: introduce asm/bitsperlong.h asm-generic: rename termios.h, signal.h and mman.h commit 6b702462cbe5b6f372966a53f4465d745d86b65c Merge: 947ec0b 3c24475 Author: Linus Torvalds Date: Fri Jun 12 18:09:18 2009 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (50 commits) drm: include kernel list header file in hashtab header drm: Export hash table functionality. drm: Split out the mm declarations in a separate header. Add atomic operations. drm/radeon: add support for RV790. drm/radeon: add rv740 drm support. drm_calloc_large: check right size, check integer overflow, use GFP_ZERO drm: Eliminate magic I2C frobbing when reading EDID drm/i915: duplicate desired mode for use by fbcon. drm/via: vfree() no need checking before calling it drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds drm: add separate drm debugging levels radeon: remove _DRM_DRIVER from the preadded sarea map drm: don't associate _DRM_DRIVER maps with a master drm: simplify kcalloc() call to kzalloc(). intelfb: fix spelling of "CLOCK" drm: fix LOCK_TEST_WITH_RETURN macro drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect) ... commit ab46feae865c5b96dbf5e261be8638165932bfb1 Author: Len Brown Date: Fri Jun 12 20:47:50 2009 -0400 ACPI: #define acpi_disabled 1 for CONFIG_ACPI=n SFI will need to test acpi_disabled no matter the value of CONFIG_ACPI. Signed-off-by: Len Brown commit 4a7a16dc061e4c57bf288150f51bd4c2ace33723 Author: Len Brown Date: Fri Jun 12 20:42:08 2009 -0400 ACPI: move declaration acpi_early_init() to acpi.h Signed-off-by: Len Brown commit c4bf2f372db09ef8d16a25a60d523bfa1c50f7b5 Author: Len Brown Date: Thu Jun 11 23:53:55 2009 -0400 ACPI, PCI, x86: move MCFG parsing routine from ACPI to PCI file Move arch/x86/kernel/acpi/boot.c: acpi_parse_mcfg() to arch/x86/pci/mmconfig-shared.c: pci_parse_mcfg() where it is used, and make it static. Move associated globals and helper routine with it. No functional change. This code move is in preparation for SFI support, which will allow the PCI code to find the MCFG table on systems which do not support ACPI. Signed-off-by: Len Brown Acked-by: Jesse Barnes commit 24c5c4c2f506bf87ef2343669fb892c944c3fdde Author: Zhao Yakui Date: Thu May 21 16:25:35 2009 +0800 ACPI: increase size of acpi_bus_id[] Previously [5], now [8]. sprintf(acpi_device_bid(device), "CPU%X", cpu_id) now looks better on systems with more than 0xFF processors. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit d023e49118b9c93bbab9aaf798b25f78f1a5803c Author: Olivier Berger Date: Thu May 21 16:07:38 2009 +0200 ACPI: Remove Asus P4B266 from blacklist See http://marc.info/?l=linux-acpi&m=124068823904429&w=2 for discussion Signed-off-by: Olivier Berger Signed-off-by: Len Brown commit c636f753b5b943f08fb3490e7f1a9b47aa5cc7d3 Author: Len Brown Date: Tue May 19 23:47:38 2009 -0400 ACPI: delete dead acpi_disabled setting code Testing CONFIG_ACPI inside boot.c is a waste of text, since boot.c is built only when CONFIG_ACPI=y Signed-off-by: Len Brown commit e0057975e09a85ac92be81e975d0d0a911b1c4c6 Author: Samuel Ortiz Date: Fri Jun 5 16:12:00 2009 +0200 irda: add git tree to MAINTAINERS file We now have an IrDA git tree on kernel.org: git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6.git Signed-off-by: Samuel Ortiz commit adbf7f01e78287701c0270a5262f319935d94082 Author: Roel Kluin Date: Fri Jun 5 12:54:44 2009 +0200 irda: smsc wait count reaches -1 The sir retries count reaches -1 rather than 0. Signed-off-by: Roel Kluin Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit d510fe70db4c62ac899c486506fdfb7f3b518c86 Author: Graff Yang Date: Tue May 12 13:47:54 2009 -0700 irda: new Blackfin on-chip SIR IrDA driver Signed-off-by: Graff Yang Cc: Mike Frysinger Cc: Bryan Wu Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton commit b618ad31bb2020db6a36929122e5554e33210d47 Author: Vegard Nossum Date: Fri Jun 13 15:31:11 2008 +0200 stacktrace: add forward-declaration struct task_struct This is needed if the header is to be free-standing. Signed-off-by: Vegard Nossum commit acc6be5405b90c9f0fb0eb8a74ec4d4b7b5bf48f Author: Vegard Nossum Date: Tue May 20 11:15:43 2008 +0200 x86: add save_stack_trace_bp() for tracing from a specific stack frame This will help kmemcheck (and possibly other debugging tools) since we can now simply pass regs->bp to the stack tracer instead of specifying the number of stack frames to skip, which is unreliable if gcc decides to inline functions, etc. Note that this makes the API incomplete for other architectures, but I expect that those can be updated lazily, e.g. when they need it. Cc: Arjan van de Ven Signed-off-by: Vegard Nossum commit 947ec0b0c1e7e80eef4fe64f7763a06d0cf04d2e Merge: c53567a 5818a6e Author: Linus Torvalds Date: Fri Jun 12 13:17:27 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM: Add empty suspend/resume device irq functions PM/Hibernate: Move NVS routines into a seperate file (v2). PM/Hibernate: Rename disk.c to hibernate.c PM: Separate suspend to RAM functionality from core Driver Core: Rework platform suspend/resume, print warning PM: Remove device_type suspend()/resume() PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) PM/Suspend: Do not shrink memory before suspend PM: Remove bus_type suspend_late()/resume_early() V2 PM core: rename suspend and resume functions PM: Rename device_power_down/up() PM: Remove unused asm/suspend.h x86: unify power/cpu_(32|64).c x86: unify power/cpu_(32|64) copyright notes x86: unify power/cpu_(32|64) regarding restoring processor state x86: unify power/cpu_(32|64) regarding saving processor state x86: unify power/cpu_(32|64) global variables x86: unify power/cpu_(32|64) headers PM: Warn if interrupts are enabled during suspend-resume of sysdevs PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c commit c53567ad4528b6efefc3fc22a354d20f6226a098 Merge: 4ddbac9 748285c Author: Linus Torvalds Date: Fri Jun 12 13:17:12 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: use more NOFS allocation dlm: connect to nodes earlier dlm: fix use count with multiple joins dlm: Make name input parameter of {,dlm_}new_lockspace() const commit 4ddbac98980fe0a42cf57af5d1032e024aced6a1 Merge: 02a99ed 018df72 Author: Linus Torvalds Date: Fri Jun 12 13:16:52 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Start documenting HAVE_PERF_COUNTERS requirements perf_counter: Add forward/backward attribute ABI compatibility perf record: Explicity program a default counter perf_counter: Remove PERF_TYPE_RAW special casing perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too powerpc, perf_counter: Fix performance counter event types perf_counter/x86: Add a quirk for Atom processors perf_counter tools: Remove one L1-data alias commit 02a99ed6207e9a1d787bb360ef97de023c7edf4a Merge: 2b10dc4 3447ef2 Author: Linus Torvalds Date: Fri Jun 12 13:15:17 2009 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (55 commits) microblaze: Don't use access_ok for unaligned microblaze: remove unused flat_stack_align() definition microblaze: Fix problem with early_printk in startup microblaze_mmu_v2: Makefiles microblaze_mmu_v2: Kconfig update microblaze_mmu_v2: stat.h MMU update microblaze_mmu_v2: Elf update microblaze_mmu_v2: Update dma.h for MMU microblaze_mmu_v2: Update cacheflush.h microblaze_mmu_v2: Update signal returning address microblaze_mmu_v2: Traps MMU update microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU microblaze_mmu_v2: Update linker script for MMU microblaze_mmu_v2: Add MMU related exceptions handling microblaze_mmu_v2: uaccess MMU update microblaze_mmu_v2: Update exception handling - MMU exception microblaze_mmu_v2: entry.S, entry.h microblaze_mmu_v2: Add CURRENT_TASK for entry.S microblaze_mmu_v2: MMU asm offset update microblaze_mmu_v2: Update tlb.h and tlbflush.h ... commit 2b10dc45d15150434d7f206264e912eacbff734b Merge: 47ea421 bf664c0 Author: Linus Torvalds Date: Fri Jun 12 13:14:30 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (62 commits) Blackfin: fix sparseirq/kstat_irqs fallout Blackfin: fix unused warnings after nommu update Blackfin: export the last exception cause via debugfs Blackfin: fix length checking in kgdb_ebin2mem Blackfin: kgdb: fix up error return values Blackfin: push access_ok() L1 attribute down Blackfin: punt duplicated search_exception_table() prototype Blackfin: add missing access_ok() checks to user functions Blackfin: convert early_printk EVT init to a loop Blackfin: document the lsl variants of the L1 allocator Blackfin: rename Blackfin relocs according to the toolchain Blackfin: check SIC defines rather than variant names Blackfin: add SSYNC to set_dma_sg() for descriptor fetching Blackfin: convert SMP to only use generic time framework Blackfin: bf548-ezkit/bf537-stamp: add resources for ADXL345/346 Blackfin: override default uClinux MTD addr/size Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT Blackfin: fix handling of initial L1 reservation Blackfin: merge sram init functions Blackfin: drop unused reserve_pda() function ... commit 47ea421af7479b90c481c94826f1c716fcf672cf Merge: e349792 c3bb4d2 Author: Linus Torvalds Date: Fri Jun 12 13:14:15 2009 -0700 Merge branch 'for-linus' of git://linux-arm.org/linux-2.6 * 'for-linus' of git://linux-arm.org/linux-2.6: kmemleak: Add more info to the MAINTAINERS entry kmemleak: Remove the kmemleak.h include in drivers/char/vt.c commit 5818a6e2519b34cd6d0220d89f5729ab2725e1bf Author: Heiko Carstens Date: Thu Jun 11 21:59:21 2009 +0200 PM: Add empty suspend/resume device irq functions git commit 0a0c5168 "PM: Introduce functions for suspending and resuming device interrupts" introduced some helper functions. However these functions are only available for architectures which support GENERIC_HARDIRQS. Other architectures will see this build error: drivers/built-in.o: In function `sysdev_suspend': (.text+0x15138): undefined reference to `check_wakeup_irqs' drivers/built-in.o: In function `device_power_up': (.text+0x1cb66): undefined reference to `resume_device_irqs' drivers/built-in.o: In function `device_power_down': (.text+0x1cb92): undefined reference to `suspend_device_irqs' To fix this add some empty inline functions for !GENERIC_HARDIRQS. Signed-off-by: Heiko Carstens Signed-off-by: Rafael J. Wysocki commit fce2b111fae9151a53dabb36513b398d03337a19 Author: Cornelia Huck Date: Wed Jun 10 01:28:19 2009 +0200 PM/Hibernate: Move NVS routines into a seperate file (v2). The *_nvs_* routines in swsusp.c make use of the io*map() functions, which are only provided for HAS_IOMEM, thus breaking compilation if HAS_IOMEM is not set. Fix this by moving the *_nvs_* routines into hibernate_nvs.c, which is only compiled if HAS_IOMEM is set. [rjw: Change the name of the new file to hibernate_nvs.c, add the license line to the header comment.] Signed-off-by: Cornelia Huck Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 8b759b84c8b3c27ccc8dd787294636297b3ebb40 Author: Rafael J. Wysocki Date: Wed Jun 10 01:27:49 2009 +0200 PM/Hibernate: Rename disk.c to hibernate.c Change the name of kernel/power/disk.c to kernel/power/hibernate.c in analogy with the file names introduced by the changes that separated the suspend to RAM and standby funtionality from the common PM functions. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit a9d7052363a6e06bb623ed1876c56c7ca5b2c6d8 Author: Rafael J. Wysocki Date: Wed Jun 10 01:27:12 2009 +0200 PM: Separate suspend to RAM functionality from core Move the suspend to RAM and standby code from kernel/power/main.c to two separate files, kernel/power/suspend.c containing the basic functions and kernel/power/suspend_test.c containing the automatic suspend test facility based on the RTC clock alarm. There are no changes in functionality related to these modifications. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit 783ea7d4eeefe895f2731fe73ac951e94418927b Author: Magnus Damm Date: Thu Jun 4 22:13:33 2009 +0200 Driver Core: Rework platform suspend/resume, print warning This patch reworks the platform driver code for legacy suspend and resume to avoid installing callbacks in struct device_driver. A warning is also added telling users to update the platform driver to use dev_pm_ops. The functions platform_legacy_suspend()/resume() directly call suspend and resume callbacks in struct platform_driver instead of wrapping things in platform_drv_suspend()/resume(). Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 00725787511e20dbd1fdc1fb233606120ae5c8cf Author: Magnus Damm Date: Thu Jun 4 22:13:25 2009 +0200 PM: Remove device_type suspend()/resume() This patch removes the legacy callbacks ->suspend() and ->resume() from struct device_type. These callbacks seem unused, and new code should instead make use of struct dev_pm_ops. Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit fe419535d82724314bbf1244a0e740e4ea1bd3ae Author: Rafael J. Wysocki Date: Thu Jun 11 23:11:17 2009 +0200 PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) A future patch is going to modify the memory shrinking code so that it will make memory allocations to free memory instead of using an artificial memory shrinking mechanism for that. For this purpose it is convenient to move swsusp_shrink_memory() from kernel/power/swsusp.c to kernel/power/snapshot.c, because the new memory-shrinking code is going to use things that are local to kernel/power/snapshot.c . [rev. 2: Make some functions static and remove their headers from kernel/power/power.h] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Wu Fengguang commit c6f37f12197ac3bd2e5a35f2f0e195ae63d437de Author: Rafael J. Wysocki Date: Sun May 24 22:16:31 2009 +0200 PM/Suspend: Do not shrink memory before suspend Remove the shrinking of memory from the suspend-to-RAM code, where it is not really necessary. Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Acked-by: Wu Fengguang commit e240b58c79144708530138e05f17c6d0d8d744a8 Author: Magnus Damm Date: Sun May 24 22:05:54 2009 +0200 PM: Remove bus_type suspend_late()/resume_early() V2 Remove the ->suspend_late() and ->resume_early() callbacks from struct bus_type V2. These callbacks are legacy stuff at this point and since there seem to be no in-tree users we may as well remove them. New users should use dev_pm_ops. Signed-off-by: Magnus Damm Acked-by: Pavel Machek Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit d161630297a20802d01c55847bfcba85d2118a9f Author: Alan Stern Date: Sun May 24 22:05:42 2009 +0200 PM core: rename suspend and resume functions This patch (as1241) renames a bunch of functions in the PM core. Rather than go through a boring list of name changes, suffice it to say that in the end we have a bunch of pairs of functions: device_resume_noirq dpm_resume_noirq device_resume dpm_resume device_complete dpm_complete device_suspend_noirq dpm_suspend_noirq device_suspend dpm_suspend device_prepare dpm_prepare in which device_X does the X operation on a single device and dpm_X invokes device_X for all devices in the dpm_list. In addition, the old dpm_power_up and device_resume_noirq have been combined into a single function (dpm_resume_noirq). Lastly, dpm_suspend_start and dpm_resume_end are the renamed versions of the former top-level device_suspend and device_resume routines. Signed-off-by: Alan Stern Acked-by: Magnus Damm Signed-off-by: Rafael J. Wysocki commit e39a71ef80877f4e30d808af9acceec80f4d2f7c Author: Magnus Damm Date: Fri May 15 00:53:26 2009 +0200 PM: Rename device_power_down/up() Rename the functions performing "_noirq" dev_pm_ops operations from device_power_down() and device_power_up() to device_suspend_noirq() and device_resume_noirq(). The new function names are chosen to show that the functions are responsible for calling the _noirq() versions to finalize the suspend/resume operation. The current function names do not perform power down/up anymore so the names may be misleading. Global function renames: - device_power_down() -> device_suspend_noirq() - device_power_up() -> device_resume_noirq() Static function renames: - suspend_device_noirq() -> __device_suspend_noirq() - resume_device_noirq() -> __device_resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Len Brown Signed-off-by: Rafael J. Wysocki commit 1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea Author: Magnus Damm Date: Fri May 15 00:52:00 2009 +0200 PM: Remove unused asm/suspend.h This patch removes unused asm/suspend.h files for the following architectures: alpha, arm, ia64, m68k, mips, s390, um Signed-off-by: Magnus Damm Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 08687aec71bc9134fe336e561f6877bacf74fc0a Author: Sergio Luis Date: Tue Apr 28 00:27:22 2009 +0200 x86: unify power/cpu_(32|64).c This is the last unification step. Here we do remove one of the files and rename the left one as cpu.c, as both are now the same. Also update power/Makefile, telling it to build cpu.o, instead of cpu_(32|64).o Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 6d48becd33a7921694ba1955ba91604d648020f1 Author: Sergio Luis Date: Tue Apr 28 00:27:18 2009 +0200 x86: unify power/cpu_(32|64) copyright notes In this step, we do unify the copyright notes for both files cpu_32.c and cpu_64.c, making such files exactly the same. It's the last step before the actual unification, that will rename one of them to cpu.c and remove the other one. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 3134d04b7790f7239b221f16c2d97db4d96ac3c0 Author: Sergio Luis Date: Tue Apr 28 00:27:05 2009 +0200 x86: unify power/cpu_(32|64) regarding restoring processor state In this step we do unify cpu_32.c and cpu_64.c functions that work on restoring the saved processor state. Also, we do eliminate the forward declaration of fix_processor_context() for X86_64, as it's not needed anymore. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit f9ebbe53e79c5978d0e8ead0843a3717b41ad3d5 Author: Sergio Luis Date: Tue Apr 28 00:27:00 2009 +0200 x86: unify power/cpu_(32|64) regarding saving processor state In this step we do unify cpu_32.c and cpu_64.c functions that work on saving the processor state. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 833b2ca0795526898a66c7b6770273bb16567e19 Author: Sergio Luis Date: Tue Apr 28 00:26:50 2009 +0200 x86: unify power/cpu_(32|64) global variables Aiming total unification of cpu_32.c and cpu_64.c, in this step we do unify the global variables and existing forward declarations for such files. Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit f6783d20d4b85b360b4a6f86bdbd9282a4a7004c Author: Sergio Luis Date: Tue Apr 28 00:26:22 2009 +0200 x86: unify power/cpu_(32|64) headers First step towards the unification of cpu_32.c and cpu_64.c. This commit unifies the headers of such files, making both of them use the same header files. It also remove the uneeded . Signed-off-by: Sergio Luis Signed-off-by: Lauro Salmito Signed-off-by: Rafael J. Wysocki commit 62b0124761b9c2e304ee07dcf4db46c4a3dfec11 Author: Rafael J. Wysocki Date: Sat Apr 18 13:45:13 2009 +0200 PM: Warn if interrupts are enabled during suspend-resume of sysdevs Sysdevs have to be suspended and resumed with interrupts disabled and things usually break in a way that's difficult to debug if one of sysdev drivers enables interrupts by mistake during suspend or resume. Add extra checks that will generate warnings in such cases. Signed-off-by: Rafael J. Wysocki commit ce4b3c55475e451cb489e857640396c37ca88974 Author: Jaswinder Singh Rajput Date: Sat Apr 18 13:44:57 2009 +0200 PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c One of the numbers in arch/x86/kernel/acpi/sleep.c is long, but it is not annotated appropriately, so sparese warns about it. Fix that. [rjw: added the changelog.] Signed-off-by: Rafael J. Wysocki commit dc577d554a274b79a6ad05e9e1ac20c320200599 Author: Christof Schmitt Date: Fri May 15 13:18:22 2009 +0200 [SCSI] zfcp: Update FC pass-through support Don't access the block layer request, get the payload length instead from the FC job. Simplify access to the zfcp_port, only the d_id is required, if the port is no longer accessed later. This is possible when the els_handler does not access the port pointer from the ELS request. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9d544f2b9bd4a0f7ba2784cc47e3591667a7b8d4 Author: Sven Schuetz Date: Mon Apr 6 18:31:47 2009 +0200 [SCSI] zfcp: Add FC pass-through support Provide the ability to do fibre channel requests from the userspace to our zfcp driver. Patch builds upon extension to the fibre channel tranport class by James Smart and Seokmann Ju. See here http://marc.info/?l=linux-scsi&m=123808882309133&w=2 Signed-off-by: Sven Schuetz Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9e4f5e29610162fd426366f3b29e3cc6e575b858 Author: James Smart Date: Thu Mar 26 13:33:19 2009 -0400 [SCSI] FC Pass Thru support Attached is the ELS/CT pass-thru patch for the FC Transport. The patch creates a generic framework that lays on top of bsg and the SGIO v4 ioctl in order to pass transaction requests to LLDD's. The interface supports the following operations: On an fc_host basis: Request login to the specified N_Port_ID, creating an fc_rport. Request logout of the specified N_Port_ID, deleting an fc_rport Send ELS request to specified N_Port_ID w/o requiring a login, and wait for ELS response. Send CT request to specified N_Port_ID and wait for CT response. Login is required, but LLDD is allowed to manage login and decide whether it stays in place after the request is satisfied. Vendor-Unique request. Allows a LLDD-specific request to be passed to the LLDD, and the passing of a response back to the application. On an fc_rport basis: Send ELS request to nport and wait for ELS response. Send CT request to nport and wait for CT response. The patch also exports several headers from include/scsi such that they can be available to user-space applications: include/scsi/scsi.h include/scsi/scsi_netlink.h include/scsi/scsi_netlink_fc.h include/scsi/scsi_bsg_fc.h For further information, refer to the last RFC: http://marc.info/?l=linux-scsi&m=123436574018579&w=2 Note: Documentation is still spotty and will be added later. [bharrosh@panasas.com: update for new block API] Signed-off-by: James Smart Signed-off-by: James Bottomley commit e349792a385ed47390d156155b1a1e19af1bf163 Merge: 6d21491 e3f86d3 Author: Linus Torvalds Date: Fri Jun 12 11:16:27 2009 -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: (290 commits) ALSA: pcm - Update document about xrun_debug proc file ALSA: lx6464es - support standard alsa module parameters ALSA: snd_usb_caiaq: set mixername ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205) ALSA: use card device as parent for jack input-devices ALSA: sound/ps3: Correct existing and add missing annotations ALSA: sound/ps3: Restructure driver source ALSA: sound/ps3: Fix checkpatch issues ASoC: Fix lm4857 control ALSA: ctxfi - Clear PCM resources at hw_params and hw_free ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks ALSA: ctxfi - Add missing start check in atc_pcm_playback_start() ALSA: ctxfi - Add use_system_timer module option ALSA: usb - Add boot quirk for C-Media 6206 USB Audio ALSA: ctxfi - Fix wrong model id for UAA ALSA: ctxfi - Clean up probe routines ALSA: hda - Fix the previous tagra-8ch patch ALSA: hda - Add 7.1 support for MSI GX620 ALSA: pcm - A helper function to compose PCM stream name for debug prints ALSA: emu10k1 - Fix minimum periods for efx playback ... commit e3f86d3d3ce350144562d9bd035dc8a274fce58e Merge: 056c1eb 2233123 Author: Takashi Iwai Date: Fri Jun 12 20:03:16 2009 +0200 Merge branch 'topic/ps3' into for-linus * topic/ps3: ALSA: sound/ps3: Correct existing and add missing annotations ALSA: sound/ps3: Restructure driver source ALSA: sound/ps3: Fix checkpatch issues commit 056c1ebf1121ca6c16652d0c3fa306622ee338ac Merge: be914cf 4f64e15 Author: Takashi Iwai Date: Fri Jun 12 20:03:15 2009 +0200 Merge branch 'topic/pcm-jiffies-check' into for-linus * topic/pcm-jiffies-check: ALSA: pcm - Update document about xrun_debug proc file commit be914cf91086ca7be9216a894cba0999ddbf541d Merge: 31d496a 1f3fff7 Author: Takashi Iwai Date: Fri Jun 12 20:03:13 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: use card device as parent for jack input-devices commit 31d496aaee1dad6ac63770035793032f2062e336 Merge: f8be792 de0525c Author: Takashi Iwai Date: Fri Jun 12 20:03:11 2009 +0200 Merge branch 'topic/lx6464es' into for-linus * topic/lx6464es: ALSA: lx6464es - support standard alsa module parameters commit f8be792d515045a4ecfec0bc9cd883d1b070f132 Merge: 80986be a5c0f88 Author: Takashi Iwai Date: Fri Jun 12 20:03:09 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205) commit 80986be4864239dde9bb69e90be7707344f03725 Merge: a6093a2 955f2d9 Author: Takashi Iwai Date: Fri Jun 12 20:03:06 2009 +0200 Merge branch 'topic/caiaq' into for-linus * topic/caiaq: ALSA: snd_usb_caiaq: set mixername commit a6093a24bc7da25ce851d22ce3a7bcf1eaca4a95 Merge: 85e013a 236e672 Author: Takashi Iwai Date: Fri Jun 12 20:03:04 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: Fix lm4857 control commit 018df72dd01576ab199c6129233cdeaf1409958b Author: Mike Frysinger Date: Fri Jun 12 13:17:43 2009 -0400 perf_counter: Start documenting HAVE_PERF_COUNTERS requirements Help out arch porters who want to support perf counters by listing some basic requirements. Signed-off-by: Mike Frysinger Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1244827063-24046-1-git-send-email-vapier@gentoo.org> Signed-off-by: Ingo Molnar commit 6d21491838a2a9f22843c7530b118596ee9f4d77 Merge: c9b8af0 8429db5 Author: Linus Torvalds Date: Fri Jun 12 09:52:30 2009 -0700 Merge branch 'topic/slab/earlyboot-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'topic/slab/earlyboot-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab: setup cpu caches later on when interrupts are enabled slab,slub: don't enable interrupts during early boot slab: fix gfp flag in setup_cpu_cache() x86: make zap_low_mapping could be used early irq: slab alloc for default irq_affinity memcg: fix page_cgroup fatal error in FLATMEM commit c9b8af00ff71f86ff3d092cc60ca673e1d0eae5b Merge: c59a264 82681a3 Author: Linus Torvalds Date: Fri Jun 12 09:50:42 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (154 commits) [SCSI] osd: Remove out-of-tree left overs [SCSI] libosd: Use REQ_QUIET requests. [SCSI] osduld: use filp_open() when looking up an osd-device [SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue [SCSI] libosd: osd_req_{read,write} takes a length parameter [SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes [SCSI] libosd: osd_req_{read,write}_kern new API [SCSI] libosd: Better printout of OSD target system information [SCSI] libosd: OSD2r05: Attribute definitions [SCSI] libosd: OSD2r05: Additional command enums [SCSI] mpt fusion: fix up doc book comments [SCSI] mpt fusion: Added support for Broadcast primitives Event handling [SCSI] mpt fusion: Queue full event handling [SCSI] mpt fusion: RAID device handling and Dual port Raid support is added [SCSI] mpt fusion: Put IOC into ready state if it not already in ready state [SCSI] mpt fusion: Code Cleanup patch [SCSI] mpt fusion: Rescan SAS topology added [SCSI] mpt fusion: SAS topology scan changes, expander events [SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue [SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function ... commit c59a264c9e932c828d533497e286b89e43c8d1be Merge: 6cb8a91 6e03a20 Author: Linus Torvalds Date: Fri Jun 12 09:44:30 2009 -0700 Merge git://git.infradead.org/~dwmw2/firmware-2.6 * git://git.infradead.org/~dwmw2/firmware-2.6: firmware: speed up request_firmware(), v3 commit 6cb8a911745616eee0bdd97a2e82eb9723e9599a Merge: 7f3591c 3ea4005 Author: Linus Torvalds Date: Fri Jun 12 09:43:44 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Remove lock_kernel from gfs2_put_super() GFS2: Add tracepoints commit 7f3591cfacf2d79c4f42238e46c7d053da8e020d Merge: 16ffc3e d1f0132 Author: Linus Torvalds Date: Fri Jun 12 09:32:26 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits) lguest: add support for indirect ring entries lguest: suppress notifications in example Launcher lguest: try to batch interrupts on network receive lguest: avoid sending interrupts to Guest when no activity occurs. lguest: implement deferred interrupts in example Launcher lguest: remove obsolete LHREQ_BREAK call lguest: have example Launcher service all devices in separate threads lguest: use eventfds for device notification eventfd: export eventfd_signal and eventfd_fget for lguest lguest: allow any process to send interrupts lguest: PAE fixes lguest: PAE support lguest: Add support for kvm_hypercall4() lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated lguest: map switcher with executable page table entries lguest: fix writev returning short on console output lguest: clean up length-used value in example launcher lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition. lguest: beyond ARRAY_SIZE of cpu->arch.gdt ... commit 16ffc3eeaa00d513b0076b7b2b96419f28acc912 Merge: c34752b e335385 Author: Linus Torvalds Date: Fri Jun 12 09:31:52 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-virtio: virtio: enhance id_matching for virtio drivers virtio: fix id_matching for virtio drivers virtio: handle short buffers in virtio_rng. virtio_blk: add missing __dev{init,exit} markings virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) virtio: teach virtio_has_feature() about transport features virtio: expose features in sysfs virtio_pci: optional MSI-X support virtio_pci: split up vp_interrupt virtio: find_vqs/del_vqs virtio operations virtio: add names to virtqueue struct, mapping from devices to queues. virtio: meet virtio spec by finalizing features before using device virtio: fix obsolete documentation on probe function commit c34752bc8b3196aee3115d1aa41972604ab0aea8 Merge: 65d52cc 151060a Author: Linus Torvalds Date: Fri Jun 12 09:31:20 2009 -0700 Merge branch 'cuse' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'cuse' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: CUSE: implement CUSE - Character device in Userspace fuse: export symbols to be used by CUSE fuse: update fuse_conn_init() and separate out fuse_conn_kill() fuse: don't use inode in fuse_file_poll fuse: don't use inode in fuse_do_ioctl() helper fuse: don't use inode in fuse_sync_release() fuse: create fuse_do_open() helper for CUSE fuse: clean up args in fuse_finish_open() and fuse_release_fill() fuse: don't use inode in helpers called by fuse_direct_io() fuse: add members to struct fuse_file fuse: prepare fuse_direct_io() for CUSE fuse: clean up fuse_write_fill() fuse: use struct path in release structure fuse: misc cleanups commit 65d52cc9d47975f4fbd0a50e62f4a49be2c0514a Merge: d614aec 5933048 Author: Linus Torvalds Date: Fri Jun 12 09:30:36 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-module-and-param: module: cleanup FIXME comments about trimming exception table entries. module: trim exception table on init free. module: merge module_alloc() finally uml module: fix uml build process due to this merge x86 module: merge the rest functions with macros x86 module: merge the same functions in module_32.c and module_64.c uvesafb: improve parameter handling. module_param: allow 'bool' module_params to be bool, not just int. module_param: add __same_type convenience wrapper for __builtin_types_compatible_p module_param: split perm field into flags and perm module_param: invbool should take a 'bool', not an 'int' cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK commit ba2533a47865ec0dbc72834287a8a048e9337a95 Author: Mark Brown Date: Fri Jun 12 16:55:56 2009 +0100 ASoC: Remove odd bit clock ratios for WM8903 These are not supported since performance can not be guaranteed when they are in use. Signed-off-by: Mark Brown Cc: stable@kernel.org commit d614aec4752f8c61b2e7cb77806b6bd59aa50836 Merge: db8e7f1 ad7c52d Author: Linus Torvalds Date: Fri Jun 12 09:29:42 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits) ide: re-implement ide_pci_init_one() on top of ide_pci_init_two() ide: unexport ide_find_dma_mode() ide: fix PowerMac bootup oops ide: skip probe if there are no devices on the port (v2) sl82c105: add printk() logging facility ide-tape: fix proc warning ide: add IDE_DFLAG_NIEN_QUIRK device flag ide: respect quirk_drives[] list on all controllers hpt366: enable all quirks for devices on quirk_drives[] list hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c ide: remove superfluous SELECT_MASK() call from do_rw_taskfile() ide: remove superfluous SELECT_MASK() call from ide_driveid_update() icside: remove superfluous ->maskproc method ide-tape: fix IDE_AFLAG_* atomic accesses ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically pdc202xx_old: kill resetproc() method pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout pdc202xx_old: use ide_dma_test_irq() ide: preserve Host Protected Area by default (v2) ide-gd: implement block device ->set_capacity method (v2) ... commit db8e7f10ed67933ca272f4030eb7057b7f13de07 Merge: 8ebf975 1260866 Author: Linus Torvalds Date: Fri Jun 12 09:26:32 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Provide _sdata in the vmlinux.lds.S file x86: handle initrd that extends into unusable memory commit 7517b3fbe40c231d79d36f31c1e9930cbb8c4be2 Author: Eric Miao Date: Sat Jun 13 00:10:17 2009 +0800 MAINTAINERS: update Eric Miao's email address and status Signed-off-by: Eric Miao commit 638772c7553f6893f7b346bfee4d46851af59afc Author: Lennert Buytenhek Date: Wed Feb 11 17:25:24 2009 +0800 fb: add support of LCD display controller on pxa168/910 (base layer) This driver is originally written by Lennert, modified by Green to be feature complete, and ported by Jun Nie and Kevin Liu for pxa168/910 processors. The patch adds support for the on-chip LCD display controller, it currently supports the base (graphics) layer only. Signed-off-by: Lennert Buytenhek Signed-off-by: Green Wan Cc: Peter Liao Signed-off-by: Jun Nie Signed-off-by: Kevin Liu Acked-by: Krzysztof Helt Signed-off-by: Eric Miao commit 82d27b2b2f3a80ffa7759a49b9cba39e47df476e Author: Markus Heidelberg Date: Fri Jun 12 01:02:34 2009 +0200 trivial: remove the trivial patch monkey's name from SubmittingPatches It is outdated here and can be found in the MAINTAINERS file. Also remove the URL of the previous maintainer, similar content can be found in the SubmittingPatches file. Signed-off-by: Markus Heidelberg Signed-off-by: Jiri Kosina commit 590a9887a23b60d9c6ff5a82da757371037edbd4 Author: Masatake YAMATO Date: Tue Jun 9 10:41:12 2009 +0900 trivial: Fix a typo in comment of addrconf_dad_start() Signed-off-by: Masatake YAMATO Signed-off-by: Jiri Kosina commit 6e2216895421b4f83d2ebac15c9d9506dc105cff Author: Németh Márton Date: Sat Jun 6 19:06:36 2009 +0200 trivial: usb: fix missing space typo in doc Signed-off-by: Márton Németh Signed-off-by: Jiri Kosina commit db5ed9beabc0a2084ab0e0cc46bf911b8bf16fa8 Author: Peter Huewe Date: Sat Jun 6 14:58:56 2009 +0200 trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions from drivers/pci/hotplug/sgi_hotplug.c linux version 2.6.30-rc8 Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit ff2f5ff0cf224780c3bd035d3e6ff4a30fcacae7 Author: Matt Kraai Date: Thu Jun 4 21:43:10 2009 -0700 trivial: Remove the hyphen from git commands Signed-off-by: Matt Kraai Signed-off-by: Jiri Kosina commit 3ac49a1c9928b4a242b3cb1d83bc1d5c9b8fcb50 Author: Jean Delvare Date: Thu Jun 4 16:20:28 2009 +0200 trivial: fix ETIMEOUT -> ETIMEDOUT typos fix ETIMEOUT -> ETIMEDOUT typos Signed-off-by: Jean Delvare Signed-off-by: Jiri Kosina commit 4737f0978d6e64eae468e01fa181abf6499e6b84 Author: Pavel Machek Date: Fri Jun 5 00:44:53 2009 +0200 trivial: Kconfig: .ko is normally not included in module names .ko is normally not included in Kconfig help, make it consistent. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit 3226224039c8f8cb840d236b5f27d2a1104789e2 Author: Pavel Machek Date: Thu Jun 4 16:26:50 2009 +0200 trivial: SubmittingPatches: fix typo Fix typo. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit 1b68bfc18b258f5a0f285f9101a84da502254768 Author: Masanori Kobayasi Date: Thu Jun 4 21:12:29 2009 +0900 trivial: Documentation/dell_rbu.txt: fix typos Remove a period from end of command-line and fix misplaced comma. Signed-off-by: Masanori Kobayasi Signed-off-by: Jiri Kosina commit b6e731d8774810033823e78e04dfe67aae13b61f Author: Pavel Machek Date: Sat May 30 00:58:41 2009 +0200 trivial: Fix Pavel's address in MAINTAINERS Fix my address in MAINTAINERS. Signed-off-by: Pavel Machek Signed-off-by: Jiri Kosina commit baf20b3e51913e8a5003d4e7a143934be8fe52b5 Author: GeunSik Lim Date: Mon Jun 1 10:49:41 2009 +0200 trivial: ftrace:fix description of trace directory Fix trace source directory from kernel/tracing/ to kernel/trace/. Signed-off-by: GeunSik Lim Signed-off-by: Jiri Kosina commit 1944df6bff414c769b55b00cb0547b6f285884a1 Author: Chris Sanford Date: Wed May 27 17:23:50 2009 +0200 trivial: unnecessary (void*) cast removal in sound/oss/msnd.c This is a trivial patch that removes an unnecessary void pointer cast. Signed-off-by: Chris Sanford Signed-off-by: Jiri Kosina commit 492d0f95e6927d60be6234c4b0dd500216e87e18 Author: Alessio Igor Bogani Date: Thu May 21 19:54:33 2009 +0200 trivial: input/misc: Fix typo in Kconfig Signed-off-by: Alessio Igor Bogani Signed-off-by: Jiri Kosina commit 0fa1b0a144ee3e57f63ae25a7c5402f57232853d Author: Alex Chiang Date: Thu May 14 23:15:22 2009 +0200 trivial: fix grammo in bus_for_each_dev() kerneldoc Signed-off-by: Alex Chiang Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit 190342335c2a7939407d7391e5bb6c9ee39244eb Author: Wang Tinggong Date: Thu May 14 11:00:20 2009 +0200 trivial: rbtree.txt: fix rb_entry() parameters in sample code Reviewed-by: WANG Cong Signed-off-by: Jiri Kosina commit 5cdcd9d691a4810ec3f5ed6b49e2bb24871c6907 Author: Sankar P Date: Tue May 12 12:41:13 2009 +0530 trivial: spelling fix in ppc code comments Fixes a trivial spelling error in powerpc code comments. Signed-off-by: Sankar P Signed-off-by: Jiri Kosina commit 76d93ff344f547c633fd7b2ee6511bad82c4616f Author: Nikanth Karthikesan Date: Wed Apr 22 13:38:58 2009 +0530 trivial: fix typo in bio_alloc kernel doc Fix typo in bio_alloc kernel doc. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jiri Kosina commit 27af1da4b58675d5c6bacf9b7de9c2746687d272 Author: figo.zhang Date: Fri Apr 17 10:58:48 2009 +0800 trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt The first formal parameter of the rb_link_node() is a pointer, and the "node" is define a data struct (pls see line 67 and line 73 in the doc), so the actual parameter should use "&data->node". Signed-off-by: Figo.zhang Signed-off-by: Jiri Kosina commit 19f594600110377ec4037fdf7fb93a25ec516212 Author: Matt LaPlante Date: Mon Apr 27 15:06:31 2009 +0200 trivial: Miscellaneous documentation typo fixes Fix various typos in documentation txts. Signed-off-by: Matt LaPlante Signed-off-by: Jiri Kosina commit 19af5cdb7c79ff5ec96a99893ffb7f894f4a3dc1 Author: Martin Olsson Date: Thu Apr 23 11:37:37 2009 +0200 trivial: fix typo milisecond/millisecond for documentation and source comments. Signed-off-by: Martin Olsson Signed-off-by: Jiri Kosina commit 98a1708de1bfa5fe1c490febba850d6043d3c7fa Author: Martin Olsson Date: Wed Apr 22 18:21:29 2009 +0200 trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. Signed-off-by: Martin Olsson Signed-off-by: Jiri Kosina commit ab2274af0569a43c6da390e969759d1138799839 Author: Thadeu Lima de Souza Cascardo Date: Fri Apr 17 08:14:23 2009 -0300 trivial: fix typo compatiable/compatiability has extra 'a'. Signed-off-by: Jiri Kosina commit 1dc492a0a4470852cb451db1e00d580ce9fd7a28 Author: Manish Katiyar Date: Sun Feb 22 10:24:27 2009 +0530 trivial: kernel/power/poweroff.c: whitespace fix Fix coding style whitespace fixes. Patch compile tested Before :- total: 1 errors, 0 warnings, 46 lines checked After total: 0 errors, 0 warnings, 46 lines checked Before :- text data bss dec hex filename 107 48 0 155 9b kernel/power/poweroff.o After text data bss dec hex filename 107 48 0 155 9b kernel/power/poweroff.o Signed-off-by: Manish Katiyar Signed-off-by: Jiri Kosina commit 6d60f9dfc8d437e914d46fa355c50c695cad24e7 Author: Martin Olsson Date: Tue Apr 7 10:30:24 2009 +0200 trivial: Fix paramater/parameter typo in dmesg and source comments Signed-off-by: Martin Olsson Signed-off-by: Jiri Kosina commit 7ea2ac9b6632038377cb488c7d1cb60b88164d4d Author: Thadeu Lima de Souza Cascardo Date: Tue Apr 14 23:14:17 2009 -0300 Trivial: fix typo s/balence/balance/ Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 4b512d26f425be1c779c8319249b42ce3c3424d2 Author: Thadeu Lima de Souza Cascardo Date: Tue Apr 14 23:14:10 2009 -0300 trivial: typo (en|dis|avail|remove)bale -> (en|dis|avail|remove)able Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit 0b1b51f50ed7b4225d0631140de8873fb235a6c0 Author: Paulius Zaleckas Date: Mon Apr 6 16:10:54 2009 +0300 trivial: mtd: fix Kconfig comment about 'armflash' The real 'armflash' map driver is selected by CONFIG_MTD_ARM_INTEGRATOR Signed-off-by: Paulius Zaleckas Signed-off-by: Jiri Kosina commit cf3f9130f48ed04f32a31cfad21f576d45b8788b Author: Viral Mehta Date: Fri Apr 3 13:08:14 2009 +0530 trivial: remove extra space Just for the sake of readability, removing extra space Signed-off-by: Viral Mehta Signed-off-by: Jiri Kosina commit 2eadfc0ed68690075dcff08b30d87831388a1663 Author: Wolfram Sang Date: Thu Apr 2 15:23:37 2009 +0200 trivial: fs/inode: Fix typo in file_update_time nanodoc The advertised flag for not updating the time was wrong. Signed-off-by: Wolfram Sang Signed-off-by: Jiri Kosina commit ff677f8d10a7b7dea6fbfc48d5ceeb3018cabb23 Author: Nikanth Karthikesan Date: Wed Apr 1 14:40:51 2009 +0530 trivial: fix comment typo in fs/compat.c Fix a typo in fs/compat.c Signed-off-by: Nikanth Karthikesan Signed-off-by: Jiri Kosina commit 88164ff4fca75051315d73729ea5a014e8986234 Author: Ali Gholami Rudi Date: Mon Mar 30 16:49:27 2009 +0430 trivial: ext2: fix a typo in comment in ext2.h Signed-off-by: Ali Gholami Rudi Signed-off-by: Jiri Kosina commit 8429db5c6336083594036c30f49401405d536911 Author: Pekka Enberg Date: Fri Jun 12 15:58:59 2009 +0300 slab: setup cpu caches later on when interrupts are enabled Fixes the following boot-time warning: [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x56/0x1bc() [ 0.000000] Hardware name: [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #492 [ 0.000000] Call Trace: [ 0.000000] [] ? _spin_unlock+0x4f/0x5c [ 0.000000] [] ? smp_call_function_many+0x56/0x1bc [ 0.000000] [] warn_slowpath_common+0x7c/0xa9 [ 0.000000] [] warn_slowpath_null+0x14/0x16 [ 0.000000] [] smp_call_function_many+0x56/0x1bc [ 0.000000] [] ? do_ccupdate_local+0x0/0x54 [ 0.000000] [] ? do_ccupdate_local+0x0/0x54 [ 0.000000] [] smp_call_function+0x3d/0x68 [ 0.000000] [] ? do_ccupdate_local+0x0/0x54 [ 0.000000] [] on_each_cpu+0x31/0x7c [ 0.000000] [] do_tune_cpucache+0x119/0x454 [ 0.000000] [] ? lockdep_init_map+0x94/0x10b [ 0.000000] [] ? kmem_cache_init+0x421/0x593 [ 0.000000] [] enable_cpucache+0x68/0xad [ 0.000000] [] kmem_cache_init+0x434/0x593 [ 0.000000] [] ? mem_init+0x156/0x161 [ 0.000000] [] start_kernel+0x1cc/0x3b9 [ 0.000000] [] x86_64_start_reservations+0xaa/0xae [ 0.000000] [] x86_64_start_kernel+0xe1/0xe8 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- Cc: Christoph Lameter Cc: Nick Piggin Signed-off-by: Pekka Enberg commit 7e85ee0c1d15ca5f8bff0f514f158eba1742dd87 Author: Pekka Enberg Date: Fri Jun 12 14:03:06 2009 +0300 slab,slub: don't enable interrupts during early boot As explained by Benjamin Herrenschmidt: Oh and btw, your patch alone doesn't fix powerpc, because it's missing a whole bunch of GFP_KERNEL's in the arch code... You would have to grep the entire kernel for things that check slab_is_available() and even then you'll be missing some. For example, slab_is_available() didn't always exist, and so in the early days on powerpc, we used a mem_init_done global that is set form mem_init() (not perfect but works in practice). And we still have code using that to do the test. Therefore, mask out __GFP_WAIT, __GFP_IO, and __GFP_FS in the slab allocators in early boot code to avoid enabling interrupts. Signed-off-by: Pekka Enberg commit 6341de0527c26ea1eaf7b7918e1df98f99e1a525 Merge: 8ebf975 fa047e4 57fd637 Author: Jiri Kosina Date: Fri Jun 12 17:42:13 2009 +0200 Merge branches 'upstream' and 'ntrig-multitouch' into for-linus commit eb91f1d0a531289e18f5587dc197d12a251c66a3 Author: Pekka Enberg Date: Fri Jun 12 14:56:09 2009 +0300 slab: fix gfp flag in setup_cpu_cache() Fixes the following warning during bootup when compiling with CONFIG_SLAB: [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0x91/0xb9() [ 0.000000] Hardware name: [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #491 [ 0.000000] Call Trace: [ 0.000000] [] ? lockdep_trace_alloc+0x91/0xb9 [ 0.000000] [] warn_slowpath_common+0x7c/0xa9 [ 0.000000] [] warn_slowpath_null+0x14/0x16 [ 0.000000] [] lockdep_trace_alloc+0x91/0xb9 [ 0.000000] [] kmem_cache_alloc_node_notrace+0x26/0xdf [ 0.000000] [] ? setup_cpu_cache+0x7e/0x210 [ 0.000000] [] setup_cpu_cache+0x113/0x210 [ 0.000000] [] kmem_cache_create+0x409/0x486 [ 0.000000] [] kmem_cache_init+0x232/0x593 [ 0.000000] [] ? mem_init+0x156/0x161 [ 0.000000] [] start_kernel+0x1cc/0x3b9 [ 0.000000] [] x86_64_start_reservations+0xaa/0xae [ 0.000000] [] x86_64_start_kernel+0xe1/0xe8 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- Signed-off-by: Pekka Enberg commit 7747a0b0af5976ba3828796b4f7a7adc3bb76dbd Author: Felix Blyakher Date: Thu Jun 11 17:07:28 2009 -0500 xfs: fix freeing memory in xfs_getbmap() Regression from commit 28e211700a81b0a934b6c7a4b8e7dda843634d2f. Need to free temporary buffer allocated in xfs_getbmap(). Signed-off-by: Felix Blyakher Signed-off-by: Hedi Berriche Reported-by: Justin Piszcz Reviewed-by: Eric Sandeen Reviewed-by: Christoph Hellwig commit 82681a318f9f028ea64e61f24bbd9ac535531921 Merge: 3860c97 8ebf975 Author: James Bottomley Date: Fri Jun 12 10:02:03 2009 -0500 [SCSI] Merge branch 'linus' Conflicts: drivers/message/fusion/mptsas.c fixed up conflict between req->data_len accessors and mptsas driver updates. Signed-off-by: James Bottomley commit d1f0132e76a11b05167313c606a853953f416081 Author: Mark McLoughlin Date: Mon May 11 18:11:46 2009 +0100 lguest: add support for indirect ring entries Support the VIRTIO_RING_F_INDIRECT_DESC feature. This is a simple matter of changing the descriptor walking code to operate on a struct vring_desc* and supplying it with an indirect table if detected. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit b60da13fc7bbf99d3c68578bd3fbcf66e1cb5f41 Author: Rusty Russell Date: Fri Jun 12 22:27:12 2009 -0600 lguest: suppress notifications in example Launcher The Guest only really needs to tell us about activity when we're going to listen to the eventfd: normally, we don't want to know. So if there are no available buffers, turn on notifications, re-check, then wait for the Guest to notify us via the eventfd, then turn notifications off again. There's enough else going on that the differences are in the noise. Before: Secs RxKicks TxKicks 1G TCP Guest->Host: 3.94 4686 32815 1M normal pings: 104 142862 1000010 1M 1k pings (-l 120): 57 142026 1000007 After: 1G TCP Guest->Host: 3.76 4691 32811 1M normal pings: 111 142859 997467 1M 1k pings (-l 120): 55 19648 501549 Signed-off-by: Rusty Russell commit 4a8962e21bc505c714fc2508494d4c7dd3fe2d29 Author: Rusty Russell Date: Fri Jun 12 22:27:12 2009 -0600 lguest: try to batch interrupts on network receive Rather than triggering an interrupt every time, we only trigger an interrupt when there are no more incoming packets (or the recv queue is full). However, the overhead of doing the select to figure this out is measurable: 1M pings goes from 98 to 104 seconds, and 1G Guest->Host TCP goes from 3.69 to 3.94 seconds. It's close to the noise though. I tested various timeouts, including reducing it as the number of pending packets increased, timing a 1 gigabyte TCP send from Guest -> Host and Host -> Guest (GSO disabled, to increase packet rate). // time tcpblast -o -s 65536 -c 16k 192.168.2.1:9999 > /dev/null Timeout Guest->Host Pkts/irq Host->Guest Pkts/irq Before 11.3s 1.0 6.3s 1.0 0 11.7s 1.0 6.6s 23.5 1 17.1s 8.8 8.6s 26.0 1/pending 13.4s 1.9 6.6s 23.8 2/pending 13.6s 2.8 6.6s 24.1 5/pending 14.1s 5.0 6.6s 24.4 Signed-off-by: Rusty Russell commit 95c517c09bad31a03e22f2fdb5f0aa26a490a92d Author: Rusty Russell Date: Fri Jun 12 22:27:11 2009 -0600 lguest: avoid sending interrupts to Guest when no activity occurs. If we track how many buffers we've used, we can tell whether we really need to interrupt the Guest. This happens as a side effect of spurious notifications. Spurious notifications happen because it can take a while before the Host thread wakes up and sets the VRING_USED_F_NO_NOTIFY flag, and meanwhile the Guest can more notifications. A real fix would be to use wake counts, rather than a suppression flag, but the practical difference is generally in the noise: the interrupt is usually coalesced into a pending one anyway so we just save a system call which isn't clearly measurable. Secs Spurious IRQS 1G TCP Guest->Host: 3.93 58 1M normal pings: 100 72 1M 1k pings (-l 120): 57 492904 Signed-off-by: Rusty Russell commit 38bc2b8c56a2e212bbd19de7cf9976dcc7bf9953 Author: Rusty Russell Date: Fri Jun 12 22:27:11 2009 -0600 lguest: implement deferred interrupts in example Launcher Rather than sending an interrupt on every buffer, we only send an interrupt when we're about to wait for the Guest to send us a new one. The console input and network input still send interrupts manually, but the block device, network and console output queues can simply rely on this logic to send interrupts to the Guest at the right time. The patch is cluttered by moving trigger_irq() higher in the code. In practice, two factors make this optimization less interesting: (1) we often only get one input at a time, even for networking, (2) triggering an interrupt rapidly tends to get coalesced anyway. Before: Secs RxIRQS TxIRQs 1G TCP Guest->Host: 3.72 32784 32771 1M normal pings: 99 1000004 995541 100,000 1k pings (-l 120): 5 49510 49058 After: 1G TCP Guest->Host: 3.69 32809 32769 1M normal pings: 99 1000004 996196 100,000 1k pings (-l 120): 5 52435 52361 (Note the interrupt count on 100k pings goes *up*: see next patch). Signed-off-by: Rusty Russell commit 5dac051bc6030963181b69faddd9e0ad04f85fa8 Author: Rusty Russell Date: Fri Jun 12 22:27:10 2009 -0600 lguest: remove obsolete LHREQ_BREAK call We no longer need an efficient mechanism to force the Guest back into host userspace, as each device is serviced without bothering the main Guest process (aka. the Launcher). Signed-off-by: Rusty Russell commit 659a0e6633567246edcb7bd400c7e2bece9237d9 Author: Rusty Russell Date: Fri Jun 12 22:27:10 2009 -0600 lguest: have example Launcher service all devices in separate threads Currently lguest has three threads: the main Launcher thread, a Waker thread, and a thread for the block device (because synchronous block was simply too painful to bear). The Waker selects() on all the input file descriptors (eg. stdin, net devices, pipe to the block thread) and when one becomes readable it calls into the kernel to kick the Launcher thread out into userspace, which repeats the poll, services the device(s), and then tells the kernel to release the Waker before re-entering the kernel to run the Guest. Also, to make a slightly-decent network transmit routine, the Launcher would suppress further network interrupts while it set a timer: that signal handler would write to a pipe, which would rouse the Waker which would prod the Launcher out of the kernel to check the network device again. Now we can convert all our virtqueues to separate threads: each one has a separate eventfd for when the Guest pokes the device, and can trigger interrupts in the Guest directly. The linecount shows how much this simplifies, but to really bring it home, here's an strace analysis of single Guest->Host ping before: * Guest sends packet, notifies xmit vq, return control to Launcher * Launcher clears notification flag on xmit ring * Launcher writes packet to TUN device writev(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"\366\r\224`\2058\272m\224vf\274\10\0E\0\0T\0\0@\0@\1\265"..., 98}], 2) = 108 * Launcher sets up interrupt for Guest (xmit ring is empty) write(10, "\2\0\0\0\3\0\0\0", 8) = 0 * Launcher sets up timer for interrupt mitigation setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 505}}, NULL) = 0 * Launcher re-runs guest pread64(10, 0xbfa5f4d4, 4, 0) ... * Waker notices reply packet in tun device (it was in select) select(12, [0 3 4 6 11], NULL, NULL, NULL) = 1 (in [4]) * Waker kicks Launcher out of guest: pwrite64(10, "\3\0\0\0\1\0\0\0", 8, 0) = 0 * Launcher returns from running guest: ... = -1 EAGAIN (Resource temporarily unavailable) * Launcher looks at input fds: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 1 (in [4], left {0, 0}) * Launcher reads pong from tun device: readv(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"\272m\224vf\274\366\r\224`\2058\10\0E\0\0T\364\26\0\0@"..., 1518}], 2) = 108 * Launcher injects guest notification: write(10, "\2\0\0\0\2\0\0\0", 8) = 0 * Launcher rechecks fds: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 0 (Timeout) * Launcher clears Waker: pwrite64(10, "\3\0\0\0\0\0\0\0", 8, 0) = 0 * Launcher reruns Guest: pread64(10, 0xbfa5f4d4, 4, 0) = ? ERESTARTSYS (To be restarted) * Signal comes in, uses pipe to wake up Launcher: --- SIGALRM (Alarm clock) @ 0 (0) --- write(8, "\0", 1) = 1 sigreturn() = ? (mask now []) * Waker sees write on pipe: select(12, [0 3 4 6 11], NULL, NULL, NULL) = 1 (in [6]) * Waker kicks Launcher out of Guest: pwrite64(10, "\3\0\0\0\1\0\0\0", 8, 0) = 0 * Launcher exits from kernel: pread64(10, 0xbfa5f4d4, 4, 0) = -1 EAGAIN (Resource temporarily unavailable) * Launcher looks to see what fd woke it: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 1 (in [6], left {0, 0}) * Launcher reads timeout fd, sets notification flag on xmit ring read(6, "\0", 32) = 1 * Launcher rechecks fds: select(7, [0 3 4 6], NULL, NULL, {0, 0}) = 0 (Timeout) * Launcher clears Waker: pwrite64(10, "\3\0\0\0\0\0\0\0", 8, 0) = 0 * Launcher resumes Guest: pread64(10, "\0p\0\4", 4, 0) .... strace analysis of single Guest->Host ping after: * Guest sends packet, notifies xmit vq, creates event on eventfd. * Network xmit thread wakes from read on eventfd: read(7, "\1\0\0\0\0\0\0\0", 8) = 8 * Network xmit thread writes packet to TUN device writev(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"J\217\232FI\37j\27\375\276\0\304\10\0E\0\0T\0\0@\0@\1\265"..., 98}], 2) = 108 * Network recv thread wakes up from read on tunfd: readv(4, [{"\0\0\0\0\0\0\0\0\0\0", 10}, {"j\27\375\276\0\304J\217\232FI\37\10\0E\0\0TiO\0\0@\1\214"..., 1518}], 2) = 108 * Network recv thread sets up interrupt for the Guest write(6, "\2\0\0\0\2\0\0\0", 8) = 0 * Network recv thread goes back to reading tunfd 13:39:42.460285 readv(4, * Network xmit thread sets up interrupt for Guest (xmit ring is empty) write(6, "\2\0\0\0\3\0\0\0", 8) = 0 * Network xmit thread goes back to reading from eventfd read(7, Signed-off-by: Rusty Russell commit df60aeef4f4fe0645d9a195a7689005520422de5 Author: Rusty Russell Date: Fri Jun 12 22:27:09 2009 -0600 lguest: use eventfds for device notification Currently, when a Guest wants to perform I/O it calls LHCALL_NOTIFY with an address: the main Launcher process returns with this address, and figures out what device to run. A far nicer model is to let processes bind an eventfd to an address: if we find one, we simply signal the eventfd. Signed-off-by: Rusty Russell Cc: Davide Libenzi commit 5718607bb670c721f45f0dbb1cc7d6c64969aab1 Author: Rusty Russell Date: Fri Jun 12 22:27:09 2009 -0600 eventfd: export eventfd_signal and eventfd_fget for lguest lguest wants to attach eventfds to guest notifications, and lguest is usually a module. Signed-off-by: Rusty Russell To: Davide Libenzi commit 9f155a9b3d5a5444bcc5e049ec2547bb5107150e Author: Rusty Russell Date: Fri Jun 12 22:27:08 2009 -0600 lguest: allow any process to send interrupts We currently only allow the Launcher process to send interrupts, but it as we already send interrupts from the hrtimer, it's a simple matter of extracting that code into a common set_interrupt routine. As we switch to a thread per virtqueue, this avoids a bottleneck through the main Launcher process. Signed-off-by: Rusty Russell commit 92b4d8df8436cdd74d22a2a5b6b23b9abc737a3e Author: Rusty Russell Date: Fri Jun 12 22:27:08 2009 -0600 lguest: PAE fixes 1) j wasn't initialized in setup_pagetables, so they weren't set up for me causing immediate guest crashes. 2) gpte_addr should not re-read the pmd from the Guest. Especially not BUG_ON() based on the value. If we ever supported SMP guests, they could trigger that. And the Launcher could also trigger it (tho currently root-only). Signed-off-by: Rusty Russell commit acdd0b6292b282c4511897ac2691a47befbf1c6a Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:07 2009 -0600 lguest: PAE support This version requires that host and guest have the same PAE status. NX cap is not offered to the guest, yet. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit cefcad1773197523e11e18b669f245e6a8d32058 Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:07 2009 -0600 lguest: Add support for kvm_hypercall4() Add support for kvm_hypercall4(); PAE wants it. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit ebe0ba84f55950a89cb7af94c7ffc35ee3992f9e Author: Matias Zabaljauregui Date: Sat May 30 15:48:08 2009 -0300 lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD replace LHCALL_SET_PMD with LHCALL_SET_PGD hypercall name (That's really what it is, and the confusion gets worse with PAE support) Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell Reported-by: Jeremy Fitzhardinge commit 90603d15fa95605d1d08235b73e220d766f04bb0 Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:06 2009 -0600 lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated Some cleanups and replace direct assignment with native_set_* macros which properly handle 64-bit entries when PAE is activated Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit ed1dc77810159a733240ba6751c1b31023bf8dd7 Author: Matias Zabaljauregui Date: Sat May 30 15:35:49 2009 -0300 lguest: map switcher with executable page table entries Map switcher with executable page table entries. (This bug didn't matter before PAE and hence NX support -- RR) Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 7b5c806c35f6ff76b2e36a8b5b1513c8a83fcff7 Author: Rusty Russell Date: Fri Jun 12 22:27:05 2009 -0600 lguest: fix writev returning short on console output I've never seen it here, but I can't find anywhere that says writev will write everything. Signed-off-by: Rusty Russell commit e606490c440900e50ccf73a54f6fc6150ff40815 Author: Rusty Russell Date: Fri Jun 12 22:27:04 2009 -0600 lguest: clean up length-used value in example launcher The "len" field in the used ring for virtio indicates the number of bytes *written* to the buffer. This means the guest doesn't have to zero the buffers in advance as it always knows the used length. Erroneously, the console and network example code puts the length *read* into that field. The guest ignores it, but it's wrong. Signed-off-by: Rusty Russell commit f086122bb6e885f926f935b1418fca3b293375f0 Author: Matias Zabaljauregui Date: Fri Jun 12 22:27:04 2009 -0600 lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition. If GDT_ENTRIES were every > 256, this could become a problem. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 81b79b01d057f8c5a378c38d2f738775b972934a Author: Roel Kluin Date: Wed May 20 01:45:45 2009 +0200 lguest: beyond ARRAY_SIZE of cpu->arch.gdt Do not go beyond ARRAY_SIZE of cpu->arch.gdt Signed-off-by: Roel Kluin Signed-off-by: Rusty Russell commit 2644f17d6c932929fd68cfec95691490947e0fd1 Author: Rusty Russell Date: Fri Jun 12 22:27:03 2009 -0600 lguest: clean up example launcher compile flags. 18 months ago 5bbf89fc260830f3f58b331d946a16b39ad1ca2d changed to loading bzImages directly, and no longer manually ungzipping them, so we no longer need libz. Also, -m32 is useful for those on 64-bit platforms (and harmless on 32-bit). Reported-by: Ron Minnich Signed-off-by: Rusty Russell commit 61f4bc83fea248a3092beb7ba43daa5629615513 Author: Rusty Russell Date: Fri Jun 12 22:27:03 2009 -0600 lguest: optimize by coding restore_flags and irq_enable in assembler. The downside of the last patch which made restore_flags and irq_enable check interrupts is that they are now too big to be patched directly into the callsites, so the C versions are always used. But the C versions go via PV_CALLEE_SAVE_REGS_THUNK which saves all the registers. In fact, we don't need any registers in the fast path, so we can do better than this if we actually code them in assembler. The results are in the noise, but since it's about the same amount of code, it's worth applying. 1GB Guest->Host: input(suppressed),output(suppressed) Before: Seconds: 0:16.53 Packets: 377268,753673 Interrupts: 22461,24297 Notifications: 1(5245),21303(732370) Net IRQs triggered: 377023(245),42578(711095) After: Seconds: 0:16.48 Packets: 377289,753673 Interrupts: 22281,24465 Notifications: 1(5245),21296(732377) Net IRQs triggered: 377060(229),42564(711109) Signed-off-by: Rusty Russell commit a32a8813d0173163ba44d8f9556e0d89fdc4fb46 Author: Rusty Russell Date: Fri Jun 12 22:27:02 2009 -0600 lguest: improve interrupt handling, speed up stream networking lguest never checked for pending interrupts when enabling interrupts, and things still worked. However, it makes a significant difference to TCP performance, so it's time we fixed it by introducing a pending_irq flag and checking it on irq_restore and irq_enable. These two routines are now too big to patch into the 8/10 bytes patch space, so we drop that code. Note: The high latency on interrupt delivery had a very curious effect: once everything else was optimized, networking without GSO was faster than networking with GSO, since more interrupts were sent and hence a greater chance of one getting through to the Guest! Note2: (Almost) Closing the same loophole for iret doesn't have any measurable effect, so I'm leaving that patch for the moment. Before: 1GB tcpblast Guest->Host: 30.7 seconds 1GB tcpblast Guest->Host (no GSO): 76.0 seconds After: 1GB tcpblast Guest->Host: 6.8 seconds 1GB tcpblast Guest->Host (no GSO): 27.8 seconds Signed-off-by: Rusty Russell commit abd41f037e1a64543000ed73b42f616d04d92700 Author: Rusty Russell Date: Fri Jun 12 22:27:02 2009 -0600 lguest: fix race in halt code When the Guest does the LHCALL_HALT hypercall, we go to sleep, expecting that a timer or the Waker will wake_up_process() us. But we do it in a stupid way, leaving a classic missing wakeup race. So split maybe_do_interrupt() into interrupt_pending() and try_deliver_interrupt(), and check maybe_do_interrupt() and the "break_out" flag before calling schedule. Signed-off-by: Rusty Russell commit ebf9a5a99c1a464afe0b4dfa64416fc8b273bc5c Author: Rusty Russell Date: Fri Jun 12 22:27:01 2009 -0600 lguest: remove invalid interrupt forcing logic. 20887611523e749d99cc7d64ff6c97d27529fbae (lguest: notify on empty) introduced lguest support for the VIRTIO_F_NOTIFY_ON_EMPTY flag, but in fact it turned on interrupts all the time. Because we always process one buffer at a time, the inflight count is always 0 when call trigger_irq and so we always ignore VRING_AVAIL_F_NO_INTERRUPT from the Guest. It should be looking to see if there are more buffers in the Guest's queue: if it's empty, then we force an interrupt. This makes little difference, since we usually have an empty queue; but that's the subject of another patch. Signed-off-by: Rusty Russell commit a6c372de6e4b9a8188b66badcee3e3792eccdd26 Author: Rusty Russell Date: Fri Jun 12 22:27:01 2009 -0600 lguest: fix lguest wake on guest clock tick, or fd activity The Launcher could be inside the Guest on another CPU; wake_up_process will do nothing because it is "running". kick_process will knock it back into our kernel in this case, otherwise we'll miss it until the next guest exit. Signed-off-by: Rusty Russell commit b43e352139f51216a8c56b0bd5fc3d4e05c65619 Author: Rusty Russell Date: Fri Jun 12 22:27:00 2009 -0600 sched: export kick_process lguest needs kick_process: wake_up_process() does nothing if a process is running, which isn't sufficient (we need it in the kernel). And lguest support is usually modular. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit f7027c6387d0c3acf569845165ec7947e2083c82 Author: Rusty Russell Date: Fri Jun 12 22:27:00 2009 -0600 lguest: get more serious about wmb() in example Launcher code Since the Launcher process runs the Guest, it doesn't have to be very serious about its barriers: the Guest isn't running while we are (Guest is UP). Before we change to use threads to service devices, we need to fix this. Signed-off-by: Rusty Russell commit 1028375e93a7aa4dbe466947d1c65f368b1f61c1 Author: Rusty Russell Date: Fri Jun 12 22:26:59 2009 -0600 lguest: clean up lguest_init_IRQ Copy from arch/x86/kernel/irqinit_32.c: we don't use the vectors beyond LGUEST_IRQS (if any), but we might as well set them all. Signed-off-by: Rusty Russell commit 56739c802ca845435f60e909104637880e14c769 Author: Rusty Russell Date: Fri Jun 12 22:26:59 2009 -0600 lguest: cleanup passing of /dev/lguest fd around example launcher. We hand the /dev/lguest fd everywhere; it's far neater to just make it a global (it already is, in fact, hidden in the waker_fds struct). Signed-off-by: Rusty Russell commit 713b15b3781240653d2b38414da3f4567dcbcf91 Author: Rusty Russell Date: Fri Jun 12 22:26:58 2009 -0600 lguest: be paranoid about guest playing with device descriptors. We can't trust the values in the device descriptor table once the guest has booted, so keep local copies. They could set them to strange values then cause us to segv (they're 8 bit values, so they can't make our pointers go too wild). This becomes more important with the following patches which read them. Signed-off-by: Rusty Russell commit e3353853730eb99c56b7b0aed1667d51c0e3699a Author: Christian Borntraeger Date: Tue May 26 15:46:10 2009 +0200 virtio: enhance id_matching for virtio drivers This patch allows a virtio driver to use VIRTIO_DEV_ANY_ID for the device id. This will be used by a test module that can be bound to any virtio device. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit c89e80168ba1ed37627fe03116b0cf8474dcb7e0 Author: Christian Borntraeger Date: Tue May 26 15:46:09 2009 +0200 virtio: fix id_matching for virtio drivers This bug never appeared, since all current virtio drivers use VIRTIO_DEV_ANY_ID for the vendor field. If a real vendor would be used, the check in virtio_id_match is wrong - it returns 0 if id->vendor == dev->id.vendor. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 594de1dd6449f79c99e1ba4577ea0e4e06e2b405 Author: Rusty Russell Date: Fri Jun 12 22:16:39 2009 -0600 virtio: handle short buffers in virtio_rng. If the device fills less than 4 bytes of our random buffer, we'll BUG_ON. It's nicer to handle the case where it partially fills the buffer (the protocol doesn't explicitly bad that). Signed-off-by: Rusty Russell commit 98e94444748e9af93423d1fab90543e75569a58c Author: Mike Frysinger Date: Mon May 18 03:39:09 2009 -0400 virtio_blk: add missing __dev{init,exit} markings The remove member of the virtio_driver structure uses __devexit_p(), so the remove function itself should be marked with __devexit. And where there be __devexit on the remove, so is there __devinit on the probe. Signed-off-by: Mike Frysinger Signed-off-by: Rusty Russell commit 9fa29b9df32ba4db055f3977933cd0c1b8fe67cd Author: Mark McLoughlin Date: Mon May 11 18:11:45 2009 +0100 virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC) Add a new feature flag for indirect ring entries. These are ring entries which point to a table of buffer descriptors. The idea here is to increase the ring capacity by allowing a larger effective ring size whereby the ring size dictates the number of requests that may be outstanding, rather than the size of those requests. This should be most effective in the case of block I/O where we can potentially benefit by concurrently dispatching a large number of large requests. Even in the simple case of single segment block requests, this results in a threefold increase in ring capacity. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit ee006b353f1ca8c9a8470b72b462beb011d62e32 Author: Mark McLoughlin Date: Mon May 11 18:11:44 2009 +0100 virtio: teach virtio_has_feature() about transport features Drivers don't add transport features to their table, so we shouldn't check these with virtio_check_driver_offered_feature(). We could perhaps add an ->offered_feature() virtio_config_op, but that perhaps that would be overkill for a consitency check like this. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell commit a92892825a122a74ddad1d408fa27132e28b05ae Author: Rusty Russell Date: Fri Jun 12 22:16:37 2009 -0600 virtio: expose features in sysfs Each device negotiates feature bits; expose these in sysfs to help diagnostics and debugging. Signed-off-by: Rusty Russell commit 82af8ce84ed65d2fb6d8c017d3f2bbbf161061fb Author: Michael S. Tsirkin Date: Thu May 14 13:55:41 2009 +0300 virtio_pci: optional MSI-X support This implements optional MSI-X support in virtio_pci. MSI-X is used whenever the host supports at least 2 MSI-X vectors: 1 for configuration changes and 1 for virtqueues. Per-virtqueue vectors are allocated if enough vectors available. Signed-off-by: Michael S. Tsirkin Acked-by: Anthony Liguori Signed-off-by: Rusty Russell (+ whitespace, style) commit 77cf524654a886e0fbbf03b16b44f048deef7b0c Author: Michael S. Tsirkin Date: Thu May 14 13:55:31 2009 +0300 virtio_pci: split up vp_interrupt This reorganizes virtio-pci code in vp_interrupt slightly, so that it's easier to add per-vq MSI support on top. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit d2a7ddda9ffb1c8961abff6714b0f1eb925c120f Author: Michael S. Tsirkin Date: Fri Jun 12 22:16:36 2009 -0600 virtio: find_vqs/del_vqs virtio operations This replaces find_vq/del_vq with find_vqs/del_vqs virtio operations, and updates all drivers. This is needed for MSI support, because MSI needs to know the total number of vectors upfront. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell (+ lguest/9p compile fixes) commit 9499f5e7ed5224c40706f0cec6542a9916bc7606 Author: Rusty Russell Date: Fri Jun 12 22:16:35 2009 -0600 virtio: add names to virtqueue struct, mapping from devices to queues. Add a linked list of all virtqueues for a virtio device: this helps for debugging and is also needed for upcoming interface change. Also, add a "name" field for clearer debug messages. Signed-off-by: Rusty Russell commit ef688e151c00e5d529703be9a04fd506df8bc54e Author: Rusty Russell Date: Fri Jun 12 22:16:35 2009 -0600 virtio: meet virtio spec by finalizing features before using device Virtio devices are supposed to negotiate features before they start using the device, but the current code doesn't do this. This is because the driver's probe() function invariably has to add buffers to a virtqueue, or probe the disk (virtio_blk). This currently doesn't matter since no existing backend is strict about the feature negotiation. But it's possible to imagine a future feature which completely changes how a device operates: in this case, we'd need to acknowledge it before using the device. Signed-off-by: Rusty Russell commit 20f77f5654042cf484d8964b618faf9d620f639b Author: Rusty Russell Date: Fri Jun 12 22:16:33 2009 -0600 virtio: fix obsolete documentation on probe function Signed-off-by: Rusty Russell commit 3ea400581f2b595afd91207bbd79c11cb38598e0 Author: Steven Whitehouse Date: Fri Jun 12 13:40:47 2009 +0100 GFS2: Remove lock_kernel from gfs2_put_super() It is not required here. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit 41d840e224170d2768493e320f290ed060491727 Author: Shaohua Li Date: Fri Jun 12 12:57:52 2009 +0800 x86: change kernel_physical_mapping_init() __init to __meminit kernel_physical_mapping_init() could be called in memory hotplug path. [ Impact: fix potential crash with memory hotplug ] Signed-off-by: Shaohua Li LKML-Reference: <20090612045752.GA827@sli10-desk.sh.intel.com> Signed-off-by: Ingo Molnar commit 974802eaa1afdc87e00821df7020a2b3c6fee623 Author: Peter Zijlstra Date: Fri Jun 12 12:46:55 2009 +0200 perf_counter: Add forward/backward attribute ABI compatibility Provide for means of extending the perf_counter_attr in a 'natural' way. We allow growing the structure by appending fields at the end by specifying the full structure size inside it. When a new kernel sees a smaller (old) structure, it will 0 pad the tail. When an old kernel sees a larger (new) structure, it will verify the tail consists of 0s, otherwise fail. If we fail due to a size-mismatch, we return -E2BIG and write the kernel's native attribe size back into the provided structure. Furthermore, add some attribute verification, so that we'll fail counter creation when unknown bits are present (PERF_SAMPLE, PERF_FORMAT, or in the __reserved fields). (This ABI detail is introduced while keeping the existing syscall ABI.) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit bbd36e5e6aa6f1757c84cdb406b6eb81686d14af Author: Peter Zijlstra Date: Thu Jun 11 23:11:50 2009 +0200 perf record: Explicity program a default counter Up until now record has worked on the assumption that type=0, config=0 was a suitable configuration - which it is. Lets make this a little more explicit and more readable via the use of proper symbols. [ Impact: cleanup ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 081fad86178ec0f64f32f1bd04cf4aad22714fb9 Author: Peter Zijlstra Date: Thu Jun 11 17:57:21 2009 +0200 perf_counter: Remove PERF_TYPE_RAW special casing The PERF_TYPE_RAW special case seems superfluous these days. Remove it and add it to the switch() stmt like the others. [ Impact: cleanup ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f1a3c979059b2033d0b1cc4f9ee5c90bf92b5f94 Author: Peter Zijlstra Date: Thu Jun 11 17:56:09 2009 +0200 perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too is_software_counter() was missing the new HW_CACHE category. ( This could have caused some counter scheduling artifacts with mixed sw and hw counters and counter groups. ) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 4c921126fe553440261f56691c5f60fbaaa486d6 Author: Jaswinder Singh Rajput Date: Fri Jun 12 12:04:54 2009 +0530 powerpc, perf_counter: Fix performance counter event types Sachin Sant reported these compiler errors: CC arch/powerpc/kernel/power7-pmu.o arch/powerpc/kernel/power7-pmu.c:297: error: PERF_COUNT_CPU_CYCLES undeclared here (not in a function) Which happened because a last-minute rename of symbols crossed with the Power7 support patch. Fix this by using the new symbol names. Reported-by: Sachin Sant Signed-off-by: Jaswinder Singh Rajput Cc: Paul Mackerras Cc: linuxppc-dev@ozlabs.org LKML-Reference: <1244788494.5554.1.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 5933048c69edb546f1e93c26dc93816f0be9f754 Author: Rusty Russell Date: Fri Jun 12 21:47:04 2009 -0600 module: cleanup FIXME comments about trimming exception table entries. Everyone cut and paste this comment from my original one. We now do it generically, so cut the comments. Signed-off-by: Rusty Russell Cc: Amerigo Wang commit ad6561dffa17f17bb68d7207d422c26c381c4313 Author: Rusty Russell Date: Fri Jun 12 21:47:03 2009 -0600 module: trim exception table on init free. It's theoretically possible that there are exception table entries which point into the (freed) init text of modules. These could cause future problems if other modules get loaded into that memory and cause an exception as we'd see the wrong fixup. The only case I know of is kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n). Amerigo fixed this long-standing FIXME in the x86 version, but this patch is more general. This implements trim_init_extable(); most archs are simple since they use the standard lib/extable.c sort code. Alpha and IA64 use relative addresses in their fixups, so thier trimming is a slight variation. Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE, yet it defines its own sort_extable() which overrides the one in lib. It doesn't sort, so we have to mark deleted entries instead of actually trimming them. Inspired-by: Amerigo Wang Signed-off-by: Rusty Russell Cc: linux-alpha@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: linux-ia64@vger.kernel.org commit c398df30d5caad626ac72bfab0361a7b0f67a661 Author: Amerigo Wang Date: Wed Jun 3 21:46:46 2009 -0400 module: merge module_alloc() finally As Christoph Hellwig suggested, module_alloc() actually can be unified for i386 and x86_64 (of course, also UML). Signed-off-by: WANG Cong Cc: Christoph Hellwig Cc: 'Ingo Molnar' Signed-off-by: Rusty Russell commit c0e5e10bf380c7a7c4e8c8b7d42e0aba623e76a6 Author: Amerigo Wang Date: Wed Jun 3 21:46:28 2009 -0400 uml module: fix uml build process due to this merge Due to the previous merge, uml needs to be fixed. Signed-off-by: WANG Cong Cc: Jeff Dike Signed-off-by: Rusty Russell commit 0fdc83b950df9e2eb45db6fca9c3d92c66fd5028 Author: Amerigo Wang Date: Wed Jun 3 21:46:19 2009 -0400 x86 module: merge the rest functions with macros Merge the rest functions together, with proper preprocessing directives. Finally remove module_{32|64}.c. Signed-off-by: WANG Cong Cc: Ingo Molnar Signed-off-by: Rusty Russell commit 2d5bf28fb9e3c178db4f5536e2fe38d3a5ed7f40 Author: Amerigo Wang Date: Wed Jun 3 21:46:09 2009 -0400 x86 module: merge the same functions in module_32.c and module_64.c Merge the same functions both in module_32.c and module_64.c into module.c. This is the first step to merge both of them finally. Signed-off-by: WANG Cong Cc: Ingo Molnar Signed-off-by: Rusty Russell commit 2ead9439f0c6ed03faafe27abe8bc1dd256d117b Author: Rusty Russell Date: Fri Jun 12 21:46:58 2009 -0600 uvesafb: improve parameter handling. 1) Now module_param(..., invbool, ...) requires a bool, and similarly module_param(..., bool, ...) allows it, change pmi_setpal to a bool. 2) #define param_get_scroll to NULL, since it can never be called (perm argument to module_param_named is 0). 3) Return -EINVAL from param_set_scroll if the value is bad, so it's reported. Note that I don't think the old fb_get_options() is required for new drivers: the parameters automatically work as uvesafb.XXX=... anyway. Acked-by: Michał Januszewski Signed-off-by: Rusty Russell commit fddd520122953550ec2c8b60e7ca0d0f0d115d97 Author: Rusty Russell Date: Fri Jun 12 21:46:57 2009 -0600 module_param: allow 'bool' module_params to be bool, not just int. Impact: API cleanup For historical reasons, 'bool' parameters must be an int, not a bool. But there are around 600 users, so a conversion seems like useless churn. So we use __same_type() to distinguish, and handle both cases. Signed-off-by: Rusty Russell commit d2c123c27db841c6c11a63de9c144823d2b1ba76 Author: Rusty Russell Date: Fri Jun 12 21:46:56 2009 -0600 module_param: add __same_type convenience wrapper for __builtin_types_compatible_p Impact: new API __builtin_types_compatible_p() is a little awkward to use: it takes two types rather than types or variables, and it's just damn long. (typeof(type) == type, so this works on types as well as vars). Signed-off-by: Rusty Russell commit 45fcc70c0b6ee0c508e1fdb5fef735c3546803f4 Author: Rusty Russell Date: Fri Jun 12 21:46:56 2009 -0600 module_param: split perm field into flags and perm Impact: cleanup Rather than hack KPARAM_KMALLOCED into the perm field, separate it out. Since the perm field was 32 bits and only needs 16, we don't add bloat. Signed-off-by: Rusty Russell commit 9a71af2c3627b379b7c31917a7f6ee0d29bc559b Author: Rusty Russell Date: Fri Jun 12 21:46:53 2009 -0600 module_param: invbool should take a 'bool', not an 'int' It takes an 'int' for historical reasons, and there are only two users: simply switch it over to bool. The other user (uvesafb.c) will get a (harmless-on-x86) warning until the next patch is applied. Cc: Brad Douglas Cc: Michal Januszewski Signed-off-by: Rusty Russell commit ab8e2eb722f1e5fcbd8181e3e9ef4e95c52124df Author: Rusty Russell Date: Fri Jun 12 21:46:50 2009 -0600 cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK Russell explains the __module_get(): > cyber2000fb.c does it in its module initialization function > to prevent the module (when built for Shark) from being unloaded. It > does this because it's from the days of 2.2 kernels and no one bothered > writing the module unload support for Shark. Since 2.4, the correct answer has been to not define an unload fn. Cc: Russell King Cc: alex@shark-linux.de Signed-off-by: Rusty Russell commit c3bb4d24ab4b74e11992ccb9828569583166a87d Author: Catalin Marinas Date: Fri Jun 12 09:35:22 2009 +0100 kmemleak: Add more info to the MAINTAINERS entry The patch adds the "F:" fields to the KMEMLEAK MAINTAINERS entry and also moves it before KMEMTRACE to preserve the alphabetical order. Signed-off-by: Catalin Marinas commit dff5da6d09daaab40a8741dce0ed3c2e94079de2 Author: Yong Wang Date: Fri Jun 12 16:08:55 2009 +0800 perf_counter/x86: Add a quirk for Atom processors The fixed-function performance counters do not work on current Atom processors. Use the general-purpose ones instead. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090612080855.GA2286@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit faafec1e61e61d350248af2a7e5f047606adab6e Author: Yong Wang Date: Fri Jun 12 11:17:06 2009 +0800 perf_counter tools: Remove one L1-data alias Otherwise all L1-instruction aliases will be recognized as L1-data by strcasestr() when calling function parse_aliases. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090612031706.GA22126@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 55cd63676e0c5710fbe1ea86dfd9f8ea9aaa90f2 Author: Yinghai Lu Date: Fri Jun 12 11:36:52 2009 +0300 x86: make zap_low_mapping could be used early Only one cpu is there, just call __flush_tlb for it. Fixes the following boot warning on x86: [ 0.000000] Memory: 885032k/915540k available (5993k kernel code, 29844k reserved, 3842k data, 428k init, 0k highmem) [ 0.000000] virtual kernel memory layout: [ 0.000000] fixmap : 0xffe17000 - 0xfffff000 (1952 kB) [ 0.000000] vmalloc : 0xf8615000 - 0xffe15000 ( 120 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf7e15000 ( 894 MB) [ 0.000000] .init : 0xc19a5000 - 0xc1a10000 ( 428 kB) [ 0.000000] .data : 0xc15da4bb - 0xc199af6c (3842 kB) [ 0.000000] .text : 0xc1000000 - 0xc15da4bb (5993 kB) [ 0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok. [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x50/0x1b0() [ 0.000000] Hardware name: System Product Name [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip #52504 [ 0.000000] Call Trace: [ 0.000000] [] warn_slowpath_common+0x65/0x95 [ 0.000000] [] warn_slowpath_null+0x12/0x15 [ 0.000000] [] smp_call_function_many+0x50/0x1b0 [ 0.000000] [] ? do_flush_tlb_all+0x0/0x41 [ 0.000000] [] ? do_flush_tlb_all+0x0/0x41 [ 0.000000] [] smp_call_function+0x31/0x58 [ 0.000000] [] ? do_flush_tlb_all+0x0/0x41 [ 0.000000] [] on_each_cpu+0x26/0x65 [ 0.000000] [] flush_tlb_all+0x19/0x1b [ 0.000000] [] zap_low_mappings+0x4d/0x56 [ 0.000000] [] ? printk+0x14/0x17 [ 0.000000] [] mem_init+0x23d/0x245 [ 0.000000] [] start_kernel+0x17a/0x2d5 [ 0.000000] [] ? unknown_bootoption+0x0/0x19a [ 0.000000] [] __init_begin+0x39/0x41 [ 0.000000] ---[ end trace 4eaa2a86a8e2da22 ]--- Reported-by: Ingo Molnar Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit 28be225b23b115573e0ecc8ef9996f42a1652f74 Author: Yinghai Lu Date: Fri Jun 12 11:33:02 2009 +0300 irq: slab alloc for default irq_affinity Ingo had [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x2b/0x71() [ 0.000000] Hardware name: System Product Name [ 0.000000] Modules linked in: [ 0.000000] Pid: 0, comm: swapper Tainted: G W 2.6.30-tip-03087-g0bb2618-dirty #52506 [ 0.000000] Call Trace: [ 0.000000] [<81032588>] warn_slowpath_common+0x60/0x90 [ 0.000000] [<810325c5>] warn_slowpath_null+0xd/0x10 [ 0.000000] [<819d1bc0>] alloc_arch_preferred_bootmem+0x2b/0x71 [ 0.000000] [<819d1c31>] ___alloc_bootmem_nopanic+0x2b/0x9a [ 0.000000] [<81050a0a>] ? lock_release+0xac/0xb2 [ 0.000000] [<819d1d4c>] ___alloc_bootmem+0xe/0x2d [ 0.000000] [<819d1e9f>] __alloc_bootmem+0xa/0xc [ 0.000000] [<819d7c63>] alloc_bootmem_cpumask_var+0x21/0x26 [ 0.000000] [<819d0cc8>] early_irq_init+0x15/0x10d [ 0.000000] [<819bb75a>] start_kernel+0x167/0x326 [ 0.000000] [<819bb06b>] __init_begin+0x6b/0x70 [ 0.000000] ---[ end trace 4eaa2a86a8e2da23 ]--- [ 0.000000] NR_IRQS:2304 nr_irqs:424 [ 0.000000] CPU 0 irqstacks, hard=821e6000 soft=821e7000 we need to update init_irq_default_affinity Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit bf664c0a3a42683b78d74aca2d7cfb6ccc2aa2c3 Author: Mike Frysinger Date: Fri Jun 5 03:13:11 2009 -0400 Blackfin: fix sparseirq/kstat_irqs fallout The sparseirq changes (d7e51e66) played poorly with the Blackfin irqchip implementation as we're still using the old hardirq method. Our bad irq structure had a NULL kstat_irqs field so when all the common code tries to increment this field, everything goes big bada boom. Signed-off-by: Mike Frysinger commit ce0bf52dd3f9d980889190bc6097f1756b71eb8c Author: Mike Frysinger Date: Thu Jun 4 23:51:27 2009 -0400 Blackfin: fix unused warnings after nommu update The massive nommu update (8feae131) left the local variable "vml" unused, so punt it. Signed-off-by: Mike Frysinger commit 81f7f45606812f1d15d618c2646d0f33ca111f87 Author: Robin Getz Date: Wed Jun 3 18:58:26 2009 +0000 Blackfin: export the last exception cause via debugfs We have some test code that runs in userspace that exercises the exception handling of the Blackfin pretty thoroughly. Part of the validation process is checking the exact exception triggered, so export the last one seen to userspace via debugfs when debugging is enabled for the test code to check. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 0a990614264f04879d9608da1cfcf9a6596efe08 Author: Roel Kluin Date: Thu Jun 4 19:57:24 2009 -0400 Blackfin: fix length checking in kgdb_ebin2mem The kgdb_ebin2mem() was decrementing the count variable to do parsing, but then later still tries to use it based on its original meaning. So leave it untouched and use a different variable to walk the memory. Signed-off-by: Roel Kluin Signed-off-by: Mike Frysinger commit 11aca0e7352b6a28193221cd2dd85f758fb71b23 Author: Mike Frysinger Date: Thu Jun 4 17:28:16 2009 +0000 Blackfin: kgdb: fix up error return values The Blackfin kgdb code was all passing back positive errno values when it really should have been using negative errno values. Reported-by: Roel Kluin Signed-off-by: Mike Frysinger commit a43b739f257fd2569e11c6c93fbb86df382848e9 Author: Mike Frysinger Date: Thu Jun 4 19:24:31 2009 +0000 Blackfin: push access_ok() L1 attribute down There is no need for the L1 attribute to be on the prototype of the access_ok() function as all consumers of the function do not care where it lives -- they'll always use pcrel calls to get to it. This prevents pointless recompiles of most of the system when this config option changes. Signed-off-by: Mike Frysinger commit 8d0d8f2a3a57479b695a59ed2f67236f1488b90d Author: Mike Frysinger Date: Thu Jun 4 19:11:31 2009 +0000 Blackfin: punt duplicated search_exception_table() prototype The common code already has a prototype for this function and we don't use it anywhere in the Blackfin code, so punt it from the Blackfin headers. Signed-off-by: Mike Frysinger commit a8372b5ca618d4ea41b3c7ac3cef8dd6efa68bc6 Author: Robin Getz Date: Thu Jun 4 00:32:59 2009 +0000 Blackfin: add missing access_ok() checks to user functions The core string/clear user functions weren't checking the user pointers which caused kernel crashes with some bad programs and tests (like LTP). Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 685a694f0653b7db49f663b2cd6953695214fb30 Author: Mike Frysinger Date: Wed Jun 3 00:33:31 2009 +0000 Blackfin: convert early_printk EVT init to a loop The EVT registers are all contiguous in the memory map, so using a loop to initialize them all rather than hardcoding the list results in much better generated code (a hardware loop rather than a whole bunch of individual loads). Signed-off-by: Mike Frysinger commit f1db88d2a7f1c92284e64f5dbb5c7a316a22576d Author: Mike Frysinger Date: Tue Jun 2 08:46:35 2009 +0000 Blackfin: document the lsl variants of the L1 allocator Make sure the meaning of "lsl" is covered somewhere and it is clear why we somewhat duplicate the sram alloc/free functions. Signed-off-by: Mike Frysinger commit 595d681f2c0610223bbe79189b0896f1b8c24f8a Author: Mike Frysinger Date: Tue Jun 2 00:35:33 2009 +0000 Blackfin: rename Blackfin relocs according to the toolchain The latest Blackfin toolchain has fixed its relocation scheme to match other ports: always use R_BFIN_ prefix and capitalize everything. This brings the kernel in line with those fixes. Signed-off-by: Mike Frysinger commit 780172bf875298133fe5627552a632d1fda3775a Author: Mike Frysinger Date: Mon Jun 1 19:43:02 2009 -0400 Blackfin: check SIC defines rather than variant names Rather than having to maintain a hard coded list of Blackfin variants, use the SIC defines themselves. This fixes build problems on BF51x/BF538 under some configurations as they were missing from one of the lists. Signed-off-by: Mike Frysinger commit ea8538a039607cd959d28ed10086484e051ce7db Author: Sonic Zhang Date: Mon Jun 1 00:49:32 2009 -0400 Blackfin: add SSYNC to set_dma_sg() for descriptor fetching Make sure the internal core buffers are flushed before telling the DMA engine to fetch the descriptor structure so that it gets the right values. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 9b9bfded623cffb4259b95e5419404015dba361f Author: Graf Yang Date: Wed May 27 09:58:35 2009 +0000 Blackfin: convert SMP to only use generic time framework Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit ffc4d8bc4435918d2fd1e840b0bf985e7b56f0d3 Author: Michael Hennerich Date: Fri May 29 15:41:18 2009 +0000 Blackfin: bf548-ezkit/bf537-stamp: add resources for ADXL345/346 Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 79df1b69471b5ea4be8285c9dc6ab05cdf5a85d7 Author: Mike Frysinger Date: Tue May 26 23:34:51 2009 +0000 Blackfin: override default uClinux MTD addr/size Due to a processor anomaly (05000263 to be exact), most Blackfin parts cannot keep the embedded filesystem image directly after the kernel in RAM. Instead, the filesystem needs to be relocated to the end of memory. As such, we need to tweak the map addr/size during boot for Blackfin systems. Signed-off-by: Mike Frysinger commit 37082511f06108129bd5f96d625a6fae2d5a4ab4 Author: Mike Frysinger Date: Tue May 26 21:48:38 2009 +0000 Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT Commit 6b3087c6 (which introduced Blackfin SMP) broke command line passing when the DEBUG_DOUBLEFAULT config option was enabled. Switch the code to using a scratch register and not R7 which holds the command line. Signed-off-by: Mike Frysinger commit 89ecd506917ba6e86ede072efbef6c69d01db4dd Author: Graf Yang Date: Mon May 25 06:40:42 2009 +0000 Blackfin: fix handling of initial L1 reservation This restores some L1 reservation logic that was lost during the Blackfin SMP merge. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit c72aa0794a0ecc0b87ba9d5546215c26c8c80668 Author: Graf Yang Date: Mon May 25 04:44:00 2009 +0000 Blackfin: merge sram init functions Now that the sram_init() function exists only to call the bfin_sram_init() after the punting of the reserve_pda() function, simply merge the two to avoid pointless overhead. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit d1800fe0e50ed22673cd895f2b0a7c2b79d3010a Author: Graf Yang Date: Mon May 25 04:27:22 2009 +0000 Blackfin: drop unused reserve_pda() function The Per-processor Data Area isn't actually reserved by this function, and all it ended up doing was issuing a printk(), so punt it. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit c8d5ea8ccb1ce586131c6c549899cb5073222da0 Author: Michael Hennerich Date: Mon May 4 09:11:37 2009 +0000 Blackfin: update gptimers API First we fix the prototypes for functions that return boolean values by using "int" rather than "uint16_t". Then we introduce a get_gptimer_run() function for checking the current run status of a timer, and then we add a disable_gptimers_sync() function which parallels disable_gptimers() with corresponding normal "_sync" behavior. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 9ba3c24f10c948dadac2ca91ed714dfbcedd61ca Author: Robin Getz Date: Wed May 20 21:19:21 2009 +0000 Blackfin: include system/processor info in dump messages People often copy & paste crash messages without surrounding context, so include common useful information like system/processor stats in the crash summary. This should smooth over the report/test cycle a bit more. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 0acad8dfee6bde7e246a95a52f864a8eee777ed8 Author: Robin Getz Date: Mon May 11 18:55:16 2009 +0000 Blackfin: add workaround for anomaly 05000461 Returning too fast with a bad RETI can trigger false errors. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit a0cab65642813b7990e1b4b2ab6ad92e171571f4 Author: Robin Getz Date: Mon May 11 18:34:41 2009 +0000 Blackfin: make sure stack is accessible before dumping it When displaying a crash dump, make sure accessing the stack is safe so we don't crash at the same time. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit b9a3899d59c3f0fc074573f0eba2419b1e4c0bca Author: Robin Getz Date: Mon May 18 18:33:26 2009 +0000 Blackfin: make deferred hardware errors more exact Hardware errors on the Blackfin architecture are queued by nature of the hardware design. Things that could generate a hardware level queue up at the system interface and might not process until much later, at which point the system would send a notification back to the core. As such, it is possible for user space code to do something that would trigger a hardware error, but have it delay long enough for the process context to switch. So when the hardware error does signal, we mistakenly evaluate it as a different process or as kernel context and panic (erp!). This makes it pretty difficult to find the offending context. But wait, there is good news somewhere. By forcing a SSYNC in the interrupt entry, we force all pending queues at the system level to be processed and all hardware errors to be signaled. Then we check the current interrupt state to see if the hardware error is now signaled. If so, we re-queue the current interrupt and return thus allowing the higher priority hardware error interrupt to process properly. Since we haven't done any other context processing yet, the right context will be selected and killed. There is still the possibility that the exact offending instruction will be unknown, but at least we'll have a much better idea of where to look. The downside of course is that this causes system-wide syncs at every interrupt point which results in significant performance degradation. Since this situation should not occur in any properly configured system (as hardware errors are triggered by things like bad pointers), make it a debug configuration option and disable it by default. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 97b070c8e7e82be30c8a3bf19e69b8c0c71f1fac Author: Mike Frysinger Date: Fri Apr 24 03:17:07 2009 +0000 Blackfin: add note about anomaly 05000242 being worked around Document anomaly 05000242 workaround in source code. Signed-off-by: Mike Frysinger commit 5ba766752d14a741aa2d7a3c321917a310b34afb Author: Graf Yang Date: Thu May 7 04:09:15 2009 +0000 Blackfin: work around anomaly 05000220 When possible, work around anomaly 05000220 (external memory is write back cached, but L2 is not cached). If not possible, detect the conditions at build time and reject any qualifying configurations. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit a261eec0009b6093727fb7a59b12a10c6c981714 Author: Mike Frysinger Date: Wed May 20 14:05:36 2009 +0000 Blackfin: rename some Blackfin drivers Try to keep the naming conventions consistent, so: SPI_ADC_BF533 -> BFIN_SPI_ADC TWI_LCD -> BFIN_TWI_LCD Signed-off-by: Mike Frysinger commit a17c7f6f5b3b3f91ff7121c33bea8748c415ab15 Author: Robin Getz Date: Tue May 5 17:14:39 2009 +0000 Blackfin: make sure MPU CPLB for first 1k is marked as valid This way we properly catch and kill applications that jump to a NULL ptr. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 8af7ffa0d5460586e0f06b2f045a6a2631224b61 Author: Graf Yang Date: Fri May 8 07:42:12 2009 +0000 Blackfin: add workaround for anomaly 05000287 Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 1fa9be72b558c39459f98835eb86dbb4ef4da30b Author: Graf Yang Date: Fri May 15 11:01:59 2009 +0000 Blackfin: add support for gptimer0 as a tick source For systems where the core cycles are not a usable tick source (like SMP or cycles gets updated), enable gptimer0 as an alternative. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 555487bbb63f527e63fecbff48c86e2c07ce5024 Author: Graf Yang Date: Wed May 6 10:38:07 2009 +0000 Blackfin: annotate anomaly 05000120 Add some notes for anomaly 05000120 to make sure we work around it. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit ee0263cc2e7d774655bba6a6750a06099a3cebf0 Author: Graf Yang Date: Wed May 20 06:06:15 2009 +0000 Blackfin: BF518F-EZBRD: handle required portmuxing of async pins The two high address lines on the BF51x are not dedicated which means we need to handle them like any other peripheral pin if we want to access the upper 2MB of parallel flash. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 7f3aee3c187641ec7c7e260d9cabb71ac4ac9f7c Author: Sonic Zhang Date: Thu May 7 10:04:19 2009 +0000 Blackfin: detect anomaly 05000274 Detect and reject operating conditions for anomaly 05000274 since the problem cannot be worked around in software. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit d8804adf52f5991388fa9af77428e4cc7768059d Author: Mike Frysinger Date: Wed Apr 29 06:26:46 2009 +0000 Blackfin: do not append newlines to panic() messages The panic() function already handles newlines for us. Signed-off-by: Mike Frysinger commit 729a3fa7333af58d57eecb0aacf7ca3d58237f81 Author: Mike Frysinger Date: Fri Apr 24 03:55:41 2009 +0000 Blackfin: workaround anomaly 05000227 Workaround anomaly 05000227 by only using the scratch pad for stack when absolutely necessary. The core code which reprograms clocks really only touches MMRs directly with constants. Signed-off-by: Mike Frysinger commit a9031028ef70f658daa2151e361aee7b082965ee Author: Mike Frysinger Date: Thu Apr 23 17:04:10 2009 +0000 Blackfin: delete unused sys_getpagesize() function Signed-off-by: Mike Frysinger commit e522c8466d6f8437cf02a34287c8707ef53081ed Author: Graf Yang Date: Fri May 8 07:42:12 2009 +0000 Blackfin: work around anomaly 05000287 Make sure we work around anomaly 05000287 by configuring different port preferences for the data cache. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit a9a59e3096443ea4d6f50db978d7d3bbb47708b4 Author: Mike Frysinger Date: Fri Apr 24 01:42:54 2009 +0000 Blackfin: punt useless GPIO init call This init code existed only to dump a printk(), and not even a useful one. Signed-off-by: Mike Frysinger commit 76068c3c5dee4332f532573b6423d75c3e14f660 Author: Robin Getz Date: Thu Apr 23 20:56:42 2009 +0000 Blackfin: annotate anomaly 05000119 in core DMA code Add a reminder note to avoid the DMA_DONE bit in our DMA core code. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit bc4d6f36db4b24bf328a5fd70038a2e609b9f028 Author: Robin Getz Date: Thu Apr 23 14:15:04 2009 +0000 Blackfin: document anomaly 05000234 workaround Note the reason for using CHIPD over DSPID. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit fecbd7366bf5a39eaae2c03541f0b412f319534f Author: Robin Getz Date: Thu Apr 23 20:49:43 2009 +0000 Blackfin: fix early L1 relocation crash Our early L1 relocate code may implicitly call code which lives in L1 memory. This is due to the dma_memcpy() rewrite that made the DMA code lockless and safe to be used by multiple processes. If we start the early DMA memcpy to relocate things into L1 instruction but then our DMA memcpy code calls a function that lives in L1, things fall apart. As such, create a small dedicated DMA memcpy routine that we can assume sanity at boot time. Reported-by: Filip Van Rillaer Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit f5879fda09ea98d7aa845a0e0fa7e508452e5f9f Author: Graf Yang Date: Wed May 6 09:59:11 2009 +0000 Blackfin: add MDMA defines to make cross-variant coding easier Add some defines to make the BF538/BF561 look like most other Blackfin parts in that it has a MDMA0 channel available for low level init. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit f339f46b05cfe289024b15a0525c8b61f1426a88 Author: Mike Frysinger Date: Tue May 19 12:58:13 2009 +0000 Blackfin: fix detection of cached L2 SRAM Make sure our bfin_addr_dcachable() function flags cached L2 SRAM properly else memory easily goes unflushed when working with DMA. Signed-off-by: Mike Frysinger commit c8f36dc3c11c3e9e879ded82cdf5d748d4ab2fb2 Author: Mike Frysinger Date: Thu May 14 14:55:50 2009 +0000 Blackfin: simplify BF561 coreb driver greatly Since 90% of this driver can be handled in user space, move it to the corebld user space application. Signed-off-by: Mike Frysinger commit b9ccf14bc5352b86e7e254e6cf55d9b917b1b1cc Author: Sonic Zhang Date: Thu May 21 06:39:46 2009 +0000 Blackfin: update defconfigs Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 78f28a0a83a86dfe021f7d8169208b9af2a23201 Author: Mike Frysinger Date: Fri Apr 10 21:20:19 2009 +0000 Blackfin: simplify the do_flush macro Simplify the do_flush macro now that we don't need to take into account a second instruction being used together. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f8b556514c4481a500ace4745731f04a77c08d54 Author: Mike Frysinger Date: Mon Apr 13 21:58:34 2009 +0000 Blackfin: set bf51x/bf52x to 0.0 rev by default and bf54x to 0.2 Update the default revs based on what we actually support (bf54x-0.[01] is too broken to use). Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d4b890b0cd9e0ac75cbdf7011ef38ebc662930e6 Author: Michael Hennerich Date: Thu Apr 16 12:38:34 2009 +0000 Blackfin: do not error if GPIO IRQ is requested already as GPIO Some drivers expect to be able to request both as GPIO and GPIO IRQ, so allow that use case. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger commit a413647bb5bbe5414cd68332ff77588db09d10be Author: Mike Frysinger Date: Fri May 8 07:40:25 2009 +0000 Blackfin: pull updated anomaly lists from toolchain Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 648882d940a1f84cbf11418ae6e405ef42a66855 Author: Michael Hennerich Date: Tue Apr 21 12:05:50 2009 +0000 Blackfin: fix up PATA resource handling in bf537-stamp Make sure the addresses declared match reality, and make the PATA IRQ code optional. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 51387009bd4d9fdbc9d4a91e45bd96cc8e3065de Author: Philippe Gerum Date: Wed Apr 8 07:41:55 2009 +0000 Blackfin: merge Philippe's recent ipipe patch ipipe-2.6.28.9-blackfin-git95aafe6.patch Singed-off-by: Philippe Gerum Signed-off-by: Yi Li Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger commit f75196c404246b371182bb7554eab695619cb36f Author: Mike Frysinger Date: Wed Apr 1 12:25:58 2009 +0000 Blackfin: fix warnings with I/O port macros The I/O port functions take ints, so we need to cast them up before passing to our read/write funcs to avoid ugly messes of warnings. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f4290e81f6035b49d4a03706081b2c5f58906386 Author: Mariusz Kozlowski Date: Sun Apr 12 20:03:30 2009 +0000 Blackfin: fix parentheses balance and convert some tab/space mixing Signed-off-by: Mariusz Kozlowski Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4b402e3a54a46505692ec8215231e2ede46a4aeb Author: Graf Yang Date: Mon Apr 20 09:20:58 2009 +0000 Blackfin: fix bug found by traps test case 21 The traps test case 21 "exception 0x3f: l1_instruction_access" would make the kernel panic on BF533's because we end up calling show_stack() infinitely. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5d89137a17ca804ee60077f5d4ad8d7ca60f0614 Author: Mike Frysinger Date: Fri Apr 10 20:52:08 2009 +0000 Blackfin: fix data cache flushing when doing icache flushing Make sure we flush all data caches and their write buffers before flushing icache, otherwise random edge cases could crop up where stale data is read into icache from external memory. As fallout, punt the combined icache + dcache flush function since we cannot safely do them back to back -- the SSYNC is needed between the dcache flush and the icache flush. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f82e0a0c67621df83458753aef580a3508d5428e Author: Graf Yang Date: Wed Apr 8 08:30:22 2009 +0000 Blackfin: fix link failure due to CONFIG_EXCEPTION_L1_SCRATCH Move exception stack mess from entry.S to init.c to fix link failure when CONFIG_EXCEPTION_L1_SCRATCH is in use. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b8d0c778e652d23750cb1af9848408d620cbc425 Author: Robin Getz Date: Tue Mar 31 13:40:52 2009 +0000 Blackfin: allow scheduler functions to be placed into L1 Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8d5c2f03bb6302a2aa5a4d0d28f59d01e2eea6c1 Author: Sonic Zhang Date: Mon Mar 30 09:07:26 2009 +0000 Blackfin: Allow bf548 ATAPI to be routed to GPIO By default, it is routed to async memory address. In GPIO case, GPIO peripheral PINs should be requested in advance. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ffdf3ec8060c1089f92468ade63981a217b5aace Author: Yi Li Date: Tue Mar 31 10:36:51 2009 +0000 Blackfin: bf527-ezkit: add support for mmc-spi Signed-off-by: Yi Li Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c8342f872d7a3967fd09db54fece3f6c38d834df Author: Mike Frysinger Date: Tue Mar 31 00:18:35 2009 +0000 Blackfin: add some help text to the EBIU_AMBCTL settings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 349ebbcc26258f40da5534a586233e7d6233071c Author: Michael Hennerich Date: Wed Apr 15 08:48:08 2009 +0000 Blackfin: add comment for anomaly 05000171 to init code Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5b02ee3d219f9e01b6e9146e25613822cfc2e5ce Merge: 26a28fa 8ebf975 Author: Arnd Bergmann Date: Fri Jun 12 09:53:47 2009 +0200 asm-generic: merge branch 'master' of torvalds/linux-2.6 Fixes a merge conflict against the x86 tree caused by a fix to atomic.h which I renamed to atomic_long.h. Signed-off-by: Arnd Bergmann commit 6ab56315a36e42e90ad7173aa8b3bbd1467d1fea Author: Catalin Marinas Date: Fri Jun 12 09:29:52 2009 +0100 kmemleak: Remove the kmemleak.h include in drivers/char/vt.c This file is no longer annotated for false positives but the kmemleak.h include was still present. Signed-off-by: Catalin Marinas Acked-by: Alan Cox commit 310d6b671588dd7695cbc0d09d02e41d94a42bed Author: Heiko Carstens Date: Fri Jun 12 10:26:49 2009 +0200 [S390] wire up sys_perf_counter_open Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit fc39453debac927a3ba477bafbc6c18c7166ae78 Author: Heiko Carstens Date: Fri Jun 12 10:26:48 2009 +0200 [S390] wire up sys_rt_tgsigqueueinfo Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9bf1226b33dc2f94fc37ffd70ee161e2bda1ff5c Author: Heiko Carstens Date: Fri Jun 12 10:26:47 2009 +0200 [S390] ftrace: add system call tracer support System call tracer support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 88dbd2037229bd2ed7543ffd0d8f2d9dec9d31d2 Author: Heiko Carstens Date: Fri Jun 12 10:26:46 2009 +0200 [S390] ftrace: add function graph tracer support Function graph tracer support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8b4488f85d619253c9e631ec723368f400106771 Author: Heiko Carstens Date: Fri Jun 12 10:26:45 2009 +0200 [S390] ftrace: add function trace mcount test support Add support for early test if the function tracer is enabled or disabled. Saves some extra function calls. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dfd9f7abc0fb67b5781f340d982384cea53b2884 Author: Heiko Carstens Date: Fri Jun 12 10:26:44 2009 +0200 [S390] ftrace: add dynamic ftrace support Dynamic ftrace support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a2b53673fae14601bb520acf6a6f154463994565 Author: Heiko Carstens Date: Fri Jun 12 10:26:43 2009 +0200 [S390] kprobes: use probe_kernel_write Use proble_kernel_write() to patch the kernel. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 88df125fd6127e409793fd84a574566651450320 Author: Heiko Carstens Date: Fri Jun 12 10:26:42 2009 +0200 [S390] maccess: arch specific probe_kernel_write() implementation Add an s390 specific probe_kernel_write() function which allows to write to the kernel text segment even if write protection is enabled. This is implemented using the lra (load real address) and stura (store using real address) instructions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d93f82b6e0c12a4373f2d04b1f92fcb2d175b62c Author: Heiko Carstens Date: Fri Jun 12 10:26:41 2009 +0200 [S390] maccess: add weak attribute to probe_kernel_write probe_kernel_write() gets used to write to the kernel address space. E.g. to patch the kernel (kgdb, ftrace, kprobes...). Some architectures however enable write protection for the kernel text section, so that writes to this region would fault. This patch allows to specify an architecture specific version of probe_kernel_write() which allows to handle and bypass write protection of the text segment. That way it is still possible to catch random writes to kernel text and explicitly allow writes via this interface. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f3d0a0d96a7a2b4e1335437f68b3181ab252050a Author: Martin Schwidefsky Date: Fri Jun 12 10:26:40 2009 +0200 [S390] profile_tick called twice profile_tick is called twice for every clock comparator interrupt. The generic clock event code does it in tick_sched_timer and the s390 backend code in clock_comparator_work. That is one too many, remove the one in the arch backend code. Signed-off-by: Martin Schwidefsky commit 6cc7f168954fe8b3d8988a90b2478a9c11c5ebcb Author: Stefan Weinhuber Date: Fri Jun 12 10:26:39 2009 +0200 [S390] dasd: forward internal errors to dasd_sleep_on caller If a DASD requests is started with dasd_sleep_on and fails, then the calling function may need to know the reason for the failure. In cases of hardware errors it can inspect the sense data in the irb, but when the reason is internal (e.g. start_IO failed) then it needs a meaningfull return code. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 736e6ea0bf97ec79521f88704ce8506e5d60d078 Author: Sebastian Ott Date: Fri Jun 12 10:26:38 2009 +0200 [S390] dasd: sync after async probe Some functions called as a late_initcall depend on completely initialized devices. Since commit f3445a1a656bc26b07946cc6d20de1ef07c8d116 the dasd driver uses the new async framework and relies on the fact that synchronization is done in prepare_namespace which is called after the late_initcalls. Fix this by calling async_synchronize_full at the end of the related init functions. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 92636b152f3b58e459988934f689619af9e04dbc Author: Sebastian Ott Date: Fri Jun 12 10:26:37 2009 +0200 [S390] dasd: check_characteristics cleanup Fix a broken memset (sizeof pointer vs sizeof the underlying structure) by cleaning up the involved functions. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 45b44d76d373e66d08e0c745dc82ff9123103588 Author: Stefan Weinhuber Date: Fri Jun 12 10:26:36 2009 +0200 [S390] dasd: no High Performance FICON in 31-bit mode The High Performance FICON feature is not supported in 31-bit mode, no matter what the various flags say. So we need to check for the CONFIG_64BIT option as well. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit d0591485e15ccd908f91058f7da134248dcdbbb3 Author: Gerald Schaefer Date: Fri Jun 12 10:26:35 2009 +0200 [S390] dcssblk: revert devt conversion git commit f331c0296f2a9fee0d396a70598b954062603015 changed users of ->first_minor to devt. This broke device handling in dcssblk, so that no additional devices could be added after the first one. This patch reverts the devt conversion to the previous ->first_minor handling. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 6b9d8e80bb9edd0c9fe948a6ef105391de56b012 Author: Roel Kluin Date: Fri Jun 12 10:26:34 2009 +0200 [S390] qdio: fix access beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs Do not go beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs Signed-off-by: Roel Kluin Signed-off-by: Martin Schwidefsky commit 239a64255fae8933d95273b5b92545949ca4e743 Author: Heiko Carstens Date: Fri Jun 12 10:26:33 2009 +0200 [S390] vmalloc: add vmalloc kernel parameter support With the kernel parameter 'vmalloc=' the size of the vmalloc area can be specified. This can be used to increase or decrease the size of the area. Works in the same way as on some other architectures. This can be useful for features which make excessive use of vmalloc and wouldn't work otherwise. The default sizes remain unchanged: 96MB for 31 bit kernels and 1GB for 64 bit kernels. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dab4079d5b5ac421208499d5e554a07f9beb16e4 Author: Heiko Carstens Date: Fri Jun 12 10:26:32 2009 +0200 [S390] uaccess: use might_fault() instead of might_sleep() Adds more checking in case lockdep is turned on. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 205d7ab9c9af6847dda30650a0b8f98555a20654 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:31 2009 +0200 [S390] 3270: lock dependency fixes Lockdep found a problem with the lock order of the view lock and the ccw device lock. raw3270_activate_view/raw3270_deactivate_view first take the ccw device lock then call the activate/deactivate functions of the view which take view lock. The update functions of the con3270/tty3270 view will first take the view lock, then take the ccw device lock. To fix this the activate/deactivate functions are changed to avoid taking the view lock by moving the functions calls that modify the 3270 output buffer to the update function which is called by a timer. Signed-off-by: Martin Schwidefsky commit fcf7581f7ca82e63e4e137be77c342a4e4ec8401 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:30 2009 +0200 [S390] 3270: do not register with tty_register_device The tty3270_notifier that calls tty_register_device / tty_unregister_device is harmful in two ways: 1) the device node that is create is wrong because the minor numbers for 3270 tty start with 1 and tty_notifier passes the minor as index. 2) If 1) is corrected you'll get a warning: WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x4c/0x60() sysfs: duplicate filename '227:1' can not be created The 227:1 link is already created by raw3270_create_attributes to refer to ../../class/tty/tty. There cannot be two links. Signed-off-by: Martin Schwidefsky commit a7c65a559ac371a08e67600ae585052441d71392 Author: Jan Glauber Date: Fri Jun 12 10:26:29 2009 +0200 [S390] qdio: inline qdio_perf_stat_inc Move qdio_perf_stat_inc to the header file so it can be inlined. Remove unused qdio_perf_stat_dec. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 4c57542320e73b9ff46b04092273dbcc184a4fb6 Author: Jan Glauber Date: Fri Jun 12 10:26:28 2009 +0200 [S390] qdio: simplify error handling in irq handler The check for the device status in qdio_establish_handle_irq() had dead code. Remove the unused code and simplify the error handling. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit e45efa99b0b0035a2afc192c242e37eec5477497 Author: Sebastian Ott Date: Fri Jun 12 10:26:27 2009 +0200 [S390] cio: fix sanity checks in device_ops. Some sanity checks in device_ops.c test the output of container_of macros to be !NULL. Test the input parameters instead. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit bcf5cef7db869dd3b0ec55ad99641e66b2f5cf02 Author: Heiko Carstens Date: Fri Jun 12 10:26:26 2009 +0200 [S390] secure computing arch backend Enable secure computing on s390 as well. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7757591ab4a36314a258e181dbf0994415c288c2 Author: Heiko Carstens Date: Fri Jun 12 10:26:25 2009 +0200 [S390] implement is_compat_task Implement is_compat_task and use it all over the place. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d90cbd469c9c7c1494fc2084af9319e6a557368b Author: Heiko Carstens Date: Fri Jun 12 10:26:24 2009 +0200 [S390] add mini sclp driver This adds a mini sclp device driver for very early use. The primary and probably only use will be to emit a message to the console if the cpu doesn't provide the minimum required capabilities to run the kernel. After printing the message a disabled wait will be loaded and the machine stops operating. Printing the message is also part of this patch. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 8c4caa4fbfc18aa50d9d682f502303a8e0d72726 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:23 2009 +0200 [S390] use facility list for cpu type safety check Signed-off-by: Martin Schwidefsky commit ce58ae6f7f6bdd48c87472ff830a6d586ff076b2 Author: Heiko Carstens Date: Fri Jun 12 10:26:22 2009 +0200 [S390] implement interrupt-enabling rwlocks arch backend for f5f7eac41db827a47b2163330eecd7bb55ae9f12 "Allow rwlocks to re-enable interrupts". Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 76d4e00a05d06c1d1552adea24fcf6182c9d8999 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:21 2009 +0200 [S390] merge cpu.h into cputime.h All definition in cpu.h have to do with cputime accounting. Move them to cputime.h and remove the header file. Signed-off-by: Martin Schwidefsky commit 7aa79f948749da7de3de0c427e9c9ee0ff595243 Author: Martin Schwidefsky Date: Fri Jun 12 10:26:20 2009 +0200 [S390] vdso: kernel parameter syntax The syntax of the vdso kernel parameter is documented as vdso=[on|off]. The implementation uses vdso=[0|1], an invalid parameter string disables the vdso support. Fix the mismatch by adding vdso=[on|off] as additional parameter syntax. Signed-off-by: Martin Schwidefsky commit ca371c0d7e23d0d0afae65fc83a0e91cf7399573 Author: KAMEZAWA Hiroyuki Date: Fri Jun 12 10:33:53 2009 +0300 memcg: fix page_cgroup fatal error in FLATMEM Now, SLAB is configured in very early stage and it can be used in init routine now. But replacing alloc_bootmem() in FLAT/DISCONTIGMEM's page_cgroup() initialization breaks the allocation, now. (Works well in SPARSEMEM case...it supports MEMORY_HOTPLUG and size of page_cgroup is in reasonable size (< 1 << MAX_ORDER.) This patch revive FLATMEM+memory cgroup by using alloc_bootmem. In future, We stop to support FLATMEM (if no users) or rewrite codes for flatmem completely.But this will adds more messy codes and overheads. Reported-by: Li Zefan Tested-by: Li Zefan Tested-by: Ingo Molnar Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Pekka Enberg commit 63997775b795f97ef51f3e56bc3abc9edc04bbb0 Author: Steven Whitehouse Date: Fri Jun 12 08:49:20 2009 +0100 GFS2: Add tracepoints This patch adds the ability to trace various aspects of the GFS2 filesystem. The trace points are divided into three groups, glocks, logging and bmap. These points have been chosen because they allow inspection of the major internal functions of GFS2 and they are also generic enough that they are unlikely to need any major changes as the filesystem evolves. Signed-off-by: Steven Whitehouse commit 1260866a271abc84274345580f3d613d3bceff87 Author: Catalin Marinas Date: Mon May 11 13:22:00 2009 +0100 x86: Provide _sdata in the vmlinux.lds.S file _sdata is a common symbol defined by many architectures and made available to the kernel via asm-generic/sections.h. Kmemleak uses this symbol when scanning the data sections. [ Impact: add new global symbol ] Signed-off-by: Catalin Marinas LKML-Reference: <20090511122105.26556.96593.stgit@pc1117.cambridge.arm.com> Signed-off-by: Ingo Molnar commit bc47ab0241c7c86da4f5e5f82fbca7d45387c18d Merge: 37f9ef5 8ebf975 Author: Benjamin Herrenschmidt Date: Fri Jun 12 16:53:38 2009 +1000 Merge commit 'origin/master' into next Manual merge of: arch/powerpc/kernel/asm-offsets.c commit 37f9ef553bed630957e025504cdcbc76f5de49d5 Author: Benjamin Herrenschmidt Date: Fri Jun 12 16:46:47 2009 +1000 powerpc: Fix bug in move of altivec code to vector.S The patch that moved to vector.S and made common between 32 and 64-bit the altivec code had a nasty bug on 32-bit (did I really test that ?) which causes the kernel to blr back into userspace ... oops :-) Signed-off-by: Benjamin Herrenschmidt commit 3c24475c1e4e8d10e50df161d8c4f1d382997a7c Author: Jerome Glisse Date: Wed Apr 8 18:34:28 2009 +0200 drm: include kernel list header file in hashtab header Signed-off-by: Dave Airlie commit f2cb5d86e1af175a9b210241800f03a447f92621 Author: Jerome Glisse Date: Wed Apr 8 17:16:24 2009 +0200 drm: Export hash table functionality. add exports so TTM module can use these functions. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 249d6048ca98b5452105b0824abac1275661b8e3 Author: Jerome Glisse Date: Wed Apr 8 17:11:16 2009 +0200 drm: Split out the mm declarations in a separate header. Add atomic operations. this is a TTM preparation patch, it rearranges the mm and add operations needed to do mm operations in atomic context. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 715cbb05c935e8a4306a730d14a72d5af881523e Author: Alex Deucher Date: Fri Jun 12 15:55:44 2009 +1000 drm/radeon: add support for RV790. This adds the PCI IDs for the rv790 which are equiv to the rv770. Signed-off-by: Dave Airlie commit 2a71ebcd85bcc4d6607f577f23a491f796c30e82 Author: Alex Deucher Date: Fri Jun 12 15:53:10 2009 +1000 drm/radeon: add rv740 drm support. This adds drm support for the RV740 family of chips to the r600 support code. Signed-off-by: Dave Airlie commit fbe0efb869efde8d847ede3a925230ef88910086 Author: Kristian Høgsberg Date: Tue Jun 9 01:50:41 2009 +1000 drm_calloc_large: check right size, check integer overflow, use GFP_ZERO Previously we would check size instead of size * nmemb, and so would never hit the vmalloc path. Also add integer overflow check as in kcalloc, and allocate GFP_ZERO pages instead of memset()ing them. Signed-off-by: Kristian Høgsberg Signed-off-by: Dave Airlie commit 61f11699e7a92d932b31ded3715ad4f70eb26ef2 Author: Keith Packard Date: Sat May 30 20:42:27 2009 -0700 drm: Eliminate magic I2C frobbing when reading EDID This code depends on the underlying I2C adapter using the bit-banging algo, which may not be the case. If specific encoders require this mechanism, they should build a custom I2C algo that implements this workaround, rather than having it in the general path. Signed-off-by: Keith Packard Signed-off-by: Dave Airlie commit 7ff145593d808a371924652c8d6a15fb75ce2250 Author: Dave Airlie Date: Wed Apr 22 18:52:14 2009 +1000 drm/i915: duplicate desired mode for use by fbcon. duplicate the mode into fbcon storage, so when we free modes later we don't just lose this. Signed-off-by: Dave Airlie commit c5c07550d41abe86d109430e718f2007113031f8 Author: Figo.zhang Date: Sat Jun 6 18:26:26 2009 +0800 drm/via: vfree() no need checking before calling it vfree() does it's own NULL checking, no need for explicit check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Dave Airlie commit be25ed9c5cc06e1d17aa97e41daf88f0b46143e6 Author: yakui_zhao Date: Tue Jun 2 14:13:55 2009 +0800 drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver Replace the DRM_DEBUG with the DRM_DEBUG_DRIVER to print the debug info in i915 driver. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit f053185948a1bd16329433f5371809765086c1ec Author: yakui_zhao Date: Tue Jun 2 14:12:47 2009 +0800 drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode Replace the DRM_DEBUG with DRM_DEBUG_MODE macro to print the info in drm_mode. airlied:- fixed up to remove a conflicting #define Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit da6782927de809d9d427bd4bd6a4024243e41f13 Author: Michał Mirosław Date: Fri Jun 5 05:35:28 2009 +0000 bridge: Simplify interface for ATM LANE This patch changes FDB entry check for ATM LANE bridge integration. There's no point in holding a FDB entry around SKB building. br_fdb_get()/br_fdb_put() pair are changed into single br_fdb_test_addr() hook that checks if the addr has FDB entry pointing to other port to the one the request arrived on. FDB entry refcounting is removed as it's not used anywhere else. Signed-off-by: Michał Mirosław Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 746e6ad23cd6fec2edce056e014a0eabeffa838c Author: John Dykstra Date: Thu Jun 11 20:57:21 2009 -0700 [PATCH] net core: Some interface flags not returned by SIOCGIFFLAGS Commit b00055aacdb172c05067612278ba27265fcd05ce " [NET] core: add RFC2863 operstate" defined new interface flag values. Its documentation specified that these flags could be accessed from user space via SIOCGIFFLAGS. However, this does not work because the new flags do not fit in that ioctl's argument width. Change the documentation to match the code's behavior. Also change the source to explicitly show the truncation. This _should_ have no effect on executable code, and did not with gcc 4.2.4 generating x86 code. A new ioctl could be defined to return all interface flags to user space. However, since this has been broken for three years with no one complaining, there doesn't seem much need. They are still accessible via netlink. Reported-by: "Fredrik Arnerup" Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit 8981f01001c616f58f1623ecadfab8b1ed758da7 Author: Herbert Xu Date: Thu Jun 11 20:55:17 2009 -0700 virtio_net: Fix IP alignment on non-mergeable RX path We need to enforce the IP alignment on the non-mergeable RX path just like the other RX path. Not doing so results in misaligned IP headers. Signed-off-by: Herbert Xu Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 8ebf975608aaebd7feb33d77f07ba21a6380e086 Author: Randy Dunlap Date: Thu Jun 11 20:00:41 2009 -0700 block: fix kernel-doc in recent block/ changes Fix kernel-doc warnings in recently changed block/ source code. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 4b4f1d017815f96737ca4a62f90e5a1f0b9f02d6 Merge: 875287c aa7dfb8 Author: Linus Torvalds Date: Thu Jun 11 20:05:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (87 commits) nilfs2: get rid of bd_mount_sem use from nilfs nilfs2: correct exclusion control in nilfs_remount function nilfs2: simplify remaining sget() use nilfs2: get rid of sget use for checking if current mount is present nilfs2: get rid of sget use for acquiring nilfs object nilfs2: remove meaningless EBUSY case from nilfs_get_sb function remove the call to ->write_super in __sync_filesystem nilfs2: call nilfs2_write_super from nilfs2_sync_fs jffs2: call jffs2_write_super from jffs2_sync_fs ufs: add ->sync_fs sysv: add ->sync_fs hfsplus: add ->sync_fs hfs: add ->sync_fs fat: add ->sync_fs ext2: add ->sync_fs exofs: add ->sync_fs bfs: add ->sync_fs affs: add ->sync_fs sanitize ->fsync() for affs repair bfs_write_inode(), switch bfs to simple_fsync() ... commit 875287caa067492779670f5fb3b98ec8dcfe2cb0 Merge: aee74f3 193e984 Author: Linus Torvalds Date: Thu Jun 11 20:05:08 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: remove unecessary include of thread_info.h in entry.S m68knommu: enumerate INIT_THREAD fields properly headers_check fix: m68k, swab.h arch/m68knommu: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug( m68knommu: remove obsolete reset code m68knommu: move CPU reset code for the 5272 ColdFire into its platform code m68knommu: move CPU reset code for the 528x ColdFire into its platform code m68knommu: move CPU reset code for the 527x ColdFire into its platform code m68knommu: move CPU reset code for the 523x ColdFire into its platform code m68knommu: move CPU reset code for the 520x ColdFire into its platform code m68knommu: add CPU reset code for the 532x ColdFire m68knommu: add CPU reset code for the 5249 ColdFire m68knommu: add CPU reset code for the 5206e ColdFire m68knommu: add CPU reset code for the 5206 ColdFire m68knommu: add CPU reset code for the 5407 ColdFire m68knommu: add CPU reset code for the 5307 ColdFire m68knommu: merge system reset for code ColdFire 523x family m68knommu: fix system reset for ColdFire 527x family commit aee74f3bb3f4fb5dbeae8c1947c6d8ebdc19ee01 Author: Yinghai Lu Date: Thu Jun 11 15:09:00 2009 -0700 kvm: remove the duplicated cpumask_clear zalloc_cpumask_var already cleared it. Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit 12274e96b42884f043dfaa87eb1e5e10281bfac3 Author: Yinghai Lu Date: Thu Jun 11 15:07:48 2009 -0700 x86: use zalloc_cpumask_var in arch_early_irq_init So we make sure MAXSMP gets a cleared cpumask Signed-off-by: Yinghai Lu Signed-off-by: Linus Torvalds commit e14112d1bd5e193166b54be19119cf6440470560 Author: Stephen Rothwell Date: Fri Jun 12 10:14:22 2009 +1000 perfcounters: remove powerpc definitions of perf_counter_do_pending Commit 925d519ab82b6dd7aca9420d809ee83819c08db2 ("perf_counter: unify and fix delayed counter wakeup") added global definitions. Signed-off-by: Stephen Rothwell Acked-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit adf76cfe24dab32a54e2dd1f51534cea8277f32a Merge: 17d0cdf 24992ea Author: David S. Miller Date: Thu Jun 11 20:00:44 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit aa7dfb8954ccf49e026ba13d12991a4eb7defb96 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:33 2009 +0900 nilfs2: get rid of bd_mount_sem use from nilfs This will remove every bd_mount_sem use in nilfs. The intended exclusion control was replaced by the previous patch ("nilfs2: correct exclusion control in nilfs_remount function") for nilfs_remount(), and this patch will replace remains with a new mutex that this inserts in nilfs object. Signed-off-by: Ryusuke Konishi Cc: Christoph Hellwig Signed-off-by: Al Viro commit e59399d0102c1813cec48db5cebe1750313f88a0 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:32 2009 +0900 nilfs2: correct exclusion control in nilfs_remount function nilfs_remount() changes mount state of a superblock instance. Even though nilfs accesses other superblock instances during mount or remount, the mount state was not properly protected in nilfs_remount(). Moreover, nilfs_remount() has a lock order reversal problem; nilfs_get_sb() holds: 1. bdev->bd_mount_sem 2. sb->s_umount (sget acquires) and nilfs_remount() holds: 1. sb->s_umount (locked by the caller in vfs) 2. bdev->bd_mount_sem To avoid these problems, this patch divides a semaphore protecting super block instances from nilfs->ns_sem, and applies it to the mount state protection in nilfs_remount(). With this change, bd_mount_sem use is removed from nilfs_remount() and the lock order reversal will be resolved. And the new rw-semaphore, nilfs->ns_super_sem will properly protect the mount state except the modification from nilfs_error function. Signed-off-by: Ryusuke Konishi Signed-off-by: Al Viro commit 6dd4740662405a68bb229ac2b9e0aeaaf2188bf2 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:31 2009 +0900 nilfs2: simplify remaining sget() use This simplifies the test function passed on the remaining sget() callsite in nilfs. Instead of checking mount type (i.e. ro-mount/rw-mount/snapshot mount) in the test function passed to sget(), this patch first looks up the nilfs_sb_info struct which the given mount type matches, and then acquires the super block instance holding the nilfs_sb_info. Signed-off-by: Ryusuke Konishi Cc: Al Viro Signed-off-by: Al Viro commit 3f82ff55168e92859119bf348e9e0bd6714d2fea Author: Ryusuke Konishi Date: Mon Jun 8 01:39:30 2009 +0900 nilfs2: get rid of sget use for checking if current mount is present This stops using sget() for checking if an r/w-mount or an r/o-mount exists on the device. This elimination uses a back pointer to the current mount added to nilfs object. Signed-off-by: Ryusuke Konishi Cc: Al Viro Signed-off-by: Al Viro commit 33c8e57c86d1bd1548c12a4f7c4bceb94b862cca Author: Ryusuke Konishi Date: Mon Jun 8 01:39:29 2009 +0900 nilfs2: get rid of sget use for acquiring nilfs object This will change the way to obtain nilfs object in nilfs_get_sb() function. Previously, a preliminary sget() call was performed, and the nilfs object was acquired from a super block instance found by the sget() call. This patch, instead, instroduces a new dedicated function find_or_create_nilfs(); as the name implies, the function finds an existent nilfs object from a global list or creates a new one if no object is found on the device. Signed-off-by: Ryusuke Konishi Cc: Al Viro Signed-off-by: Al Viro commit 81fc20bd0e75ba6357bce2403767d7c2585d8f28 Author: Ryusuke Konishi Date: Mon Jun 8 01:39:28 2009 +0900 nilfs2: remove meaningless EBUSY case from nilfs_get_sb function The following EBUSY case in nilfs_get_sb() is meaningless. Indeed, this error code is never returned to the caller. if (!s->s_root) { ... } else if (!(s->s_flags & MS_RDONLY)) { err = -EBUSY; } This simply removes the else case. Signed-off-by: Ryusuke Konishi Signed-off-by: Al Viro commit 0c95ee190e1dea60c55c834d14695341085c9b7b Author: Christoph Hellwig Date: Mon Jun 8 10:08:54 2009 +0200 remove the call to ->write_super in __sync_filesystem Now that all filesystems provide ->sync_fs methods we can change __sync_filesystem to only call ->sync_fs. This gives us a clear separation between periodic writeouts which are driven by ->write_super and data integrity syncs that go through ->sync_fs. (modulo file_fsync which is also going away) Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit d731e06323cb705003e4172ec209e469be4c18e1 Author: Christoph Hellwig Date: Mon Jun 8 10:08:36 2009 +0200 nilfs2: call nilfs2_write_super from nilfs2_sync_fs The call to ->write_super from __sync_filesystem will go away, so make sure nilfs2 performs the same actions from inside ->sync_fs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit d579ed00aa96a7f7486978540a0d7cecaff742ae Author: Christoph Hellwig Date: Mon Jun 8 10:08:21 2009 +0200 jffs2: call jffs2_write_super from jffs2_sync_fs The call to ->write_super from __sync_filesystem will go away, so make sure jffs2 performs the same actions from inside ->sync_fs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 8c8006564a58d0ea912bf7f2d0a758d97e4b464f Author: Christoph Hellwig Date: Mon Jun 8 10:08:05 2009 +0200 ufs: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit ad43ffdeea0a7bd3e6036c4aeec2e6699aef8ac7 Author: Christoph Hellwig Date: Mon Jun 8 10:07:45 2009 +0200 sysv: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 7fbc6df0e7a561a313f49faa77829d5de45a97f8 Author: Christoph Hellwig Date: Mon Jun 8 10:05:12 2009 +0200 hfsplus: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 58bc5bbb873eb5d86126a3fd3ff02aaa69ec15d0 Author: Christoph Hellwig Date: Mon Jun 8 10:04:54 2009 +0200 hfs: add ->sync_fs Add a ->sync_fs method for data integrity syncs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f83d6d46e7adf241a064a4a425e5cd8a8fd8925f Author: Christoph Hellwig Date: Mon Jun 8 10:04:35 2009 +0200 fat: add ->sync_fs Add a ->sync_fs method for data integrity syncs. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 40f31dd47e7c3d15af1f9845eda0fa0c4c33f32f Author: Christoph Hellwig Date: Mon Jun 8 10:04:17 2009 +0200 ext2: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 80e09fb942d38beb19dcffbeb14d496beeb0a989 Author: Christoph Hellwig Date: Mon Jun 8 10:03:58 2009 +0200 exofs: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 561e47ce7244168788d4ecef9a2271df204b3c89 Author: Christoph Hellwig Date: Mon Jun 8 10:03:38 2009 +0200 bfs: add ->sync_fs Add a ->sync_fs method for data integrity syncs, and reimplement ->write_super ontop of it. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit e28964365faf3b9961695eb62b48cbc9f2a2a245 Author: Christoph Hellwig Date: Mon Jun 8 10:03:15 2009 +0200 affs: add ->sync_fs Add a ->sync_fs method for data integrity syncs. Factor out common code between affs_put_super, affs_write_super and the new affs_sync_fs into a helper. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit c475879556a8602bbe2faa9a06f6e5fcc8c05bb2 Author: Al Viro Date: Mon Jun 8 01:22:00 2009 -0400 sanitize ->fsync() for affs unfortunately, for affs (especially for affs directories) we have no real way to keep track of metadata ownership. So we have to do more or less what file_fsync() does, but we do *not* need to call write_super() there. Signed-off-by: Al Viro commit 4427f0c36e22e2cd6696b2fe7643e9756a14b3d3 Author: Al Viro Date: Mon Jun 8 01:15:58 2009 -0400 repair bfs_write_inode(), switch bfs to simple_fsync() Signed-off-by: Al Viro commit 224c886643e52e6b4c1143489cd0b289b6c03976 Author: Al Viro Date: Mon Jun 8 00:46:40 2009 -0400 Fix adfs GET_FRAG_ID() on big-endian Missing conversion to host-endian before doing shifts Signed-off-by: Al Viro commit ffdc9064f8b4fa9db37a7d5180f41cce2ea2b7ad Author: Al Viro Date: Mon Jun 8 00:44:42 2009 -0400 repair adfs ->write_inode(), switch to simple_fsync() Signed-off-by: Al Viro commit bea6b64c277f0824cdaea6190209b26a164419d6 Author: Al Viro Date: Sun Jun 7 15:44:50 2009 -0400 switch omfs to simple_fsync() Signed-off-by: Al Viro commit 90de066443a8632bb42fed0a8216313d7da07aba Author: Al Viro Date: Sun Jun 7 15:40:27 2009 -0400 switch udf to simple_fsync() Signed-off-by: Al Viro commit a932801543fe74050ebee07fde082234c46b624f Author: Al Viro Date: Sun Jun 7 15:35:18 2009 -0400 switch ufs to simple_fsync() Signed-off-by: Al Viro commit 05459ca81ac3064cb040d983342bc453cccec458 Author: Al Viro Date: Sun Jun 7 15:29:45 2009 -0400 repair sysv_write_inode(), switch sysv to simple_fsync() Signed-off-by: Al Viro commit 0d7916d7e985da52cdd2989c900485e17b035972 Author: Al Viro Date: Sun Jun 7 15:21:06 2009 -0400 switch minix to simple_fsync() * get minix_write_inode() to honour the second argument * now we can use simple_fsync() for minixfs Signed-off-by: Al Viro commit e1740a462ecb2eae213be15857b577cc6f6bb8b4 Author: Al Viro Date: Sun Jun 7 15:14:02 2009 -0400 switch ext2 to simple_fsync() kill ext2_sync_file() (along with ext2/fsync.c), get rid of ext2_update_inode() - it's an alias of ext2_write_inode(). Signed-off-by: Al Viro commit b522412aeabadbb302fd4338eaabf09d10e2d29c Author: Al Viro Date: Sun Jun 7 13:44:36 2009 -0400 Sanitize ->fsync() for FAT * mark directory data blocks as assoc. metadata * add new inode to deal with FAT, mark FAT blocks as assoc. metadata of that * now ->fsync() is trivial both for files and directories Signed-off-by: Al Viro commit 964f5369667b342994fe3f384e9ba41d404ee796 Author: Al Viro Date: Sun Jun 7 09:47:13 2009 -0400 fs/qnx4: sanitize includes fs-internal parts of qnx4_fs.h taken to fs/qnx4/qnx4.h, includes adjusted, qnx4_fs.h doesn't need unifdef anymore. Signed-off-by: Al Viro commit 79d25767583e4e086f8309bfd1f502660a64fe7f Author: Al Viro Date: Sun Jun 7 09:30:08 2009 -0400 Sanitize qnx4 fsync handling * have directory operations use mark_buffer_dirty_inode(), so that sync_mapping_buffers() would get those. * make qnx4_write_inode() honour its last argument. * get rid of insane copies of very ancient "walk the indirect blocks" in qnx4/fsync - they never matched the actual fs layout and, fortunately, never'd been called. Again, all this junk is not needed; ->fsync() should just do sync_mapping_buffers + sync_inode (and if we implement block allocation for qnx4, we'll need to use mark_buffer_dirty_inode() for extent blocks) Signed-off-by: Al Viro commit d5aacad548db1ff547adf35d0a77eb2a8ed4fe14 Author: Al Viro Date: Sun Jun 7 14:56:44 2009 -0400 New helper - simple_fsync() writes associated buffers, then does sync_inode() to write the inode itself (and to make it clean). Depends on ->write_inode() honouring the second argument. Signed-off-by: Al Viro commit 337eb00a2c3a421999c39c94ce7e33545ee8baa7 Author: Alessio Igor Bogani Date: Tue May 12 15:10:54 2009 +0200 Push BKL down into ->remount_fs() [xfs, btrfs, capifs, shmem don't need BKL, exempt] Signed-off-by: Alessio Igor Bogani Signed-off-by: Al Viro commit 4195f73d1329e49727bcceb028e58cb38376c2b0 Author: Nick Piggin Date: Thu May 28 09:01:15 2009 +0200 fs: block_dump missing dentry locking I think the block_dump output in __mark_inode_dirty is missing dentry locking. Surely the i_dentry list can change any time, so we may not even *get* a dentry there. If we do get one by chance, then it would appear to be able to go away or get renamed at any time... Signed-off-by: Al Viro commit 545b9fd3d737afc0bb5203b1e79194a471605acd Author: Nick Piggin Date: Tue Jun 2 12:07:47 2009 +0200 fs: remove incorrect I_NEW warnings Some filesystems can call in to sync an inode that is still in the I_NEW state (eg. ext family, when mounted with -osync). This is OK because the filesystem has sole access to the new inode, so it can modify i_state without races (because no other thread should be modifying it, by definition of I_NEW). Ie. a false positive, so remove the warnings. The races are described here 7ef0d7377cb287e08f3ae94cebc919448e1f5dff, which is also where the warnings were introduced. Reported-by: Stephen Hemminger Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit 8688b8635266cf98f00c6b0350ea2dbe7c42c321 Author: Mike Frysinger Date: Tue May 26 05:45:04 2009 -0400 linux/magic.h: move cramfs magic out of cramfs_fs.h Signed-off-by: Mike Frysinger CC: Alexander Viro Signed-off-by: Al Viro commit f95022161d23ee661a48af8f280472209f513a67 Author: Christoph Hellwig Date: Fri Jun 5 12:26:23 2009 +0200 xfs: remove ->write_super and stop maintaining ->s_dirt the write_super method is used for (1) writing back the superblock periodically from pdflush (2) called just before ->sync_fs for data integerity syncs We don't need (1) because we have our own peridoc writeout through xfssyncd, and we don't need (2) because xfs_fs_sync_fs performs a proper synchronous superblock writeout after all other data and metadata has been written out. Also remove ->s_dirt tracking as it's only used to decide when too call ->write_super. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Signed-off-by: Al Viro commit 13205fb9260c2377438599ef0773c6a3eaeb0b07 Author: Jens Axboe Date: Mon May 25 09:30:45 2009 +0200 ntfs: remove old debug check for dirty data in ntfs_put_super() This should not trigger anymore, so kill it. Acked-by: Anton Altaparmakov Signed-off-by: Jens Axboe Signed-off-by: Al Viro commit 28ad0c118b0ed98b042d362acfe0017591921138 Author: Theodore Ts'o Date: Thu May 21 16:01:02 2009 -0400 fs: Rearrange inode structure elements to avoid waste due to padding Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Al Viro commit 9fd5746fd3d7838bf6ff991d50f1257057d1156f Author: Theodore Ts'o Date: Thu May 21 16:01:00 2009 -0400 fs: Remove i_cindex from struct inode The only user of the i_cindex element in the inode structure is used is by the firewire drivers. As part of an attempt to slim down the inode structure to save memory --- since a typical Linux system will have hundreds of thousands if not millions of inodes cached, a reduction in the size inode has high leverage. The firewire driver does not need i_cindex in any fast path, so it's simple enough to calculate when it is needed, instead of wasting space in the inode structure. Signed-off-by: "Theodore Ts'o" Cc: krh@redhat.com Cc: stefanr@s5r6.in-berlin.de Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Al Viro commit ebc1ac164560a241d9bf1b7519062910c3f90a01 Author: Christoph Hellwig Date: Mon May 11 23:35:03 2009 +0200 ->write_super lock_super pushdown Push down lock_super into ->write_super instances and remove it from the caller. Following filesystem don't need ->s_lock in ->write_super and are skipped: * bfs, nilfs2 - no other uses of s_lock and have internal locks in ->write_super * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in ->write_super * xfs - no other uses of s_lock and uses internal lock (buffer lock on superblock buffer) to serialize ->write_super. Also xfs_fs_write_super is superflous and will go away in the next merge window Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 01ba687577647beef6c5f2ea59bfb56fac9fcde2 Author: Christoph Hellwig Date: Mon May 11 23:34:27 2009 +0200 jffs2: move jffs2_write_super to super.c jffs2_write_super is only called from super.c and doesn't use any functionality from fs.c. So move it over to super.c and make it static there. [should go in through the vfs tree as it is a requirement for the next patch] Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 4aa98cf768b6f2ea4b204620d949a665959214f6 Author: Al Viro Date: Fri May 8 13:36:58 2009 -0400 Push BKL down into do_remount_sb() [folded fix from Jiri Slaby] Signed-off-by: Al Viro commit 7f78d4cd4c5d01864943c22b79df1b6bde923129 Author: Al Viro Date: Fri May 8 13:34:06 2009 -0400 Push BKL down beyond VFS-only parts of do_mount() Signed-off-by: Al Viro commit 6fac98dd218653c6aff8a0f56305c424930cea2a Author: Al Viro Date: Fri May 8 13:31:17 2009 -0400 Push BKL into do_mount() Signed-off-by: Al Viro commit bbd6851a3213a525128473e978b692ab6ac11aba Author: Al Viro Date: Wed May 6 10:43:07 2009 -0400 Push lock_super() into the ->remount_fs() of filesystems that care about it Note that since we can't run into contention between remount_fs and write_super (due to exclusion on s_umount), we have to care only about filesystems that touch lock_super() on their own. Out of those ext3, ext4, hpfs, sysv and ufs do need it; fat doesn't since its ->remount_fs() only accesses assign-once data (basically, it's "we have no atime on directories and only have atime on files for vfat; force nodiratime and possibly noatime into *flags"). [folded a build fix from hch] Signed-off-by: Al Viro commit 6cfd0148425e528b859b26e436b01f23f6926224 Author: Christoph Hellwig Date: Tue May 5 15:40:36 2009 +0200 push BKL down into ->put_super Move BKL into ->put_super from the only caller. A couple of filesystems had trivial enough ->put_super (only kfree and NULLing of s_fs_info + stuff in there) to not get any locking: coda, cramfs, efs, hugetlbfs, omfs, qnx4, shmem, all others got the full treatment. Most of them probably don't need it, but I'd rather sort that out individually. Preferably after all the other BKL pushdowns in that area. [AV: original used to move lock_super() down as well; these changes are removed since we don't do lock_super() at all in generic_shutdown_super() now] [AV: fuse, btrfs and xfs are known to need no damn BKL, exempt] Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit a9e220f8322e2b0e0b8903fe00265461cffad3f0 Author: Al Viro Date: Tue May 5 22:10:44 2009 -0400 No need to do lock_super() for exclusion in generic_shutdown_super() We can't run into contention on it. All other callers of lock_super() either hold s_umount (and we have it exclusive) or hold an active reference to superblock in question, which prevents the call of generic_shutdown_super() while the reference is held. So we can replace lock_super(s) with get_fs_excl() in generic_shutdown_super() (and corresponding change for unlock_super(), of course). Since ext4 expects s_lock held for its put_super, take lock_super() into it. The rest of filesystems do not care at all. Signed-off-by: Al Viro commit 62c6943b4b1e818aea60c11c5a68a50785b83119 Author: Al Viro Date: Thu May 7 03:12:29 2009 -0400 Trim a bit of crap from fs.h do_remount_sb() is fs/internal.h fodder, fsync_no_super() is long gone. Signed-off-by: Al Viro commit 443b94baaa16771e98b29ca7c24f1e305738ffca Author: Al Viro Date: Tue May 5 23:48:50 2009 -0400 Make sure that all callers of remount hold s_umount exclusive Signed-off-by: Al Viro commit 5af7926ff33b68b3ba46531471c6e0564b285efc Author: Christoph Hellwig Date: Tue May 5 15:41:25 2009 +0200 enforce ->sync_fs is only called for rw superblock Make sure a superblock really is writeable by checking MS_RDONLY under s_umount. sync_filesystems needed some re-arragement for that, but all but one sync_filesystem caller had the correct locking already so that we could add that check there. cachefiles grew s_umount locking. I've also added a WARN_ON to sync_filesystem to assert this for future callers. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit e5004753388dcf5e1b8a52ac0ab807d232340fbb Author: Christoph Hellwig Date: Tue May 5 16:08:56 2009 +0200 cleanup sync_supers Merge the write_super helper into sync_super and move the check for ->write_super earlier so that we can avoid grabbing a reference to a superblock that doesn't have it. While we're at it also add a little comment documenting sync_supers. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit f3da392e9ff14b9f388e74319e6d195848991c07 Author: Alexey Dobriyan Date: Mon May 4 03:32:03 2009 +0400 dcache: extrace and use d_unlinked() d_unlinked() will be used in middle-term to ban checkpointing when opened but unlinked file is detected, and in long term, to detect such situation and special case on it. Signed-off-by: Alexey Dobriyan Signed-off-by: Al Viro commit 8c85e125124a473d6f3e9bb187b0b84207f81d91 Author: Christoph Hellwig Date: Tue Apr 28 18:00:26 2009 +0200 remove ->write_super call in generic_shutdown_super We just did a full fs writeout using sync_filesystem before, and if that's not enough for the filesystem it can perform it's own writeout in ->put_super, which many filesystems already do. Move a call to foofs_write_super into every foofs_put_super for now to guarantee identical behaviour until it's cleaned up by the individual filesystem maintainers. Exceptions: - affs already has identical copy & pasted code at the beginning of affs_put_super so no need to do it twice. - xfs does the right thing without it and I have changes pending for the xfs tree touching this are so I don't really need conflicts here.. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 517bfae28353e996160518add4d00033d3886e61 Author: Christoph Hellwig Date: Mon Apr 27 09:46:45 2009 -0400 qnx4: remove ->write_super Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 94cb993f2ee99f3a9318e7b4dbb383497c4bedea Author: Christoph Hellwig Date: Mon Apr 27 09:46:44 2009 -0400 ocfs2: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Acked-by: Joel Becker Signed-off-by: Al Viro commit b7d245de25d1f0bb75a0d04194b647762b30d3db Author: Christoph Hellwig Date: Mon Apr 27 09:46:43 2009 -0400 gfs2: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Acked-by: Steven Whitehouse Signed-off-by: Al Viro commit ca41f7b918294c2a17780e057568413dcbfc6d49 Author: Christoph Hellwig Date: Mon Apr 27 09:46:42 2009 -0400 ext3: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 59d697b70285c348c01cfc2695c3469ba71d7539 Author: Christoph Hellwig Date: Mon Apr 27 09:46:41 2009 -0400 btrfs: remove ->write_super and stop maintaining ->s_dirt Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit c3f8a40c1cd5591b882497d1d00d43d0e5bb4698 Author: Jan Kara Date: Mon Apr 27 16:43:55 2009 +0200 quota: Introduce writeout_quota_sb() (version 4) Introduce this function which just writes all the quota structures but avoids all the syncing and cache pruning work to expose quota structures to userspace. Use this function from __sync_filesystem when wait == 0. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 850b201b087f5525a0a7278551c2bcd0423c3b26 Author: Christoph Hellwig Date: Mon Apr 27 16:43:54 2009 +0200 quota: cleanup dquota sync functions (version 4) Currently the VFS calls vfs_dq_sync to sync out disk quotas for a given superblock. This is a small wrapper around sync_dquots which for the case of a non-NULL superblock is a small wrapper around quota_sync_sb. Just make quota_sync_sb global (rename it to sync_quota_sb) and call it directly. Also call it directly for those cases in quota.c that have a superblock and leave sync_dquots purely an iterator over sync_quota_sb and remove it's superblock argument. To make this nicer move the check for the lack of a quota_sync method from the callers into sync_quota_sb. [folded build fix from Alexander Beregalov ] Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 60b0680fa236ac4e17ce31a50048c9d75f9ec831 Author: Jan Kara Date: Mon Apr 27 16:43:53 2009 +0200 vfs: Rename fsync_super() to sync_filesystem() (version 4) Rename the function so that it better describe what it really does. Also remove the unnecessary include of buffer_head.h. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit c15c54f5f056ee4819da9fde59a5f2cd45445f23 Author: Jan Kara Date: Mon Apr 27 16:43:52 2009 +0200 vfs: Move syncing code from super.c to sync.c (version 4) Move sync_filesystems(), __fsync_super(), fsync_super() from super.c to sync.c where it fits better. [build fixes folded] Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 5cee5815d1564bbbd505fea86f4550f1efdb5cd0 Author: Jan Kara Date: Mon Apr 27 16:43:51 2009 +0200 vfs: Make sys_sync() use fsync_super() (version 4) It is unnecessarily fragile to have two places (fsync_super() and do_sync()) doing data integrity sync of the filesystem. Alter __fsync_super() to accommodate needs of both callers and use it. So after this patch __fsync_super() is the only place where we gather all the calls needed to properly send all data on a filesystem to disk. Nice bonus is that we get a complete livelock avoidance and write_supers() is now only used for periodic writeback of superblocks. sync_blockdevs() introduced a couple of patches ago is gone now. [build fixes folded] Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 429479f031322a0cc5c921ffb2321a51718dc875 Author: Jan Kara Date: Mon Apr 27 16:43:50 2009 +0200 vfs: Make __fsync_super() a static function (version 4) __fsync_super() does the same thing as fsync_super(). So change the only caller to use fsync_super() and make __fsync_super() static. This removes unnecessarily duplicated call to sync_blockdev() and prepares ground for the changes to __fsync_super() in the following patches. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit bfe881255c74800147523b59c85328a1a826ba21 Author: Jan Kara Date: Mon Apr 27 16:43:49 2009 +0200 vfs: Call ->sync_fs() even if s_dirt is 0 (version 4) sync_filesystems() has a condition that if wait == 0 and s_dirt == 0, then ->sync_fs() isn't called. This does not really make much sence since s_dirt is generally used by a filesystem to mean that ->write_super() needs to be called. But ->sync_fs() does different things. I even suspect that some filesystems (btrfs?) sets s_dirt just to fool this logic. Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 5a3e5cb8e08bd876e2542c1451c9a93dab1b0e39 Author: Jan Kara Date: Mon Apr 27 16:43:48 2009 +0200 vfs: Fix sys_sync() and fsync_super() reliability (version 4) So far, do_sync() called: sync_inodes(0); sync_supers(); sync_filesystems(0); sync_filesystems(1); sync_inodes(1); This ordering makes it kind of hard for filesystems as sync_inodes(0) need not submit all the IO (for example it skips inodes with I_SYNC set) so e.g. forcing transaction to disk in ->sync_fs() is not really enough. Therefore sys_sync has not been completely reliable on some filesystems (ext3, ext4, reiserfs, ocfs2 and others are hit by this) when racing e.g. with background writeback. A similar problem hits also other filesystems (e.g. ext2) because of write_supers() being called before the sync_inodes(1). Change the ordering of calls in do_sync() - this requires a new function sync_blockdevs() to preserve the property that block devices are always synced after write_super() / sync_fs() call. The same issue is fixed in __fsync_super() function used on umount / remount read-only. [AV: build fixes] Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 876a9f76abbcb775f8d21cbc99fa161f9e5937f1 Author: Christoph Hellwig Date: Tue Apr 28 18:05:55 2009 +0200 remove s_async_list Remove the unused s_async_list in the superblock, a leftover of the broken async inode deletion code that leaked into mainline. Having this in the middle of the sync/unmount path is not helpful for the following cleanups. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 864d7c4c068f23642efe91b33be3a84afe5f71e0 Author: npiggin@suse.de Date: Sun Apr 26 20:25:56 2009 +1000 fs: move mark_files_ro into file_table.c This function walks the s_files lock, and operates primarily on the files in a superblock, so it better belongs here (eg. see also fs_may_remount_ro). [AV: ... and it shouldn't be static after that move] Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit 96029c4e09ccbd73a6d0ed2b29e80bf2586ad7ef Author: npiggin@suse.de Date: Sun Apr 26 20:25:55 2009 +1000 fs: introduce mnt_clone_write This patch speeds up lmbench lat_mmap test by about another 2% after the first patch. Before: avg = 462.286 std = 5.46106 After: avg = 453.12 std = 9.58257 (50 runs of each, stddev gives a reasonable confidence) It does this by introducing mnt_clone_write, which avoids some heavyweight operations of mnt_want_write if called on a vfsmount which we know already has a write count; and mnt_want_write_file, which can call mnt_clone_write if the file is open for write. After these two patches, mnt_want_write and mnt_drop_write go from 7% on the profile down to 1.3% (including mnt_clone_write). [AV: mnt_want_write_file() should take file alone and derive mnt from it; not only all callers have that form, but that's the only mnt about which we know that it's already held for write if file is opened for write] Cc: Dave Hansen Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit d3ef3d7351ccfbef3e5d926efc5ee332136f40d4 Author: npiggin@suse.de Date: Sun Apr 26 20:25:54 2009 +1000 fs: mnt_want_write speedup This patch speeds up lmbench lat_mmap test by about 8%. lat_mmap is set up basically to mmap a 64MB file on tmpfs, fault in its pages, then unmap it. A microbenchmark yes, but it exercises some important paths in the mm. Before: avg = 501.9 std = 14.7773 After: avg = 462.286 std = 5.46106 (50 runs of each, stddev gives a reasonable confidence, but there is quite a bit of variation there still) It does this by removing the complex per-cpu locking and counter-cache and replaces it with a percpu counter in struct vfsmount. This makes the code much simpler, and avoids spinlocks (although the msync is still pretty costly, unfortunately). It results in about 900 bytes smaller code too. It does increase the size of a vfsmount, however. It should also give a speedup on large systems if CPUs are frequently operating on different mounts (because the existing scheme has to operate on an atomic in the struct vfsmount when switching between mounts). But I'm most interested in the single threaded path performance for the moment. [AV: minor cleanup] Cc: Dave Hansen Signed-off-by: Nick Piggin Signed-off-by: Al Viro commit 3174c21b74b56c6a53fddd41a30fd6f757a32bd0 Author: Al Viro Date: Tue Apr 7 13:19:18 2009 -0400 Move junk from proc_fs.h to fs/proc/internal.h Signed-off-by: Al Viro commit 1c755af4df75996b0dd4b7e6cacaf9d57a6ef2ef Author: Al Viro Date: Sat Apr 18 14:06:57 2009 -0400 switch lookup_mnt() Signed-off-by: Al Viro commit 79ed0226198c628133530b179a90dbf42b1c2eba Author: Al Viro Date: Sat Apr 18 13:59:41 2009 -0400 switch follow_mount() Signed-off-by: Al Viro commit 9393bd07cf218ca51d0e627653f906a9d76a9131 Author: Al Viro Date: Sat Apr 18 13:58:15 2009 -0400 switch follow_down() Signed-off-by: Al Viro commit 589ff870ed60a9ebdd5ec99ec3f5afe1282fe151 Author: Al Viro Date: Sat Apr 18 03:28:19 2009 -0400 Switch collect_mounts() to struct path Signed-off-by: Al Viro commit bab77ebf51e3902f608ecf08c9d34a0a52ac35a9 Author: Al Viro Date: Sat Apr 18 03:26:48 2009 -0400 switch follow_up() to struct path Signed-off-by: Al Viro commit e64c390ca0b60fd2119331ef1fa888d7ea27e424 Author: Al Viro Date: Sat Apr 18 03:00:46 2009 -0400 switch rqst_exp_parent() Signed-off-by: Al Viro commit 91c9fa8f75877c0c1e455c23e8f8206c91c8f77f Author: Al Viro Date: Sat Apr 18 02:42:05 2009 -0400 switch rqst_exp_get_by_name() Signed-off-by: Al Viro commit 5bf3bd2b5cb68ba43c91f5bd0ac043543fba2558 Author: Al Viro Date: Sat Apr 18 02:14:32 2009 -0400 switch exp_parent() to struct path ... and lose the always-NULL last argument (non-NULL case had been split off a while ago). Signed-off-by: Al Viro commit 55430e2ecee574e729c12d4063b3ecabfa98fa82 Author: Al Viro Date: Sat Apr 18 02:04:46 2009 -0400 nfsd struct path use: exp_get_by_name() Signed-off-by: Al Viro commit dd5cae6e9772ecc62fd374f7a8ec10eb51c96c4d Author: Al Viro Date: Tue Apr 7 12:21:18 2009 -0400 Don't bother with check_mnt() in do_add_mount() on shrinkable ones These guys are what we add as submounts; checks for "is that attached in our namespace" are simply irrelevant for those and counterproductive for use of private vfsmount trees a-la what NFS folks want. Signed-off-by: Al Viro commit 5b857119538daac7118c1364d7ff3613f12b84d3 Author: Al Viro Date: Tue Apr 7 11:53:49 2009 -0400 Make vfs_path_lookup() use starting point as root Signed-off-by: Al Viro commit 2a737871108de9ba8930f7650d549f1383767f8b Author: Al Viro Date: Tue Apr 7 11:49:53 2009 -0400 Cache root in nameidata New field: nd->root. When pathname resolution wants to know the root, check if nd->root.mnt is non-NULL; use nd->root if it is, otherwise copy current->fs->root there. After path_walk() is finished, we check if we'd got a cached value in nd->root and drop it. Before calling path_walk() we should either set nd->root.mnt to NULL *or* copy (and pin down) some path to nd->root. In the latter case we won't be looking at current->fs->root at all. Signed-off-by: Al Viro commit 9b4a9b14a793bc69b505ed916051f6f32db13bb8 Author: Al Viro Date: Tue Apr 7 11:44:16 2009 -0400 Preparations to caching root in path_walk() Split do_path_lookup(), opencode the call from do_filp_open() do_filp_open() is the only caller of do_path_lookup() that cares about root afterwards (it keeps resolving symlinks on O_CREAT path after it'd done LOOKUP_PARENT walk). So when we start caching fs->root in path_walk(), it'll need a different treatment. Signed-off-by: Al Viro commit 4e44b6852e03c915618ca6776b6697b436246b00 Author: Al Viro Date: Tue Apr 7 11:08:56 2009 -0400 Get rid of path_lookup in autofs4 Signed-off-by: Al Viro commit 73422811d290c628b4ddbf6830e5cd6fa42e84f1 Author: Jeff Mahoney Date: Sun May 10 16:05:39 2009 -0400 reiserfs: allow exposing privroot w/ xattrs enabled This patch adds an -oexpose_privroot option to allow access to the privroot. Signed-off-by: Jeff Mahoney Signed-off-by: Al Viro commit 10f52dd9febf0302bc458a6ea7979767dfa9f3b6 Merge: ec3cf2e 336ff73 Author: Benjamin Herrenschmidt Date: Fri Jun 12 10:35:52 2009 +1000 Merge commit 'jwb/next' into next commit 17d0cdfa8f3c09a110061c67421d662b3e149d0a Author: Eric Dumazet Date: Thu Jun 11 17:23:24 2009 -0700 net: ntohs() misuse Some drivers incorrectly use ntohs() instead of htons() A cleanup as htons() returns same result than ntohs(), but better to use the proper one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3ee40c376ad3252d13946141588db7e2f435f958 Merge: 6700254 98eb0f5 Author: David S. Miller Date: Thu Jun 11 17:11:33 2009 -0700 Merge branch 'linux-2.6.31.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit 24992eacd8a9f4af286bdaaab627b6802ceb8bce Author: Patrick McHardy Date: Fri Jun 12 01:53:09 2009 +0200 netfilter: ip_tables: fix build error Fix build error introduced by commit bb70dfa5 (netfilter: xtables: consolidate comefrom debug cast access): net/ipv4/netfilter/ip_tables.c: In function 'ipt_do_table': net/ipv4/netfilter/ip_tables.c:421: error: 'comefrom' undeclared (first use in this function) net/ipv4/netfilter/ip_tables.c:421: error: (Each undeclared identifier is reported only once net/ipv4/netfilter/ip_tables.c:421: error: for each function it appears in.) Signed-off-by: Patrick McHardy commit 11b6aa9555d0c2f4d195695cd151e1fd07413387 Author: Paul Mundt Date: Fri Jun 12 01:34:12 2009 +0300 sh: intc: alloc_bootmem() -> kzalloc() conversion. Now that the slab allocators are available much earlier, this triggers a the slab_is_available() warning when registering the interrupt controller. Convert to kzalloc() with GFP_NOWAIT, as per the generic changes. Signed-off-by: Paul Mundt commit 19470e185a088591c228e1e8473006567719aa1c Author: Paul Mundt Date: Fri Jun 12 01:33:22 2009 +0300 sh: Wire up sys_perf_counter_open. Signed-off-by: Paul Mundt commit 8c5dd8f43367f4f266dd616f11658005bc2d20ef Author: Yinghai Lu Date: Thu Jun 4 19:14:22 2009 -0700 x86: handle initrd that extends into unusable memory On a system where system memory (according e820) is not covered by mtrr, mtrr_trim_memory converts a portion of memory to reserved, but bootloader has already put the initrd in that range. Thus, we need to have 64bit to use relocate_initrd too. [ Impact: fix using initrd when mtrr_trim_memory happen ] Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit cf64c800f0673cee7e36d7a97e2a1b575385b3db Merge: 512626a 9e28c46 Author: Paul Mundt Date: Fri Jun 12 01:12:44 2009 +0300 Merge branch 'sh/ftrace' of git://github.com/mfleming/linux-2.6 commit 35fd035968de4f674b9d62ee7b1d80ab7a50c384 Merge: 4e73e0e ef14f0c Author: Felix Blyakher Date: Thu Jun 11 16:56:49 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfs commit 0d5959723e1db3fd7323c198a50c16cecf96c7a9 Merge: 62fdac5 512626a Author: Ingo Molnar Date: Thu Jun 11 23:31:52 2009 +0200 Merge branch 'linus' into x86/mce3 Conflicts: arch/x86/kernel/cpu/mcheck/mce_64.c arch/x86/kernel/irq.c Merge reason: Resolve the conflicts above. Signed-off-by: Ingo Molnar commit a525890cb6a2949b644d212ae290b658967d3919 Merge: 3bb66d7 b263c2c Author: Linus Torvalds Date: Thu Jun 11 14:23:12 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (23 commits) Btrfs: fix extent_buffer leak during tree log replay Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir Btrfs: fix -o nodatasum printk spelling Btrfs: check duplicate backrefs for both data and metadata Btrfs: init worker struct fields before kthread-run Btrfs: pin buffers during write_dev_supers Btrfs: avoid races between super writeout and device list updates Fix btrfs when ACLs are configured out Btrfs: fdatasync should skip metadata writeout Btrfs: remove crc32c.h and use libcrc32c directly. Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION Btrfs: autodetect SSD devices Btrfs: add mount -o ssd_spread to spread allocations out Btrfs: avoid allocation clusters that are too spread out Btrfs: Add mount -o nossd Btrfs: avoid IO stalls behind congested devices in a multi-device FS Btrfs: don't allow WRITE_SYNC bios to starve out regular writes Btrfs: fix metadata dirty throttling limits Btrfs: reduce mount -o ssd CPU usage Btrfs: balance btree more often ... commit 3bb66d7f8cc31537a3170c9bb82b38e538b984c5 Merge: 512626a a092ee2 Author: Linus Torvalds Date: Thu Jun 11 14:22:55 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: fsnotify: allow groups to set freeing_mark to null inotify/dnotify: should_send_event shouldn't match on FS_EVENT_ON_CHILD dnotify: do not bother to lock entry->lock when reading mask dnotify: do not use ?true:false when assigning to a bool fsnotify: move events should indicate the event was on a child inotify: reimplement inotify using fsnotify fsnotify: handle filesystem unmounts with fsnotify marks fsnotify: fsnotify marks on inodes pin them in core fsnotify: allow groups to add private data to events fsnotify: add correlations between events fsnotify: include pathnames with entries when possible fsnotify: generic notification queue and waitq dnotify: reimplement dnotify using fsnotify fsnotify: parent event notification fsnotify: add marks to inodes so groups can interpret how to handle those inodes fsnotify: unified filesystem notification backend commit ca8cbc8391cbd4d6e4304fc6b62682ed93d2b165 Author: Matthias Kaehlcke Date: Thu Jun 11 19:57:34 2009 +0100 [ARM] 5552/1: ep93xx get_uart_rate(): use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCN ep93xx: get_uart_rate() uses the constants EP93XX_SYSCON_CLOCK_CONTROL and EP93XX_SYSCON_CLOCK_UARTBAUD, which no longer exist. Use EP93XX_SYSCON_PWRCNT and EP93XX_SYSCON_PWRCNT_UARTBAUD instead Signed-off-by: Matthias Kaehlcke Signed-off-by: Russell King commit 512626a04e72aca60effe111fa0333ed0b195d21 Merge: 8a1ca8c 3aa27bb Author: Linus Torvalds Date: Thu Jun 11 14:15:57 2009 -0700 Merge branch 'for-linus' of git://linux-arm.org/linux-2.6 * 'for-linus' of git://linux-arm.org/linux-2.6: kmemleak: Add the corresponding MAINTAINERS entry kmemleak: Simple testing module for kmemleak kmemleak: Enable the building of the memory leak detector kmemleak: Remove some of the kmemleak false positives kmemleak: Add modules support kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash kmemleak: Add the vmalloc memory allocation/freeing hooks kmemleak: Add the slub memory allocation/freeing hooks kmemleak: Add the slob memory allocation/freeing hooks kmemleak: Add the slab memory allocation/freeing hooks kmemleak: Add documentation on the memory leak detector kmemleak: Add the base support Manual conflict resolution (with the slab/earlyboot changes) in: drivers/char/vt.c init/main.c mm/slab.c commit 8a1ca8cedd108c8e76a6ab34079d0bbb4f244799 Merge: b640f04 940010c Author: Linus Torvalds Date: Thu Jun 11 14:01:07 2009 -0700 Merge branch 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (574 commits) perf_counter: Turn off by default perf_counter: Add counter->id to the throttle event perf_counter: Better align code perf_counter: Rename L2 to LL cache perf_counter: Standardize event names perf_counter: Rename enums perf_counter tools: Clean up u64 usage perf_counter: Rename perf_counter_limit sysctl perf_counter: More paranoia settings perf_counter: powerpc: Implement generalized cache events for POWER processors perf_counters: powerpc: Add support for POWER7 processors perf_counter: Accurate period data perf_counter: Introduce struct for sample data perf_counter tools: Normalize data using per sample period data perf_counter: Annotate exit ctx recursion perf_counter tools: Propagate signals properly perf_counter tools: Small frequency related fixes perf_counter: More aggressive frequency adjustment perf_counter/x86: Fix the model number of Intel Core2 processors perf_counter, x86: Correct some event and umask values for Intel processors ... commit b640f042faa2a2fad6464f259a8afec06e2f6386 Merge: 871fa90 b8ec757 Author: Linus Torvalds Date: Thu Jun 11 12:25:06 2009 -0700 Merge branch 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: vgacon: use slab allocator instead of the bootmem allocator irq: use kcalloc() instead of the bootmem allocator sched: use slab in cpupri_init() sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var() memcg: don't use bootmem allocator in setup code irq/cpumask: make memoryless node zero happy x86: remove some alloc_bootmem_cpumask_var calling vt: use kzalloc() instead of the bootmem allocator sched: use kzalloc() instead of the bootmem allocator init: introduce mm_init() vmalloc: use kzalloc() instead of alloc_bootmem() slab: setup allocators earlier in the boot sequence bootmem: fix slab fallback on numa bootmem: use slab if bootmem is no longer available commit 4096ed0fc7c6ed83da44ab27ab7d1c7cd6e8e175 Author: Mats Erik Andersson Date: Tue May 12 12:05:23 2009 +0200 PCI: expose SMBus on Asus notebook A6L Addition of one unknown subsystem identifier to the quirks handler for chipset i82855GM_HB on notebook Asus A6L. This exposes the otherwise hidden SMBus controller within the south bridge ICH4-M. Signed-off-by: Mats Erik Andersson Signed-off-by: Jesse Barnes commit 43c16408842b0eeb367c23a6fa540ce69f99e347 Author: Andrew Patterson Date: Wed Apr 22 16:52:09 2009 -0600 PCI: Add support for turning PCIe ECRC on or off Adds support for PCI Express transaction layer end-to-end CRC checking (ECRC). This patch will enable/disable ECRC checking by setting/clearing the ECRC Check Enable and/or ECRC Generation Enable bits for devices that support ECRC. The ECRC setting is controlled by the "pci=ecrc=" command-line option. If this option is not set or is set to 'bios", the enable and generation bits are left in whatever state that firmware/BIOS set them to. The "off" setting turns them off, and the "on" option turns them on (if the device supports it). Turning ECRC on or off can be a data integrity versus performance tradeoff. In theory, turning it on will catch more data errors, turning it off means possibly better performance since CRC does not need to be calculated by the PCIe hardware and packet sizes are reduced. Signed-off-by: Andrew Patterson Signed-off-by: Jesse Barnes commit f62795f1e892ca9269849fa83de97621da7e02c0 Author: Rafael J. Wysocki Date: Mon May 18 22:51:12 2009 +0200 PCI PM: Follow PCI_PM_CTRL_NO_SOFT_RESET during transitions from D3 According to the PCI PM specification (PCI Bus Power Management Interface Specification, Rev. 1.2, Section 5.4.1) we are supposed to reinitialize devices that have PCI_PM_CTRL_NO_SOFT_RESET clear during all transitions from PCI_D3hot to PCI_D0, but we only do it if the device's current_state field is equal to PCI_UNKNOWN. This may lead to problems if a device with PCI_PM_CTRL_NO_SOFT_RESET unset is put into PCI_D3hot at run time by its driver and pci_set_power_state() is used to put it back into PCI_D0, because in that case the device will remain uninitialized after pci_set_power_state() has returned. Prevent that from happening by modifying pci_raw_set_power_state() to reinitialize devices with PCI_PM_CTRL_NO_SOFT_RESET unset during all transitions from D3 to D0. Cc: stable@kernel.org Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 4d135dbee7b0a89e946f7ba284f2b957505a2c3a Author: Yu Zhao Date: Wed May 20 17:11:57 2009 +0800 PCI: fix SR-IOV function dependency link problem PCIe root complex integrated endpoint does not implement ARI, so this kind of endpoint uses 3-bit function number. The function dependency link of the integrated endpoint should be calculated using the device number plus the value from function dependency link register. Normal endpoint always implements ARI and the function dependency link register contains 8-bit function number (i.e. `devfn' from software's perspective). Signed-off-by: Yu Zhao Signed-off-by: Jesse Barnes commit af4c5f985afd8d4cfdf402aaa03677f2cb96e37c Author: Alex Chiang Date: Mon May 18 19:02:38 2009 -0600 PCI: eliminate redundant pci_stop_dev() call from pci_destroy_dev() We always call pci_stop_bus_device before calling pci_destroy_dev. Since pci_stop_bus_device calls pci_stop_dev, there is no need for pci_destroy_dev to repeat the call. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 57fbf52c86addd8e25d1975fac0d59d982d1f6ec Author: Michael S. Tsirkin Date: Thu May 7 11:28:41 2009 +0300 PCI MSI: let drivers retry when not enough vectors pci_enable_msix currently returns -EINVAL if you ask for more vectors than supported by the device, which would typically cause fallback to regular interrupts. It's better to return the table size, making the driver retry MSI-X with less vectors. Reviewed-by: Matthew Wilcox Signed-off-by: Michael S. Tsirkin Signed-off-by: Jesse Barnes commit 8e822df700694ca6850d1e0c122fd7004b2778d8 Author: Shaohua Li Date: Mon Jun 8 09:27:25 2009 +0800 PCI: disable ASPM on VIA root-port-under-bridge configurations VIA has a strange chipset, it has root port under a bridge. Disable ASPM for such strange chipset. Cc: stable@kernel.org Tested-by: Wolfgang Denk Signed-off-by: Shaohua Li Signed-off-by: Jesse Barnes commit 9e9f46c44e487af0a82eb61b624553e2f7118f5b Author: Jesse Barnes Date: Thu Jun 11 10:58:28 2009 -0700 PCI: use ACPI _CRS data by default At this point, it seems to solve more problems than it causes, so let's try using it by default. It's an easy revert if it ends up causing trouble. Reviewed-by: Yinghai Lu Acked-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 3b073eda9557975a87a27b08a46a545fe8da66fb Author: Alex Chiang Date: Tue Mar 31 09:24:22 2009 -0600 PCI: remove deprecated pci_find_slot() interface The last in-tree caller of pci_find_slot has been converted, so let's get rid of this deprecated interface. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 12a9da0fcb147b46de33bb919b1de2bb92c9e2a9 Author: Alex Chiang Date: Tue Mar 31 09:24:17 2009 -0600 PCI Hotplug: cpqphp: don't use pci_find_slot() Convert uses of pci_find_slot to modern API. In the conversion sites, we end up calling pci_dev_put() right away. This may seem like it misses the entire point of doing something like pci_get_bus_and_slot(), since we drop the reference so soon, but it turns out we don't actually do much with the returned pci_dev. I plan on untangling cpqphp further, but clearly cpqphp never worried too much about a properly refcounted pci_dev anyway. For now, this conversion seems reasonable, as it gets rid of the last in-tree caller of pci_find_slot. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 6d1e87daeeba864a18535b7f3aed0e65f5f52275 Author: Alex Chiang Date: Tue Mar 31 09:24:12 2009 -0600 PCI Hotplug: cpqphp: constify slot_name() Eliminate this warning: warning: return discards qualifiers from pointer target type Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit e3265ea364c7ed5accc9955f8b805c380149870f Author: Alex Chiang Date: Tue Mar 31 09:24:07 2009 -0600 PCI Hotplug: cpqphp: eliminate dead code - PCI_ScanBusNonBridge I have no clue what the original intent here was, but the code as written is useless. The old dbg() statement above the old callsite might lead one to think that at one point, there was supposed to be some recursion, but any sense of sanity here has been lost to the ravages of time. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit b019ee679afde950f2d01b1af0530453aa60af3f Author: Alex Chiang Date: Tue Mar 31 09:24:02 2009 -0600 PCI Hotplug: cpqphp: clean up accesses to pcibios_get_irq_routing_table() Instead of making multiple calls to pcibios_get_irq_routing_table, let's just do it once and save the answer. The reason we were making multiple calls is because we liked to calculate its length and perform some loop over it. Instead of open-coding the length calculation every time, provide it in an inline helper function. Finally, since pci_print_IRQ_route() is used only for debug, let's only do it when cpqhp_debug is set. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 1d2e8b1c58ef96b8834b139caf4357effedcb5ab Author: Alex Chiang Date: Tue Mar 31 09:23:57 2009 -0600 PCI Hotplug: cpqphp: refactor cpqhp_save_config Handle an empty slot at the top of the loop, and continue early. This allows us to un-indent the rest of the function by one level. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 4aabb58e1f544e97dbb97d0ce29bdfc9108f2f2c Author: Alex Chiang Date: Tue Mar 31 09:23:52 2009 -0600 PCI Hotplug: cpqphp: style cleanups Clean up style, whitespace in cpqphp_pci.c Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit de86ae16d55a23315cdf1dae68df9de55312cf25 Author: Alex Chiang Date: Tue Mar 31 09:23:46 2009 -0600 PCI Hotplug: cpqphp: refactor cpqphp_save_slot_config Check for an empty slot, and return early if so. This allows us to un-indent the rest of the function by one level. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 1d3ecf1376bf22be57c6138e7cdf425c6027b115 Author: Alex Chiang Date: Tue Mar 31 09:23:41 2009 -0600 PCI Hotplug: cpqphp: clean up cpqphp_ctrl.c Style and whitespace cleanups, no functional change. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 867556fe740d0d29a05fce99d2d960625077ed45 Author: Alex Chiang Date: Tue Mar 31 09:23:36 2009 -0600 PCI Hotplug: cpqphp: refactor cpqhp_probe Apply DeMorgan's theorem: if ((pdev->revision > 2) || (vendor_id == PCI_VENDOR_ID_INTEL)) turns into if ((pdev->revision <= 2) && (vendor_id != PCI_VENDOR_ID_INTEL)) Now we can bail out early from the function if the controller is not supported. This allows us to un-indent the remainder of the function quite a bit and make it much more readable. Fix up some extra braces, and un-indent the 'case' labels in the switch statement as per CodingStyle. No functional change. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 04225fe7e6877493765b9cfa3092524e21e020d7 Author: Alex Chiang Date: Tue Mar 31 09:23:31 2009 -0600 PCI Hotplug: cpqphp: eliminate stray braces Clean up style and eliminate superfluous braces and parens. No functional change. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit b4d897a48d451db0ab6a4ebf8c28eb314eba0280 Author: Alex Chiang Date: Tue Mar 31 09:23:26 2009 -0600 PCI Hotplug: cpqphp: remove useless prototypes in cpqphp_core.c Impact: refactor Refactor code to follow convention more closely and eliminate the need for some useless prototypes. No functional change. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 86a58023e4078a843f8ca8a9b6fa23542d881f99 Author: Alex Chiang Date: Tue Mar 31 09:23:21 2009 -0600 PCI Hotplug: cpqphp: obey 80 column convention in cpqphp.h Clean up cpqphp.h to follow 80 column convention. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 427438c61b0083a60bb953cb36cfdc5841f0bb03 Author: Alex Chiang Date: Tue Mar 31 09:23:16 2009 -0600 PCI Hotplug: cpqphp: fix comment style Fix up comments from C++ to C-style, wrapping if necessary, etc. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 861fefbf550d41e7a4f44584f3ec35977fa08bf1 Author: Alex Chiang Date: Tue Mar 31 09:23:11 2009 -0600 PCI Hotplug: cpqphp: stray whitespace cleanups Clean up all stray whitespace issues, such as trailing whitespace, spaces before tabs, etc. and whatever else vim's c_space_errors highlights in red. Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit d09ee9687e027fc7d2c6b95daf05a8ef3ff06340 Author: Yinghai Lu Date: Thu Apr 23 20:49:25 2009 -0700 PCI: improve resource allocation under transparent bridges We could run out of space under under 4g, but devices under transparent bridges can use 64bit resources, so keep trying on the parent bus until we hit a non-transparent bridge. Impact: better support for assigning unassigned resources Reviewed-by: Ivan Kokshaysky Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 1f82de10d6b1d845155363c895c552e61b36b51a Author: Yinghai Lu Date: Thu Apr 23 20:48:32 2009 -0700 PCI/x86: don't assume prefetchable ranges are 64bit We should not assign 64bit ranges to PCI devices that only take 32bit prefetchable addresses. Try to set IORESOURCE_MEM_64 in 64bit resource of pci_device/pci_bridge and make the bus resource only have that bit set when all devices under it support 64bit prefetchable memory. Use that flag to allocate resources from that range. Reported-by: Yannick Reviewed-by: Ivan Kokshaysky Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 67b5db6502ddd27d65dea43bf036abbd82d0dfc9 Author: Hidetoshi Seto Date: Mon Apr 20 10:54:59 2009 +0900 PCI MSI: Define PCI_MSI_MASK_32/64 Impact: cleanup, improve readability Define PCI_MSI_MASK_32/64 for 32/64bit devices, instead of using implicit offset (-4), "PCI_MSI_MASK_BIT - 4" and "PCI_MSI_MASK_BIT". Signed-off-by: Hidetoshi Seto Reviewed-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 64f039d3d7f574943165b1afb72ee25caa1a9a91 Author: akpm@linux-foundation.org Date: Wed Apr 15 14:24:08 2009 -0700 PCI: ibmphp_core.c: fix warning due to missing module_exit() drivers/pci/hotplug/ibmphp_core.c:1414: warning: `ibmphp_exit' defined but not used Signed-off-by: Zhenwen Xu Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit ad4efa359dcded8f76c94768f9deb1f79f950090 Author: Greg Kroah-Hartman Date: Thu Apr 30 15:20:11 2009 -0700 PCIE: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jesse Barnes commit 04846b5b8112e53b588038349b3e92b8485c1807 Author: Hidetoshi Seto Date: Mon Apr 20 10:54:52 2009 +0900 PCI MSI: Remove unused/obsolete macros and definitions Impact: cleanup, spec compliance This patch does: - Remove unused msi/msix_enable/disable macros. User should use msi/msix_set_enable() functions instead. - Remove unused msix_mask/unmask/pending macros. These macros are useless because they are not based on any of the PCI Local Bus Specifications properly. It seems that they were written based on a draft of PCI spec, and that the draft was the MSI-X ECN that underwent membership review in September 2002. (* In the draft, the size of a entry in MSI-X table was 64bit, containing 32bit message data and DWORD aligned lower address plus a pending bit and a mask bit.(30+1+1bit) The higher address was placed in MSI-X capability structure and shared by all entries.) - Remove PCI_MSIX_FLAGS_BITMASK. This definition also come from the draft ECN. Signed-off-by: Hidetoshi Seto Reviewed-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 26a28fa4fea5b8c65713aa50c124f76a88c7924d Author: Arnd Bergmann Date: Wed May 13 22:56:38 2009 +0000 add generic lib/checksum.c Add a generic (unoptimized) implementation of checksum.c in pure C for use by all architectures that cannot be bother with implementing their own version. Based on microblaze code by Michal Simek Cc: Michal Simek Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit eed417ddd52146f446595b5a7d8f21b1814b95b7 Author: Arnd Bergmann Date: Wed May 13 22:56:37 2009 +0000 asm-generic: add a generic uaccess.h Based on discussions with Michal Simek and code from m68knommu and h8300, this version of uaccess.h should be usable by most architectures, by overriding some parts of it. Simple NOMMU architectures can use it out of the box, but a minimal __access_ok() should be added there as well. Cc: Michal Simek Signed-off-by: Arnd Bergmann commit 5c01b46bb6bb8f2662573c05c87b5d68fa25af89 Author: Arnd Bergmann Date: Wed May 13 22:56:36 2009 +0000 asm-generic: add generic NOMMU versions of some headers Memory management in generic is highly architecture specific, but on NOMMU architectures, it is mostly trivial, so just add a default implementation in asm-generic that applies to all NOMMU architectures. The two files cache.h and cacheflush.h can possibly also be used by architectures that have an MMU but never require flushing the cache or have cache lines larger than 32 bytes. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 3f7e212df82ca0459d44c91d9e019efd1b5f936c Author: Arnd Bergmann Date: Wed May 13 22:56:35 2009 +0000 asm-generic: add generic atomic.h and io.h atomic.h and io.h are based on the mn10300 architecture, which is already pretty generic and can be used by other architectures that do not have hardware support for atomic operations or out-of-order I/O access. Signed-off-by: Arnd Bergmann commit ae49e807951d5e26767bc55d1dc29671c596c450 Author: Arnd Bergmann Date: Wed May 13 22:56:34 2009 +0000 asm-generic: add legacy I/O header files The dma.h, hw_irq.h, serial.h and timex.h files originally described PC-style i8237, i8259A, i8250, i8253 and i8255 chips as well as the VGA style text mode graphics. Modern architectures live happily without these specific interfaces, but a few definitions from these headers keep getting used in common code. The new generic headers are what most architectures use anyway nowadays, just implementing the minimal definitions. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit aafe4dbed0bf6cbdb2e9f03e1d42f8a540d8541d Author: Arnd Bergmann Date: Wed May 13 22:56:33 2009 +0000 asm-generic: add generic versions of common headers These are all kernel internal interfaces that get copied around a lot. In most cases, architectures can provide their own optimized versions, but these generic versions can work as well. I have tried to use the most common contents of each header to allow existing architectures to migrate easily. Thanks to Remis for suggesting a number of cleanups. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 9858c60cc2d33b18367b2bc6947e3ea23db26ccb Author: Arnd Bergmann Date: Wed May 13 22:56:32 2009 +0000 asm-generic: make bitops.h usable bitops.h apparently suffered from some level of bitrot, it was missing the smp_mb__{before,after}_clear_bit functions, and included other headers in an invalid order. This changes the file so that new architectures can use it out of the box. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit d7c4f1b78afeedfc22b1756fcdc1acbe84284d74 Author: Arnd Bergmann Date: Wed May 13 22:56:31 2009 +0000 asm-generic: make pci.h usable directly Some generic code is using the horribly misnamed PCI_DMA_BUS_IS_PHYS from asm/pci.h. This makes sure that an architecture without PCI support does not have to define this itself but can rely on the asm-generic version. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 3aef392822e1a42e80077a332ea2efdfd8a4248a Author: Arnd Bergmann Date: Sun May 17 21:00:05 2009 +0000 asm-generic: make get_rtc_time overridable Evidently, set_rtc_time is supposed to be overridable by architectures that define their own version, but unfortunately, get_rtc_ss would in that case still use the generic version. This makes get_rtc_ss call the real set_rtc_time to let architectures define their own version. The change should fix the "Extended RTC operation" on Alpha, which uses the incorrect get_rtc_ss call. It also allows PowerPC to use the asm-generic/rtc.h file in the future. Cc: Richard Henderson Cc: linux-alpha@vger.kernel.org Cc: Tom Rini Cc: rtc-linux@googlegroups.com Cc: Alessandro Zummo Cc: Paul Gortmaker Signed-off-by: Arnd Bergmann commit 5b17e1cd8928ae65932758ce6478ac6d3e9a86b2 Author: Arnd Bergmann Date: Wed May 13 22:56:30 2009 +0000 asm-generic: rename page.h and uaccess.h The current asm-generic/page.h only contains the get_order function, and asm-generic/uaccess.h only implements unaligned accesses. This renames the file to getorder.h and uaccess-unaligned.h to make room for new page.h and uaccess.h file that will be usable by all simple (e.g. nommu) architectures. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 72099ed2719fc5829bd79c6ca9d1783ed026eb37 Author: Arnd Bergmann Date: Wed May 13 22:56:29 2009 +0000 asm-generic: rename atomic.h to atomic-long.h The existing asm-generic/atomic.h only defines the atomic_long type. This renames it to atomic-long.h so we have a place to add a truly generic atomic.h that can be used on all non-SMP systems. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann Acked-by: Ingo Molnar commit e64a1617eca39d62b248a11699de9c1195369661 Author: Arnd Bergmann Date: Wed May 13 22:56:28 2009 +0000 asm-generic: add a generic unistd.h A new architecture should only define a minimal set of system calls while still providing the full functionality. This version of unistd.h has gone through intensive review to make sure that by default it only enables syscalls that do not already have a more featureful replacement. It is modeled after the x86-64 version of unistd.h, which unifies the syscall number definition and the actual system call table in a single file, in order to keep them synchronized much more easily. This first version still keeps legacy system call definitions around, guarded by various #ifdefs, and with numbers larger than 1024. The idea behind this is to make it easier for new architectures to transition from a full list to the reduced set. In particular, the new microblaze architecture that should migrate to using the generic ABI headers can at least use an existing uClibc source tree without major rewrites during the conversion. Signed-off-by: Arnd Bergmann commit 6103ec56c65c33774c7c38652c8204120c3c7519 Author: Arnd Bergmann Date: Wed May 13 22:56:27 2009 +0000 asm-generic: add generic ABI headers These header files are typically copied from an existing architecture into any new one, slightly modified and then remain untouched until the end of time in the name of ABI stability. To make it easier for future architectures, provide a sane generic version here. In cases where multiple architectures already use identical code, I used the most common version. In cases like stat.h that are more or less broken everywhere, I provide a version that is meant to be ideal for new architectures. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 2864d32be31a20a4617e37a857dd9915a57e2efb Author: Arnd Bergmann Date: Wed May 13 22:56:26 2009 +0000 asm-generic: add generic sysv ipc headers The ipc64 data structures were originally meant to be architecture specific so that each architecture could add their own optimizations for padding. In the end, most of them just copied the x86 version, and most got that wrong. UClibc expects the x86 anyway, so we might just declare that the default and get rid of the extra copies. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit c31ae4bb4a9fa4606a74c0a4fb61b74f804e861e Author: Arnd Bergmann Date: Wed May 13 22:56:25 2009 +0000 asm-generic: introduce asm/bitsperlong.h This provides a reliable way for asm-generic/types.h and other files to find out if it is running on a 32 or 64 bit platform. We cannot use CONFIG_64BIT for this in headers that are included from user space because CONFIG symbols are not available there. We also cannot do it inside of asm/types.h because some headers need the word size but cannot include types.h. The solution is to introduce a new header that defines both __BITS_PER_LONG for user space and BITS_PER_LONG for usage in the kernel. The asm-generic version falls back to 32 bit unless the architecture overrides it, which I did for all 64 bit platforms. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit 63b852a6b67d0820d388b0ecd0da83ccb4048b8d Author: Arnd Bergmann Date: Wed May 13 22:56:24 2009 +0000 asm-generic: rename termios.h, signal.h and mman.h The existing asm-generic versions are incomplete and included by some architectures. New architectures should be able to use a generic version, so rename the existing files and change all users, which lets us add the new files. Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann commit a092ee20fd33d2df0990dcbf2235afc181612818 Author: Eric Paris Date: Thu Jun 11 11:09:48 2009 -0400 fsnotify: allow groups to set freeing_mark to null Most fsnotify listeners (all but inotify) do not care about marks being freed. Allow groups to set freeing_mark to null and do not call any function if it is set that way. Signed-off-by: Eric Paris commit e42e27736de80045f925564ea27a1d32957219e7 Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 inotify/dnotify: should_send_event shouldn't match on FS_EVENT_ON_CHILD inotify and dnotify will both indicate that they want any event which came from a child inode. The fix is to mask off FS_EVENT_ON_CHILD when deciding if inotify or dnotify is interested in a given event. Signed-off-by: Eric Paris commit ce61856bd2aadb064f595e5c0444376a2b117c41 Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 dnotify: do not bother to lock entry->lock when reading mask entry->lock is needed to make sure entry->mask does not change while manipulating it. In dnotify_should_send_event() we don't care if we get an old or a new mask value out of this entry so there is no point it taking the lock. Signed-off-by: Eric Paris commit 5ac697b793a3c45005c568df692518da6e690390 Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 dnotify: do not use ?true:false when assigning to a bool dnotify_should send event assigned a bool using ?true:false when computing a bit operation. This is poitless and the bool type does this for us. Signed-off-by: Eric Paris commit ff52cc2158b32b3b979ca7802b1fd7c70f36e13c Author: Eric Paris Date: Thu Jun 11 11:09:47 2009 -0400 fsnotify: move events should indicate the event was on a child fsnotify tells its listeners explicitly when an event happened on the given inode verses on the child of the given inode. (see __fsnotify_parent) However, the semantics of fsnotify_move() are such that we deliver events directly to the two parent directories in question (old_dir and new_dir) directly without using the __fsnotify_parent() call. fsnotify should be adding FS_EVENT_ON_CHILD for the notifications to these parents. Signed-off-by: Eric Paris commit 63c882a05416e18de6fb59f7dd6da48f3bbe8273 Author: Eric Paris Date: Thu May 21 17:02:01 2009 -0400 inotify: reimplement inotify using fsnotify Reimplement inotify_user using fsnotify. This should be feature for feature exactly the same as the original inotify_user. This does not make any changes to the in kernel inotify feature used by audit. Those patches (and the eventual removal of in kernel inotify) will come after the new inotify_user proves to be working correctly. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 164bc6195139047faaf5ada1278332e99494803b Author: Eric Paris Date: Thu May 21 17:01:58 2009 -0400 fsnotify: handle filesystem unmounts with fsnotify marks When an fs is unmounted with an fsnotify mark entry attached to one of its inodes we need to destroy that mark entry and we also (like inotify) send an unmount event. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 1ef5f13c6c8acd3fd10db9f1743f3b4cf30a4abb Author: Eric Paris Date: Thu May 21 17:01:54 2009 -0400 fsnotify: fsnotify marks on inodes pin them in core This patch pins any inodes with an fsnotify mark in core. The idea is that as soon as the mark is removed from the inode->fsnotify_mark_entries list the inode will be iput. In reality is doesn't quite work exactly this way. The igrab will happen when the mark is added to an inode, but the iput will happen when the inode pointer is NULL'd inside the mark. It's possible that 2 racing things will try to remove the mark from different directions. One may try to remove the mark because of an explicit request and one might try to remove it because the inode was deleted. It's possible that the removal because of inode deletion will remove the mark from the inode's list, but the removal by explicit request will actually set entry->inode == NULL; and call the iput. This is safe. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit e4aff117368cfdd3567ee41844d216d079b55173 Author: Eric Paris Date: Thu May 21 17:01:50 2009 -0400 fsnotify: allow groups to add private data to events inotify needs per group information attached to events. This patch allows groups to attach private information and implements a callback so that information can be freed when an event is being destroyed. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 47882c6f51e8ef41fbbe2bbb746a1ea3228dd7ca Author: Eric Paris Date: Thu May 21 17:01:47 2009 -0400 fsnotify: add correlations between events As part of the standard inotify events it includes a correlation cookie between two dentry move operations. This patch includes the same behaviour in fsnotify events. It is needed so that inotify userspace can be implemented on top of fsnotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 62ffe5dfba056f7ba81d710fee9f28c58a42fdd6 Author: Eric Paris Date: Thu May 21 17:01:43 2009 -0400 fsnotify: include pathnames with entries when possible When inotify wants to send events to a directory about a child it includes the name of the original file. This patch collects that filename and makes it available for notification. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit a2d8bc6cb4a3024661baf877242f123787d0c054 Author: Eric Paris Date: Thu May 21 17:01:37 2009 -0400 fsnotify: generic notification queue and waitq inotify needs to do asyc notification in which event information is stored on a queue until the listener is ready to receive it. This patch implements a generic notification queue for inotify (and later fanotify) to store events to be sent at a later time. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 3c5119c05d624f95f4967d16b38c9624b816bdb9 Author: Eric Paris Date: Thu May 21 17:01:33 2009 -0400 dnotify: reimplement dnotify using fsnotify Reimplement dnotify using fsnotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit c28f7e56e9d95fb531dc3be8df2e7f52bee76d21 Author: Eric Paris Date: Thu May 21 17:01:29 2009 -0400 fsnotify: parent event notification inotify and dnotify both use a similar parent notification mechanism. We add a generic parent notification mechanism to fsnotify for both of these to use. This new machanism also adds the dentry flag optimization which exists for inotify to dnotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 3be25f49b9d6a97eae9bcb96d3292072b7658bd8 Author: Eric Paris Date: Thu May 21 17:01:26 2009 -0400 fsnotify: add marks to inodes so groups can interpret how to handle those inodes This patch creates a way for fsnotify groups to attach marks to inodes. These marks have little meaning to the generic fsnotify infrastructure and thus their meaning should be interpreted by the group that attached them to the inode's list. dnotify and inotify will make use of these markings to indicate which inodes are of interest to their respective groups. But this implementation has the useful property that in the future other listeners could actually use the marks for the exact opposite reason, aka to indicate which inodes it had NO interest in. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 90586523eb4b349806887c62ee70685a49415124 Author: Eric Paris Date: Thu May 21 17:01:20 2009 -0400 fsnotify: unified filesystem notification backend fsnotify is a backend for filesystem notification. fsnotify does not provide any userspace interface but does provide the basis needed for other notification schemes such as dnotify. fsnotify can be extended to be the backend for inotify or the upcoming fanotify. fsnotify provides a mechanism for "groups" to register for some set of filesystem events and to then deliver those events to those groups for processing. fsnotify has a number of benefits, the first being actually shrinking the size of an inode. Before fsnotify to support both dnotify and inotify an inode had unsigned long i_dnotify_mask; /* Directory notify events */ struct dnotify_struct *i_dnotify; /* for directory notifications */ struct list_head inotify_watches; /* watches on this inode */ struct mutex inotify_mutex; /* protects the watches list But with fsnotify this same functionallity (and more) is done with just __u32 i_fsnotify_mask; /* all events for this inode */ struct hlist_head i_fsnotify_mark_entries; /* marks on this inode */ That's right, inotify, dnotify, and fanotify all in 64 bits. We used that much space just in inotify_watches alone, before this patch set. fsnotify object lifetime and locking is MUCH better than what we have today. inotify locking is incredibly complex. See 8f7b0ba1c8539 as an example of what's been busted since inception. inotify needs to know internal semantics of superblock destruction and unmounting to function. The inode pinning and vfs contortions are horrible. no fsnotify implementers do allocation under locks. This means things like f04b30de3 which (due to an overabundance of caution) changes GFP_KERNEL to GFP_NOFS can be reverted. There are no longer any allocation rules when using or implementing your own fsnotify listener. fsnotify paves the way for fanotify. In brief fanotify is a notification mechanism that delivers the lisener both an 'event' and an open file descriptor to the object in question. This means that fanotify is pathname agnostic. Some on lkml may not care for the original companies or users that pushed for TALPA, but fanotify was designed with flexibility and input for other users in mind. The readahead group expressed interest in fanotify as it could be used to profile disk access on boot without breaking the audit system. The desktop search groups have also expressed interest in fanotify as it solves a number of the race conditions and problems present with managing inotify when more than a limited number of specific files are of interest. fanotify can provide for a userspace access control system which makes it a clean interface for AV vendors to hook without trying to do binary patching on the syscall table, LSM, and everywhere else they do their things today. With this patch series fanotify can be implemented in less than 1200 lines of easy to review code. Almost all of which is the socket based user interface. This patch series builds fsnotify to the point that it can implement dnotify and inotify_user. Patches exist and will be sent soon after acceptance to finish the in kernel inotify conversion (audit) and implement fanotify. Signed-off-by: Eric Paris Acked-by: Al Viro Cc: Christoph Hellwig commit 98eb0f53e2fc66482e2ea8033c58b20a079e5260 Author: Inaky Perez-Gonzalez Date: Thu Jun 11 11:13:41 2009 -0700 wimax: fix gcc warnings in sh4 when calling BUG() SH4's BUG() seems to confuse the compiler as it is considered to return; thus, some functions would trigger usage of uninitialized variables or non-void functions returning void. Work around by initializing/returning. Signed-off-by: Inaky Perez-Gonzalez commit 871fa90791a6f83dd8e2e489feb9534a8c02088d Merge: 7702667 79f52b7 Author: Linus Torvalds Date: Thu Jun 11 11:27:09 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: Add missing mutex_unlock call to error path missing unlock in jfs_quota_write() commit 7702667bb490573c807fa45519378e84b5050d1d Merge: b415c49 9866b7e Author: Linus Torvalds Date: Thu Jun 11 11:26:56 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: memtest: use pointers of equal type for comparison commit b415c49a864dab8ee90713833d642dd461eccae9 Author: Oleg Nesterov Date: Thu Jun 11 13:12:55 2009 +0100 slow_work_thread() should do the exclusive wait slow_work_thread() sleeps on slow_work_thread_wq without WQ_FLAG_EXCLUSIVE, this means that slow_work_enqueue()->__wake_up(nr_exclusive => 1) wakes up all kslowd threads. This is not what we want, so we change slow_work_thread() to use prepare_to_wait_exclusive() instead. Signed-off-by: Oleg Nesterov Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 6adc74b7d03c06a8e15d51fe33c3d924ada9271a Merge: c905959 517d3cc Author: Linus Torvalds Date: Thu Jun 11 11:23:17 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] ata_piix: Enable parallel scan sata_nv: use hardreset only for post-boot probing [libata] ahci: Restore SB600 SATA controller 64 bit DMA ata_piix: Remove stale comment ata_piix: Turn on hotplugging support for older chips ahci: misc cleanups for EM stuff [libata] get rid of ATA_MAX_QUEUE loop in ata_qc_complete_multiple() v2 sata_sil: enable 32-bit PIO sata_sx4: speed up ECC initialization libata-sff: avoid byte swapping in ata_sff_data_xfer() [libata] ahci: use less error-prone array initializers commit d2f4c10544231c3681f937a1e511f4780b4b39af Author: Inaky Perez-Gonzalez Date: Thu Jun 11 11:12:48 2009 -0700 wimax: fix warning caused by not checking retval of rfkill_set_hw_state() Caused by an API update. The return value can be safely ignored, as there is notthing we can do with it. Signed-off-by: Inaky Perez-Gonzalez commit c9059598ea8981d02356eead3188bf7fa4d717b8 Merge: 0a33f80 b0fd271 Author: Linus Torvalds Date: Thu Jun 11 10:52:27 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block: (153 commits) block: add request clone interface (v2) floppy: fix hibernation ramdisk: remove long-deprecated "ramdisk=" boot-time parameter fs/bio.c: add missing __user annotation block: prevent possible io_context->refcount overflow Add serial number support for virtio_blk, V4a block: Add missing bounce_pfn stacking and fix comments Revert "block: Fix bounce limit setting in DM" cciss: decode unit attention in SCSI error handling code cciss: Remove no longer needed sendcmd reject processing code cciss: change SCSI error handling routines to work with interrupts enabled. cciss: separate error processing and command retrying code in sendcmd_withirq_core() cciss: factor out fix target status processing code from sendcmd functions cciss: simplify interface of sendcmd() and sendcmd_withirq() cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code cciss: Use schedule_timeout_uninterruptible in SCSI error handling code block: needs to set the residual length of a bidi request Revert "block: implement blkdev_readpages" block: Fix bounce limit setting in DM Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt ... Manually fix conflicts with tracing updates in: block/blk-sysfs.c drivers/ide/ide-atapi.c drivers/ide/ide-cd.c drivers/ide/ide-floppy.c drivers/ide/ide-tape.c include/trace/events/block.h kernel/trace/blktrace.c commit 9e28c46b7dd116a607ffb054c5545c468c77d779 Author: Matt Fleming Date: Wed Jun 10 22:07:53 2009 +0100 sh: Fix dynamic ftrace's NOP action. Ftrace on sh handles nop'ing out trace function calls differently than other architectures. Instead of inserting NOP instructions in place of the call to the function tracer we branch over the call instructions and continue executing the main body of the function. This patch fixes a bug in the implementation of ftrace_modify_code() where we check that the old value of the code we're about to replace is an expected one. In the ftrace_make_call() code path ftrace_modify_code() was comparing the old instruction value with NOP instructions. The compare was failing because we never actually insert NOP instructions. It makes sense to just get rid of the NOP instructions in ftrace_nop and compare the old code with the address of the function body if we're expecting ftrace to have nop'd out the function trace call. Signed-off-by: Matt Fleming commit 768c31495abe49227a96261b5aa19f34b30882b1 Author: Jesper Nilsson Date: Wed Jun 10 11:45:47 2009 +0200 CRISv32: irq.c - Move end brace outside #endif The end brace for a larger for statement was placed inside the #else part of #ifdef TIMER_VECT1. However, for all current chips, the define TIMER_VECT1 is always unset, and the error was never triggered. Move the brace down below the #endif. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13476 Reported-by: Martin Ettl Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik commit 0a33f80a8373eca7f4bea3961d1346c3815fa5ed Merge: c29f5ec 003dec8 Author: Linus Torvalds Date: Thu Jun 11 10:36:12 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (25 commits) GFS2: Merge gfs2_get_sb into gfs2_get_sb_meta GFS2: Fix cache coherency between truncate and O_DIRECT read GFS2: Fix locking issue mounting gfs2meta fs GFS2: Remove unused variable GFS2: smbd proccess hangs with flock() call. GFS2: Remove args subdir from gfs2 sysfs files GFS2: Remove lockstruct subdir from gfs2 sysfs files GFS2: Move gfs2_unlink_ok into ops_inode.c GFS2: Move gfs2_readlinki into ops_inode.c GFS2: Move gfs2_rmdiri into ops_inode.c GFS2: Merge mount.c and ops_super.c into super.c GFS2: Clean up some file names GFS2: Be more aggressive in reclaiming unlinked inodes GFS2: Add a rgrp bitmap full flag GFS2: Improve resource group error handling GFS2: Don't warn when delete inode fails on ro filesystem GFS2: Update docs GFS2: Umount recovery race fix GFS2: Remove a couple of unused sysfs entries GFS2: Add commit= mount option ... commit c29f5ec022451546be1e0b24c330a0368e63e4a7 Merge: d3d07d9 c476c23 Author: Linus Torvalds Date: Thu Jun 11 10:33:36 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (26 commits) amd64_edac: add MAINTAINERS entry EDAC: do not enable modules by default amd64_edac: do not enable module by default amd64_edac: add module registration routines amd64_edac: add ECC reporting initializers amd64_edac: add EDAC core-related initializers amd64_edac: add error decoding logic amd64_edac: add ECC chipkill syndrome mapping table amd64_edac: add per-family descriptors amd64_edac: add F10h-and-later methods-p3 amd64_edac: add F10h-and-later methods-p2 amd64_edac: add F10h-and-later methods-p1 amd64_edac: add k8-specific methods amd64_edac: assign DRAM chip select base and mask in a family-specific way amd64_edac: add helper to dump relevant registers amd64_edac: add DRAM address type conversion facilities amd64_edac: add functionality to compute the DRAM hole amd64_edac: add sys addr to memory controller mapping helpers amd64_edac: add memory scrubber interface amd64_edac: add MCA error types ... commit 91a120d03fd901fc8b95e85af7903358c5862d65 Author: Jesper Nilsson Date: Thu Jun 11 19:09:00 2009 +0200 CRISv32: Fix potential null reference in cryptocop driver. The code didn't test the pointer to the newly allocated memory, but a parameter sent in as value. Since the input parameter was most often set, the code would have used a null pointer if the kmalloc failed. If the input parameter was not set, the code would leak the allocated buffer. http://bugzilla.kernel.org/show_bug.cgi?id=11363 Reported-by: Daniel Marjamäki Signed-off-by: Jesper Nilsson commit d3d07d941fd80c173b6d690ded00ee5fb8302e06 Merge: 6cd8e30 54ff328 Author: Linus Torvalds Date: Thu Jun 11 10:08:33 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (266 commits) sh: Tie sparseirq in to Kconfig. sh: Wire up sys_rt_tgsigqueueinfo. sh: Fix sys_pwritev() syscall table entry for sh32. sh: Fix sh4a llsc-based cmpxchg() sh: sh7724: Add JPU support sh: sh7724: INTC setting update sh: sh7722 clock framework rewrite sh: sh7366 clock framework rewrite sh: sh7343 clock framework rewrite sh: sh7724 clock framework rewrite V3 sh: sh7723 clock framework rewrite V2 sh: add enable()/disable()/set_rate() to div6 code sh: add AP325RXA mode pin configuration sh: add Migo-R mode pin configuration sh: sh7722 mode pin definitions sh: sh7724 mode pin comments sh: sh7723 mode pin V2 sh: rework mode pin code sh: clock div6 helper code sh: clock div4 frequency table offset fix ... commit 670025478c2a687453cd1bac697d7d765843f59d Author: Karsten Keil Date: Thu Jun 11 15:52:10 2009 +0200 mISDN: cleanup mISDNhw.h Remove unused stuff. Signed-off-by: Karsten Keil commit 8164491dd628ffcac5d61267f747997689ee256c Author: Karsten Keil Date: Tue Jun 9 14:38:39 2009 +0200 mISDN: Do not disable IRQ in ph_data_ind() This fix triggering the WARN_ON_ONCE(in_irq() || irqs_disabled()); in local_bh_enable(). Here is no need to grab this lock, this was wrong at all and may cause a deadlock and access to freed memory, since on a TEI remove the current listelement can be deleted under us. So this is clearly a case for list_for_each_entry_safe. Signed-off-by: Karsten Keil commit 395df11f5fa7fe852be28ccec8aaa15634386ad1 Author: Roel Kluin Date: Wed Jun 10 12:52:44 2009 -0700 drivers/isdn/i4l/isdn_tty.c: fix check for array overindexing The check for overindexing of dev->mdm.info[] has an off-by-one. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Acked-by: Karsten Keil commit cdae28e1a28f26c765c5882a48b9fd4a5b9ce91c Author: Andreas Mohr Date: Tue Jun 2 18:15:12 2009 +0200 mISDN: Free hfcpci IRQ if init was not successful If we get no interrupts for after 3 resets we need to unregister the interrupt function, which is already done outside the loop. Signed-off-by: Andreas Mohr Signed-off-by: Karsten Keil commit 1ce1513f48e3bc4d55ee672f0e39f5063a02ab7a Author: Karsten Keil Date: Tue Jun 2 15:37:37 2009 +0200 mISDN: Fix overlapping data access Remove code rewriting a buffer by itself. This fix bug 12970 on bugzilla.kernel.org. Signed-off-by: Karsten Keil commit 8a745b9d91962991ce87a649a4dc3af3206c2c8b Author: Karsten Keil Date: Tue Jun 2 14:57:35 2009 +0200 ISDN:Fix DMA alloc for hfcpci Replace wrong code with correct DMA API functions. Signed-off-by: Karsten Keil commit 6cd8e300b49332eb9eeda45816c711c198d31505 Merge: ddbb868 09f8ca7 Author: Linus Torvalds Date: Thu Jun 11 10:03:30 2009 -0700 Merge branch 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.31' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits) KVM: Prevent overflow in largepages calculation KVM: Disable large pages on misaligned memory slots KVM: Add VT-x machine check support KVM: VMX: Rename rmode.active to rmode.vm86_active KVM: Move "exit due to NMI" handling into vmx_complete_interrupts() KVM: Disable CR8 intercept if tpr patching is active KVM: Do not migrate pending software interrupts. KVM: inject NMI after IRET from a previous NMI, not before. KVM: Always request IRQ/NMI window if an interrupt is pending KVM: Do not re-execute INTn instruction. KVM: skip_emulated_instruction() decode instruction if size is not known KVM: Remove irq_pending bitmap KVM: Do not allow interrupt injection from userspace if there is a pending event. KVM: Unprotect a page if #PF happens during NMI injection. KVM: s390: Verify memory in kvm run KVM: s390: Sanity check on validity intercept KVM: s390: Unlink vcpu on destroy - v2 KVM: s390: optimize float int lock: spin_lock_bh --> spin_lock KVM: s390: use hrtimer for clock wakeup from idle - v2 KVM: s390: Fix memory slot versus run - v3 ... commit ddbb868493abdb71d6c0e3ff93f735923842de38 Merge: 3296ca2 61b6bc5 Author: Linus Torvalds Date: Thu Jun 11 10:02:46 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: remove never-used in6_addr option cifs: add addr= mount option alias for ip= [CIFS] Add mention of new mount parm (forceuid) to cifs readme cifs: make overriding of ownership conditional on new mount options cifs: fix IPv6 address length check cifs: clean up set_cifs_acl interfaces cifs: reorganize get_cifs_acl [CIFS] Update readme to indicate change to default mount (serverino) cifs: make serverino the default when mounting cifs: rename cifs_iget to cifs_root_iget cifs: make cnvrtDosUnixTm take a little-endian args and an offset cifs: have cifs_NTtimeToUnix take a little-endian arg cifs: tighten up default file_mode/dir_mode cifs: fix artificial limit on reading symlinks commit 3296ca27f50ecbd71db1d808c7a72d311027f919 Merge: e893123 73fbad2 Author: Linus Torvalds Date: Thu Jun 11 10:01:41 2009 -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: (44 commits) nommu: Provide mmap_min_addr definition. TOMOYO: Add description of lists and structures. TOMOYO: Remove unused field. integrity: ima audit dentry_open failure TOMOYO: Remove unused parameter. security: use mmap_min_addr indepedently of security models TOMOYO: Simplify policy reader. TOMOYO: Remove redundant markers. SELinux: define audit permissions for audit tree netlink messages TOMOYO: Remove unused mutex. tomoyo: avoid get+put of task_struct smack: Remove redundant initialization. integrity: nfsd imbalance bug fix rootplug: Remove redundant initialization. smack: do not beyond ARRAY_SIZE of data integrity: move ima_counts_get integrity: path_check update IMA: Add __init notation to ima functions IMA: Minimal IMA policy and boot param for TCB IMA policy selinux: remove obsolete read buffer limit from sel_read_bool ... commit e893123c7378192c094747dadec326b7c000c190 Merge: 27951da a41f207 Author: Linus Torvalds Date: Thu Jun 11 10:00:50 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (49 commits) ext4: Avoid corrupting the uninitialized bit in the extent during truncate ext4: Don't treat a truncation of a zero-length file as replace-via-truncate ext4: fix dx_map_entry to support 256k directory blocks ext4: truncate the file properly if we fail to copy data from userspace ext4: Avoid leaking blocks after a block allocation failure ext4: Change all super.c messages to print the device ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle() ext4: super.c whitespace cleanup jbd2: Fix minor typos in comments in fs/jbd2/journal.c ext4: Clean up calls to ext4_get_group_desc() ext4: remove unused function __ext4_write_dirty_metadata ext2: Fix memory leak in ext2_fill_super() in case of a failed mount ext3: Fix memory leak in ext3_fill_super() in case of a failed mount ext4: Fix memory leak in ext4_fill_super() in case of a failed mount ext4: down i_data_sem only for read when walking tree for fiemap ext4: Add a comprehensive block validity check to ext4_get_blocks() ext4: Clean up ext4_get_blocks() so it does not depend on bh_result->b_state ext4: Merge ext4_da_get_block_write() into mpage_da_map_blocks() ext4: Add BUG_ON debugging checks to noalloc_get_block_write() ext4: Add documentation to the ext4_*get_block* functions ... commit 27951daa71f1c91300ae4de9441916d1ffe2b078 Merge: 59c288f e8e7526 Author: Linus Torvalds Date: Thu Jun 11 10:00:03 2009 -0700 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (28 commits) ide-tape: fix debug call alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC ide-dma: don't reset request fields on dma_timeout_retry() ide: drop rq->data handling from ide_map_sg() ide-atapi: kill unused fields and callbacks ide-tape: simplify read/write functions ide-tape: use byte size instead of sectors on rw issue functions ide-tape: unify r/w init paths ide-tape: kill idetape_bh ide-tape: use standard data transfer mechanism ide-tape: use single continuous buffer ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len ide-tape,floppy: fix failed command completion after request sense ide-pm: don't abuse rq->data ide-cd,atapi: use bio for internal commands ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer ide-cd: convert to using generic sense request ide: add helpers for preparing sense requests ide-cd: don't abuse rq->buffer ide-atapi: don't abuse rq->buffer ... commit b8ec757390282e21d349bf6b602a8cb182da0429 Author: Pekka Enberg Date: Thu Jun 11 19:25:37 2009 +0300 vgacon: use slab allocator instead of the bootmem allocator Slab is initialized before the console subsystem so use the slab allocator in vgacon_scrollback_startup(). Signed-off-by: Pekka Enberg commit 22fb4e71e646695c7e0f379ada66b372c2d1aa1a Author: Pekka Enberg Date: Thu Jun 11 14:46:49 2009 +0300 irq: use kcalloc() instead of the bootmem allocator Fixes the following problem: [ 0.000000] Experimental hierarchical RCU init done. [ 0.000000] NR_IRQS:4352 nr_irqs:256 [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x40/0x7e() [ 0.000000] Hardware name: To Be Filled By O.E.M. [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #59709 [ 0.000000] Call Trace: [ 0.000000] [] ? alloc_arch_preferred_bootmem+0x40/0x7e [ 0.000000] [] warn_slowpath_common+0x88/0xcb [ 0.000000] [] warn_slowpath_null+0x27/0x3d [ 0.000000] [] alloc_arch_preferred_bootmem+0x40/0x7e [ 0.000000] [] ___alloc_bootmem_nopanic+0x4e/0xec [ 0.000000] [] ___alloc_bootmem+0x20/0x61 [ 0.000000] [] __alloc_bootmem+0x1e/0x34 [ 0.000000] [] early_irq_init+0x6d/0x118 [ 0.000000] [] ? early_idt_handler+0x0/0x71 [ 0.000000] [] start_kernel+0x192/0x394 [ 0.000000] [] ? early_idt_handler+0x0/0x71 [ 0.000000] [] x86_64_start_reservations+0xb4/0xcf [ 0.000000] [] ? __init_begin+0x0/0x140 [ 0.000000] [] x86_64_start_kernel+0x158/0x17b [ 0.000000] ---[ end trace a7919e7f17c0a725 ]--- [ 0.000000] Fast TSC calibration using PIT [ 0.000000] Detected 2002.510 MHz processor. [ 0.004000] Console: colour VGA+ 80x25 Reported-by: Ingo Molnar Signed-off-by: Pekka Enberg commit 0fb530291621c8b8a1b16abeeab05d9262489f71 Author: Pekka Enberg Date: Thu Jun 11 08:41:22 2009 +0300 sched: use slab in cpupri_init() Lets not use the bootmem allocator in cpupri_init() as slab is already up when it is run. Cc: Ingo Molnar Cc: Linus Torvalds Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 4bdddf8ff9bbb8aa7b4d7847586202bd25842c90 Author: Pekka Enberg Date: Thu Jun 11 08:35:27 2009 +0300 sched: use alloc_cpumask_var() instead of alloc_bootmem_cpumask_var() Slab is initialized when sched_init() runs now so lets use alloc_cpumask_var(). Cc: Ingo Molnar Cc: Linus Torvalds Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 959982fee4e635c61780e989c3e34267143fcc02 Author: Yinghai Lu Date: Thu May 28 18:15:16 2009 -0700 memcg: don't use bootmem allocator in setup code The bootmem allocator is no longer available for page_cgroup_init() because we set up the kernel slab allocator much earlier now. Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit dad213aeb59718623fc59defeff95fe8c3feb8a0 Author: Yinghai Lu Date: Thu May 28 18:14:40 2009 -0700 irq/cpumask: make memoryless node zero happy Don't hardcode to node zero for early boot IRQ setup memory allocations. [ penberg@cs.helsinki.fi: minor cleanups ] Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit 38c7fed2f5ffee17e1fa3e0f78b0e1bf43d52d13 Author: Yinghai Lu Date: Mon May 25 15:10:58 2009 +0300 x86: remove some alloc_bootmem_cpumask_var calling Now that we set up the slab allocator earlier, we can get rid of some alloc_bootmem_cpumask_var() calls in boot code. Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Signed-off-by: Yinghai Lu Signed-off-by: Pekka Enberg commit a5f4f52e82114e85aa1a066bd1a450acc19a464d Author: Pekka Enberg Date: Wed Jun 10 23:53:37 2009 +0300 vt: use kzalloc() instead of the bootmem allocator Now that kmem_cache_init() happens before console_init(), we should use kzalloc() and not the bootmem allocator. Signed-off-by: Pekka Enberg commit 36b7b6d465489c4754c4fd66fcec6086eba87896 Author: Pekka Enberg Date: Wed Jun 10 23:42:36 2009 +0300 sched: use kzalloc() instead of the bootmem allocator Now that kmem_cache_init() happens before sched_init(), we should use kzalloc() and not the bootmem allocator. Signed-off-by: Pekka Enberg commit 444f478f65c7ca4606f9965b31feed13fe2bc9fa Author: Pekka Enberg Date: Thu Jun 11 18:29:06 2009 +0300 init: introduce mm_init() As suggested by Christoph Lameter, introduce mm_init() now that we initialize all the kernel memory allocations together. Cc: Christoph Lameter Signed-off-by: Pekka Enberg commit 43ebdac42f16037263b52a5aeedcd1bfa4a9bb29 Author: Pekka Enberg Date: Mon May 25 15:01:35 2009 +0300 vmalloc: use kzalloc() instead of alloc_bootmem() We can call vmalloc_init() after kmem_cache_init() and use kzalloc() instead of the bootmem allocator when initializing vmalloc data structures. Acked-by: Johannes Weiner Acked-by: Linus Torvalds Acked-by: Nick Piggin Cc: Ingo Molnar Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 83b519e8b9572c319c8e0c615ee5dd7272856090 Author: Pekka Enberg Date: Wed Jun 10 19:40:04 2009 +0300 slab: setup allocators earlier in the boot sequence This patch makes kmalloc() available earlier in the boot sequence so we can get rid of some bootmem allocations. The bulk of the changes are due to kmem_cache_init() being called with interrupts disabled which requires some changes to allocator boostrap code. Note: 32-bit x86 does WP protect test in mem_init() so we must setup traps before we call mem_init() during boot as reported by Ingo Molnar: We have a hard crash in the WP-protect code: [ 0.000000] Checking if this processor honours the WP bit even in supervisor mode...BUG: Int 14: CR2 ffcff000 [ 0.000000] EDI 00000188 ESI 00000ac7 EBP c17eaf9c ESP c17eaf8c [ 0.000000] EBX 000014e0 EDX 0000000e ECX 01856067 EAX 00000001 [ 0.000000] err 00000003 EIP c10135b1 CS 00000060 flg 00010002 [ 0.000000] Stack: c17eafa8 c17fd410 c16747bc c17eafc4 c17fd7e5 000011fd f8616000 c18237cc [ 0.000000] 00099800 c17bb000 c17eafec c17f1668 000001c5 c17f1322 c166e039 c1822bf0 [ 0.000000] c166e033 c153a014 c18237cc 00020800 c17eaff8 c17f106a 00020800 01ba5003 [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30-tip-02161-g7a74539-dirty #52203 [ 0.000000] Call Trace: [ 0.000000] [] ? printk+0x14/0x16 [ 0.000000] [] ? do_test_wp_bit+0x19/0x23 [ 0.000000] [] ? test_wp_bit+0x26/0x64 [ 0.000000] [] ? mem_init+0x1ba/0x1d8 [ 0.000000] [] ? start_kernel+0x164/0x2f7 [ 0.000000] [] ? unknown_bootoption+0x0/0x19c [ 0.000000] [] ? __init_begin+0x6a/0x6f Acked-by: Johannes Weiner Acked-by Linus Torvalds Cc: Christoph Lameter Cc: Ingo Molnar Cc: Matt Mackall Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit c91c4773b334d4d3a6d44626dc2a558ad97b86f3 Author: Pekka Enberg Date: Thu Jun 11 08:10:28 2009 +0300 bootmem: fix slab fallback on numa If the user requested bootmem allocation on a specific node, we should use kzalloc_node() for the fallback allocation. Cc: Ingo Molnar Cc: Johannes Weiner Cc: Linus Torvalds Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 441c7e0a2ed38827b48b907bd1fa29faba2017a3 Author: Pekka Enberg Date: Wed Jun 10 20:05:53 2009 +0300 bootmem: use slab if bootmem is no longer available As a preparation for initializing the slab allocator early, make sure the bootmem allocator does not crash and burn if someone calls it after slab is up; otherwise we'd need a flag day for switching to early slab. Acked-by: Johannes Weiner Acked-by: Linus Torvalds Cc: Christoph Lameter Cc: Ingo Molnar Cc: Matt Mackall Cc: Nick Piggin Cc: Yinghai Lu Signed-off-by: Pekka Enberg commit 3aa27bbe7a6536d1ec859d3a97caf3319b5081b7 Author: Catalin Marinas Date: Thu Jun 11 13:24:14 2009 +0100 kmemleak: Add the corresponding MAINTAINERS entry Signed-off-by: Catalin Marinas commit 0822ee4ac1ae6af5a953f97f75553738834b10b9 Author: Catalin Marinas Date: Thu Jun 11 13:24:14 2009 +0100 kmemleak: Simple testing module for kmemleak This patch adds a loadable module that deliberately leaks memory. It is used for testing various memory leaking scenarios. Signed-off-by: Catalin Marinas commit 3bba00d7bdd57cb7aa739b751fa0a1fbbb04dc18 Author: Catalin Marinas Date: Thu Jun 11 13:24:13 2009 +0100 kmemleak: Enable the building of the memory leak detector This patch adds the Kconfig.debug and Makefile entries needed for building kmemleak into the kernel. Signed-off-by: Catalin Marinas commit 2e1483c995bbd0fa6cbd055ad76088a520799ba4 Author: Catalin Marinas Date: Thu Jun 11 13:24:13 2009 +0100 kmemleak: Remove some of the kmemleak false positives There are allocations for which the main pointer cannot be found but they are not memory leaks. This patch fixes some of them. For more information on false positives, see Documentation/kmemleak.txt. Signed-off-by: Catalin Marinas commit 4f2294b6dc88d99295230d97fef2c9863cec44c3 Author: Catalin Marinas Date: Thu Jun 11 13:23:20 2009 +0100 kmemleak: Add modules support This patch handles the kmemleak operations needed for modules loading so that memory allocations from inside a module are properly tracked. Signed-off-by: Catalin Marinas commit dbb1f81ca67a56c6cfce4c94d07c76378fd4af9e Author: Catalin Marinas Date: Thu Jun 11 13:23:19 2009 +0100 kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash The alloc_large_system_hash function is called from various places in the kernel and it contains pointers to other allocated structures. It therefore needs to be traced by kmemleak. Signed-off-by: Catalin Marinas commit 89219d37a2377c44fde7bff0bf0623453c05329a Author: Catalin Marinas Date: Thu Jun 11 13:23:19 2009 +0100 kmemleak: Add the vmalloc memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from vmalloc/vfree. Signed-off-by: Catalin Marinas commit 06f22f13f3cc2eff00db09f053218e5d4b757bc8 Author: Catalin Marinas Date: Thu Jun 11 13:23:18 2009 +0100 kmemleak: Add the slub memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from the slub allocator. Signed-off-by: Catalin Marinas Cc: Christoph Lameter Reviewed-by: Pekka Enberg commit 4374e616d28e65265a5b433ceece275449f3d2e3 Author: Catalin Marinas Date: Thu Jun 11 13:23:17 2009 +0100 kmemleak: Add the slob memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from the slob allocator. Signed-off-by: Catalin Marinas Acked-by: Matt Mackall Acked-by: Pekka Enberg commit d5cff635290aec9ad7e6ee546aa4fae895361cbb Author: Catalin Marinas Date: Thu Jun 11 13:22:40 2009 +0100 kmemleak: Add the slab memory allocation/freeing hooks This patch adds the callbacks to kmemleak_(alloc|free) functions from the slab allocator. The patch also adds the SLAB_NOLEAKTRACE flag to avoid recursive calls to kmemleak when it allocates its own data structures. Signed-off-by: Catalin Marinas Reviewed-by: Pekka Enberg commit 04f70336c80c43a15e617b36c2043dfa0ad6ed0f Author: Catalin Marinas Date: Thu Jun 11 13:22:39 2009 +0100 kmemleak: Add documentation on the memory leak detector This patch adds the Documentation/kmemleak.txt file with some information about how kmemleak works. Signed-off-by: Catalin Marinas commit 3c7b4e6b8be4c16f1e6e5c558e33b7ff0db2dfaf Author: Catalin Marinas Date: Thu Jun 11 13:22:39 2009 +0100 kmemleak: Add the base support This patch adds the base support for the kernel memory leak detector. It traces the memory allocation/freeing in a way similar to the Boehm's conservative garbage collector, the difference being that the unreferenced objects are not freed but only shown in /sys/kernel/debug/kmemleak. Enabling this feature introduces an overhead to memory allocations. Signed-off-by: Catalin Marinas Cc: Ingo Molnar Acked-by: Pekka Enberg Cc: Andrew Morton Reviewed-by: Paul E. McKenney commit 59c288ffb6dfb55bdd6bfe6826ab6203ff791930 Merge: 49c3556 4a3b989 5d28996 Author: Linus Torvalds Date: Thu Jun 11 09:02:31 2009 -0700 Merge branches 'frv' and 'mn10300' * frv: FRV: Implement new-style ptrace FRV: Don't turn on TIF_SYSCALL_TRACE unconditionally in syscall prologue FRV: Implement TIF_NOTIFY_RESUME FRV: Remove in-kernel strace code FRV: BUG to BUG_ON changes FRV: bitops: Change the bitmap index from int to unsigned long * mn10300: MN10300: Add utrace/tracehooks support MN10300: Don't set the dirty bit in the DTLB entries in the TLB-miss handler commit 5d289964e1f1e8a2ec4289274bf15bce6a4f8ab8 Author: David Howells Date: Thu Jun 11 13:08:37 2009 +0100 MN10300: Add utrace/tracehooks support Add utrace/tracehooks support to MN10300. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit fd4f683d045e053abb093f80d81afce30ceadad2 Author: David Howells Date: Thu Jun 11 13:08:32 2009 +0100 MN10300: Don't set the dirty bit in the DTLB entries in the TLB-miss handler Remove the special handling for the Data TLB entry dirty bit in the TLB-miss handler. As the code stands, all that it does is to cause us to take a second data address exception to set the dirty bit. Instead, we can just let pte_mkdirty() set the bit. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 4a3b98932270f5d69f2c081924e356325ed704d9 Author: David Howells Date: Thu Jun 11 13:05:24 2009 +0100 FRV: Implement new-style ptrace Implement the new-style ptrace for FRV, including adding appropriate tracehooks. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 24ceb7e8a6c5dd6e32ac3d43a2424542c97989f5 Author: David Howells Date: Thu Jun 11 13:05:19 2009 +0100 FRV: Don't turn on TIF_SYSCALL_TRACE unconditionally in syscall prologue Don't turn on TIF_SYSCALL_TRACE unconditionally in syscall prologue in FRV's entry.S. This was originally for debugging stuff and should have been removed a long time ago. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit b7bab880c795ec620041ef0295cbbbc5a726f414 Author: David Howells Date: Thu Jun 11 13:05:14 2009 +0100 FRV: Implement TIF_NOTIFY_RESUME Implement the TIF_NOTIFY_RESUME thread flag, making it call do_notify_resume() which then clears it. This will be made use of later by tracehooks in the new-style ptrace implementation Also discard TIF_IRET as that's not used by FRV. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit aa1913c0214a53568731617c0afbbfa3f59513fb Author: David Howells Date: Thu Jun 11 13:05:09 2009 +0100 FRV: Remove in-kernel strace code Remove in-kernel strace code from the FRV arch as it's not really needed any more. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit db5c444eeb781788a0db36a2682b2417cf71f764 Author: Stoyan Gaydarov Date: Thu Jun 11 13:05:04 2009 +0100 FRV: BUG to BUG_ON changes Change some BUG()'s to BUG_ON()'s. Signed-off-by: Stoyan Gaydarov Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d2f11bf7fc630e27dfcede367399dddf40521878 Author: Justin Chen Date: Thu Jun 11 13:04:59 2009 +0100 FRV: bitops: Change the bitmap index from int to unsigned long Change the index to unsigned long in all bitops for [frv] Signed-off-by: Justin Chen Reviewed-by: Bjorn Helgaas Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 49c355617f603b8e71ec117c1f940152a998528a Merge: 991ec02 f0e8527 Author: Linus Torvalds Date: Thu Jun 11 08:57:47 2009 -0700 Merge branch 'serial-from-alan' * serial-from-alan: (79 commits) moxa: prevent opening unavailable ports imx: serial: use tty_encode_baud_rate to set true rate imx: serial: add IrDA support to serial driver imx: serial: use rational library function lib: isolate rational fractions helper function imx: serial: handle initialisation failure correctly imx: serial: be sure to stop xmit upon shutdown imx: serial: notify higher layers in case xmit IRQ was not called imx: serial: fix one bit field type imx: serial: fix whitespaces (no changes in functionality) tty: use prepare/finish_wait tty: remove sleep_on sierra: driver interface blacklisting sierra: driver urb handling improvements tty: resolve some sierra breakage timbuart: Fix the termios logic serial: Added Timberdale UART driver tty: Add URL for ttydev queue devpts: unregister the file system on error tty: Untangle termios and mm mutex dependencies ... commit 940010c5a314a7bd9b498593bc6ba1718ac5aec5 Merge: 8dc8e5e 991ec02 Author: Ingo Molnar Date: Thu Jun 11 17:55:42 2009 +0200 Merge branch 'linus' into perfcounters/core Conflicts: arch/x86/kernel/irqinit.c arch/x86/kernel/irqinit_64.c arch/x86/kernel/traps.c arch/x86/mm/fault.c include/linux/sched.h kernel/exit.c commit 8dc8e5e8bc0ce00b0f656bf972f67cd8a72759e5 Author: Ingo Molnar Date: Thu Jun 11 16:13:24 2009 +0200 perf_counter: Turn off by default Perfcounters were enabled by default to help testing - but now that we are submitting it upstream, make it default-disabled. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit cca3f454a85ff42d426401bce7ac804541b2bd03 Author: Peter Zijlstra Date: Thu Jun 11 14:57:55 2009 +0200 perf_counter: Add counter->id to the throttle event So as to be able to distuinguish between multiple counters. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a308444ceb576d3089f9ca0dfd097eba6f1e623f Author: Ingo Molnar Date: Thu Jun 11 14:44:26 2009 +0200 perf_counter: Better align code Whitespace and comment bits. Also update copyrights. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: commit 8be6e8f3c3a13900169f1141870562d0c723b010 Author: Peter Zijlstra Date: Thu Jun 11 14:19:11 2009 +0200 perf_counter: Rename L2 to LL cache The top (fastest) and last level (biggest) caches are the most interesting ones, performance wise. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: [ Fixed the Nehalem LL table to LLC Reference/Miss events ] Signed-off-by: Ingo Molnar commit f4dbfa8f3131a84257223393905f7efad0ca5996 Author: Peter Zijlstra Date: Thu Jun 11 14:06:28 2009 +0200 perf_counter: Standardize event names Pure renames only, to PERF_COUNT_HW_* and PERF_COUNT_SW_*. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 1c432d899d32d36371ee4ee310fa3609cf0e5742 Author: Peter Zijlstra Date: Thu Jun 11 13:19:29 2009 +0200 perf_counter: Rename enums Rename the perf enums to be in the 'perf_' namespace and strictly enumerate the ABI bits. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f0e8527726b9e56649b9eafde3bc0fbc4dd2dd47 Author: Dirk Eibach Date: Thu Jun 11 14:56:44 2009 +0100 moxa: prevent opening unavailable ports In moxa.c there are 32 minor numbers reserved for each device. The number of ports actually available per device is stored in moxa_board_conf->numPorts. This number is not considered in moxa_open(). Opening a port that is not available results in a kernel oops. This patch adds a test to moxa_open() that prevents opening unavailable ports. Signed-off-by: Dirk Eibach Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d7f8d437bda0ec409e26cffb846bc28a40603ee3 Author: Oskar Schirmer Date: Thu Jun 11 14:55:22 2009 +0100 imx: serial: use tty_encode_baud_rate to set true rate real baud rate may be different from the one requested. for upper layers, set the nearest value to the real rate in favour of the rate previously requested. Signed-off-by: Oskar Schirmer Signed-off-by: Linus Torvalds commit b6e4913834cd032082e5c76dfade61050212dc98 Author: Fabian Godehardt Date: Thu Jun 11 14:53:18 2009 +0100 imx: serial: add IrDA support to serial driver Using the iMX serial driver with an IrDA device needs extra peripheral settings and specific timing depending on the transmitter circuitry used. Signed-off-by: Fabian Godehardt Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 534fca068ec8063ec8b67626b3eb34ba6ec86967 Author: Oskar Schirmer Date: Thu Jun 11 14:52:23 2009 +0100 imx: serial: use rational library function for calculation of numerator and denominator used in baud rate setting, use generic library function for optimum settings. Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8759ef32d992fc6c0bcbe40fca7aa302190918a5 Author: Oskar Schirmer Date: Thu Jun 11 14:51:15 2009 +0100 lib: isolate rational fractions helper function Provide a helper function to determine optimum numerator denominator value pairs taking into account restricted register size. Useful especially with PLL and other clock configurations. Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9f322ad064f9210e7d472dfe77e702274d5c9dba Author: Daniel Glöckner Date: Thu Jun 11 14:39:21 2009 +0100 imx: serial: handle initialisation failure correctly correctly de-initialise device when setting up failed, call to pdata->exit() was missing. Signed-off-by: Daniel Glöckner Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2e1463922a35584c863f71d4021e1e71f76eaed0 Author: Fabian Godehardt Date: Thu Jun 11 14:38:38 2009 +0100 imx: serial: be sure to stop xmit upon shutdown needed to avoid continued transmission by hardware while software already shuts down, which might cause dangling characters to show up in hardware queues when restarting the device. Signed-off-by: Fabian Godehardt Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 977757311e50dc5d832c9fef34e7555411f7ccd8 Author: Fabian Godehardt Date: Thu Jun 11 14:37:19 2009 +0100 imx: serial: notify higher layers in case xmit IRQ was not called upper layers, namely line discipline, need to be notified when transmission of more data is possible. For spurious cases, where IRQ handling does not supply notification for sure, it is given additionally here, when data has just been transmitted and space in the buffer will most probably be available. Signed-off-by: Fabian Godehardt Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 26bbb3ff1ff6163d6a233055766e26af8054a212 Author: Daniel Glöckner Date: Thu Jun 11 14:36:29 2009 +0100 imx: serial: fix one bit field type "have_rtscts" is assigned 1, while it is declared int:1, two's complement, which can hold 0 and -1 only. The code works, as the upper bits are cut off, and tests are done against 0 only. Nonetheless, correctly declaring the bit field as unsigned int:1 renders the code more robust. Signed-off-by: Daniel Glöckner Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit d3810cd4d7064b109574374f73c41b11b481dbf2 Author: Oskar Schirmer Date: Thu Jun 11 14:35:01 2009 +0100 imx: serial: fix whitespaces (no changes in functionality) Signed-off-by: Oskar Schirmer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3e3b5c087799e536871c8261b05bc28e4783c8da Author: Jiri Slaby Date: Thu Jun 11 14:33:37 2009 +0100 tty: use prepare/finish_wait Use prepare_to_wait and finish_wait instead of add_wait_queue and remove_wait_queue. This avoids us setting a task state. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5fc5b42a3bb564f0b6e03f0f1b522ed9100250ad Author: Jiri Slaby Date: Thu Jun 11 14:32:42 2009 +0100 tty: remove sleep_on Use wait_event instead of sleep_on in tty_block_til_ready. Wait for ASYNC_CLOSING flag being 0. Signed-off-by: Jiri Slaby Signed-off-by: Linus Torvalds commit 4db2299da213d1ba8cf7f4c0a197ae7ba49db5cb Author: Elina Pasheva Date: Thu Jun 11 14:32:01 2009 +0100 sierra: driver interface blacklisting Interface blacklisting is necessary for non-serial interfaces that are handled by a different driver. The interface blacklisting is implemented in sierra driver per device. Each device in need of a blacklist has a static information array kept in the driver. This array contains the interface numbers that are blacklisted. The pointer for each blacklist array and the length of that blacklist are 'bundled' in data structure sierra_iface_info. A pointer to this information is set in id_table when the device is added to the id_table. The following is summary of changes we have made to sierra.c driver in this patch dealing with interface blacklisting support: - Added data structure sierra_iface_info and function is_blacklisted() to support blacklisting - Modified sierra_probe() to handle blacklisted interfaces accordingly - Improved comments in id_table - Added new device in id_table with blacklist interface support Signed-off-by: Elina Pasheva Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b9a44bc19f48fd82b8f411500a9bb0ea4153d23c Author: Elina Pasheva Date: Thu Jun 11 14:30:21 2009 +0100 sierra: driver urb handling improvements [Folded from eight patches into one as the original set according to the author "All of the patches need to be applied to obtain a working product" so keeping them split seems unhelpful Merge fixes done versus other conflicting changes and moved the spin_lock_init from open to setup time -- Alan] Summary of the changes and code re-organization in this patch: - The memory for urbs is allocated and urbs are submitted only for the active interfaces (instead of pre-allocating these for all interfaces). This will save memory especially in the case of using composite devices. - The code has been re-organized and functionality has been extracted from sierra_startup(), sierra_shutdown(), sierra_open(), sierra_close() and added in helper functions sierra_release_urb(), sierra_stop_rx_urbs(), sierra_submit_rx_urbs() and sierra_setup_urb() - Added function sierra_release_urb() to free an urb and its transfer buffer. - Removed unecessary include file reference and comment. - Added function sierra_stop_rx_urbs() that takes care of the release of receive and interrupt urbs. This function is to be called by sierra_close() whenever an interface is de-activated. - Added new function sierra_submit_rx_urbs() that handles the submission of receive urbs and interrupt urbs (if any) during the interface activation. This function is to be called by sierra_open(). Added a second parameter to pass the memory allocation (as suggested by Oliver Neukum) so that this function can be used in post_reset() and resume(). - Added new function sierra_setup_urb() that contains the functionality to allocate an urb, fill bulk urb using the supplied memory allocation flag and release urb upon error. Added parameter so that the caller pass the memory allocation flag for flexibility. - Moved sierra_close() before sierra_open() to resolve dependencies introduced by the code reorganization. - Modified sierra_close() to call sierra_stop_rx_urbs() and sierra_release_urb() functions added in previous patch. - Modified sierra_open() to call sierra_setup_urb() and sierra_submit_rx_urbs() functions; note urbs are allocated and submitted for each activated interface. - Modified sierra_startup() so that allocation of urbs happens whenever an interface is activated (urb allocation is moved to sierra_open()). - Modified sierra_shutdown() so that urbs are freed whenever an interface is de-activated (urb freeing moved to sierra_close() as shown in previous patch from the series) - Removed unecessary data structure from sierra_port_private_data - Suppress an entry in logs by not re-submitting an urb when usb_submit_urb() returns -EPERM, as this shows that usb_kill_urb() is running (as suggested by Oliver Neukum) Signed-off-by: Elina Pasheva Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 00b040deca907a113f5bef67a6cc7a4f65a5ace9 Author: Alan Cox Date: Thu Jun 11 14:29:29 2009 +0100 tty: resolve some sierra breakage The various merges into the sierra driver inadvertently undid commit 212b8f0c3f5a2280bfa1d6ab13a6fe98552becaa by Elina Pasheva . Put it back so the OBEX port works again. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7d55deaf50182c47c1e805dc8cc85f2769f0673e Author: Alan Cox Date: Thu Jun 11 14:27:13 2009 +0100 timbuart: Fix the termios logic The driver only handles speeds but it fails to return the current values for the hardware features it does not support. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 34aec591847c696339189b070cce2a11f901cfea Author: Richard Röjfors Date: Thu Jun 11 14:05:39 2009 +0100 serial: Added Timberdale UART driver Driver for the UART found in the Timberdale FPGA Signed-off-by: Richard Röjfors Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e960bf73ddd73714bcfbadb1717e53ecda9924cb Author: Alan Cox Date: Thu Jun 11 14:04:57 2009 +0100 tty: Add URL for ttydev queue Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 93d5581e20600593ec3236921b6620225fb76034 Author: Alan Cox Date: Thu Jun 11 14:03:55 2009 +0100 devpts: unregister the file system on error Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13429 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 26a2e20f4a966bebc312836aeb4423fbfd4e33e2 Author: Alan Cox Date: Thu Jun 11 14:03:13 2009 +0100 tty: Untangle termios and mm mutex dependencies Although this doesn't cause any problems it could potentially do so for future mmap using devices. No real work is needed to sort it out so untangle it before it causes problems Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0b91421857414f525690ee452c0b0acb6ab1dba3 Author: Mike Frysinger Date: Thu Jun 11 14:01:45 2009 +0100 tty: bfin_jtag_comm: emulate a TTY over the Blackfin EMUDAT/JTAG interface The Blackfin JTAG interface has a 4 byte generic data field (EMUDAT). With a little creative thinking, we can turn this into a TTY device. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7e9cd3a617414cfe74342659ceeb4e92975c1efa Author: Alan Cox Date: Thu Jun 11 13:57:01 2009 +0100 ftdi_sio: don't override modem bits The new open/close logic handles DTR and friends, so don't do it in our own open routine as well. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7f8d09eae26a8108406583192996561665b36371 Author: Alan Cox Date: Thu Jun 11 13:56:16 2009 +0100 tty: fix bluetooth scribbling on low latency flags Bluetooth shouldn't be doing this as most drivers don't support the flag, furthermore it shouldn't be needed with newer buffering. This becomes rather more visible as the locking fixes make the abuse of low_latency visible as spew on the users console/dmesg. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 557aaa7ffab639d0190b935a041b16ae44606342 Author: Alan Cox Date: Thu Jun 11 13:55:34 2009 +0100 ft232: support the ASYNC_LOW_LATENCY flag This allows users to use the standard setserial command with this FT232 feature as well as obscure chip specific interfaces we have now. We keep track of and respect the sysfs value for non-low-latency cases. In theory we could do smart stuff with VTIME and the like but this seems of questionable worth. Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=9120 Signed-off-by: Alan Cox commit 4cc27bd6d7d6750dba33b4ccb4585c00b8fca7d2 Author: Craig Shelley Date: Thu Jun 11 13:54:40 2009 +0100 USB: CP210X Replace CP2101 with CP210x This patch replaces the string "CP2101" with "CP210x" within cp210x.c This is to reduce confusion about the fact that the driver is actually compatible with CP2101, CP2102 and CP2103 devices. Signed-off-by: Craig Shelley (Fixed some collisions merging) Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 93ef1f1fbce37f14666e4856ff933d4a1b735d02 Author: Craig Shelley Date: Thu Jun 11 13:53:30 2009 +0100 USB: CP210X Use official request code definitions The CP210X driver was developed without official device specifications. This has lead to an incorrect assumption that all GET request codes are equal to the corresponding SET request code +1. This patch removes this incorrect assumption, and uses request code definitions based on the updated GPL driver from SiLabs. This modification is needed before extended functionality such as GPIO on CP2103 can be supported. Signed-off-by: Craig Shelley Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b7c7cbc898e8a97829f33ad3bcd1b5e91690d8f4 Author: Craig Shelley Date: Thu Jun 11 13:52:31 2009 +0100 USB: CP210X Add device IDs Signed-off-by: Craig Shelley Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2860b7911137eabb01c159abefb506e538ff3cb7 Author: Sonic Zhang Date: Thu Jun 11 13:51:33 2009 +0100 Blackfin Serial Driver: disable dma rx interrupt only rather than all irqs The UART RX handling code isn't exactly speeding, so don't go disabling all interrupts when processing the buffer. Just disable the relevant DMA interrupt. This greatly improves latency of the system when utilizing the UART. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 84507794a9d5d4decd6bc9c111480076dba0d301 Author: Sonic Zhang Date: Thu Jun 11 13:50:20 2009 +0100 Blackfin Serial Driver: handle anomaly 05000231 05000231 - UART STB Bit Incorrectly Affects Receiver Setting For processors affected by this, we cannot safely allow CSTOPB to be set as the UART will then be unable to properly clock in bytes. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0efa4f2c944fabffc81918cc86d4d17dba39a021 Author: Sonic Zhang Date: Thu Jun 11 13:45:07 2009 +0100 Blackfin Serial Driver: annotate anomalies 05000215 and 05000099 Add some comments for how these anomalies are addressed: 05000215 - UART TX Interrupt Masked Erroneously We always clear ETBEI within last UART TX interrupt to end a string. It is always set when starting a new tx transfer. 05000099 - UART Line Status Register (UART_LSR) Bits Are Not Updated at the Same Time This anomaly affects driver only in POLL code where multi bits of UART_LSR are checked. It doesn't affect current bfin_5xx.c driver. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 35ff69357949cfff5c3d8e3038b77146872e3bd3 Author: Sonic Zhang Date: Thu Jun 11 13:42:57 2009 +0100 Blackfin Serial Driver: handle irregular DMA register status in auto start mode This bug is caused by irregular behavior of DMA register CURR_X_COUNT and CURR_Y_COUNT when an auto restart uart rx DMA run to last byte in DMA buffer, trigger the interrupt and stay at this possiton. The status of current x and y is 0:7 instead of 512:8 or 0:8. The driver doesn't take care of this case when calculating the position. URL: http://blackfin.uclinux.org/gf/tracker/5063 Reported-by: Tomasz Motylewski Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f9d36da9cdc2504cd9bb6034cfaba0673ce2d6df Author: Graf Yang Date: Thu Jun 11 13:42:17 2009 +0100 Blackfin Serial Driver: fix missing new lines when under load Add a SSYNC() into bfin_serial_dma_tx_chars() to ensure DMA registers are written with new data otherwise we might miss a byte or two when the system is under load. PIO mode is OK though. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 7de7c55bf54dede2bd2262349fc7b558bcc8e413 Author: Robin Getz Date: Thu Jun 11 13:38:57 2009 +0100 Blackfin Serial Driver: fix baudrate for early_printk Since we already setup the early console UART in arch/blackfin/kernel/early_printk.c, and common functions which are enabled from the .setup will override the proper settings later, don't fill in these structures. Otherwise we get mangled baudrate settings when using early_printk. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 8516c568f25666a012ec4c859e640a76fc9b6ec0 Author: Sonic Zhang Date: Thu Jun 11 13:38:16 2009 +0100 Blackfin Serial Driver: fix error while transferring large files Ignore receiving data if new position is in the same line of current buffer tail and is small. This should decrease overruns. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4328e3e5ef1ae3427a4f6863aa65916a68ec2dd9 Author: Mike Frysinger Date: Thu Jun 11 13:37:11 2009 +0100 Blackfin SPORT UART: rewrite inline assembly Hopefuly the new version is easier to read, but in the process it declares proper clobber lists and better constraints so that GCC can do a better job at allocating free registers. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a19e8b205915b2925aca75b2d2bf0c3104c8be14 Author: Michael Hennerich Date: Thu Jun 11 13:23:42 2009 +0100 Blackfin SPORT UART: fix data misses while using transmit frame sync SPORT transmit frame sync (TFS) isn't used as an electrical signal during normal SPORT UART emulation. However, it is useful in EIA RS-485 emulation as RS-485 Transceiver Driver Enable DE strobe. This patch configures: TFS to be active high in order to drive an DE strobe of an eventually connected RS-485 Transceiver. Late frame sync mode (LATFS) gating the entire TX shift cycle. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b5c6794fe4256fd63664aa185c468647c28bfd4a Author: Mike Frysinger Date: Thu Jun 11 13:23:02 2009 +0100 Blackfin SPORT UART: fix typo in sport_set_termios prototype Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 08e0992f60ad44025a8a8b8a821838ca4a562686 Author: Florian Fainelli Date: Thu Jun 11 13:21:24 2009 +0100 serial: add support for the TI AR7 internal UART This patch adds support for the TI AR7 internal UART. Signed-off-by: Florian Fainelli Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 257a6e8cc7f9274f0af090494a3f1ee06548b5bd Author: Breno Leitao Date: Thu Jun 11 13:20:09 2009 +0100 icom: fix compile errors when defining ICOM_TRACE As it is, defining ICOM_TRACE produces some compile errors, as "parameter name omitted" and "redefinition of ‘trace’" This patch removes the wrong trace definition. Signed-off-by: Breno Leitao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 181bf1e815a2ad2a9a8b30ef6e92583d1530b255 Author: Alan Cox Date: Thu Jun 11 13:08:10 2009 +0100 parport_pc: clean up the modified while loops using for And tidy up a few bits coding style detectors missed Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 3aeda9bc95d064308a70664e6f4a158c96cc1918 Author: Alan Cox Date: Thu Jun 11 13:07:29 2009 +0100 parport_pc: Coding style Michael's patch fixed some of the coding style so the style is now inconsistent. Sort the rest out Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 73e0d48b8c28fb39a0bb6713c875e9919a9af546 Author: Michael Buesch Date: Thu Jun 11 13:06:31 2009 +0100 parport_pc: Fix subscription bugs This patch fixes array subscription bugs in the parport_pc driver. drivers/parport/parport_pc.c: In function ‘parport_irq_probe’: drivers/parport/parport_pc.c:1589: warning: array subscript is above array bounds drivers/parport/parport_pc.c: In function ‘parport_pc_probe_port’: drivers/parport/parport_pc.c:1579: warning: array subscript is above array bounds The patch also fixes a few other array bugs, which the compiler was unable to find. Coding style violations are also fixed. Signed-off-by: Michael Buesch Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0b4068a1287b02018d1b3159e7be6f27f3e3e68c Author: Alan Cox Date: Thu Jun 11 13:05:49 2009 +0100 tty: simplify buffer allocator cleanups Having cleaned up the allocators we might as well remove the inline helpers for some of it Signed-off-by: Alan Cox commit c481c707fe4b07783d9a2499a9bbbb94497e9b18 Author: Alan Cox Date: Thu Jun 11 13:04:27 2009 +0100 tty: remove buffer special casing Long long ago a 4K kmalloc allocated two pages so the tty layer used the page allocator, except on some machines where the page size was huge. This was removed from the core tty layer with the tty buffer re-implementation but not from tty_audit or the n_tty ldisc. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit aba6593bf77371e71331ba76dacc98b47760cba3 Author: Breno Leitao Date: Thu Jun 11 13:02:59 2009 +0100 icom: fixing a if clause spaghetti adapter->version can only be ADAPTER_V2 or ADAPTER_V1. So, that OR operand in the "if" clause is non-sense and can be removed. Signed-off-by: Breno Leitao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 13858d36903990441a89eb342247b71436808eeb Author: Alexander Y. Fomichev Date: Thu Jun 11 12:56:00 2009 +0100 jsm: correctly support multiple 4/8-port boards If there are more then one 4/8-port board jsm_uart_port_init allocate a line numbers of the second and further boards from range of previous one. This patch fixed the problem. Signed-off-by: Alexander Y. Fomichev [printks fixed to add jsm: ] Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 9bb41699ad5c74519dc054bfe469a8074799c863 Author: Olivier Bornet Date: Thu Jun 11 12:55:01 2009 +0100 tty: iuu_phoenix: update version number. Signed-off-by: Olivier Bornet Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 96dab77ebf3868cc8723ac95e048e8a9c1dccf22 Author: Olivier Bornet Date: Thu Jun 11 12:54:20 2009 +0100 tty: iuu_phoenix: set termios. set_termios can now be used for setting the parity and the stopbits. This is needed to use with cards which use a different parity then the parity used at start (even). If the iuu_uart_baud function return an error, we will return the old_termios instead of the new one. Signed-off-by: Olivier Bornet This was then revamped to use the various helpers, not copy non-hardware bits any to add mark/space parity and csize reporting Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cc3447d179d8a5e16807e52b77d7f4c095ffedb7 Author: Olivier Bornet Date: Thu Jun 11 12:53:24 2009 +0100 tty: iuu_phoenix: Fix stopbit when uart goes on. Signed-off-by: Olivier Bornet Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5fcf62b0f1f24ee25931636216f28bc87448a60f Author: Olivier Bornet Date: Thu Jun 11 12:52:26 2009 +0100 tty: iuu_phoenix: fix locking. Bring in the relevant bits of the 0.9 vendor driver. Signed-off-by: Olivier Bornet Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 852e99d22f2231d232c45216b027565e3bae7add Author: Alan Cox Date: Thu Jun 11 12:51:41 2009 +0100 tty: bring ldisc into CodingStyle Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f2c4c65c8350d885d74dcdea7061dcecc1223c36 Author: Alan Cox Date: Thu Jun 11 12:50:58 2009 +0100 tty: Move ldisc_flush We have a tty_ldisc file now so put tty_ldisc_flush in the right place Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c65c9bc3efa5589f691276bb9db689119a711222 Author: Alan Cox Date: Thu Jun 11 12:50:12 2009 +0100 tty: rewrite the ldisc locking There are several pretty much unfixable races in the old ldisc code, especially with respect to pty behaviour and also to hangup. It's easier to rewrite the code than simply try and patch it up. This patch - splits the ldisc from the tty (so we will be able to refcount it more cleanly later) - introduces a mutex lock for ldisc changing on an active device - fixes the complete mess that hangup caused - implements hopefully correct setldisc/close/hangup locking There are still some problems around pty pairs that have always been there but at least it is now possible to understand the code and fix further problems. This fixes the following known bugs - hang up can leak ldisc references - hang up may not call open/close on ldisc in a matched way - pty/tty pairs can deadlock during an ldisc change - reading the ldisc proc files can cause every ldisc to be loaded and probably a few other of the mysterious ldisc race reports. I'm sure it also adds the odd new one. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit e8b70e7d3e86319a8b2aaabde3866833d92cd80f Author: Alan Cox Date: Thu Jun 11 12:48:02 2009 +0100 tty: Extract various bits of ldisc code Before trying to tackle the ldisc bugs the code needs to be a good deal more readable, so do the simple extractions of routines first. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5f0878acba7db24323f5ba4055ec9a96895bb150 Author: Alan Cox Date: Thu Jun 11 12:46:41 2009 +0100 tty: Fix oops when scanning the polling list for kgdb Costantino Leandro found a bug in tty_find_polling_driver and provided a patch that fixed the crash but not the underlying bug. This fixes the underlying bug where the list walk corrupts the values it is using on a match but then reuses them if the open fails. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 620df3c0a5b70656c4de6049825de214f108218e Author: Alan Cox Date: Thu Jun 11 12:45:53 2009 +0100 pty: Fix a comment We fixed the globals, so now fix the comment Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 4b6ae89ef40d0d5d4c85098c1d0a012333a68729 Author: Alan Cox Date: Thu Jun 11 12:45:08 2009 +0100 serial: update maintainers file Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 38db89799bdf11625a831c5af33938dcb11908b6 Author: Alan Cox Date: Thu Jun 11 12:44:17 2009 +0100 tty: throttling race fix The tty throttling code can race due to the lock drops. It takes very high loads but this has been observed and verified by Rob Duncan. The basic problem is that on an SMP box we can go CPU #1 CPU #2 need to throttle ? suppose we should buffer space cleared are we throttled yes ? - unthrottle call throttle method This changeet take the termios lock to protect against this. The termios lock isn't the initial obvious candidate but many implementations of throttle methods already need to poke around their own termios structures (and nobody really locks them against a racing change of flow control). This does mean that anyone who is setting tty->low_latency = 1 and then calling tty_flip_buffer_push from their unthrottle method is going to end up collapsing in a pile of locks. However we've removed all the known bogus users of low_latency = 1 and such use isn't safe anyway for other reasons so catching it would be an improvement. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5b0ed5263cb089500052f8c1ab6e0706bebf0d83 Author: Arnd Bergmann Date: Thu Jun 11 12:42:49 2009 +0100 x86: fix ktermios-termio conversion The legacy TCSETA{,W,F} ioctls failed to set the termio->c_line field on x86. This adds a missing get_user. The same ioctls also fail to report faulting user pointers, which we keep ignoring. Signed-off-by: Arnd Bergmann Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 70fd8fdecc4430ffcede7704dd812d4054d1faf9 Author: Andre Przywara Date: Thu Jun 11 12:41:57 2009 +0100 8250_pci: add the OXCB950 chip to the 8250 PCI driver. This adds support for the following serial controller chip: Oxford Semiconductor OXCB950 for PCI Cardbus interface http://www.transdimension.com/products/serial/OXCB950.html on this card: ExSys EX-1370 1 port high-speed serial card for ExpressCard/34 slot Signed-off-by: Andre Przywara Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit c3301a5c04800bcf8afc8a815bf9e570a4e25a08 Author: Jiri Slaby Date: Thu Jun 11 12:41:05 2009 +0100 epca: fix test_bit parameters Switch from ASYNC_* to ASYNCB_*, because test_bit expects bit number, not mask. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit a391ad0f09014856bbc4eeea309593eba977b3b0 Author: Jiri Slaby Date: Thu Jun 11 12:40:17 2009 +0100 rocket: fix test_bit parameters Switch from ASYNC_* to ASYNCB_*, because {test,set}_bit expect bit number, not mask. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 70beaed22cbe12979e55d99b370e147e2e168562 Author: Jiri Slaby Date: Thu Jun 11 12:39:12 2009 +0100 serial: refactor ASYNC_ flags Define ASYNCB_* flags which are bit numbers of the ASYNC_* flags. This is useful for {test,set,clear}_bit. Also convert each ASYNC_% to be (1 << ASYNCB_%) and define masks with the macros, not constants. Tested with: #include "PATH_TO_KERNEL/include/linux/serial.h" static struct { unsigned int new, old; } as[] = { { ASYNC_HUP_NOTIFY, 0x0001 }, { ASYNC_FOURPORT, 0x0002 }, ... { ASYNC_BOOT_ONLYMCA, 0x00400000 }, { ASYNC_INTERNAL_FLAGS, 0xFFC00000 } }; ... for (a = 0; a < ARRAY_SIZE(as); a++) if (as[a].old != as[a].new) printf("%.8x != %.8x\n", as[a].old, as[a].new); Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 6e47e069eb4dffa88ad91ddfc3fd85f32c35654b Author: Alan Cox Date: Thu Jun 11 12:37:06 2009 +0100 tty: Clean up the ACM driver to CodingStyle Or at least most of it. There are further clean ups possible and there are are also thing checkpatch moans about that would be silly to "fix". Also note some FIXME points found as the cleanup was done. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 10077d4a6674f535abdbe25cdecb1202af7948f1 Author: Alan Cox Date: Thu Jun 11 12:36:09 2009 +0100 tty: cdc_acm add krefs Now we have a port structure begin using the fields and kref counts Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b39933fbd304021580800796683b8ddaa3dd0a6a Author: Jiri Slaby Date: Thu Jun 11 12:35:21 2009 +0100 tty: cyclades, remove unused variables Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 963118eef9e6706e2b5356309fb0cdd9c9eba81d Author: Jiri Slaby Date: Thu Jun 11 12:34:27 2009 +0100 tty: cyclades, fix nports handling Set up ports right after FW load so that we won't allocate maximal (64) ports when we use few. Also remove reading of nports in irq context, since we know it from initialisation now. This also fixes a tty ports unregistration on some fail paths and for Ze which registered 64 and unregistered real port count. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 08a951e1693e324bd035b194002a82b9057fd9c5 Author: Jiri Slaby Date: Thu Jun 11 12:33:40 2009 +0100 tty: cyclades, remove typedefs They are unused anyway. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 2693f485c22d18474c077f12fd0f797ee8679b33 Author: Jiri Slaby Date: Thu Jun 11 12:31:06 2009 +0100 tty: cyclades, convert macros to inlines Remove ugly macros and add inlines instead of them. This improves readability and type checking a much. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 101b81590d8df0a74c33cf739886247c0a13f4af Author: Jiri Slaby Date: Thu Jun 11 12:30:10 2009 +0100 tty: cyclades, cache HW version Store HW version locally to not read it all the time in interrupts and alike. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 97e87f8ebe978e881c7325ba490574bd5500b133 Author: Jiri Slaby Date: Thu Jun 11 12:29:27 2009 +0100 tty: cyclades, plx9060 casts cleanup Remove ugly all-over-the-code casts of ctl_addr to 9060 space. Add an union to the cyclades_card structure, which contains a pointer to both 9050 and 9060 spaces. The 9050 space layout is unknown, so let it still as a void __iomem pointer. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 5ba5a5d21204f61ff655b322a90ed91c75194e4b Author: Paul Fulghum Date: Thu Jun 11 12:28:37 2009 +0100 tty: synclink_gt add receive pio mode Add receive programmed IO mode to reduce receive latency when using low data rates. The receive FIFO trigger level of 128 bytes used in DMA mode creates excessive latency when operating at low data rates. PIO mode is selected when user application requests data in blocks of less than 128 bytes. Signed-off-by: Paul Fulghum Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 739e0285cbb162c8ddd0061fda581ee54a34c19a Author: Alan Cox Date: Thu Jun 11 12:27:50 2009 +0100 tty: Update cdc_acm The CDC ACM driver uses the tty layer correctly so needs conversion. Start by adding and initializing the port structures. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 335f8514f200e63d689113d29cb7253a5c282967 Author: Alan Cox Date: Thu Jun 11 12:26:29 2009 +0100 tty: Bring the usb tty port structure into more use This allows us to clean stuff up, but is probably also going to cause some app breakage with buggy apps as we now implement proper POSIX behaviour for USB ports matching all the other ports. This does also mean other apps that break on USB will now work properly. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 1ec739be75a6cb961a46ba0b1982d0edb7f27558 Author: Alan Cox Date: Thu Jun 11 12:25:25 2009 +0100 tty: Implement a drain delay in the tty port We need this for devices that cannot flush and wait, but which do not order data and modem events. Without it we will hang up before all the data clears the hardware. Needed for the USB changes. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fcc8ac1825d3d0fb81f73bc1a80ebc863168bb56 Author: Alan Cox Date: Thu Jun 11 12:24:17 2009 +0100 tty: Add carrier processing on close to the tty_port core Some drivers implement this internally, others miss it out. Push the behaviour into the core code as that way everyone will do it consistently. Update the dtr rts method to raise or lower depending upon flags. Having a single method in this style fits most of the implementations more cleanly than two funtions. We need this in place before we tackle the USB side Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 65a29f60e121ae5116ac1736b50a237bf2db3225 Author: Jiri Slaby Date: Thu Jun 11 12:22:27 2009 +0100 tty: cyclades, remove spurious check in ISR No need to check if dev_id is NULL, it never is. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit eca1b592d600bb2b7d24b66e4106de1e751ae510 Author: Jiri Slaby Date: Thu Jun 11 12:21:30 2009 +0100 tty: cyclades, don't kill FW Don't reset the PLX chip after FW load, which effectively kills the FW, so that user had to boot manually. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ace08c3c4403140e5ce82116c8f2acb38f58f61d Author: Jiri Slaby Date: Thu Jun 11 12:20:38 2009 +0100 tty:cyclades, load firmware even on Ze Ze needs firmware to be loaded as well as Zo. Move cyz_load_fw one level upper to achieve that. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 51cdd9289d2e0d83eb32ed6d7a42596b02bf924e Author: Pavel Machek Date: Thu Jun 11 23:25:09 2009 +0800 [ARM] pxa/sharpsl_pm: zaurus needs generic pxa suspend/resume routines For suspend/resume to work, spitz needs pxa_pm_suspend/resume to be called. Otherwise PSPR is not set properly, and system will die during resume. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit b263c2c8bf13c273485bd99dbbeba79c844409dd Author: Chris Mason Date: Thu Jun 11 11:24:47 2009 -0400 Btrfs: fix extent_buffer leak during tree log replay During tree log replay, we read in the tree log roots, process them and then free them. A recent change takes an extra reference on the root node of the tree when the root is read in, and stores that reference in root->commit_root. This reference was not being freed, leaving us with one buffer pinned in ram for each subvol with a tree log root after a crash. Signed-off-by: Chris Mason commit 781b2ba6eb5f22440afac9c79a89ebd6e3674a60 Author: Pekka Enberg Date: Wed Jun 10 18:50:32 2009 +0300 SLUB: Out-of-memory diagnostics As suggested by Mel Gorman, add out-of-memory diagnostics to the SLUB allocator to make debugging OOM conditions easier. This patch helped hunt down a nasty OOM issue that popped up every now that was caused by SLUB debugging code which forced 4096 byte allocations to use order 1 pages even in the fallback case. An example print out looks like this: SLUB: Unable to allocate memory on node -1 (gfp=20) cache: kmalloc-4096, object size: 4096, buffer size: 4168, default order: 3, min order: 1 node 0: slabs: 95, objs: 665, free: 0 Acked-by: Christoph Lameter Acked-by: Mel Gorman Tested-by: Larry Finger Signed-off-by: Pekka Enberg commit 0b4dcea579a1b6f4d249d61f5bc8adeaa7c895d8 Author: Chris Mason Date: Thu Jun 11 11:13:35 2009 -0400 Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir This happens during subvol creation. Signed-off-by: Chris Mason commit 729ff5e2aaf181f5d3ab849337fce406cd19b1d9 Author: Ingo Molnar Date: Thu Jun 11 14:16:15 2009 +0200 perf_counter tools: Clean up u64 usage A build error slipped in: builtin-report.c: In function ‘hist_entry__fprintf’: builtin-report.c:711: error: format ‘%12d’ expects type ‘int’, but argument 3 has type ‘uint64_t’ Because we got a bit sloppy with those types. uint64_t really sucks, because there's no printf format for it. So standardize on __u64 instead - for all types that go to or come from the ABI (which is __u64), or for values that need to be large enough even on 32-bit. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit df58ab24bf26b166874bfb18b3b5a2e0a8e63179 Author: Peter Zijlstra Date: Thu Jun 11 11:25:05 2009 +0200 perf_counter: Rename perf_counter_limit sysctl Rename perf_counter_limit to perf_counter_max_sample_rate and prohibit creation of counters with a known higher sample frequency. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 0764771dab80d7b84b9a271bee7f1b21a04a3f0c Author: Peter Zijlstra Date: Thu Jun 11 11:18:36 2009 +0200 perf_counter: More paranoia settings Rename the perf_counter_priv knob to perf_counter_paranoia (because priv can be read as private, as opposed to privileged) and provide one more level: 0 - permissive 1 - restrict cpu counters to privilidged contexts 2 - restrict kernel-mode code counting and profiling Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 106b506c3a8b74daa5751e83ed3e46438fcf9a52 Author: Paul Mackerras Date: Thu Jun 11 14:55:42 2009 +1000 perf_counter: powerpc: Implement generalized cache events for POWER processors This adds tables of event codes for the generalized cache events for all the currently supported powerpc processors: POWER{4,5,5+,6,7} and PPC970*, plus powerpc-specific code to use these tables when a generalized cache event is requested. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18992.36430.933526.742969@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 4da52960fd1ae3ddd14901bc88b608cbeaa4b9a6 Author: Paul Mackerras Date: Thu Jun 11 14:54:01 2009 +1000 perf_counters: powerpc: Add support for POWER7 processors This adds the back-end for the PMU on POWER7 processors. POWER7 has 4 fully-programmable counters and two fixed-function counters (which do respect the freeze conditions, can generate interrupts, and are writable, unlike PMC5/6 on POWER5+/6). Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18992.36329.189378.17992@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit dc890c2dcd63a90de68ee5f0253eefbb89d725f0 Author: Linus Walleij Date: Sun Jun 7 23:27:31 2009 +0100 [ARM] 5544/1: Trust PrimeCell resource sizes I found the PrimeCell/AMBA Bus drivers distrusting the resource passed in as part of the struct amba_device abstraction. This patch removes all hard coded resource sizes found in the PrimeCell drivers and move the responsibility of this definition back to the platform/board device definition, which already exist and appear to be correct for all in-tree users of these drivers. We do this using the resource_size() inline function which was also replicated in the only driver using the resource size, so that has been changed too. The KMI_SIZE was left in kmi.h in case someone likes it. Test-compiled against Versatile and Integrator defconfigs, seems to work but I don't posess these boards and cannot test them. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 42578c82e0f1810a07ebe29cb05e874893243d8c Merge: 2631182 85d6943 Author: Russell King Date: Thu Jun 11 15:35:00 2009 +0100 Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel Conflicts: arch/arm/Kconfig arch/arm/kernel/smp.c arch/arm/mach-realview/Makefile arch/arm/mach-realview/platsmp.c commit 9866b7e86a2ce4daa677be750e3ccbfc65d187f5 Author: Thomas Gleixner Date: Thu Jun 11 16:25:01 2009 +0200 x86: memtest: use pointers of equal type for comparison Commit c9690998ef48ffefeccb91c70a7739eebdea57f9 (x86: memtest: remove 64-bit division) introduced following compile warning: arch/x86/mm/memtest.c: In function 'memtest': arch/x86/mm/memtest.c:56: warning: comparison of distinct pointer types lacks a cast arch/x86/mm/memtest.c:58: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Thomas Gleixner commit 2631182bf93919577730e6a6c4345308db590057 Merge: 0aacfe1 cc63262 Author: Russell King Date: Thu Jun 11 15:23:26 2009 +0100 Merge branch 'w90x900' into devel commit d5af27783f8c898b64f7079908ad3e27632a71ea Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:54 2009 +0300 [ARM] pxa/sharpsl_pm: cleanup of gpio-related code. Replace calls to pxa_gpio_mode with respective gpio_request() / gpio_direction_input(). In principle these calls can be dropped as the only use of those GPIO are IRQs and IRQ code does setup GPIO correctly. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 5452537210d59268cbc283526dc050f0822385f1 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:53 2009 +0300 [ARM] pxa/sharpsl_pm: drop set_irq_type calls Merge set_irq_type() into respective request_irq() calls. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit d48898a3c88c1f36a66a8d4e3e45843c3171c548 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:52 2009 +0300 [ARM] pxa/sharpsl_pm: merge pxa-specific code into generic one As pxa now is the only user of sharpsl_pm we can drop several startup functions into generic code thus dropping several global functions. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 78731d33c1868f4ba43bafcca8dcaf938872c1f2 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:51 2009 +0300 [ARM] pxa/sharpsl_pm: merge the two sharpsl_pm.c since it's now pxa specific collie_pm was the only non-PXA user of sharpsl_pm. Now as it's gone we can merge code into one single file to allow further cleanup. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 391c5111c9ce346edc3c3d8f907eb178a6decd16 Author: Dmitry Eremin-Solenikov Date: Sat Mar 28 18:18:50 2009 +0300 [ARM] sa1100: remove unused collie_pm.c This file was never enabled in the mainline kernel, new ongoing work on battery driver by Thomas Kunze makes it completely obsolete, so remove it now. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 334a47f6345560af047f164c356d71c3226965d5 Author: Patrick McHardy Date: Thu Jun 11 16:16:09 2009 +0200 netfilter: nf_ct_tcp: fix up build after merge Replace the last occurence of tcp_lock by the per-conntrack lock. Signed-off-by: Patrick McHardy commit 4f64e150191bfddc7f5c0768f325f747dbca1913 Author: Takashi Iwai Date: Thu Jun 11 16:14:11 2009 +0200 ALSA: pcm - Update document about xrun_debug proc file Signed-off-by: Takashi Iwai commit 18473473880622b671a73dfdcaf03e9b526e0fb2 Author: Eric Miao Date: Sun Jun 7 23:05:45 2009 +0800 [ARM] pxa: fix the conflicting non-static declarations of global_gpios[] Signed-off-by: Eric Miao Cc: Philipp Zabel Acked-by: Robert Jarzmik commit de0525ca34aa7a65faf6902e3e00956ab80d2ede Author: Tim Blechmann Date: Thu Jun 11 16:03:34 2009 +0200 ALSA: lx6464es - support standard alsa module parameters trivial patch to support the alsa module parameters `index', `id' and `enable' Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 36432dae73cf2c90a59b39c8df9fd8219272b005 Merge: 440f0d5 bb40080 Author: Patrick McHardy Date: Thu Jun 11 16:00:49 2009 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 commit cc63262f27582369737edcb4e810265db2a98ab4 Author: wanzongshun Date: Wed Jun 10 15:51:32 2009 +0100 [ARM] 5550/1: Add default configure file for w90p910 platform Add default configure file for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 0e4a34bb6565346a8d7cc56cab412a1f98d5b1cd Author: wanzongshun Date: Wed Jun 10 15:50:44 2009 +0100 [ARM] 5549/1: Add clock api for w90p910 platform. Add clock api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c52d3d688b09c50de12cb2fbdfebb18b3b664b00 Author: wanzongshun Date: Wed Jun 10 15:49:32 2009 +0100 [ARM] 5548/1: Add gpio api for w90p910 platform Add gpio api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 27eb97582db53b4b9461373aedf238ca06d85f15 Author: wanzongshun Date: Thu Jun 11 14:30:07 2009 +0100 [ARM] 5551/1: Add multi-function pin api for w90p910 platform. Add multi-function pin api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 067c28adc53807514ac0c6ebb6af3243cbd071fa Author: Chris Mason Date: Thu Jun 11 09:30:13 2009 -0400 Btrfs: fix -o nodatasum printk spelling It was printing nodatacsum, which was not the correct option name. Signed-off-by: Chris Mason commit 85d4198e40c289dd623cecd16601fa613559bed7 Author: Yan Zheng Date: Thu Jun 11 08:51:10 2009 -0400 Btrfs: check duplicate backrefs for both data and metadata lookup_inline_extent_backref only checks for duplicate backref for data extents. It assumes backrefs for tree block never conflict. This patch makes lookup_inline_extent_backref check for duplicate backrefs for both data and tree block, so that we can detect potential bug earlier. This is a safety check, strictly speaking it is not required. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit bb400801c2f40bbd9a688818323ad09abfc4e581 Merge: 130aa61 611b30f Author: David S. Miller Date: Thu Jun 11 05:47:43 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 130aa61a77b8518f1ea618e1b7d214d60b405f10 Author: Stephen Hemminger Date: Thu Jun 11 05:46:04 2009 -0700 bonding: fix multiple module load problem Some users still load bond module multiple times to create bonding devices. This accidentally was broken by a later patch about the time sysfs was fixed. According to Jay, it was broken by: commit b8a9787eddb0e4665f31dd1d64584732b2b5d051 Author: Jay Vosburgh Date: Fri Jun 13 18:12:04 2008 -0700 bonding: Allow setting max_bonds to zero Note: sysfs and procfs still produce WARN() messages when this is done so the sysfs method is the recommended API. Signed-off-by: Stephen Hemminger Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 5ef12d98a19254ee5dc851bd83e214b43ec1f725 Author: Timo Teras Date: Thu Jun 11 04:16:28 2009 -0700 neigh: fix state transition INCOMPLETE->FAILED via Netlink request The current code errors out the INCOMPLETE neigh entry skb queue only from the timer if maximum probes have been attempted and there has been no reply. This also causes the transtion to FAILED state. However, the neigh entry can be also updated via Netlink to inform that the address is unavailable. Currently, neigh_update() just stops the timers and leaves the pending skb's unreleased. This results that the clean up code in the timer callback is never called, preventing also proper garbage collection. This fixes neigh_update() to process the pending skb queue immediately if INCOMPLETE -> FAILED state transtion occurs due to a Netlink request. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit b0fd271d5fba0b2d00888363f3869e3f9b26caa9 Author: Kiyoshi Ueda Date: Thu Jun 11 13:10:16 2009 +0200 block: add request clone interface (v2) This patch adds the following 2 interfaces for request-stacking drivers: - blk_rq_prep_clone(struct request *clone, struct request *orig, struct bio_set *bs, gfp_t gfp_mask, int (*bio_ctr)(struct bio *, struct bio*, void *), void *data) * Clones bios in the original request to the clone request (bio_ctr is called for each cloned bios.) * Copies attributes of the original request to the clone request. The actual data parts (e.g. ->cmd, ->buffer, ->sense) are not copied. - blk_rq_unprep_clone(struct request *clone) * Frees cloned bios from the clone request. Request stacking drivers (e.g. request-based dm) need to make a clone request for a submitted request and dispatch it to other devices. To allocate request for the clone, request stacking drivers may not be able to use blk_get_request() because the allocation may be done in an irq-disabled context. So blk_rq_prep_clone() takes a request allocated by the caller as an argument. For each clone bio in the clone request, request stacking drivers should be able to set up their own completion handler. So blk_rq_prep_clone() takes a callback function which is called for each clone bio, and a pointer for private data which is passed to the callback. NOTE: blk_rq_prep_clone() doesn't copy any actual data of the original request. Pages are shared between original bios and cloned bios. So caller must not complete the original request before the clone request. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit 0bcfc5ef016e8217709c65c5a7335e40ceabc99c Author: Cindy H Kao Date: Wed Jun 10 17:06:19 2009 -0700 wimax/i2400m: use -EL3RST to indicate device reset instead of -ERESTARTSYS When the i2400m device resets, the driver code will force some functions to return a -ERESTARTSYS error code, which can is used by the caller to determine which recovery actions to take. However, in certain situations the only thing that can be done is to bubble up said error code to user space, for handling. However, -ERESTARSYS was a poor choice, as it is supposed to be used by the kernel only. As such, replace -ERESTARTSYS with -EL3RST; as well, in i2400m_msg_to_dev(), when the device is in boot mode (following a recent reset), return -EL3RST instead of -ENODEV (meaning the device is in bootrom mode after a reset, not that the device was disconnected, and thus, normal commands cannot be executed). Signed-off-by: Cindy H Kao commit 8b5b30ee7ddc989b59ce05dcf2d024a819dc8040 Author: Cindy H Kao Date: Wed Jun 10 16:52:10 2009 -0700 wimax/i2400m: when bootstrap fails, reinitialize the bootrom When a device reset happens during firmware load [in i2400m_dev_bootstrap()], __i2400m_dev_start() will retry a number of times. However, for those retries to be able to accomplish anything, the device's bootrom has to be reinitialized. Thus, on the retry path, pass the I2400M_MAC_REINIT to the firmware load code. Signed-off-by: Cindy H Kao commit 16820c166d3ad5973d388b5aa70ee7e535386657 Author: Inaky Perez-Gonzalez Date: Thu May 7 01:02:39 2009 -0700 wimax/i2400m/sdio: Move all the RX code to a unified, IRQ based receive routine The current SDIO code was working in polling mode for boot-mode (firmware load) mode. This was causing issues on some hardware. Moved all the RX code to use a unified IRQ handler that based on the type of data the device is sending can discriminate and decide which is the right destination. As well, all the reads from the device are made to be at least the block size (256); the driver will ignore the rest when not needed. Signed-off-by: Dirk Brandewie Signed-off-by: Inaky Perez-Gonzalez commit 6e053d6c79b3c1c9f6efc6563a811023c41be86a Author: Inaky Perez-Gonzalez Date: Fri Jun 5 09:31:26 2009 +0800 wimax/i2400m: don't reset device when bootrom init retries are exceeded When i2400m_bootrom_init() fails to put the device into a state of being ready to accept firmware, the driver was currently trying to reset it if it failed to do so. This is not too useful; as part of trying to put the device in the right state a few resets have already been tried. At this point, things are probably fried out and an extra reset might do more harm than good (for example causing reseting of other functions in the same composite device). So it is left up to the callers to determine the error path to take (at the end this is always i2400m_setup(), who depending on how many retries are left, might give up on the device). From a fix by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit 1c0b2dd75772cbce0aef8886b7f38313542216de Author: Dirk Brandewie Date: Thu May 21 11:56:35 2009 -0700 wimax/i2400m/sdio: Add device specific poke table. Add a poke table for the SDIO device (as it is different than USB). Signed-off-by: Dirk Brandewie commit 7308a0c23901f2a295265bb71d8521ef7d47bf4c Author: Dirk Brandewie Date: Thu May 21 11:56:34 2009 -0700 wimax/i2400m: move boot time poke table out of common driver This change moves the table of "pokes" performed on the device at boot time to the bus specific portion of the driver. Different models of the i2400m device supported by this driver require different poke tables, thus having a single table that works for all is impossible. For that, the table is moved to the bus-specific driver, who can decide which table to use based on the specifics of the device and point the generic driver to it. Signed-off-by: Dirk Brandewie commit ecddfd5ed73c070413f07a5251c16c10e69f35a2 Author: Inaky Perez-Gonzalez Date: Wed Jun 3 16:13:14 2009 +0800 wimax/i2400m: Allow bus-specific driver to specify retry count The code that sets up the i2400m (firmware load and general driver setup after it) includes a couple of retry loops. The SDIO device sometimes can get in more complicated corners than the USB one (due to its interaction with other SDIO functions), that require trying a few more times. To solve that, without having a failing USB device taking longer to be considered dead, allow the retry counts to be specified by the bus-specific driver, which the general driver takes as a parameter. Signed-off-by: Inaky Perez-Gonzalez commit b4013f91cdda10f3f15530914f3c7f39738b0b50 Author: Inaky Perez-Gonzalez Date: Wed Jun 3 09:45:55 2009 +0800 wimax/i2400m: if a device reboot happens during probe, handle it When a device reboot happens when we are under probe, with init_mutex taken, make sure we can recover. Have dev_reset_handle set boot mode and i2400m_msg_to_dev() will see it and fail gracefully instead of timing out. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit 59063afa0afabc68d2b6ca0d106da9165e1c7d39 Author: Inaky Perez-Gonzalez Date: Wed May 27 01:04:40 2009 -0700 wimax/i2400m: fix oops when the TX FIFO fills up due to a missing check When the TX FIFO filled up and i2400m_tx_new() failed to allocate a new TX message header, a missing check for said condition was causing a kernel oops when trying to dereference a NULL i2400m->tx_msg pointer. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit b4bd07e3b13e3c848c7678c4fc870cca1d22ed4e Author: Inaky Perez-Gonzalez Date: Thu May 21 19:46:45 2009 -0700 wimax/i2400m: don't reset device on i2400m_dev_shutdown() i2400m_dev_shutdown() tried to reset the device to put it in a known state before shutting down. But that turned out to be pointless. We reach this case in two paths: 1 - when the device resets, to clean up state 2 - when the driver is unloaded, for the same however, in both cases it is pointless; in (1) the device is already reset, why do it again? in (2) we can't -- the USB stack, for example, doesn't allow communicating with the device when the driver is being unbound and if the device is disconnected, the device is gone already. So just remove it. Leave the function as a placeholder for future cleanups that will be done from data allocated by the driver during device operation. Signed-off-by: Inaky Perez-Gonzalez commit 2971a5bac8cab3cb56f19e9c494ecb3b120c5199 Author: Inaky Perez-Gonzalez Date: Wed May 20 17:40:35 2009 -0700 wimax/i2400m: fix panic due to missed corner cases on tail_room calculation i2400m_tx_skip_tail() needs to handle the special case of being called when the tail room that is left over in the FIFO is zero. This happens when a TX message header was opened at the very end of the FIFO (without payloads). The i2400m_tx_close() code already marked said TX message (header) to be skipped and this function should be doing nothing. It is called anyway because it is part of a common "corner case" path handling which takes care of more cases than only this one. The tail room computation was also improved to take care of the case when tx_in is at the end of the buffer boundary; tail_room has to be modded (%) to the buffer size. To do that in a single well-documented place, __i2400m_tx_tail_room() is introduced and used. Treat i2400m->tx_in == 0 as a corner case and handle it accordingly. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit c56affafdd29eb9764b0e35e3434cc06f6bc3781 Author: Inaky Perez-Gonzalez Date: Wed May 20 17:16:05 2009 -0700 wimax/i2400m: fix panic/warnings caused by missed check on empty TX message In some situations, when a new TX message header is started, there might be no space for data payloads. In this case the message is left with zero payloads and the i2400m_tx_close() function has just to mark it as "to skip". If it tries to go ahead it will overwrite things because there is no space to add padding as defined by the bus-specific layer. This can cause buffer overruns and in some stress cases, panics. Found and diagnosed by Cindy H. Kao. Signed-off-by: Inaky Perez-Gonzalez commit 8593a1967fb9746d318dde88a0a39a36dbfc3445 Author: Inaky Perez-Gonzalez Date: Wed May 20 16:53:30 2009 -0700 wimax/i2400m: rename misleading I2400M_PL_PAD to I2400M_PL_ALIGN The constant is being use as an alignment factor, not as a padding factor; made reading/reviewing the code quite confusing. Signed-off-by: Inaky Perez-Gonzalez commit 10b1de6b774a531c9054ee01e734a85ffbab179e Author: Dirk Brandewie Date: Tue May 12 07:54:00 2009 -0700 wimax/i2400m/sdio: Implement I2400M_RT_BUS reset type This reset type causes the WiMAX function to be disabled and re-enabled, which will force the WiMAX device to reset and enter boot mode. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Dirk Brandewie commit ead68239913cb9c19150facf1656517f81d66fcb Author: Dirk Brandewie Date: Tue May 12 06:22:27 2009 -0700 wimax/i2400m: Change d_printf() level for secure boot messages Changing debug level of print out to support validation engineers getting the messages they need. Signed-off-by: commit 16eafba8defcd507831eec926b61db474af0aabb Author: Inaky Perez-Gonzalez Date: Fri May 8 12:46:26 2009 -0700 wimax/i2400m: i2400m_schedule_work() doesn't need i2400m->work_queue By mistake, the BUG_ON() check was left in there and it will fail when called if i2400m->work_queue is still not setup. Signed-off-by: Inaky Perez-Gonzalez commit e9a6b45be580d648ed2f21646214733504bd4d6f Author: Inaky Perez-Gonzalez Date: Fri May 8 13:02:41 2009 -0700 wimax/i2400m: i2400m's work queue should be initialized before RX support RX support is the only user of the work-queue, to process reports/notifications from the device. Thus, it needs the work queue to be initialized first. Signed-off-by: Inaky Perez-Gonzalez commit fff1068559a2ae00a036b80c5df3c564fc6c6305 Author: Inaky Perez-Gonzalez Date: Fri May 8 08:58:51 2009 -0700 wimax/i2400m: don't call netif_start_queue() in _tx_msg_sent() Reported and fixed by Cindy H Kao. When the device is stopped __i2400m_dev_stop() stops the network queue. However, when this is done in the middle of heavy network operation, when the bus-specific subdriver is still wrapping up and it reports a sent TX transaction with _tx_msg_sent() right after the device was stopped, the queue was being started again, which was causing a stream of oopsen and finally a panic. In any case, said call has no place there. It's a left over from an early implementation that was discarded later on. Signed-off-by: Inaky Perez-Gonzalez commit fb10167478a3a8e29fe122a7bf4c67b5cfc48a1b Author: Inaky Perez-Gonzalez Date: Thu May 7 10:27:42 2009 -0700 wimax/i2400m: introduce module parameter to disable entering power save The i2400m driver waits for the device to report being ready for entering power save before asking it to do so. This module parameter allows control of said operation; if disabled, the driver won't ask the device to enter power save mode. This is useful in setups where power saving is not so important or when the overhead imposed by network reentry after power save is not acceptable; by combining this with parameter 'idle_mode_disabled', the driver will always maintain both the connection and the device in active state. Signed-off-by: Inaky Perez-Gonzalez commit 2b85a34e911bf483c27cfdd124aeb1605145dc80 Author: Eric Dumazet Date: Thu Jun 11 02:55:43 2009 -0700 net: No more expensive sock_hold()/sock_put() on each tx One of the problem with sock memory accounting is it uses a pair of sock_hold()/sock_put() for each transmitted packet. This slows down bidirectional flows because the receive path also needs to take a refcount on socket and might use a different cpu than transmit path or transmit completion path. So these two atomic operations also trigger cache line bounces. We can see this in tx or tx/rx workloads (media gateways for example), where sock_wfree() can be in top five functions in profiles. We use this sock_hold()/sock_put() so that sock freeing is delayed until all tx packets are completed. As we also update sk_wmem_alloc, we could offset sk_wmem_alloc by one unit at init time, until sk_free() is called. Once sk_free() is called, we atomic_dec_and_test(sk_wmem_alloc) to decrement initial offset and atomicaly check if any packets are in flight. skb_set_owner_w() doesnt call sock_hold() anymore sock_wfree() doesnt call sock_put() anymore, but check if sk_wmem_alloc reached 0 to perform the final freeing. Drawback is that a skb->truesize error could lead to unfreeable sockets, or even worse, prematurely calling __sk_free() on a live socket. Nice speedups on SMP. tbench for example, going from 2691 MB/s to 2711 MB/s on my 8 cpu dev machine, even if tbench was not really hitting sk_refcnt contention point. 5 % speedup on a UDP transmit workload (depends on number of flows), lowering TX completion cpu usage. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f2333a014c1e13ac8e1b73a6fd77731c524eff78 Author: Figo.zhang Date: Thu Jun 11 02:49:10 2009 -0700 netxen: No need to check vfree() pointer. vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 934037bc2ed29a94bbde72aa6a2e66bdc5861b98 Author: Sathya Perla Date: Wed Jun 10 02:23:50 2009 +0000 be2net: Fix be_tx_q_clean() being called on freed queues In the tx queue destroy path, be_tx_q_clean() is currently called after the tx queues are freed; it must be called before. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a7a0ef31def6b6badd94fc96c8f17c2e18d91513 Author: Sathya Perla Date: Wed Jun 10 02:23:28 2009 +0000 be2net: Fix early reset of rx-completion be_rx_compl_get() must not reset(via the valid word) the rx_compl as the rx_compl is not processed yet; it must be reset after it is processed. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 76fbb42919396b9bf68c9a03ceb037c971a02e2f Author: Sathya Perla Date: Wed Jun 10 02:21:56 2009 +0000 be2net: Fix rx stats updation in non-lro path rx stats are not getting updated when an rx_compl with only one frag is rcvd in non-lro path. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 6811086899f2740c08d0ade26f8b9d705708e0cc Author: Sathya Perla Date: Wed Jun 10 02:21:16 2009 +0000 be2net: fix netdev stats rx_errors and rx_dropped Fix netdev stat rx_errors to cover length related errors and checksum errors and rx_dropped to the pkts dropped due to lack of buffers Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit b305be78a044c5f6a9d146229a280d08db0c630a Author: Sathya Perla Date: Wed Jun 10 02:18:35 2009 +0000 be2net: Use cancel_delayed_work_sync instead of cancel_delayed_work() Use cancel_delayed_work_sycn instead of cancel_delayed_work() to reliably kill be_worker() as it rearms itself. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit c0feed87fe452c20681ae29909adaecedd1ec9f3 Author: Figo.zhang Date: Wed Jun 10 04:18:38 2009 +0000 tehuti: No need check vfree() pointer. vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 50d36a93dc2c773c9625c62275b88ac936d9c4ba Author: Figo.zhang Date: Wed Jun 10 04:21:55 2009 +0000 vxge: No need for check vfree() pointer. vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit 74b793e1ef79edc49bc031a88d62f1e93fc6b30f Author: Divy Le Ray Date: Tue Jun 9 23:25:21 2009 +0000 cxgb3: remove __GFP_NOFAIL usage Pre-allocate a skb at init time to be used for control messages to the HW if skb allocation fails. Tolerate failures to send messages initializing some memories at the cost of parity error detection for these memories. Retry sending connection id release messages if both alloc_skb(GFP_ATOMIC) and alloc_skb(GFP_KERNEL) fail. Do not bring the interface up if messages binding queue set to port fail to be sent. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 87433bfc75f34599c38137e172b6bf8fd41971ba Author: Eric Dumazet Date: Tue Jun 9 22:55:53 2009 +0000 r8169: use dev_kfree_skb() instead of dev_kfree_skb_irq() rtl8169_tx_interrupt() is used from NAPI context, it can directly free skbs. dev_kfree_skb_irq() is a leftover from pre-NAPI times of this driver. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e762cd70efad6b6236b084ff7e5ce54a5f524320 Author: Ben Hutchings Date: Wed Jun 10 05:30:05 2009 +0000 sfc: Expose 100/1000BASE-T MDI-X status via ethtool Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d005ba6cc82440d9ebf96f3ec8f79c54578b898f Author: Ben Hutchings Date: Wed Jun 10 05:28:04 2009 +0000 mdio: Expose 10GBASE-T MDI-X status via ethtool This is available in a standard MDIO register in 10GBASE-T PHYs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 62fdac5913f71f8f200bd2c9bd59a02e9a1498e9 Author: Hidetoshi Seto Date: Thu Jun 11 16:06:07 2009 +0900 x86, mce: Add boot options for corrected errors This patch introduces three boot options (no_cmci, dont_log_ce and ignore_ce) to control handling for corrected errors. The "mce=no_cmci" boot option disables the CMCI feature. Since CMCI is a new feature so having boot controls to disable it will be a help if the hardware is misbehaving. The "mce=dont_log_ce" boot option disables logging for corrected errors. All reported corrected errors will be cleared silently. This option will be useful if you never care about corrected errors. The "mce=ignore_ce" boot option disables features for corrected errors, i.e. polling timer and cmci. All corrected events are not cleared and kept in bank MSRs. Usually this disablement is not recommended, however it will be a help if there are some conflict with the BIOS or hardware monitoring applications etc., that clears corrected events in banks instead of OS. [ And trivial cleanup (space -> tab) for doc is included. ] Signed-off-by: Hidetoshi Seto Reviewed-by: Andi Kleen LKML-Reference: <4A30ACDF.5030408@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit 77e26cca20013e9352a8df86a54640543304a23a Author: Hidetoshi Seto Date: Thu Jun 11 16:04:35 2009 +0900 x86, mce: Fix mce printing This patch: - Adds print_mce_head() instead of first flag - Makes the header to be printed always - Stops double printing of corrected errors [ This portion originates from Huang Ying's patch ] Originally-From: Huang Ying Signed-off-by: Hidetoshi Seto LKML-Reference: <4A30AC83.5010708@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit b8facca01ba381c3f8ff2391fbe3860ebc6a6bdc Author: Ron Mercer Date: Wed Jun 10 15:49:34 2009 +0000 qlge: Allow RX buf rings to be > than 4096 bytes. RX buffer rings can be comprised of non-contiguous fixed size chunks of memory. The ring is given to the hardware as a pointer to a location that stores the location of the queue. If the queue is greater than 4096 bytes then the hardware gets a list of said pointers. This patch addes the necessary logic to generate the list if the queue size exceeds 4096. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 88c55e3cbd1bd4e8f52dcda67456763710a025a5 Author: Ron Mercer Date: Wed Jun 10 15:49:33 2009 +0000 qlge: Relax alignment on TX harware queue. The alignment was on size of queue boundary, but the hardware only requires 4-byte alignment. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 0ed586d075ef65c0268982e5b7f36d0ffaa95547 Author: Roel Kluin Date: Wed Jun 10 09:55:03 2009 +0000 atl1c: WAKE_MCAST tested twice, not WAKE_UCAST The WAKE_MCAST bit is tested twice, the first should be WAKE_UCAST. Signed-off-by: Roel Kluin Cc: Jie Yang Cc: Jay Cliburn Cc: Chris Snook Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b77e5228849fdcd7a5d73beb16b9ad99395236ec Author: Risto Suominen Date: Wed Jun 10 09:55:00 2009 +0000 de2104x: support for systems lacking cache coherence Add a configurable Descriptor Skip Length for systems that lack cache coherence. (akpm: I think this should be done as a module parameter, not a compile-tinme option) Signed-off-by: Risto Suominen Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ef5c89967d50042b29937fb724e057c1aa3c5207 Author: sg.tweak@gmail.com Date: Wed Jun 10 09:55:02 2009 +0000 drivers/net/macvlan.c: fix cloning of tagged VLAN interfaces Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13348 akpm: the reporter disappeared, so I typed it in again. It is not possible to make clone of tagged VLAN interface to be used as mac-based vlan interfave. How reproducible: Use any 802.1q tagged vlan interface, e.g. eth2.700 and clone it: ip link add link eth2.700 address 00:04:75:cb:38:09 macvlan0 type macvlan ip link set dev macvlan0 up ip addr add 10.195.1.1/24 dev macvlan0 So far, so good. Now try to ping anything via macvlan0: ping 10.195.1.2 Actual results: For every attempted packet tx kernel writes to console: ------------[ cut here ]------------ WARNING: at net/8021q/vlan_dev.c:254 vlan_dev_hard_header+0x36/0x126 [8021q]() Hardware name: M22ES Modules linked in: arptable_filter arp_tables bridge veth macvlan arc4 ecb ppp_mppe ppp_async crc_ccitt ppp_generic slhc autofs4 sunrpc 8021q garp stp ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_tcpudp x_tables dm_mirror dm_region_hash dm_log dm_multipath dm_mod sbs sbshc lp floppy snd_intel8x0 joydev snd_seq_dummy snd_intel8x0m snd_ac97_codec ide_cd_mod ac97_bus snd_seq_oss cdrom snd_seq_midi_event serio_raw snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss parport_pc snd_pcm parport battery 8139cp snd_timer i2c_sis96x ac button snd rtc_cmos rtc_core 8139too soundcore rtc_lib mii i2c_core pcspkr snd_page_alloc pata_sis libata sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd [last unloaded: ip_tables] Pid: 0, comm: swapper Tainted: G W 2.6.29.3 #1 Call Trace: [] warn_slowpath+0x60/0x9f [] warn_slowpath+0x87/0x9f [] vlan_dev_hard_header+0x0/0x126 [8021q] [] vlan_dev_hard_header+0x36/0x126 [8021q] [] vlan_dev_hard_header+0x0/0x126 [8021q] [] macvlan_hard_header+0x3c/0x47 [macvlan] [] macvlan_hard_header+0x0/0x47 [macvlan] [] arp_create+0xef/0x1ff [] arp_send+0x3d/0x54 [] arp_solicit+0x16c/0x177 [] neigh_timer_handler+0x227/0x269 [] neigh_timer_handler+0x0/0x269 [] run_timer_softirq+0xf0/0x141 [] __do_softirq+0x76/0xf8 [] __do_softirq+0x0/0xf8 [] handle_level_irq+0x0/0xad [] irq_exit+0x35/0x62 [] do_IRQ+0xdf/0xf4 [] common_interrupt+0x27/0x2c [] default_idle+0x2a/0x3d [] cpu_idle+0x57/0x70 Macvlan driver always uses standard ethernet header length for all types of interface to which it is linked. This patch fixes this problem. Reported-by: Cc: Alan Cox Cc: "Rafael J. Wysocki" Cc: "David S. Miller" Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 720017623ab294b66c8a95d7bc5ccf75a581ebe4 Author: Andreas Mohr Date: Wed Jun 10 09:55:04 2009 +0000 e100: add non-MII PHY support Restore support for cards with MII-lacking PHYs as compared to removed pre-2.6.29 eepro100 driver: use full low-level MII I/O access abstraction by providing clean PHY-specific mdio_ctrl() functions for either standard MII-compliant cards, slightly special ones or non-MII PHY ones. We now have another netdev_priv member for mdio_ctrl(), thus we have some array indirection, but we save some additional opcodes for specific phy_82552_v handling in the common case. [akpm@linux-foundation.org: cleanups] Signed-off-by: Andreas Mohr Cc: Jeff Kirsher Cc: Jesse Brandeburg Cc: Bruce Allan Cc: PJ Waskiewicz Cc: John Ronciak Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3f68535adad8dd89499505a65fb25d0e02d118cc Author: john stultz Date: Wed Jan 21 22:53:22 2009 -0700 clocksource: sanity check sysfs clocksource changes Thomas, Andrew and Ingo pointed out that we don't have any safety checks in the clocksource sysfs entries to make sure sysadmins don't try to change the clocksource to a non high-res timer capable clocksource (such as jiffies) when high-res timers (HRT) is enabled. Doing so will likely hang a system. Correct this by filtering non HRT clocksources from available_clocksources and not accepting non HRT clocksources with HRT enabled. Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit e5241c448f94feee40b2a285c8bf55d066420073 Author: David S. Miller Date: Thu Jun 11 02:10:19 2009 -0700 ieee802154: Use '%Zu' printf format for size_t. Signed-off-by: David S. Miller commit d7ed5d883c09c5474f842dcb148515dfaef2a567 Author: Ulrich Dangel Date: Thu Jun 11 00:15:09 2009 -0700 Input: ALPS - handle touchpoints buttons correctly When pressing any button belonging to the touchpoint, the generated click events don't belong to the touchpoint but to the touchpad. This patch fixes this behaviour, the events will be sent via the correct device, so scrolling with touchpoint is possible. Signed-off-by: Ulrich Dangel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 0b346838c5862bfe911432956a106d602535d030 Author: Alek Du Date: Thu Jun 11 02:00:35 2009 -0700 Input: gpio-keys - change timer to workqueue The gpio_get_value function of I2C/SPI GPIO expander may sleep thus this function call can not be called in a timer function. Signed-off-by: Alek Du Signed-off-by: Dmitry Torokhov commit c57c0a2a0d019aa8108f1155f99098ea7e7e1ab3 Author: Michael Roth Date: Wed Jun 10 23:30:55 2009 -0700 Input: ads7846 - pin change interrupt support Some SoCs support only pin change interrupts on GPIO pins used as irq lines. The ads7846 core is not affected from the additional irqs on the rising edge because the code accounts touch bounce anyway by kicking in a timer and disabling the irq after the first request and reenabling the irq after a timeout when there is no longer pen down detected. Signed-off-by: Michael Roth Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 7e3f73754e489e8c7742eaba15b608757b5bbb28 Author: Wan ZongShun Date: Wed Jun 10 23:27:22 2009 -0700 Input: add support for touchscreen on W90P910 ARM platform The touchscreen works in two modes, wait trigger mode and auto-semi mode. The device starts in wait trigger mode and waits until pressure is detected, then device sets WT_INT bit and raises an interrupt. The driver should put the device into auto-semi mode and prepare for reading first X and then Y coordinates. When coordinate data is ready the driver sets ADC_INT bit and raises interrupt again. [dtor@mail.ru: various cleanups] Signed-off-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit 4894e4aca82aca927d0404ce61f021f790de4b1e Merge: 05e882f 07a2039 Author: Dmitry Torokhov Date: Thu Jun 11 01:58:01 2009 -0700 Merge commit 'v2.6.30' into next commit 342dc382c451f75ea202a65e6f529bdff6d184cd Author: yakui_zhao Date: Tue Jun 2 14:12:00 2009 +0800 drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo Use the DRM_DEBUG_KMS/DEBUG_LOG_KMS to print the debug info for SDVO device. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 7fb85bfb54a64e9dd82ee4a79022c38ab58f21a0 Author: yakui_zhao Date: Tue Jun 2 14:10:49 2009 +0800 drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds Use the DRM_DEBUG_KMS macro definition to print the debug info for the LVDS. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 4fefcb27050b98c97b1c32bc710fc2f874449dee Author: yakui_zhao Date: Tue Jun 2 14:09:47 2009 +0800 drm: add separate drm debugging levels Now all the DRM debug info will be reported if the boot option of "drm.debug=1" is added. Sometimes it is inconvenient to get the debug info in KMS mode. We will get too much unrelated info. This will separate several DRM debug levels and the debug level can be used to print the different debug info. And the debug level is controlled by the module parameter of drm.debug In this patch it is divided into four debug levels; drm_core, drm_driver, drm_kms, drm_mode. At the same time we can get the different debug info by changing the debug level. This can be done by adding the module parameter. Of course it can be changed through the /sys/module/drm/parameters/debug after the system is booted. Four debug macro definitions are provided. DRM_DEBUG(fmt, args...) DRM_DEBUG_DRIVER(prefix, fmt, args...) DRM_DEBUG_KMS(prefix, fmt, args...) DRM_DEBUG_MODE(prefix, fmt, args...) When the boot option of "drm.debug=4" is added, it will print the debug info using DRM_DEBUG_KMS macro definition. When the boot option of "drm.debug=6" is added, it will print the debug info using DRM_DEBUG_KMS/DRM_DEBUG_DRIVER. Sometimes we expect to print the value of an array. For example: SDVO command, In such case the following four DRM debug macro definitions are added: DRM_LOG(fmt, args...) DRM_LOG_DRIVER(fmt, args...) DRM_LOG_KMS(fmt, args...) DRM_LOG_MODE(fmt, args...) Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 7780b6a2990e2fbb697bb900e01ca7361943c7da Author: Matt Fleming Date: Thu Jun 11 09:26:43 2009 +0100 sh: Update my email address Use my current email address as my gentoo account will be closed at some point. Signed-off-by: Matt Fleming commit 54ff328b46e58568c4b3350c2fa3223ef862e5a4 Author: Paul Mundt Date: Thu Jun 11 10:33:09 2009 +0300 sh: Tie sparseirq in to Kconfig. Now that the dependent patches are merged, we are ready to enable sparseirq support. This simply adds the Kconfig option, and then converts from the _cpu to the _node allocation routines to follow the upstream sparseirq API changes. Signed-off-by: Paul Mundt commit 84503ddd65e804ccdeedee3f307b40d80ff793e6 Merge: 51611a1 2f0accc Author: David S. Miller Date: Wed Jun 10 23:41:43 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6a1555fdde407dad23b8a119cf5feeb7c6466de9 Author: Paul Mundt Date: Thu Jun 11 09:38:05 2009 +0300 sh: Wire up sys_rt_tgsigqueueinfo. Signed-off-by: Paul Mundt commit 75c936aec050113c12f74581f51779ffc5502a51 Author: Paul Mundt Date: Thu Jun 11 09:33:53 2009 +0300 sh: Fix sys_pwritev() syscall table entry for sh32. There was a typo here that had this as sys_writev() instead of sys_pwritev(), fix this up. sh64 got this right, as did the preadv() case. Signed-off-by: Paul Mundt commit 4c7c99788631bab177bd51e15e893be4689bb085 Author: Aoi Shinkai Date: Wed Jun 10 16:15:42 2009 +0000 sh: Fix sh4a llsc-based cmpxchg() This fixes up a typo in the ll/sc based cmpxchg code which apparently wasn't getting a lot of testing due to the swapped old/new pair. With that fixed up, the ll/sc code also starts using it and provides its own atomic_add_unless(). Signed-off-by: Aoi Shinkai Signed-off-by: Paul Mundt commit f168dd00a9440a6f644db73bda47718fd12008e4 Author: Kuninori Morimoto Date: Wed Jun 10 05:04:32 2009 +0000 sh: sh7724: Add JPU support Signed-off-by: Kuninori Morimoto Acked-by: Magnus Damm Signed-off-by: Paul Mundt commit c5eeff1f8ecbc4bc7c1dd8e97a8610bc4dd3def8 Author: Kuninori Morimoto Date: Mon Jun 8 10:05:12 2009 +0000 sh: sh7724: INTC setting update This patch follows Rev 0.50 manual Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit df4f7fe7bd516b3833e25c692c3970e22038a6ca Author: Dave Airlie Date: Thu Jun 11 16:16:10 2009 +1000 radeon: remove _DRM_DRIVER from the preadded sarea map This shouldn't be there and is what broke r600 late in the 2.6.30 release cycle with Ben's patch. Signed-off-by: Dave Airlie commit 2ff2e8a3e1898e692b604424c384f134009dea80 Author: Ben Skeggs Date: Tue May 26 10:35:52 2009 +1000 drm: don't associate _DRM_DRIVER maps with a master A driver will use the _DRM_DRIVER map flag to indicate that it wants to be responsible for removing the map itself, bypassing the DRM's automagic cleanup code. Since the multi-master changes this has been broken, resulting in some drivers having their registers unmapped before it's finished with them. Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit 46e9371c0eaade8391b3969431a72272b9007158 Author: Magnus Damm Date: Thu Jun 4 07:37:59 2009 +0000 sh: sh7722 clock framework rewrite This patch rewrites the sh7722 clock framework code. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. While at it, now when all SuperH Mobile processors are converted, fix CONFIG_SH_CLK_CPG_LEGACY to depend on CONFIG_ARCH_SHMOBILE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4ed37394842e5f9c0c4ea087e8716d4458d03bfb Author: Magnus Damm Date: Thu Jun 4 07:35:25 2009 +0000 sh: sh7366 clock framework rewrite This patch rewrites the sh7366 clock framework code. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bc49b6eaac6eff86f902a36d846c310e1e0beedf Author: Magnus Damm Date: Thu Jun 4 07:32:11 2009 +0000 sh: sh7343 clock framework rewrite This patch rewrites the sh7343 clock framework code. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b621370a3505f8bd42acc41736cae47d5ce8bd06 Author: Magnus Damm Date: Wed Jun 10 11:31:16 2009 +0000 sh: sh7724 clock framework rewrite V3 This patch contains V3 of the sh7724 clock framework rewrite. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and fll are supported as input clocks to the pll. The div6 clocks are fed through a divide-by-3 block. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c521dc02034df3681394a30b428bf081cfa22253 Author: Magnus Damm Date: Wed Jun 3 08:39:59 2009 +0000 sh: sh7723 clock framework rewrite V2 This patch contains V2 of the sh7723 clock framework rewrite. The new code makes use of the recently merged div4, div6 and mstp32 helper code. Both extal and dll are supported as input clocks to the pll. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 098dee99d14e8324d3793df442d6078d0c134140 Author: Magnus Damm Date: Thu Jun 4 05:31:41 2009 +0000 sh: add enable()/disable()/set_rate() to div6 code This patch updates the div6 clock helper code to add support for enable(), disable() and set_rate() callbacks. Needed by the camera clock enabling board code on Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b798b1fe3b6436275ad1b517a6823d55e3b75c22 Author: Robert P. J. Day Date: Wed Jun 10 12:43:49 2009 -0700 drm: simplify kcalloc() call to kzalloc(). Calls to kcalloc() for a single element can be simplified to calls to kzalloc(). Signed-off-by: Robert P. J. Day Cc: Dave Airlie Cc: Eric Anholt Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 1bcbf3948876e31a8ece28597dec447611ad9c8b Author: Pavel Roskin Date: Wed Jun 10 12:43:48 2009 -0700 intelfb: fix spelling of "CLOCK" Signed-off-by: Pavel Roskin Cc: Eric Anholt Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit dcae3626d031fe6296b1e96a16f986193a41f840 Author: Roel Kluin Date: Wed Jun 10 12:43:48 2009 -0700 drm: fix LOCK_TEST_WITH_RETURN macro When this macro isn't called with 'file_priv' this will result in a build failure. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit c01641b42a88c475fd4b72cff2b10e42262a80fe Author: Magnus Damm Date: Wed Jun 3 08:26:40 2009 +0000 sh: add AP325RXA mode pin configuration This patch adds mode pin configuration to ap325rxa. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ec80fddf1674579d52b5ff94774ba73107cad31 Author: Magnus Damm Date: Wed Jun 3 08:22:50 2009 +0000 sh: add Migo-R mode pin configuration This patch adds mode pin configuration and a machvec structure to Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ed740cb9b7f6eaee7bb45a07ce53ff9e73a92798 Author: Magnus Damm Date: Wed Jun 3 08:18:56 2009 +0000 sh: sh7722 mode pin definitions This patch adds sh7722 mode pin and pin function controller comments. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 36e5b26bdac0ee3791071d240334853ddd7b9790 Author: Magnus Damm Date: Tue Jun 2 10:47:32 2009 +0000 sh: sh7724 mode pin comments This patch adds comments for the sh7724 mode pins and pin function controller. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e4218ef506a2f8b0b5bf1a4b6effcc2f8983f86b Author: Magnus Damm Date: Tue Jun 2 09:45:16 2009 +0000 sh: sh7723 mode pin V2 This patch is sh7723 mode pin V2. Mode pins and pin function controller comments are added. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0d4fdbb64f472ef31195714993f1263f77cf85ca Author: Magnus Damm Date: Tue Jun 2 09:22:02 2009 +0000 sh: rework mode pin code This patch reworks the mode pin code to keep the pin definitions in one place. The mode pins values are now the value of the bit instead of bit number. With this patch in place the sh7785 header file contains mode pin comments. The sh7785 clock code and the sh7785lcr board code are updated to reflect the new shared mode pins. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2693e2740ddae364a80e6083043ba760b6366b69 Author: Magnus Damm Date: Tue Jun 2 08:53:54 2009 +0000 sh: clock div6 helper code This patch adds div6 clock helper code. The div6 clocks are simply 6-bit divide-by-n modules where n is 1 to 64. Needed for vclk on sh7722, sh7723, sh7343 and sh7366. sh7724 needs this even more for vclk, fclka, fclkb, irdaclk and spuclk. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a50de78dc6d21ee074e9561c800d194bec12128b Author: Magnus Damm Date: Tue Jun 2 08:43:59 2009 +0000 sh: clock div4 frequency table offset fix This patch fixes the per clock offset calculation in sh_clk_div4_register(). Without this patch the offset to the frequency table for each clock is incorrect. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit cf9fe114e3b37e14fc8434d5abb192e35df551b1 Merge: c1d0d32 991ec02 Author: Paul Mundt Date: Thu Jun 11 09:01:14 2009 +0300 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 193e98401a89707ea374e9c32c1b9a5a9dd87a48 Author: Greg Ungerer Date: Thu Apr 23 11:24:03 2009 +1000 m68knommu: remove unecessary include of thread_info.h in entry.S Signed-off-by: Greg Ungerer commit 9d4f94135385b565e2ce4a37f71b53d0fd3664e8 Author: Greg Ungerer Date: Thu Jun 11 13:05:00 2009 +1000 m68knommu: enumerate INIT_THREAD fields properly Use proper field value setting init INIT_THREAD macro. Fixes this: arch/m68knommu/kernel/init_task.c:27: warning: excess elements in array initializer arch/m68knommu/kernel/init_task.c:27: warning: (near initialization for ‘init_task.thread.fpstate’) Signed-off-by: Greg Ungerer commit 4f308e35a9bde9d6b671e8409157edb9065f117c Author: Jaswinder Singh Rajput Date: Wed Jun 10 18:47:47 2009 +0530 headers_check fix: m68k, swab.h fix the following 'make headers_check' warnings: usr/include/asm-m68k/swab.h:4: include of is preferred over usr/include/asm-m68k/swab.h:10: found __[us]{8,16,32,64} type without #include Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Ungerer commit 308e610e8c435d7875842b427dbc99de43a4aec9 Author: Joe Perches Date: Fri May 15 10:59:37 2009 -0700 arch/m68knommu: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug( Signed-off-by: Joe Perches Signed-off-by: Greg Ungerer commit fb29ad7949aeed3d464ba8d2c9772835f456d4c4 Author: Greg Ungerer Date: Fri May 1 16:09:17 2009 +1000 m68knommu: remove obsolete reset code All ColdFire and non-MMU 68k code has custom reset routines. Remove the obsolete and now un-used reset macros. Signed-off-by: Greg Ungerer commit 05728aec8b05ec3fa859add8b22ba46432611e9e Author: Greg Ungerer Date: Thu Apr 30 23:32:52 2009 +1000 m68knommu: move CPU reset code for the 5272 ColdFire into its platform code Signed-off-by: Greg Ungerer commit dd65b1de553ddfd85e8fea9d3aa9db7479ccf2aa Author: Greg Ungerer Date: Thu Apr 30 23:15:56 2009 +1000 m68knommu: move CPU reset code for the 528x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 4c0b008d49e728735f54419e60446480017bfe1b Author: Greg Ungerer Date: Thu Apr 30 23:06:45 2009 +1000 m68knommu: move CPU reset code for the 527x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 55b33f316d25c1ffb13a65de7f846b950b5ef5a6 Author: Greg Ungerer Date: Thu Apr 30 22:58:35 2009 +1000 m68knommu: move CPU reset code for the 523x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 25ce4a908abebf8c7d2e89908d36050e1de9cbec Author: Greg Ungerer Date: Thu Apr 30 22:39:50 2009 +1000 m68knommu: move CPU reset code for the 520x ColdFire into its platform code Signed-off-by: Greg Ungerer commit 384feb91319766298c6358f23f54873d44c9d8cb Author: Greg Ungerer Date: Thu Apr 30 22:03:43 2009 +1000 m68knommu: add CPU reset code for the 532x ColdFire Signed-off-by: Greg Ungerer commit 6f5aa7ce38dfb9c04eecac1222fc4b2521f02b83 Author: Greg Ungerer Date: Thu Apr 30 17:31:19 2009 +1000 m68knommu: add CPU reset code for the 5249 ColdFire Signed-off-by: Greg Ungerer commit b61a7260ff70d10ca27edcc74535af0d46a277fa Author: Greg Ungerer Date: Thu Apr 30 17:22:56 2009 +1000 m68knommu: add CPU reset code for the 5206e ColdFire Signed-off-by: Greg Ungerer commit 851377bca613175473b6dafd6c7d1bfbcf24efe2 Author: Greg Ungerer Date: Thu Apr 30 17:22:05 2009 +1000 m68knommu: add CPU reset code for the 5206 ColdFire Signed-off-by: Greg Ungerer commit eb7c874d5c81dae6d7b80857e9f0dab1a5d05ebd Author: Greg Ungerer Date: Thu Apr 30 17:15:18 2009 +1000 m68knommu: add CPU reset code for the 5407 ColdFire Signed-off-by: Greg Ungerer commit c18e52c7696e39c7cb23cd083bbda5652c338b79 Author: Greg Ungerer Date: Thu Apr 30 17:03:09 2009 +1000 m68knommu: add CPU reset code for the 5307 ColdFire Signed-off-by: Greg Ungerer commit 293ca0f75415dd8373c716bf9755569daca7ba5d Author: Greg Ungerer Date: Tue Apr 28 16:56:03 2009 +1000 m68knommu: merge system reset for code ColdFire 523x family The sofwtare reset control code for the 523x ColdFire family uses the same Reset unit hardware as the 527x and 528x ColdFire parts. So they should all use the same code. Merge them. Signed-off-by: Greg Ungerer commit 7f72b47cedd1efc301576ff1050ec0a26c57eb48 Author: Greg Ungerer Date: Tue Apr 28 14:13:21 2009 +1000 m68knommu: fix system reset for ColdFire 527x family The sofwtare reset control for the 527x ColdFire family is based on the same Reset Control Unit as the 528x ColdFire family. So use the same reset code for both. Signed-off-by: Greg Ungerer commit 991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d Merge: 8623661 84047e3 Author: Linus Torvalds Date: Wed Jun 10 19:58:10 2009 -0700 Merge branch 'tracing-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: function-graph: always initialize task ret_stack function-graph: move initialization of new tasks up in fork function-graph: add memory barriers for accessing task's ret_stack function-graph: enable the stack after initialization of other variables function-graph: only allocate init tasks if it was not already done Manually fix trivial conflict in kernel/trace/ftrace.c commit 862366118026a358882eefc70238dbcc3db37aac Merge: 57eee9a 511b01b Author: Linus Torvalds Date: Wed Jun 10 19:53:40 2009 -0700 Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (244 commits) Revert "x86, bts: reenable ptrace branch trace support" tracing: do not translate event helper macros in print format ftrace/documentation: fix typo in function grapher name tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK tracing: add protection around module events unload tracing: add trace_seq_vprint interface tracing: fix the block trace points print size tracing/events: convert block trace points to TRACE_EVENT() ring-buffer: fix ret in rb_add_time_stamp ring-buffer: pass in lockdep class key for reader_lock tracing: add annotation to what type of stack trace is recorded tracing: fix multiple use of __print_flags and __print_symbolic tracing/events: fix output format of user stack tracing/events: fix output format of kernel stack tracing/trace_stack: fix the number of entries in the header ring-buffer: discard timestamps that are at the start of the buffer ring-buffer: try to discard unneeded timestamps ring-buffer: fix bug in ring_buffer_discard_commit ftrace: do not profile functions when disabled tracing: make trace pipe recognize latency format flag ... commit 57eee9ae7bbcfb692dc96c739a5184adb6349733 Merge: 8f40642 7e4e0bd Author: Linus Torvalds Date: Wed Jun 10 19:51:10 2009 -0700 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile: introduce module_param oprofile.cpu_type oprofile: add support for Core i7 and Atom oprofile: remove undocumented oprofile.p4force option oprofile: re-add force_arch_perfmon option commit 8f40642ad315c553bab4ae800766ade07e574a77 Merge: 20f3f3c 12d1611 Author: Linus Torvalds Date: Wed Jun 10 19:50:52 2009 -0700 Merge branch 'signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'signal-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: hookup sys_rt_tgsigqueueinfo signals: implement sys_rt_tgsigqueueinfo signals: split do_tkill commit 20f3f3ca499d2c211771ba552685398b65d83859 Merge: 769f3e8 41c51c9 Author: Linus Torvalds Date: Wed Jun 10 19:50:03 2009 -0700 Merge branch 'rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: rcu_sched_grace_period(): kill the bogus flush_signals() rculist: use list_entry_rcu in places where it's appropriate rculist.h: introduce list_entry_rcu() and list_first_entry_rcu() rcu: Update RCU tracing documentation for __rcu_pending rcu: Add __rcu_pending tracing to hierarchical RCU RCU: make treercu be default commit 73fbad283cfbbcf02939bdbda31fc4a30e729cca Merge: 769f3e8 35f2c2f Author: James Morris Date: Thu Jun 11 11:03:14 2009 +1000 Merge branch 'next' into for-linus commit 955f2d966534803ec32411086a1698170f17f962 Author: Daniel Mack Date: Wed Jun 10 21:32:01 2009 +0200 ALSA: snd_usb_caiaq: set mixername alsamixer and friends want the mixername to be set. Even though the driver does not exports a real mixer device, export the name doesn't harm. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 9e350de37ac9607012fcf9c5314a28fbddf8f43c Author: Peter Zijlstra Date: Wed Jun 10 21:34:59 2009 +0200 perf_counter: Accurate period data We currently log hw.sample_period for PERF_SAMPLE_PERIOD, however this is incorrect. When we adjust the period, it will only take effect the next cycle but report it for the current cycle. So when we adjust the period for every cycle, we're always wrong. Solve this by keeping track of the last_period. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit df1a132bf3d3508f863336c80a27806a2ac947e0 Author: Peter Zijlstra Date: Wed Jun 10 21:02:22 2009 +0200 perf_counter: Introduce struct for sample data For easy extension of the sample data, put it in a structure. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ea1900e571d40a3ce60c835c2f21e1fd8c5cb663 Author: Peter Zijlstra Date: Wed Jun 10 21:45:22 2009 +0200 perf_counter tools: Normalize data using per sample period data When we use variable period sampling, add the period to the sample data and use that to normalize the samples. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 66fff22483d8542dfb4d61a28d21277bbde321e8 Author: Peter Zijlstra Date: Wed Jun 10 22:53:37 2009 +0200 perf_counter: Annotate exit ctx recursion Ever since Paul fixed it to unclone the context before taking the ctx->lock this became a false positive, annotate it away. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit fd0fb038d5a308c7faddd1701be5e70aaffec98b Author: Shin Hong Date: Wed Jun 10 20:11:29 2009 -0400 Btrfs: init worker struct fields before kthread-run This patch fixes a bug which may result race condition between btrfs_start_workers() and worker_loop(). btrfs_start_workers() executed in a parent thread writes on workers->worker and worker_loop() in a child thread reads workers->worker. However, there is no synchronization enforcing the order of two operations. This patch makes btrfs_start_workers() fill workers->worker before it starts a child thread with worker_loop() Signed-off-by: Chris Mason commit 769f3e8c384795cc350e2aae27de2a12374d19d4 Merge: c0d2545 0c8b946 Author: Linus Torvalds Date: Wed Jun 10 16:21:16 2009 -0700 Merge branch 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: vsprintf: introduce %pf format specifier printk: add support of hh length modifier for printk commit c0d254504fdaeb0878b8415295e365ebb78684f8 Merge: e7241d7 e1b9aa3 Author: Linus Torvalds Date: Wed Jun 10 16:20:30 2009 -0700 Merge branch 'percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: percpu: remove rbtree and use page->index instead percpu: don't put the first chunk in reverse-map rbtree commit e7241d771419b8a8671ebc46a043c324ccb0dcf7 Merge: 3f6280d 04dce7d Author: Linus Torvalds Date: Wed Jun 10 16:19:40 2009 -0700 Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: spinlock: Add missing __raw_spin_lock_flags() stub for UP mutex: add atomic_dec_and_mutex_lock(), fix locking, rtmutex.c: Documentation cleanup mutex: add atomic_dec_and_mutex_lock() commit 3f6280ddf25fa656d0e17960588e52bee48a7547 Merge: 7506360 92db1e6 Author: Linus Torvalds Date: Wed Jun 10 16:19:14 2009 -0700 Merge branch 'iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (61 commits) amd-iommu: remove unnecessary "AMD IOMMU: " prefix amd-iommu: detach device explicitly before attaching it to a new domain amd-iommu: remove BUS_NOTIFY_BOUND_DRIVER handling dma-debug: simplify logic in driver_filter() dma-debug: disable/enable irqs only once in device_dma_allocations dma-debug: use pr_* instead of printk(KERN_* ...) dma-debug: code style fixes dma-debug: comment style fixes dma-debug: change hash_bucket_find from first-fit to best-fit x86: enable GART-IOMMU only after setting up protection methods amd_iommu: fix lock imbalance dma-debug: add documentation for the driver filter dma-debug: add dma_debug_driver kernel command line dma-debug: add debugfs file for driver filter dma-debug: add variables and checks for driver filter dma-debug: fix debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device dma-debug: use sg_dma_len accessor dma-debug: use sg_dma_address accessor instead of using dma_address directly amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS amd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS ... commit 75063600fd7b27fe447112c27997f100b9e2f99b Merge: be15f9d 2070887 Author: Linus Torvalds Date: Wed Jun 10 16:16:48 2009 -0700 Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: fix restart in wait_requeue_pi futex: fix restart for early wakeup in futex_wait_requeue_pi() futex: cleanup error exit futex: remove the wait queue futex: add requeue-pi documentation futex: remove FUTEX_REQUEUE_PI (non CMP) futex: fix futex_wait_setup key handling sparc64: extend TI_RESTART_BLOCK space by 8 bytes futex: fixup unlocked requeue pi case futex: add requeue_pi functionality futex: split out futex value validation code futex: distangle futex_requeue() futex: add FUTEX_HAS_TIMEOUT flag to restart.futex.flags rt_mutex: add proxy lock routines futex: split out fixup owner logic from futex_lock_pi() futex: split out atomic logic from futex_lock_pi() futex: add helper to find the top prio waiter of a futex futex: separate futex_wait_queue_me() logic from futex_wait() commit be15f9d63b97da0065187696962331de6cd9de9e Merge: 595dc54 a789ed5 Author: Linus Torvalds Date: Wed Jun 10 16:16:27 2009 -0700 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits) xen: cache cr0 value to avoid trap'n'emulate for read_cr0 xen/x86-64: clean up warnings about IST-using traps xen/x86-64: fix breakpoints and hardware watchpoints xen: reserve Xen start_info rather than e820 reserving xen: add FIX_TEXT_POKE to fixmap lguest: update lazy mmu changes to match lguest's use of kvm hypercalls xen: honour VCPU availability on boot xen: add "capabilities" file xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet xen/sys/hypervisor: change writable_pt to features xen: add /sys/hypervisor support xen/xenbus: export xenbus_dev_changed xen: use device model for suspending xenbus devices xen: remove suspend_cancel hook xen/dev-evtchn: clean up locking in evtchn xen: export ioctl headers to userspace xen: add /dev/xen/evtchn driver xen: add irq_from_evtchn xen: clean up gate trap/interrupt constants xen: set _PAGE_NX in __supported_pte_mask before pagetable construction ... commit 595dc54a1da91408a52c4b962f3deeb1109aaca0 Merge: 9b29e82 7d96fd4 Author: Linus Torvalds Date: Wed Jun 10 16:15:59 2009 -0700 Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: move rdtsc_barrier() into the TSC vread method commit 9b29e8228a5c2a169436a1a90a60b1f88cb35cd1 Merge: bec7068 0b8c3d5 Author: Linus Torvalds Date: Wed Jun 10 16:15:14 2009 -0700 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Clear TS in irq_ts_save() when in an atomic section x86: Detect use of extended APIC ID for AMD CPUs x86: memtest: remove 64-bit division x86, UV: Fix macros for multiple coherency domains x86: Fix non-lazy GS handling in sys_vm86() x86: Add quirk for reboot stalls on a Dell Optiplex 360 x86: Fix UV BAU activation descriptor init commit bec706838ec2f9c8c2b99e88a1270d7cba159b06 Merge: bb77629 ee07366 Author: Linus Torvalds Date: Wed Jun 10 16:14:41 2009 -0700 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, setup: fix comment in the "glove box" code x86, setup: "glove box" BIOS interrupts in the video code x86, setup: "glove box" BIOS interrupts in the MCA code x86, setup: "glove box" BIOS interrupts in the EDD code x86, setup: "glove box" BIOS interrupts in the APM code x86, setup: "glove box" BIOS interrupts in the core boot code x86, setup: "glove box" BIOS calls -- infrastructure commit bb7762961d3ce745688e9050e914c1d3f980268d Merge: 48c72d1 35d5a9a Author: Linus Torvalds Date: Wed Jun 10 16:13:20 2009 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits) x86: fix system without memory on node0 x86, mm: Fix node_possible_map logic mm, x86: remove MEMORY_HOTPLUG_RESERVE related code x86: make sparse mem work in non-NUMA mode x86: process.c, remove useless headers x86: merge process.c a bit x86: use sparse_memory_present_with_active_regions() on UMA x86: unify 64-bit UMA and NUMA paging_init() x86: Allow 1MB of slack between the e820 map and SRAT, not 4GB x86: Sanity check the e820 against the SRAT table using e820 map only x86: clean up and and print out initial max_pfn_mapped x86/pci: remove rounding quirk from e820_setup_gap() x86, e820, pci: reserve extra free space near end of RAM x86: fix typo in address space documentation x86: 46 bit physical address support on 64 bits x86, mm: fault.c, use printk_once() in is_errata93() x86: move per-cpu mmu_gathers to mm/init.c x86: move max_pfn_mapped and max_low_pfn_mapped to setup.c x86: unify noexec handling x86: remove (null) in /sys kernel_page_tables ... commit 48c72d1ab4ec86789a23aed0b0b5f31ac083c0c6 Merge: 5301e0d aeef50b Author: Linus Torvalds Date: Wed Jun 10 16:13:06 2009 -0700 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, microcode: Simplify vfree() use x86: microcode: use smp_call_function_single instead of set_cpus_allowed, cleanup of synchronization logic commit 5301e0de34a29625c06b8eef115c1a9b4c1f72b1 Merge: c44e3ed 4ecf458 Author: Linus Torvalds Date: Wed Jun 10 15:55:04 2009 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86_64: fix incorrect comments x86: unify restore_fpu_checking x86_32: introduce restore_fpu_checking() commit c44e3ed539e4fc17d6bcb5eaecb894a94de4cc5f Merge: 7dc3ca3 5095f59 Author: Linus Torvalds Date: Wed Jun 10 15:51:15 2009 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: cpu_debug: Remove model information to reduce encoding-decoding x86: fixup numa_node information for AMD CPU northbridge functions x86: k8 convert node_to_k8_nb_misc() from a macro to an inline function x86: cacheinfo: complete L2/L3 Cache and TLB associativity field definitions x86/docs: add description for cache_disable sysfs interface x86: cacheinfo: disable L3 ECC scrubbing when L3 cache index is disabled x86: cacheinfo: replace sysfs interface for cache_disable feature x86: cacheinfo: use cached K8 NB_MISC devices instead of scanning for it x86: cacheinfo: correct return value when cache_disable feature is not active x86: cacheinfo: use L3 cache index disable feature only for CPUs that support it commit 7dc3ca39cb1e22eedbf1207ff9ac7bf682fc0f6d Merge: aa98936 a4046f8 Author: Linus Torvalds Date: Wed Jun 10 15:49:36 2009 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, nmi: Use predefined numbers instead of hardcoded one x86: asm/processor.h: remove double declaration x86, mtrr: replace MTRRdefType_MSR with msr-index's MSR_MTRRdefType x86, mtrr: replace MTRRfix4K_C0000_MSR with msr-index's MSR_MTRRfix4K_C0000 x86, mtrr: remove mtrr MSRs double declaration x86, mtrr: replace MTRRfix16K_80000_MSR with msr-index's MSR_MTRRfix16K_80000 x86, mtrr: replace MTRRfix64K_00000_MSR with msr-index's MSR_MTRRfix64K_00000 x86, mtrr: replace MTRRcap_MSR with msr-index's MSR_MTRRcap x86: mce: remove duplicated #include x86: msr-index.h remove duplicate MSR C001_0015 declaration x86: clean up arch/x86/kernel/tsc_sync.c a bit x86: use symbolic name for VM86_SIGNAL when used as vm86 default return x86: added 'ifndef _ASM_X86_IOMAP_H' to iomap.h x86: avoid multiple declaration of kstack_depth_to_print x86: vdso/vma.c declare vdso_enabled and arch_setup_additional_pages before they get used x86: clean up declarations and variables x86: apic/x2apic_cluster.c x86_cpu_to_logical_apicid should be static x86 early quirks: eliminate unused function commit aa98936e4f423dc2706771368598b04870059d14 Merge: 082b63a 0c23590 Author: Linus Torvalds Date: Wed Jun 10 15:49:10 2009 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, 64-bit: ifdef out struct thread_struct::ip x86, 32-bit: ifdef out struct thread_struct::fs x86: clean up alternative.h commit 082b63ae45e7d14e15995dedd782ec7344596fb2 Merge: 99e97b8 50fa610 Author: Linus Torvalds Date: Wed Jun 10 15:48:53 2009 -0700 Merge branch 'sched-docs-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-docs-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Document memory barriers implied by sleep/wake-up primitives commit 99e97b860e14c64760855198e91d1166697131a7 Merge: 82782ca f04d82b Author: Linus Torvalds Date: Wed Jun 10 15:32:59 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix typo in sched-rt-group.txt file ftrace: fix typo about map of kernel priority in ftrace.txt file. sched: properly define the sched_group::cpumask and sched_domain::span fields sched, timers: cleanup avenrun users sched, timers: move calc_load() to scheduler sched: Don't export sched_mc_power_savings on multi-socket single core system sched: emit thread info flags with stack trace sched: rt: document the risk of small values in the bandwidth settings sched: Replace first_cpu() with cpumask_first() in ILB nomination code sched: remove extra call overhead for schedule() sched: use group_first_cpu() instead of cpumask_first(sched_group_cpus()) wait: don't use __wake_up_common() sched: Nominate a power-efficient ilb in select_nohz_balancer() sched: Nominate idle load balancer from a semi-idle package. sched: remove redundant hierarchy walk in check_preempt_wakeup commit 511b01bdf64ad8a38414096eab283c7784aebfc4 Author: Ingo Molnar Date: Thu Jun 11 00:32:00 2009 +0200 Revert "x86, bts: reenable ptrace branch trace support" This reverts commit 7e0bfad24d85de7cf2202a7b0ce51de11a077b21. A late objection to the ABI has arrived: http://lkml.org/lkml/2009/6/10/253 Keep the ABI disabled out of caution, to not create premature user-space expectations. While the hw-branch-tracing variant uses and tests the BTS code. Cc: Peter Zijlstra Cc: Markus Metzger Cc: Oleg Nesterov Signed-off-by: Ingo Molnar commit 82782ca77d1bfb32b0334cce40a25b91bd8ec016 Merge: f0d5e12 6799687 Author: Linus Torvalds Date: Wed Jun 10 15:30:41 2009 -0700 Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (46 commits) x86, boot: add new generated files to the appropriate .gitignore files x86, boot: correct the calculation of ZO_INIT_SIZE x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN x86, boot: correct sanity checks in boot/compressed/misc.c x86: add extension fields for bootloader type and version x86, defconfig: update kernel position parameters x86, defconfig: update to current, no material changes x86: make CONFIG_RELOCATABLE the default x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB x86: document new bzImage fields x86, boot: make kernel_alignment adjustable; new bzImage fields x86, boot: remove dead code from boot/compressed/head_*.S x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits x86, boot: make symbols from the main vmlinux available x86, boot: determine compressed code offset at compile time x86, boot: use appropriate rep string for move and clear x86, boot: zero EFLAGS on 32 bits x86, boot: set up the decompression stack as early as possible x86, boot: straighten out ranges to copy/zero in compressed/head*.S x86, boot: stylistic cleanups for boot/compressed/head_64.S ... Fixed trivial conflict in arch/x86/configs/x86_64_defconfig manually commit f0d5e12bd42b7173ebbbf59279c867605f859814 Merge: 0fea615 103428e Author: Linus Torvalds Date: Wed Jun 10 15:25:41 2009 -0700 Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits) x86, apic: Fix dummy apic read operation together with broken MP handling x86, apic: Restore irqs on fail paths x86: Print real IOAPIC version for x86-64 x86: enable_update_mptable should be a macro sparseirq: Allow early irq_desc allocation x86, io-apic: Don't mark pin_programmed early x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled x86, irq: update_mptable needs pci_routeirq x86: don't call read_apic_id if !cpu_has_apic x86, apic: introduce io_apic_irq_attr x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector(), fix x86: read apic ID in the !acpi_lapic case x86: apic: Fixmap apic address even if apic disabled x86: display extended apic registers with print_local_APIC and cpu_debug code x86: read apic ID in the !acpi_lapic case x86: clean up and fix setup_clear/force_cpu_cap handling x86: apic: Check rev 3 fadt correctly for physical_apic bit x86/pci: update pirq_enable_irq() to setup io apic routing x86/acpi: move setup io apic routing out of CONFIG_ACPI scope x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector() ... commit 0fea615e526b4b7eff0363ee02d5753e5f924089 Author: Harald Welte Date: Mon Jun 8 18:29:36 2009 +0800 CPUFREQ: Mark e_powersaver driver as EXPERIMENTAL and DANGEROUS The e_powersaver driver for VIA's C7 CPU's needs to be marked as DANGEROUS as it configures the CPU to power states that are out of specification. According to Centaur, all systems with C7 and Nano CPU's support the ACPI p-state method. Thus, the acpi-cpufreq driver should be used instead. Signed-off-by: Harald Welte Signed-off-by: Linus Torvalds commit 0de51088e6a82bc8413d3ca9e28bbca2788b5b53 Author: Harald Welte Date: Mon Jun 8 18:27:54 2009 +0800 CPUFREQ: Enable acpi-cpufreq driver for VIA/Centaur CPUs The VIA/Centaur C7, C7-M and Nano CPU's all support ACPI based cpu p-states using a MSR interface. The Linux driver just never made use of it, since in addition to the check for the EST flag it also checked if the vendor is Intel. Signed-off-by: Harald Welte [ Removed the vendor checks entirely - Linus ] Signed-off-by: Linus Torvalds commit 4e73e0eb633f8a1b5cbf20e7f42c6dbfec1d1ca7 Merge: 4156e73 07a2039 Author: Felix Blyakher Date: Wed Jun 10 17:07:47 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 0aacfe1d239952a87c17e38e12df94c4ea979839 Author: Russell King Date: Mon Jun 1 18:17:53 2009 +0100 [ARM] Make ARM_VIC_NR depend on ARM_VIC Signed-off-by: Russell King commit 547c32aeb5a24178ef20488ae0508efcc32ae8e4 Merge: b0efb42 99ae995 Author: Russell King Date: Wed Jun 10 22:40:55 2009 +0100 Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into devel commit b0efb42478c81ed0ed9aa0dc444db200c32624f0 Merge: bd78512 4070243 Author: Russell King Date: Wed Jun 10 22:40:04 2009 +0100 Merge branch 'ep93xx' into devel commit bd78512e5c0d202847ee3dba2fc3740676e196c7 Merge: b43d65f 6d36110 Author: Russell King Date: Wed Jun 10 22:39:58 2009 +0100 Merge branch 'at91' into devel commit b43d65f7e818485664037a46367cfb15af05bd8c Author: Linus Walleij Date: Tue Jun 9 08:11:42 2009 +0100 [ARM] 5546/1: ARM PL022 SSP/SPI driver v3 This adds a driver for the ARM PL022 PrimeCell SSP/SPI driver found in the U300 platforms as well as in some ARM reference hardware, and in a modified version on the Nomadik board. Reviewed-by: Alessandro Rubini Reviewed-by: Russell King Reviewed-by: Baruch Siach Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 1ee73784b656386a8c4c261282716c3b9019aea0 Merge: 7698fde b549561 Author: Russell King Date: Wed Jun 10 22:38:27 2009 +0100 Merge branch 'for_rmk' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into devel commit 5e50b9ef975219304cc91d601530994861585bfe Author: Ondrej Zary Date: Wed Jun 10 12:57:09 2009 -0700 floppy: fix hibernation Based on Ingo Molnar's patch from 2006, this makes the floppy work after resume from hibernation, at least on my machine. This fix resets the floppy controller on resume. It was experimentally determined to bring the controller back to life - we don't really know why it works. floppy_init() does the same thing at boot/modprobe time. Signed-off-by: Ondrej Zary Cc: "Rafael J. Wysocki" Cc: Ingo Molnar Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 1adbee50fd6fce5af4feb34d2db93cfe4d2066a4 Author: Robert P. J. Day Date: Wed Jun 10 12:57:08 2009 -0700 ramdisk: remove long-deprecated "ramdisk=" boot-time parameter The "ramdisk" parameter was removed from the defunct rd.c file quite some time ago, in favour of the more specific "ramdisk_size" parameter so, for consistency, the same should be done here. Signed-off-by: Robert P. J. Day Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 0e0c62123b517d2b3c26922342c0cc5bb63a93f8 Author: Michal Simek Date: Wed Jun 10 12:57:07 2009 -0700 fs/bio.c: add missing __user annotation As reported by sparse: fs/bio.c:720:13: warning: incorrect type in assignment (different address spaces) fs/bio.c:720:13: expected char *iov_addr fs/bio.c:720:13: got void [noderef] * fs/bio.c:724:36: warning: incorrect type in argument 2 (different address spaces) fs/bio.c:724:36: expected void const [noderef] *from fs/bio.c:724:36: got char *iov_addr Signed-off-by: Michal Simek Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit d9c7d394a8ebacb60097b192939ae9f15235225e Author: Nikanth Karthikesan Date: Wed Jun 10 12:57:06 2009 -0700 block: prevent possible io_context->refcount overflow Currently io_context has an atomic_t(32-bit) as refcount. In the case of cfq, for each device against whcih a task does I/O, a reference to the io_context would be taken. And when there are multiple process sharing io_contexts(CLONE_IO) would also have a reference to the same io_context. Theoretically the possible maximum number of processes sharing the same io_context + the number of disks/cfq_data referring to the same io_context can overflow the 32-bit counter on a very high-end machine. Even though it is an improbable case, let us make it atomic_long_t. Signed-off-by: Nikanth Karthikesan Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 4eedeb75e7f15ffdb12d1ad559b565e7505bdbaf Author: Hisashi Hifumi Date: Wed Jun 10 15:28:55 2009 -0400 Btrfs: pin buffers during write_dev_supers write_dev_supers is called in sequence. First is it called with wait == 0, which starts IO on all of the super blocks for a given device. Then it is called with wait == 1 to make sure they all reach the disk. It doesn't currently pin the buffers between the two calls, and it also assumes the buffers won't go away between the two calls, leading to an oops if the VM manages to free the buffers in the middle of the sync. This fixes that assumption and updates the code to return an error if things are not up to date when the wait == 1 run is done. Signed-off-by: Hisashi Hifumi Signed-off-by: Chris Mason commit e5e9a5206a171b2c467e494aebcdcf70c47289bc Author: Chris Mason Date: Wed Jun 10 15:17:02 2009 -0400 Btrfs: avoid races between super writeout and device list updates On multi-device filesystems, btrfs writes supers to all of the devices before considering a sync complete. There wasn't any additional locking between super writeout and the device list management code because device management was done inside a transaction and super writeout only happened with no transation writers running. With the btrfs fsync log and other async transaction updates, this has been racey for some time. This adds a mutex to protect the device list. The existing volume mutex could not be reused due to transaction lock ordering requirements. Signed-off-by: Chris Mason commit 61b6bc525a34931bb73e4c95bfe009cd9572a288 Author: Jeff Layton Date: Wed Jun 10 10:04:58 2009 -0400 cifs: remove never-used in6_addr option This option was never used to my knowledge. Remove it before someone does... Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 6ff9a64d2aaa6eae396adc95e9c91c0cbfa6dbe4 Author: Steven Rostedt Date: Wed Jun 10 14:28:34 2009 -0400 tracing: do not translate event helper macros in print format By moving the macro that creates the print format code above the defining of the event macro helpers (__get_str, __print_symbolic, and __get_dynamic_array), we get a little cleaner print format. Instead of: (char *)((void *)REC + REC->__data_loc_name) we get: __get_str(name) Instead of: ({ static const struct trace_print_flags symbols[] = { { HI_SOFTIRQ, "HI" }, { we get: __print_symbolic(REC->vec, { HI_SOFTIRQ, "HI" }, { Signed-off-by: Steven Rostedt commit a41f20716975910d9beb90b7efc61107901492b8 Author: Aneesh Kumar K.V Date: Wed Jun 10 14:22:55 2009 -0400 ext4: Avoid corrupting the uninitialized bit in the extent during truncate The unitialized bit was not properly getting preserved in in an extent which is partially truncated because the it was geting set to the value of the first extent to be removed or truncated as part of the truncate operation, and if there are multiple extents are getting removed or modified as part of the truncate operation, it is only the last extent which will might be partially truncated, and its uninitalized bit is not necessarily the same as the first extent to be truncated. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit a5c0f88678cd2fb1f649f7d366d756f2b2f97f0c Author: Simos Xenitellis Date: Wed Jun 10 16:33:31 2009 +0100 ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205) A quirk is required for 8086:284b (rev 03) [Subsystem: 161f:2073]. The following has been tested with Alsa 1.0.20 (git master). Background details can be found at https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4561 http://forum.ubuntu-gr.org/viewtopic.php?f=38&t=5290 Tested-by: Theodora Iliopoulou Signed-off-by: Simos Xenitellis Signed-off-by: Takashi Iwai commit 1f3fff7bda95b75a6be5a02c2a6902573d8c18e6 Author: Kay Sievers Date: Wed Jun 10 19:50:33 2009 +0200 ALSA: use card device as parent for jack input-devices This moves the jack devices from the PCI device into the ALSA card device, which makes it easier for userspace to find all devices belonging to a specific card while granting access to logged-in users. Jack input devices from sound cards can now simply be matched with udev by doing: SUBSYSTEM="input", SUBSYSTEMS="sound", ... ls -l /sys/devices/pci0000:00/0000:00:1b.0/sound/card0 controlC0 device -> ../../../0000:00:1b.0 id input10 input11 input8 input9 number pcmC0D0c pcmC0D0p pcmC0D1p power subsystem -> ../../../../../class/sound uevent Cc: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Takashi Iwai commit 2f0accc13520b2644b85f80aedce10d10d88b0ca Author: Johannes Berg Date: Wed Jun 10 16:50:29 2009 +0200 cfg80211: fix rfkill locking problem rfkill currently requires a global lock within the rfkill_register() function, and holds that lock over calls to the set_block() methods. This means that we cannot hold a lock around rfkill_register() that we also require in set_block(), directly or indirectly. Fix cfg80211 to register rfkill outside the block locked by its global lock. Much of what cfg80211 does in the locked block doesn't need to be locked anyway. Reported-by: Vasanthakumar Thiagarajan Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4e751843d406a4d0471c207872b9e24957de8357 Author: Johannes Berg Date: Wed Jun 10 15:16:52 2009 +0200 mac80211: disable PS while probing AP When associated, but probing the AP because we detected beacon loss, we need to disable powersave to be able to receive the probe response. Change the code to do that by checking whether we're trying to probe when determining the possibility of going into PS, and recalculate the PS ability at the necessary spots. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 43f7853180ed522944b3b1d4979cdb9f2b103ca3 Author: Luis R. Rodriguez Date: Wed Jun 10 15:16:15 2009 +0200 mac80211: disable moving between PS modes during scan We don't want to trigger moving between PS mode during scan, because then we will sometimes end up sending nullfunc frames during scan. We're supposed to only send one prior to scan and after scan. This fixes an oops which occured due to an assert in ath9k: http://marc.info/?l=linux-wireless&m=124277331319024 The assert was happening because the rate control algorithm figures it should find at least one valid dual stream or single stream rate. Since we allow mac80211 to send nullfunc frames during scan and dynamic PS was enabled at times we ended up trying to send nullfunc frames for the target sta on the wrong band for which we have no valid rate to communicate with it. This breaks the assumptions in rate control. We determine we also need to disable moving between PS modes when not associated so lets just add that now as well, and we should not have a ps_sdata when that interface cannot actually go into PS because it's not associated. Signed-off-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a6ae0716e5c3b5f9dbe5ed8f473a6c7b89692365 Author: Bob Copeland Date: Tue Jun 9 23:43:11 2009 -0400 ath5k: minor rfkill cleanup Always enable rfkill since the ifdefs in the code is not really worth the Kconfig option. Also fix a few code style things, and remove the usage of the ah_gpio[] array so we can remove it later. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 27004b10ce56985d8a010ce966af179f1b34193f Author: Johannes Berg Date: Tue Jun 9 19:48:25 2009 +0200 mac80211: clean up return value of __ieee80211_parse_tx_radiotap The return type has more than two values, but it can validly only ever return TX_DROP and TX_CONTINUE, so use a bool instead of ieee80211_tx_result. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0bffe40f21e2ddc5215b1faec4e8dbbc215e7d4d Author: Johannes Berg Date: Tue Jun 9 16:18:32 2009 +0200 mac80211: don't use master netdev name Always use the wiphy name instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5eae6592e9bdc989151171828ee97e0ad9e1b1ac Author: Vasanthakumar Thiagarajan Date: Tue Jun 9 15:28:21 2009 +0530 ath9k: Fix tx stuck when connected to aggr disabled HT AP This patch along with my previous patch in mac80211 "Fix the way ADDBA count..", fixes hang in tx when connected to an HT AP which rejects/times out on addba req. AGGR_ADDBA_PROGRESS should be cleared in aggr state when addba negotiation is terminated due to either addba response is timed out or addba is denied by the AP. With out clearing this bit, all frames are queued onto s/w queue for getting tx'd as aggr and will never be scheduled onto hw queue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 736708bd04b7a8941fddda32211982cab5d14431 Author: Vasanthakumar Thiagarajan Date: Tue Jun 9 14:11:46 2009 +0530 mac80211: Fix the way ADDBA request count being modified addba_req_num[tid] is supposed to have the count of consecutive addba request attempts on 'tid' which failed. This count is checked against a retry threshold (3 times) before starting the addba negotiation. This patch fixes the way this addba count is incremented/reset and thereby avoids indefinite addba attempts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 558f6d3229ddb9f11ca4ffee0439046c283882ff Author: Luis R. Rodriguez Date: Mon Jun 8 18:54:37 2009 -0700 cfg80211: fix for duplicate response for driver reg request As Pavel puts userspace can be stupid and should not cause kernel crashes. In this case Pavel was able to find a crash here but unable to reproduce. Either way lets deal with this. This should fix: ------------[ cut here ]------------ kernel BUG at /home/proski/src/linux-2.6/net/wireless/reg.c:2132! Oops: Exception in kernel mode, sig: 5 [#1] PowerMac Modules linked in: ath5k ath [last unloaded: scsi_wait_scan] NIP: c02f3eac LR: c02f3d08 CTR: 00000000 REGS: ef107aa0 TRAP: 0700 Not tainted (2.6.30-rc8-wl) MSR: 00029032 CR: 88002442 XER: 20000000 TASK = ef84acb0[834] 'crda' THREAD: ef106000 GPR00: ef953840 ef107b50 ef84acb0 ef1380bc 00000006 c035a5c8 ef107b90 c035a5c8 GPR08: 00080005 efb68980 c0445628 ef130004 28002422 10019ce0 10012d3c 00000001 GPR16: 1070b2ac 00000005 48023558 1070b380 4802304c 00000000 ef107ddc c035a5c8 GPR24: ef107b78 c0443350 ef8bcb00 00000005 ef138080 c04a6a70 c04a0000 ef8bcb00 NIP [c02f3eac] set_regdom+0x4c4/0x4ec LR [c02f3d08] set_regdom+0x320/0x4ec Call Trace: [ef107b50] [c02f3d08] set_regdom+0x320/0x4ec (unreliable) [ef107b70] [c02f9d10] nl80211_set_reg+0x140/0x2d0 [ef107bc0] [c02aa2b8] genl_rcv_msg+0x204/0x228 [ef107c10] [c02a97cc] netlink_rcv_skb+0xe8/0x10c [ef107c30] [c02aa094] genl_rcv+0x3c/0x5c [ef107c40] [c02a9050] netlink_unicast+0x308/0x36c [ef107c80] [c02a92bc] netlink_sendmsg+0x208/0x2f0 [ef107cd0] [c0282048] sock_sendmsg+0xac/0xe4 [ef107db0] [c02822b4] sys_sendmsg+0x234/0x2d8 [ef107f00] [c0283a88] sys_socketcall+0x108/0x258 [ef107f40] [c0012790] ret_from_syscall+0x0/0x38 Signed-off-by: John W. Linville commit 403a3a136122457165321e90b7569a321cc9ac12 Author: Michael Buesch Date: Mon Jun 8 21:04:57 2009 +0200 b43: Add fw capabilities Add automagic feature flags, so the firmware can tell the driver about supported features and the driver can switch features on/off as needed. Signed-off-by: Michael Buesch Signed-off-by: Stefan Lippers-Hollmann Tested-by: Stefan Lippers-Hollmann Signed-off-by: John W. Linville commit 908209c160da8ecb68052111972b7a21310eac3f Author: Alan Jenkins Date: Mon Jun 8 13:12:23 2009 +0100 rfkill: don't impose global states on resume (just restore the previous states) Once rfkill-input is disabled, the "global" states will only be used as default initial states. Since the states will always be the same after resume, we shouldn't generate events on resume. Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit 869fb3a46cd18235e6f176328a2d8085ffe2c704 Author: Alan Jenkins Date: Mon Jun 8 11:31:11 2009 +0100 sony-laptop: no need to unblock rfkill on load The re-written rfkill core ensures rfkill devices are initialized to the system default state. The core calls set_block after registration so the driver shouldn't need to. Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit b3fa1329eaf2a7b97124dacf5b663fd51346ac19 Author: Alan Jenkins Date: Mon Jun 8 13:27:27 2009 +0100 rfkill: remove set_global_sw_state rfkill_set_global_sw_state() (previously rfkill_set_default()) will no longer be exported by the rewritten rfkill core. Instead, platform drivers which can provide persistent soft-rfkill state across power-down/reboot should indicate their initial state by calling rfkill_set_sw_state() before registration. Otherwise, they will be initialized to a default value during registration by a set_block call. We remove existing calls to rfkill_set_sw_state() which happen before registration, since these had no effect in the old model. If these drivers do have persistent state, the calls can be put back (subject to testing :-). This affects hp-wmi and acer-wmi. Drivers with persistent state will affect the global state only if rfkill-input is enabled. This is required, otherwise booting with wireless soft-blocked and pressing the wireless-toggle key once would have no apparent effect. This special case will be removed in future along with rfkill-input, in favour of a more flexible userspace daemon (see Documentation/feature-removal-schedule.txt). Now rfkill_global_states[n].def is only used to preserve global states over EPO, it is renamed to ".sav". Signed-off-by: Alan Jenkins Acked-by: Henrique de Moraes Holschuh Signed-off-by: John W. Linville commit 8f77f3849cc3ae2d6df9301785a3d316ea7d7ee1 Author: Johannes Berg Date: Sun Jun 7 21:58:37 2009 +0200 mac80211: do not pass PS frames out of mac80211 again In order to handle powersave frames properly we had needed to pass these out to the device queues again, and introduce the skb->requeue bit. This, however, also has unnecessary overhead by needing to 'clean up' already tried frames, and this clean-up code is also buggy when software encryption is used. Instead of sending the frames via the master netdev queue again, simply put them into the pending queue. This also fixes a problem where frames for that particular station could be reordered when some were still on the software queues and older ones are re-injected into the software queue after them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fc240e3fc5791c572402b0857948da7b1e68d77f Author: Johannes Berg Date: Sun Jun 7 21:57:08 2009 +0200 sony: fix rfkill code During the rfkill conversion I added code to call sony_nc_rfkill_set with the wrong argument, causing a segfault Reinette reported. The compiler could not catch that because the argument is, and needs to be, void *. Signed-off-by: Johannes Berg Reported-by: Reinette Chatre Signed-off-by: John W. Linville commit b91d0e364077fad401454699143ad6a78902c20a Author: Johannes Berg Date: Mon Jun 8 08:14:28 2009 +0200 rfkill: remove input Kconfig Now that we added the ioctl, there's no need to ask the user to configure this. We will keep it enabled for now, and eventually swap the default to n. Also let embedded users select it only if they need it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f41f3f373dd72344c65d801d6381fe83ef3a2c54 Author: Johannes Berg Date: Sun Jun 7 12:30:34 2009 -0500 b43/legacy: port to cfg80211 rfkill This ports the b43/legacy rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. Signed-off-by: Johannes Berg Signed-off-by: Larry Finger Cc: Michael Buesch Signed-off-by: John W. Linville commit e6a3b61681dcb963e6465ffbc4330b44824f35e3 Author: Tobias Doerffel Date: Tue Jun 9 17:33:27 2009 +0200 ath5k: added cfg80211 based rfkill support This patch introduces initial rfkill support for the ath5k driver based on rfkill support in the cfg80211 framework. All rfkill related code is separated into newly created rfkill.c. Changes to existing code are minimal: * added a new data structure ath5k_rfkill to the ath5k_softc structure * inserted calls to HW rfkill init/deinit routines * ath5k_intr() has been extended to handle AR5K_INT_GPIO interrupts Signed-off-by: John W. Linville commit 207ee1621722876bb79828689582bf77fd1be200 Author: Johannes Berg Date: Sun Jun 7 12:26:52 2009 +0200 rfkill: print events when input handler is disabled/enabled It is useful for debugging when we know if something disabled the in-kernel rfkill input handler. Signed-off-by: Johannes Berg Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 9b9c5aaeedfda256ed77094303e2a7242c3290da Author: Christian Lamparter Date: Sat Jun 6 05:07:23 2009 +0200 ar9170: xmit code revamp This patch is a back-port from aggregation testing code. In the past, we didn't limit the amount of active tx urbs. However, ar9170 only has a limited buffer reserved for pending data frames. This wasn't much of a problem with the slower 802.11b/g. We simply stopped the full queue and moved on to something different in the mean time. But - as you guessed it - this simple approach stands in way for a decent aggregation implementation. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2543a0c4c0fde46f9f206cec1e1cf951a2a63a66 Author: Johannes Berg Date: Fri Jun 5 11:47:43 2009 +0200 ar9170: interpret firmware debug commands This adds new commands that the original firmware will not send but we can use them to debug firmware. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dacb6f1d8fa5200efc4e609fe63a750b960993b6 Author: matthieu castet Date: Thu Jun 4 22:16:18 2009 +0200 mac80211 : fix unaligned rx skb mac80211 is checking is the skb is aligned on 32 bit boundary. But it is checking against ethernet header, whereas Linux expect IP header aligned. And ethernet ether size is 6*2+2=14, so aligning ethernet header make IP header unaligned. Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit b52a033c2c501a8015df3727a4bd73389ccb1641 Author: Matthieu CASTET Date: Thu Jun 4 23:18:33 2009 +0200 b43: Fix possible unaligned u32 access Fix possible unaligned u32 access in b43_generate_plcp_hdr(). Unaligned data is read/write with a u32 pointer instead of using the packed structure. Some versions of gcc ignore the "packed" attribute, if the structure element is accessed through a local pointer. Signed-off-by: Matthieu CASTET Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5ee58d7e6ad019675b4090582aec4fa1180d8703 Author: Bob Copeland Date: Fri Jun 5 08:21:50 2009 -0400 mac80211: fix minstrel single-rate memory corruption The minstrel rate controller periodically looks up rate indexes in a sampling table. When accessing a specific row and column, minstrel correctly does a bounds check which, on the surface, appears to handle the case where mi->n_rates < 2. However, mi->sample_idx is actually defined as an unsigned, so the right hand side is taken to be a huge positive number when negative, and the check will always fail. Consequently, the RC will overrun the array and cause random memory corruption when communicating with a peer that has only a single rate. The max value of mi->sample_idx is around 25 so casting to int should have no ill effects. Without the change, uptime is a few minutes under load with an AP that has a single hard-coded rate, and both the AP and STA could potentially crash. With the change, both lasted 12 hours with a steady load. Thanks to Ognjen Maric for providing the single-rate clue so I could reproduce this. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=12490 on the regression list (also http://bugzilla.kernel.org/show_bug.cgi?id=13000). Cc: stable@kernel.org Reported-by: Sergey S. Kostyliov Reported-by: Ognjen Maric Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 4d1d49858c0a5a4fb1be4bc7972754cd640245ba Author: Sebastian Andrzej Siewior Date: Thu Jun 4 21:57:03 2009 +0200 net/libertas: remove GPIO-CS handling in SPI interface code This removes the dependency on GPIO framework and lets the SPI host driver handle the chip select. The SPI host driver is required to keep the CS active for the entire message unless cs_change says otherwise. This patch collects the two/three single SPI transfers into a message. Also the delay in read path in case use_dummy_writes are not used is moved into the SPI host driver. Tested-by: Mike Rapoport Tested-by: Andrey Yurovsky Signed-off-by: Sebastian Andrzej Siewior Acked-by: Dan Williams Signed-off-by: John W. Linville commit 582241a08409c89b086774c60b55c1a1706a7e5d Author: Jussi Kivilinna Date: Thu Jun 4 20:13:25 2009 +0300 rndis_wlan: cleanup: rename all rndis_wext* objects to rndis_wlan* Driver used to be named rndis_wext before inclusion to upstream. Since rndis_wlan is being converted to cfg80211, use of rndis_wext* names can be confusing. So rename all rndis_wext to rndis_wlan (as should have been when driver was renamed). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit aa18294a289548f45ea6a784f008295ccddf6b14 Author: Jussi Kivilinna Date: Thu Jun 4 20:13:19 2009 +0300 rndis_wlan: cleanup: capitalize enum labels Capitalize enum labels as told in Documents/CodingStyle. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a60e77e5a41330334fd0ca428f18919d1ea6ed62 Author: Johannes Berg Date: Thu Jun 4 18:26:06 2009 +0200 iwlwifi: port to cfg80211 rfkill This ports the iwlwifi rfkill code to the new API offered by cfg80211 and thus removes a lot of useless stuff. The soft- rfkill is completely removed since that is now handled by setting the interfaces down. Signed-off-by: Johannes Berg Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit bc5c6c043d8381676339fb3da59cc4cc5921d368 Author: Mike Frysinger Date: Wed Jun 10 04:48:41 2009 -0400 ftrace/documentation: fix typo in function grapher name The function graph tracer is called just "function_graph" (no trailing "_tracer" needed). Signed-off-by: Mike Frysinger LKML-Reference: <1244623722-6325-1-git-send-email-vapier@gentoo.org> Signed-off-by: Steven Rostedt commit 58f7f68f228c3aba2ba4468d92e2cec35724ba2e Author: Jeff Layton Date: Wed Jun 10 09:57:55 2009 -0400 cifs: add addr= mount option alias for ip= When you look in /proc/mounts, the address of the server gets displayed as "addr=". That's really a better option to use anyway since it's more generic. What if we eventually want to support non-IP transports? It also makes CIFS option consistent with the NFS option of the same name. Begin the migration to that option name by adding an alias for ip= called addr=. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7df336ec1266dccbb253bac52c529d3dcc7c22d0 Author: Al Viro Date: Wed Jun 10 11:36:43 2009 -0400 Fix btrfs when ACLs are configured out ... otherwise generic_permission() will allow *anything* for all files you don't own and that have some group permissions. Signed-off-by: Al Viro Signed-off-by: Chris Mason commit 524724ed1f224875a117be593540591ed050c73d Author: Hisashi Hifumi Date: Wed Jun 10 11:13:17 2009 -0400 Btrfs: fdatasync should skip metadata writeout In btrfs, fdatasync and fsync are identical, but fdatasync should skip committing transaction when inode->i_state is set just I_DIRTY_SYNC and this indicates only atime or/and mtime updates. Following patch improves fdatasync throughput. --file-block-size=4K --file-total-size=16G --file-test-mode=rndwr --file-fsync-mode=fdatasync run Results: -2.6.30-rc8 Test execution summary: total time: 1980.6540s total number of events: 10001 total time taken by event execution: 1192.9804 per-request statistics: min: 0.0000s avg: 0.1193s max: 15.3720s approx. 95 percentile: 0.7257s Threads fairness: events (avg/stddev): 625.0625/151.32 execution time (avg/stddev): 74.5613/9.46 -2.6.30-rc8-patched Test execution summary: total time: 1695.9118s total number of events: 10000 total time taken by event execution: 871.3214 per-request statistics: min: 0.0000s avg: 0.0871s max: 10.4644s approx. 95 percentile: 0.4787s Threads fairness: events (avg/stddev): 625.0000/131.86 execution time (avg/stddev): 54.4576/8.98 Signed-off-by: Hisashi Hifumi Signed-off-by: Chris Mason commit 163e783e6a8b1e8bcb4c9084d438091386b589df Author: David Woodhouse Date: Sun Apr 19 13:02:41 2009 +0100 Btrfs: remove crc32c.h and use libcrc32c directly. There's no need to preserve this abstraction; it used to let us use hardware crc32c support directly, but libcrc32c is already doing that for us through the crypto API -- so we're already using the Intel crc32c acceleration where appropriate. Signed-off-by: David Woodhouse Signed-off-by: Chris Mason commit 6cbff00f4632c8060b06bfc9585805217f11e12e Author: Christoph Hellwig Date: Fri Apr 17 10:37:41 2009 +0200 Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION Add support for the standard attributes set via chattr and read via lsattr. Currently we store the attributes in the flags value in the btrfs inode, but I wonder whether we should split it into two so that we don't have to keep converting between the two formats. Remove the btrfs_clear_flag/btrfs_set_flag/btrfs_test_flag macros as they were confusing the existing code and got in the way of the new additions. Also add the FS_IOC_GETVERSION ioctl for getting i_generation as it's trivial. Signed-off-by: Christoph Hellwig Signed-off-by: Chris Mason commit c289811cc096c57ff35550ee8132793a4f9b5b59 Author: Chris Mason Date: Wed Jun 10 09:51:32 2009 -0400 Btrfs: autodetect SSD devices During mount, btrfs will check the queue nonrot flag for all the devices found in the FS. If they are all non-rotating, SSD mode is enabled by default. If the FS was mounted with -o nossd, the non-rotating flag is ignored. Signed-off-by: Chris Mason commit 451d7585a8bb1b9bec0d676ce3dece1923164e55 Author: Chris Mason Date: Tue Jun 9 20:28:34 2009 -0400 Btrfs: add mount -o ssd_spread to spread allocations out Some SSDs perform best when reusing block numbers often, while others perform much better when clustering strictly allocates big chunks of unused space. The default mount -o ssd will find rough groupings of blocks where there are a bunch of free blocks that might have some allocated blocks mixed in. mount -o ssd_spread will make sure there are no allocated blocks mixed in. It should perform better on lower end SSDs. Signed-off-by: Chris Mason commit c604480171c510c1beeb81b82418e5bc4de8f1ae Author: Chris Mason Date: Tue Jun 9 18:35:15 2009 -0400 Btrfs: avoid allocation clusters that are too spread out In SSD mode for data, and all the time for metadata the allocator will try to find a cluster of nearby blocks for allocations. This commit adds extra checks to make sure that each free block in the cluster is close to the last one. Signed-off-by: Chris Mason commit 3b30c22f64a6bb297719c60e494af1d26563f584 Author: Chris Mason Date: Tue Jun 9 16:42:22 2009 -0400 Btrfs: Add mount -o nossd This allows you to turn off the ssd mode via remount. Signed-off-by: Chris Mason commit d644d8a1e30b88a93bcfb63cada2ae628462ddba Author: Chris Mason Date: Tue Jun 9 15:59:22 2009 -0400 Btrfs: avoid IO stalls behind congested devices in a multi-device FS The btrfs IO submission threads try to service a bunch of devices with a small number of threads. They do a congestion check to try and avoid waiting on requests for a busy device. The checks make sure we've sent a few requests down to a given device just so that we aren't bouncing between busy devices without actually sending down any IO. The counter used to decide if we can switch to the next device is somewhat overloaded. It is also being used to decide if we've done a good batch of requests between the WRITE_SYNC or regular priority lists. It may get reset to zero often, leaving us hammering on a busy device instead of moving on to another disk. This commit adds a new counter for the number of bios sent while servicing a device. It doesn't get reset or fiddled with. On multi-device filesystems, this fixes IO stalls in streaming write workloads. Signed-off-by: Chris Mason commit d84275c938e1a5e2dc5b89eb9b878e0ddb2c55e0 Author: Chris Mason Date: Tue Jun 9 15:39:08 2009 -0400 Btrfs: don't allow WRITE_SYNC bios to starve out regular writes Btrfs uses dedicated threads to submit bios when checksumming is on, which allows us to make sure the threads dedicated to checksumming don't get stuck waiting for requests. For each btrfs device, there are two lists of bios. One list is for WRITE_SYNC bios and the other is for regular priority bios. The IO submission threads used to process all of the WRITE_SYNC bios first and then switch to the regular bios. This commit makes sure we don't completely starve the regular bios by rotating between the two lists. WRITE_SYNC bios are still favored 2:1 over the regular bios, and this tries to run in batches to avoid seeking. Benchmarking shows this eliminates stalls during streaming buffered writes on both multi-device and single device filesystems. If the regular bios starve, the system can end up with a large amount of ram pinned down in writeback pages. If we are a little more fair between the two classes, we're able to keep throughput up and make progress on the bulk of our dirty ram. Signed-off-by: Chris Mason commit 585ad2c3797dcaa643aeba75b9f072778adf3490 Author: Chris Mason Date: Mon May 18 10:41:58 2009 -0400 Btrfs: fix metadata dirty throttling limits Once a metadata block has been written, it must be recowed, so the btrfs dirty balancing call has a check to make sure a fair amount of metadata was actually dirty before it started writing it back to disk. A previous commit had changed the dirty tracking for metadata without updating the btrfs dirty balancing checks. This commit switches it to use the correct counter. Signed-off-by: Chris Mason commit 2c943de6ad795a174dcc424c293bb77f15ae3b8c Author: Chris Mason Date: Mon May 18 10:41:58 2009 -0400 Btrfs: reduce mount -o ssd CPU usage The block allocator in SSD mode will try to find groups of free blocks that are close together. This commit makes it loop less on a given group size before bumping it. The end result is that we are less likely to fill small holes in the available free space, but we don't waste as much CPU building the large cluster used by ssd mode. Signed-off-by: Chris Mason commit cfbb9308463f6dad1334884db046ccf0f1a77918 Author: Chris Mason Date: Mon May 18 10:41:58 2009 -0400 Btrfs: balance btree more often With the new back reference code, the cost of a balance has gone down in terms of the number of back reference updates done. This commit makes us more aggressively balance leaves and nodes as they become less full. Signed-off-by: Chris Mason commit b36124210248706186a02093427bdff4b3f548e8 Author: Chris Mason Date: Wed May 13 19:12:15 2009 -0400 Btrfs: stop avoiding balancing at the end of the transaction. When the delayed reference code was added, some checks were added to avoid extra balancing while the delayed references were being flushed. This made for less efficient btrees, but it reduced the chances of loops where no forward progress was made because the balances made more delayed ref updates. With the new dead root removal code and the mixed back references, the extent allocation tree is no longer using precise back refs, and the delayed reference updates don't carry the risk of looping forever anymore. So, the balance avoidance is no longer required. Signed-off-by: Chris Mason commit 5d4f98a28c7d334091c1b7744f48a1acdd2a4ae0 Author: Yan Zheng Date: Wed Jun 10 10:45:14 2009 -0400 Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) This commit introduces a new kind of back reference for btrfs metadata. Once a filesystem has been mounted with this commit, IT WILL NO LONGER BE MOUNTABLE BY OLDER KERNELS. When a tree block in subvolume tree is cow'd, the reference counts of all extents it points to are increased by one. At transaction commit time, the old root of the subvolume is recorded in a "dead root" data structure, and the btree it points to is later walked, dropping reference counts and freeing any blocks where the reference count goes to 0. The increments done during cow and decrements done after commit cancel out, and the walk is a very expensive way to go about freeing the blocks that are no longer referenced by the new btree root. This commit reduces the transaction overhead by avoiding the need for dead root records. When a non-shared tree block is cow'd, we free the old block at once, and the new block inherits old block's references. When a tree block with reference count > 1 is cow'd, we increase the reference counts of all extents the new block points to by one, and decrease the old block's reference count by one. This dead tree avoidance code removes the need to modify the reference counts of lower level extents when a non-shared tree block is cow'd. But we still need to update back ref for all pointers in the block. This is because the location of the block is recorded in the back ref item. We can solve this by introducing a new type of back ref. The new back ref provides information about pointer's key, level and in which tree the pointer lives. This information allow us to find the pointer by searching the tree. The shortcoming of the new back ref is that it only works for pointers in tree blocks referenced by their owner trees. This is mostly a problem for snapshots, where resolving one of these fuzzy back references would be O(number_of_snapshots) and quite slow. The solution used here is to use the fuzzy back references in the common case where a given tree block is only referenced by one root, and use the full back references when multiple roots have a reference on a given block. This commit adds per subvolume red-black tree to keep trace of cached inodes. The red-black tree helps the balancing code to find cached inodes whose inode numbers within a given range. This commit improves the balancing code by introducing several data structures to keep the state of balancing. The most important one is the back ref cache. It caches how the upper level tree blocks are referenced. This greatly reduce the overhead of checking back ref. The improved balancing code scales significantly better with a large number of snapshots. This is a very large commit and was written in a number of pieces. But, they depend heavily on the disk format change and were squashed together to make sure git bisect didn't end up in a bad state wrt space balancing or the format change. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit 5c939df56c3ea018b58e5aa76181284c2053d699 Author: Yan Zheng Date: Wed May 27 09:16:03 2009 -0400 btrfs: Fix set/clear_extent_bit for 'end == (u64)-1' There are some 'start = state->end + 1;' like code in set_extent_bit and clear_extent_bit. They overflow when end == (u64)-1. Signed-off-by: Yan Zheng Signed-off-by: Chris Mason commit ef14f0c1578dce4b688726eb2603e50b62d6665a Author: Christoph Hellwig Date: Wed Jun 10 17:07:47 2009 +0200 xfs: use generic Posix ACL code This patch rips out the XFS ACL handling code and uses the generic fs/posix_acl.c code instead. The ondisk format is of course left unchanged. This also introduces the same ACL caching all other Linux filesystems do by adding pointers to the acl and default acl in struct xfs_inode. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 517d3cc15b36392e518abab6bacbb72089658313 Author: Arjan van de Ven Date: Wed May 13 15:02:42 2009 +0100 [libata] ata_piix: Enable parallel scan This patch turns on parallel scanning for the ata_piix driver. This driver is used on most netbooks (no AHCI for cheap storage it seems). The scan is the dominating time factor in the kernel boot for these devices; with this flag it gets cut in half for the device I used for testing (eeepc). Alan took a look at the driver source and concluded that it ought to be safe to do for this driver. Alan has also checked with the hardware team. Signed-off-by: Arjan van de Ven Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7f4774b38ee6270bbc6c3015cb3fa6c415ffb340 Author: Tejun Heo Date: Wed Jun 10 16:29:07 2009 +0900 sata_nv: use hardreset only for post-boot probing When I thought it was finally defeated, it came back with vengeance. The failure cases are ever more convoluted. Now there is a single combination which fails boot probing - MCP5x + Intel SSD and there are two hotplug failure reports on different flavors where softreset fails to bring up the device. Through the many bug reports after the switch to hardreset, the following patterns emerged. - Softreset during boot always works. - Hardreset during boot sometimes fails to bring up the link on certain comibnations and device signature acquisition is unreliable. - Hardreset is often necessary after hotplug. It looks like the old behavior of preferring softreset was somehow pretty close to the working reset protocol although it could have lost a device during phy error handling by issuing hardreset. This patch implements nv_hardreset() which kicks in only for post-boot (!LOADING) device probing resets. This should be able to work around all known problem cases. This isn't perfect but given the various hardreset quirks on these controllers, I think this is as good as it can get. Tested on mcp5x (swncq), nf3 and ck804 for all both boot, warm and hot probing cases. Kudos to all the bug reporters and their painful hours with these damn controllers. ;-) Signed-off-by: Tejun Heo Cc: Robert Hancock Reported-by: David Lang Reported-by: Samo Vodopivec Signed-off-by: Jeff Garzik commit 58a09b38cfcd700b796ea07ae3d2e0efbb28b561 Author: Shane Huang Date: Wed May 27 15:04:43 2009 +0800 [libata] ahci: Restore SB600 SATA controller 64 bit DMA Community reported one SB600 SATA issue(BZ #9412), which led to 64 bit DMA disablement for all SB600 revisions by driver maintainers with commits c7a42156d99bcea7f8173ba7a6034bbaa2ecb77c and 4cde32fc4b32e96a99063af3183acdfd54c563f0. But the root cause is ASUS M2A-VM system BIOS bug in old revisions like 0901, while forcing into 32bit DMA happens to work as workaround. Now it's time to withdraw 4cde32fc4b32e96a99063af3183acdfd54c563f0 so as to restore the SB600 SATA 64bit DMA capability. This patch is also adding the workaround for M2A-VM old BIOS revisions, but users are suggested to upgrade their system BIOS to the latest one if they meet this issue. Signed-off-by: Shane Huang Cc: Tejun Heo Signed-off-by: Jeff Garzik commit f7b7c26e01e51fe46097e11f179dc71ce7950084 Author: Peter Zijlstra Date: Wed Jun 10 15:55:59 2009 +0200 perf_counter tools: Propagate signals properly Currently report and stat catch SIGINT (and others) without altering their exit state. This means that things like: while :; do perf stat ./foo ; done Loops become hard-to-interrupt, because bash never sees perf terminate due to interruption. Fix this. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 4502d77c1d8f15f20c04b92cb96c12d4e465de29 Author: Peter Zijlstra Date: Wed Jun 10 15:03:06 2009 +0200 perf_counter tools: Small frequency related fixes Create the counter in a disabled state and only enable it after we mmap() the buffer, this allows us to see the first few samples (and observe the frequency ramp). Furthermore, print the period in the verbose report. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit bd2b5b12849a3446abad0b25e920f86f5480b309 Author: Peter Zijlstra Date: Wed Jun 10 13:40:57 2009 +0200 perf_counter: More aggressive frequency adjustment Also employ the overflow handler to adjust the frequency, this results in a stable frequency in about 40~50 samples, instead of that many ticks. This also means we can start sampling at a sample period of 1 without running head-first into the throttle. It relies on sched_clock() to accurately measure the time difference between the overflow NMIs. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 2233123f2776f29d3ac31df1fd1dc40c44d337a5 Author: Geert Uytterhoeven Date: Wed Jun 10 16:39:03 2009 +0200 ALSA: sound/ps3: Correct existing and add missing annotations probe functions should be __devinit Signed-off-by: Geert Uytterhoeven Signed-off-by: Takashi Iwai commit cb6492e4a4e68281358510f0ffe2b0c4972ec166 Author: Geert Uytterhoeven Date: Wed Jun 10 16:39:02 2009 +0200 ALSA: sound/ps3: Restructure driver source Sort includes, and reorder code so we can kill the forward declarations No functional changes Signed-off-by: Geert Uytterhoeven Signed-off-by: Takashi Iwai commit 112ac808eb8a953dd356bbbc8322fdd6861e2c75 Author: Geert Uytterhoeven Date: Wed Jun 10 16:39:01 2009 +0200 ALSA: sound/ps3: Fix checkpatch issues Signed-off-by: Geert Uytterhoeven Signed-off-by: Takashi Iwai commit c3a7abf06ce719a51139e62a034590be99abbc2c Author: Ryusuke Konishi Date: Mon May 25 02:47:14 2009 +0900 nilfs2: support contiguous lookup of blocks Although get_block() callback function can return extent of contiguous blocks with bh->b_size, nilfs_get_block() function did not support this feature. This adds contiguous lookup feature to the block mapping codes of nilfs, and allows the nilfs_get_blocks() function to return the extent information by applying the feature. Signed-off-by: Ryusuke Konishi commit fa032744ad41de1b0a1807e7c379c6196e72ad80 Author: Ryusuke Konishi Date: Wed May 27 22:44:34 2009 +0900 nilfs2: add sync_page method to page caches of meta data This applies block_sync_page() function to the sync_page method of page caches for meta data files, gc page caches, and btree node buffers. This is a companion patch of ("nilfs2: enable sync_page mothod") which applied the function for data pages. This allows lock_page() for those meta data to unplug pending bio requests. Signed-off-by: Ryusuke Konishi commit a53b4751ae92adb372017222887f3ec625cba60b Author: Ryusuke Konishi Date: Wed May 27 22:11:46 2009 +0900 nilfs2: use device's backing_dev_info for btree node caches Previously, default_backing_dev_info was used for the mapping of btree node caches. This uses device dependent backing_dev_info to allow detailed control of the device for the btree node pages. Signed-off-by: Ryusuke Konishi commit 30c25be71fcbd87fd33518045cc014e69bff3d6f Author: Ryusuke Konishi Date: Sat May 30 19:08:09 2009 +0900 nilfs2: return EBUSY against delete request on snapshot This helps userland programs like the rmcp command to distinguish error codes returned against a checkpoint removal request. Previously -EPERM was returned, and not discriminable from real permission errors. This also allows removal of the latest checkpoint because the deletion leads to create a new checkpoint, and thus it's harmless for the filesystem. Signed-off-by: Ryusuke Konishi commit fb6e7113ae3ba6c7d0de77c6ccbcfa659899ff0f Author: Ryusuke Konishi Date: Sat May 30 11:27:17 2009 +0900 nilfs2: modify list of unsupported features in caveats This clarifies missing features of nilfs as a regular filesystem. Signed-off-by: Ryusuke Konishi commit e85dc1d5295779d2e6d973b7ed524d6bd3825a3f Author: Ryusuke Konishi Date: Wed May 27 07:27:12 2009 +0900 nilfs2: enable sync_page method This adds a missing sync_page method which unplugs bio requests when waiting for page locks. This will improve read performance of nilfs. Here is a measurement result using dd command. Without this patch: # mount -t nilfs2 /dev/sde1 /test # dd if=/test/aaa of=/dev/null bs=512k 1024+0 records in 1024+0 records out 536870912 bytes (537 MB) copied, 6.00688 seconds, 89.4 MB/s With this patch: # mount -t nilfs2 /dev/sde1 /test # dd if=/test/aaa of=/dev/null bs=512k 1024+0 records in 1024+0 records out 536870912 bytes (537 MB) copied, 3.54998 seconds, 151 MB/s Signed-off-by: Ryusuke Konishi commit 30bda0b8ae470997dc681d6fd82108bac5caebf8 Author: Ryusuke Konishi Date: Sun May 17 10:57:43 2009 +0900 nilfs2: set bio unplug flag for the last bio in segment This sets BIO_RW_UNPLUG flag on the last bio of each segment during write. The last bio should be unplugged immediately because the caller waits for the completion after the submission. Signed-off-by: Ryusuke Konishi commit 003ff182fddde09ddfb8d079bbdb02f9d2122082 Author: Ryusuke Konishi Date: Tue May 12 03:58:47 2009 +0900 nilfs2: allow future expansion of metadata read out via get info ioctl Nilfs has some ioctl commands to read out metadata from meta data files: - NILFS_IOCTL_GET_CPINFO for checkpoint file, - NILFS_IOCTL_GET_SUINFO for segment usage file, and - NILFS_IOCTL_GET_VINFO for Disk Address Transalation (DAT) file, respectively. Every routine on these metadata files is implemented so that it allows future expansion of on-disk format. But, the above ioctl commands do not support expansion even though nilfs_argv structure can handle arbitrary size for data exchanged via ioctl. This allows future expansion of the following structures which give basic format of the "get information" ioctls: - struct nilfs_cpinfo - struct nilfs_suinfo - struct nilfs_vinfo So, this introduces forward compatility of such ioctl commands. In this patch, a sanity check in nilfs_ioctl_get_info() function is changed to accept larger data structure [1], and metadata read routines are rewritten so that they become compatible for larger structures; the routines will just ignore the remaining fields which the current version of nilfs doesn't know. [1] The ioctl function already has another upper limit (PAGE_SIZE against a structure, which appears in nilfs_ioctl_wrap_copy function), and this will not cause security problem. Signed-off-by: Ryusuke Konishi commit 258ef67e246fd548e7ad91c23004ad157c03cce5 Author: Hisashi Hifumi Date: Wed May 13 11:19:40 2009 +0900 NILFS2: Pagecache usage optimization on NILFS2 Hi, I introduced "is_partially_uptodate" aops for NILFS2. A page can have multiple buffers and even if a page is not uptodate, some buffers can be uptodate on pagesize != blocksize environment. This aops checks that all buffers which correspond to a part of a file that we want to read are uptodate. If so, we do not have to issue actual read IO to HDD even if a page is not uptodate because the portion we want to read are uptodate. "block_is_partially_uptodate" function is already used by ext2/3/4. With the following patch random read/write mixed workloads or random read after random write workloads can be optimized and we can get performance improvement. I did a performance test using the sysbench. 1 --file-block-size=8K --file-total-size=2G --file-test-mode=rndrw --file-fsync-freq=0 --fil e-rw-ratio=1 run -2.6.30-rc5 Test execution summary: total time: 151.2907s total number of events: 200000 total time taken by event execution: 2409.8387 per-request statistics: min: 0.0000s avg: 0.0120s max: 0.9306s approx. 95 percentile: 0.0439s Threads fairness: events (avg/stddev): 12500.0000/238.52 execution time (avg/stddev): 150.6149/0.01 -2.6.30-rc5-patched Test execution summary: total time: 140.8828s total number of events: 200000 total time taken by event execution: 2240.8577 per-request statistics: min: 0.0000s avg: 0.0112s max: 0.8750s approx. 95 percentile: 0.0418s Threads fairness: events (avg/stddev): 12500.0000/218.43 execution time (avg/stddev): 140.0536/0.01 arch: ia64 pagesize: 16k Thanks. Signed-off-by: Hisashi Hifumi Signed-off-by: Ryusuke Konishi commit 7cde31d7d6959b2c608aa6b200eb68892d3a6063 Author: Ryusuke Konishi Date: Sun May 24 18:07:59 2009 +0900 nilfs2: remove nilfs_btree_operations from btree mapping will remove indirect function calls using nilfs_btree_operations table. Signed-off-by: Ryusuke Konishi commit 355c6b61034a571565dcd28801588671255d2329 Author: Ryusuke Konishi Date: Sun May 24 16:46:37 2009 +0900 nilfs2: remove nilfs_direct_operations from direct mapping will remove indirect function calls using nilfs_direct_operations table. Signed-off-by: Ryusuke Konishi commit d4b961576df2769b936bd967b01e8c607c3c9ad8 Author: Ryusuke Konishi Date: Sun May 24 03:25:44 2009 +0900 nilfs2: remove bmap pointer operations Previously, the bmap codes of nilfs used three types of function tables. The abuse of indirect function calls decreased source readability and suffered many indirect jumps which would confuse branch prediction of processors. This eliminates one type of the function tables, nilfs_bmap_ptr_operations, which was used to dispatch low level pointer operations of the nilfs bmap. This adds a new integer variable "b_ptr_type" to nilfs_bmap struct, and uses the value to select the pointer operations. Signed-off-by: Ryusuke Konishi commit 3033342a0b76048e32ce1faebfa85cf8f1aa93b5 Author: Ryusuke Konishi Date: Sun May 24 00:09:44 2009 +0900 nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct This will cut off 16 bytes from the nilfs_bmap struct which is embedded in the on-memory inode of nilfs. The b_high field was never used, and the b_low field stores a constant value which can be determined by whether the inode uses btree for block mapping or not. Signed-off-by: Ryusuke Konishi commit e473c1f265f429427e09531435ceaf0fdbb86d15 Author: Ryusuke Konishi Date: Fri May 22 02:18:36 2009 +0900 nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function This indirect function is set to NULL only for gc cache inodes, but the gc cache inodes never call this function. Signed-off-by: Ryusuke Konishi commit f198dbb9cf580c09644ebdf46846115c6daff14e Author: Ryusuke Konishi Date: Fri May 22 01:07:13 2009 +0900 nilfs2: move get block functions in bmap.c into btree codes Two get block function for btree nodes, nilfs_bmap_get_block() and nilfs_bmap_get_new_block(), are called only from the btree codes. This relocation will increase opportunities of compiler optimization. Signed-off-by: Ryusuke Konishi commit 9f098900ad34edfe3bcc2498cfa372f588b96c62 Author: Ryusuke Konishi Date: Fri May 22 00:38:56 2009 +0900 nilfs2: remove nilfs_bmap_delete_block nilfs_bmap_delete_block() is a wrapper function calling nilfs_btnode_delete(). This removes it for simplicity. Signed-off-by: Ryusuke Konishi commit 087d01b4253b611773ca81ad894486e7e17e74f6 Author: Ryusuke Konishi Date: Fri May 22 00:33:13 2009 +0900 nilfs2: remove nilfs_bmap_put_block nilfs_bmap_put_block() is a wrapper function calling brelse(). This eliminates the wrapper for simplicity. Signed-off-by: Ryusuke Konishi commit 654137dd46bc7e9f088a4a551a2b77a8541dfdb8 Author: Ryusuke Konishi Date: Sun May 17 19:07:21 2009 +0900 nilfs2: remove header file for segment list operations This will eliminate obsolete list operations of nilfs_segment_entry structure which has been used to handle mutiple segment numbers. The patch ("nilfs2: remove list of freeing segments") removed use of the structure from the segment constructor code, and this patch simplifies the remaining code by integrating it into recovery.c. Signed-off-by: Ryusuke Konishi commit 071cb4b81987a28c7ac2702003cff3e61684a630 Author: Ryusuke Konishi Date: Sat May 16 23:44:55 2009 +0900 nilfs2: eliminate removal list of segments This will clean up the removal list of segments and the related functions from segment.c and ioctl.c, which have hurt code readability. This elimination is applied by using nilfs_sufile_updatev() previously introduced in the patch ("nilfs2: add sufile function that can modify multiple segment usages"). Signed-off-by: Ryusuke Konishi commit dda54f4b872512eba484c38631bd6ae5b5716f41 Author: Ryusuke Konishi Date: Sat May 16 21:49:10 2009 +0900 nilfs2: add sufile function that can modify multiple segment usages This is a preparation for the later cleanup patch ("nilfs2: remove list of freeing segments"). This adds nilfs_sufile_updatev() to sufile, which can modify multiple segment usages at a time. Signed-off-by: Ryusuke Konishi commit d97a51a7e3c298d9899ea91165dfa0783fa5cc5c Author: Ryusuke Konishi Date: Sun May 3 21:43:01 2009 +0900 nilfs2: unify bmap operations starting use of indirect block address This simplifies some low level functions of bmap. Three bmap pointer operations, nilfs_bmap_start_v(), nilfs_bmap_commit_v(), and nilfs_bmap_abort_v(), are unified into one nilfs_bmap_start_v() function. And the related indirect function calls are replaced with it. Signed-off-by: Ryusuke Konishi commit 65822070646ed7f2cf520439006dd863529be16e Author: Ryusuke Konishi Date: Wed Apr 29 00:53:14 2009 +0900 nilfs2: remove nilfs_dat_prepare_free function This function is unused. Signed-off-by: Ryusuke Konishi commit 3860c97bd60a4525bb62eb90e3e7d2f02662ac59 Author: Boaz Harrosh Date: Sun May 24 20:05:58 2009 +0300 [SCSI] osd: Remove out-of-tree left overs * Delete Makefile. It is only used for out-of-tree compilation and was never needed. It slipped in by mistake. * Remove from Kbuild all the out of tree stuff as promised. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 03306793e686fd895ab8fa095bb9ec33658ea53a Author: Boaz Harrosh Date: Sun May 24 20:05:43 2009 +0300 [SCSI] libosd: Use REQ_QUIET requests. libosd has it's own sense decoding and printout. Don't let scsi_lib duplicate that printout. (Which is done wrong in regard to osd commands) Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 021e2230d6c04d80289fceb2d21c9ce93a615b32 Author: Boaz Harrosh Date: Sun May 24 20:05:05 2009 +0300 [SCSI] osduld: use filp_open() when looking up an osd-device This patch was inspired by Al Viro, for simplifying and fixing the retrieval of osd-devices by in-kernel users, eg: file systems. In-Kernel users, now, go through the same path user-mode does by opening a file on the osd char-device and though holding a reference to both the device and the Module. A file pointer was added to the osd_dev structure which is now allocated for each user. The internal osd_dev is no longer exposed outside of the uld. I wanted to do that for a long time so each libosd user can have his own defaults on the device. The API is left the same, so user code need not change. It is no longer needed to open/close a file handle on the osd char-device from user-mode, before mounting an exofs on it. Signed-off-by: Boaz Harrosh CC: Al Viro Signed-off-by: James Bottomley commit fc2fac5b5f11e2bee3bf37215c8746236f5ea188 Author: Boaz Harrosh Date: Sun May 24 20:04:43 2009 +0300 [SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue libosd users that need to work with bios, must sometime use the request_queue associated with the osd_dev. Make a wrapper for that, and convert all in-tree users. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 62f469b596dd0aadf046a69027087c18db43734e Author: Boaz Harrosh Date: Sun May 24 20:04:26 2009 +0300 [SCSI] libosd: osd_req_{read,write} takes a length parameter For supporting of chained-bios we can not inspect the first bio only, as before. Caller shall pass the total length of the request, ie. sum_bytes(bio-chain). Also since the bio might be a chain we don't set it's direction on behalf of it's callers. The bio direction should be properly set prior to this call. So fix a couple of write users that now need to set the bio direction properly [In this patch I change both library code and user sites at exofs, to make it easy on integration. It should be submitted via James's scsi-misc tree.] Signed-off-by: Boaz Harrosh CC: Jeff Garzik Signed-off-by: James Bottomley commit 546881aea9787ed5c626ac99ab80158ea9ae0515 Author: Boaz Harrosh Date: Sun May 24 20:04:00 2009 +0300 [SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes _osd_req_finalize_data_integrity was trying to deduce the number of out_bytes from passed osd_request->out.bio. This is wrong when the bio is chained. The caller of _osd_req_finalize_data_integrity has more ready available information and should just pass it. Also in the light of future support for CDB-continuation segment this is a better solution. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 0e35afbc8b054e04a35faa796c72abb3b82bd33b Author: Boaz Harrosh Date: Sun May 24 20:02:22 2009 +0300 [SCSI] libosd: osd_req_{read,write}_kern new API By popular demand, define usefull wrappers for osd_req_read/write that recieve kernel pointers. All users had their own. Also remove these from exofs Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit de6b20385b1c14f97ccdf7da173b4c9a7405083b Author: Boaz Harrosh Date: Sun May 24 20:01:26 2009 +0300 [SCSI] libosd: Better printout of OSD target system information Shorten out the Attributes names. Align all results on column 24. Print system ID in a new line. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 29191b92030bc97b05b539ce5ae0543c24a6d7ca Author: Boaz Harrosh Date: Sun May 24 20:01:03 2009 +0300 [SCSI] libosd: OSD2r05: Attribute definitions Some New revision 5 Attribute definitions. Some missing definitions of Attributes and pages Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit feb6118d4e76bc5685909426c2dcc90fdb7ba05b Author: Boaz Harrosh Date: Sun May 24 20:00:39 2009 +0300 [SCSI] libosd: OSD2r05: Additional command enums Add all constant definitions of new OSD commands added in revision 4 & 5. Mainly for creating snapshots and clones. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit d9dd0887cc5c6df0dbbe5a307284610607eea7ab Author: Kevin Cernekee Date: Tue Jun 9 10:59:19 2009 -0700 UBI: add reboot notifier Terminate the UBI background thread prior to restarting the system. [Artem: amended comments a little] Signed-off-by: Kevin Cernekee Tested-by: Artem Bityutskiy Signed-off-by: Artem Bityutskiy commit 7f2ff23db1de53ea8695bb4a7c1cfab88886e3fd Author: Jesper Nilsson Date: Wed Jun 10 15:06:55 2009 +0200 CRISv32: Add arch optimized strcmp. Add an optimized strcmp for CRISv32. This improves strcmp performance with about 25% when comparing a 55 character string with itself. Signed-off-by: Edgar Iglesias Acked-by: Jesper Nilsson commit 6b5c94c6b4e1630a8e1ee7d30383d9396603749f Author: Artem Bityutskiy Date: Wed Jun 10 11:32:05 2009 +0300 UBI: handle more error codes The UBIFS WL worker may encounter read errors and there is logic which makes a decision whether we should do one of: 1. cancel the operation and move the PEB with the read errors to the 'erroneous' list; 2. switch to R/O mode. ATM, only -EIO errors trigger 1., other errors trigger 2. The idea is that if we know we encountered an I/O error, do 1. Otherwise, we do not know how to react, and do 2., just in case. E.g., if the underlying driver became crazy because of a bug, we do not want to harm any data, and switch to R/O mode. This patch does 2 things: 1. Makes sure reads from the source PEB always cause 1. This is more consistent with other reads which come from the upper layers and never cause R/O. 2. Teaches UBI to do 1. also on -EBADMSG, UBI_IO_BAD_VID_HDR, -ENOMEM, and -ETIMEOUT. But this is only when reading the target PEB. This preblems were hunted by Adrian Hunter. Signed-off-by: Artem Bityutskiy commit 815bc5f8fe516f55291aef90f2142073821e7a9c Author: Artem Bityutskiy Date: Mon Jun 8 19:28:18 2009 +0300 UBI: fix multiple spelling typos Some of the typos were indicated by Adrian Hunter, some by 'aspell'. Signed-off-by: Artem Bityutskiy commit 21d08bbcb19d9cdef8ab5b584f25b50d842068e9 Author: Artem Bityutskiy Date: Mon Jun 8 19:28:18 2009 +0300 UBI: fix kmem_cache_free on error patch 'kmem_cache_free()' oopeses if NULL is passed, and there is one error-path place where UBI may call it with NULL object. This problem was pointed to by Adrian Hunter. Signed-off-by: Artem Bityutskiy commit 236e6723bedb483b2ebf73ada01e2c853c5cac01 Author: Mark Brown Date: Wed Jun 10 13:55:34 2009 +0100 ASoC: Fix lm4857 control Commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf changed semantics of private_value member of kcontrol. This resulted in inability to control amplifier and subsequently in very low output volume. Tested-by: Johannes Schauer Signed-off-by: Paul Fertser Signed-off-by: Mark Brown commit ad7c52d0988a8965989dc06d630c52a5bde849d5 Author: Bartlomiej Zolnierkiewicz Date: Wed Jun 10 14:37:21 2009 +0200 ide: re-implement ide_pci_init_one() on top of ide_pci_init_two() There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5df3bc2d35bd5cd08053f71679b27577b42676d6 Author: Bartlomiej Zolnierkiewicz Date: Wed Jun 10 14:37:21 2009 +0200 ide: unexport ide_find_dma_mode() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f4417a156a6e44359effa9492de3ed5638a9b13 Author: Hugh Dickins Date: Wed Jun 10 14:37:20 2009 +0200 ide: fix PowerMac bootup oops PowerMac bootup with CONFIG_IDE=y oopses in ide_pio_cycle_time(): because "ide: try to use PIO Mode 0 during probe if possible" causes pmac_ide_set_pio_mode() to be called before drive->id has been set. Bart points out other places which now need drive->id set earlier, so follow his advice to allocate it in ide_port_alloc_devices() (using kzalloc_node, without error message, as when allocating drive) and memset it for reuse in ide_port_init_devices_data(). Fixed in passing: ide_host_alloc() was missing ide_port_free_devices() from an error path. Signed-off-by: Hugh Dickins Cc: Joao Ramos Cc: Sergei Shtylyov Cc: Benjamin Herrenschmidt Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 440f0d588555892601cfe511728a0fc0c8204063 Author: Patrick McHardy Date: Wed Jun 10 14:32:47 2009 +0200 netfilter: nf_conntrack: use per-conntrack locks for protocol data Introduce per-conntrack locks and use them instead of the global protocol locks to avoid contention. Especially tcp_lock shows up very high in profiles on larger machines. This will also allow to simplify the upcoming reliable event delivery patches. Signed-off-by: Patrick McHardy commit 09f8ca74ae6c2d78b2c7f6c0751ed0cbe815a3d9 Author: Avi Kivity Date: Mon Jun 8 15:55:21 2009 +0300 KVM: Prevent overflow in largepages calculation If userspace specifies a memory slot that is larger than 8 petabytes, it could overflow the largepages variable. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit ac04527f7947020c5890090b2ac87af4e98d977e Author: Avi Kivity Date: Mon Jun 8 15:52:39 2009 +0300 KVM: Disable large pages on misaligned memory slots If a slots guest physical address and host virtual address unequal (mod large page size), then we would erronously try to back guest large pages with host large pages. Detect this misalignment and diable large page support for the trouble slot. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit 7654db1a9256d746ae4d229ba675f616a5d5e1a1 Author: Alan Cox Date: Wed May 6 17:10:17 2009 +0100 ata_piix: Remove stale comment Combined mode pci quirk hacks went away - so the table to keep in sync no longer exists. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 347979a034539ab20f3bc0c30ac0ccd3c4fd4c2e Author: Alan Cox Date: Wed May 6 17:10:08 2009 +0100 ata_piix: Turn on hotplugging support for older chips We can't do this for the later ones as they have all sorts of magic boot time stuff that needs reviewing and the like. However we can do it for the older ones and it turns out we need to as some IBM docking stations have a second PIIX series device in them and without this change you can't use it very well Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d50ce07d6fd8a422757a231f9d7293cbddeaec31 Author: Tejun Heo Date: Tue May 12 10:57:41 2009 +0900 ahci: misc cleanups for EM stuff Make the following EM related cleanups. * Use msleep(1) instead of udelay(100) and reduce retry count to 5. * s/MAX_SLOTS/EM_MAX_SLOTS/, s/MAX_RETRY/EM_MAX_RETRY/ * Make EM constants enums as suggested by Jeff. Signed-off-by: Tejun Heo Acked-by: David Milburn Signed-off-by: Jeff Garzik commit 437681800bdaa9feb58cf943dfbbd239c21d3705 Author: Jens Axboe Date: Wed May 20 09:44:39 2009 +0200 [libata] get rid of ATA_MAX_QUEUE loop in ata_qc_complete_multiple() v2 We very rarely (if ever) complete more than one command in the sactive mask at the time, even for extremely high IO rates. So looping over the entire range of possible tags is pointless, instead use __ffs() to just find the completed tags directly. Updated to clear the tag from the done_mask instead of shifting done_mask down as suggested by From: Tejun Heo Verified with a user space tester to produce the same results. Signed-off-by: Jens Axboe Signed-off-by: Jeff Garzik commit 31f80112cc7e7ea4c220d6f62b0a7052754befb3 Author: Robert Hancock Date: Mon Apr 13 22:57:28 2009 -0600 sata_sil: enable 32-bit PIO 32-bit PIO seems to work fine on sata_sil hardware (tested on SiI3114) and is listed as OK in the Silicon Image datasheets. Enable it. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit f35b5e7c066a41f60683d2689e52a1336479913b Author: Alexander Beregalov Date: Wed Apr 15 00:00:54 2009 +0400 sata_sx4: speed up ECC initialization ECC initialization takes too long. It writes zeroes by portions of 4 byte, it takes more than 6 minutes on my machine to initialize 512Mb ECC DIMM module. Change portion to 128Kb - it significantly reduces initialization time. Signed-off-by: Alexander Beregalov Signed-off-by: Jeff Garzik commit 2102d7497393e982bf38ffe8f5fd3d487104880d Author: Sergei Shtylyov Date: Sun Feb 15 23:30:38 2009 +0400 libata-sff: avoid byte swapping in ata_sff_data_xfer() Handling of the trailing byte in ata_sff_data_xfer() is suboptimal bacause: - it always initializes the padding buffer to 0 which is not really needed in both the read and write cases; - it has to use memcpy() to transfer a single byte from/to the padding buffer; - it uses io{read|write}16() accessors which swap bytes on the big endian CPUs and so have to additionally convert the data from/to the little endian format instead of using io{read|write}16_rep() accessors which are not supposed to change the byte ordering. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 4da646b7b52552f3b43eae27ffa5aa2c200f6db6 Author: Jeff Garzik Date: Wed Apr 8 02:00:13 2009 -0400 [libata] ahci: use less error-prone array initializers Also, remove unneeded prototype. Signed-off-by: Jeff Garzik commit dc81081b2d9a6a9d64dad1bef1e5fc9fb660e53e Author: Yong Wang Date: Wed Jun 10 17:06:12 2009 +0800 perf_counter/x86: Fix the model number of Intel Core2 processors Fix the model number of Intel Core2 processors according to the documentation: Intel Processor Identification with the CPUID Instruction: http://www.intel.com/support/processors/sb/cs-009861.htm Signed-off-by: Yong Wang Also-Reported-by: Arnd Bergmann Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090610090612.GA26580@ywang-moblin2.bj.intel.com> [ Added two more model numbers suggested by Arnd Bergmann ] Signed-off-by: Ingo Molnar commit c476c23b45a41eb4e3ea63af786cc4d74762fe11 Author: Borislav Petkov Date: Wed May 20 20:31:58 2009 +0200 amd64_edac: add MAINTAINERS entry Acked-by: Doug Thompson Acked-by: Randy Dunlap Signed-off-by: Borislav Petkov commit 9456ffffcf3c2f8fafeb9dee45f1502209602253 Author: Borislav Petkov Date: Wed May 20 20:26:53 2009 +0200 EDAC: do not enable modules by default Prevent EDAC compilation units from being built by default and let the user explicitly select the needed modules. Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Borislav Petkov commit 3d373290450b10933dad7c387c42179f54417009 Author: Borislav Petkov Date: Wed May 20 20:18:46 2009 +0200 amd64_edac: do not enable module by default While at it, fix a link failure when !K8_NB. Acked-by: Doug Thompson Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Borislav Petkov commit 7d6034d3213e2dd1c0f8678e11064007413011c4 Author: Doug Thompson Date: Mon Apr 27 20:01:01 2009 +0200 amd64_edac: add module registration routines Also, link into Kbuild by adding Kconfig and Makefile entries. Borislav: - Kconfig/Makefile splitting - use zero-sized arrays for the sysfs attrs if not enabled - rename sysfs attrs to more conform values - shorten CONFIG_ names - make multiple structure members assignment vertically aligned - fix/cleanup comments - fix function return value patterns - fix err labels - fix a memleak bug caught by Ingo - remove the NUMA dependency and use num_k8_northbrides for initializing a driver instance per NB. - do not copy the pvt contents into the mci struct in amd64_init_2nd_stage() and save it in the mci->pvt_info void ptr instead. - cleanup debug calls - simplify amd64_setup_pci_device() Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit f9431992b6227069bc54800d55531c6f78d276a7 Author: Doug Thompson Date: Mon Apr 27 19:46:08 2009 +0200 amd64_edac: add ECC reporting initializers Borislav: - convert to the new {rd|wr}msr_on_cpus interfaces. - convert pvt->old_mcgctl to a bitmask thus saving some bytes - fix/cleanup comments - fix function return value patterns - add a proper bugfix found by Doug to amd64_check_ecc_enabled where we missed checking for the ECC enabled bit in NB CFG. - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 0ec449ee95b20245fef4aa9fa2486456f1540514 Author: Doug Thompson Date: Mon Apr 27 19:41:25 2009 +0200 amd64_edac: add EDAC core-related initializers Borislav: - add a amd64_free_mc_sibling_devices() helper instead of opencoding the release-path. - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit d27bf6fa369ca0272df10558d2f290d6fc72e675 Author: Doug Thompson Date: Wed May 6 17:55:27 2009 +0200 amd64_edac: add error decoding logic Borislav: - fold amd64_error_info_valid() into its only user - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit b1289d6f9d23abab396077abb65d5a23a775cdb0 Author: Doug Thompson Date: Mon Apr 27 16:37:05 2009 +0200 amd64_edac: add ECC chipkill syndrome mapping table Borislav: - fix comments - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 4d37607adbff69596a3170cf84badaf26efc59ac Author: Doug Thompson Date: Mon Apr 27 16:25:05 2009 +0200 amd64_edac: add per-family descriptors Borislav: - fix comments - fix function return value patterns Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit f71d0a05001afd10e2be491ca002c55c7df42ed8 Author: Doug Thompson Date: Mon Apr 27 16:22:43 2009 +0200 amd64_edac: add F10h-and-later methods-p3 Borislav: - compute dct_sel_base_off in f10_match_to_this_node() correctly since it cannot be assumed that the Reserved bits are zero and they have to be masked out instead. - cleanup, remove StinkyIdentifiers, simplify logic - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 6163b5d4fb45d20e3eb92d627943f26572726889 Author: Doug Thompson Date: Mon Apr 27 16:20:17 2009 +0200 amd64_edac: add F10h-and-later methods-p2 Borislav: - fix a wrong negation in f10_determine_base_addr_offset() - fix a wrong mask in f10_determine_base_addr_offset() which should select DctSelBaseAddr[31:11] and not [31:16] as it was before - remove StinkyIdentifiers, trivially simplify code. - fix/cleanup comments - fix function return value patterns Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 1afd3c98b5e8df68e1840b56c0ced15f314ce30d Author: Doug Thompson Date: Mon Apr 27 16:16:50 2009 +0200 amd64_edac: add F10h-and-later methods-p1 Borislav: Fail f10_early_channel_count() if error encountered while reading a NB register since those cached register contents are accessed afterwards. - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit ddff876d2022c5e06509f6535bc4fd61c4d6ffd6 Author: Doug Thompson Date: Mon Apr 27 16:14:52 2009 +0200 amd64_edac: add k8-specific methods Borislav: - fix/cleanup/move comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 94be4bff21990674ac418c970c708a1a01cf709f Author: Doug Thompson Date: Mon Apr 27 16:12:00 2009 +0200 amd64_edac: assign DRAM chip select base and mask in a family-specific way Borislav: - cleanup/fix comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 2da11654ea4d32c5700693675dfbd55c70619519 Author: Doug Thompson Date: Mon Apr 27 16:09:09 2009 +0200 amd64_edac: add helper to dump relevant registers Borislav: - cleanup/fix comments - fix function return value patterns - cleanup dbg calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 93c2df58b5b1a434cca8f60067e0e12d1942b7f1 Author: Doug Thompson Date: Mon May 4 20:46:50 2009 +0200 amd64_edac: add DRAM address type conversion facilities Borislav: - cleanup/fix comments, add BKDG refs - fix function return value patterns - cleanup dbg calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit e2ce7255e84db656853e91536e6023f92ff89f97 Author: Doug Thompson Date: Mon Apr 27 15:57:12 2009 +0200 amd64_edac: add functionality to compute the DRAM hole Borislav: - cleanup/fix comments, add BKDG refs - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 6775763a2377e1ea865299b6daadc875d622de3f Author: Doug Thompson Date: Mon Apr 27 15:53:22 2009 +0200 amd64_edac: add sys addr to memory controller mapping helpers Borislav: - cleanup comments - cleanup debug calls - simplify find_mc_by_sys_addr's exit path Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit 2bc65418724a0ddbb20c9eeb9de8285af7748c16 Author: Doug Thompson Date: Mon May 4 20:11:14 2009 +0200 amd64_edac: add memory scrubber interface Borislav: - fix/cleanup comments - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit b52401cecedf669211f0b7a5095abcb6d3fc82c2 Author: Doug Thompson Date: Wed May 6 17:57:20 2009 +0200 amd64_edac: add MCA error types Borislav: - cleanup comments Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit eb919690be994386eac326f8c53c4540602de563 Author: Doug Thompson Date: Tue May 5 20:07:11 2009 +0200 amd64_edac: add DRAM error injection logic using sysfs Borislav: - rename sysfs attrs to more conform names - cleanup/fix comments according to BKDG text - fix function return value patterns - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit fd3d6780f7358225a6ea1ffb1bb8fd8b2d6df446 Author: Doug Thompson Date: Mon Apr 27 19:50:23 2009 +0200 amd64_edac: add debugging/testing code This is for dumping different registers and testing the address mapping logic using the ECC syndromes. Borislav: - split sysfs attrs per file - use more conform names for the sysfs attrs - fix function return value patterns - cleanup/fix comments - cleanup debug calls Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit cfe40fdb4a46a68e45fa9a5ecbe588e94b89b4f3 Author: Doug Thompson Date: Mon May 4 19:25:34 2009 +0200 amd64_edac: add driver header Borislav: - remove register bit descriptions (complete text in BKDG) - cleanup and remove excessive/superfluous comments Reviewed-by: Mauro Carvalho Chehab Signed-off-by: Doug Thompson Signed-off-by: Borislav Petkov commit d357cbb445208ea0c33b268e08a65e53fdbb5e86 Author: Borislav Petkov Date: Thu May 14 17:49:28 2009 +0200 edac: fold __func__ into edac_debug_printk This shortens debugfX() calls a bit. Reviewed-by: Mauro Carvalho Chehab CC: Doug Thompson Signed-off-by: Borislav Petkov commit b034c19f9f61c8b6f2435aa2e77f52348ebde767 Author: Borislav Petkov Date: Fri May 22 13:52:19 2009 +0200 x86: MSR: add methods for writing of an MSR on several CPUs Provide for concurrent MSR writes on all the CPUs in the cpumask. Also, add a temporary workaround for smp_call_function_many which skips the CPU we're executing on. Bart: zero out rv struct which is allocated on stack. CC: H. Peter Anvin Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6bc1096d7ab3621b3ffcf06616d1f4e0325d903d Author: Borislav Petkov Date: Fri May 22 12:12:01 2009 +0200 x86: MSR: add a struct representation of an MSR Add a struct representing a 64bit MSR pair consisting of a low and high register part and convert msr_info to use it. Also, rename msr-on-cpu.c to msr.c. Side note: Put the cpumask.h include in __KERNEL__ space thus fixing an allmodconfig build failure in the headers_check target. CC: H. Peter Anvin Signed-off-by: Borislav Petkov commit f1db457ce6e2f63cb01022f58c0c023838958bd1 Author: Li Zefan Date: Wed Jun 10 10:06:24 2009 +0800 tracing/events: convert block trace points to TRACE_EVENT(), fix !CONFIG_BLOCK Fix building failures when CONFIG_BLOCK == n. Signed-off-by: Li Zefan LKML-Reference: <4A2F1520.8020003@cn.fujitsu.com> Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 04dce7d9d429ea5ea04e9432d1726c930f4d67da Author: Benjamin Herrenschmidt Date: Wed Jun 10 16:59:46 2009 +1000 spinlock: Add missing __raw_spin_lock_flags() stub for UP This was only defined with CONFIG_DEBUG_SPINLOCK set, but some obscure arch/powerpc code wants it always. Signed-off-by: Benjamin Herrenschmidt Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 003dec8913d6bebb4ecc989ec04a235cf38f5ea9 Author: Steven Whitehouse Date: Wed Jun 10 10:31:45 2009 +0100 GFS2: Merge gfs2_get_sb into gfs2_get_sb_meta These don't need to be separate functions. Reported-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit a0861c02a981c943573478ea13b29b1fb958ee5b Author: Andi Kleen Date: Mon Jun 8 17:37:09 2009 +0800 KVM: Add VT-x machine check support VT-x needs an explicit MC vector intercept to handle machine checks in the hyper visor. It also has a special option to catch machine checks that happen during VT entry. Do these interceptions and forward them to the Linux machine check handler. Make it always look like user space is interrupted because the machine check handler treats kernel/user space differently. Thanks to Jiang Yunhong for help and testing. Cc: stable@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Huang Ying Signed-off-by: Avi Kivity commit 56b237e31abf4d6dbc6e2a0214049b9a23be4883 Author: Nitin A Kamble Date: Thu Jun 4 15:04:08 2009 -0700 KVM: VMX: Rename rmode.active to rmode.vm86_active That way the interpretation of rmode.active becomes more clear with unrestricted guest code. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 20f65983e30f222e5383f77206e3f571d1d64610 Author: Gleb Natapov Date: Mon May 11 13:35:55 2009 +0300 KVM: Move "exit due to NMI" handling into vmx_complete_interrupts() To save us one reading of VM_EXIT_INTR_INFO. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 8db3baa2db34035b2ddb7d0e8b186eb92a056532 Author: Gleb Natapov Date: Mon May 11 13:35:54 2009 +0300 KVM: Disable CR8 intercept if tpr patching is active Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 36752c9b91f75aa3ff0f214a89f13d806cb2f61f Author: Gleb Natapov Date: Mon May 11 13:35:53 2009 +0300 KVM: Do not migrate pending software interrupts. INTn will be re-executed after migration. If we wanted to migrate pending software interrupt we would need to migrate interrupt type and instruction length too, but we do not have all required info on SVM, so SVM->VMX migration would need to re-execute INTn anyway. To make it simple never migrate pending soft interrupt. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 44c11430b52cbad0a467bc023a802d122dfd285c Author: Gleb Natapov Date: Mon May 11 13:35:52 2009 +0300 KVM: inject NMI after IRET from a previous NMI, not before. If NMI is received during handling of another NMI it should be injected immediately after IRET from previous NMI handler, but SVM intercept IRET before instruction execution so we can't inject pending NMI at this point and there is not way to request exit when NMI window opens. This patch fix SVM code to open NMI window after IRET by single stepping over IRET instruction. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 6a8b1d13121f8226783987dc7ddd861ee2245410 Author: Gleb Natapov Date: Mon May 11 13:35:51 2009 +0300 KVM: Always request IRQ/NMI window if an interrupt is pending Currently they are not requested if there is pending exception. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 66fd3f7f901f29a557a473af595bf11b270b9ac2 Author: Gleb Natapov Date: Mon May 11 13:35:50 2009 +0300 KVM: Do not re-execute INTn instruction. Re-inject event instead. This is what Intel suggest. Also use correct instruction length when re-injecting soft fault/interrupt. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit f629cf8485c9e1063fd8b915fa3bde80917400a1 Author: Gleb Natapov Date: Mon May 11 13:35:49 2009 +0300 KVM: skip_emulated_instruction() decode instruction if size is not known Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 923c61bbc6413e87e5f6b0bae663d202a8de0537 Author: Gleb Natapov Date: Mon May 11 13:35:48 2009 +0300 KVM: Remove irq_pending bitmap Only one interrupt vector can be injected from userspace irqchip at any given time so no need to store it in a bitmap. Put it into interrupt queue directly. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit fa9726b0733461781933ab7180aca45e46d0a891 Author: Gleb Natapov Date: Mon May 11 13:35:47 2009 +0300 KVM: Do not allow interrupt injection from userspace if there is a pending event. The exception will immediately close the interrupt window. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3298b75c880d6f0fd70750233c0f3e71a72a5bfb Author: Gleb Natapov Date: Mon May 11 13:35:46 2009 +0300 KVM: Unprotect a page if #PF happens during NMI injection. It is done for exception and interrupt already. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 51e4d5ab28c75d819b3840da11559ad5c1429135 Author: Carsten Otte Date: Tue May 12 17:21:53 2009 +0200 KVM: s390: Verify memory in kvm run This check verifies that the guest we're trying to run in KVM_RUN has some memory assigned to it. It enters an endless exception loop if this is not the case. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 3edbcff9bfe2ed632e518b3cfe807d062cee8269 Author: Carsten Otte Date: Tue May 12 17:21:52 2009 +0200 KVM: s390: Sanity check on validity intercept This patch adds a sanity check for the content of the guest prefix register content before faulting in the cpu lowcore that it refers to. The guest might end up in an endless loop where SIE complains about missing lowcore with incorrect content of the prefix register without this fix. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit abf4a71ed95ff29d696bf04633958b2068ed2e0b Author: Carsten Otte Date: Tue May 12 17:21:51 2009 +0200 KVM: s390: Unlink vcpu on destroy - v2 This patch makes sure we do unlink a vcpu's sie control block from the system control area in kvm_arch_vcpu_destroy. This prevents illegal accesses to the sie control block from other virtual cpus after free. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit b037a4f34ec51b6c8ccb352a04056c04a4bfc269 Author: Christian Borntraeger Date: Tue May 12 17:21:50 2009 +0200 KVM: s390: optimize float int lock: spin_lock_bh --> spin_lock The floating interrupt lock is only taken in process context. We can replace all spin_lock_bh with standard spin_lock calls. Signed-off-by: Christian Borntraeger Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit ca8723023f25c9a70d76cbd6101f8fb4ffec2fa0 Author: Christian Borntraeger Date: Tue May 12 17:21:49 2009 +0200 KVM: s390: use hrtimer for clock wakeup from idle - v2 This patch reworks the s390 clock comparator wakeup to hrtimer. The clock comparator is a per-cpu value that is compared against the TOD clock. If ckc <= TOD an external interrupt 1004 is triggered. Since the clock comparator and the TOD clock have a much higher resolution than jiffies we should use hrtimers to trigger the wakeup. This speeds up guest nanosleep for small values. Since hrtimers callbacks run in hard-irq context, I added a tasklet to do the actual work with enabled interrupts. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 2668dab794272f0898491acaf1e77e9a005abc0f Author: Carsten Otte Date: Tue May 12 17:21:48 2009 +0200 KVM: s390: Fix memory slot versus run - v3 This patch fixes an incorrectness in the kvm backend for s390. In case virtual cpus are being created before the corresponding memory slot is being registered, we need to update the sie control blocks for the virtual cpus. *updates in v3* In consideration of the s390 memslot constraints locking was changed to trylock. These locks should never be held, as vcpu's can't run without the single memslot we just assign when running this code. To ensure this never deadlocks in case other code changes the code uses trylocks and bail out if it can't get all locks. Additionally most of the discussed special conditions for s390 like only one memslot and no user_alloc are now checked for validity in kvm_arch_set_memory_region. Reported-by: Mijo Safradin Signed-off-by: Carsten Otte Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 58f8ac279a8c46eb0a3193edd521ed2e41c4f914 Author: Robert P. J. Day Date: Tue May 12 13:44:06 2009 -0700 KVM: Expand on "help" info to specify kvm intel and amd module names Signed-off-by: Robert P. J. Day Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 8986ecc0ef58c96eec48d8502c048f3ab67fd8e2 Author: Marcelo Tosatti Date: Tue May 12 18:55:45 2009 -0300 KVM: x86: check for cr3 validity in mmu_alloc_roots Verify the cr3 address stored in vcpu->arch.cr3 points to an existant memslot. If not, inject a triple fault. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b43b1901ad282aeb74161837fb403927102687a1 Author: Marcelo Tosatti Date: Tue May 12 18:55:44 2009 -0300 KVM: take mmu_lock when updating a deleted slot kvm_handle_hva relies on mmu_lock protection to safely access the memslot structures. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 7c8a83b75a38a807d37f5a4398eca2a42c8cf513 Author: Marcelo Tosatti Date: Tue May 12 18:55:43 2009 -0300 KVM: MMU: protect kvm_mmu_change_mmu_pages with mmu_lock kvm_handle_hva, called by MMU notifiers, manipulates mmu data only with the protection of mmu_lock. Update kvm_mmu_change_mmu_pages callers to take mmu_lock, thus protecting against kvm_handle_hva. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 310b5d306c1aee7ebe32f702c0e33e7988d50646 Author: Glauber Costa Date: Tue May 12 16:21:06 2009 -0400 KVM: Deal with interrupt shadow state for emulated instructions We currently unblock shadow interrupt state when we skip an instruction, but failing to do so when we actually emulate one. This blocks interrupts in key instruction blocks, in particular sti; hlt; sequences If the instruction emulated is an sti, we have to block shadow interrupts. The same goes for mov ss. pop ss also needs it, but we don't currently emulate it. Without this patch, I cannot boot gpxe option roms at vmx machines. This is described at https://bugzilla.redhat.com/show_bug.cgi?id=494469 Signed-off-by: Glauber Costa CC: H. Peter Anvin CC: Gleb Natapov Signed-off-by: Avi Kivity commit 2809f5d2c4cfad171167b131bb2a21ab65eba40f Author: Glauber Costa Date: Tue May 12 16:21:05 2009 -0400 KVM: Replace ->drop_interrupt_shadow() by ->set_interrupt_shadow() This patch replaces drop_interrupt_shadow with the more general set_interrupt_shadow, that can either drop or raise it, depending on its parameter. It also adds ->get_interrupt_shadow() for future use. Signed-off-by: Glauber Costa CC: H. Peter Anvin CC: Gleb Natapov Signed-off-by: Avi Kivity commit 547de29e5b1662deb05b5f90917902dc0e9ac182 Author: Marcelo Tosatti Date: Thu May 7 17:55:13 2009 -0300 KVM: protect assigned dev workqueue, int handler and irq acker kvm_assigned_dev_ack_irq is vulnerable to a race condition with the interrupt handler function. It does: if (dev->host_irq_disabled) { enable_irq(dev->host_irq); dev->host_irq_disabled = false; } If an interrupt triggers before the host->dev_irq_disabled assignment, it will disable the interrupt and set dev->host_irq_disabled to true. On return to kvm_assigned_dev_ack_irq, dev->host_irq_disabled is set to false, and the next kvm_assigned_dev_ack_irq call will fail to reenable it. Other than that, having the interrupt handler and work handlers run in parallel sounds like asking for trouble (could not spot any obvious problem, but better not have to, its fragile). CC: sheng.yang@intel.com Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 32f8840064d88cc3f6e85203aec7b6b57bebcb97 Author: Marcelo Tosatti Date: Thu May 7 17:55:12 2009 -0300 KVM: use smp_send_reschedule in kvm_vcpu_kick KVM uses a function call IPI to cause the exit of a guest running on a physical cpu. For virtual interrupt notification there is no need to wait on IPI receival, or to execute any function. This is exactly what the reschedule IPI does, without the overhead of function IPI. So use it instead of smp_call_function_single in kvm_vcpu_kick. Also change the "guest_mode" variable to a bit in vcpu->requests, and use that to collapse multiple IPI's that would be issued between the first one and zeroing of guest mode. This allows kvm_vcpu_kick to called with interrupts disabled. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d149c731e4f71982247a14409951259f36271dd7 Author: Avi Kivity Date: Sun May 10 14:41:56 2009 +0300 KVM: Update cpuid 1.ecx reporting Signed-off-by: Avi Kivity commit 069ebaa4644521e8e80b6849ace4dee53f93f55e Author: Avi Kivity Date: Sun May 10 14:37:56 2009 +0300 x86: Add cpu features MOVBE and POPCNT Add cpu feature bit support for the MOVBE and POPCNT instructions. Signed-off-by: Avi Kivity commit 7faa4ee1c777a5f8e8373430cfd9cb6172aa3503 Author: Avi Kivity Date: Sun May 10 13:55:35 2009 +0300 KVM: Add AMD cpuid bit: cr8_legacy, abm, misaligned sse, sse4, 3dnow prefetch Signed-off-by: Avi Kivity commit 8d753f369bd28fff1706ffe9fb9fea4fd88cf85b Author: Avi Kivity Date: Sun May 10 11:41:39 2009 +0300 KVM: Fix cpuid feature misreporting MTRR, PAT, MCE, and MCA are all supported (to some extent) but not reported. Vista requires these features, so if userspace relies on kernel cpuid reporting, it loses support for Vista. Signed-off-by: Avi Kivity commit d6a8c875f35a6e1b3fb3f21e93eabb183b1f39ee Author: Jan Kiszka Date: Mon Apr 20 18:10:07 2009 +0200 KVM: Drop request_nmi from stats The stats entry request_nmi is no longer used as the related user space interface was dropped. So clean it up. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit fe8e7f83de3f0979f13f57992cb33e4a8041272d Author: Gleb Natapov Date: Thu Apr 23 17:03:48 2009 +0300 KVM: SVM: Don't reinject event that caused a task switch If a task switch caused by an event remove it from the event queue. VMX already does that. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b586eb0253083795e58dcbe76665410d4676dc08 Author: Andre Przywara Date: Tue Apr 28 12:45:43 2009 +0200 KVM: SVM: Fix cross vendor migration issue in segment segment descriptor On AMD CPUs sometimes the DB bit in the stack segment descriptor is left as 1, although the whole segment has been made unusable. Clear it here to pass an Intel VMX entry check when cross vendor migrating. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 9b5843ddd20557b77c73ddbcc814a8c816bf3d3a Author: Glauber Costa Date: Wed Apr 29 17:29:09 2009 -0400 KVM: fix apic_debug instances Apparently nobody turned this on in a while... setting apic_debug to something compilable, generates some errors. This patch fixes it. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit efbc100c20f9dc4a219a2a92763d68e4064109f2 Author: Chris Wright Date: Fri May 1 14:15:43 2009 -0700 KVM: Trivial format fix in setup_routing_entry() Remove extra tab. Signed-off-by: Chris Wright Signed-off-by: Avi Kivity commit 8e1c18157d8772e65247ac55525a05a26b83fffe Author: Sheng Yang Date: Wed Apr 29 11:09:04 2009 +0800 KVM: VMX: Disable VMX when system shutdown Intel TXT(Trusted Execution Technology) required VMX off for all cpu to work when system shutdown. CC: Joseph Cihula Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 522c68c4416de3cd3e11a9ff10d58e776a69ae1e Author: Sheng Yang Date: Mon Apr 27 20:35:43 2009 +0800 KVM: Enable snooping control for supported hardware Memory aliases with different memory type is a problem for guest. For the guest without assigned device, the memory type of guest memory would always been the same as host(WB); but for the assigned device, some part of memory may be used as DMA and then set to uncacheable memory type(UC/WC), which would be a conflict of host memory type then be a potential issue. Snooping control can guarantee the cache correctness of memory go through the DMA engine of VT-d. [avi: fix build on ia64] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 4b12f0de33a64dfc624b2480f55b674f7fa23ef2 Author: Sheng Yang Date: Mon Apr 27 20:35:42 2009 +0800 KVM: Replace get_mt_mask_shift with get_mt_mask Shadow_mt_mask is out of date, now it have only been used as a flag to indicate if TDP enabled. Get rid of it and use tdp_enabled instead. Also put memory type logical in kvm_x86_ops->get_mt_mask(). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 9b62e5b10ff0f98346bcbe4a4fe3a0ca8fa7be30 Author: Jan Blunck Date: Tue Apr 7 23:58:56 2009 +0000 KVM: Wake up waitqueue before calling get_cpu() This moves the get_cpu() call down to be called after we wake up the waiters. Therefore the waitqueue locks can safely be rt mutex. Signed-off-by: Jan Blunck Signed-off-by: Sven-Thorsten Dietrich Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 14d0bc1f7c8226d5088e7182c3b53e0c7e91d1af Author: Gleb Natapov Date: Tue Apr 21 17:45:11 2009 +0300 KVM: Get rid of get_irq() callback It just returns pending IRQ vector from the queue for VMX/SVM. Get IRQ directly from the queue before migration and put it back after. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 16d7a191170f0ca48c2c3277017b3e6d275e0711 Author: Gleb Natapov Date: Tue Apr 21 17:45:10 2009 +0300 KVM: Fix userspace IRQ chip migration Re-put pending IRQ vector into interrupt_bitmap before migration. Otherwise it will be lost if migration happens in the wrong time. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 95ba82731374eb1c2af4dd442526c4b314f0e8b6 Author: Gleb Natapov Date: Tue Apr 21 17:45:08 2009 +0300 KVM: SVM: Add NMI injection support Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c4282df98ae0993983924c00ed76428a6609d68b Author: Gleb Natapov Date: Tue Apr 21 17:45:07 2009 +0300 KVM: Get rid of arch.interrupt_window_open & arch.nmi_window_open They are recalculated before each use anyway. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0a5fff192388d2a74aa9ab5e0d394b745df9f225 Author: Gleb Natapov Date: Tue Apr 21 17:45:06 2009 +0300 KVM: Do not report TPR write to userspace if new value bigger or equal to a previous one. Saves many exits to userspace in a case of IRQ chip in userspace. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 615d5193055880d44db92b72403b7549251ac2a6 Author: Gleb Natapov Date: Tue Apr 21 17:45:05 2009 +0300 KVM: sync_lapic_to_cr8() should always sync cr8 to V_TPR Even if IRQ chip is in userspace. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 115666dfc733a6749d99bcf3b2fe3fa253218b36 Author: Gleb Natapov Date: Tue Apr 21 17:45:04 2009 +0300 KVM: Remove kvm_push_irq() No longer used. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1d6ed0cb95a2f0839e1a31f1971dc37cd60c258a Author: Gleb Natapov Date: Tue Apr 21 17:45:03 2009 +0300 KVM: Remove inject_pending_vectors() callback It is the same as inject_pending_irq() for VMX/SVM now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1cb948ae86f3d95cce58fac51d00766825f5f783 Author: Gleb Natapov Date: Tue Apr 21 17:45:02 2009 +0300 KVM: Remove exception_injected() callback. It always return false for VMX/SVM now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 9222be18f76b4410b4da0d06e1cc21079e64b3ec Author: Gleb Natapov Date: Thu Apr 23 17:14:37 2009 +0300 KVM: SVM: Coalesce userspace/kernel irqchip interrupt injection logic Start to use interrupt/exception queues like VMX does. This also fix the bug that if exit was caused by a guest internal exception access to IDT the exception was not reinjected. Use EVENTINJ to inject interrupts. Use VINT only for detecting when IRQ windows is open again. EVENTINJ ensures the interrupt is injected immediately and not delayed. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 5df56646472c42495dd2412c8d8aa72e59efe79a Author: Gleb Natapov Date: Tue Apr 21 17:44:59 2009 +0300 KVM: Use kvm_arch_interrupt_allowed() instead of checking interrupt_window_open directly kvm_arch_interrupt_allowed() also checks IF so drop the check. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1f21e79aaced0a041e9399346960ce26ae0f5a4e Author: Gleb Natapov Date: Tue Apr 21 17:44:58 2009 +0300 KVM: VMX: Cleanup vmx_intr_assist() Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 863e8e658ee9ac6e5931b295eb7428456e450a0f Author: Gleb Natapov Date: Tue Apr 21 17:44:57 2009 +0300 KVM: VMX: Consolidate userspace and kernel interrupt injection for VMX Use the same callback to inject irq/nmi events no matter what irqchip is in use. Only from VMX for now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 8061823a25218174f30c3dd943989e1d72f7d06e Author: Gleb Natapov Date: Tue Apr 21 17:44:56 2009 +0300 KVM: Make kvm_cpu_(has|get)_interrupt() work for userspace irqchip too At the vector level, kernel and userspace irqchip are fairly similar. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3438253926822a6bf8487b4f7d82f26a2c0b2388 Author: Jan Kiszka Date: Sat Apr 25 12:43:21 2009 +0200 KVM: MMU: Fix auditing code Fix build breakage of hpa lookup in audit_mappings_page. Moreover, make this function robust against shadow_notrap_nonpresent_pte entries. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 43890ae8bcc5fa88ef3061613efe041b866fbc5a Author: Jes Sorensen Date: Fri Apr 17 16:43:27 2009 +0200 KVM: ia64: ia64 vcpu_reset() do not call kmalloc() with irqs disabled Restore local irq enabled state before calling kvm_arch_vcpu_init(), which calls kmalloc(GFP_KERNEL). Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 4d13c3b04f14a9a72ffcdd082acc243e7e56b4e0 Author: Jes Sorensen Date: Thu Apr 16 16:53:13 2009 +0200 KVM: ia64: preserve int status through call to kvm_insert_vmm_mapping Preserve interrupt status around call to kvm_insert_vmm_mappin() in kvm_vcpu_pre_transition(). Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 457459c3c738dfb37226ba116ba301140da0d1fb Author: Jes Sorensen Date: Thu Apr 16 16:08:29 2009 +0200 KVM: ia64: restore irq state before calling kvm_vcpu_init Make sure to restore the psr after calling kvm_insert_vmm_mapping() which calls ia64_itr_entry() as it disables local interrupts and kvm_vcpu_init() may sleep. Avoids a warning from the lock debugging code. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit f9b647adda0e821538b6d80e52873d861ffb1799 Author: Jes Sorensen Date: Thu Apr 16 11:24:58 2009 +0200 KVM: ia64: remove empty function vti_vcpu_load() vti_vcpu_load() doesn't do anything, so lets get rid of it. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 64f6afbd4c3317eb6845d770aa345afd3f120471 Author: Xiantao Zhang Date: Thu Apr 16 17:59:16 2009 +0800 KVM: ia64: Flush all TLBs once guest's memory mapping changes. Flush all vcpu's TLB entries once changes guest's memory mapping. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 59839dfff5eabca01cc4e20b45797a60a80af8cb Author: Marcelo Tosatti Date: Thu Apr 16 08:30:44 2009 -0300 KVM: x86: check for cr3 validity in ioctl_set_sregs Matt T. Yourst notes that kvm_arch_vcpu_ioctl_set_sregs lacks validity checking for the new cr3 value: "Userspace callers of KVM_SET_SREGS can pass a bogus value of cr3 to the kernel. This will trigger a NULL pointer access in gfn_to_rmap() when userspace next tries to call KVM_RUN on the affected VCPU and kvm attempts to activate the new non-existent page table root. This happens since kvm only validates that cr3 points to a valid guest physical memory page when code *inside* the guest sets cr3. However, kvm currently trusts the userspace caller (e.g. QEMU) on the host machine to always supply a valid page table root, rather than properly validating it along with the rest of the reloaded guest state." http://sourceforge.net/tracker/?func=detail&atid=893831&aid=2687641&group_id=180599 Check for a valid cr3 address in kvm_arch_vcpu_ioctl_set_sregs, triple fault in case of failure. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit c6b60c6921381130e5288b19f5fdf81152230b37 Author: Jes Sorensen Date: Thu Apr 16 10:43:48 2009 +0200 KVM: ia64: Don't hold slots_lock in guest mode Reorder locking to avoid holding the slots_lock when entering the guest. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit 463656c0007ddccee78db383eeb9e6eac75ccb7f Author: Avi Kivity Date: Sun Apr 12 15:49:07 2009 +0300 KVM: Replace kvmclock open-coded get_cpu_var() with the real thing Suggested by Ingo Molnar. Signed-off-by: Avi Kivity commit 8317c298eab14cc20e2de5289743ff0d4c5a6b30 Author: Gleb Natapov Date: Sun Apr 12 13:37:02 2009 +0300 KVM: SVM: Skip instruction on a task switch only when appropriate If a task switch was initiated because off a task gate in IDT and IDT was accessed because of an external even the instruction should not be skipped. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit ba8afb6b0a2c7e06da760ffe5d078245058619b5 Author: Gleb Natapov Date: Sun Apr 12 13:36:57 2009 +0300 KVM: x86 emulator: Add new mode of instruction emulation: skip In the new mode instruction is decoded, but not executed. The EIP is moved to point after the instruction. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit e637b8238ad1783ebdd113bd34cd6982dec1006d Author: Gleb Natapov Date: Sun Apr 12 13:36:52 2009 +0300 KVM: x86 emulator: Decode soft interrupt instructions Do not emulate them yet. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 84ce66a6865192567172f08ab5269aa380fa6ead Author: Gleb Natapov Date: Sun Apr 12 13:36:46 2009 +0300 KVM: x86 emulator: Completely decode in/out at decoding stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 341de7e3728ade102eaadf56af404f4ce865a73d Author: Gleb Natapov Date: Sun Apr 12 13:36:41 2009 +0300 KVM: x86 emulator: Add unsigned byte immediate decode Extend "Source operand type" opcode description field to 4 bites to accommodate new option. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit d53c4777b3a3e5031710d0664851d1309325884b Author: Gleb Natapov Date: Sun Apr 12 13:36:36 2009 +0300 KVM: x86 emulator: Complete decoding of call near in decode stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b2833e3cdebfe3ea4d0d1d3ce4d2ff1c42a4f8f4 Author: Gleb Natapov Date: Sun Apr 12 13:36:30 2009 +0300 KVM: x86 emulator: Complete short/near jcc decoding in decode stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 782b877c8073a9ef307ad6638ee472b8336b2b85 Author: Gleb Natapov Date: Sun Apr 12 13:36:25 2009 +0300 KVM: x86 emulator: Complete ljmp decoding at decode stage Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0654169e7309f2f68ec4bea9257b14b05ea94d7d Author: Gleb Natapov Date: Sun Apr 12 13:36:20 2009 +0300 KVM: x86 emulator: Add lcall decoding No emulation yet. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit a5f868bd45a64ce1f502d228723a5b6c357790cd Author: Gleb Natapov Date: Sun Apr 12 13:36:14 2009 +0300 KVM: x86 emulator: Add decoding of 16bit second immediate argument Such as segment number in lcall/ljmp Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c2d0ee46e6e633a3c23ecbcb9b03ad731906cd79 Author: Marcelo Tosatti Date: Sun Apr 5 14:54:47 2009 -0300 KVM: MMU: remove global page optimization logic Complexity to fix it not worthwhile the gains, as discussed in http://article.gmane.org/gmane.comp.emulators.kvm.devel/28649. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2f8b9ee14eb439008e0c5131116ea6baa40dba50 Author: nathan binkert Date: Fri Mar 27 21:53:05 2009 -0700 KVM: Make kvm header C++ friendly Two things needed fixing: 1) g++ does not allow a named structure type within an anonymous union and 2) Avoid name clash between two padding fields within the same struct by giving them different names as is done elsewhere in the header. Signed-off-by: Nathan Binkert Signed-off-by: Avi Kivity commit ede2ccc51742059d356d419260460cbbf3e36273 Author: Marcelo Tosatti Date: Wed Apr 8 13:14:19 2009 -0300 KVM: PIT: fix count read and mode 0 handling Commit 46ee278652f4cbd51013471b64c7897ba9bcd1b1 causes Solaris 10 to hang on boot. Assuming that PIT counter reads should return 0 for an expired timer is wrong: when it is active, the counter never stops (see comment on __kpit_elapsed). Also arm a one shot timer for mode 0. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2906e79f21a559e49611e1e188c4993cd45d9ce1 Author: Zhang, Xiantao Date: Thu Apr 9 21:37:28 2009 +0800 KVM: ia64: make kvm depend on CONFIG_MODULES. Since kvm-intel modue can't be built-in, make kvm depend on CONFIG_MODULES. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 2d033196541959d91802d5a62e63771448101557 Author: Gleb Natapov Date: Thu Apr 2 15:51:46 2009 +0300 KVM: x86 emulator: fix call near emulation The length of pushed on to the stack return address depends on operand size not address size. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 4c26b4cd6ff6c3f7534f2aea9615a561c372ed05 Author: Sheng Yang Date: Thu Apr 2 10:28:37 2009 +0800 KVM: MMU: Discard reserved bits checking on PDE bit 7-8 1. It's related to a Linux kernel bug which fixed by Ingo on 07a66d7c53a538e1a9759954a82bb6c07365eff9. The original code exists for quite a long time, and it would convert a PDE for large page into a normal PDE. But it fail to fit normal PDE well. With the code before Ingo's fix, the kernel would fall reserved bit checking with bit 8 - the remaining global bit of PTE. So the kernel would receive a double-fault. 2. After discussion, we decide to discard PDE bit 7-8 reserved checking for now. For this marked as reserved in SDM, but didn't checked by the processor in fact... Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 64a7ec066813443440bfc9f60a9e76a47cfa6b2b Author: Gleb Natapov Date: Mon Mar 30 16:03:29 2009 +0300 KVM: Fix unneeded instruction skipping during task switching. There is no need to skip instruction if the reason for a task switch is a task gate in IDT and access to it is caused by an external even. The problem is currently solved only for VMX since there is no reliable way to skip an instruction in SVM. We should emulate it instead. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b237ac37a149e8b56436fabf093532483bff13b0 Author: Gleb Natapov Date: Mon Mar 30 16:03:24 2009 +0300 KVM: Fix task switch back link handling. Back link is written to a wrong TSS now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 8843419048e500f8f38df555bca1bf7948804b7f Author: Gleb Natapov Date: Mon Mar 30 16:03:18 2009 +0300 KVM: VMX: Do not zero idt_vectoring_info in vmx_complete_interrupts(). We will need it later in task_switch(). Code in handle_exception() is dead. is_external_interrupt(vect_info) will always be false since idt_vectoring_info is zeroed in vmx_complete_interrupts(). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 37b96e988053c4dd21811b0408a12f8f60b4d0c8 Author: Gleb Natapov Date: Mon Mar 30 16:03:13 2009 +0300 KVM: VMX: Rewrite vmx_complete_interrupt()'s twisted maze of if() statements ...with a more straightforward switch(). Also fix a bug when NMI could be dropped on exit. Although this should never happen in practice, since NMIs can only be injected, never triggered internally by the guest like exceptions. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 7b4a25cb296e2a73d2e87a4af65361d45d450a27 Author: Gleb Natapov Date: Mon Mar 30 16:03:08 2009 +0300 KVM: VMX: Fix handling of a fault during NMI unblocked due to IRET Bit 12 is undefined in any of the following cases: If the VM exit sets the valid bit in the IDT-vectoring information field. If the VM exit is due to a double fault. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 20c466b56168ddccf034c136510d73e4a0e18605 Author: Dong, Eddie Date: Tue Mar 31 23:03:45 2009 +0800 KVM: Use rsvd_bits_mask in load_pdptrs() Also remove bit 5-6 from rsvd_bits_mask per latest SDM. Signed-off-by: Eddie Dong Signed-off-by: Avi Kivity commit 93ba03c2e2aba23b042cc15eef83b7a66d3ac17a Author: Sheng Yang Date: Wed Apr 1 15:52:32 2009 +0800 KVM: VMX: Fix feature testing The testing of feature is too early now, before vmcs_config complete initialization. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 045471563df4b8723202a66ae54d58788b0f8e88 Author: Sheng Yang Date: Wed Apr 1 15:52:31 2009 +0800 KVM: VMX: Clean up Flex Priority related And clean paranthes on returns. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7a6ce84c74a3064f6b6dda9e2d55c509cd4e78e4 Author: Wei Yongjun Date: Tue Mar 31 16:47:44 2009 +0800 KVM: remove pointless conditional before kfree() in lapic initialization Remove pointless conditional before kfree(). Signed-off-by: Wei Yongjun Signed-off-by: Avi Kivity commit 9645bb56b31a1b70ab9e470387b5264cafc04aa9 Author: Avi Kivity Date: Tue Mar 31 11:31:54 2009 +0300 KVM: MMU: Use different shadows when EFER.NXE changes A pte that is shadowed when the guest EFER.NXE=1 is not valid when EFER.NXE=0; if bit 63 is set, the pte should cause a fault, and since the shadow EFER always has NX enabled, this won't happen. Fix by using a different shadow page table for different EFER.NXE bits. This allows vcpus to run correctly with different values of EFER.NXE, and for transitions on this bit to be handled correctly without requiring a full flush. Signed-off-by: Avi Kivity commit 82725b20e22fb85377f61a16f6d0d5cfc28b45d3 Author: Dong, Eddie Date: Mon Mar 30 16:21:08 2009 +0800 KVM: MMU: Emulate #PF error code of reserved bits violation Detect, indicate, and propagate page faults where reserved bits are set. Take care to handle the different paging modes, each of which has different sets of reserved bits. [avi: fix pte reserved bits for efer.nxe=0] Signed-off-by: Eddie Dong Signed-off-by: Avi Kivity commit 362c1055e58ecd25a9393c520ab263c80b147497 Author: Yang Zhang Date: Mon Mar 23 03:31:04 2009 -0400 KVM: ia64: enable external interrupt in vmm Currently, the interrupt enable bit is cleared when in the vmm. This patch sets the bit and the external interrupts can be dealt with when in the vmm. This improves the I/O performance. Signed-off-by: Yang Zhang Signed-off-by: Avi Kivity commit a8b876b1a469cb364fee16ba3aef01613a1231cc Author: Eddie Dong Date: Thu Mar 26 15:28:40 2009 +0800 KVM: MMU: Fix comment in page_fault() The original one is for the code before refactoring. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f9c617f61127615dd054f3f159213bdd12451cab Author: Sheng Yang Date: Wed Mar 25 10:08:52 2009 +0800 KVM: VMX: Correct wrong vmcs field sizes EXIT_QUALIFICATION and GUEST_LINEAR_ADDRESS are natural width, not 64-bit. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7d433b9f942606f66da8ef68b8baecd2915c5627 Author: Avi Kivity Date: Tue Mar 24 14:27:47 2009 +0200 KVM: VMX: Make flexpriority module parameter reflect hardware capability If the hardware does not support flexpriority, zero the module parameter. Signed-off-by: Avi Kivity commit 78646121e9a2fcf7977cc15966420e572a450bc3 Author: Gleb Natapov Date: Mon Mar 23 12:12:11 2009 +0200 KVM: Fix interrupt unhalting a vcpu when it shouldn't kvm_vcpu_block() unhalts vpu on an interrupt/timer without checking if interrupt window is actually opened. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 09cec754885f900f6aab23801878c0cd217ee1d6 Author: Gleb Natapov Date: Mon Mar 23 15:11:44 2009 +0200 KVM: Timer event should not unconditionally unhalt vcpu. Currently timer events are processed before entering guest mode. Move it to main vcpu event loop since timer events should be processed even while vcpu is halted. Timer may cause interrupt/nmi to be injected and only then vcpu will be unhalted. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 089d034e0c4538d2436512fa64782b91008d4a7c Author: Avi Kivity Date: Mon Mar 23 18:26:32 2009 +0200 KVM: VMX: Fold vm_need_ept() into callers Trivial. Signed-off-by: Avi Kivity commit 575ff2dcb25608d53737d1126ee0e7e4d6f11752 Author: Avi Kivity Date: Mon Mar 23 18:25:15 2009 +0200 KVM: VMX: Zero ept module parameter if ept is not present Allows reading back hardware capability. Signed-off-by: Avi Kivity commit 919818abc2ca0721f1cd296fbc24601d9044f993 Author: Avi Kivity Date: Mon Mar 23 18:01:29 2009 +0200 KVM: VMX: Zero the vpid module parameter if vpid is not supported This allows reading back how the hardware is configured. Signed-off-by: Avi Kivity commit 4462d21a615dfd0c0f672c10832a011d6f280d5a Author: Avi Kivity Date: Mon Mar 23 17:53:37 2009 +0200 KVM: VMX: Annotate module parameters as __read_mostly Signed-off-by: Avi Kivity commit 736caefe1511d9d1116ed4ffb0ea95b7368beb1f Author: Avi Kivity Date: Mon Mar 23 17:39:48 2009 +0200 KVM: VMX: Simplify module parameter names Instead of 'enable_vpid=1', use a simple 'vpid=1'. Signed-off-by: Avi Kivity commit 6062d012ed23c29672bb0f93ebcfb8e556def726 Author: Avi Kivity Date: Mon Mar 23 17:35:17 2009 +0200 KVM: VMX: Rename kvm_handle_exit() to vmx_handle_exit() It is a static vmx-specific function. Signed-off-by: Avi Kivity commit c1f8bc04c6f8576553dc87abe7562e868433a19f Author: Avi Kivity Date: Mon Mar 23 15:41:17 2009 +0200 KVM: VMX: Make module parameters readable Useful to see how the module was loaded. Signed-off-by: Avi Kivity commit fe4c7b1914ac46af751d256f5a20c2e12dcbaaae Author: Gleb Natapov Date: Mon Mar 23 11:23:18 2009 +0200 KVM: reuse (pop|push)_irq from svm.c in vmx.c The prioritized bit vector manipulation functions are useful in both vmx and svm. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 61c50edfcd40be9126579f9cec68c789b6089998 Author: Gleb Natapov Date: Sun Mar 22 12:37:05 2009 +0200 KVM: SVM: Remove duplicate code in svm_do_inject_vector() svm_do_inject_vector() reimplements pop_irq(). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 7fe29e0faacb650d31b9e9f538203a157bec821d Author: Amit Shah Date: Fri Mar 20 12:39:00 2009 +0530 KVM: x86: Ignore reads to EVNTSEL MSRs We ignore writes to the performance counters and performance event selector registers already. Kaspersky antivirus reads the eventsel MSR causing it to crash with the current behaviour. Return 0 as data when the eventsel registers are read to stop the crash. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit f00be0cae4e6ad0a8c7be381c6d9be3586800b3e Author: Gleb Natapov Date: Thu Mar 19 12:20:36 2009 +0200 KVM: MMU: do not free active mmu pages in free_mmu_pages() free_mmu_pages() should only undo what alloc_mmu_pages() does. Free mmu pages from the generic VM destruction function, kvm_destroy_vm(). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit e56d532f20c890a06bbe7cd479f4201e3a03cd73 Author: Sheng Yang Date: Thu Mar 12 21:45:39 2009 +0800 KVM: Device assignment framework rework After discussion with Marcelo, we decided to rework device assignment framework together. The old problems are kernel logic is unnecessary complex. So Marcelo suggest to split it into a more elegant way: 1. Split host IRQ assign and guest IRQ assign. And userspace determine the combination. Also discard msi2intx parameter, userspace can specific KVM_DEV_IRQ_HOST_MSI | KVM_DEV_IRQ_GUEST_INTX in assigned_irq->flags to enable MSI to INTx convertion. 2. Split assign IRQ and deassign IRQ. Import two new ioctls: KVM_ASSIGN_DEV_IRQ and KVM_DEASSIGN_DEV_IRQ. This patch also fixed the reversed _IOR vs _IOW in definition(by deprecated the old interface). [avi: replace homemade bitcount() by hweight_long()] Signed-off-by: Marcelo Tosatti Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 386eb6e8b3caface8a0514da70a47c05cabb5b96 Author: Hannes Eder Date: Tue Mar 10 22:51:09 2009 +0100 KVM: make 'lapic_timer_ops' and 'kpit_ops' static Fix this sparse warnings: arch/x86/kvm/lapic.c:916:22: warning: symbol 'lapic_timer_ops' was not declared. Should it be static? arch/x86/kvm/i8254.c:268:22: warning: symbol 'kpit_ops' was not declared. Should it be static? Signed-off-by: Hannes Eder Signed-off-by: Avi Kivity commit 0b5d7a2ccb98f0403b1969295429724af9dc9d8e Author: Jes Sorensen Date: Wed Feb 25 10:38:55 2009 -0600 KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler Copy in SN2 RTC based ITC emulation for fast exit. The two versions have the same size, so a dropin is simpler than patching the branch instruction to hit the SN2 version. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit ce17c643738bebcacf8d19d8cab7dd3eb96f9f32 Author: Jes Sorensen Date: Wed Feb 25 10:38:54 2009 -0600 KVM: ia64: SN2 adjust emulated ITC frequency to match RTC frequency On SN2 do not pass down the real ITC frequency, but rather patch the values to match the SN2 RTC frequency. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit c6c9fcdf0fff7da77c088be11e3c4d0181b36941 Author: Jes Sorensen Date: Wed Feb 25 10:38:53 2009 -0600 KVM: ia64: Create inline function kvm_get_itc() to centralize ITC reading. Move all reading of special register 'AR_ITC' into two functions, one in the kernel and one in the VMM module. When running on SN2, base the result on the RTC rather the system ITC, as the ITC isn't synchronized. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 0c72ea7fb8a39b4bba071b19f5f835af5b5e538a Author: Jes Sorensen Date: Wed Feb 25 10:38:52 2009 -0600 KVM: ia64: Map in SN2 RTC registers to the VMM module On SN2, map in the SN2 RTC registers to the VMM module, needed for ITC emulation. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 58c2dde17d6eb6c8c0566e52d184aa16755d890f Author: Gleb Natapov Date: Thu Mar 5 16:35:04 2009 +0200 KVM: APIC: get rid of deliver_bitmask Deliver interrupt during destination matching loop. Signed-off-by: Gleb Natapov Acked-by: Xiantao Zhang Signed-off-by: Marcelo Tosatti commit e1035715ef8d3171e29f9c6aee6f40d57b3fead5 Author: Gleb Natapov Date: Thu Mar 5 16:34:59 2009 +0200 KVM: change the way how lowest priority vcpu is calculated The new way does not require additional loop over vcpus to calculate the one with lowest priority as one is chosen during delivery bitmap construction. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 343f94fe4d16ec898da77720c03da9e09f8523d2 Author: Gleb Natapov Date: Thu Mar 5 16:34:54 2009 +0200 KVM: consolidate ioapic/ipi interrupt delivery logic Use kvm_apic_match_dest() in kvm_get_intr_delivery_bitmask() instead of duplicating the same code. Use kvm_get_intr_delivery_bitmask() in apic_send_ipi() to figure out ipi destination instead of reimplementing the logic. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit a53c17d21c46a752f5ac6695376481bc27865b04 Author: Gleb Natapov Date: Thu Mar 5 16:34:49 2009 +0200 KVM: ioapic/msi interrupt delivery consolidation ioapic_deliver() and kvm_set_msi() have code duplication. Move the code into ioapic_deliver_entry() function and call it from both places. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 6da7e3f643cf7099965d75fda8606b9d3a8650b9 Author: Gleb Natapov Date: Thu Mar 5 16:34:44 2009 +0200 KVM: APIC: kvm_apic_set_irq deliver all kinds of interrupts Get rid of ioapic_inj_irq() and ioapic_inj_nmi() functions. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit f5a1e9f89504f57b2b45645a7239dc8a8ddb0f4c Author: Joerg Roedel Date: Thu Mar 5 13:12:29 2009 +0100 KVM: MMU: remove call to kvm_mmu_pte_write from walk_addr There is no reason to update the shadow pte here because the guest pte is only changed to dirty state. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti commit 74a3a8f152053394a016518cc2f2fee216897fa4 Author: Sheng Yang Date: Wed Mar 4 13:33:02 2009 +0800 KVM: Merge kvm_ioapic_get_delivery_bitmask into kvm_get_intr_delivery_bitmask Gleb fixed bitmap ops usage in kvm_ioapic_get_delivery_bitmask. Sheng merged two functions, as well as fixed several issues in kvm_get_intr_delivery_bitmask 1. deliver_bitmask is a bitmap rather than a unsigned long intereger. 2. Lowest priority target bitmap wrong calculated by mistake. 3. Prevent potential NULL reference. 4. Declaration in include/kvm_host.h caused powerpc compilation warning. 5. Add warning for guest broadcast interrupt with lowest priority delivery mode. 6. Removed duplicate bitmap clean up in caller of kvm_get_intr_delivery_bitmask. Signed-off-by: Gleb Natapov Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit 3f5e06f8799adca3e7e1bbafe1cd780a3e69f604 Author: Yang Zhang Date: Mon Mar 2 22:06:41 2009 -0500 KVM: ia64: fix compilation error in kvm_get_lowest_prio_vcpu Modify the arg of kvm_get_lowest_prio_vcpu(). Make it consistent with its declaration. Signed-off-by: Yang Zhang Signed-off-by: Marcelo Tosatti commit d3c7b77d1a6e7a0a27035a7ba723a3455317883e Author: Marcelo Tosatti Date: Mon Feb 23 10:57:41 2009 -0300 KVM: unify part of generic timer handling Hide the internals of vcpu awakening / injection from the in-kernel emulated timers. This makes future changes in this logic easier and decreases the distance to more generic timer handling. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fd66842370e32f3bbe429677280a326c07e508c1 Author: Marcelo Tosatti Date: Mon Feb 23 10:57:40 2009 -0300 KVM: PIT: remove usage of count_load_time for channel 0 We can infer elapsed time from hrtimer_expires_remaining. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5a05d54554f19a128306eca7f7f5ed31f7d7eeb9 Author: Marcelo Tosatti Date: Mon Feb 23 10:57:39 2009 -0300 KVM: PIT: remove unused scheduled variable Unused. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b95b51d580bff9376850eef29d34c3aa08c26db7 Author: Christian Borntraeger Date: Thu Feb 26 13:55:33 2009 +0100 KVM: declare ioapic functions only on affected hardware Since "KVM: Unify the delivery of IOAPIC and MSI interrupts" I get the following warnings: CC [M] arch/s390/kvm/kvm-s390.o In file included from arch/s390/kvm/kvm-s390.c:22: include/linux/kvm_host.h:357: warning: 'struct kvm_ioapic' declared inside parameter list include/linux/kvm_host.h:357: warning: its scope is only this definition or declaration, which is probably not what you want This patch limits IOAPIC functions for architectures that have one. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit a90ede7b17d122acd58e6e1ff911be9dcf5263cc Author: Marcelo Tosatti Date: Wed Feb 11 22:45:42 2009 -0200 KVM: x86: paravirt skip pit-through-ioapic boot check Skip the test which checks if the PIT is properly routed when using the IOAPIC, aimed at buggy hardware. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2dea4c84bc936731668b5a7a9fba5b436a422668 Author: Matt T. Yourst Date: Tue Feb 24 15:28:00 2009 -0300 KVM: x86: silence preempt warning on kvm_write_guest_time This issue just appeared in kvm-84 when running on 2.6.28.7 (x86-64) with PREEMPT enabled. We're getting syslog warnings like this many (but not all) times qemu tells KVM to run the VCPU: BUG: using smp_processor_id() in preemptible [00000000] code: qemu-system-x86/28938 caller is kvm_arch_vcpu_ioctl_run+0x5d1/0xc70 [kvm] Pid: 28938, comm: qemu-system-x86 2.6.28.7-mtyrel-64bit Call Trace: debug_smp_processor_id+0xf7/0x100 kvm_arch_vcpu_ioctl_run+0x5d1/0xc70 [kvm] ? __wake_up+0x4e/0x70 ? wake_futex+0x27/0x40 kvm_vcpu_ioctl+0x2e9/0x5a0 [kvm] enqueue_hrtimer+0x8a/0x110 _spin_unlock_irqrestore+0x27/0x50 vfs_ioctl+0x31/0xa0 do_vfs_ioctl+0x74/0x480 sys_futex+0xb4/0x140 sys_ioctl+0x99/0xa0 system_call_fastpath+0x16/0x1b As it turns out, the call trace is messed up due to gcc's inlining, but I isolated the problem anyway: kvm_write_guest_time() is being used in a non-thread-safe manner on preemptable kernels. Basically kvm_write_guest_time()'s body needs to be surrounded by preempt_disable() and preempt_enable(), since the kernel won't let us query any per-CPU data (indirectly using smp_processor_id()) without preemption disabled. The attached patch fixes this issue by disabling preemption inside kvm_write_guest_time(). [marcelo: surround only __get_cpu_var calls since the warning is harmless] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d510d6cc653bc4b3094ea73afe12600d0ab445b3 Author: Sheng Yang Date: Wed Feb 25 17:22:28 2009 +0800 KVM: Enable MSI-X for KVM assigned device This patch finally enable MSI-X. What we need for MSI-X: 1. Intercept one page in MMIO region of device. So that we can get guest desired MSI-X table and set up the real one. Now this have been done by guest, and transfer to kernel using ioctl KVM_SET_MSIX_NR and KVM_SET_MSIX_ENTRY. 2. Information for incoming interrupt. Now one device can have more than one interrupt, and they are all handled by one workqueue structure. So we need to identify them. The previous patch enable gsi_msg_pending_bitmap get this done. 3. Mapping from host IRQ to guest gsi as well as guest gsi to real MSI/MSI-X message address/data. We used same entry number for the host and guest here, so that it's easy to find the correlated guest gsi. What we lack for now: 1. The PCI spec said nothing can existed with MSI-X table in the same page of MMIO region, except pending bits. The patch ignore pending bits as the first step (so they are always 0 - no pending). 2. The PCI spec allowed to change MSI-X table dynamically. That means, the OS can enable MSI-X, then mask one MSI-X entry, modify it, and unmask it. The patch didn't support this, and Linux also don't work in this way. 3. The patch didn't implement MSI-X mask all and mask single entry. I would implement the former in driver/pci/msi.c later. And for single entry, userspace should have reposibility to handle it. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 2350bd1f62c8706c22b8e58c3bfff10806c0a31b Author: Sheng Yang Date: Wed Feb 25 17:22:27 2009 +0800 KVM: Add MSI-X interrupt injection logic We have to handle more than one interrupt with one handler for MSI-X. Avi suggested to use a flag to indicate the pending. So here is it. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit c1e01514296e8a4a43ff0c88dcff635cb90feb5f Author: Sheng Yang Date: Wed Feb 25 17:22:26 2009 +0800 KVM: Ioctls for init MSI-X entry Introduce KVM_SET_MSIX_NR and KVM_SET_MSIX_ENTRY two ioctls. This two ioctls are used by userspace to specific guest device MSI-X entry number and correlate MSI-X entry with GSI during the initialization stage. MSI-X should be well initialzed before enabling. Don't support change MSI-X entry number for now. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit bfd349d073b2838a6a031f057d25e266619b7093 Author: Sheng Yang Date: Wed Feb 11 16:03:40 2009 +0800 KVM: bit ops for deliver_bitmap It's also convenient when we extend KVM supported vcpu number in the future. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 110c2faeba1f1994bcb1de55b9c31f4147dbfdb6 Author: Sheng Yang Date: Wed Feb 11 16:03:39 2009 +0800 KVM: Update intr delivery func to accept unsigned long* bitmap Would be used with bit ops, and would be easily extended if KVM_MAX_VCPUS is increased. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit e5871be0f5d6847bc9585c997acb1b917c168f03 Author: Sheng Yang Date: Wed Feb 11 16:03:38 2009 +0800 KVM: Change API of kvm_ioapic_get_delivery_bitmask In order to use with bit ops. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 116191b69b608d0f1513e3abe71d6a46800f2bd6 Author: Sheng Yang Date: Wed Feb 11 16:03:37 2009 +0800 KVM: Unify the delivery of IOAPIC and MSI interrupts Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit cf9e4e15e8f6306b2559979269ead7c02e6b2b95 Author: Sheng Yang Date: Wed Feb 11 16:03:36 2009 +0800 KVM: Split IOAPIC structure Prepared for reuse ioapic_redir_entry for MSI. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5897297bc228fc3c85fdc421fd5c487f9a99821a Author: Avi Kivity Date: Tue Feb 24 22:26:47 2009 +0200 KVM: VMX: Don't intercept MSR_KERNEL_GS_BASE Windows 2008 accesses this MSR often on context switch intensive workloads; since we run in guest context with the guest MSR value loaded (so swapgs can work correctly), we can simply disable interception of rdmsr/wrmsr for this MSR. A complication occurs since in legacy mode, we run with the host MSR value loaded. In this case we enable interception. This means we need two MSR bitmaps, one for legacy mode and one for long mode. Signed-off-by: Avi Kivity commit 3e7c73e9b15eab73e9cf72daf3931925da8afcff Author: Avi Kivity Date: Tue Feb 24 21:46:19 2009 +0200 KVM: VMX: Don't use highmem pages for the msr and pio bitmaps Highmem pages are a pain, and saving three lowmem pages on i386 isn't worth the extra code. Signed-off-by: Avi Kivity commit fa047e4f6fa63a6e9d0ae4d7749538830d14a343 Author: Jiri Kosina Date: Wed Jun 10 10:25:56 2009 +0200 HID: fix inverted wheel for bluetooth version of apple mighty mouse Bluetooth version of Apple Mighty mouse (0x05ac/0x030c) doesn't, according to multiple reports on linux-input@, need the same quirk as the USB version of this mouse (0x05ac/0x0304) does. Signed-off-by: Jiri Kosina commit 51611a120e8120290152edd7d0020d22a7f4b4a3 Author: Wolfgang Grandegger Date: Wed Jun 10 01:12:39 2009 -0700 can: sja1000_of_platform: fix build problems with printk format According to "Documentation/printk-formats.txt", if the type is dependent on a config option for its size, like resource_size_t, we should use a format specifier of its largest possible type and explicitly cast to it. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit bf12691d846b48fa6e3289810a822687457036cf Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:48 2009 +0000 sunrpc/auth_gss: Call rcu_barrier() on module unload. As the module uses rcu_call() we should make sure that all rcu callback has been completed before removing the code. Signed-off-by: Jesper Dangaard Brouer Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit eaa184a1a1cda3991420c47bc960ddea6cbacff2 Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:43 2009 +0000 sctp: protocol.c call rcu_barrier() on unload. On module unload call rcu_barrier(), this is needed as synchronize_rcu() is not strong enough. The kmem_cache_destroy() does invoke synchronize_rcu() but it does not provide same protection. Signed-off-by: Jesper Dangaard Brouer Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 382bfeec48e43c416af9b271b9b70d2f61ef32d2 Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:38 2009 +0000 can: af_can.c use rcu_barrier() on module unload. This module uses rcu_call() thus it should use rcu_barrier() on module unload. Signed-off-by: Jesper Dangaard Brouer Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 67137f3cc727e4da0297ffd7bfade837aa15ecfa Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:33 2009 +0000 nfnetlink_queue: Use rcu_barrier() on module unload. This module uses rcu_call() thus it should use rcu_barrier() on module unload. Also fixed a trivial typo 'nfetlink' -> 'nfnetlink' in comment. Signed-off-by: Jesper Dangaard Brouer Acked-by: Paul E. McKenney Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 6e327c11a91d190650df9aabe7d3694d4838bfa1 Author: Jesper Dangaard Brouer Date: Mon Jun 8 03:11:28 2009 +0000 8021q: Vlan driver should use rcu_barrier() on unload instead of syncronize_net() The VLAN 8021q driver needs to call rcu_barrier() when unloading the module, instead of syncronize_net(). This is needed to make sure that outstanding call_rcu() callbacks have completed, before the callback function code is removed on module unload. Signed-off-by: Jesper Dangaard Brouer Reviewed-by: Paul E. McKenney Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 40bc9a27e00d6c8c7e4dc2865c02d7402a950472 Author: Steven Whitehouse Date: Wed Jun 10 09:09:40 2009 +0100 GFS2: Fix cache coherency between truncate and O_DIRECT read If a page was partially zeroed as the result of a truncate, then it was not being correctly marked dirty. This resulted in the deleted data reappearing if the file was read back via direct I/O. Reported-by: Eric Sandeen Signed-off-by: Steven Whitehouse commit 1abb0de2f89c1f9c454c973356b9e4867722f10a Author: Ron Mercer Date: Tue Jun 9 06:35:12 2009 +0000 qlge: bugfix: Get rid of errant spin_unlock(). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 00acd0d2ecac925fdcbe47cbda5ea517f87ad354 Author: Ron Mercer Date: Tue Jun 9 05:39:31 2009 +0000 qlge: Add set TX csum ethtool op. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e4552f51ceefcf51b79c5bf8dafc7abb4bb7657d Author: Ron Mercer Date: Tue Jun 9 05:39:32 2009 +0000 qlge: Add support for varied pcie function numbers. Currently we support only PCIe NIC functions zero and one, and FCoE functions as 3 and 4. Future configurations can mix these up in any fashion. This patch removes the 0-1 dependancy and allows usage of any of the 4 functions. We also find the alternate NIC function (if exist) and determine our port number based on the comparison of the two functions: Lower function number gets first port, higher function gets second port. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 542512e4824c1cecc05478f279dccbde1d8bf97a Author: Ron Mercer Date: Tue Jun 9 05:39:33 2009 +0000 qlge: Add support for using alternate MAC address. Extract either manufacturer or Bladecenter Open Fabric Manager (BOFM) MAC address. BOFM may indicate an alternate MAC address. This patch honors that request by extracting the MAC address from a different flash location if a flag is set. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ec33a49135d96df56ef106a49c2434ca81f821f9 Author: Ron Mercer Date: Tue Jun 9 05:39:28 2009 +0000 qlge: Drop inbound frames > MTU. The max frame size register is set higher than the MTU to accomodate FCoE frames. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a32959cd9df77423c8b375119ee7f135ff302bc1 Author: Ron Mercer Date: Tue Jun 9 05:39:27 2009 +0000 qlge: Drop inbound error frames. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit e4059d942a211cc752c145bd46b03386e425be0b Author: Ron Mercer Date: Tue Jun 9 05:39:30 2009 +0000 qlge: Remove netif_set_gso_max_size() call. Not necessary if hardware supports 65536 as it's the default setting. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit cfec0cbc92cdcec5a540bf340c5a9fb8c89e5af1 Author: Ron Mercer Date: Tue Jun 9 05:39:29 2009 +0000 qlge: Add support for retrieving firmware version. This is used by driver banner and ethtool info. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c1d0d32a603ed06377f404adf2c538de33bb3634 Author: Paul Mundt Date: Wed Jun 10 09:48:33 2009 +0300 sh: plug vsyscall dir in to archclean. The vsyscall targets are presently not cleaned up, so just handle it in the archclean rule. Reported-by: Magnus Damm Signed-off-by: Paul Mundt commit 85e013a18acfad98473a4432bb7082d1fcc74a25 Merge: 4ef2792 92a4379 Author: Takashi Iwai Date: Wed Jun 10 07:26:49 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb - Add boot quirk for C-Media 6206 USB Audio ALSA: usb-audio - errata corrige for quirk ALSA: usb-audio - Add quirk for Roland/Edirol M-16DX ALSA: usb-audio - quirk for USB Aureon cards commit 4ef279205a1ca4c37bf80811dd9d0f65c854fbf7 Merge: 1282c82 0528c74 Author: Takashi Iwai Date: Wed Jun 10 07:26:48 2009 +0200 Merge branch 'topic/seq-kconfig-cleanup' into for-linus * topic/seq-kconfig-cleanup: ALSA: clean up the logic for building sequencer modules commit 1282c824cc4ad5b43fc1813e7ea564c0d6f0d046 Merge: 45d60e3 82ced6f Author: Takashi Iwai Date: Wed Jun 10 07:26:46 2009 +0200 Merge branch 'topic/section-fix' into for-linus * topic/section-fix: ALSA: Add missing __devexit_p() markers ALSA: powermac - Replace the rest of __init* ALSA: sound/ppc: update annotations of serveral functions commit 45d60e3648eaba1f5f6976df901fb7c45660fb49 Merge: 87cb14a b0ec3a3 Author: Takashi Iwai Date: Wed Jun 10 07:26:45 2009 +0200 Merge branch 'topic/sc6000' into for-linus * topic/sc6000: ALSA: sc6000: enable joystick port ALSA: sc6000: fix older card initialization ALSA: sc6000: add support for SC-6600 and SC-7000 commit 87cb14a5f46207f5c445dd755096f8568d136a2a Merge: 4ad7543 db1005e Author: Takashi Iwai Date: Wed Jun 10 07:26:44 2009 +0200 Merge branch 'topic/riptide' into for-linus * topic/riptide: ALSA: riptide - Fix joystick resource handling ALSA: riptide - Code clean up commit 4ad75433c2a8a2eab16b077456202815adc536f9 Merge: 3b88bc5 9a83b74 Author: Takashi Iwai Date: Wed Jun 10 07:26:43 2009 +0200 Merge branch 'topic/pcm-subclass-fix' into for-linus * topic/pcm-subclass-fix: ALSA: Remove invalid GENERIC_MIX PCM sublass commit 3b88bc522986ae853670fcba71bb3761c84f7867 Merge: eabaf06 c007011 Author: Takashi Iwai Date: Wed Jun 10 07:26:41 2009 +0200 Merge branch 'topic/pcm-jiffies-check' into for-linus * topic/pcm-jiffies-check: ALSA: pcm - A helper function to compose PCM stream name for debug prints ALSA: pcm - Fix update of runtime->hw_ptr_interrupt ALSA: pcm - Fix a typo in hw_ptr update check ALSA: PCM midlevel: lower jiffies check margin using runtime->delay value ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed ALSA: PCM midlevel: introduce mask for xrun_debug() macro ALSA: PCM midlevel: improve fifo_size handling commit eabaf0634a9034f2e487b0be347edc1460c026a4 Merge: 9dea75c ae1ec5e Author: Takashi Iwai Date: Wed Jun 10 07:26:40 2009 +0200 Merge branch 'topic/pcm-delay' into for-linus * topic/pcm-delay: ALSA: usbaudio - Add delay account ALSA: Add extra delay count in PCM commit 9dea75c70965c240012251dc5845fe0c1a061180 Merge: 8c3ff3a 04f9890 Author: Takashi Iwai Date: Wed Jun 10 07:26:39 2009 +0200 Merge branch 'topic/oxygen' into for-linus * topic/oxygen: sound: virtuoso: add Xonar Essence ST support sound: virtuoso: enable HDAV S/PDIF input sound: virtuoso: add another DX PCI ID sound: oxygen: reset DMA when stream is closed commit 8c3ff3a7fb9730564554bb65d54455e6ce8ad340 Merge: ed8cc17 ad0b082 Author: Takashi Iwai Date: Wed Jun 10 07:26:37 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: sgio2audio.c: clean up checking ALSA: burgundy: timeout message is off by one. ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99 ALSA: parisc/harmony: fix printk format warning ALSA: keywest: Get rid of useless i2c_device_name() macro commit ed8cc176c9d3f8fbc2ddc18b75362be666e6d328 Merge: 03cece0 72cbfd4 Author: Takashi Iwai Date: Wed Jun 10 07:26:36 2009 +0200 Merge branch 'topic/maya44' into for-linus * topic/maya44: ALSA: ice1724 - Add ESI Maya44 support ALSA: ice1724 - Allow spec driver to create own routing controls ALSA: ice1724 - Add PCI postint to reset sequence ALSA: ice1724 - Clean up definitions of DMA records ALSA: ice1724 - Check error in set_rate function commit 03cece06c41431ab71affc540d587e61894d7572 Merge: 3c2fcf3 8338c30 Author: Takashi Iwai Date: Wed Jun 10 07:26:34 2009 +0200 Merge branch 'topic/lx6464es' into for-linus * topic/lx6464es: ALSA: Add missing description of lx6464es to ALSA-Configuration.txt ALSA: lx6464es - Disable lx_message_send() ALSA: lx6464es - Use snd_card_create() ALSA: lx6464es - driver for the digigram lx6464es interface commit 3c2fcf36d78d75eef46c2e39483ff8c3230ae335 Merge: 81ad969 511b4c1 Author: Takashi Iwai Date: Wed Jun 10 07:26:32 2009 +0200 Merge branch 'topic/hdsp' into for-linus * topic/hdsp: ALSA: hdsp - Add a comment about external firmwares for hdsp ALSA: hdsp: allow firmware loading from inside the kernel commit 81ad969dbf8b10c3e79c5811b8328c054c21ef39 Merge: 2f0dabc f03ecf5 Author: Takashi Iwai Date: Wed Jun 10 07:26:31 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: (51 commits) ALSA: hda - Fix the previous tagra-8ch patch ALSA: hda - Add 7.1 support for MSI GX620 ALSA: support Sony Vaio TT ALSA: hda_intel: fix build error when !PM ALSA: hda - More Aspire 8930G fixes ALSA: hda - Acer Aspire 8930G support ALSA: hda - Limit codec-verb retry to limited hardwares ALSA: hda - Add codec bus reset and verb-retry at critical errors ALSA: hda - Reorder and clean-up ALC268 quirk table ALSA: hda - fix audio on LG R510 ALSA: hda - Macbook[Pro] 5 6ch support ALSA: hda-intel: improve initialization for ALC262_HP_BPC model ALSA: hda - Jack Mode changes for Sigmatel boards ALSA: hda - Support NVIDIA 8 channel HDMI audio ALSA: hda - Fix a typo in the previous patch ALSA: hda - Fix reverted LED setup for HP ALSA: hda - Add more register bits definitions ALSA: hda - Always sync writes in single_cmd mode ALSA: hda - Support sync after writing a verb ALSA: hda - Allow concurrent RIRB access in single_cmd mode ... commit 2f0dabcc5f5fde67c64a6f71e9fb369aed39d56f Merge: 19b1a15 806d31d Author: Takashi Iwai Date: Wed Jun 10 07:26:29 2009 +0200 Merge branch 'topic/emu10k1' into for-linus * topic/emu10k1: ALSA: emu10k1 - Fix minimum periods for efx playback commit 19b1a15a3de2b3b6367c968e65bffe9503556ef1 Merge: e618a56 3f7440a Author: Takashi Iwai Date: Wed Jun 10 07:26:28 2009 +0200 Merge branch 'topic/div64-cleanup' into for-linus * topic/div64-cleanup: ALSA: Clean up 64bit division functions commit e618a5609e504845786c71e2825e10b6a9728185 Merge: d3e3743 a5990dc Author: Takashi Iwai Date: Wed Jun 10 07:26:27 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: (35 commits) ALSA: ctxfi - Clear PCM resources at hw_params and hw_free ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks ALSA: ctxfi - Add missing start check in atc_pcm_playback_start() ALSA: ctxfi - Add use_system_timer module option ALSA: ctxfi - Fix wrong model id for UAA ALSA: ctxfi - Clean up probe routines ALSA: ctxfi - Fix / clean up hw20k2 chip code ALSA: ctxfi - Fix possible buffer pointer overrun ALSA: ctxfi - Remove useless initializations and cast ALSA: ctxfi - Fix DMA mask for emu20k2 chip ALSA: ctxfi - Make volume controls more intuitive ALSA: ctxfi - Optimize the native timer handling using wc counter ALSA: ctxfi - Add missing inclusion of linux/math64.h ALSA: ctxfi - Set device 0 for mixer control elements ALSA: ctxfi - Clean up / optimize ALSA: ctxfi - Set periods_min to 2 ALSA: ctxfi - Use native timer interrupt on emu20k1 ALSA: ctxfi - Fix previous fix for 64bit DMA ALSA: ctxfi - Fix endian-dependent codes ALSA: ctxfi - Allow 64bit DMA ... commit d3e3743694cbfd64450b3468e11b40ba8c6f4369 Merge: d108728 5fdc18d Author: Takashi Iwai Date: Wed Jun 10 07:26:26 2009 +0200 Merge branch 'topic/core-id-check' into for-linus * topic/core-id-check: ALSA: Core - clean up snd_card_set_id* calls and remove possible id collision ALSA: Fix double locking of card list in snd_card_register() commit d108728ea24a766335ae22f10bfaf41f248fb70e Merge: ab2f06c ef9dfa4 Author: Takashi Iwai Date: Wed Jun 10 07:26:24 2009 +0200 Merge branch 'topic/cleanup' into for-linus * topic/cleanup: ALSA: Remove deprecated include/sound/driver.h ALSA: Remove deprecated snd_card_new() commit ab2f06cb6b7cc4cb782387a19fbfed3dfe8a8436 Merge: a963203 c6e24d4 Author: Takashi Iwai Date: Wed Jun 10 07:26:23 2009 +0200 Merge branch 'topic/caiaq' into for-linus * topic/caiaq: ALSA: snd_usb_caiaq: bump version number ALSA: snd_usb_caiaq: give better shortname ALSA: Core - add snd_card_set_id() function ALSA: snd_usb_caiaq: give better longname ALSA: snd_usb_caiaq: use strlcpy ALSA: snd_usb_caiaq: clean whitespaces commit a963203c18e5988506bd173b75ca002df528ed48 Merge: 1d479f8 c486567 Author: Takashi Iwai Date: Wed Jun 10 07:26:22 2009 +0200 Merge branch 'topic/ca0106' into for-linus * topic/ca0106: ALSA: ca0106 - Fix master volume scale ALSA: ca0106 - Add missing card->mixername field setup ALSA: ca0106 - Add missing registrations of vmaster controls commit 1d479f89ec9f29df220bfa1af297ab2f35be1e30 Merge: ba252af e9ab33d Author: Takashi Iwai Date: Wed Jun 10 07:26:21 2009 +0200 Merge branch 'topic/au88x0' into for-linus * topic/au88x0: ALSA: au88x0: fix wrong period_elapsed() call ALSA: au88x0: fix .pointer callback commit ba252af8d60f543a2a2c03f5574f64007ae9c2f3 Merge: 07a2039 74b8f95 Author: Takashi Iwai Date: Wed Jun 10 07:26:18 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: (135 commits) ASoC: Apostrophe patrol ASoC: codec tlv320aic23 fix bogus divide by 0 message ASoC: fix NULL pointer dereference in soc_suspend() ASoC: Fix build error in twl4030.c ASoC: SSM2602: assign last substream to the master when shutting down ASoC: Blackfin: document how anomaly 05000250 is handled ASoC: Blackfin: set the transfer size according the ac97_frame size ASoC: SSM2602: remove unsupported sample rates ASoC: TWL4030: Check the interface format for 4 channel mode ASoC: TWL4030: Use reg_cache in twl4030_init_chip ASoC: Initialise dev for the dummy S/PDIF DAI ASoC: Add dummy S/PDIF codec support ASoC: correct print specifiers for unsigneds ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout() ASoC: Switch FSL SSI DAI over to symmetric_rates ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved ASoC: Fabric bindings for STAC9766 on the Efika ASoC: Support for AC97 on Phytec pmc030 base board. ASoC: AC97 driver for mpc5200 ASoC: Main rewite of the mpc5200 audio DMA code ... commit 2b83868723d090078ac0e2120e06a1cc94dbaef0 Author: Linus Torvalds Date: Tue Jun 9 20:40:25 2009 -0700 Make /dev/zero reads interruptible by signals This helps with bad latencies for large reads from /dev/zero, but might conceivably break some application that "knows" that a read of /dev/zero cannot return early. So do this early in the merge window to give us maximal test coverage, even if the patch is totally trivial. Obviously, no well-behaved application should ever depend on the read being uninterruptible, but hey, bugs happen. Signed-off-by: Linus Torvalds commit 0808dc80939b08ec215f472e17a5d8f6b148037e Author: David S. Miller Date: Tue Jun 9 18:05:28 2009 -0700 netfilter: Fix extra semi-colon in skb_walk_frags() changes. Noticed by Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 1506e30b5f25f6c3357167a18f0e4ae6f5662a28 Author: Johannes Berg Date: Tue Jun 9 17:49:06 2009 -0700 rfkill: include err.h Since we use ERR_PTR and similar macros, we need to include linux/err.h. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 35f2c2f6f6ae13ef23c4f68e6d3073753077ca43 Author: Paul Mundt Date: Tue Jun 9 17:48:56 2009 +0900 nommu: Provide mmap_min_addr definition. With the "security: use mmap_min_addr indepedently of security models" change, mmap_min_addr is used in common areas, which susbsequently blows up the nommu build. This stubs in the definition in the nommu case as well. Signed-off-by: Paul Mundt -- mm/nommu.c | 3 +++ 1 file changed, 3 insertions(+) Signed-off-by: James Morris commit fc847ab4318cd6ab6c231739ad51d2502d19a87a Author: James Bottomley Date: Tue Jun 9 23:01:01 2009 +0000 [SCSI] mpt fusion: fix up doc book comments Several of the doc book in the previous patches had incorrect multi-line short function descriptors. Fixed it all to be the correct single line descriptor. Signed-off-by: James Bottomley commit db7051b2984d2c7d44b6178ad4c523500dff7f7c Author: Kashyap, Desai Date: Fri May 29 16:56:59 2009 +0530 [SCSI] mpt fusion: Added support for Broadcast primitives Event handling Firmware is able to handle Broadcast primitives, but upstream driver does not have support for broadcast primitive handling. Now this patch is mainly to support broadcast primitives. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 57e985136bfafdfcd72c4c7d91115955d225677e Author: Kashyap, Desai Date: Fri May 29 16:55:09 2009 +0530 [SCSI] mpt fusion: Queue full event handling FW will report Queue full event to Driver and driver will handle this queue full event to SCSI Mid layer. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit a7938b0bb3b458fe0723608be3db6c4ed8d79a8c Author: Kashyap, Desai Date: Fri May 29 16:53:56 2009 +0530 [SCSI] mpt fusion: RAID device handling and Dual port Raid support is added 1. Handle integrated Raid device(Add/Delete) and error condition and check related to Raid device. is_logical_volume will represent logical volume device. 2. Raid device dual port support is added. Main functions to support this feature are mpt_raid_phys_disk_get_num_paths and mpt_raid_phys_disk_pg1. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 71278192a887d7da3e768809c6fe9979d172ff23 Author: Kashyap, Desai Date: Fri May 29 16:53:14 2009 +0530 [SCSI] mpt fusion: Put IOC into ready state if it not already in ready state Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 2f187862e579f1f5e883188cab6bd867cb60387f Author: Kashyap, Desai Date: Fri May 29 16:52:37 2009 +0530 [SCSI] mpt fusion: Code Cleanup patch Resending patch considering Grants G's code review. Main goal to submit this patch is code cleaup. 1. Better driver debug prints and code indentation. 2. fault_reset_work_lock is not used anywhere. driver is using taskmgmt_lock instead of fault_reset_work_lock. 3. setting pci_set_drvdata properly. 4. Ingore config request when IOC is in reset state.( ioc_reset_in_progress is set). 5. Init/clear managment frame proprely.(INITIALIZE_MGMT_STATUS and CLEAR_MGMT_STATUS) Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit eedf92b99806aeff18dc21c9dfb28999ce374413 Author: Kashyap, Desai Date: Fri May 29 16:51:32 2009 +0530 [SCSI] mpt fusion: Rescan SAS topology added 1.) SAS topology Rescan is added. If Firmware is doing Reset and we get Device add interrupt from Firmware, we will not receive it as part of Reset is going ON. After Reset we will do special Rescan of SAS topology. 2.) Driver version changed from 3.04.08 to 3.04.09. Added proper lock/unlock in mptsas_not_responding_devices() as per James' comment. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit f9c34022eae9c76465dc2ec8805b9905e171ef40 Author: Kashyap, Desai Date: Fri May 29 16:49:36 2009 +0530 [SCSI] mpt fusion: SAS topology scan changes, expander events SAS topology scan is restructured. HBA firmware is generating more events. Expander Events are added, Link status events are also added with respect to SAS topology scan optimization. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 3eb0822c6740c5564c37a2fe56449cdb4f3d800c Author: Kashyap, Desai Date: Fri May 29 16:47:26 2009 +0530 [SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue Now Firmware events are handled by firmware event queue. Previously it was handled in interrupt context/WorkQueue of Linux. Firmware Event handling is restructured and optimized. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit ea2a788de4ce5ebab09276e25443f55592af2335 Author: Kashyap, Desai Date: Fri May 29 16:46:50 2009 +0530 [SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function 1) rewrite of ioctl_cmds internal generated function that issue commands to firmware, porting them to be single threaded using the generic MPT_MGMT struct. All wait Queues are replace by completion Queue. 2) added seperate callback handler for ioctl task managment (mptctl_taskmgmt_reply), to handle command that timeout 3) rewrite mptctl_bus_reset Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit e7deff3374cc5951f914dcb3c66bc1b8de8a084e Author: Kashyap, Desai Date: Fri May 29 16:46:07 2009 +0530 [SCSI] mpt fusion: Adding DeviceResetCtx for internal Device reset frame 1.) Added taskmgmt_quiesce_io flag in IOC and removed resetPending from _MPT_SCSI_HOST struct. 2.) Reset from Scsi mid layer and internal Reset are seperate context. Adding DeviceResetCtx for internal Device reset frame. mptsas_taskmgmt_complete is optimized as part of implementation. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 1ba9ab2eb2c53df52e498779e14cf4e5ea77b0ad Author: Kashyap, Desai Date: Fri May 29 16:44:48 2009 +0530 [SCSI] mpt fusion: rewrite taskmgmt request and completion routines 1.) rewrite taskmanagement request and completion routines, making them single threaded and using the generic MPT_MGMT struct, deleting mptscsih_TMHandler, replacing with single request TM handler mptscsih_IssueTaskMgmt, and killing the watchdog timer functions. 2.) cleanup ioc_reset callback handlers, introducing wrappers for synchronizing error recovery (mpt_set_taskmgmt_in_progress_flag, mpt_clear_taskmgmt_in_progress_flag), as the fusion firmware only handles one task management request at a time Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 37c60f374a855974c27bd30d5662a8fa5e933792 Author: Kashyap, Desai Date: Fri May 29 16:44:06 2009 +0530 [SCSI] mpt fusion: rewrite of all internal generated functions Rewrite of all internal generated functions that issue commands to firmware, porting them to be single threaded using the generic MPT_MGMT struct. Implemented using completion Queue. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit f0f09d3b3f06900d64971625d6753dea0623ed45 Author: Kashyap, Desai Date: Fri May 29 16:40:57 2009 +0530 [SCSI] mpt fusion: config path optimized, completion queue is used 1) Previously we had mutliple #defines to use same values. Now those #defines are optimized. MPT_IOCTL_STATUS_* is removed and MPT_MGMT_STATUS_* are new #defines. 2.) config path is optimized. Instead of wait Queue and timer, using completion Q. 3.) mpt_timer_expired is not used. [jejb: elide patch to eliminate mpt_timer_expired] Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit fd76175a7d3abf4d14df17f5f4c7e68b466b455d Author: Kashyap, Desai Date: Fri May 29 16:39:06 2009 +0530 [SCSI] mpt fusion: Optimized SendEvent notification Using Doorbell instead FIFO SendEventNotification was handled through FIFO, now it is using doorbell to communicate with hardware. Added Sleep Flag as an extra argument to support Can-Sleep feature. Resending patch including compilation error fix reviewed by Grant Grundler. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 7b5a65b9e649dad9cf9c6d282df4162843070351 Author: Kashyap, Desai Date: Fri May 29 16:38:14 2009 +0530 [SCSI] mpt fusion: Added support for MPT discovery completion check sas_discovery_quiesce_io flag is used to control IO start/resume functionality. IO will be stoped while doing discovery of topology. Once discovery is completed It will resume IO. Resending patch including James review. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 14d0f0b063f5363984dd305a792854f9c23e9e97 Author: Kashyap, Desai Date: Fri May 29 16:37:04 2009 +0530 [SCSI] mpt fusion: Fixing 1078 data corruption issue for 36GB memory region The reason for this change is there is a data corruption when four different physical memory regions in the 36GB to 37GB region are accessed. This is only affecting 1078. The solution is we need to use different addressing when filling in the scatter gather table for the effected memory regions. So instead of snooping on all four different memory holes, we treat any physical addresses in the 36GB address with the same algorithm. The fix is explained below 1) Ensure that the message frames are NOT located in the trouble region. There is no remapping available for message frames, they must be allocated outside the problem region. 2) Ensure that Sense buffers are NOT in the trouble region. There is no remapping available. 3) Walk through the SGE entries and if any are inside the trouble region then they need to be remapped as discussed below. 1) Set the Local Address bit in the SGE Flags field. MPI_SGE_FLAGS_LOCAL_ADDRESS 2) Ensure we are using 64-bit SGEs 3) Set MSb (Bit 63) of the 64-bit address, this will indicate buffer location is Host Memory. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 03d6069912babc07a3da20e715dd6a5dc8f0f867 Author: Keith Packard Date: Fri Jun 5 18:19:56 2009 -0700 drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect) With the DRM-driven DPMS code, encoders are considered idle unless a connector is hooked to them, so mode setting is skipped. This makes load detection fail as none of the hardware is enabled. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 2939e1f5331455d17a4a704dd6210e1474002545 Author: Chris Wilson Date: Sat Jun 6 09:46:03 2009 +0100 drm/i915: NOMEM->NOSPC To differentiate between encountering an out-of-memory error with running out of space in the aperture, use ENOSPC for the later. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 21d509e339565c82887733c02465bb7f5866c8f5 Author: Chris Wilson Date: Sat Jun 6 09:46:02 2009 +0100 drm/i915: use I915_GEM_GPU_DOMAINS Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit b1ce786cb85280490ca3c29a62ddf8608826b414 Author: Chris Wilson Date: Sat Jun 6 09:46:00 2009 +0100 drm/i915: no need to hold mutex for object lookup Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 1f803ee5cea67d2387aeedb4b07e645a743729de Author: Chris Wilson Date: Sat Jun 6 09:45:59 2009 +0100 drm/i915: Call drm_vblank_post_modeset() on error paths. Ensure that the drm_vblank_pre_modeset() is always balanced by drm_vblank_post_modeset() within intel_crtc_mode_set(). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 110bf2b764eb6026b868d84499263cb24b1bcc8d Author: Steven Rostedt Date: Tue Jun 9 17:29:07 2009 -0400 tracing: add protection around module events unload When reading the trace buffer, there is a race that when a module is unloaded it removes events that is stilled referenced in the buffers. This patch adds the protection around the unloading of the events from modules and the reading of the trace buffers. Signed-off-by: Steven Rostedt commit b9d97328e27b9272ed2ff2ad18de61aa1bf12af8 Author: Randy Dunlap Date: Tue Jun 9 08:50:38 2009 -0700 kernel-doc: cleanup perl script Various cleanups of scripts/kernel-doc: - don't use **/ as an ending kernel-doc block since it's not preferred; - typos/spellos - add whitespace around ==, after comma, & around . operator; Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit ef53dae8658cf0e93d380983824a661067948d87 Author: Sam Ravnborg Date: Sun Jun 7 20:46:37 2009 +0200 Improve vmlinux.lds.h support for arch specific linker scripts To support alingment of the individual architecture specific linker scripts provide a set of general definitions in vmlinux.lds.h With these definitions applied the diverse linekr scripts can be reduced in line count and their readability are improved - IMO. A sample linker script is included to give the preferred order of the sections for the architectures that do not have any special requirments. These definitions are also a first step towards eventual support for -ffunction-sections. The definitions makes it much easier to do a global renaming of section names - but the main purpose is to clean up the linker scripts. Tim Aboot has provided a lot of inputs to improve the definitions - all faults are mine. Signed-off-by: Sam Ravnborg Cc: Tim Abbott commit 5f26a2c7ad6eba97141e8372f3def282f934b169 Author: Chris Wilson Date: Sat Jun 6 09:45:58 2009 +0100 drm/i915: OR in the COMMAND read domain for the batch buffer. The batch buffer may be shared with another read buffer, so we should not ignore any previously set domains, but just or in the command domain (and check that the buffer is not writable). Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit 83d60795157c83389e6aaa0532d5e19afa976a24 Author: Chris Wilson Date: Sat Jun 6 09:45:57 2009 +0100 drm/i915: Sanity check execbuffer arguments before touching state. By sending a broken execbuffer (its length was not suitably aligned) I triggered an operation upon a freed object. The invalid alignment was discovered after updating the write_domain on the object but before the object was placed on the active queue. So during the unwind process following the error, the now freed object attempts to flush its non-existent, but outstanding, GPU writes causing this use-after-free. [drm:i915_dispatch_gem_execbuffer] *ERROR* alignment [drm:i915_gem_execbuffer] *ERROR* dispatch failed -22 WARNING: at lib/kref.c:43 warn_slowpath_null+0x10/0x15() Modules linked in: Pid: 4552, comm: lt-csi-drm Not tainted 2.6.30-rc6 #423 Call Trace: [] warn_slowpath_fmt+0x57/0x6d [] ? get_pageblock_migratetype+0x18/0x1e [] ? free_hot_page+0xa/0xc [] ? __free_pages+0x16/0x1f [] ? shmem_truncate_range+0x63e/0x656 [] ? slob_page_alloc+0x146/0x1c8 [] warn_slowpath_null+0x10/0x15 [] kref_get+0x1b/0x21 [] i915_gem_object_move_to_active+0x1f/0x56 [] i915_add_request+0x156/0x19a [] i915_gem_object_flush_gpu_write_domain+0x28/0x3f [] i915_gem_object_unbind+0x4a/0x124 [] i915_gem_free_object+0x33/0x9b [] drm_gem_object_free+0x28/0x4a [] ? drm_gem_object_free+0x0/0x4a [] kref_put+0x38/0x41 [] drm_gem_object_unreference+0x11/0x13 [] drm_gem_object_handle_unreference+0x1e/0x21 [] drm_gem_object_release_handle+0xa/0xe [] idr_for_each+0x5f/0x98 [] ? drm_gem_object_release_handle+0x0/0xe [] drm_gem_release+0x22/0x34 [] drm_release+0x1e8/0x3c4 [] __fput+0xaf/0x146 [] fput+0x12/0x14 [] filp_close+0x48/0x52 [] put_files_struct+0x57/0x9b [] exit_files+0x1e/0x20 [] do_exit+0x16d/0x511 [] ? __schedule+0x3d4/0x3e5 [] ? handle_irq+0xd/0x69 [] do_group_exit+0x4d/0x73 [] sys_exit_group+0x13/0x17 [] sysenter_do_call+0x12/0x2b Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt commit eedc9d83eaab2d35fb9dd1ec25b765dec964e26c Author: Russell King Date: Sat Jun 6 22:47:11 2009 +0100 kbuild: fix headers_exports with boolean expression When we had code like this in a header unifdef failed to deduct that the expression was always false - and we had code exported that was not intended for userspace. #if defined(__KERNEL__) && !defined(__ASSEMBLY__) int a; #endif This commit implment support in unidef which allows it to work out if an #if expression always evaluates true or false for symbols which are being undefined/always defined. The patch is slightly more complicated than I'd hoped because unifdef needs to see lines fully evaluated - doing otherwise causes it to mark the line as "dirty" and copy it over no matter what. Signed-off-by: Russell King Signed-off-by: Sam Ravnborg commit 67b7ebe091cd92fd69f732da3170720d79c4e632 Author: Amerigo Wang Date: Thu Jun 4 22:12:01 2009 -0400 kbuild/headers_check: refine extern check 'extern' checking information is not clear, refine it. Plus, fix a comment. Signed-off-by: WANG Cong [sam: redid the extern error message] Acked-by: Arnd Bergmann Signed-off-by: Sam Ravnborg commit 7211b8b9028854eee0d03ee6231440b7fb492521 Author: Sergei Poselenov Date: Fri Jun 5 16:11:09 2009 +0400 kbuild: fix "Argument list too long" error for "make headers_check", I'm trying to install kernel headers to build a cross-toolchain, but got the following: make ARCH=arm INSTALL_HDR_PATH=/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/ +arm-linux-gnueabi/arm-linux-gnueabi/ headers_check ... CHECK include/linux/raid (2 files) CHECK include/linux/spi (1 files) CHECK include/linux/sunrpc (1 files) CHECK include/linux/tc_act (6 files) CHECK include/linux/tc_ematch (4 files) CHECK include/linux/usb (8 files) make[2]: execvp: /bin/sh: Argument list too long make[2]: *** [/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueab +i/arm-linux-gnueabi//include/linux/.check] Error 127 make[1]: *** [linux] Error 2 make: *** [headers_check] Error 2 -> Introduce use of xargs to fix this. Signed-off-by: Sergei Poselenov Cc: Wolfgang Denk Signed-off-by: Sam Ravnborg commit 35763e854f8aa2d579236a4670c32c078d143b3a Author: Mike Frysinger Date: Tue May 26 19:37:54 2009 -0400 ignore *.patch files Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit bdefe35d40c6bb5859dadee26c2e19bf58540f1d Author: dann frazier Date: Fri Jun 5 15:02:49 2009 -0700 Remove bashisms from scripts The '-e' option to echo and brace expansion are not guaranteed to be supported by a POSIX-compliant /bin/sh (e.g. dash) Signed-off-by: dann frazier Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a9eb522375abc79c2bf23940a067bc0046276236 Author: Randy Dunlap Date: Fri Jun 5 15:02:47 2009 -0700 menu: fix embedded menu presentation The STRIP_ASM_SYMS kconfig symbol mucks up the embedded menu because STRIP_ASM_SYMS is in the middle of the embedded menu items but it does not depend on EMBEDDED. Move it to beyond the end of the embedded menu so that the menu is presented correctly. Or if STRIP_ASM_SYMS should depend on EMBEDDED, that can also be fixed. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 8b8b76c045beb85c1c2b28e07eff6599a1e95cf1 Author: Sam Ravnborg Date: Sat Jun 6 00:18:05 2009 +0200 kbuild: add hint about __refdata to modpost As requested by Guennadi Liakhovetski Cc: Guennadi Liakhovetski Signed-off-by: Sam Ravnborg commit 1581c1cede3b180b77aa08024c6ca406252cc21f Author: Robert P. J. Day Date: Tue May 12 13:43:36 2009 -0700 scripts/headers_check.pl: correct RE in header CONFIG leak check Correct the regular expression in scripts/headers_check.pl to include '_' as a valid character in the class; otherwise, the check will report a "leaked" symbol of CONFIG_A_B_C as merely CONFIG_A. This patch will make no difference whatsoever in the current kernel tree as the call to the perl routine that does that check is currently commented out: &check_include(); &check_asm_types(); &check_sizetypes(); &check_prototypes(); # Dropped for now. Too much noise &check_config(); However, I noticed that problem when I was building the yum downloadable kernel source rpm for fedora 11 (beta), which *does* run that check, and that's where the problem became obvious. Signed-off-by: Robert P. J. Day Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit ad6ccfad6f759a5d657dabe2071a8f2a503fcc84 Author: Manish Katiyar Date: Tue May 12 13:43:35 2009 -0700 kernel/kallsyms.c: replace deprecated __initcall with device_initcall and fix whitespace Fix coding style whitespace issues and replace __initcall with device_initcall. Fixed multi-line comments as per coding style. Errors as reported by checkpatch.pl :- Before: total: 14 errors, 14 warnings, 487 lines checked After : total: 0 errors, 8 warnings, 507 lines checked Compile tested binary verified as :- Before: text data bss dec hex filename 2405 4 0 2409 969 kernel/kallsyms.o After : text data bss dec hex filename 2405 4 0 2409 969 kernel/kallsyms.o Signed-off-by: Manish Katiyar Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 12122f62324e7c6837ee8b0fa8d257ce7ebcfc6f Author: Markus Heidelberg Date: Mon May 18 01:36:54 2009 +0200 kconfig: do not hardcode "include/config/auto.conf" filename Regardless of KCONFIG_AUTOCONFIG, the filename written as a Make target into "include/config/auto.conf.cmd" was always the default one. Of course this doesn't make it work for the Kernel kbuild system, since there the filename is hardcoded at several places in the Makefiles. Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 284026cdfb5a899e558dcb7a36aefaf54a78c094 Author: Markus Heidelberg Date: Mon May 18 01:36:53 2009 +0200 kconfig: do not hardcode ".config" filename Rather than hardcoding ".config" use conf_get_configname(), which also respects the environment variable KCONFIG_CONFIG. This fixes "make silentoldconfig" when KCONFIG_CONFIG is used and also suggests the given filename for "Load" and "Save as" in qconf. Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 8d90c97e46930d01e9394bceb6276c7175136bdc Author: Markus Heidelberg Date: Mon May 18 01:36:52 2009 +0200 kconfig qconf: fix the type of the desktop widget QApplication::desktop() returns a pointer to QDesktopWidget, not to QWidget. Fixes the following compiler error after a quick conversion with 'qt3to4', which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2. scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()': scripts/kconfig/qconf.cc:1289: error: cannot convert 'QDesktopWidget*' to 'QWidget*' in initialization Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit fbb86374445d97072dd994f1a4adf023bfd1e86e Author: Markus Heidelberg Date: Mon May 18 01:36:51 2009 +0200 kconfig qconf: add namespace for use of Key_ enum values They are defined in the 'Qt' namespace. Fixes the following compiler errors after a quick conversion with 'qt3to4', which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2. scripts/kconfig/qconf.cc: In member function 'virtual void ConfigLineEdit::keyPressEvent(QKeyEvent*)': scripts/kconfig/qconf.cc:311: error: 'Key_Escape' was not declared in this scope scripts/kconfig/qconf.cc:313: error: 'Key_Return' was not declared in this scope scripts/kconfig/qconf.cc:314: error: 'Key_Enter' was not declared in this scope scripts/kconfig/qconf.cc: In member function 'virtual void ConfigList::keyPressEvent(QKeyEvent*)': scripts/kconfig/qconf.cc:653: error: 'Key_Escape' was not declared in this scope scripts/kconfig/qconf.cc:666: error: 'Key_Return' was not declared in this scope scripts/kconfig/qconf.cc:667: error: 'Key_Enter' was not declared in this scope scripts/kconfig/qconf.cc:681: error: 'Key_Space' was not declared in this scope scripts/kconfig/qconf.cc:684: error: 'Key_N' was not declared in this scope scripts/kconfig/qconf.cc:687: error: 'Key_M' was not declared in this scope scripts/kconfig/qconf.cc:690: error: 'Key_Y' was not declared in this scope scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()': scripts/kconfig/qconf.cc:1329: error: 'CTRL' was not declared in this scope scripts/kconfig/qconf.cc:1329: error: 'Key_Q' was not declared in this scope scripts/kconfig/qconf.cc:1331: error: 'Key_L' was not declared in this scope scripts/kconfig/qconf.cc:1333: error: 'Key_S' was not declared in this scope scripts/kconfig/qconf.cc:1340: error: 'Key_F' was not declared in this scope Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 7298b936017859fce4906e38f485c131520fe857 Author: Markus Heidelberg Date: Mon May 18 01:36:50 2009 +0200 kconfig qconf: fix namespace for Horizontal and Vertical enum values They were used as QSplitter::Horizontal resp. QSplitter::Vertical, but are defined in the 'Qt' namespace. Fixes the following compiler errors after a quick conversion with 'qt3to4', which occured with g++ 3.4.6 and 4.1.2, but not anymore with 4.3.2. scripts/kconfig/qconf.cc: In constructor 'ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow*, const char*)': scripts/kconfig/qconf.cc:1213: error: 'Vertical' is not a member of 'QSplitter' scripts/kconfig/qconf.cc: In constructor 'ConfigMainWindow::ConfigMainWindow()': scripts/kconfig/qconf.cc:1304: error: 'Horizontal' is not a member of 'QSplitter' scripts/kconfig/qconf.cc:1311: error: 'Vertical' is not a member of 'QSplitter' Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 98403a91389d11edd954e8f89dcffc3db525657f Author: Markus Heidelberg Date: Mon May 18 01:36:49 2009 +0200 kconfig qconf: fix -Wall compiler warnings These compiler warnings occure when adding -Wall to HOSTCXXFLAGS in /Makefile scripts/kconfig/qconf.h: In constructor ‘ConfigInfoView::ConfigInfoView(QWidget*, const char*)’: scripts/kconfig/qconf.h:274: warning: ‘ConfigInfoView::menu’ will be initialized after scripts/kconfig/qconf.h:273: warning: ‘symbol* ConfigInfoView::sym’ scripts/kconfig/qconf.cc:922: warning: when initialized here scripts/kconfig/qconf.cc: In member function ‘void ConfigMainWindow::setMenuLink(menu*)’: scripts/kconfig/qconf.cc:1498: warning: enumeration value ‘menuMode’ not handled in switch scripts/kconfig/qconf.cc:1498: warning: enumeration value ‘listMode’ not handled in switch scripts/kconfig/qconf.cc: In member function ‘void ConfigMainWindow::saveSettings()’: scripts/kconfig/qconf.cc:1664: warning: enumeration value ‘menuMode’ not handled in switch scripts/kconfig/qconf.cc:1664: warning: enumeration value ‘listMode’ not handled in switch Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit c26dd719a5b9d94d12211f2d101bd7dffb7f9f1f Author: Markus Heidelberg Date: Mon May 18 01:36:48 2009 +0200 gitignore: ignore Kconfig i18n files Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 98f540d31ba0d3598b52177e194dde0bc498352d Author: Markus Heidelberg Date: Mon May 18 01:36:47 2009 +0200 kconfig: resort the documentation of the environment variables All the KCONFIG_ environment variables were previously located in a section "Environment variables in 'menuconfig'", but neither are they restricted to 'menuconfig' nor are they all used by 'menuconfig'. Introduce the following three sections for these variables: * Environment variables for '*config' * Environment variables for '{allyes/allmod/allno/rand}config' * Environment variables for 'silentoldconfig' Furthermore this puts MENUCONFIG_MODE next to MENUCONFIG_COLOR into a common section "User interface options for 'menuconfig'". Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 590a5857291e88c00a1be53fb373e8bf82f86284 Author: Markus Heidelberg Date: Mon May 18 01:36:46 2009 +0200 kconfig: add a note about the deps to the 'silentoldconfig' help Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit 6f26e5e412ddc23e1d698390243e39802410ab15 Author: Markus Heidelberg Date: Mon May 18 01:36:45 2009 +0200 kconfig: fix typo "mconfig" to "menuconfig" in a comment Signed-off-by: Markus Heidelberg Signed-off-by: Sam Ravnborg commit b8b0618cf6fab3bd5b1da8c72f4b29847d81ac42 Author: Cheng Renquan Date: Tue May 26 16:03:07 2009 +0800 kbuild: remove extra ifdef/endif of top Makefile The GNU make's origin function know undefined variable well, so the outer ifdef/endif conditional checking is unneeded. From `info make` documentation, origin will return `undefined' if VARIABLE was never defined. `command line' if VARIABLE was defined on the command line. ... Therefore, $(origin V) will get a value anyway, killing ifdef/endif is viable and safe. Furthermore, I've checked the minimal requirements from Documentation/Changes is GNU make 3.79.1, and that version of GNU make has support of origin function well already, so now it's safe to kill the outer conditional checking, without upgrading the minimal requirements. Signed-off-by: Cheng Renquan Signed-off-by: Sam Ravnborg commit 3e56f08bffe9e3e2b936eb73bd51d8800d1b42c2 Author: David VomLehn Date: Sat May 30 18:13:32 2009 -0700 kbuild/Documentation: Incorrect makefile syntax in example There is an error in the make syntax for one of the kbuild examples Signed-off-by: David VomLehn Signed-off-by: Sam Ravnborg commit 2d51005c27a12e43d672debbbb918e7f74987f96 Author: Jiri Slaby Date: Sun May 31 18:05:34 2009 +0200 kbuild: allow docproc invocation from external - getcwd returns path without a slash at the end, add the slash - add KBUILD_SRC env support, so that we can specify path for kernel (to know where scripts/kernel-doc resides) and SRCTREE (for searching files referenced in .tmpl) separately [v2] - use KBUILD_SRC instead of a newly introduced environment variable Signed-off-by: Jiri Slaby Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit cefdff4b4d5ba3f9b7eee2c1c1827553794cb465 Author: Amerigo Wang Date: Thu Jun 4 22:12:09 2009 -0400 kbuild: clean up scripts/headers.sh 'drop' variable is unused. 'ppc' and 'sparc64' directories don't exist in arch/, and I think their headers can be well exported now, so just remove them. Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit fd6c3a8dc44329d3aff9a578b5120982f63711ee Author: Jan Beulich Date: Thu Mar 12 10:58:33 2009 +0000 initconst adjustments - add .init.rodata to INIT_DATA, and group all initconst flavors together - move strings generated from __setup_param() into .init.rodata - add .*init.rodata to modpost's sets of init sections - make modpost warn about references between meminit and cpuinit as well as memexit and cpuexit sections (as CPU and memory hotplug are independently selectable features) Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit 6d9923219c6cd1df360f8823253717623f3ad348 Author: maximilian attems Date: Thu Apr 23 01:12:58 2009 +0200 kbuild, deb-pkg: bump standards version Latest Debian policy is 3.8.1. Even if we are not yet compliant to it strive for the latest. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Acked-by: Andres Salomon Signed-off-by: Sam Ravnborg commit 54c3355658bb66bbe20aef9b6297d72ac85571f4 Author: maximilian attems Date: Thu Apr 23 01:12:41 2009 +0200 kbuild, deb-pkg: fix Section field Section "base" has been removed, the base is defined by Priority field. For Squeeze the section should be "kernel", but as that's not yet supported for Sarge and Etch we stay with admin for now. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 8ebc2fe9c5e502a0f34be498b0732bb3b897b12d Author: maximilian attems Date: Thu Apr 23 01:12:21 2009 +0200 kbuild, deb-pkg: fix Provides field kernel-image naming has been dropped for the Lenny release and was only transitional for Etch. As it builds modules it provides linux-modules-$version. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit f7a2c31f1e4e622056c8a14260937e87f1277867 Author: maximilian attems Date: Thu Apr 23 01:12:01 2009 +0200 kbuild, deb-pkg: fix generated package name The binary package that make deb-pkg creates is a linux-image. To be fixed may also be the addition of $DEB_ARCH. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 4bf4cd4939975c2f6375443212109dbb8c4e8731 Author: Frans Pop Date: Thu Apr 23 01:11:43 2009 +0200 kbuild, deb-pkg: improve Source field The Source: field is defined as the source package in the package archive from which a binary packages are built. As deb-pkg does not generate a source package, we should avoid to use any existing source packages here. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit edec611db0474e90503d46428e4f196d5e30c091 Author: maximilian attems Date: Thu Apr 23 01:11:20 2009 +0200 kbuild, deb-pkg: improve maintainer identification Try harder to find email and maintainer name. Debian's own devscripts all use DEBEMAIL or DEBFULLNAME prior to an eventual EMAIL or NAME environment variable. Match their logic. "Anonymous" sounds nicer then "Kernel Compiler" if no name is found. Signed-off-by: maximilian attems Signed-off-by: Frans Pop Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 9461f666e42f2412e134a49e90ffd4a3340dfc0a Author: Frans Pop Date: Fri Apr 24 19:08:24 2009 +0200 kbuild, deb-pkg: generate debian/copyright file On Thursday 23 April 2009, Frans Pop wrote: Add a basic debian/copyright to the binary packages. Based on an earlier patch from Maximilian Attems. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit a83ca2777f7f28e365de7c87903bad5e928f87ad Author: Frans Pop Date: Thu Apr 23 01:10:25 2009 +0200 kbuild, deb-pkg: improve changelog entry and package descriptions Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit fe233cb6bfd36fcf5a36bbde7fa116d8ab5f4301 Author: Frans Pop Date: Thu Apr 23 01:10:10 2009 +0200 kbuild, deb-pkg: allow alternative hook scripts directory in .deb packages Hook scripts in the default directory /etc/kernel are also executed by official Debian kernel packages as well as kernel packages created using make-kpkg. Allow to specify an alternative hook scripts directory by exporting the environment variable KDEB_HOOKDIR. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit c72c75db86cf9f53c4c0df6724c0cf06db017652 Author: Frans Pop Date: Thu Apr 23 01:09:44 2009 +0200 kbuild, deb-pkg: allow to specify a custom revision for .deb packages Allow to specify a custom revision for the generated .deb by exporting the environment variable KDEB_PKGVERSION. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 4964451a321cfd6a05ea32af1317345c53b3ecb7 Author: Frans Pop Date: Thu Apr 23 01:09:25 2009 +0200 kbuild, deb-pkg: pass Debian maintainer script parameters to packaging hook scripts The Debian packaging scripts created by the deb-pkg target do not pass on the standard Debian maintainer script parameters to hook scripts, which means that those scripts cannot tell whether they are being called during e.g. install vs. upgrade, or removal vs. purge of the package. As there are several variantions in how hook scripts are called from kernel packages, we pass the parameters in the environment variable DEB_MAINT_PARAMS rather than as extra arguments. Bump version of builddep script to 1.3. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit a89b433bddea41a743d7937c87be5290ef4f1057 Author: Frans Pop Date: Thu Apr 23 01:09:04 2009 +0200 kbuild, deb-pkg: fix 'file not found' error when building .deb package for arm Not all architectures prepend the $(boot) path in $(KBUILD_IMAGE). Allow for that fact in the builddeb script. Example is arm. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 3e2ab2563a599c3d3fd03952c056af09fc03b74a Author: Frans Pop Date: Thu Apr 23 01:08:44 2009 +0200 kbuild, deb-pkg: refactor code to reduce duplication Factor out code to build package into separate function and only write "source" section for the debian/control file once. Signed-off-by: Frans Pop Acked-by: maximilian attems Cc: Andres Salomon Signed-off-by: Sam Ravnborg commit 4f66199b4b372a530333d0f25aeb5d80362241ed Author: Frans Pop Date: Thu Apr 23 01:08:31 2009 +0200 kbuild, deb-pkg: minor general improvements in builddeb script Minor coding style improvements and typo fix in leading comment. Signed-off-by: Frans Pop Cc: Andres Salomon Acked-by: maximilian attems Signed-off-by: Sam Ravnborg commit af6c159885537eb6582a61156ccfb73e83c0478d Author: Peter Korsgaard Date: Sun Feb 15 22:15:16 2009 +0100 kconfig: handle comment entries within choice/endchoice Implement support for comment entries within choice groups. Comment entries are displayed visually distinct from normal configs, and selecting them is a no-op. Signed-off-by: Peter Korsgaard Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 725c624a58a10ef90a2ff889e122158fabf36147 Author: Steven Rostedt Date: Mon Jun 8 19:09:45 2009 -0400 tracing: add trace_seq_vprint interface The code to update the print formats for events requires a vprintf format in the trace_seq. This patch adds that interface. Signed-off-by: Steven Rostedt commit fa0864b26b4bfa1dd4bb78eeffbc1f398cb56425 Author: Michael Cousin Date: Fri Jun 5 21:16:22 2009 +0200 drm/i915: Skip lvds with Aopen i945GTt-VFA Signed-off-by: Michael Cousin Signed-off-by: Eric Anholt commit 6556d1df88fe68f9836beeb43342a336691cb67c Author: Steven Rostedt Date: Tue Jun 9 14:04:26 2009 -0400 tracing: fix the block trace points print size The sector field is either u64 or unsigned long depending on the arch. This patch casts the sector to unsigned long long to prevent the printf warnings. [ Impact: remove compile warnings ] Signed-off-by: Steven Rostedt commit 80a538e49daddbf3bf783f3464e91bd3181957b2 Author: Zhenyu Wang Date: Mon Jun 8 14:40:20 2009 +0800 drm/i915: Enable probe on new chipset Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 036a4a7d9272582fc7370359515d807393e2f728 Author: Zhenyu Wang Date: Mon Jun 8 14:40:19 2009 +0800 drm/i915: handle interrupt on new chipset Update interrupt handling methods for IGDNG with new registers for display and graphics interrupt functions. As we won't use irq-based vblank sync in dri2, so display interrupt on new chip will be used for hotplug only in future. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit d765898970f35acef960581f678b9da9d5c779fa Author: Jesse Barnes Date: Fri Jun 5 14:41:29 2009 +0000 drm/i915: enable MCHBAR if needed Using the new PNP resource checking code, this patch allows the i915 driver to allocate MCHBAR space if needed and use the BAR to determine current memory settings. [apw@canonical.com: moved to the new generic PNP resource interface] Signed-off-by: Jesse Barnes Signed-off-by: Andy Whitcroft Signed-off-by: Eric Anholt failure to update-index after git-am --reject to hand-apply Signed-off-by: Eric Anholt commit e04cc15f52eb072937cec2bbd8499f37afe5e1ef Author: Hisashi Hifumi Date: Tue Jun 9 16:47:45 2009 +0900 ocfs2: fdatasync should skip unimportant metadata writeout In ocfs2, fdatasync and fsync are identical. I think fdatasync should skip committing transaction when inode->i_state is set just I_DIRTY_SYNC and this indicates only atime or/and mtime updates. Following patch improves fdatasync throughput. #sysbench --num-threads=16 --max-requests=300000 --test=fileio --file-block-size=4K --file-total-size=16G --file-test-mode=rndwr --file-fsync-mode=fdatasync run Results: -2.6.30-rc8 Test execution summary: total time: 107.1445s total number of events: 119559 total time taken by event execution: 116.1050 per-request statistics: min: 0.0000s avg: 0.0010s max: 0.1220s approx. 95 percentile: 0.0016s Threads fairness: events (avg/stddev): 7472.4375/303.60 execution time (avg/stddev): 7.2566/0.64 -2.6.30-rc8-patched Test execution summary: total time: 86.8529s total number of events: 300016 total time taken by event execution: 24.3077 per-request statistics: min: 0.0000s avg: 0.0001s max: 0.0336s approx. 95 percentile: 0.0001s Threads fairness: events (avg/stddev): 18751.0000/718.75 execution time (avg/stddev): 1.5192/0.05 Signed-off-by: Hisashi Hifumi Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 55782138e47d9baf2f7d3a7af9e7cf42adf72c56 Author: Li Zefan Date: Tue Jun 9 13:43:05 2009 +0800 tracing/events: convert block trace points to TRACE_EVENT() TRACE_EVENT is a more generic way to define tracepoints. Doing so adds these new capabilities to this tracepoint: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions ... Cons: - no dev_t info for the output of plug, unplug_timer and unplug_io events. no dev_t info for getrq and sleeprq events if bio == NULL. no dev_t info for rq_abort,...,rq_requeue events if rq->rq_disk == NULL. This is mainly because we can't get the deivce from a request queue. But this may change in the future. - A packet command is converted to a string in TP_assign, not TP_print. While blktrace do the convertion just before output. Since pc requests should be rather rare, this is not a big issue. - In blktrace, an event can have 2 different print formats, but a TRACE_EVENT has a unique format, which means we have some unused data in a trace entry. The overhead is minimized by using __dynamic_array() instead of __array(). I've benchmarked the ioctl blktrace vs the splice based TRACE_EVENT tracing: dd dd + ioctl blktrace dd + TRACE_EVENT (splice) 1 7.36s, 42.7 MB/s 7.50s, 42.0 MB/s 7.41s, 42.5 MB/s 2 7.43s, 42.3 MB/s 7.48s, 42.1 MB/s 7.43s, 42.4 MB/s 3 7.38s, 42.6 MB/s 7.45s, 42.2 MB/s 7.41s, 42.5 MB/s So the overhead of tracing is very small, and no regression when using those trace events vs blktrace. And the binary output of TRACE_EVENT is much smaller than blktrace: # ls -l -h -rw-r--r-- 1 root root 8.8M 06-09 13:24 sda.blktrace.0 -rw-r--r-- 1 root root 195K 06-09 13:24 sda.blktrace.1 -rw-r--r-- 1 root root 2.7M 06-09 13:25 trace_splice.out Following are some comparisons between TRACE_EVENT and blktrace: plug: kjournald-480 [000] 303.084981: block_plug: [kjournald] kjournald-480 [000] 303.084981: 8,0 P N [kjournald] unplug_io: kblockd/0-118 [000] 300.052973: block_unplug_io: [kblockd/0] 1 kblockd/0-118 [000] 300.052974: 8,0 U N [kblockd/0] 1 remap: kjournald-480 [000] 303.085042: block_remap: 8,0 W 102736992 + 8 <- (8,8) 33384 kjournald-480 [000] 303.085043: 8,0 A W 102736992 + 8 <- (8,8) 33384 bio_backmerge: kjournald-480 [000] 303.085086: block_bio_backmerge: 8,0 W 102737032 + 8 [kjournald] kjournald-480 [000] 303.085086: 8,0 M W 102737032 + 8 [kjournald] getrq: kjournald-480 [000] 303.084974: block_getrq: 8,0 W 102736984 + 8 [kjournald] kjournald-480 [000] 303.084975: 8,0 G W 102736984 + 8 [kjournald] bash-2066 [001] 1072.953770: 8,0 G N [bash] bash-2066 [001] 1072.953773: block_getrq: 0,0 N 0 + 0 [bash] rq_complete: konsole-2065 [001] 300.053184: block_rq_complete: 8,0 W () 103669040 + 16 [0] konsole-2065 [001] 300.053191: 8,0 C W 103669040 + 16 [0] ksoftirqd/1-7 [001] 1072.953811: 8,0 C N (5a 00 08 00 00 00 00 00 24 00) [0] ksoftirqd/1-7 [001] 1072.953813: block_rq_complete: 0,0 N (5a 00 08 00 00 00 00 00 24 00) 0 + 0 [0] rq_insert: kjournald-480 [000] 303.084985: block_rq_insert: 8,0 W 0 () 102736984 + 8 [kjournald] kjournald-480 [000] 303.084986: 8,0 I W 102736984 + 8 [kjournald] Changelog from v2 -> v3: - use the newly introduced __dynamic_array(). Changelog from v1 -> v2: - use __string() instead of __array() to minimize the memory required to store hex dump of rq->cmd(). - support large pc requests. - add missing blk_fill_rwbs_rq() in block_rq_requeue TRACE_EVENT. - some cleanups. Signed-off-by: Li Zefan LKML-Reference: <4A2DF669.5070905@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit f57a8a1911342265e7acdc190333c4e9235a6632 Author: Steven Rostedt Date: Fri Jun 5 14:11:30 2009 -0400 ring-buffer: fix ret in rb_add_time_stamp The update of ret got mistakenly added to the if statement of rb_try_to_discard. The variable ret should be 1 on commit and zero otherwise. [ Impact: fix compiler warning and real bug ] Signed-off-by: Steven Rostedt commit 52b605d107de72c1d3385a3df972e79fb5befa4c Author: Artem Bityutskiy Date: Mon Jun 8 16:52:48 2009 +0300 UBI: print amount of reserved PEBs When marking a PEB as bad, print how many PEBs are left reserved. This is very useful information. Signed-off-by: Artem Bityutskiy commit 238ddbb98c327a7392ced5ae65216c55969749ea Author: Alan Cox Date: Tue Jun 9 13:44:02 2009 +0100 [SCSI] gdth: fix overlapping snprintf users Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13438 Closes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=13437 Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit cf4e6363859d30f24f8cd3e8930dbff399cc3550 Author: Michael Chan Date: Mon Jun 8 18:14:44 2009 -0700 [SCSI] bnx2i: Add bnx2i iSCSI driver. New iSCSI driver for Broadcom BNX2 devices. The driver interfaces with the CNIC driver to access the hardware. Signed-off-by: Anil Veerabhadrappa Signed-off-by: Michael Chan Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a463696039f7097ce87c21db3cf5c16cdcb3850d Author: Michael Chan Date: Mon Jun 8 18:14:43 2009 -0700 [SCSI] cnic: Add new Broadcom CNIC driver. The CNIC driver controls BNX2 hardware rings and resources used by iSCSI. Most hardware resources for iSCSI are separate from those used for ethernet networking. iSCSI uses a separate MAC address and IP address. The CNIC driver creates a UIO interface to handle the non-offloaded packets such as ARP, etc in userspace. Signed-off-by: Michael Chan Acked-by: David S. Miller Signed-off-by: James Bottomley commit 4edd473f208cff77ce1f7ef26d5a41f31fa198e0 Author: Michael Chan Date: Mon Jun 8 18:14:42 2009 -0700 [SCSI] bnx2: Add support for CNIC driver. Add interface and functions to support a new CNIC driver to drive the Broadcom bnx2 hardware for iSCSI offload. Signed-off-by: Michael Chan Acked-by: David S. Miller Signed-off-by: James Bottomley commit 43514774ff40c4fbe0cbbd3d8293a359f1a9fe71 Author: Michael Chan Date: Mon Jun 8 18:14:41 2009 -0700 [SCSI] iscsi class: Add new NETLINK_ISCSI messages for cnic/bnx2i driver. Add ISCSI_NETLINK messages for iSCSI NICs to get information such as path from userspace. Original iscsid messages are now always sent as multicast to group 1. The new messages are sent to group 2. The multicast changes were made by Mike Christie. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0b8c3d5ab000c22889af7f9409799a6cdc31a2b2 Author: Chuck Ebbert Date: Tue Jun 9 10:40:50 2009 -0400 x86: Clear TS in irq_ts_save() when in an atomic section The dynamic FPU context allocation changes caused the padlock driver to generate the below warning. Fix it by masking TS when doing padlock encryption operations in an atomic section. This solves: BUG: sleeping function called from invalid context at mm/slub.c:1602 in_atomic(): 1, irqs_disabled(): 0, pid: 82, name: cryptomgr_test Pid: 82, comm: cryptomgr_test Not tainted 2.6.29.4-168.test7.fc11.x86_64 #1 Call Trace: [] __might_sleep+0x10b/0x110 [] kmem_cache_alloc+0x37/0xf1 [] init_fpu+0x49/0x8a [] math_state_restore+0x3e/0xbc [] do_device_not_available+0x9/0xb [] device_not_available+0x1b/0x20 [] ? aes_crypt+0x66/0x74 [padlock_aes] [] ? blkcipher_walk_next+0x257/0x2e0 [] ? blkcipher_walk_first+0x18e/0x19d [] aes_encrypt+0x9d/0xe5 [padlock_aes] [] crypt+0x6b/0x114 [xts] [] ? aes_encrypt+0x0/0xe5 [padlock_aes] [] ? aes_encrypt+0x0/0xe5 [padlock_aes] [] encrypt+0x49/0x4b [xts] [] async_encrypt+0x3c/0x3e [] test_skcipher+0x1da/0x658 [] ? crypto_spawn_tfm+0x8e/0xb1 [] ? __crypto_alloc_tfm+0x11b/0x15f [] ? crypto_spawn_tfm+0x8e/0xb1 [] ? skcipher_geniv_init+0x2b/0x47 [] ? async_chainiv_init+0x5c/0x61 [] alg_test_skcipher+0x63/0x9b [] alg_test+0x12d/0x175 [] cryptomgr_test+0x38/0x54 [] ? cryptomgr_test+0x0/0x54 [] kthread+0x4d/0x78 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x78 [] ? child_rip+0x0/0x20 Signed-off-by: Chuck Ebbert Cc: Suresh Siddha LKML-Reference: <20090609104050.50158cfe@dhcp-100-2-144.bos.redhat.com> Signed-off-by: Ingo Molnar commit fecc8ac8496fce96069724f54daba8e7078b0082 Author: Yong Wang Date: Tue Jun 9 21:15:53 2009 +0800 perf_counter, x86: Correct some event and umask values for Intel processors Correct some event and UMASK values according to Intel SDM, in the Nehalem and Atom tables. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090609131553.GA12489@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 92db1e6af747faa129e236d68386af26a0efc12b Merge: 0bf8412 e9a22a1 Author: Ingo Molnar Date: Tue Jun 9 16:18:11 2009 +0200 Merge branch 'amd-iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 0eab928221bac8895a0b494a16a8810002bd8645 Author: Theodore Ts'o Date: Tue Jun 9 09:54:40 2009 -0400 ext4: Don't treat a truncation of a zero-length file as replace-via-truncate If a non-existent file is opened via O_WRONLY|O_CREAT|O_TRUNC, there's no need to treat this as a true file truncation, so we shouldn't activate the replace-via-truncate hueristic. Signed-off-by: "Theodore Ts'o" commit 272023df26da2668ecc3937f8eeb48c8683b64fa Author: Atsushi Nemoto Date: Tue Jun 9 14:31:15 2009 +0100 mtd: nand: Fix memory leak on txx9ndfmc probe failure. Commit 81933046ef2a615031c46171013bde2c5225ee69 ('mtd: Fix handling of mtdname in txx9ndfmc.c') introduced a potential memory leak. The 'mtdname' member of the private data structure is now allocated separately, but was not freed on certain error paths. Fix that, and make things simpler by _always_ allocating it separately so that we don't need 'if (mtdname != dev_name()) kfree(mtdname);'... which gets ugly now that we're doing it more than once, and more likely that we'll get it wrong some time. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 42937e81a82b6bbc51a309c83da140b3a7ca5945 Author: Andreas Herrmann Date: Mon Jun 8 15:55:09 2009 +0200 x86: Detect use of extended APIC ID for AMD CPUs Booting a 32-bit kernel on Magny-Cours results in the following panic: ... Using APIC driver default ... Overriding APIC driver with bigsmp ... Getting VERSION: 80050010 Getting VERSION: 80050010 Getting ID: 10000000 Getting ID: ef000000 Getting LVT0: 700 Getting LVT1: 10000 Kernel panic - not syncing: Boot APIC ID in local APIC unexpected (16 vs 0) Pid: 1, comm: swapper Not tainted 2.6.30-rcX #2 Call Trace: [] ? panic+0x38/0xd3 [] ? native_smp_prepare_cpus+0x259/0x31f [] ? kernel_init+0x3e/0x141 [] ? kernel_init+0x0/0x141 [] ? kernel_thread_helper+0x7/0x10 The reason is that default_get_apic_id handled extension of local APIC ID field just in case of XAPIC. Thus for this AMD CPU, default_get_apic_id() returns 0 and bigsmp_get_apic_id() returns 16 which leads to the respective kernel panic. This patch introduces a Linux specific feature flag to indicate support for extended APIC id (8 bits instead of 4 bits width) and sets the flag on AMD CPUs if applicable. Signed-off-by: Andreas Herrmann Cc: LKML-Reference: <20090608135509.GA12431@alberich.amd.com> Signed-off-by: Ingo Molnar commit a31e1ffd2231b8fdf7eda9ed750a4a0df9bcad4e Author: Laszlo Attila Toth Date: Tue Jun 9 15:16:34 2009 +0200 netfilter: xt_socket: added new revision of the 'socket' match supporting flags If the XT_SOCKET_TRANSPARENT flag is set, enabled 'transparent' socket option is required for the socket to be matched. Signed-off-by: Laszlo Attila Toth Signed-off-by: Patrick McHardy commit 1d589bb16b825b3a7b4edd34d997f1f1f953033d Author: john cooper Date: Tue Jun 9 14:41:40 2009 +0200 Add serial number support for virtio_blk, V4a This patch extracts the opaque data from pci i/o region 0 via the added VIRTIO_BLK_F_IDENTIFY field. By convention this data takes the form of that returned by an ATA IDENTIFY DEVICE command, however the driver (except for structure size) makes no interpretation of the data. The structure data is copied wholesale to userspace via a HDIO_GET_IDENTITY ioctl command (eg: hdparm -i ). Signed-off-by: john cooper Signed-off-by: Rusty Russell Signed-off-by: Jens Axboe commit 25b0b999fbf5cc1893b110d530102951795d2f73 Author: Breno Leitao Date: Mon Jun 8 10:30:19 2009 +0000 bnx2: no need to check before vfreeing There is no need to check if a pointer is NULL before calling vfree(), since vfree() function already check for it. Signed-off-by: Breno Leitão Signed-off-by: David S. Miller commit 3d8fd38567729202afd0ff3904c818ed0cb1de52 Author: Yi Zou Date: Mon Jun 8 14:38:44 2009 +0000 ixgbe: Include offloaded FCoE data into total rx/tx statistics for 82599 Include offloaded FCoE data into total rx/tx statistics for 82599 so they are properly reflected by ethtool or ifconfig. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 18760f1e74e8dfe8f30d4891e66163d1e6feb893 Author: Chaitanya Lala Date: Mon Jun 8 14:28:54 2009 +0000 e1000e: Expose MDI-X status via ethtool change Ethtool is a standard way of getting information about ethernet interfaces. We enhance ethtool kernel interface & e1000e to make the MDI-X status readable via ethtool in userspace. Signed-off-by: Chaitanya Lala Signed-off-by: Arthur Jones Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edfea6e641edee07bc69c70dd978088fc1cecd74 Author: Simon Horman Date: Mon Jun 8 14:28:36 2009 +0000 e1000e: Call e1000e_config_collision_dist() after TCTL has been set e1000e_config_collision_dist() sets tctl, but subsequently tctl is overwritten. It seems to me that as things stand the call to e1000e_config_collision_dist() has no effect and should either be removed or moved down a little bit. This kernel patch takes the latter option. Signed-off-by: Simon Horman Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 23a2d1b233f535fc74f8dca66e488980b4db041b Author: Dave Graham Date: Mon Jun 8 14:28:17 2009 +0000 e1000e: Fixes possible phy corrupton on 82571 designs. Phy corruption has been observed on 2-port 82571 adapters, and is root-caused to lack of synchronization between the 2 driver instances, which conflict when attempting to access the phy via the single MDIC register. A semaphore exists for this purpose, and is now used on these designs. Because PXE &/or EFI boot code (which we cannot expect to be built with this fix) may leave the inter-instance semaphore in an invalid initial state when the driver first loads, this fix also includes a one-time (per driver load) fix-up of the semaphore initial state. Signed-off-by: dave graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8459464f07cf67cab07b17d5736d75fb86adab22 Author: Sergey Lapin Date: Mon Jun 8 12:18:51 2009 +0000 ieee802154: add simple HardMAC driver sample fakehard is a really simple driver implementing only necessary callbacks and serves the role of an example of driver for HardMAC IEEE 802.15.4 device. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit 02cf228639233aa227a152955a98564c7a18f9ee Author: Sergey Lapin Date: Mon Jun 8 12:18:50 2009 +0000 ieee802154: add documentation about our stack Add MAINTAINERS entry and a small text describing our stack interfaces, how to hook the drivers, etc. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit 2c21d11518b688cd4c8e7ddfcd4ba41482ad075b Author: Sergey Lapin Date: Mon Jun 8 12:18:49 2009 +0000 net: add NL802154 interface for configuration of 802.15.4 devices Add a netlink interface for configuration of IEEE 802.15.4 device. Also this interface specifies events notification sent by devices towards higher layers. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit 9ec7671603573ede31207eb5b0b3e1aa211b2854 Author: Sergey Lapin Date: Mon Jun 8 12:18:48 2009 +0000 net: add IEEE 802.15.4 socket family implementation Add support for communication over IEEE 802.15.4 networks. This implementation is neither certified nor complete, but aims to that goal. This commit contains only the socket interface for communication over IEEE 802.15.4 networks. One can either send RAW datagrams or use SOCK_DGRAM to encapsulate data inside normal IEEE 802.15.4 packets. Configuration interface, drivers and software MAC 802.15.4 implementation will follow. Initial implementation was done by Maxim Gorbachyov, Maxim Osipov and Pavel Smolensky as a research project at Siemens AG. Later the stack was heavily reworked to better suit the linux networking model, and is now maitained as an open project partially sponsored by Siemens. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit fcb94e422479da52ed90bab230c59617a0462416 Author: Sergey Lapin Date: Mon Jun 8 12:18:47 2009 +0000 Add constants for the ieee 802.15.4 stack IEEE 802.15.4 stack requires several constants to be defined/adjusted. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Sergey Lapin Signed-off-by: David S. Miller commit a4a710c4a7490587406462bf1d54504b7783d7d7 Author: Jarek Poplawski Date: Mon Jun 8 22:05:13 2009 +0000 pkt_sched: Change PSCHED_SHIFT from 10 to 6 Change PSCHED_SHIFT from 10 to 6 to increase schedulers time resolution. This will increase 16x a number of (internal) ticks per nanosecond, and is needed to improve accuracy of schedulers based on rate tables, like HTB, TBF or CBQ, with rates above 100Mbit. It is assumed this change is safe for 32bit accounting of time diffs up to 2 minutes, which should be enough for common use (extremely low rate values may overflow, so get inaccurate instead). To make full use of this change an updated iproute2 will be needed. (But using older iproute2 should be safe too.) This change breaks ticks - microseconds similarity, so some minor code fixes might be needed. It is also planned to change naming adequately eg. to PSCHED_TICKS2NS() etc. in the near future. Reported-by: Antonio Almeida Tested-by: Antonio Almeida Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 728bf09827d350cdaa1f093170e745e8dac49b7a Author: Jarek Poplawski Date: Mon Jun 8 22:05:00 2009 +0000 pkt_sched: Use PSCHED_SHIFT in PSCHED time conversion Use PSCHED_SHIFT constant instead of '10' in PSCHED_US2NS() and PSCHED_NS2US() macros to enable changing this value later. Additionally use PSCHED_SHIFT in sch_hfsc SM_SHIFT and ISM_SHIFT definitions. This part of the patch is based on feedback from Patrick McHardy . Reported-by: Antonio Almeida Tested-by: Antonio Almeida Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0c27922e4933ceb86644f4a9b1af212ffe5aad75 Author: Eric Dumazet Date: Mon Jun 8 03:49:24 2009 +0000 net: dev_addr_init() fix commit f001fde5eadd915f4858d22ed70d7040f48767cf (net: introduce a list of device addresses dev_addr_list (v6)) added one regression Vegard Nossum found in its testings. With kmemcheck help, Vegard found some uninitialized memory was read and reported to user, potentialy leaking kernel data. ( thread can be found on http://lkml.org/lkml/2009/5/30/177 ) dev_addr_init() incorrectly uses sizeof() operator. We were initializing one byte instead of MAX_ADDR_LEN bytes. Reported-by: Vegard Nossum Signed-off-by: Eric Dumazet Acked-by: Jiri Pirko Signed-off-by: David S. Miller commit e9a22a13c71986851e931bdfa054f68839ff8576 Author: Joerg Roedel Date: Tue Jun 9 12:00:37 2009 +0200 amd-iommu: remove unnecessary "AMD IOMMU: " prefix That prefix is already included in the DUMP_printk macro. So there is no need to repeat it in the format string. Signed-off-by: Joerg Roedel commit 151060ac13144208bd7601d17e4c92c59b98072f Author: Tejun Heo Date: Tue Apr 14 10:54:54 2009 +0900 CUSE: implement CUSE - Character device in Userspace CUSE enables implementing character devices in userspace. With recent additions of ioctl and poll support, FUSE already has most of what's necessary to implement character devices. All CUSE has to do is bonding all those components - FUSE, chardev and the driver model - nicely. When client opens /dev/cuse, kernel starts conversation with CUSE_INIT. The client tells CUSE which device it wants to create. As the previous patch made fuse_file usable without associated fuse_inode, CUSE doesn't create super block or inodes. It attaches fuse_file to cdev file->private_data during open and set ff->fi to NULL. The rest of the operation is almost identical to FUSE direct IO case. Each CUSE device has a corresponding directory /sys/class/cuse/DEVNAME (which is symlink to /sys/devices/virtual/class/DEVNAME if SYSFS_DEPRECATED is turned off) which hosts "waiting" and "abort" among other things. Those two files have the same meaning as the FUSE control files. The only notable lacking feature compared to in-kernel implementation is mmap support. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 71ff3bca2f70264effe8cbbdd5bc10cf6be5f2f0 Author: Joerg Roedel Date: Mon Jun 8 13:47:33 2009 -0700 amd-iommu: detach device explicitly before attaching it to a new domain This fixes a bug with a device that could not be assigned to a KVM guest because it is still assigned to a dma_ops protection domain. [chrisw: simply remove WARN_ON(), will always fire since dev->driver will be pci-sub] Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 29150078d7a1758df8c7a6cd2ec066ac65e1fab9 Author: Joerg Roedel Date: Tue Jun 9 10:54:18 2009 +0200 amd-iommu: remove BUS_NOTIFY_BOUND_DRIVER handling Handling this event causes device assignment in KVM to fail because the device gets re-attached as soon as the pci-stub registers as the driver for the device. Signed-off-by: Joerg Roedel commit d2dd01de9924ae24afeba5aa5bc2e08287701df6 Merge: 367d04c 62a6f46 Author: Joerg Roedel Date: Tue Jun 9 10:50:57 2009 +0200 Merge commit 'tip/core/iommu' into amd-iommu/fixes commit ebc8d2ab61dde6cf775ae7bb1ed9e38dfe12ca65 Author: David S. Miller Date: Tue Jun 9 01:01:31 2009 -0700 be2net: Remove unnecessary frag list traversing. This driver does not indicate support for frag lists. Furthermore, even if it did, the code is walking the frag lists incorrectly. The idiom is: for (iter = skb_shinfo(skb)->frag_list; iter; iter = iter->next) but it's doing: for (iter = skb_shinfo(skb)->frag_list; iter; iter = skb_shinfo(iter)->frag_list) which would never work. And this proves that this driver never saw an SKB with active frag lists. So just remove the code altogether and the driver TX path becomes much simpler. Signed-off-by: David S. Miller commit b5495610669984af931055e49c1c1d2957950335 Author: Santosh Shilimkar Date: Tue Apr 28 20:52:05 2009 +0530 ARM: OMAP4: SMP: Update defconfig for OMAP4430 This patch updates omap_4430sdp_defconfig to add SMP and LOCAL_TIMER support for OMAP4430 SDP platform. Additionally the defconfig is made in sync with 2.6.30-rc7 Signed-off-by: Santosh Shilimkar commit 934f8be7b1020ad899bdba62842a5383e4c72aa8 Author: Santosh Shilimkar Date: Tue Apr 28 20:52:05 2009 +0530 ARM: OMAP4: SMP: Enable SMP support for OMAP4430 This patch enables SMP on OMAP4430 SDP platform. Signed-off-by: Santosh Shilimkar commit 39e1d4c18f34190c739f765ae56bfaa9cbbc6fdb Author: Santosh Shilimkar Date: Tue Apr 28 20:52:00 2009 +0530 ARM: OMAP4: SMP: Add mpu timer support for OMAP4430 This patch adds SMP platform specific parts for local(mpu) timer support for OMAP4430 platform. Each Cortex-a9 core has it's own local timer in the MPU domain. These timers are not in wakeup domain. Signed-off-by: Santosh Shilimkar commit 367cd31ee0cbc948fe3b83960b1dbf931e2eaa90 Author: Santosh Shilimkar Date: Tue Apr 28 20:51:52 2009 +0530 ARM: OMAP4: SMP: Add OMAP4430 SMP board files This patch adds SMP platform files support for OMAP4430SDP. TI's OMAP4430 SOC is based on ARM Cortex-A9 SMP architecture. It's a dual core SOC with GIC used for interrupt handling and SCU for cache coherency. Signed-off-by: Santosh Shilimkar commit d4fd3bc101909802f9ed083093cce688cc3416aa Author: David S. Miller Date: Tue Jun 9 00:22:47 2009 -0700 xfrm: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 1b003be39e91a6cd013c9ea580ccc24d1fac9959 Author: David S. Miller Date: Tue Jun 9 00:22:35 2009 -0700 sctp: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 5c313e9a7773ec4d7ac554e841fba583f7c63aba Author: David S. Miller Date: Tue Jun 9 00:21:58 2009 -0700 phonet: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 343a99724e4431d8618bea2eb7552e12c965425a Author: David S. Miller Date: Tue Jun 9 00:23:58 2009 -0700 netfilter: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 4d9092bb41c8fdca45513461587d8b4ad3918f74 Author: David S. Miller Date: Tue Jun 9 00:20:05 2009 -0700 ipv6: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit d7fcf1a5cae2c970e9afe7192fe0c13d931247e0 Author: David S. Miller Date: Tue Jun 9 00:19:37 2009 -0700 ipv4: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 285e42802bb3da91102967f63fb9e28e61f7831e Author: David S. Miller Date: Tue Jun 9 00:19:10 2009 -0700 net/core/user_dma.c: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit fbb398a832086c370bce47789e155bf5a08774e9 Author: David S. Miller Date: Tue Jun 9 00:18:59 2009 -0700 net/core/skbuff.c: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 4cf704fbea96075942bd033fd75aa4e76ae1c8a1 Author: David S. Miller Date: Tue Jun 9 00:18:51 2009 -0700 net/core/dev.c: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit 5b1a002ade68173f21b2126a778278df72202ba6 Author: David S. Miller Date: Tue Jun 9 00:18:15 2009 -0700 datagram: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit c32ba3f9b8aa2441c7cfcd065f79981cf8cfe9f4 Author: David S. Miller Date: Tue Jun 9 00:17:44 2009 -0700 appletalk: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit a5bd8a13e9e0322c7f76b34790ba34e2e0ce2ac5 Author: David S. Miller Date: Tue Jun 9 00:17:27 2009 -0700 netdevice.h: Use frag list abstraction interfaces. Signed-off-by: David S. Miller commit ee0398717078260ee4ffa97d407071bc774e2dac Author: David S. Miller Date: Tue Jun 9 00:17:13 2009 -0700 skbuff: Add frag list abstraction interfaces. With the hope that these can be used to eliminate direct references to the frag list implementation. Signed-off-by: David S. Miller commit ec3cf2ece22a8ede7478bf38e2a818986322662b Author: Becky Bruce Date: Thu May 14 12:42:28 2009 +0000 powerpc: Add support for swiotlb on 32-bit This patch includes the basic infrastructure to use swiotlb bounce buffering on 32-bit powerpc. It is not yet enabled on any platforms. Probably the most interesting bit is the addition of addr_needs_map to dma_ops - we need this as a dma_op because the decision of whether or not an addr can be mapped by a device is device-specific. Signed-off-by: Becky Bruce Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 1babddbc2e83ab98fc4dd0a3e9bd7b2d30be7e32 Author: Stephen Rothwell Date: Tue Jun 2 18:00:51 2009 +0000 powerpc/spufs: Remove unused error path Commit 45db9240890d9343c934db1fe82d6e68ac2d28da ("powerpc/spufs: Remove double check for non-negative dentry") removed the only user of the out_dput label, so remove it and the code following it. Gets rid of this warning: arch/powerpc/platforms/cell/spufs/inode.c: In function 'spufs_create': arch/powerpc/platforms/cell/spufs/inode.c:647: warning: label 'out_dput' defined but not used Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit bcba0778ee9c5e6b76420c427e5c2cf3a21dbeba Author: Stephen Rothwell Date: Tue Jun 2 18:10:57 2009 +0000 powerpc: Fix warning when printing a resource_size_t resource_size_t is 64 bits on PowerPC 64. Gets rid of this warning: arch/powerpc/kernel/pci_64.c: In function 'pcibios_map_io_space': arch/powerpc/kernel/pci_64.c:504: warning: format '%016lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 6d1386d517e2b9b0de994cc47b1e490db7972a2a Author: Stephen Rothwell Date: Tue Jun 2 18:15:33 2009 +0000 powerpc/xmon: Remove unused variable in xmon.c Gets rid of this warning: arch/powerpc/xmon/xmon.c: In function 'dump_log_buf': arch/powerpc/xmon/xmon.c:2133: warning: unused variable 'i' Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 41febbc829cd3ed9af8a7dc37bc805ec027a0727 Author: Stephen Rothwell Date: Tue Jun 2 18:21:30 2009 +0000 powerpc/pseries: Fix warnings when printing resource_size_t resource_size_t is 64 bits on pseries Gets rid of these warnings: arch/powerpc/platforms/pseries/iommu.c: In function 'pci_dma_bus_setup_pSeries': arch/powerpc/platforms/pseries/iommu.c:391: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' arch/powerpc/platforms/pseries/iommu.c:417: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 944916858a430a0627e483657d4cfa2cd2dfb4f7 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:45 2009 +0000 powerpc: Shield code specific to 64-bit server processors This is a random collection of added ifdef's around portions of code that only mak sense on server processors. Using either CONFIG_PPC_STD_MMU_64 or CONFIG_PPC_BOOK3S as seems appropriate. This is meant to make the future merging of Book3E 64-bit support easier. Signed-off-by: Benjamin Herrenschmidt commit 91c60b5b8209627590b31c07262e40c27d27d272 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:41 2009 +0000 powerpc: Separate PACA fields for server CPUs This patch has no effect other than re-ordering PACA fields on current server CPUs. It however is a pre-requisite for future support of BookE 64-bit processors. Various parts of the PACA struct are now moved under some ifdef's, either the new CONFIG_PPC_BOOK3S or CONFIG_PPC_STD_MMU_64, whatever seems more appropriate. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Benjamin Herrenschmidt commit 0ebc4cdaa3fd7c9144d15fe9a6bcfcd310c265b8 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:38 2009 +0000 powerpc: Split exception handling out of head_64.S To prepare for future support of Book3E 64-bit PowerPC processors, which use a completely different exception handling, we move that code to a new exceptions-64s.S file. This file is #included from head_64.S due to some of the absolute address requirements which can currently only be fulfilled from within that file. Signed-off-by: Benjamin Herrenschmidt commit 5b7c3c918c9c26c50d220b2b50359208cb5a1dbe Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:37 2009 +0000 powerpc: Introduce CONFIG_PPC_BOOK3S This patch introduce a new Kconfig option, CONFIG_PPC_BOOK3S that represents processors that are compliant with the "classic" (aka "server") variant of the PowerPC architecture. It replaces CONFIG_6xx on 32-bit (though the symbol is still defined for compatibility) and encompass all currently supported 64-bit processors. Signed-off-by: Benjamin Herrenschmidt commit e821ea70f3b4873b50056a1e0f74befed1014c09 Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:17:37 2009 +0000 powerpc: Move VMX and VSX asm code to vector.S Currently, load_up_altivec and give_up_altivec are duplicated in 32-bit and 64-bit. This creates a common implementation that is moved away from head_32.S, head_64.S and misc_64.S and into vector.S, using the same macros we already use for our common implementation of load_up_fpu. I also moved the VSX code over to vector.S though in that case I didn't make it build on 32-bit (yet). Signed-off-by: Benjamin Herrenschmidt commit d3f6204a7d65030ba92bf43a278b3f3054353e0b Author: Benjamin Herrenschmidt Date: Tue Jun 2 21:16:38 2009 +0000 powerpc: Set init_bootmem_done on NUMA platforms as well For some obscure reason, we only set init_bootmem_done after initializing bootmem when NUMA isn't enabled. We even document this next to the declaration of that global in system.h which of course I didn't read before I had to debug why some WIP code wasn't working properly... This patch changes it so that we always set it after bootmem is initialized which should have always been the case... go figure ! Signed-off-by: Benjamin Herrenschmidt commit b46b6942b39e577fe3ef1af928cd927864011247 Author: Benjamin Herrenschmidt Date: Tue Jun 2 18:53:37 2009 +0000 powerpc/mm: Fix a AB->BA deadlock scenario with nohash MMU context lock The MMU context_lock can be taken from switch_mm() while the rq->lock is held. The rq->lock can also be taken from interrupts, thus if we get interrupted in destroy_context() with the context lock held and that interrupt tries to take the rq->lock, there's a possible deadlock scenario with another CPU having the rq->lock and calling switch_mm() which takes our context lock. The fix is to always ensure interrupts are off when taking our context lock. The switch_mm() path is already good so this fixes the destroy_context() path. While at it, turn the context lock into a new style spinlock. Signed-off-by: Benjamin Herrenschmidt commit 3035c8634f0538a0c6946e3191bb6c9284b63798 Author: Benjamin Herrenschmidt Date: Tue May 19 16:56:42 2009 +0000 powerpc/mm: Fix some SMP issues with MMU context handling This patch fixes a couple of issues that can happen as a result of steal_context() dropping the context_lock when all possible PIDs are ineligible for stealing (hopefully an extremely hard to hit occurence). This case exposes the possibility of a stale context_mm[] entry to be seen since destroy_context() doesn't clear it and the free map isn't re-tested. It also means steal_context() will not notice a context freed while the lock was help, thus possibly trying to steal a context when a free one was available. This fixes it by always returning to the caller from steal_context when it dropped the lock with a return value that causes the caller to re-samble the number of free contexts, along with properly clearing the context_mm[] array for destroyed contexts. Signed-off-by: Benjamin Herrenschmidt commit a5990dc5b96f537618b0f057c8723a6a0b0cdc74 Author: Takashi Iwai Date: Tue Jun 9 08:19:02 2009 +0200 ALSA: ctxfi - Clear PCM resources at hw_params and hw_free Currently the PCM resources are allocated only once and ever in prepare callback, assuming that the PCM parameters are never changed. But it's not true. This patch adds the call of atc->pcm_release_resources() at hw_params and hw_free callbacks to assure that the PCM setup is done correctly for each h/w parameter changes. Signed-off-by: Takashi Iwai commit 5242bc7613311aa1a3d5ed41e9cf81015b65563f Author: Takashi Iwai Date: Tue Jun 9 08:17:14 2009 +0200 ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks The SRC instances may not exist when PCM pointer callback is called at the state before initialization is finished. Add the NULL check just to be sure. Signed-off-by: Takashi Iwai commit c399f3be82e1249221a7f410855ab1aa747fa82b Author: Takashi Iwai Date: Tue Jun 9 08:16:20 2009 +0200 ALSA: ctxfi - Add missing start check in atc_pcm_playback_start() Signed-off-by: Takashi Iwai commit 77634f33d4078542cf1087995cced0ffdae25aa2 Author: Martin K. Petersen Date: Tue Jun 9 06:23:22 2009 +0200 block: Add missing bounce_pfn stacking and fix comments DM no longer needs to set limits explicitly when calling blk_stack_limits. Let the latter automatically deal with bounce_pfn scaling. Fix kerneldoc variable names. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 9df1bb9b516daeece159ab7fb262d01a0359247c Author: Jens Axboe Date: Tue Jun 9 06:22:57 2009 +0200 Revert "block: Fix bounce limit setting in DM" This reverts commit a05c0205ba031c01bba33a21bf0a35920eb64833. DM doesn't need to access the bounce_pfn directly. Signed-off-by: Jens Axboe commit 3969251b80a7b143d01576780073fe0cc9ef6253 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:10:57 2009 -0500 cciss: decode unit attention in SCSI error handling code Make SCSI reset error handler decode unit attention ASC and after a target reset wait for a unit attention that indicates a reset occurred rather than just for any old unit attention. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 72f9f1324fc4cd450c92e4600a710231b0445c75 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:09:32 2009 -0500 cciss: Remove no longer needed sendcmd reject processing code Now that the cciss SCSI error handling routines operate with interrupts enabled, we no longer need to maintain the list of command completions that sendcmd() might inadvertantly scoop up, since now it only runs at driver init time, and there won't be any other commands for it to scoop up. So we can remove that list and the code that adds to it and processes it. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 85cc61ae41084cb6d8ecc6c9e01ac4563005c8ac Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:07:45 2009 -0500 cciss: change SCSI error handling routines to work with interrupts enabled. Change cciss scsi error handling routines to work with interrupts enabled. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 789a424ad1352b335960e7c56494d0410577fa61 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:05:56 2009 -0500 cciss: separate error processing and command retrying code in sendcmd_withirq_core() Separate the error processing from sendcmd_withirq_core from the code which retries commands. The rationale for this is that the SCSI error handling code can then be made to use sendcmd_withirq_core, but avoid retrying commands. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 3c2ab40296894d1f7ad9714550fdf9b96d4e9ee6 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:04:35 2009 -0500 cciss: factor out fix target status processing code from sendcmd functions Factor out code to process target status of completed commands in sendcmd() and sendcmd_withirq_core(), and fix problem that bad target status was ignored in sendcmd_withirq_core. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit b57695fe131b13d3f2460cfeb9175cff673ed337 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:02:17 2009 -0500 cciss: simplify interface of sendcmd() and sendcmd_withirq() Simplify interfaces of sendcmd() and sendcmd_withirq() so that they provide only one way to address commands instead of three ways. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 5390cfc3fea49d015ae1eed8551c0bf00489b50e Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 16:01:11 2009 -0500 cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code Factor the core of sendcmd_withirq out to provide a simpler interface which provides access to full error information. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 40df6ae4277a67e97aa0a8bd8e293fdbb00e5623 Author: scameron@beardog.cca.cpqcorp.net Date: Mon Jun 8 15:59:38 2009 -0500 cciss: Use schedule_timeout_uninterruptible in SCSI error handling code Use schedule_timeout_uninterruptible instead of schedule_timeout in the scsi error handling code when waiting between TUR polls since we are not interested in nor want to be interrupted by signals. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit dbb66c4be020b01dc2f3d7c609ddb0e09d2c0af7 Author: FUJITA Tomonori Date: Tue Jun 9 05:47:10 2009 +0200 block: needs to set the residual length of a bidi request Tejun's "block: set rq->resid_len to blk_rq_bytes() on issue" patch seems to be incomplete; It doesn't set rq->resid_len to blk_rq_bytes() for a bidi request (req->next_rq). As a result, all bidi users are broken. Signed-off-by: FUJITA Tomonori Acked-by: Tejun Heo Signed-off-by: Jens Axboe commit ec097c84dff17511f2693e6ef6c3064dfbf0a3af Author: Roland McGrath Date: Thu May 28 21:26:38 2009 +0000 powerpc: Add PTRACE_SINGLEBLOCK support Reworked by: Benjamin Herrenschmidt This adds block-step support on powerpc, including a PTRACE_SINGLEBLOCK request for ptrace. The BookE implementation is tweaked to fire a single step after a block step in order to mimmic the server behaviour. Signed-off-by: Roland McGrath Signed-off-by: Benjamin Herrenschmidt commit c3fa109a5894077d1eaf8731ea741a15dd117b3c Author: Tetsuo Handa Date: Mon Jun 8 12:37:39 2009 +0900 TOMOYO: Add description of lists and structures. This patch adds some descriptions of lists and structures. This patch contains no code changes. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 5bf1692f65c12a8aa359dc883468284ffc3c4587 Author: Tetsuo Handa Date: Fri Jun 5 14:44:58 2009 +0900 TOMOYO: Remove unused field. TOMOYO 2.2.0 is not using total_len field of "struct tomoyo_path_info". Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 0b4ec6e4e01d98e55ae325a41304cccd87fa4c0f Merge: 04288f4 3af968e Author: James Morris Date: Tue Jun 9 09:27:53 2009 +1000 Merge branch 'master' into next commit 05f77f85f47e30a53f7971b687f3b0250e42f665 Author: David S. Miller Date: Mon Jun 8 16:16:56 2009 -0700 bluetooth: Kill skb_frags_no(), unused. Furthermore, it twiddles with the details of SKB list handling directly, which we're trying to eliminate. Signed-off-by: David S. Miller commit 126c5cc37e682e7c5ae96754994b1cb50c2d0cb5 Author: Brian King Date: Mon Jun 8 16:19:08 2009 -0500 [SCSI] ibmvscsi: Add support for capabilities MAD Add support to ibmvscsi for the capabilities MAD. This command gets sent to the Virtual I/O server prior to login in order to communicate client capabilities. Additionally it returns information regarding capabilities that the server supports. The two main capabilities communicated in this MAD are related to partition migration and client reserve. Client reserve allows for SCSI-2 reservations to be sent to virtual disks which are backed by physical LUNs and will result in the reservation being sent to the physical LUN. Signed-off-by: Brian King Signed-off-by: James Bottomley commit c1988e3123751fd425fbae99d5c1776608e965a9 Author: Robert Jennings Date: Mon Jun 8 16:19:07 2009 -0500 [SCSI] ibmvscsi: Enable fast fail feature A new mode of error reporting, fast fail, has been added to the VIOS which allows failover to happen more quickly. If this new fast fail mode is enabled on the VIOS and the vSCSI client supports the mode, the VIOS will not return MEDIUM error on path failures, but rather return VIOSRP_ADAPTER_FAIL in the crq response, which ibmvscsi will translate to DID_ERROR. This new mode can be enabled for single path configurations as well, so it is the new default error reporting mode. A module parameter is provided to disable this new behavior on the off chance it causes a problem on some old VIOS version. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3507e13fcba6b97501891a410ec8ef9f1f188620 Author: Brian King Date: Mon Jun 8 16:19:04 2009 -0500 [SCSI] ibmvscsi: Send adapter info before login The ibmvscsi driver currently sends the SRP Login before sending the Adapter Info MAD, which can result in commands getting sent to the virtual adapter before we are ready for them. This results in a slight window where the target devices may not behave as expected. Change the order and close the window. Signed-off-by: Brian King Signed-off-by: James Bottomley commit e1a5ce5b88d06344caec0c71b4ee33e7296358dd Author: Robert Jennings Date: Mon Jun 8 16:19:03 2009 -0500 [SCSI] ibmvscsi: Add specific timeouts for operations Previously we had one timeout that was used for all types of operations. This adds specific timeout values for different operations (init, login, adapter info MAD, abort task, and LUN reset). Signed-off-by: Brian King Signed-off-by: James Bottomley commit fbc56f0801f58041a4372a030933bac076b46aad Author: Brian King Date: Mon Jun 8 16:19:01 2009 -0500 [SCSI] ibmvscsi: Add 16 byte CDB support Adds support for 16 byte CDBs to the ibmvscsi driver. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 1f8a6a10fb9437eac3f516ea4324a19087872f30 Author: Peter Zijlstra Date: Mon Jun 8 18:18:39 2009 +0200 ring-buffer: pass in lockdep class key for reader_lock On Sun, 7 Jun 2009, Ingo Molnar wrote: > Testing tracer sched_switch: <6>Starting ring buffer hammer > PASSED > Testing tracer sysprof: PASSED > Testing tracer function: PASSED > Testing tracer irqsoff: > ============================================= > PASSED > Testing tracer preemptoff: PASSED > Testing tracer preemptirqsoff: [ INFO: possible recursive locking detected ] > PASSED > Testing tracer branch: 2.6.30-rc8-tip-01972-ge5b9078-dirty #5760 > --------------------------------------------- > rb_consumer/431 is trying to acquire lock: > (&cpu_buffer->reader_lock){......}, at: [] ring_buffer_reset_cpu+0x37/0x70 > > but task is already holding lock: > (&cpu_buffer->reader_lock){......}, at: [] ring_buffer_consume+0x7e/0xc0 > > other info that might help us debug this: > 1 lock held by rb_consumer/431: > #0: (&cpu_buffer->reader_lock){......}, at: [] ring_buffer_consume+0x7e/0xc0 The ring buffer is a generic structure, and can be used outside of ftrace. If ftrace traces within the use of the ring buffer, it can produce false positives with lockdep. This patch passes in a static lock key into the allocation of the ring buffer, so that different ring buffers will have their own lock class. Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: <1244477919.13761.9042.camel@twins> [ store key in ring buffer descriptor ] Signed-off-by: Steven Rostedt commit aefcf37b82886260d8540c9fb815e613c8977e06 Author: Ingo Molnar Date: Mon Jun 8 23:15:28 2009 +0200 perf_counter tools: Standardize color printing The rule is: - high overhead: red - mid overhead: green - low overhead: normal (white/black) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a35d01a5d2ac533edab94a8e3b6749ab213c91c5 Author: Mike Rapoport Date: Tue Jun 9 01:09:45 2009 +0400 da9030_battery: Fix race between event handler and monitor There are cases when charging monitor and the event handler try to change the charger state simultaneously. For instance, a charger is connected to the system, there's the detection event and the event handler tries to enable charging. It is possible that the periodic charging monitor runs at the same time and it still thinks there's no external charger. So it tries to disable the charging. As the result, even if the conditions necessary to charge the battery hold, there will be no actual charging. The patch changes the event handler so that instead of enabling/ disabling the charger immediately it would rather make the monitor run. The monitor code then decides what should be the charger state. Signed-off-by: Mike Rapoport Signed-off-by: Andrew Morton Signed-off-by: Anton Vorontsov commit 80d496be89ed7dede5abee5c057634e80a31c82d Author: Pekka Enberg Date: Mon Jun 8 21:12:48 2009 +0300 perf report: Add support for profiling JIT generated code This patch adds support for profiling JIT generated code to 'perf report'. A JIT compiler is required to generate a "/tmp/perf-$PID.map" symbols map that is parsed when looking and displaying symbols. Thanks to Peter Zijlstra for his help with this patch! Example "perf report" output with the Jato JIT: # # (40311 samples) # # Overhead Command Shared Object Symbol # ........ ................ ......................... ...... # 97.80% jato /tmp/perf-11915.map [.] Fibonacci.fib(I)I 0.56% jato 00000000b7fa023b 0x000000b7fa023b 0.45% jato /tmp/perf-11915.map [.] Fibonacci.main([Ljava/lang/String;)V 0.38% jato [kernel] [k] get_page_from_freelist 0.06% jato [kernel] [k] kunmap_atomic 0.05% jato ./jato [.] utf8Hash 0.04% jato ./jato [.] executeJava 0.04% jato ./jato [.] defineClass Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Signed-off-by: Pekka Enberg Cc: a.p.zijlstra@chello.nl Cc: acme@redhat.com LKML-Reference: Signed-off-by: Ingo Molnar commit dab5855b12411334355ba21349a06700e4ae7a3b Author: Peter Zijlstra Date: Mon Jun 8 21:11:57 2009 +0300 perf_counter: Add mmap event hooks to mprotect() Some JIT compilers allocate memory for generated code with posix_memalign() + mprotect() so we need to hook into mprotect() to make sure 'perf' is aware that we're executing code in anonymous memory. [ penberg@cs.helsinki.fi: move the hook to sys_mprotect() ] Cc: Arnaldo Carvalho de Melo Signed-off-by: Pekka Enberg LKML-Reference: Signed-off-by: Ingo Molnar commit 820a644211bc1ac7715333abdb0f0b9ea4fbb549 Author: Thomas Gleixner Date: Mon Jun 8 19:10:25 2009 +0200 perf_counter, x86: Clean up hw_cache_event ids copies Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f86748e91a14bd6cc49477560f33ed5d59896e89 Author: Thomas Gleixner Date: Mon Jun 8 22:33:10 2009 +0200 perf_counter, x86: Implement generalized cache event types, add AMD support Fill in amd_hw_cache_event_id[] with the AMD CPU specific events, for family 0x0f, 0x10 and 0x11. There's apparently no distinction between load and store events, so we only fill in the load events. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit c6f4a42de60b981dd210de01cd3e575835e3158e Author: Minkyu Kang Date: Fri Jun 5 15:33:04 2009 +0900 Add MAX17040 Fuel Gauge driver The MAX17040 is a I2C interfaced Fuel Gauge systems for lithium-ion batteries This patch adds support the MAX17040 Fuel Gauge Signed-off-by: Minkyu Kang Signed-off-by: Anton Vorontsov commit a20b2a44eca52818ef52a94959480b7e6ea2f528 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 8 22:07:28 2009 +0200 ide: skip probe if there are no devices on the port (v2) In ide_probe_port() skip probe if ide_port_wait_ready() returns -ENODEV and print error message instead of debug one if it returns -EBUSY. v2: Fix the default 'rc' value. Signed-off-by: Bartlomiej Zolnierkiewicz commit 75c2d7d71a85d02594da07d5d2ad587451b64b02 Author: Sergei Shtylyov Date: Mon Jun 8 22:03:03 2009 +0200 sl82c105: add printk() logging facility Add missing printk() logging facility in sl82c105_dma_lost_irq(). Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9d01e4cd7eb4a70b04cf5a5b4f79c99e8e3e3edc Author: Borislav Petkov Date: Mon Jun 8 22:03:03 2009 +0200 ide-tape: fix proc warning ide_tape_chrdev_get() was missing an ide_device_get() refcount increment which lead to the following warning: [ 278.147906] ------------[ cut here ]------------ [ 278.152685] WARNING: at fs/proc/generic.c:847 remove_proc_entry+0x199/0x1b8() [ 278.160070] Hardware name: P4I45PE 1.00 [ 278.160076] remove_proc_entry: removing non-empty directory 'ide0/hdb', leaking at least 'name' [ 278.160080] Modules linked in: rtc intel_agp pcspkr thermal processor thermal_sys parport_pc parport agpgart button [ 278.160100] Pid: 2312, comm: mt Not tainted 2.6.30-rc2 #3 [ 278.160105] Call Trace: [ 278.160117] [] warn_slowpath+0x71/0xa0 [ 278.160126] [] ? _spin_unlock_irqrestore+0x29/0x2c [ 278.160132] [] ? try_to_wake_up+0x1b6/0x1c0 [ 278.160141] [] ? default_wake_function+0xb/0xd [ 278.160149] [] ? pollwake+0x4a/0x55 [ 278.160156] [] ? _spin_unlock+0x24/0x26 [ 278.160163] [] ? add_partial+0x44/0x49 [ 278.160169] [] ? __slab_free+0xba/0x29c [ 278.160177] [] ? sysfs_delete_inode+0x0/0x3c [ 278.160184] [] remove_proc_entry+0x199/0x1b8 [ 278.160191] [] ? remove_dir+0x27/0x2e [ 278.160199] [] ide_proc_unregister_device+0x40/0x4c [ 278.160207] [] drive_release_dev+0x14/0x47 [ 278.160214] [] device_release+0x35/0x5a [ 278.160221] [] kobject_release+0x40/0x50 [ 278.160226] [] ? kobject_release+0x0/0x50 [ 278.160232] [] kref_put+0x3c/0x4a [ 278.160238] [] kobject_put+0x37/0x3c [ 278.160243] [] put_device+0xf/0x11 [ 278.160249] [] ide_device_put+0x2d/0x30 [ 278.160255] [] ide_tape_put+0x24/0x32 [ 278.160261] [] idetape_chrdev_release+0x17f/0x18e [ 278.160269] [] __fput+0xca/0x175 [ 278.160275] [] fput+0x19/0x1b [ 278.160280] [] filp_close+0x51/0x5b [ 278.160286] [] sys_close+0x73/0xad [ 278.160293] [] syscall_call+0x7/0xb [ 278.160298] ---[ end trace f16d907ea1f89336 ]--- Instead of trivially fixing it by adding the missing call, ide_tape_chrdev_get() and ide_tape_get() were merged into one function since both were almost identical. The only difference was that ide_tape_chrdev_get() was accessing the ide-tape reference through the idetape_devs[] array of minors instead of through the gendisk. Accomodate that by adding two additional parameters to ide_tape_get() to annotate the call site and invoke the proper behavior. As a result, remove ide_tape_chrdev_get(). Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 714df9399b3d2c0a7484e8cfb7c9cb100b0b7f19 Author: Andrew Vasquez Date: Wed Jun 3 09:55:31 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k3. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 18e7555a38eaadb757353c4b76667e07166ad26c Author: Andrew Vasquez Date: Wed Jun 3 09:55:30 2009 -0700 [SCSI] qla2xxx: Synchronize MPI settings after a PE Reset. Ensure MPS remains in synchronization across all NIC/FCoE functions after a reset. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 656e89122a737b60cebc7b8fcb669faf0e7bc905 Author: Andrew Vasquez Date: Wed Jun 3 09:55:29 2009 -0700 [SCSI] qla2xxx: Export additional firmware-states for application support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f999f4c1961fe5399fd66c95860cc2d5d67e591e Author: Andrew Vasquez Date: Wed Jun 3 09:55:28 2009 -0700 [SCSI] qla2xxx: Reduce lock-contention during do-work processing. Queued work processing will now be serialized with its own lower-priority spinlock. This also simplifies the work-queue interface for future work-queue consumers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6805c1504eb4cfd4a31c05ed88fdeb56228eb3ba Author: Andrew Vasquez Date: Wed Jun 3 09:55:27 2009 -0700 [SCSI] qla2xxx: Avoid explicit LOGO during driver host tear-down. As firmware will ultimately terminate (stop) and port states-cleared. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit aed10881129c52f0e5dc1c96ac706b5ce7708a13 Author: Andrew Vasquez Date: Wed Jun 3 09:55:26 2009 -0700 [SCSI] qla2xxx: Query supported RISC registers bits in determining a paused-state. ISP24xx and above must query the host-status register, not HCCR. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e8233ca40bfe7b9dade6cefc984e305516c4eceb Author: Andrew Vasquez Date: Wed Jun 3 09:55:25 2009 -0700 [SCSI] qla2xxx: Avoid redundant RISC reset during (re)-initialization. ISP24xx and above ISPs perform a RISC reset in qla24xx_reset_chip(), which is called prior to qla24xx_chip_diag(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit eeebcc922326a2ea0302937b425a0d1471cbd6a7 Author: Andrew Vasquez Date: Wed Jun 3 09:55:24 2009 -0700 [SCSI] qla2xxx: Fallback enode-mac should not be a multicast address. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 81eb9b4985b9cf965f9c05f4679a77fae2a85fe5 Author: Andrew Vasquez Date: Wed Jun 3 09:55:23 2009 -0700 [SCSI] qla2xxx: Add notification message when an NPIV fails to acquire a port-id. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 9f8fddeef2264a0315032b0aa2ee0052dad90076 Author: Andrew Vasquez Date: Wed Jun 3 09:55:22 2009 -0700 [SCSI] qla2xxx: Add 10Gb iiDMA support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f4658b6ccc9d54b28b89004accc989db185b6a2e Author: Andrew Vasquez Date: Wed Jun 3 09:55:21 2009 -0700 [SCSI] qla2xxx: Mark a port's state as needing-rediscovery during link disruptions. With RSCN states not being kept across qla2x00_configure_loop() invocations, loop-resync distruptions during fabric-discovery may cause ports to remain in a lost state. Force state renegotiation during a follow-on configure-loop iteration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ca9e9c3eb118d0cb9dc2e5232f6f2dcaa4b7a5e0 Author: Andrew Vasquez Date: Wed Jun 3 09:55:20 2009 -0700 [SCSI] qla2xxx: Check status of qla2x00_get_fw_version() call. Unlike earlier ISPs, recent ISPs (ISP81xx) can in fact fail this mailbox command. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 59e0b8b088031b3b751f0608f797f2581f49a827 Author: Anirban Chakraborty Date: Wed Jun 3 09:55:19 2009 -0700 [SCSI] qla2xxx: Correct NULL pointer bug in cpu affinity mode. This patch fixes a NULL pointer bug that occurs when IO is being carried out on a vport for which the cpu affinity mode is turned on. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 94b3aa47ac1ea0aa31b3f59ad121cdf55e038594 Author: Andrew Vasquez Date: Wed Jun 3 09:55:18 2009 -0700 [SCSI] qla2xxx: Use 'proper' DID_* status code for dropped-frame scenarios. The SCSI-midlayer's fast-fail codes consider an DID_ERROR status as a driver-error and the failed I/O would then be retried in the midlayer without being fast-failed to dm-multipath. DID_BUS_BUSY status returns would induce unneeded path-failures events being propagated to the DM/MD. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cbc8eb67da11a4972834f61fe4729f4c037a17c9 Author: Andrew Vasquez Date: Wed Jun 3 09:55:17 2009 -0700 [SCSI] qla2xxx: Fallback to 'golden-firmware' operation on supported ISPs. In case the onboard firmware is unable to be read or loaded for operation, attempt to fallback to a limited-operational firmware image stored in a different flash region. This will allow a user to reflash and correct a board with proper operational firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 40859ae5f13534624cc35a05179b4f93ecbf531a Author: Anirban Chakraborty Date: Wed Jun 3 09:55:16 2009 -0700 [SCSI] qla2xxx: Correct queue-creation bug when driver loaded in QoS mode. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1b91a2e6712393cffc33eeff5cf857f7d5b62fed Author: Andrew Vasquez Date: Wed Jun 3 09:55:15 2009 -0700 [SCSI] qla2xxx: Correct logic-bug in set-model-info(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 11bbc1d896637c1d83b11cc3b97ed3d6d2076c63 Author: Andrew Vasquez Date: Wed Jun 3 09:55:14 2009 -0700 [SCSI] qla2xxx: Export TLV data on supported ISPs. Firmware currently provides PB and PGF TLVs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ce0423f4a23317d0166addd7d6fcc4a0fa95e751 Author: Andrew Vasquez Date: Wed Jun 3 09:55:13 2009 -0700 [SCSI] qla2xxx: Export XGMAC statistics on supported ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7f774025171f626fc1a6a97781967c84a869d277 Author: Andrew Vasquez Date: Wed Jun 3 09:55:12 2009 -0700 [SCSI] qla2xxx: Export negotiated fabric-parameters for application support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 04145f2bfbc3ac4dbb71fa085b82380444d50b4f Author: Takashi Iwai Date: Mon Jun 8 21:31:50 2009 +0200 ALSA: ctxfi - Add use_system_timer module option Added use_system_timer module option to force to use the system timer instead of emu20k1 timer irq for debugging. Signed-off-by: Takashi Iwai commit cef437e3a9b6d229d4ed3730cde047007267df6d Author: Daniel Mack Date: Tue Apr 28 10:55:02 2009 +0200 w1: ds2760_battery: add support for sleep mode feature This adds support for ds2760's sleep mode feature. With this feature enabled, the chip enters a deep sleep mode and disconnects from the battery when the w1 line is held down for more than 2 seconds. This new behaviour can be switched on and off using a new module parameter. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Acked-by: Evgeniy Polyakov Signed-off-by: Anton Vorontsov commit 0b47b5703b1cc6c3aa89663ac70e28dadedf6ccc Author: Daniel Mack Date: Tue Apr 28 10:55:01 2009 +0200 w1: ds2760: add support for EEPROM read and write In order to modify the DS2762's status registers and to add support for sleep mode, there is need for functions to write the internal EEPROM. Signed-off-by: Daniel Mack Acked-by: Matt Reimer Acked-by: Szabolcs Gyurko Acked-by: Evgeniy Polyakov Signed-off-by: Anton Vorontsov commit ae9fb6e814ecede683bcd404910085cea3ab1260 Author: Daniel Mack Date: Tue Apr 28 10:55:00 2009 +0200 ds2760_battery: cleanups in ds2760_battery_probe() Removed struct ds2760_platform_data which wasn't defined anywhere. Indentation cleanups. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Signed-off-by: Anton Vorontsov commit 226c7ffe74474257b4b87bd38ae8ba0030cf65e2 Author: Joe Eykholt Date: Wed May 6 10:52:51 2009 -0700 [SCSI] net, libfcoe: Add the FCoE Initialization Protocol ethertype FIP is the FCoE Initialization Protocol and this patch adds the protocol ethertype to the kernel's list of ethertypes. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Acked-by: David S. Miller Signed-off-by: James Bottomley commit 4e57e1cbbd1435b523b9cedb949728e9fdcfb5d4 Author: Vasu Dev Date: Wed May 6 10:52:46 2009 -0700 [SCSI] fcoe: removes reserving memory for vlan_ethdr on tx path This is not required as VLAN header is added by device interface driver, this was causing bad FC_CRC in FCoE pkts when using VLAN interface. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 1047f22108bd9bfedefd3ff014cb56691dfbaa3f Author: Vasu Dev Date: Wed May 6 10:52:40 2009 -0700 [SCSI] fcoe: removes fcoe_watchdog Removes periodic fcoe_watchdog timer used across all fcoe interface maintained in fcoe_hostlist instead added new fcoe_queue_timer per fcoe interface. Added timer is armed only when some pending skb need to be flushed as oppose to periodic 1 second fcoe_watchdog, since now fcoe_queue_timer is used on demand thus set this to 2 jiffies. Now fcoe_queue_timer is much simple than fcoe_watchdog using lock to process all fcoe interface from fcoe_hostlist. I noticed +ve performance result with using 2 jiffies timer as this helps flushing fcoe_pending_queue quickly. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 4bb6b5153313269b4b328f4f5ddc558c45c50713 Author: Vasu Dev Date: Wed May 6 10:52:34 2009 -0700 [SCSI] fcoe: reduces lock cost when adding a new skb to fcoe_pending_queue Currently fcoe_pending_queue.lock held twice for every new skb adding to this queue when already least one pkt is pending in this queue and that is not uncommon once skb pkts starts getting queued here upon fcoe_start_io => dev_queue_xmit failure. This patch moves most fcoe_pending_queue logic to fcoe_check_wait_queue function, this new logic grabs fcoe_pending_queue.lock only once to add a new skb instead twice as used to be. I think after this patch call flow around fcoe_check_wait_queue calling in fcoe_xmit is bit simplified with modified fcoe_check_wait_queue function taking care of adding and removing pending skb in one function. Signed-off-by: Vasu Dev Signed-off-by: James Bottomley commit 30121d14f503dac056ee7f68d99eb5d548899b59 Author: Steve Ma Date: Wed May 6 10:52:29 2009 -0700 [SCSI] libfc: Check if exchange is completed when receiving a sequence When a sequence is received in response to an exchange we issued previously, we should check to see if the exchange has completed. If yes, the sequence should be discarded. Since the exchange might be still in the completion process, it should be untouched. Signed-off-by: Steve Ma Signed-off-by: James Bottomley commit d5e6054a0a097527b3920a8a0aefe7f830c014fd Author: Mike Christie Date: Wed May 6 10:52:23 2009 -0700 [SCSI] libfc: use DID_ERROR when we have internall aborted command If we aborted a command, because it timed out we should not use DID_ABORT. It will fail the command right away back to the upper layer. We want to use something that indicated that the problem did not complete normally, but it was not a fatal problem. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0f4915398a4233cdbfc4e9bf4436323546945b3f Author: Chris Leech Date: Wed May 6 10:52:18 2009 -0700 [SCSI] fcoe: use ETH_P_FIP for skb->protocol of FIP frames FIP frames should leave the fcoe layer with skb->protocol set to ETH_P_FIP, not ETH_P_802_3. Signed-off-by: Chris Leech Signed-off-by: James Bottomley commit 5f48f70ecef25df93e122985272ff647f5653836 Author: Joe Eykholt Date: Wed May 6 10:52:12 2009 -0700 [SCSI] libfcoe: fip: fix non-FIP-mode FLOGI state after reset. When a reset is sent using fcoeadm on a non-FIP mode NIC, there's no link flap, so the fcoe_ctlr stays in non-FIP mode. In that case, FIP wasn't setting the flogi_oxid or map_dest flag, causing the FLOGI to be sent with the both wrong source MAC and the wrong destination MAC address, causing it to fail. This leads to a non-functioning HBA until a link flap or instance delete/create. Signed-off-by: Joe Eykholt Signed-off-by: James Bottomley commit 7698fdedcfa3cab3dd40c9b685590b23be02e267 Merge: 2d8d249 ae5c8c8 Author: Russell King Date: Mon Jun 8 19:27:13 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel commit 2d8d24935d372175786ebefa8a2de8680831b67f Merge: c068303 a089516 Author: Russell King Date: Mon Jun 8 19:26:28 2009 +0100 Merge branch 'mxc-master' of git://git.pengutronix.de/git/imx/linux-2.6 into devel commit f00a3328bf9ecff46abd68a421693ba71cd16fc8 Author: Herbert Xu Date: Sat May 30 13:40:04 2009 +1000 [SCSI] cxgb3i: Include net/dst.h for struct dst_cache This driver needs dst_cache->dev so it should include net/dst.h to ensure that it builds. While net/tcp.h probably includes it already, we shouldn't rely on that since there is no guarantee that this won't change in future. Signed-off-by: Herbert Xu Acked-by: Mike Christie Signed-off-by: James Bottomley commit cbbf58f2e2cb73dbed660fdc7b741a010d6bdbef Author: Brian King Date: Thu May 28 16:17:34 2009 -0500 [SCSI] ibmvfc: Driver version 1.0.6 Bump driver version Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6d29cc56bead73b6f386cf43333708579deb5eed Author: Brian King Date: Thu May 28 16:17:33 2009 -0500 [SCSI] ibmvfc: Improve LOGO/PRLO ELS handling There are several scenarios where the ibmvfc driver needs to try to log back into a target on the fabric. Today when these events occur, we simply go through re-discovery for all attached targets, assuming that either the query of the name server or an ADISC will indicate we might need to log back into the target, which doesn't work for all scenarios. Fix this by taking note of the affected target(s) in these conditions and ensuring we try to PLOGI back into the target. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5e47167b6be0ca24cbb04fb71ea611ab7c089aff Author: Brian King Date: Thu May 28 16:17:32 2009 -0500 [SCSI] ibmvfc: Improve device rediscovery For certain scenarios during device rediscovery, we detect we need to log back into a target. Currently we do just that - PLOGI/PRLI back into the target. Change the code to delete and add the target from the FC transport layer as well, to ensure we handle any cases where the target may have changed. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 497f9c504f76e7a751cd370604e1c8521743746d Author: Brian King Date: Thu May 28 16:17:30 2009 -0500 [SCSI] ibmvfc: Add flush on halt support The virtual I/O server controlling the NPIV adapter associated with a virtual fibre channel adapter can send a HALT event to the client. When this occurs, the client can no longer send commands until a RESUME is received. By adding support for flush on halt, we will get all of our outstanding commands flushed back before the Virtual I/O server enters the halt state, eliminating potential command timeouts for outstanding commands which might occur if we did not support this feature. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 79111d0899a122fa3cf0a2921292c3e6a25452d0 Author: Brian King Date: Thu May 28 16:17:29 2009 -0500 [SCSI] ibmvfc: Add support for NPIV Logout This patch adds support for a new command supported by the Virtual I/O Server, NPIV Logout. The command will abort all outstanding commands and log out of the fabric. Currently, the only way to do this is by breaking the CRQ, which can take a fairly long time when lots of commands are outstanding. The NPIV Logout commands provides a mechanism to accomplish virtually the same function, but is much faster. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 43c8da907ccc656935d1085701f4db83385d8a59 Author: Brian King Date: Thu May 28 16:17:28 2009 -0500 [SCSI] ibmvfc: Fix deadlock in EH Fixes the following deadlock scenario shown below. We currently allow queuecommand to send commands when the ibmvfc workqueue is scanning for new rports, so we should also allow EH to function at this time as well. scsi_eh_3 D 0000000000000000 12304 1279 2 Call Trace: [c0000002f7257730] [c0000002f72577e0] 0xc0000002f72577e0 (unreliable) [c0000002f7257900] [c0000000000118f4] .__switch_to+0x158/0x1a0 [c0000002f72579a0] [c0000000004f8b40] .schedule+0x8d4/0x9dc [c0000002f7257b60] [c0000000004f8f08] .schedule_timeout+0xa8/0xe8 [c0000002f7257c50] [d0000000001d23e0] .ibmvfc_wait_while_resetting+0xe4/0x140 [ibmvfc] [c0000002f7257d20] [d0000000001d3984] .ibmvfc_eh_abort_handler+0x60/0xe4 [ibmvfc] [c0000002f7257dc0] [d000000000366714] .scsi_error_handler+0x38c/0x674 [scsi_mod] [c0000002f7257f00] [c0000000000a7470] .kthread+0x78/0xc4 [c0000002f7257f90] [c000000000029b8c] .kernel_thread+0x4c/0x68 ibmvfc_3 D 0000000000000000 12432 1280 2 Call Trace: [c0000002f7253540] [c0000002f72535f0] 0xc0000002f72535f0 (unreliable) [c0000002f7253710] [c0000000000118f4] .__switch_to+0x158/0x1a0 [c0000002f72537b0] [c0000000004f8b40] .schedule+0x8d4/0x9dc [c0000002f7253970] [c0000000004f8e98] .schedule_timeout+0x38/0xe8 [c0000002f7253a60] [c0000000004f80cc] .wait_for_common+0x138/0x220 [c0000002f7253b40] [c0000000000a2784] .flush_cpu_workqueue+0xac/0xcc [c0000002f7253c10] [c0000000000a2960] .flush_workqueue+0x58/0xa0 [c0000002f7253ca0] [d0000000000827fc] .fc_flush_work+0x4c/0x64 [scsi_transport_fc] [c0000002f7253d20] [d000000000082db4] .fc_remote_port_add+0x48/0x6c4 [scsi_transport_fc] [c0000002f7253dd0] [d0000000001d7d04] .ibmvfc_work+0x820/0xa7c [ibmvfc] [c0000002f7253f00] [c0000000000a7470] .kthread+0x78/0xc4 [c0000002f7253f90] [c000000000029b8c] .kernel_thread+0x4c/0x68 fc_wq_3 D 0000000000000000 10720 1283 2 Call Trace: [c0000002f559ac30] [c0000002f559ace0] 0xc0000002f559ace0 (unreliable) [c0000002f559ae00] [c0000000000118f4] .__switch_to+0x158/0x1a0 [c0000002f559aea0] [c0000000004f8b40] .schedule+0x8d4/0x9dc [c0000002f559b060] [c0000000004f8e98] .schedule_timeout+0x38/0xe8 [c0000002f559b150] [c0000000004f80cc] .wait_for_common+0x138/0x220 [c0000002f559b230] [c0000000002721c4] .blk_execute_rq+0xb4/0x100 [c0000002f559b360] [d00000000036a1f8] .scsi_execute+0x118/0x194 [scsi_mod] [c0000002f559b420] [d00000000036a32c] .scsi_execute_req+0xb8/0x124 [scsi_mod] [c0000002f559b500] [d0000000000c1330] .sd_sync_cache+0x8c/0x108 [sd_mod] [c0000002f559b5e0] [d0000000000c15b4] .sd_shutdown+0x9c/0x158 [sd_mod] [c0000002f559b660] [d0000000000c16d0] .sd_remove+0x60/0xb4 [sd_mod] [c0000002f559b700] [c000000000392ecc] .__device_release_driver+0xd0/0x118 [c0000002f559b7a0] [c000000000393080] .device_release_driver+0x30/0x54 [c0000002f559b830] [c000000000392108] .bus_remove_device+0x128/0x16c [c0000002f559b8d0] [c00000000038f94c] .device_del+0x158/0x234 [c0000002f559b960] [d00000000036f078] .__scsi_remove_device+0x5c/0xd4 [scsi_mod] [c0000002f559b9f0] [d00000000036f124] .scsi_remove_device+0x34/0x58 [scsi_mod] [c0000002f559ba80] [d00000000036f204] .__scsi_remove_target+0xb4/0x120 [scsi_mod] [c0000002f559bb10] [d00000000036f338] .__remove_child+0x2c/0x44 [scsi_mod] [c0000002f559bb90] [c00000000038f11c] .device_for_each_child+0x54/0xb4 [c0000002f559bc50] [d00000000036f2e0] .scsi_remove_target+0x70/0x9c [scsi_mod] [c0000002f559bce0] [d000000000083454] .fc_starget_delete+0x24/0x3c [scsi_transport_fc] [c0000002f559bd70] [c0000000000a2368] .run_workqueue+0x118/0x208 [c0000002f559be30] [c0000000000a2580] .worker_thread+0x128/0x154 [c0000002f559bf00] [c0000000000a7470] .kthread+0x78/0xc4 [c0000002f559bf90] [c000000000029b8c] .kernel_thread+0x4c/0x68 Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7d0e462247241b8ec2d377306203b58c7f423553 Author: Brian King Date: Thu May 28 16:17:26 2009 -0500 [SCSI] ibmvfc: Reduce error logging noise The ibmvfc driver currently logs errors during discovery for several transient fabric errors, which generally get retried. If retries do not work, we see multiple errors in the log. If retries do work, we see errors in the log which may be confusing since the retry worked. This patch enhances the discovery time error logging to only log errors for command failures during discovery if all allowed retries have been used up. The existing behavior of logging all failures can be restored by setting the hosts log_level to a value of 3 or greater. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 85e2399e925e0afa04dd6e185a910bdd3dc4626b Author: Brian King Date: Thu May 28 16:17:25 2009 -0500 [SCSI] ibmvfc: Use DEVICE_ATTR macro Use DEVICE_ATTR macro for defining device sysfs attributes. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7270b9bde5f382e730e1ef69d6c1b34d388df2b0 Author: Brian King Date: Thu May 28 16:17:24 2009 -0500 [SCSI] ibmvfc: Fixup GFP flags for target allocations Since target allocations can occur while resetting the virtual adapter, we shouldn't be using GFP_KERNEL for them as it could hang. Switch to use GFP_NOIO. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4a2837d4fcaf8a2c2ad61523287073d0c14b9ed0 Author: Brian King Date: Thu May 28 16:17:22 2009 -0500 [SCSI] ibmvfc: Fix invalid error response handling Fix an obvious bug in processing error responses for SCSI commands which can result in successful responses being incorrectly returned with DID_ERROR. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 601e7638254c118fca135af9b1a9f35061420f62 Author: James Bottomley Date: Tue May 26 20:35:48 2009 +0000 [SCSI] sd: fix bug in SCSI async probing The async split up of probing in sd.c created a potential failure case where something goes wrong with device_add(), but which we don't recover properly. Since, in general, asynchronous error handling is hard, move the device_add() into the asynchronous path (it should be fast) and make sure all the deferred processing cannot fail. Signed-off-by: James Bottomley commit 91bc31fb3bae4e55832c7c39d4f9c193285e6ab2 Author: James Bottomley Date: Sun May 17 09:30:48 2009 -0500 [SCSI] fix up scsi_eh_lock_door() The Documentation is incorrect (we removed some functions referred to), and none of the bug warnings now apply. Additionally remove the spurious check on the return from blk_get_request() which can't fail if __GFP_WAIT is passed in. Signed-off-by: James Bottomley commit 477e608c03eb2f561a23994bee38a32a9fd3357d Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 27 20:54:22 2009 +0200 [SCSI] fix documentation for two functions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: James Bottomley commit c9690998ef48ffefeccb91c70a7739eebdea57f9 Author: Andreas Herrmann Date: Mon Jun 8 19:09:39 2009 +0200 x86: memtest: remove 64-bit division Using gcc 3.3.5 a "make allmodconfig" + "CONFIG_KVM=n" triggers a build error: arch/x86/mm/built-in.o(.init.text+0x43f7): In function `__change_page_attr': arch/x86/mm/pageattr.c:114: undefined reference to `__udivdi3' make: *** [.tmp_vmlinux1] Error 1 The culprit turned out to be a division in arch/x86/mm/memtest.c For more info see this thread: http://marc.info/?l=linux-kernel&m=124416232620683 The patch entirely removes the division that caused the build error. [ Impact: build fix with certain GCC versions ] Reported-by: Tetsuo Handa Signed-off-by: Andreas Herrmann Cc: Yinghai Lu Cc: xiyou.wangcong@gmail.com Cc: Andrew Morton Cc: LKML-Reference: <20090608170939.GB12431@alberich.amd.com> Signed-off-by: Ingo Molnar commit 92a43793a908f395dc687e6c5fc90d63f999d6d5 Author: Dan Allongo Date: Mon Jun 8 11:21:52 2009 -0400 ALSA: usb - Add boot quirk for C-Media 6206 USB Audio Added boot quirk for C-Media CM6206 device in snd_usb_audio_probe. The function snd_usb_cm6206_boot_quirk sets up six internal 16-bit registers in order to initialize the device. Values for the registers came from sniffing USB traffic under Windows since only four of the six are documented in the datasheet for CM106 and some reserved bits were also being set. [Minor coding-style fixes by tiwai] Signed-off-by: Dan Allongo Signed-off-by: Takashi Iwai commit ae5c8c83735f5fcb09b380944e4854a383006998 Author: Nicolas Pitre Date: Wed Jun 3 15:24:36 2009 -0400 [ARM] Kirkwood: platform device registration for the crypto engine Signed-off-by: Nicolas Pitre commit c1191b0e3b5fc080e0b09859024f39c4a8c5d4d5 Author: Nicolas Pitre Date: Tue Jun 2 21:43:45 2009 -0400 [ARM] Kirkwood: create a mapping for the Security Accelerator SRAM Always creating the physical mapping should do no harm, so let's remove the interface that was provided for its optional creation and make the mapping static. Signed-off-by: Nicolas Pitre commit fc63b7239a9c939f38450620f773d057b037976b Author: Nicolas Pitre Date: Tue Jun 2 21:51:14 2009 -0400 [ARM] Kirkwood: let's use real size for resources We don't have to define resources to the minimal physical window size as setup_cpu_win() will cope with smaller sizes already. Signed-off-by: Nicolas Pitre commit 3a8f744169ebcb0064c46a755d9e3e27233f048a Author: Sebastian Andrzej Siewior Date: Thu May 7 22:59:24 2009 +0200 [ARM] orion5x: add sram support for crypto The security accelerator which can act as a puppet player for the crypto engine requires its commands in the sram. This patch adds support for the phys mapping and creates a platform device for the actual driver. [ nico: renamed device name from "mv,orion5x-crypto" to "mv_crypto" so to match the module name and be more generic for Kirkwood use ] Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Nicolas Pitre commit 9ffbe87370403d6d5c4010f5b0f692f9d0715776 Author: Imre Kaloz Date: Tue Jun 2 14:31:43 2009 +0200 [ARM] orion5x: WNR854T switch support This patch adds support for the switch found on the Netgear WNR854T router. Signed-off-by: Imre Kaloz Signed-off-by: Nicolas Pitre commit 3b937a7dbddbedd9457b33fcc8fa369c0c229c6e Author: Nicolas Pitre Date: Mon Jun 1 13:56:02 2009 -0400 [ARM] Orion/Kirkwood: rename orion5x_wdt to orion_wdt The Orion watchdog driver is also used on Kirkwood. Convention is to use orion5x for stuff specific to 88F5xxx Orion chips and simply "orion" for shared stuff across SoCs including Kirkwood. Signed-off-by: Nicolas Pitre commit 054bd3f053de54c81b20df11f354476389826e61 Author: Thomas Reitmayr Date: Mon Jun 1 13:38:34 2009 +0200 [ARM] Kirkwood: Add the watchdog timer as a platform device. The Kirkwood architecture uses the same watchdog device as the Orion architecture. This patch adds orion5x_wdt as a platform device for Kirkwood. Signed-off-by: Thomas Reitmayr Tested-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6462c6160af557c310d5941f4700ea2c7f6c67b2 Author: Thomas Reitmayr Date: Mon Jun 1 13:38:33 2009 +0200 [ARM] orion5x: Change names of defines for Reset-Out-Mask register The name of the define for the Reset-Out-Mask register as well as its bit for the watchdog reset are changed to match the names used for Kirkwood (which in turn match the processor specification more closely). There is no functional change. This patch prepares for adding orion5x_wdt as a platform device to Kirkwood. Signed-off-by: Thomas Reitmayr Signed-off-by: Nicolas Pitre commit e8b2b7ba1200de8e50788e358e2d945a0c0fcfad Author: Rabeeh Khoury Date: Sun Mar 22 17:30:32 2009 +0200 [ARM] Kirkwood: clock gating for unused peripherals To save power: 1. Enabling clock gating of unused peripherals 2. PLL and PHY of the units are also disabled (when possible. Signed-off-by: Rabeeh Khoury Signed-off-by: Nicolas Pitre commit fb7b2d3f0dda3fbd711c191fd3b9496653e81ac7 Author: Nicolas Pitre Date: Mon Jun 1 15:36:36 2009 -0400 [ARM] Kirkwood: rationalize NAND setup a bit Common resource and platform device structures are moved to common.c and only the partition table and chip delay remains a per board parameter. Signed-off-by: Nicolas Pitre commit a88656553d18c324554855fccc730c9644048111 Author: Erik Benada Date: Thu May 28 17:08:55 2009 -0700 [ARM] orion: convert gpio to use gpiolib Signed-off-by: Erik Benada [ nico: fix locking, additional cleanups ] Signed-off-by: Nicolas Pitre commit f14081e109e7074be3052f5410641161b6479abb Author: Nicolas Pitre Date: Fri May 29 22:29:01 2009 -0400 [ARM] Kirkwood: comment type fix Signed-off-by: Nicolas Pitre commit 797b2c80e8e111bc9673fc5e6c67ac03e8b7c7ef Author: Nicolas Pitre Date: Tue May 26 22:06:25 2009 -0400 [ARM] Kirkwood: only map peripheral register space once Just like commit 1419468ab548, let's save some TLB entries by making ioremap() return pointers into the boot-time Kirkwood peripheral iotable mapping whenever someone tries to ioremap any part of the Kirkwood peripheral register space. Signed-off-by: Nicolas Pitre commit 96e7d211b46ce838ceca5d9734d6e166cfafdef4 Author: Siddarth Gore Date: Tue May 5 14:52:09 2009 +0530 [ARM] Kirkwood: enable gpio leds/buttons for the mv88f6281gtw_ge board Signed-off-by: Siddarth Gore Signed-off-by: Lennert Buytenhek commit 91af7bb2f48e14892c5c961bca1fae5c7886532e Author: Lennert Buytenhek Date: Sun Oct 19 02:38:25 2008 +0200 [ARM] Kirkwood: add Marvell 88F6281 GTW GE board support Signed-off-by: Lennert Buytenhek commit a399e3fa795afa058e4485b25c498e0c5a860428 Author: Nicolas Pitre Date: Fri May 15 00:42:36 2009 -0400 [ARM] orion: make sure sched_clock() usage of cnt32_to_63() is safe With a TCLK = 200MHz, the half period of the hardware timer is roughly 10 seconds. Because cnt32_to_63() must be called at least once per half period of the base hardware counter, it is a bit risky to rely solely on scheduling to generate frequent enough calls. Let's use a kernel timer to ensure this. Signed-off-by: Nicolas Pitre commit 8a3269fc21cc4405d80b362139c078cf655a505a Author: Stefan Agner Date: Tue May 12 10:30:41 2009 -0700 [ARM] orion: sched_clock implementation for orion platforms sched_clock implementation for orion platform. Its realized using free-running clocksource timer, which provides a resolution of 7.5ns (depending on tclk). It's derived from PXA's sched_clock implementation. [ nico: renamed orion2ns to tclk2ns, fixed max value in the comment ] Signed-off-by: Stefan Agner Signed-off-by: Nicolas Pitre commit e50b6befae9ea91c2d190fb78ff1e06a0b950add Author: Rabeeh Khoury Date: Tue Mar 24 16:10:15 2009 +0200 [ARM] Kirkwood: CPU idle driver The patch adds support for Kirkwood cpu idle. Two idle states are defined: 1. Wait-for-interrupt (replacing default kirkwood wfi) 2. Wait-for-interrupt and DDR self refresh Signed-off-by: Rabeeh Khoury Signed-off-by: Nicolas Pitre commit c4ed3f04ba9defe22aa729d1646f970f791c03d7 Author: Jack Steiner Date: Mon Jun 8 10:44:05 2009 -0500 x86, UV: Fix macros for multiple coherency domains Fix bug in the SGI UV macros that support systems with multiple coherency domains. The macros used for referencing global MMR (chipset registers) are failing to correctly "or" the NASID (node identifier) bits that reside above M+N. These high bits are supplied automatically by the chipset for memory accesses coming from the processor socket. However, the bits must be present for references to the special global MMR space used to map chipset registers. (See uv_hub.h for more details ...) The bug results in references to invalid/incorrect nodes. Signed-off-by: Jack Steiner Cc: LKML-Reference: <20090608154405.GA16395@sgi.com> Signed-off-by: Ingo Molnar commit 9aee2286071c23c535fe9928eec1a26e0bcf256d Author: Toshiyuki Okajima Date: Mon Jun 8 12:41:35 2009 -0400 ext4: fix dx_map_entry to support 256k directory blocks The dx_map_entry structure doesn't support over 64KB block size by current usage of its member("offs"). Because "offs" treats an offset of copies of the ext4_dir_entry_2 structure as is. This member size is 16 bits. But real offset for over 64KB(256KB) block size needs 18 bits. However, real offset keeps 4 byte boundary, so lower 2 bits is not used. Therefore, we do the following to fix this limitation: For "store": we divide the real offset by 4 and then store this result to "offs" member. For "use": we multiply "offs" member by 4 and then use this result as real offset. Signed-off-by: Toshiyuki Okajima Signed-off-by: "Theodore Ts'o" commit 09521d2e3edd0bf02b66e5b8c13f1559f2d6958a Author: Takashi Iwai Date: Mon Jun 8 18:29:38 2009 +0200 ALSA: ctxfi - Fix wrong model id for UAA CTUAA should be checked instead of CTHENDRIX. The latter is for 20k2 chip. Also, fixed the detection of UAA/HENDRIX models by fixing the mask bits. Signed-off-by: Takashi Iwai commit 53331aa1c721336b661567e4c0aacc04ab9725d8 Author: James Smart Date: Fri May 22 14:53:27 2009 -0400 [SCSI] lpfc 8.3.2 : Update the lpfc driver version to 8.3.2 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 21e9a0a5fbd2b7cb3ae29f6d491a30bc0e688422 Author: James Smart Date: Fri May 22 14:53:21 2009 -0400 [SCSI] lpfc 8.3.2 : Persistent Vport Support Add support for persistent vport definitions at creation at boot time Also includes a few misc fixes for: - conversion to vpi name from vport slang name - couple of small mailbox references - some additional discovery mods Signed-off-by: James Smart Signed-off-by: James Bottomley commit f4b4c68f74dcd5da03df851090cad28ad4e8d7cc Author: James Smart Date: Fri May 22 14:53:12 2009 -0400 [SCSI] lpfc 8.3.2 : Miscellaneous Changes Miscellaneous Changes: - Convert from SLI2_ACTIVE flag to more correct SLI_ACTIVE (generic) flag - Reposition log verbose messaging definitions - Update naming for vpi object name from vport slang name - Handle deferred error attention condition - Add 10G link support - Small bug fixup Signed-off-by: James Smart Signed-off-by: James Bottomley commit d8e93df13c8f7bde45a7756944aab528c58df4cf Author: James Smart Date: Fri May 22 14:53:05 2009 -0400 [SCSI] lpfc 8.3.2 : Update of copyrights Update of copyrights on modified files Signed-off-by: James Smart Signed-off-by: James Bottomley commit 6fb120a7ed882aae9636545142a51cf3182a3ace Author: James Smart Date: Fri May 22 14:52:59 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - FCOE Discovery support SLI4 supports both FC and FCOE, with some extended topology objects. This patch adss support for the objects, and updates the disovery engines for their use. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 04c684968487eb4f98728363a97b8da48f3bb958 Author: James Smart Date: Fri May 22 14:52:52 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Mailbox handling The mailbox commands themselves are the same, or very similar to their SLI3 counterparts. This patch genericizes mailbox command handling and adds support for the new SLI4 mailbox queue. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4f774513f7b3fe96648b8936f60f835e6ceaa88e Author: James Smart Date: Fri May 22 14:52:35 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Queues Adds support for the new queues in the SLI-4 interface. There are : - Work Queues - host-to-adapter for fast-path traffic - Mailbox Queues - host-to-adapter for control (slow-path) - Buffer Queues - host-to-adapter for posting buffers for async receive - Completion Queues - adapter-to-host for posting async events, completions for fast or slow patch work, receipt of async receive traffic - Event Queues - tied to MSI-X vectors, binds completion queues with interrupts These patches add the all the support code to tie into command submission and response paths, updates the interrupt handling, etc. Signed-off-by: James Smart Signed-off-by: James Bottomley commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d Author: James Smart Date: Fri May 22 14:51:39 2009 -0400 [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Base Support Adds new hardware and interface definitions. Adds new interface routines - utilizing the reorganized layout of the driver. Adds SLI-4 specific functions for attachment, initialization, teardown, etc. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3772a99175f5378b5001e8da364341a8b8226a4a Author: James Smart Date: Fri May 22 14:50:54 2009 -0400 [SCSI] lpfc 8.3.2 : Reorganization for SLI4 Preps the organization of the driver so that the bottom half, which interacts with the hardware, can share common code sequences for attachment, detachment, initialization, teardown, etc with new hardware. For very common code sections, which become specific to the interface type, the driver uses an indirect function call. The function is set at initialization. For less common sections, such as initialization, the driver looks at the interface type and calls the routines relative to the interface. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9470195a9cd13e6d90221b8b5d897e9232da8d28 Author: Takashi Iwai Date: Mon Jun 8 18:10:32 2009 +0200 ALSA: ctxfi - Clean up probe routines Clean up probe routines and model detection routines so that the driver won't call and check the PCI subsystem id at each time. Signed-off-by: Takashi Iwai commit a0895162fbc1a4168c8cf29e1eb1bbc8c260a80a Author: Martin Fuzzey Date: Sat Jun 6 16:36:44 2009 +0200 MXC : update i.MX21 clock support for USB host. * Use correct clkdev style usb clock name * Implement rate setting for USB clock * Introduce _clk_generic_round_rate to factorize the (now 3) uses of rounding code. Signed-off-by: Martin Fuzzey Signed-off-by: Sascha Hauer commit 11eeef41d5f63c7d2f7fdfcc733eb7fb137cc384 Author: Evgeniy Polyakov Date: Mon Jun 8 17:01:51 2009 +0200 netfilter: passive OS fingerprint xtables match Passive OS fingerprinting netfilter module allows to passively detect remote OS and perform various netfilter actions based on that knowledge. This module compares some data (WS, MSS, options and it's order, ttl, df and others) from packets with SYN bit set with dynamically loaded OS fingerprints. Fingerprint matching rules can be downloaded from OpenBSD source tree or found in archive and loaded via netfilter netlink subsystem into the kernel via special util found in archive. Archive contains library file (also attached), which was shipped with iptables extensions some time ago (at least when ipt_osf existed in patch-o-matic). Following changes were made in this release: * added NLM_F_CREATE/NLM_F_EXCL checks * dropped _rcu list traversing helpers in the protected add/remove calls * dropped unneded structures, debug prints, obscure comment and check Fingerprints can be downloaded from http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os or can be found in archive Example usage: -d switch removes fingerprints Please consider for inclusion. Thank you. Passive OS fingerprint homepage (archives, examples): http://www.ioremap.net/projects/osf Signed-off-by: Evgeniy Polyakov Signed-off-by: Patrick McHardy commit f03ecf50534a81b06544c58a713076d59d54baf9 Author: Takashi Iwai Date: Mon Jun 8 16:38:17 2009 +0200 ALSA: hda - Fix the previous tagra-8ch patch - Fix a typo in the patch - Adapted to follow the recent change for unsol event handling Signed-off-by: Takashi Iwai commit 64a8be74357477558183b43156c5536b642de134 Author: David Heidelberger Date: Mon Jun 8 16:15:18 2009 +0200 ALSA: hda - Add 7.1 support for MSI GX620 Added 7.1 support for MSI GX620 and jack quirk. Reference: kernel bug#13430 http://bugzilla.kernel.org/show_bug.cgi?id=13430 Signed-off-by: David Heidelberger Signed-off-by: Takashi Iwai commit c00701101b82f2bc61dfc259748ec6e5288af6a9 Author: Takashi Iwai Date: Mon Jun 8 15:58:48 2009 +0200 ALSA: pcm - A helper function to compose PCM stream name for debug prints Use a common helper function for the PCM stream name displayed in XRUN and buffer-pointer debug prints. Signed-off-by: Takashi Iwai commit 0bf841281e58d0b3cc9fe9dc4383df7694bde6bd Author: Joerg Roedel Date: Mon Jun 8 15:53:46 2009 +0200 dma-debug: simplify logic in driver_filter() This patch makes the driver_filter function more readable by reorganizing the code. The removal of a code code block to an upper indentation level makes hard-to-read line-wraps unnecessary. Signed-off-by: Joerg Roedel commit f87fb666bb00a7afcbd7992d236e42ac544996f9 Author: Jan Kasprzak Date: Mon Jun 8 15:53:43 2009 +0200 netfilter: nf_ct_icmp: keep the ICMP ct entries longer Current conntrack code kills the ICMP conntrack entry as soon as the first reply is received. This is incorrect, as we then see only the first ICMP echo reply out of several possible duplicates as ESTABLISHED, while the rest will be INVALID. Also this unnecessarily increases the conntrackd traffic on H-A firewalls. Make all the ICMP conntrack entries (including the replied ones) last for the default of nf_conntrack_icmp{,v6}_timeout seconds. Signed-off-by: Jan "Yenya" Kasprzak Signed-off-by: Patrick McHardy commit 806d31d73843a018cb239fc16ba53d82f4d8dc33 Author: Takashi Iwai Date: Mon Jun 8 15:50:42 2009 +0200 ALSA: emu10k1 - Fix minimum periods for efx playback EFX playback stream should have periods_min = 2 to avoid the buffer position overflow (due to restrictions of the pcm-indirect helper). Signed-off-by: Takashi Iwai commit be81c6ea23b8b471141734ef4bc005f5127aaf43 Author: Joerg Roedel Date: Mon Jun 8 15:46:19 2009 +0200 dma-debug: disable/enable irqs only once in device_dma_allocations There is no need to disable/enable irqs on each loop iteration. Just disable irqs for the whole time the loop runs. Signed-off-by: Joerg Roedel commit e7ed70eedccc78e79ce6da2155e9caf90aff4003 Author: Joerg Roedel Date: Mon Jun 8 15:39:24 2009 +0200 dma-debug: use pr_* instead of printk(KERN_* ...) The pr_* macros are shorter than the old printk(KERN_ ...) variant. Change the dma-debug code to use the new macros and save a few unnecessary line breaks. If lines don't break the source code can also be grepped more easily. Signed-off-by: Joerg Roedel commit 8b5403a6d772d340541cfb30a668fde119c40ac1 Author: Christoph Hellwig Date: Mon Jun 8 15:37:16 2009 +0200 xfs: remove SYNC_BDFLUSH SYNC_BDFLUSH is a leftover from IRIX and rather misnamed for todays code. Make xfs_sync_fsdata and xfs_dq_sync use the SYNC_TRYLOCK flag for not blocking on logs just as the inode sync code already does. For xfs_sync_fsdata it's a trivial 1:1 replacement, but for xfs_qm_sync I use the opportunity to decouple the non-blocking lock case from the different flushing modes, similar to the inode sync code. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit b0710ccc6d9fa8fb908b5f6d1b0782a09d80e24f Author: Christoph Hellwig Date: Mon Jun 8 15:37:11 2009 +0200 xfs: remove SYNC_IOWAIT We want to wait for all I/O to finish when we do data integrity syncs. So there is no reason to keep SYNC_WAIT separate from SYNC_IOWAIT. This causes a little change in behaviour for the ENOSPC flushing code which now does a second submission and wait of buffered I/O, but that should finish ASAP as we already did an asynchronous writeout earlier. Signed-off-by: Christoph Hellwig Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Eric Sandeen commit 075fe1028699f6a280545dfc2cfc5ac82d555c8c Author: Christoph Hellwig Date: Mon Jun 8 15:35:48 2009 +0200 xfs: split xfs_sync_inodes xfs_sync_inodes is used to write back either file data or inode metadata. In general we always do these separately, except for one fishy case in xfs_fs_put_super that does both. So separate xfs_sync_inodes into separate xfs_sync_data and xfs_sync_attr functions. In xfs_fs_put_super we first call the data sync and then the attr sync as that was the previous order. The moved log force in that path doesn't make a difference because we will force the log again as part of the real unmount process. The filesystem readonly checks are not performed by the new function but instead moved into the callers, given that most callers alredy have it further up in the stack. Also add debug checks that we do not pass in incorrect flags in the new xfs_sync_data and xfs_sync_attr function and fix the one place that did pass in a wrong flag. Also remove a comment mentioning xfs_sync_inodes that has been incorrect for a while because we always take either the iolock or ilock in the sync path these days. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit fe588ed32867b42e0d906db558ca92fd9f8b128e Author: Christoph Hellwig Date: Mon Jun 8 15:35:27 2009 +0200 xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes Use xfs_inode_ag_iterator instead of opencoding the inode walk in the quota code. Mark xfs_inode_ag_iterator and xfs_sync_inode_valid non-static to allow using them from the quota code. Signed-off-by: Christoph Hellwig Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Eric Sandeen commit 75f3cb1393133682958db6f157e1b6473e5a366b Author: Dave Chinner Date: Mon Jun 8 15:35:14 2009 +0200 xfs: introduce a per-ag inode iterator Given that we walk across the per-ag inode lists so often, it makes sense to introduce an iterator for this. Convert the sync and reclaim code to use this new iterator, quota code will follow in the next patch. Also change xfs_reclaim_inode to return -EGAIN instead of 1 for an inode already under reclaim. This simplifies the AG iterator and doesn't matter for the only other caller. [hch: merged the lookup and execute callbacks back into one to get the pag_ici_lock locking correct and simplify the code flow] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit abc1064742604e60a47a65fa3214dc1a84db093d Author: Dave Chinner Date: Mon Jun 8 15:35:12 2009 +0200 xfs: remove unused parameter from xfs_reclaim_inodes The noblock parameter of xfs_reclaim_inodes is only ever set to zero. Remove it and all the conditional code that is never executed. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 1da8eecab5f866b4f5be43adbaadf18e259a8cc5 Author: Dave Chinner Date: Mon Jun 8 15:35:07 2009 +0200 xfs: factor out inode validation for sync Separate the validation of inodes found by the radix tree walk from the radix tree lookup. Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 845b6d0cbbc2304e8a54ed4038272c55f85b2269 Author: Christoph Hellwig Date: Mon Jun 8 15:35:05 2009 +0200 xfs: split inode flushing from xfs_sync_inodes_ag In many cases we only want to sync inode metadata. Split out the inode flushing into a separate helper to prepare factoring the inode sync code. Based on a patch from Dave Chinner, but redone to keep the current behaviour exactly and leave changes to the flushing logic to another patch. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 5a34d5cd096310133f9208db294021208a96660d Author: Dave Chinner Date: Mon Jun 8 15:35:03 2009 +0200 xfs: split inode data writeback from xfs_sync_inodes_ag In many cases we only want to sync inode data. Start spliting the inode sync into data sync and inode sync by factoring out the inode data flush. [hch: minor cleanups] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 7d095257e321214e4cf359abd131ba1f09c60cba Author: Christoph Hellwig Date: Mon Jun 8 15:33:32 2009 +0200 xfs: kill xfs_qmops Kill the quota ops function vector and replace it with direct calls or stubs in the CONFIG_XFS_QUOTA=n case. Make sure we check XFS_IS_QUOTA_RUNNING in the right spots. We can remove the number of those checks because the XFS_TRANS_DQ_DIRTY flag can't be set otherwise. This brings us back closer to the way this code worked in IRIX and earlier Linux versions, but we keep a lot of the more useful factoring of common code. Eventually we should also kill xfs_qm_bhv.c, but that's left for a later patch. Reduces the size of the source code by about 250 lines and the size of XFS module by about 1.5 kilobytes with quotas enabled: text data bss dec hex filename 615957 2960 3848 622765 980ad fs/xfs/xfs.o 617231 3152 3848 624231 98667 fs/xfs/xfs.o.old Fallout: - xfs_qm_dqattach is split into xfs_qm_dqattach_locked which expects the inode locked and xfs_qm_dqattach which does the locking around it, thus removing XFS_QMOPT_ILOCKED. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit 0c5e1ce89f1eacc366ec421c0f5f681159479c28 Author: Christoph Hellwig Date: Mon Jun 8 15:33:21 2009 +0200 xfs: validate quota log items during log recovery Arkadiusz has seen really strange crashes in xfs_qm_dqcheck that I can only explain by a log item being too smal to actually fit the xfs_dqblk_t we're dereferencing all over xfs_qm_dqcheck. So add graceful checks for NULL or too small quota items to the log recovery code. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit e1696834e8a15d7ef9ae8ffdffe00bac1399a2e3 Author: Christoph Hellwig Date: Mon Jun 8 15:32:59 2009 +0200 xfs: update max log size Commit a6634fba3dec4a92f0a2c4e30c80b634c0576ad5 in xfsprogs increased the maximum log size supported by mkfs. Merged back the changes to xfs_fs.h so the growfs enforced the same limit and the headers are in sync. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen commit d362af62ed98f58c64a2b3dd58c79d25ad181b0b Author: Takashi Iwai Date: Mon Jun 8 15:31:22 2009 +0200 ALSA: ctxfi - Fix / clean up hw20k2 chip code - Clean up Hungarian coding style - Don't use static variables for I2C information; this unables to use multiple instances. Now they are stored in struct hw20k2 fields. Signed-off-by: Takashi Iwai commit c17e2cf7376a2010b8b114fdeebd4e340a5e9cb2 Author: Joerg Roedel Date: Mon Jun 8 15:19:29 2009 +0200 dma-debug: code style fixes This patch changes the recent updates to dma-debug to conform with coding style guidelines of Linux and the -tip tree. Signed-off-by: Joerg Roedel commit af8500bbbd18438495d2f91ad07bda49fff3b770 Author: Takashi Iwai Date: Mon Jun 8 15:07:46 2009 +0200 ALSA: ctxfi - Fix possible buffer pointer overrun Fix possible buffer pointer overruns. Back to zero when it's equal or over the buffer size. Signed-off-by: Takashi Iwai commit 312325094785566a0e42a88c1bf6e7eb54c5d70e Author: Joerg Roedel Date: Mon Jun 8 15:07:08 2009 +0200 dma-debug: comment style fixes Last patch series introduced some new comment which does not fit the Kernel comment style guidelines. Fix it with this patch. Signed-off-by: Joerg Roedel commit 514eef9c2a711b4c24b97bb456d39695a6fe1775 Author: Takashi Iwai Date: Mon Jun 8 14:57:57 2009 +0200 ALSA: ctxfi - Remove useless initializations and cast Remove useless variable initializations and cast at the beginning of functions. Signed-off-by: Takashi Iwai commit 4836ac655410e7f126d316b0be062b38746f7529 Author: Takashi Iwai Date: Mon Jun 8 14:49:26 2009 +0200 ALSA: ctxfi - Fix DMA mask for emu20k2 chip Allow 64bit DMA mask for emu20k2 chip, too. Signed-off-by: Takashi Iwai commit 611b30f74b5d8ca036a9923b3bf6e0ee10a21a53 Author: Marcel Holtmann Date: Mon Jun 8 14:41:38 2009 +0200 Bluetooth: Add native RFKILL soft-switch support for all devices With the re-write of the RFKILL subsystem it is now possible to easily integrate RFKILL soft-switch support into the Bluetooth subsystem. All Bluetooth devices will now get automatically RFKILL support. Signed-off-by: Marcel Holtmann commit 092b85853b161a5ca285c429faf1cf2ff4318a01 Author: Marcel Holtmann Date: Mon Jun 8 14:31:00 2009 +0200 Bluetooth: Remove unused and unneeded support in virtual driver The virtual driver implements fasync and ioctl support, but it is not used and unneeded due to its constraints via the Bluetooth core layer. So too just make the driver simpler, remove support for both of them. Signed-off-by: Marcel Holtmann commit 3857abc622102b808de11ff3393d541b826ab952 Author: Marcel Holtmann Date: Mon Jun 8 14:24:03 2009 +0200 Bluetooth: Remove BKL from open callback of virtual driver The BKL push down added some BKL into the open callback of the virtual driver. The driver is really simple and need no such locking and so just remove it. Signed-off-by: Marcel Holtmann commit 4db7589f3d88c09d740560f1dcf2d4d843d918f2 Author: Marcel Holtmann Date: Mon Jun 8 14:13:57 2009 +0200 Bluetooth: Use wait_event_interruptible for virtual driver The virtual driver still uses a home grown way of waiting for events and so just replace it with wait_event_interruptible. And while at it remove the useless access_ok() checks. Signed-off-by: Marcel Holtmann commit ac28494c51ad20c7ff9cb991eaeee359a500d88e Author: Marcel Holtmann Date: Sun Jun 7 18:09:57 2009 +0200 Bluetooth: Use only MISC_DYNAMIC_MINOR for virtual driver Allowing to specify a specific misc minor number for the virtual driver is pretty much useless and nobody is using this feature. So just remove it and use MISC_DYNAMIC_MINOR all the time. Signed-off-by: Marcel Holtmann commit b4324b5dc5b62ba76372e1bf8927230cf744df66 Author: Marcel Holtmann Date: Sun Jun 7 18:06:51 2009 +0200 Bluetooth: Remove pointless endian conversion helpers The Bluetooth source uses some endian conversion helpers, that in the end translate to kernel standard routines. So remove this obfuscation since it is fully pointless. Signed-off-by: Marcel Holtmann commit 47ec1dcd696d56a7c396e5838516a566ecd4b03d Author: Marcel Holtmann Date: Sat May 2 18:57:55 2009 -0700 Bluetooth: Add basic constants for L2CAP ERTM support and use them This adds the basic constants required to add support for L2CAP Enhanced Retransmission feature. Based on a patch from Nathan Holstein Signed-off-by: Marcel Holtmann commit af05b30bcb65da3ed488af54ee92e96bebe0be5e Author: Gustavo F. Padovan Date: Mon Apr 20 01:31:08 2009 -0300 Bluetooth: Fix errors and warnings in L2CAP reported by checkpatch.pl This patch fixes the errors without changing the l2cap.o binary: text data bss dec hex filename 18059 568 0 18627 48c3 l2cap.o.after 18059 568 0 18627 48c3 l2cap.o.before Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 44d0e48e8a1fa174edf11e03dc70bd6a146b2a40 Author: Marcel Holtmann Date: Mon Apr 20 07:09:16 2009 +0200 Bluetooth: Remove unnecessary variable initialization The initial value of err is not used until it is set to -ENOMEM. So just remove the initialization completely. Based on a patch from Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 589d27464846c7cb758f93d9ee380c8ff05a161c Author: Gustavo F. Padovan Date: Mon Apr 20 01:31:07 2009 -0300 Bluetooth: Use macro for L2CAP hint mask on receiving config request Using the L2CAP_CONF_HINT macro is easier to understand than using a hardcoded 0x80 value. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8db4dc46dcff7568896aa1eae4bd07620ce3dd93 Author: Gustavo F. Padovan Date: Mon Apr 20 01:31:05 2009 -0300 Bluetooth: Use macros for L2CAP channel identifiers Use macros instead of hardcoded numbers to make the L2CAP source code more readable. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 21bea495943f9532f16e819066b340762124f5dd Author: Christoph Hellwig Date: Mon Jun 8 21:38:31 2009 +0900 fat: split fat_generic_ioctl Split up fat_generic_ioctl and add separate functions for the two implemented ioctls. Signed-off-by: Christoph Hellwig Signed-off-by: OGAWA Hirofumi commit d436dd063be605dc29f17b2cb0b99a852db89bed Author: Takashi Iwai Date: Mon Jun 8 13:50:18 2009 +0200 ALSA: ctxfi - Make volume controls more intuitive Change the volume control to dB scale (as the raw data seems so). Also added the TLV dB-scale information. Signed-off-by: Takashi Iwai commit bfee1a4311702c9fdecd8264ffd1126fd0ce92fb Author: Nicolas Pitre Date: Sun May 31 22:25:40 2009 -0400 mtd: orion_nand: use burst reads with double word accesses This is not 8 times faster than byte access, but still around 60% faster. Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 9dbc090274668abe3fc9f3a5de490d7d412cd74a Author: Peter Korsgaard Date: Sun Jun 7 06:04:23 2009 -0700 mtd/nand: s3c6400 support for s3c2410 driver Add s3c6400 support to the s3c2410 driver. The nand controller in the s3c64xx devices is compatible with the one in the s3c2412, so simply reuse that code. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Signed-off-by: David Woodhouse commit e635a01ea0a16cf7cd31ecd2305870385dca9be6 Merge: 143070e 947391c Author: David Woodhouse Date: Mon Jun 8 12:21:27 2009 +0100 Merge branch 'next-mtd' of git://aeryn.fluff.org.uk/bjdooks/linux commit 947391cfbaa3b08558844c0b187bcd0223c3f660 Author: Ben Dooks Date: Sat May 30 18:34:16 2009 +0100 [MTD] [NAND] S3C2410: Use DIV_ROUND_UP Change to using DIV_ROUND_UP() in the timing calculation instead of blindly doing result++ Signed-off-by: Ben Dooks commit dea2aa6fd7d46c43c840ad77905f3c161d5bc59d Author: Ben Dooks Date: Sat May 30 18:30:18 2009 +0100 [MTD] [NAND] S3C2410: Deal with unaligned lengths in S3C2440 buffer read/write Add code to deal with fractional lengths, as reported by Werner Almesberger. Re-work of his original patch. Signed-off-by: Ben Dooks commit 9db41f9edcb87ae050fcb171c44be7f212728d54 Author: Michel Pollet Date: Wed May 13 16:54:14 2009 +0100 [MTD] [NAND] S3C2410: Allow the machine code to get the BBT table from NAND Added a flag to allow the machine code to tell the NAND subsystem that it should try to pickup a BBT from the flash, and also skip the NAND full scan at startup. Signed-off-by: Michel Pollet Signed-off-by: Ben Dooks commit a4536b19df92adda215f6fc225b52dc4cee4cf83 Author: Michel Pollet Date: Wed May 13 16:54:13 2009 +0100 [MTD] [NAND] S3C2410: Added a kerneldoc for s3c2410_nand_set Converted the old comnent to kerneldoc. Signed-off-by: Michel Pollet [ben-linux@fluff.org: updated subject, spello fix] Signed-off-by: Ben Dooks commit b0903ee8e4853eea35cb24cfb4dda1b60c7948dc Author: Roel Kluin Date: Mon Jun 8 13:04:43 2009 +0200 CRIS: assignment/is equal confusion Somehow, the assignments of rw->lock got written as comparisons. The effect probably was that the read-write spinlocks never locked. However, since the locks are only used in CONFIG_SMP and SMP CRIS is experimental, it has never been identified as a problem. Signed-off-by: Roel Kluin Acked-by: Jesper Nilsson commit c4865679df5453d1bc94c534f4d94a364c0546df Author: Takashi Iwai Date: Mon Jun 8 12:57:17 2009 +0200 ALSA: ca0106 - Fix master volume scale The master volume dB scale was wrongly defined as 0.50dB setp while it must be 0.25dB step. Signed-off-by: Takashi Iwai commit 4024533e60787a5507818b0c0fdb44ddb522cdf5 Author: Peter Ma Date: Mon Jun 8 12:55:35 2009 +0200 avr32: Add support for Mediama RMTx add-on board for ATNGW100 Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit a89ab11454b476d2d9e8a10f903360a62e21bac8 Author: Peter Ma Date: Mon Jun 8 12:54:02 2009 +0200 avr32: Change Atmel ATNGW100 config to add choice of add-on board Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit 54de6bc8b2437f642844cecb8d183df2368ffceb Author: Takashi Iwai Date: Mon Jun 8 10:21:07 2009 +0200 ALSA: ctxfi - Optimize the native timer handling using wc counter Optimize the timer update routine to look up wall clock once instead of checking the position of each stream at each timer update. Signed-off-by: Takashi Iwai commit 1123e3ad73697d64ad99f0104bbe49f8b52d7d65 Author: Ingo Molnar Date: Fri May 29 11:25:09 2009 +0200 perf_counter: Clean up x86 boot messages Standardize and tidy up all the messages we print during perfcounter initialization. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 9c259a52fa6ab46841a6094434cd0d752e854180 Author: Artem Bityutskiy Date: Mon Jun 8 12:49:08 2009 +0300 UBI: improve messages in the WL worker Print not only the PEB number, but also the LEB number and volume id, which is very useful for bug hunting. Signed-off-by: Artem Bityutskiy commit 963267bc5d4de4a0da104a64300375d186575332 Author: Maciej W. Rozycki Date: Mon Jun 8 02:42:35 2009 -0700 declance: Restore tx descriptor ring locking A driver overhaul on 29 Feb 2000 (!) broke locking around fiddling with the tx descriptor ring in start_xmit(); a follow-on "fix" removed the broken remnants altogether. Here's a patch to restore proper locking in the function -- the complement in the interrupt handler has been correct all the time. This *may* have been the reason for the occasional confusion of the chip -- triggering a tx timeout followed by a chip reset sequence -- seen on R4k-based DECstations with the onboard Ethernet interface. Another theory is the confusion is due to an unindentified problem -- perhaps a silicon erratum -- associated with the variation of the MT ASIC used to interface the R4k CPU to the rest of the system on these computers; with its aggressive write-back buffering the design is particularly weakly ordered when it comes to MMIO (in the absence of ordering barriers uncached reads are allowed to bypass earlier uncached writes, even if to the same location), which may trigger all kinds of corner cases in peripheral hardware as well as software. Either way this piece of code is buggy. Signed-off-by: Maciej W. Rozycki Signed-off-by: David S. Miller commit ad689220614b6c7c0b13b70d742f358e9310e71e Author: Thomas Gleixner Date: Mon Jun 8 09:30:41 2009 +0200 perf_counter, x86: Implement generalized cache event types, add Atom support Fill in core2_hw_cache_event_id[] with the Atom model specific events. The events can be used in all the tools via the -e (--event) parameter, for example "-e l1-misses" or -"-e l2-accesses" or "-e l2-write-misses". ( Note: these are straight from the Intel manuals - not tested yet.) Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 0312af84164215a452f2a94957ebd9bce86e0204 Author: Thomas Gleixner Date: Mon Jun 8 07:42:04 2009 +0200 perf_counter, x86: Implement generalized cache event types, add Core2 support Fill in core2_hw_cache_event_id[] with the Core2 model specific events. The events can be used in all the tools via the -e (--event) parameter, for example "-e l1-misses" or -"-e l2-accesses" or "-e l2-write-misses". Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f2c5dbd7b7396457efc114f825acfdd4db4608f8 Author: Artem Bityutskiy Date: Thu May 28 16:24:15 2009 +0300 UBIFS: start using hrtimers UBIFS uses timers for write-buffer write-back. It is not crucial for us to write-back exactly on time. We are fine to write-back a little earlier or later. And this means we may optimize UBIFS timer so that it could be groped with a close timer event, so that the CPU would not be waken up just to do the write back. This is optimization to lessen power consumption, which is important in embedded devices UBIFS is used for. hrtimers have a nice feature: they are effectively range timers, and we may defind the soft and hard limits for it. Standard timers do not have these feature. They may only be made deferrable, but this means there is effectively no hard limit. So, we will better use hrtimers. Signed-off-by: Artem Bityutskiy commit 8daa21e61be47a5b136c4ee1be82e391a5788696 Author: Artem Bityutskiy Date: Thu May 28 16:21:24 2009 +0300 hrtimer: export ktime_add_safe We want to use hrtimers in UBIFS (for write-buffer write-back timer). We need the 'hrtimer_set_expires_range_ns()', which is an in-line function which uses 'ktime_add_safe()'. Signed-off-by: Artem Bityutskiy Acked-by: Ingo Molnar commit 3f36406f26437afae9f43cc6dcfc264143e21ed0 Author: Artem Bityutskiy Date: Fri May 29 20:16:27 2009 +0300 UBIFS: do not forget to register BDI device Reviewed-by: Jens Axboe Signed-off-by: Artem Bityutskiy commit fe93299a008a7056fe1790744b3a425ddf79a16b Author: Tilman Schmidt Date: Sun Jun 7 09:09:24 2009 +0000 isdn: extend INTERFACE.CAPI document Clarify calling context and return codes of callback methods, and add a description of the _cmsg structure and helper functions. Impact: documentation Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7d31acda9f8eaa27e2fd232712f7e1f3e9a79bdb Author: Tilman Schmidt Date: Sun Jun 7 09:09:24 2009 +0000 isdn: prevent NULL ptr Oops in capi_cmsg2str() The dereferencing of the private pointer cmsg->m in capi_cmsg2str() may cause an Oops in case of an error, which is particularly inconvenient as that function is typically used to format an error message. Add a NULL pointer check to avoid this. Impact: error handling improvement Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4793d15b25821003486bb11b54eaf2f3130ecacd Author: Tilman Schmidt Date: Sun Jun 7 09:09:23 2009 +0000 isdn: kerneldoc for capiutil.c Add kerneldoc comments for the exported funtions in capiutil.c. Impact: documentation Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 4e329972052c3649367b91de783f6293b8653cb2 Author: Tilman Schmidt Date: Sun Jun 7 09:09:23 2009 +0000 isdn: rename capi_ctr_reseted() to capi_ctr_down() Change the name of the Kernel CAPI exported function capi_ctr_reseted() to something representing its purpose better. Impact: renaming, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit f0a4d0e5b5bfd271e6737f7c095994835b70d450 Author: Eric W. Biederman Date: Mon Jun 8 00:44:31 2009 -0700 tun: Fix unregister race It is possible for tun_chr_close to race with dellink on the a tun device. In which case if __tun_get runs before dellink but dellink runs before tun_chr_close calls unregister_netdevice we will attempt to unregister the netdevice after it is already gone. The two cases are already serialized on the rtnl_lock, so I have gone for the cheap simple fix of moving rtnl_lock to cover __tun_get in tun_chr_close. Eliminating the possibility of the tun device being unregistered between __tun_get and unregister_netdevice in tun_chr_close. Signed-off-by: Eric W. Biederman Tested-by: David Woodhouse Signed-off-by: David S. Miller commit ef681ce1e8b3e63317cd724c200b2fd39286c005 Author: Andre Detsch Date: Mon Jun 8 00:42:30 2009 -0700 e100: Fix napi_enable BUG_ON when recovering from EEH error BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state)) was being hit during e100 EEH recovery. The problem source was a napi_enable call being made during e100_io_error_detected. Napi should remain disabled after e100_down, and only be reenabled when the interface is recovered. This patch also updates e100_io_error_detected in order to make it similar to the current versions of the error_detected callback in drivers such as e1000e and ixgbe. Signed-off-by: Andre Detsch Signed-off-by: David S. Miller commit 1d0ebfe7c9621d43804e9ce9f2b898541a7d9652 Author: Figo.zhang Date: Mon Jun 8 00:40:35 2009 -0700 net pkgen.c:fix no need for check vfree() does its own 'NULL' check, so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: David S. Miller commit a5b19b635c39fdb819500b0a746b44fe40c9a303 Author: Yevgeny Petrilin Date: Mon Jun 8 00:39:58 2009 -0700 mlx4: FIX error flow when initializing EQ table If mlx4_create_eq() would fail for one of EQ's assigned for completion handling, the code would try to free the same EQ we failed to create. The crash was found by Christoph Lameter Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 6f536f403979d37021508c5804509a379d853788 Author: Sridhar Samudrala Date: Mon Jun 8 00:27:28 2009 -0700 tun: Fix copy/paste error in tun_get_user Use the right structure while incrementing the offset in tun_get_user. Signed-off-by: Sridhar Samudrala Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 2faef52b72958b8b1c08e927b9b0691c314cf6f4 Author: Sridhar Samudrala Date: Fri Jun 5 09:35:44 2009 +0000 net: Fix memcpy_toiovecend() to use the right offset Increment the iovec base by the offset passed in for the initial copy_to_user() in memcpy_to_iovecend(). Signed-off-by: Sridhar Samudrala Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit d2d27bfd11659675fdd1c20b1c7f8f59873cad60 Author: Sridhar Samudrala Date: Fri Jun 5 09:35:40 2009 +0000 net: Fix skb_copy_datagram_from_iovec() to pass the right offset I am working on enabling UFO between KVM guests using virtio-net and i have some patches that i got working with 2.6.30-rc8. When i wanted to try them with net-next-2.6, i noticed that virtio-net is not working with that tree. After some debugging, it turned out to be several bugs in the recent patches to fix aio with tun driver, specifically the following 2 commits. http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=0a1ec07a67bd8b0033dace237249654d015efa21 http://git.kernel.org/?p=linux/kernel/git/davem/net-next-2.6.git;a=commitdiff;h=6f26c9a7555e5bcca3560919db9b852015077dae Fix the call to memcpy_from_iovecend() in skb_copy_datagram_from_iovec to pass the right iovec offset. Signed-off-by: Sridhar Samudrala Acked-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 042a53a9e437feaf2230dd2cadcecfae9c7bfe05 Author: Eric Dumazet Date: Fri Jun 5 04:04:16 2009 +0000 net: skb_shared_info optimization skb_dma_unmap() is quite expensive for small packets, because we use two different cache lines from skb_shared_info. One to access nr_frags, one to access dma_maps[0] Instead of dma_maps being an array of MAX_SKB_FRAGS + 1 elements, let dma_head alone in a new dma_head field, close to nr_frags, to reduce cache lines misses. Tested on my dev machine (bnx2 & tg3 adapters), nice speedup ! Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit eae3f29cc73f83cc3f1891d3ad40021b5172c630 Author: Eric Dumazet Date: Fri Jun 5 04:03:35 2009 +0000 net: num_dma_maps is not used Get rid of num_dma_maps in struct skb_shared_info, as it seems unused. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f957bcf0164e45bd77867e02412035e1c2fd7058 Author: Tobias Klauser Date: Thu Jun 4 23:07:59 2009 +0000 s2io: Remove private boolean definitions Remove the private definition of TRUE/FALSE and use the ones from linux/stddef.h. Also remove the definition of BOOL which is not referenced inside the driver anyway. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit d65a68a8da5c9d1041ebc5e018e677d641910668 Author: Paulius Zaleckas Date: Thu Jun 4 05:50:29 2009 +0000 hso: convert dev_alloc_skb() to netdev_alloc_skb() Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit b07878e5471a8c880cb3cffee3a73048f38d2001 Author: Richard Ršöjfors Date: Thu Jun 4 03:35:55 2009 +0000 netdev: Added KS8842 driver This is a driver for the Micrel KS8842 ethernet switch. The supplied code is for driving the KS8842 through the Timberdale FPGA on the Russellville board, a development board for Intel Atom CPU in the automotive area. Signed-off-by: Richard Röjfors Signed-off-by: David S. Miller commit 5ff8dda3035d95df5bf6979136eb82b0e301726b Author: Herbert Xu Date: Thu Jun 4 01:22:01 2009 +0000 net: Ensure partial checksum offset is inside the skb head On Thu, Jun 04, 2009 at 09:06:00PM +1000, Herbert Xu wrote: > > tun: Optimise handling of bogus gso->hdr_len > > As all current versions of virtio_net generate a value for the > header length that's too small, we should optimise this so that > we don't copy it twice. This can be done by ensuring that it is > at least as large as the place where we'll write the checksum. > > Signed-off-by: Herbert Xu With this applied we can strengthen the partial checksum check: In skb_partial_csum_set we check to see if the checksum offset is within the packet. However, we really should check that it is within the skb head as that's the only bit we can modify without copying. Signed-off-by: Herbert Xu Acked-by: Rusty Russell Signed-off-by: David S. Miller commit 4909122fb8350e70c347f1201256908a92058044 Author: Herbert Xu Date: Mon Jun 8 00:20:01 2009 -0700 tun: Optimise handling of bogus gso->hdr_len As all current versions of virtio_net generate a value for the header length that's too small, we should optimise this so that we don't copy it twice. This can be done by ensuring that it is at least as large as the place where we'll write the checksum. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b82f08ea162edeee6c2c70c6c4321bea4763fa35 Author: Herbert Xu Date: Thu Jun 4 00:59:18 2009 +0000 virtio_net: Set correct gso->hdr_len Through a bug in the tun driver, I noticed that virtio_net is producing bogus hdr_len values. In particular, it only includes the IP header in the linear area, and excludes the entire TCP header. This causes the TCP header to be copied twice for each packet. (The bug omitted the second copy :) This patch corrects this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1feede014bf3c58f60b35f91dcd8a2f89b3908ad Author: Riccardo Ghetta Date: Thu Jun 4 09:05:20 2009 +0000 sis190: fix gigabit negotiation Fixes an initialization error; the chip negotiates gigabit, but the driver mistakenly handled it as 100Mb. Changes based on both SiS own GPL driver and forcedeth. Hopefully should fix http://bugzilla.kernel.org/show_bug.cgi?id=9735 http://bugzilla.kernel.org/show_bug.cgi?id=11149 Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit 856f8f41d44c9a310665213745bba655e52641fd Author: Riccardo Ghetta Date: Thu Jun 4 09:05:07 2009 +0000 sis190: add new phy found on asus F5Sr laptop Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit c3223d2446a7ce7438be49d68c4e65267fc6e0b2 Author: Riccardo Ghetta Date: Thu Jun 4 09:04:55 2009 +0000 sis190: better message on unknown PHY Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit 744c6b2976778ac6944e580fc413842df85be84e Author: Riccardo Ghetta Date: Sun Jun 7 19:47:58 2009 +0000 sis190: fix for x86_64 (bug 11509) Corrected dma sync handling on small packets. Should fix http://bugzilla.kernel.org/show_bug.cgi?id=11509 Note: While this bug was reported only on x86_64, it could have affected any architecture. Signed-off-by: Riccardo Ghetta Signed-off-by: David S. Miller commit 365da8722d9df54efb8212bf82a87d816c522845 Author: Ron Mercer Date: Sun Jun 7 13:58:29 2009 +0000 qlge: Fix timeout on firmware mailbox commands. Some firmware mailbox commands require the firmware to communicate with the FCoE driver running on another PCI function. This can potentially take several seconds. This wait is done in process context only. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d2ba498668cb9f18677dd150b23f754953dc1fda Author: Ron Mercer Date: Sun Jun 7 13:58:28 2009 +0000 qlge: Fix timeout on indexed register wait. There are 8 banks of 'sub-registers' each of which are accessed through address/data register pair. An example would be reading flash or the xgmac. Accessing these require the driver to wait for a ready bit before writing the address and then accessing the data. This patch increases the timeout to 100us to prevent timeouts that have been seen on some platforms. These register are accessed in process context only. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c8269b21ddfd0181881aca959cff64ff15a0b7d3 Author: Ron Mercer Date: Sun Jun 7 13:58:27 2009 +0000 qlge: Fix bug in MTU setting process. Since an FCoE function shares a port with this NIC function, the jumbo settings must always be in place. This patch causes the hardware to be set up for jumbo if it is not already done. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 709ac4f43d76135daa9c2e33ab90eadd16bfce15 Author: Ron Mercer Date: Sun Jun 7 13:58:26 2009 +0000 qlge: Fix bug in firmware event handler. Each firmware mailbox command can have a different number of valid data elements. When waiting for a mailbox command to complete it the process passes it's element count and waits for the completion. It is possible that while waiting an unrelated firmware async event (AE) can arrive. When this happens, the handler will over write the element count with the value for the newly arrived AE. This can cause the mailbox command to not get all of it's data. This patch restores original mailbox count at the end of the handler. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit d6f58c2e63b4197cba99edd3a4c5c7f4935708fb Author: Ron Mercer Date: Sun Jun 7 13:58:25 2009 +0000 qlge: Fix firmware event handler loop. Check status on every iteration of event handler loop and exit if an error occurred. If an error occurred then recover process will be queued so this loop should no continue. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit df911e2dc4c59e259b65c502fe0679ade309b575 Author: Mike Frysinger Date: Fri Jun 5 14:37:20 2009 +0000 netdev: smsc911x: add missing __devexit_p() usage The smsc911x_drv_remove() function is declared with __devexit, so the assignment to the driver structure needs __devexit_p() wrappings to prevent build failure when hotplug is disabled. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 1993f46739a9600ecdbbaa1ce56d25f6fdc44472 Author: Mike Frysinger Date: Fri Jun 5 14:37:19 2009 +0000 netdev: smsc911x: allow building on Blackfin systems The smsc911x driver works fine on Blackfin systems, so add it to the arch list in the Kconfig. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit e779898aa74cd2e97216368b3f3689ceffe8aeed Author: Ingo Molnar Date: Sun Jun 7 18:14:46 2009 +0200 perf stat: Print out instructins/cycle metric Before: 7549326754 cycles # 3201.811 M/sec 10007594937 instructions # 4244.408 M/sec After: 7542051194 cycles # 3201.996 M/sec 10007743852 instructions # 4248.811 M/sec # 1.327 per cycle Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a14832ff977e78d1982cdf78cdabb1f2320d9ac8 Author: Ingo Molnar Date: Sun Jun 7 17:58:23 2009 +0200 perf report: Print more expressive message in case of file open error Before: $ perf report failed to open file: No such file or directory After: $ perf report failed to open file: perf.data (try 'perf record' first) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 30c806a094493beb7691bc7957dfa02dee96230a Author: Ingo Molnar Date: Sun Jun 7 17:46:24 2009 +0200 perf_counter tools: Handle kernels with !CONFIG_PERF_COUNTER If perf is run on a !CONFIG_PERF_COUNTER kernel right now it bails out with no messages or with confusing messages. Standardize this case some more and explain the situation. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3da297a60f7e8840f79f7d0b343af078890939ea Author: Ingo Molnar Date: Sun Jun 7 17:39:02 2009 +0200 perf record: Fall back to cpu-clock-ticks if no PMU On architectures/CPUs without PMU support but with perfcounters enabled 'perf record' currently fails because it cannot create a cycle based hw-perfcounter. Fall back to the cpu-clock-tick sw-perfcounter in this case, which is hrtimer based and will always work (as long as perfcounters are enabled). Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 716c69fecacd42f2a304a97158e04af2786a3f65 Author: Ingo Molnar Date: Sun Jun 7 17:31:52 2009 +0200 perf top: Fall back to cpu-clock-tick hrtimer sampling if no cycle counter available On architectures/CPUs without PMU support but with perfcounters enabled 'perf top' currently fails because it cannot create a cycle based hw-perfcounter. Fall back to the cpu-clock-tick sw-perfcounter in this case, which is hrtimer based and will always work (as long as perfcounters is enabled). Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 743ee1f80434138495bbb95ffb897acf46b51d54 Author: Ingo Molnar Date: Sun Jun 7 17:06:46 2009 +0200 perf stat: Continue even on counter creation error Before: $ perf stat ~/hackbench 5 error: syscall returned with -1 (No such device) After: $ perf stat ~/hackbench 5 Time: 1.640 Performance counter stats for '/home/mingo/hackbench 5': 6524.570382 task-clock-ticks # 3.838 CPU utilization factor 35704 context-switches # 0.005 M/sec 191 CPU-migrations # 0.000 M/sec 8958 page-faults # 0.001 M/sec cycles instructions cache-references cache-misses Wall-clock time elapsed: 1699.999995 msecs Also add -v (--verbose) option to allow the printing of failed counter opens. Plus dont print 'inf' if wall-time is zero (due to jiffies granularity), instead skip the printing of the CPU utilization factor. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit aeef50bc0483fa70ce0bddb686ec84a274b7f3d4 Author: Figo.zhang Date: Sun Jun 7 22:30:36 2009 +0800 x86, microcode: Simplify vfree() use vfree() does its own 'NULL' check, so no need for check before calling it. In v2, remove the stray newline. [ Impact: cleanup ] Signed-off-by: Figo.zhang Cc: Dmitry Adamushko LKML-Reference: <1244385036.3402.11.camel@myhost> Signed-off-by: Ingo Molnar commit 3aa6b186f86c5d06d6d92d14311ffed51f091f40 Author: Lubomir Rintel Date: Sun Jun 7 16:23:48 2009 +0200 x86: Fix non-lazy GS handling in sys_vm86() This fixes a stack corruption panic or null dereference oops due to a bad GS in resume_userspace() when returning from sys_vm86() and calling lockdep_sys_exit(). Only a problem when CONFIG_LOCKDEP and CONFIG_CC_STACKPROTECTOR enabled. Signed-off-by: Lubomir Rintel Cc: H. Peter Anvin LKML-Reference: <1244384628.2323.4.camel@bimbo> Signed-off-by: Ingo Molnar commit a4046f8d299e00e9855ae292527c2d66a42670eb Author: Cyrill Gorcunov Date: Sun Jun 7 12:19:37 2009 +0400 x86, nmi: Use predefined numbers instead of hardcoded one [ Impact: cleanup ] Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090607081937.GC4547@lenovo> Signed-off-by: Ingo Molnar commit 103428e57be323c3c5545db8ad12667099bc6005 Author: Cyrill Gorcunov Date: Sun Jun 7 16:48:40 2009 +0400 x86, apic: Fix dummy apic read operation together with broken MP handling Ingo Molnar reported that read_apic is buggy novadays: [ 0.000000] Using APIC driver default [ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs [ 0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic" [ 0.000000] APIC: disable apic facility [ 0.000000] ------------[ cut here ]------------ [ 0.000000] WARNING: at arch/x86/kernel/apic/apic.c:254 native_apic_read_dummy+0x2d/0x3b() [ 0.000000] Hardware name: HP OmniBook PC Indeed we still rely on apic->read operation for SMP compiled kernel. And instead of disfigure the SMP code with #ifdef we allow to call apic->read. To capture any unexpected results we check for apic->read being called for sane reason via WARN_ON_ONCE but(!) instead of OR we should use AND logical operation (thanks Yinghai for spotting the root of the problem). Along with that we could be have bad MP table and we are to fix it that way no SMP started and no complains about BIOS bug if apic was just disabled via command line. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090607124840.GD4547@lenovo> Signed-off-by: Ingo Molnar commit 4a4aca641bc4598e77b866804f47c651ec4a764d Author: Jean Delvare Date: Fri Jun 5 12:02:38 2009 +0200 x86: Add quirk for reboot stalls on a Dell Optiplex 360 The Dell Optiplex 360 hangs on reboot, just like the Optiplex 330, so the same quirk is needed. Signed-off-by: Jean Delvare Cc: Steve Conklin Cc: Leann Ogasawara Cc: LKML-Reference: <200906051202.38311.jdelvare@suse.de> Signed-off-by: Ingo Molnar commit 734affdcae20af4fec95e46a64fb29f063a15c19 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:10 2009 +0200 ide: add IDE_DFLAG_NIEN_QUIRK device flag Add IDE_DFLAG_NIEN_QUIRK device flag and use it instead of drive->quirk_list. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8bc1e5aa06a2a9a425c4a6795fc564cba1521487 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:09 2009 +0200 ide: respect quirk_drives[] list on all controllers * Add ide_check_nien_quirk_list() helper to the core code and then use it in ide_port_tune_devices(). * Remove no longer needed ->quirkproc methods from hpt366.c and pdc202xx_{new,old}.c. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0fcef027f60318cfa64ae4cdf5aa33905607d650 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:08 2009 +0200 hpt366: enable all quirks for devices on quirk_drives[] list Enable also quirks in do_reset1() and ide_config_drive_speed() for devices on quirk_drives[] list. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d328e7657de1fde30141365466589ab259cf4f64 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:07 2009 +0200 hpt366: sync quirk_drives[] list with pdc202xx_{new,old}.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d6dcdea726855d78048e4bfb950342afc0e83e47 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:07 2009 +0200 ide: remove superfluous SELECT_MASK() call from do_rw_taskfile() With ->write_devctl method call (which unmasks drive IRQ) preceding SELECT_MASK() call there is really no need for the latter. Moreover with the combination of HPT36x controller and the drive on the quirk_drives[] list this can result in superfluous enable_irq() call which in turn will trigger WARN() in __enable_irq(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9952beeaa851f7f79a4dd895bfed3f3ff6deebc Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:06 2009 +0200 ide: remove superfluous SELECT_MASK() call from ide_driveid_update() We always call SELECT_MASK(drive, 0) after ide_dev_read_id() call so there is no need to do it again in the error path. Moreover with the combination of HPT36x controller and the drive on the quirk_drives[] list this can result in superfluous enable_irq() call which in turn will trigger WARN() in __enable_irq(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dff8817b78e6e6a4913f2caf7637d62dcc49a03c Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 15:37:06 2009 +0200 icside: remove superfluous ->maskproc method [inspired by pata_icside] Enabling/disabling of card IRQs is handled fine by IRQ and IDE subsystems so there is no need for custom ->maskproc method. Moreover icside_maskproc() would enable IRQ only if it was already enabled [because of 'if (state->enabled && !mask)' check]. Signed-off-by: Bartlomiej Zolnierkiewicz commit 49d8078ad1c3dca5b11ce18391bf6bd9af9acdf5 Author: Borislav Petkov Date: Sun Jun 7 15:37:06 2009 +0200 ide-tape: fix IDE_AFLAG_* atomic accesses These flags used to be bit numbers and now are single bits in the ->atapi_flags vector. Use them properly. Spotted-by: Jiri Slaby Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 626542ca2277961aaa64855206574f8ca4f360e3 Author: Borislav Petkov Date: Sun Jun 7 15:37:05 2009 +0200 ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically There are two sites where the flag is being changed: ide_retry_pc and idetape_do_request. Both codepaths are protected by hwif->busy (ide_lock_port) and therefore we shouldn't need the atomic accesses. Spotted-by: Jiri Slaby Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ffddf1717b0d388879c646eaf6261a2b393c06ad Author: Sergei Shtylyov Date: Sun Jun 7 15:37:05 2009 +0200 pdc202xx_old: kill resetproc() method The driver's resetproc() method resets both channels at once -- most probably by driving RESET- on them. Not only such reset can severely disturb concurrent operations on another channel, it also ensues 2-second delay, while there's no apparent reason why SRST reset being performed prior to resetproc() call needs to be followed up by another reset. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1221e241e3a6f1ff5b0de03d58d871f7c995781b Author: Sergei Shtylyov Date: Sun Jun 7 15:37:04 2009 +0200 pdc202xx_old: don't call pdc202xx_reset() on IRQ timeout The driver's dma_lost_irq() and dma_clear() methods call pdc202xx_reset() which resets both channels at once -- most probably by driving RESET- on them. Not only such reset can severely disturb concurrent operations on another channel, it is also a clear overkill (especially in the first case) and is completely unexpected and thus not properly handled by the IDE core in this context (in the second case the usual SRST reset would most probably ensue anyway though); it also causes quite arbitrary 2-second delay. Hence, use the standard ide_dma_lost_irq() method and don't install the optional dma_clear() method at all -- the driver should do well without this age-old cruft... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 72b9304f04d0724a25251e9e9041aa95f89c15dd Author: Sergei Shtylyov Date: Sun Jun 7 15:37:03 2009 +0200 pdc202xx_old: use ide_dma_test_irq() The driver's dma_test_irq() method, although tests some chip specific interrupt bits, finally always relies on the SFF-8038i standard interrupt bit. I see no point in testing the bits that are not trusted anyway -- the driver should be fully able to use the standard method implemetation, ide_dma_test_irq(). With this change 'pdc202xx_dma_ops' finally becomes identical to 'sff_dma_ops', and we can get rid of it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6250d3af2a1036fb356264442211a4246c7d64c7 Merge: 4c9773e 075affc Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 14:27:11 2009 +0200 Merge branch 'for-linus' into for-next commit a1c1db392090bd280d1c3e2ed52ef682746ee332 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:02:44 2009 +0000 ixgbe: Increase the driver version number With all the last patchsets going in for 82599 feature enablement, the driver version needs to be increased for better identification. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 794caeb259bc5d341bcc80dd37820073147a231c Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:02:24 2009 +0000 ixgbe: Add FW detection and warning for 82599 SFP+ adapters 82599 has a FW running that helps manage the internal SFI PHY. There are also a number of pre-production samples of these SFI-based devices in the field. This patch adds a check to look for the firmware running on all SFP+ based adapters, and displays a warning to the system log if a pre-production adapter is identified. The driver will continue loading though, with no functional degradation. Also remove an old function prototype from ixgbe_82599.c that isn't being used. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ae540af18597a441bf17a26389179465ea4b9c36 Author: Jesse Brandeburg Date: Thu Jun 4 16:02:04 2009 +0000 ixgbe: Re-adjust ring layouts to have better cacheline efficiency This patch rearranges the ixgbe_ring struct to make better use of cacheline efficiency. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c4cf55e5d2e9353c6054eb0e22fc1d0a9a48f045 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:01:43 2009 +0000 ixgbe: Enable Flow Director hashing in 82599 This patch enables Flow Director's ATR functionality to the main base driver for 82599. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ffff47720318860933b2af84d1912af8b2e621f2 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:01:25 2009 +0000 ixgbe: Add Flow Director init and modify functions for 82599 This patch adds the functions for ixgbe to initialize Flow Director. It also has the function APIs to add Flow Director filters from the base driver. This also includes ATR, Application Targeted Routing, which is a feature set of Flow Director. This is the hash-based mechanism to automatically identify flows and add filters based on the hash, and direct the Rx of that flow back to that same CPU. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bfde493ee279b345d31e3178832971606b5b854f Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:01:06 2009 +0000 ixgbe: Add hardware defines for Flow Director for 82599 Flow Director is a Rx filter mechanism designed to match Rx flows back to the same CPU that the flow's Tx occurred from. This patch adds the first piece, the defines for the hardware registers, to enable this feature in 82599 hardware. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit df647b5ca3c3a84e5e5f8e7da36b5ffc17276ec7 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 16:00:47 2009 +0000 ixgbe: Add a second feature flags variable, move HW RSC capability there This adds a second feature flag variable to use for future feature expansion. Add HW RSC to this new feature flags variable. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 91281fd36c7670904e0b315e273e896d907adc36 Author: Alexander Duyck Date: Thu Jun 4 16:00:27 2009 +0000 ixgbe: move tx processing into NAPI context This patch moves the tx cleanup processing out of the MSI-X interrupt processing and gives it it's own napi routine. This allows the driver to process TX cleanup in a polling context instead of in an interrupt context which prevents TX from starving RX. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fe49f04aa8c0f74c363cbb1e9852a0d7769b5a99 Author: Alexander Duyck Date: Thu Jun 4 16:00:09 2009 +0000 ixgbe: move v_idx into q_vector and use as index only The v_idx value was being used as both a bitmask and an index. This change makes it so that the q_vector contains the index and allows for much of the code to be simplified since disabling a q_vector involves only clearing one bit in the interrupt bitmask. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 21fa4e66bd0bedfa4ed6aa6f7008b2aff6d45c8d Author: Alexander Duyck Date: Thu Jun 4 15:59:49 2009 +0000 ixgbe: use rx_buffer_info->dma instead of nr_frags to determine skb unmap This patch changes the driver so that it uses rx_buffer_info->dma to determine if it needs to unmap the page instead of sh_info->nr_frags. This helps to prevent a cache line miss when receiving small packets as the rx_buffer_info data should already be in the cache. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 74766013a131f1e1c2fe8fd138e12841eb708060 Author: Mallikarjuna R Chilakala Date: Thu Jun 4 11:11:34 2009 +0000 ixgbe: ethtool support to change advertised link modes of 82599 adapters Add ethtool support to change advertised link modes/autoneg settings of 82599 multispeed fiber adapters. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 620fa036b2459ca9acf7484c8074147f0dda68da Author: Mallikarjuna R Chilakala Date: Thu Jun 4 11:11:13 2009 +0000 ixgbe: Fix 82599 adapter link flickering issues Fix autoneg restart issues in flow control path which might create endless link flickering due to known timing issues with 82599 adapters. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 50ac58ba1d707df33f0c398ae700214e49bf918f Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:10:53 2009 +0000 ixgbe: Harden the 82599 multispeed fiber autotry mechanism 82599 supports multispeed fiber optical modules (10Gbps/1Gbps). Some scenarios can cause the autotry mechanism to not negotiate link properly. What needs to happen is the driver must flap the Tx laser to induce an Rx Loss of Signal on the link partner. This will restart the autotry mechanism to get link into a known state. The software definable pin (SDP) 3 on the 0x10fb NIC is wired to cause a Tx LOS event, which triggers the Rx LOS we require. Signed-off-by: Peter P Waskiewicz Jr Acked-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit da4dd0f7ca3fa667b7bba5fd34adceaf3fb84a9b Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:10:35 2009 +0000 ixgbe: Add ethtool offline test support This patch adds support for the ethtool internal test engine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1479ad4fbfbc801898dce1ac2d4d44f0c774ecc5 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:10:17 2009 +0000 ixgbe: Change the 82599 PHY DSP restart logic When reprogramming the 82599 analog PHY to either SFI optical or Direct Attach Twinax, we need to restart the DSP in the PHY. The current method can cause contention with our FW which is managing PHY state, and will cause unexpected link flaps. This patch fixes the DSP restart by issuing an AN_RESTART in the MAC, which will properly propagate the DSP restart to the PHY. This ensures we don't collide with the FW. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bdf0a550c81c293f22bc511e3cd2d0bf1d847d47 Author: Peter P Waskiewicz Jr Date: Thu Jun 4 11:09:58 2009 +0000 ixgbe: Enable ACPI WoL capabilities for 82599 The 82599 KX4 device defaults to legacy power management, or APME. This puts the device into ACPI mode, which allows more robust WoL setups to work properly. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7d217d7ffc3433d8b157e1fb6c68a07197a182d5 Author: Alexander Beregalov Date: Sun Jun 7 05:01:00 2009 -0700 cfg80211: errno.h: define ERFKILL Commit 1f87f7d3 (cfg80211: add rfkill support) added ERFKILL to asm-generic/errno.h, but alpha, mips, parisc and sparc use their own numbering scheme and do not include asm-generic/errno.h. We need to add definition of ERFKILL for them. Signed-off-by: Alexander Beregalov Acked-by: Ralf Baechle Acked-by: Kyle McMartin Signed-off-by: David S. Miller commit 075affcbe01d4d7cefcd0e30a98df1253bcf8d92 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:52 2009 +0200 ide: preserve Host Protected Area by default (v2) From the perspective of most users of recent systems, disabling Host Protected Area (HPA) can break vendor RAID formats, GPT partitions and risks corrupting firmware or overwriting vendor system recovery tools. Unfortunately the original (kernels < 2.6.30) behavior (unconditionally disabling HPA and using full disk capacity) was introduced at the time when the main use of HPA was to make the drive look small enough for the BIOS to allow the system to boot with large capacity drives. Thus to allow the maximum compatibility with the existing setups (using HPA and partitioned with HPA disabled) we automically disable HPA if any partitions overlapping HPA are detected. Additionally HPA can also be disabled using the "nohpa" module parameter (i.e. "ide_core.nohpa=0.0" to disable HPA on /dev/hda). v2: Fix ->resume HPA support. While at it: - remove stale "idebus=" entry from Documentation/kernel-parameters.txt Cc: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Cc: Al Viro Acked-by: Sergei Shtylyov [patch description was based on input from Alan Cox and Frans Pop] Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit e957b60d1583022a0f7c03267d37fcae2ddb78b1 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:52 2009 +0200 ide-gd: implement block device ->set_capacity method (v2) * Use ->probed_capacity to store native device capacity for ATA disks. * Add ->set_capacity method to struct ide_disk_ops. * Implement disk device ->set_capacity method for ATA disks. * Implement block device ->set_capacity method. v2: * Check if LBA and HPA are supported in ide_disk_set_capacity(). * According to the spec the SET MAX ADDRESS command shall be immediately preceded by a READ NATIVE MAX ADDRESS command. * Add ide_disk_hpa_{get_native,set}_capacity() helpers. Together with the previous patch adding ->set_capacity block device method this allows automatic disabling of Host Protected Area (HPA) if any partitions overlapping HPA are detected. Cc: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Cc: Al Viro Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit db429e9ec0f9dee2d8e50c154f04f29f880fc9d6 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:52 2009 +0200 partitions: add ->set_capacity block device method * Add ->set_capacity block device method and use it in rescan_partitions() to attempt enabling native capacity of the device upon detecting the partition which exceeds device capacity. * Add GENHD_FL_NATIVE_CAPACITY flag to try limit attempts of enabling native capacity during partition scan. Together with the consecutive patch implementing ->set_capacity method in ide-gd device driver this allows automatic disabling of Host Protected Area (HPA) if any partitions overlapping HPA are detected. Cc: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Acked-by: Al Viro Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 02c33b123e59cab5771e52a012aeb810500260a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 7 13:52:51 2009 +0200 partitions: warn about the partition exceeding device capacity The current warning message says only about the kernel's action taken without mentioning the underlying reason behind it. Noticed-by: Robert Hancock Cc: Frans Pop Cc: "Andries E. Brouwer" Cc: Al Viro Emphatically-Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit b1bc81a0ef86b86fa410dd303d84c8c7bd09a64d Merge: a93958a 0c0c9e7 Author: David S. Miller Date: Sun Jun 7 04:24:21 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a93958ac980f0ce594ad90657ecbc595ff157a40 Author: Ayaz Abdulla Date: Sun Jun 7 03:54:37 2009 -0700 removal of forcedeth device ids This patch removes the forcedeth device ids from pci_ids.h The forcedeth driver uses the device id constants directly in its source file. [ Need to keep PCI_DEVICE_ID_NVIDIA_NVENET_15 in order to keep drivers/pci/quirks.c building -DaveM ] Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 3df81c4e950a7e38a8ef98f818abc3eed76b3fb2 Author: Ayaz Abdulla Date: Wed Jun 3 15:05:35 2009 +0000 forcedeth: addition of new mcp89 device id This patch adds a new device id for mcp89 chipset. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 3c2e1c11d9126d765ab40207150cb6f9869637f1 Author: Ayaz Abdulla Date: Wed Jun 3 15:05:17 2009 +0000 forcedeth: remove device id macros This patch removes the device id macros and instead uses the constants directly. The areas in which logic expressions where using the macros now instead use feature/workaround flags. No new functionality has been introduced in this patch, only clean up of flags and macros. Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 5095f59bda6793a7b8f0856096d6893fe98e0e51 Author: Jaswinder Singh Rajput Date: Fri Jun 5 23:27:17 2009 +0530 x86: cpu_debug: Remove model information to reduce encoding-decoding Remove model information, encoding/decoding and reduce bookkeeping. This, besides removing a lot of code and cleaning up the code, also enables these features on many more CPUs that were enumerated before. Reported-by: Ingo Molnar Signed-off-by: Jaswinder Singh Rajput Cc: Alan Cox LKML-Reference: <1244224637.8212.6.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 5f4457a4f62cc9d78e04c0eb12ff0540899aad89 Merge: 9b94b3a b87297f Author: Ingo Molnar Date: Sun Jun 7 12:22:15 2009 +0200 Merge branch 'linus' into x86/cpu commit ab1863fc9bc18c806338564124b1e5e7e3ef53d1 Author: Takashi Iwai Date: Sun Jun 7 12:09:17 2009 +0200 ALSA: pcm - Fix update of runtime->hw_ptr_interrupt The commit 13f040f9e55d41e92e485389123654971e03b819 made another regression, the missing update of runtime->hw_ptr_interrupt. Since this field is only checked in snd_pcmupdate__hw_ptr_interrupt(), not in snd_pcm_update_hw_ptr(), it must be updated before the hw_ptr change check. Signed-off-by: Takashi Iwai commit 62a6f465f6572e1f28765c583c12753bb3e23715 Merge: 56fdd18 bdc2911 Author: Ingo Molnar Date: Sun Jun 7 11:36:02 2009 +0200 Merge branch 'dma-debug/2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 56fdd18c7b89a2fac1dfe5d54750c9143867fdc4 Merge: 7caf6a4 b87297f Author: Ingo Molnar Date: Sun Jun 7 11:34:59 2009 +0200 Merge branch 'linus' into core/iommu Merge reason: This branch was on an -rc5 base so pull almost-2.6.30 to resync with the latest upstream fixes and make sure the combination works fine. Signed-off-by: Ingo Molnar commit 7caf6a49bb17d0377210693af5737563b31aa5ee Author: Joerg Roedel Date: Fri Jun 5 12:01:35 2009 +0200 dma-debug: change hash_bucket_find from first-fit to best-fit Some device drivers map the same physical address multiple times to a dma address. Without an IOMMU this results in the same dma address being put into the dma-debug hash multiple times. With a first-fit match in hash_bucket_find() this function may return the wrong dma_debug_entry. This can result in false positive warnings. This patch fixes it by changing the first-fit behavior of hash_bucket_find() into a best-fit algorithm. Reported-by: Torsten Kaiser Reported-by: FUJITA Tomonori Signed-off-by: Joerg Roedel Cc: lethal@linux-sh.org Cc: just.for.lkml@googlemail.com Cc: hancockrwd@gmail.com Cc: jens.axboe@oracle.com Cc: bharrosh@panasas.com Cc: FUJITA Tomonori Cc: Linus Torvalds Cc: LKML-Reference: <20090605104132.GE24836@amd.com> Signed-off-by: Ingo Molnar commit 2f01190aa62fe9dd0a98205927b9f09fd191c017 Author: Frederic Weisbecker Date: Sat Jun 6 23:10:43 2009 +0200 perf top: Wait for a minimal set of events before reading first snapshot The first snapshot reading often occur before any events have been read in the mapped perfcounter files. Just wait until we have at least one event before starting the snapshot, or the delay before the first set of entries to be displayed may be long in case of low refresh rate. Note: we could also use a semaphore to wait before "print_entries" number of eveents is reached, but again this value is tunable and we can't ensure we will even reach it. Also we could base on a default mimimum set of entries for the first refresh, say 15, but again, the minimal sample is tunable, and we could end up displaying nothing until we have a minimal default set of events, which can take some time in case of high samples filters. Hence this simple solution which partially covers the default case. [ Impact: fix display artifacts in perf top ] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <1244322643-6447-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ad0b0822f98ef547e2461ce463e4233bad7848a8 Author: Figo.zhang Date: Sun Jun 7 13:37:27 2009 +0800 ALSA: sgio2audio.c: clean up checking vfree() does it's own 'NULL' check,so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Takashi Iwai commit f0472d0ec89bef2ea4432828c3daa1b26ef569aa Author: Steve French Date: Sat Jun 6 21:09:39 2009 +0000 [CIFS] Add mention of new mount parm (forceuid) to cifs readme Also update fs/cifs/CHANGES Signed-off-by: Steve French commit 4ae1507f6d266d0cc3dd36e474d83aad70fec9e4 Author: Jeff Layton Date: Sun May 24 18:45:15 2009 -0400 cifs: make overriding of ownership conditional on new mount options We have a bit of a problem with the uid= option. The basic issue is that it means too many things and has too many side-effects. It's possible to allow an unprivileged user to mount a filesystem if the user owns the mountpoint, /bin/mount is setuid root, and the mount is set up in /etc/fstab with the "user" option. When doing this though, /bin/mount automatically adds the "uid=" and "gid=" options to the share. This is fortunate since the correct uid= option is needed in order to tell the upcall what user's credcache to use when generating the SPNEGO blob. On a mount without unix extensions this is fine -- you generally will want the files to be owned by the "owner" of the mount. The problem comes in on a mount with unix extensions. With those enabled, the uid/gid options cause the ownership of files to be overriden even though the server is sending along the ownership info. This means that it's not possible to have a mount by an unprivileged user that shows the server's file ownership info. The result is also inode permissions that have no reflection at all on the server. You simply cannot separate ownership from the mode in this fashion. This behavior also makes MultiuserMount option less usable. Once you pass in the uid= option for a mount, then you can't use unix ownership info and allow someone to share the mount. While I'm not thrilled with it, the only solution I can see is to stop making uid=/gid= force the overriding of ownership on mounts, and to add new mount options that turn this behavior on. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 099d54143e49d49c33cd25779ca725191df59b73 Author: Stefan Richter Date: Sat Jun 6 18:37:25 2009 +0200 firewire: core: prepare for non-core children of card devices The IP-over-1394 driver will add child devices beneath card devices which are not of type fw_device. Hence firewire-core's callbacks in device_for_each_child() and device_find_child() need to check for the device type now. Initial version written by Jay Fenlason. Signed-off-by: Stefan Richter commit e034d242593f12533c11742ce38c245a33e57dc7 Author: Stefan Richter Date: Sat Jun 6 18:36:24 2009 +0200 firewire: core: include linux/uaccess.h instead of asm/uaccess.h Signed-off-by: Stefan Richter commit e5110d011e03030926872457f05e49e3d5031737 Author: Stefan Richter Date: Sat Jun 6 18:35:27 2009 +0200 firewire: add parent-of-unit accessor Retrieval of an fw_unit's parent is a common pattern in high-level code. Wrap it up as device = fw_parent_device(unit). Signed-off-by: Stefan Richter commit 23b87116c7c4f73597965218b66041acbdb4e79f Author: Ingo Molnar Date: Sat Jun 6 21:25:29 2009 +0200 perf annotate: Fix command line help text Arjan noticed this bug in the perf annotate help output: -s, --symbol symbol to annotate that should be instead. Reported-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit e9fbc9dc9214d6a9de7d62627be5414804fd7b9f Author: Arjan van de Ven Date: Sat Jun 6 21:22:33 2009 +0200 perf_counter tools: Initialize a stack variable before use the "perf report" utility crashed in some circumstances because the "sym" stack variable was not initialized before used (as also proven by valgrind). With this fix both the crash goes away and valgrind no longer complains. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 39273ee9756917129de3190d469b0b120f87e763 Author: Ingo Molnar Date: Sat Jun 6 21:17:03 2009 +0200 perf annotate: Automatically pick up vmlinux in the local directory Right now kernel debug info does not get resolved by default, because we dont know where to look for the vmlinux. The -k option can be used for that - but if no option is given, pick up vmlinux files in the current directory - in case a kernel hacker runs profiling from the source directory that the kernel was built in. The real solution would be to embedd the location (and perhaps the date/timestamp) of the vmlinux file in /proc/kallsyms, so that tools can pick it up automatically. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8953645fec933f992223286ad407dc371ac2caa5 Author: Ingo Molnar Date: Sat Jun 6 21:04:17 2009 +0200 perf_counter tools: Fix error condition in parse_aliases() gcc warned about this bug: util/parse-events.c: In function ‘parse_generic_hw_symbols’: util/parse-events.c:175: warning: comparison is always false due to limited range of data type util/parse-events.c:182: warning: comparison is always false due to limited range of data type util/parse-events.c:190: warning: comparison is always false due to limited range of data type Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 7d37a0cbd68c875fa984fa97bcf5c7f4b7950b6d Author: Arjan van de Ven Date: Sat Jun 6 20:36:38 2009 +0200 perf_counter tools: Warning fixes on 32-bit Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 864709302a80f26fa9da3be5b47304f0b8bae192 Author: Ingo Molnar Date: Sat Jun 6 20:33:43 2009 +0200 perf_counter tools: Move from Documentation/perf_counter/ to tools/perf/ Several people have suggested that 'perf' has become a full-fledged tool that should be moved out of Documentation/. Move it to the (new) tools/ directory. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 75b5032212641f6d38ac041416945e70da833b68 Merge: 0b73da3 b87297f Author: Ingo Molnar Date: Sat Jun 6 20:21:25 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: Pick up the latest fixes before the -v8 perfcounters release. Signed-off-by: Ingo Molnar commit 0b73da3f40128eab6ca2a07508f424029a1edaeb Author: Ingo Molnar Date: Sat Jun 6 15:48:52 2009 +0200 perf_counter tools: Add 'perf annotate' feature Add new perf sub-command to display annotated source code: $ perf annotate decode_tree_entry ------------------------------------------------ Percent | Source code & Disassembly of /home/mingo/git/git ------------------------------------------------ : : /home/mingo/git/git: file format elf64-x86-64 : : : Disassembly of section .text: : : 00000000004a0da0 : : *modep = mode; : return str; : } : : static void decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned long size) : { 3.82 : 4a0da0: 41 54 push %r12 : const char *path; : unsigned int mode, len; : : if (size < 24 || buf[size - 21]) 0.17 : 4a0da2: 48 83 fa 17 cmp $0x17,%rdx : *modep = mode; : return str; : } : : static void decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned long size) : { 0.00 : 4a0da6: 49 89 fc mov %rdi,%r12 0.00 : 4a0da9: 55 push %rbp 3.37 : 4a0daa: 53 push %rbx : const char *path; : unsigned int mode, len; : : if (size < 24 || buf[size - 21]) 0.08 : 4a0dab: 76 73 jbe 4a0e20 0.00 : 4a0dad: 80 7c 16 eb 00 cmpb $0x0,-0x15(%rsi,%rdx,1) 3.48 : 4a0db2: 75 6c jne 4a0e20 : static const char *get_mode(const char *str, unsigned int *modep) : { : unsigned char c; : unsigned int mode = 0; : : if (*str == ' ') 1.94 : 4a0db4: 0f b6 06 movzbl (%rsi),%eax 0.39 : 4a0db7: 3c 20 cmp $0x20,%al 0.00 : 4a0db9: 74 65 je 4a0e20 : return NULL; : : while ((c = *str++) != ' ') { 0.06 : 4a0dbb: 89 c2 mov %eax,%edx : if (c < '0' || c > '7') 1.99 : 4a0dbd: 31 ed xor %ebp,%ebp : unsigned int mode = 0; : : if (*str == ' ') : return NULL; : : while ((c = *str++) != ' ') { 1.74 : 4a0dbf: 48 8d 5e 01 lea 0x1(%rsi),%rbx : if (c < '0' || c > '7') 0.00 : 4a0dc3: 8d 42 d0 lea -0x30(%rdx),%eax 0.17 : 4a0dc6: 3c 07 cmp $0x7,%al 0.00 : 4a0dc8: 76 0d jbe 4a0dd7 0.00 : 4a0dca: eb 54 jmp 4a0e20 0.00 : 4a0dcc: 0f 1f 40 00 nopl 0x0(%rax) 16.57 : 4a0dd0: 8d 42 d0 lea -0x30(%rdx),%eax 0.14 : 4a0dd3: 3c 07 cmp $0x7,%al 0.00 : 4a0dd5: 77 49 ja 4a0e20 : return NULL; : mode = (mode << 3) + (c - '0'); 3.12 : 4a0dd7: 0f b6 c2 movzbl %dl,%eax : unsigned int mode = 0; : : if (*str == ' ') : return NULL; : : while ((c = *str++) != ' ') { 0.00 : 4a0dda: 0f b6 13 movzbl (%rbx),%edx 16.74 : 4a0ddd: 48 83 c3 01 add $0x1,%rbx : if (c < '0' || c > '7') : return NULL; : mode = (mode << 3) + (c - '0'); The first column is the percentage of samples that arrived on that particular line - relative to the total cost of the function. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8035e4288078cb806e7dd6bafe4d3e54d44cab3f Author: Ingo Molnar Date: Sat Jun 6 15:19:13 2009 +0200 perf_counter tools: Prepare for 'perf annotate' Prepare for the 'perf annotate' implementation by splitting off builtin-annotate.c from builtin-report.c. ( We keep this commit separate to ease the later librarization of the facilities that perf-report and perf-annotate shares. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit dac4ccfb64bcdd5b4c248ccc22903d67486573cd Author: John Linn Date: Sat Jun 6 10:43:16 2009 -0600 fbdev: Add PLB support and cleanup DCR in xilinxfb driver. Added support for the new xps tft controller. The new core has PLB interface support in addition to existing DCR interface. Removed platform device support as both MicroBlaze and PowerPC use device tree. Previously, the dcr interface was assumed to be used in mmio mode, and the register space of the dcr interface was precomputed and stuffed into the device tree. This driver now makes use of the new dcr infrastructure to represent the dcr interface. This enables the dcr interface to be connected directly to a native dcr interface in a clean way. Added compatibility for ml507 dvi core. Signed-off-by: Suneel Signed-off-by: Stephen Neuendorffer Signed-off-by: John Linn Signed-off-by: Grant Likely Acked-by: Krzysztof Helt commit d86bf92313bfd47885a92c7de63bde392d585f95 Author: Jaroslav Kysela Date: Sat Jun 6 18:32:06 2009 +0200 ALSA: pcm - Fix a typo in hw_ptr update check Fix a typo in the commit 13f040f9e55d41e92e485389123654971e03b819 ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed which causes obvious problems with PA. Signed-off-by: Takashi Iwai commit f89d7eaf6c34828070f407d0e04b73127f176ec5 Author: Jonathan Corbet Date: Thu Jun 4 16:35:25 2009 -0600 Document the debugfs API This is an updated document covering the internal API for the debugfs filesystem. Thanks to Shen Feng for suggesting that I put this text here and noting that the old LWN version was rather out of date. Acked-by: Greg Kroah-Hartman Reported-by: Shen Feng Signed-off-by: Jonathan Corbet commit b907abc9f2bad3111269c53d0f951ee76e376b44 Author: Roderick Colenbrander Date: Sat Jun 6 10:16:00 2009 -0600 powerpc/virtex: Add ml510 reference design device tree As subject says, add dts files for Xilinx ML510 reference design with the PCI host bridge device. Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely commit e52ba9c54176c9757ab6b18bea7b7ed51e2faf16 Author: Roderick Colenbrander Date: Sat Jun 6 10:15:24 2009 -0600 powerpc/virtex: Add Xilinx ML510 reference design support Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely commit 1745fbc744a934b235c2e5ecb5380079fa54be38 Author: Grant Likely Date: Sat Jun 6 10:15:03 2009 -0600 powerpc/virtex: refactor intc driver and add support for i8259 cascading This patch refactors some of the xilinx_intc interrupt controller driver and adds support for cascading an i8259 off one of the irq lines. This patch was based on the ML510 support work done by Roderick Colenbrander. Signed-off-by: Grant Likely commit 64f16502475ddf663169369fffff6da9b10ea9fb Author: Roderick Colenbrander Date: Sat Jun 6 10:14:22 2009 -0600 powerpc/virtex: Add support for Xilinx PCI host bridge This patch adds support for the Xilinx plbv46-pci-1.03.a PCI host bridge IPcore. Signed-off-by: Roderick Colenbrander Signed-off-by: Grant Likely commit 6e6b754ffdb6415723686c733f13275397e44422 Author: Ingo Molnar Date: Tue Apr 15 22:39:31 2008 +0200 perf_counter tools: Tidy up manpage details Also fix a misalignment in usage string printing. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 502fc5c72a886ff9d4d7a596e65ecc4dd5e4d458 Author: Ingo Molnar Date: Fri Mar 13 03:20:49 2009 +0100 perf_counter tools: Uniform help printouts Also add perf list to command-list.txt. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 386b05e3a2f3c5b0a9c5575060421cca0911648a Author: Thomas Gleixner Date: Sat Jun 6 14:56:33 2009 +0200 perf_counter tools: Add help for perf list Also update other areas of the help texts. Signed-off-by: Thomas Gleixner Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8faf3b547593bf6ea10df631e73204975273c4e0 Author: Ingo Molnar Date: Sat Jun 6 13:58:12 2009 +0200 perf_counter tools: Fix cache-event printout Also standardize the cache printout (so that it can be pasted back into the command) and sort out the aliases. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 86847b62f0781ccc97a79936c9ed9dc818cff67b Author: Thomas Gleixner Date: Sat Jun 6 12:24:17 2009 +0200 perf_counter tools: Add 'perf list' to list available events perf list: List all the available event types which can be used in -e (--event) options. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8326f44da090d6d304d29b9fdc7fb3e20889e329 Author: Ingo Molnar Date: Fri Jun 5 20:22:46 2009 +0200 perf_counter: Implement generalized cache event types Extend generic event enumeration with the PERF_TYPE_HW_CACHE method. This is a 3-dimensional space: { L1-D, L1-I, L2, ITLB, DTLB, BPU } x { load, store, prefetch } x { accesses, misses } User-space passes in the 3 coordinates and the kernel provides a counter. (if the hardware supports that type and if the combination makes sense.) Combinations that make no sense produce a -EINVAL. Combinations that are not supported by the hardware produce -ENOTSUP. Extend the tools to deal with this, and rewrite the event symbol parsing code with various popular aliases for the units and access methods above. So 'l1-cache-miss' and 'l1d-read-ops' are both valid aliases. ( x86 is supported for now, with the Nehalem event table filled in, and with Core2 and Atom having placeholder tables. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 74b8f955a73d20b1e22403fd1ef85834fbf38d98 Author: Mark Brown Date: Sat Jun 6 11:26:15 2009 +0100 ASoC: Apostrophe patrol Signed-off-by: Mark Brown commit a21ca2cac582886a3e95c8bb84ff7c52d4d15e54 Author: Ingo Molnar Date: Sat Jun 6 09:58:57 2009 +0200 perf_counter: Separate out attr->type from attr->config Counter type is a frequently used value and we do a lot of bit juggling by encoding and decoding it from attr->config. Clean this up by creating a separate attr->type field. Also clean up the various similarly complex user-space bits all around counter attribute management. The net improvement is significant, and it will be easier to add a new major type (which is what triggered this cleanup). (This changes the ABI, all tools are adapted.) (PowerPC build-tested.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ccff4b15e0847223de0a481f5b7fa5ef902cf3bd Author: Troy Kisky Date: Fri Jun 5 19:15:58 2009 -0700 ASoC: codec tlv320aic23 fix bogus divide by 0 message Some code analyzer software mistakenly gives divide by 0 error messages for these lines. This patch will end its confusion. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit fe2245c905631a3a353504fc04388ce3dfaf9d9e Author: Mark Langsdorf Date: Sun Jul 5 15:50:52 2009 -0500 x86: enable GART-IOMMU only after setting up protection methods The current code to set up the GART as an IOMMU enables GART translations before it removes the aperture from the kernel memory map, sets the GART PTEs to UC, sets up the guard and scratch pages, or does a wbinvd(). This leaves the possibility of cache aliasing open and can cause system crashes. Re-order the code so as to enable the GART translations only after all safeguards are in place and the tlb has been flushed. AMD has tested this patch on both Istanbul systems and 1st generation Opteron systems with APG enabled and seen no adverse effects. Istanbul systems with HT Assist enabled sometimes see MCE errors due to cache artifacts with the unmodified code. Signed-off-by: Mark Langsdorf Cc: Cc: Joerg Roedel Cc: akpm@linux-foundation.org Cc: jbarnes@virtuousgeek.org Signed-off-by: Ingo Molnar commit 143070e74630b9557e1bb64d899ff2cc5a1dcb48 Author: Stefan Roese Date: Thu Apr 16 14:10:45 2009 +0200 mtd: physmap_of: Add multiple regions and concatenation support This patch adds support to handle multiple non-identical chips in one flash device tree node. It also adds concat support to physmap_of. This makes it possible to support e.g. the Intel P30 48F4400 chips which internally consists of 2 non-identical NOR chips on one die. Additionally partitions now can span over multiple chips. To describe such a chip's, multiple "reg" tuples are now supported in one flash device tree node. Here an dts example: flash@f0000000,0 { #address-cells = <1>; #size-cells = <1>; compatible = "cfi-flash"; reg = <0 0x00000000 0x02000000 0 0x02000000 0x02000000>; bank-width = <2>; partition@0 { label = "test-part1"; reg = <0 0x04000000>; }; }; Signed-off-by: Stefan Roese Reviewed-by: Grant Likely Signed-off-by: David Woodhouse commit 43950a605dc76677f0c74dcd818a57d4df040e12 Author: Roel Kluin Date: Thu Jun 4 16:24:59 2009 +0200 mtd: nand: max_retries off by one in mxc_nand with `while (max_retries-- > 0)' max_retries reaches -1 after the loop. Signed-off-by: Roel Kluin Signed-off-by: David Woodhouse commit a755a3858f96ea7e8762ecaac451adfad45321bd Author: Peter Korsgaard Date: Wed Jun 3 13:46:54 2009 +0200 mtd: nand: s3c2410_nand_setrate(): use correct macros for 2412/2440 Use the correct S3C2440_NFCONF_* macros for the mask for the 2412/2440 variants instead of the 2410 ones which use wrong bit positions. Signed-off-by: Peter Korsgaard Signed-off-by: David Woodhouse commit 008fe148cb0fb51d266baabe2c09997b21cf90c6 Author: Luck, Tony Date: Tue May 26 15:45:12 2009 -0700 intel-iommu: Fix one last ia64 build problem in Pass Through Support On ia64 with CONFIG_DMAR=n and CONFIG_SWIOTLB=y (as used in arch/ia64/configs/tiger_defconfig) there is still a link error with iommu_pass_through listed as an undefined symbol: arch/ia64/kernel/built-in.o: In function `pci_swiotlb_init': (.init.text+0x7f70): undefined reference to `iommu_pass_through' Fix it by #defining iommu_pass_through away in asm/iommu.h Signed-off-by: Tony Luck Signed-off-by: David Woodhouse commit 2f335a02b3c816e77e7df1d15b12e3bbb8f4c8f0 Author: Frederic Weisbecker Date: Fri Jun 5 19:31:01 2009 +0200 perf top: Fix zero or negative refresh delay If perf top is executed with a zero value for the refresh rate, we get a division by zero exception while computing samples_per_sec. Also a zero refresh rate is not possible, neither do we want to accept negative values. [ Impact: fix division by zero in perf top ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1244223061-5399-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 31bb999ee73748068ddc271dd99b22dcc418efe3 Author: Kyungmin Park Date: Tue May 12 13:46:57 2009 -0700 mtd: onenand: add bbt_wait & unlock_all as replaceable for some platform Add bbt_wait & unlock_all as replaceable for some platform such as s3c64xx s3c64xx has its own OneNAND controller and another interface Signed-off-by: Kyungmin Park Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 5988af2319781bc8e0ce418affec4e09cfa77907 Author: Rohit Hagargundgi Date: Tue May 12 13:46:57 2009 -0700 mtd: Flex-OneNAND support Add support for Samsung Flex-OneNAND devices. Flex-OneNAND combines SLC and MLC technologies into a single device. SLC area provides increased reliability and speed, suitable for storing code such as bootloader, kernel and root file system. MLC area provides high density and is suitable for storing user data. SLC and MLC regions can be configured through kernel parameter. [akpm@linux-foundation.org: export flexoand_region and onenand_addr] Signed-off-by: Rohit Hagargundgi Signed-off-by: Kyungmin Park Cc: Vishak G Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 67ce04bf2746f8a1f8c2a104b313d20c63f68378 Author: Vimal Singh Date: Tue May 12 13:47:03 2009 -0700 mtd: nand: add OMAP2/OMAP3 NAND driver This driver is present in the OMAP tree, now pushing it to MTD. Original author(s): Jian Zhang Signed-off-by: Vimal Singh Cc: Jian Zhang Cc: Artem Bityutskiy Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 2ac6bf4ddc87c3b6b609f8fa82f6ebbffeac12f4 Author: Jack Morgenstein Date: Fri Jun 5 10:36:24 2009 -0700 IB/mlx4: Add strong ordering to local inval and fast reg work requests The ConnectX Programmer's Reference Manual states that the "SO" bit must be set when posting Fast Register and Local Invalidate send work requests. When this bit is set, the work request will be executed only after all previous work requests on the send queue have been executed. (If the bit is not set, Fast Register and Local Invalidate WQEs may begin execution too early, which violates the defined semantics for these operations) This fixes the issue with NFS/RDMA reported in Signed-off-by: Jack Morgenstein Cc: Signed-off-by: Roland Dreier commit 4938c88c922fad23f0a9f404eeda0207a819e4df Author: Mike Frysinger Date: Tue Jun 2 00:06:23 2009 -0400 mtd: maps: Blackfin async: fix memory leaks in probe/remove funcs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 9f31f4b9dccf6fa4a606ae04602ec232b94727fb Author: Mike Frysinger Date: Tue May 26 19:33:17 2009 -0400 mtd: uclinux: mark local stuff static The uclinux_ram_mtdinfo, uclinux_romfs, and uclinux_point symbols do not need to be visible outside of this module, so mark them static. Signed-off-by: Mike Frysinger CC: Greg Ungerer CC: uclinux-dev@uclinux.org CC: linux-mtd@lists.infradead.org Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 6ae392ccadbc622d58a9d01a7ee59e340f82fe85 Author: Mike Frysinger Date: Tue May 26 19:33:18 2009 -0400 mtd: uclinux: do not allow to be built as a module There isn't any benefit to building the uClinux MTD map as a module as the rootfs it requires in order to actually be usable is appended to the kernel image, not the module. No known system builds it this way either, so change the option to "bool". Signed-off-by: Mike Frysinger CC: Paul Mundt CC: Greg Ungerer CC: uclinux-dev@uclinux.org CC: linux-mtd@lists.infradead.org Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit fa254ecbcca713a4aec99478e79f858942b3d4e0 Author: Mike Frysinger Date: Tue May 26 19:33:16 2009 -0400 mtd: uclinux: allow systems to override map addr/size Due to a processor anomaly (05000263 to be exact), most Blackfin parts cannot keep the embedded filesystem image directly after the kernel in RAM. Instead, the filesystem needs to be relocated to the end of memory. As such, we need to tweak the map addr/size during boot for Blackfin systems. This can be done in any early arch/board init code. Signed-off-by: Mike Frysinger CC: Paul Mundt CC: Greg Ungerer CC: uclinux-dev@uclinux.org CC: linux-mtd@lists.infradead.org Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit c3a9f35673290f49ec115d36ad283961c82c135a Author: Cliff Cai Date: Tue May 26 06:24:14 2009 -0400 mtd: blackfin NFC: fix hang when using NAND on BF527-EZKITs The DMAs have different bit sizes on BF52x and BF54x. From the PHRM: "The 16-bit DMA Access Bus (DAB) connects the DMA controller to the on-chip peripherals, PPI, SPI, Ethernet MAC, the SPORTs, NFC, HOSTDP and the UARTs." 32-bit DMA won't work for BF52x. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 530c3b60658687e2ad7bf98ef83631a8280ae8a6 Author: Mike Frysinger Date: Tue May 26 06:24:13 2009 -0400 mtd: blackfin NFC: remove pointless return value in bf5xx_nand_dma_rw Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit f4fa697c26bcd9e942de26bad970f4de1da5a49b Author: Simon Polette Date: Wed May 27 18:19:39 2009 +0300 mtd: add on-flash BBT support for Atmel NAND driver Just add a new on-flash-bbt module parameter. Signed-off-by: Simon Polette Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit bd3fd62ecc99c709739cb969be76f44903a4043b Author: Vladimir Barinov Date: Mon May 25 13:06:17 2009 +0400 mtd: MXC NAND support for 2KiB page size flashes - Add support for 2KiB page size flashes - Fix page address access for large pages - Detect oob layout at runtime - handle pagesize_2k variable - Fix oob16 layout: reserve location 5 of oob area since it's used for bbt Signed-off-by: Vladimir Barinov Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit f36e20c01ad0104688f2eaebdf2213e749929c97 Author: H Hartley Sweeten Date: Tue May 12 13:46:59 2009 -0700 mtd: plat_nand: allow platform to set partitions Add optional callback to allow platform to initialize partitions. Static partitions on a nand device could vary depending on the size of the device. This patch allows an optional platform callback to be used to setup this partition information at runtime. Scan order is: 1) chip.part_probe_types 2) chip.set_parts 3) chip.partitions 4) full mtd device (fallback for no partitions) Some of the existing nand drivers could possibly be replaced by the plat_nand driver by using this patch. These include autcpu12.c and ts7250.c drivers. Signed-off-by: H Hartley Sweeten Signed-off-by: Andrew Morton Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit bf95efd41b1a760128eb25402791b0a4941eb655 Author: H Hartley Sweeten Date: Tue May 12 13:46:58 2009 -0700 mtd: plat_nand: add platform probe/remove callbacks Add optional probe and remove callbacks to the plat_nand driver. Some platforms may require additional setup, such as configuring the memory controller, before the nand device can be accessed. This patch provides an optional callback to handle this setup as well as a callback to teardown the setup. Signed-off-by: H Hartley Sweeten Tested-by: Alexander Clouter Signed-off-by: Andrew Morton Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 4d964824ec826ed97bdde10bc8d8c4ce10540a98 Author: Shane McDonald Date: Sat May 2 09:40:06 2009 -0600 mtd: remove pmcmsp-ramroot.c The RAMROOT function was a successful but non-portable attempt to append the root filesystem to the end of the kernel image. The preferred and portable solution is to use an initramfs instead. The only user of this function was the msp71xx configuration in the MIPS architecture; as the use of the RAMROOT has been removed from that configuration, there are no more users, so this code can be removed. Signed-off-by: Shane McDonald Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit d3412dbd721c0136379d86242297d19399f0c05f Author: Mika Korhonen Date: Thu May 21 23:09:42 2009 +0300 mtd: OneNAND: add missing __devexit_p Add missing __devexit_p wrapper and no more mark shutdown with __devexit. Fixes build in configurations where devexit functions get discarded. Signed-off-by: Mika Korhonen Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit ab1ff210a86ae4ab5990b7bd2dc69fafbfa2355a Author: Lennert Buytenhek Date: Wed May 20 13:07:11 2009 +0200 mtd: m25p80: add support for Macronix MX25L12805D Signed-off-by: Lennert Buytenhek Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit e1b158abc532f5a9d355c187583038c4f75ab11d Author: Daniel Ribeiro Date: Sun May 17 08:02:08 2009 -0300 mtd: CFI 1.0 and CFI 1.1 This patch allows otpinfo for CFI >= 1.0 and burst read for CFI >= 1.1. references: 1.0: http://www.datasheetcatalog.org/datasheets2/81/816884_1.pdf 1.1: http://milkymist.org/doc/MT28F640J3.pdf http://www.delorie.com/agenda/specs/29066709.pdf Signed-off-by: Daniel Ribeiro Acked-by: Nicolas Pitre Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit ec2d0d842577854eee18f0dc06bd48fe17189b54 Author: Daniel Ribeiro Date: Sun May 17 08:02:17 2009 -0300 mtd: CFI: quirk for PF38F4476. This chip reports CFI 1.3, but the CFI PRI is like CFI 1.1. Add a quirk to pass probe on this chip. This patch depends on "MTD: CFI 1.0 and CFI 1.1" Signed-off-by: Daniel Ribeiro Acked-by: Nicolas Pitre Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit d6fed9e9fc5eefae5be0ecf222bac7e7496e8e74 Author: Alexander Clouter Date: Mon May 11 19:28:01 2009 +0100 mtd: extend plat_nand for (read|write)_buf This patch adds (write|read)_buf callbacks to plat_nand. The NAND on the TS-7800 provisioned by the FPGA allows readw() and readl() to be used which gives a 2.5x speed up. To be able to use this from the plat_nand driver a hook for read_buf (and also write_buf whilst we are in there) need to be made available. This patch adds the hook. Signed-off-by: Alexander Clouter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit a0645ce9ba2e40fb2e2d74e47c90063015ee4527 Author: Michał Mirosław Date: Wed May 13 00:37:18 2009 +0200 mtd: add SST39SF040 chip to jedec_probe Add SST39SF040 chip (like SST39SF020A but bigger - 4Mbit). Signed-off-by: Michał Mirosław Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit f19e8999a5631e3af0e1ca5127af80a25aba1fd7 Author: David Brownell Date: Tue May 12 16:23:32 2009 -0700 mtd: davinci_nand: cmdlinepart uses MTD IDs Remove some legacy code from the davinci_nand driver, which made cmdlinepart ignore the the MTD ID passed to it. Boards can have multiple NAND chips, and some do (like the DM357 EVM), so this dated hack is undesirable. Correct labels are like "davinci_nand.0" (for chipselect 0). Signed-off-by: David Brownell Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit ee8f37688966ab1438d0cf42e0cb7c6595d9592c Author: Adrian Hunter Date: Tue May 5 11:04:19 2009 +0300 mtd: OneNAND: add support for OneNAND manufactured by Numonyx In addition to adding the Numonyx manufacturer code, this patch also ensures 'sync. write' is disabled when reading identification data - something that the Numonyx chip objects to, but the Samsung chip seems to ignore. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 1e42d142e65ebdef38fb399b421d04e092ad1c6e Author: Matthieu CASTET Date: Tue Apr 28 18:15:31 2009 +0200 mtd: m25p80 nand: add m45pe10 ids this patch add m45pe10 [1] chip support to the m25p80 driver. [1] http://www.numonyx.com/Documents/Datasheets/M45PE10.pdf Signed-off-by: Matthieu CASTET Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit b258fd8d0470c65fef5231887d7e97cb246da0d0 Author: Magnus Lilja Date: Fri May 8 21:57:47 2009 +0200 mtd: mxc_nand: add correct dev_id parameter to free_irq() calls Make sure to pass the same dev_id data to free_irq() that was used when calling request_irq(), otherwise we get a warning about freeing an already free IRQ. Signed-off-by: Magnus Lilja Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 260dc003e9fd41a6cac64308e63dea37ea5de13f Author: Vimal Singh Date: Mon Feb 23 13:46:08 2009 +0530 mtd: nand: fix 512 byte software ecc support Type of 'byte_addr' needes to be 'unsigned int' for 512 byte ECC support. Signed-off-by: Vimal Singh Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 6a4123e581b3112ff4ea7439ab9ae5cb271a9dbd Author: David Brownell Date: Tue Apr 21 19:58:13 2009 -0700 mtd: nand: davinci_nand, 4-bit ECC for smallpage Minimal support for the 4-bit ECC engine found on DM355, DM365, DA830/OMAP-L137, and similar recent DaVinci-family chips. This is limited to small-page flash for now; there are some page layout issues for large page chips. Note that most boards using this engine (like the DM355 EVM) include 2GiB large page chips. Sanity tested on DM355 EVM after swapping the socketed NAND for a small-page one. Signed-off-by: David Brownell Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 533a0149148ccaa0199a1ee6492cd860e3c8b456 Author: David Brownell Date: Tue Apr 21 19:51:31 2009 -0700 mtd: nand: minor davinci_nand cleanup Make the DaVinci NAND driver require platform_data with board-specific configuration. We can't actually do any kind of sane job of configuring it otherwise. Also fix the comment about picking the "best" ECC mode. We can't do those any more; that relied on knowing what kind of CPU we're using (they don't all support 4-bit ECC), and current policy is that drivers not have cpu_is_*() checks. Signed-off-by: David Brownell Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 81d19b04a865f9fcc0ca01b20be806169ff9efb3 Author: David Brownell Date: Tue Apr 21 19:51:20 2009 -0700 mtd: nand: don't walk past end of oobfree[] Resolve issue noted by Sneha: when computing oobavail from the list of free areas in the OOB, don't assume there will always be an unused slot at the end. With ECC_HW_SYNDROME and 4KiB page chips, it's fairly likely there *won't* be one. Signed-off-by: David Brownell Cc: "Narnakaje, Snehaprabha" " Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 1dba15e74aba5a90c1f2557f37e5d09f8a2df643 Author: Ingo Molnar Date: Fri Jun 5 18:37:22 2009 +0200 perf record: Set frequency correctly Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 24430abc88c67e3df2f06c96a6ccd73bda4c92f0 Author: Artem Bityutskiy Date: Tue Apr 21 11:02:01 2009 +0300 Kill jffs2-user.h This file does not define any kernel-userspace API, all it does it defines few helpers for userspace. Instead, userspace should have a private copy of this file. The main (if not the only) user is the mtd-utils package, but it already has a private copy of this file. This patch also removes references to 'jffs2-user.h' from 'Kbuild' and MAINTAINERS' files. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 24b5ce20cc75603ce7c03a42116c30a17bce509a Author: Thomas Chou Date: Tue Apr 21 12:27:34 2009 +0800 mtd: plat_nand: fix section error With CONFIG_HOTPLUG=n, the following eror occurred during link: local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o It was caused by improper section reference. The __devexit_p() should be added to the .remove function. Signed-off-by: Thomas Chou Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit b2fef0762fdb65cf8702eea93f4e58abeb0ecefc Author: Ingo Molnar Date: Fri Jun 5 18:07:51 2009 +0200 perf_counter tools: Sample and display frequency adjustment changes To allow the debugging of frequency-adjusting counters, sample those adjustments and display them in perf report -D. Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 6a24ed6c6082ec65d19331a4bfa30c0512a1a822 Author: Peter Zijlstra Date: Fri Jun 5 18:01:29 2009 +0200 perf_counter: Fix frequency adjustment for < HZ Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 689802b2d0536e72281dc959ab9cb34fb3c304cf Author: Peter Zijlstra Date: Fri Jun 5 15:05:43 2009 +0200 perf_counter: Add PERF_SAMPLE_PERIOD In order to allow easy tracking of the period, also provide means of adding it to the sample data. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit ac4bcf889469ffbca88f234d3184452886a47905 Author: Peter Zijlstra Date: Fri Jun 5 14:44:52 2009 +0200 perf_counter: Change PERF_SAMPLE_CONFIG into PERF_SAMPLE_ID The purpose of PERF_SAMPLE_CONFIG was to identify the counters, since then we've added counter ids, use those instead. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 28cd4aa43de2b6d3b1e3385d450bfb31cbe8d72a Author: Takashi Iwai Date: Fri Jun 5 17:58:00 2009 +0200 ALSA: ctxfi - Add missing inclusion of linux/math64.h Signed-off-by: Takashi Iwai commit 136107a76fe5f62906162f730834477b71cf131e Author: Ingo Molnar Date: Fri Jun 5 17:56:21 2009 +0200 perf_counter tools: Remove -march=native Turns out that neither PowerPC nor older x86 compilers know this switch ... and since it does not make a measurable difference, just omit it. Reported-by: Paul Mackerras Reported-by: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3f7440a6b771169e1f11fa582e53a4259b682809 Author: Takashi Iwai Date: Fri Jun 5 17:40:04 2009 +0200 ALSA: Clean up 64bit division functions Replace the house-made div64_32() with the standard div_u64*() functions. Signed-off-by: Takashi Iwai commit 918143e8b7d6153d7a83a3f854323407939f4a7e Merge: 64edbc5 563af16 Author: Ingo Molnar Date: Fri Jun 5 16:50:29 2009 +0200 Merge branch 'tip/tracing/ftrace-4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace commit 032abb519c23000f8a0fae78bb460047f9129270 Author: Takashi Iwai Date: Fri Jun 5 16:37:19 2009 +0200 ALSA: ctxfi - Set device 0 for mixer control elements Mixer control elements are usually assigned to device 0. Signed-off-by: Takashi Iwai commit 2a36f67f8c81f0babda0e811c760b7bfa971010b Author: Takashi Iwai Date: Fri Jun 5 16:34:10 2009 +0200 ALSA: ctxfi - Clean up / optimize - Use static tables instead of assigining each funciton pointer - Add __devinit* to appropriate places; pcm, mixer and timer cannot be marked because they are kept in the function table that lives long - Move create_alsa_devs function out of struct ct_atc to mark it __devinit Signed-off-by: Takashi Iwai commit 775ffa1d3e5a550dd2c9d947d773021c61531b36 Author: Takashi Iwai Date: Fri Jun 5 16:12:16 2009 +0200 ALSA: ctxfi - Set periods_min to 2 Set 2 to minimal periods of playback pcm setups, too. Signed-off-by: Takashi Iwai commit b7bbf876087e0e2c0ba723a8398083c9a9ac1dfd Author: Takashi Iwai Date: Fri Jun 5 16:11:07 2009 +0200 ALSA: ctxfi - Use native timer interrupt on emu20k1 emu20k1 has a native timer interrupt based on the audio clock, which is more accurate than the system timer (from the synchronization POV). This patch adds the code to handle this with multiple streams. The system timer is still used on emu20k2, and can be used also for emu20k1 easily by changing USE_SYSTEM_TIMER to 1 in cttimer.c. Signed-off-by: Takashi Iwai commit 1b8e69662e1a086878bf930a6042daf7f8a076cc Author: Bjorn Helgaas Date: Fri Jun 5 14:37:23 2009 +0000 pnp: add PNP resource range checking function Add a PNP resource range check function, indicating whether a resource has been assigned to any device. Signed-off-by: Bjorn Helgaas [apw@canonical.com: fixed up exports et al] Signed-off-by: Andy Whitcroft Signed-off-by: Eric Anholt commit e71d31da062095d8b0b02a26fb5e8879e8d3d0de Author: Stefan Richter Date: Fri Jun 5 16:26:18 2009 +0200 firewire: rename source files The source files of firewire-core, firewire-ohci, firewire-sbp2, i.e. "drivers/firewire/fw-*.c" are renamed to "drivers/firewire/core-*.c", "drivers/firewire/ohci.c", "drivers/firewire/sbp2.c". The old fw- prefix was redundant to the directory name. The new core- prefix distinguishes the files according to which driver they belong to. This change comes a little late, but still before further firewire drivers are added as anticipated RSN. Signed-off-by: Stefan Richter commit 77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c Author: Stefan Richter Date: Fri Jun 5 16:26:18 2009 +0200 firewire: reorganize header files The three header files of firewire-core, i.e. "drivers/firewire/fw-device.h", "drivers/firewire/fw-topology.h", "drivers/firewire/fw-transaction.h", are replaced by "drivers/firewire/core.h", "include/linux/firewire.h". The latter includes everything which a firewire high-level driver (like firewire-sbp2) needs besides linux/firewire-constants.h, while core.h contains the rest which is needed by firewire-core itself and by low- level drivers (card drivers) like firewire-ohci. High-level drivers can now also reside outside of drivers/firewire without having to add drivers/firewire to the header file search path in makefiles. At least the firedtv driver will be such a driver. I also considered to spread the contents of core.h over several files, one for each .c file where the respective implementation resides. But it turned out that most core .c files will end up including most of the core .h files. Also, the combined core.h isn't unreasonably big, and it will lose more of its contents to linux/firewire.h anyway soon when more firewire drivers are added. (IP-over-1394, firedtv, and there are plans for one or two more.) Furthermore, fw-ohci.h is renamed to ohci.h. The name of core.h and ohci.h is chosen with regard to name changes of the .c files in a follow-up change. Signed-off-by: Stefan Richter commit e8ca97021c8eb127bb04aec4e2420e1d66be371d Author: Stefan Richter Date: Thu Jun 4 21:09:38 2009 +0200 firewire: clean up includes Include required headers which were only indirectly included. Remove unused includes and an unused constant. Signed-off-by: Stefan Richter commit 3dcdc50079bc2c9dbc6524518976353f743f7ec8 Author: Stefan Richter Date: Thu Jun 4 21:08:43 2009 +0200 firewire: ohci: access bus_seconds atomically In the unlikely event that card->driver->get_bus_time() is called during a cycle64Seconds interrupt, we could read garbage unless atomic accesses are used. The switch to atomic ops requires to change the 64 seconds counter from unsigned to signed, but this shouldn't matter to the end result. Signed-off-by: Stefan Richter commit e41f8d709c31b42129a34305a99d29c38aff75c4 Author: Stefan Richter Date: Mon Feb 16 00:22:05 2009 +0100 firewire: also use vendor ID in root directory for driver matches Due to AV/C protocol extensions, FireDTV devices need a vendor-specific driver. But their configuration ROM features a vendor ID only in the root directory, not in the unit directory. Signed-off-by: Stefan Richter commit b3b2988841ac6215e137e34e38b71acc915d1f00 Author: Stefan Richter Date: Sun Feb 15 23:12:34 2009 +0100 firewire: share device ID table type with ieee1394 That way, the new firedtv driver will be able to use a single ID table in builds against ieee1394 core and/or against firewire core. Signed-off-by: Stefan Richter commit b66d18ddb16603d1e1ec39cb2ff3abf3fd212180 Author: Jesse Barnes Date: Fri May 15 14:11:48 2009 -0700 drm/i915: avoid non-atomic sysrq execution The sysrq functions are executed in hardirq context, so we shouldn't be calling sleeping functions from them, like mutex_locks or memory allocations. Fix up the i915 sysrq handler to avoid this. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 42c2798b35b95c471877133e19ccc3cab00e9b65 Author: Jesse Barnes Date: Tue May 5 13:13:16 2009 -0700 drm/i915: apply G45 vblank count code to all G4x chips and fix max_frame_count All G4x and newer chips use the new style frame count register, with a full 32 bit frame count. Update the code to reflect this. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 70aa96ca2d8d938fc036ef8fd189b0151f4fc3ba Author: Jarod Wilson Date: Wed May 27 17:20:39 2009 -0400 drm/i915: add ignore lvds quirk info for AOpen Mini PC Fix a FIXME in the intel LVDS bring-up code, adding the appropriate blacklist entry for the AOpen Mini PC, courtesy of a dmidecode dump from Florian Demmer. Signed-off-by: Jarod Wilson CC: Florian Demmer Signed-off-by: Eric Anholt commit 714605e4a05787c51a5ac36c926d2169cfdfbfba Author: yakui_zhao Date: Sun May 31 17:18:07 2009 +0800 drm/i915: Initialize the SDVO device based on the sdvo info parsed from VBT http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui [anholt: Massive cleanup of the slave addr function] Signed-off-by: Eric Anholt commit 9b9d172d06b0f2d51cc9431e2c6c3055f0cf10ef Author: yakui_zhao Date: Sun May 31 17:17:17 2009 +0800 drm/i915: parse VBT general definition block to get the SDVO device info The general definition block contains the child device tables, which include the SDVO device info. For example: device slave address, device dvo port, device type. We will get the info of SDVO device by parsing the general definition blocks. Only when a valid slave address is found, it is regarded as the SDVO device. And the info of DVO port and slave address is recorded. http://bugs.freedesktop.org/show_bug.cgi?id=20429 Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 59a036cfbd29aadf40d2b754cfebee2a96268752 Author: yakui_zhao Date: Sun May 31 17:16:22 2009 +0800 drm/i915: Add the structure of child_device_config in video BIOS tables. Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 040d87f15a0129242463d3ed7c48381505f596e2 Author: Keith Packard Date: Sat May 30 20:42:33 2009 -0700 drm/i915: Add Display Port register defines This adds the register definitions for the display port enable register along with those for the GMCH and Link M/N ratios required to drive display port outputs. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit 2245fda810f870dce9b030e6aa604320abba53a5 Author: Keith Packard Date: Sat May 30 20:42:29 2009 -0700 drm/i915: Don't trim cursor addresses to 11 bits We can safely assume that cursor addresses will not extend beyond the addressable screen dimensions; setting the additional bits is harmless in any case. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt commit cb66c692d1ae257f32dc7f6085cf9cb9f2f6bab8 Author: Ma Ling Date: Sun May 31 16:58:32 2009 +0800 drm/i915: Set correct TV detection voltage level override values We detect TV connect status by setting DAC voltage level override values as 0.7 voltage for DAC_A/B/C. The corresponding 2-bits shold be 0x2, In order correctly to set last bit as 0, at first we must clean it. It fixed freedesktop.org bug #21204 Signed-off-by: Ma Ling Signed-off-by: Eric Anholt commit 2debbc836696f2a815d02630230584a1754a5022 Author: Ingo Molnar Date: Fri Jun 5 14:29:10 2009 +0200 perf_counter tools: Clarify events/samples naming A number of places said 'events' while they should say 'samples'. Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8edd4286f99f78fe07fe9196e69d5643da86cada Author: Ingo Molnar Date: Fri Jun 5 14:13:18 2009 +0200 perf report: Display user/kernel differentiator Before: 25.96% copy_user_generic_string 15.23% two_op 15.19% one_op 6.92% enough_duration 1.23% alloc_pages_current 1.14% acpi_os_read_port 1.08% _spin_lock After: 25.96% [k] copy_user_generic_string 15.23% [.] two_op 15.19% [.] one_op 6.92% [.] enough_duration 1.23% [k] alloc_pages_current 1.14% [k] acpi_os_read_port 1.08% [k] _spin_lock The '[k]' differentiator is a quick clue that it's a kernel symbol, without having to bring in the full dso column. Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit fc54db5105d01ad691a7d747064c7890e17f936c Author: Peter Zijlstra Date: Fri Jun 5 14:04:59 2009 +0200 perf report: Deal with maps In order to deal with [vdso] maps generalize the ip->symbol path a bit and allow to override some bits with custom functions. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 089dd79db9264dc0da602bad45d42f1b3e7d1e07 Author: Peter Zijlstra Date: Fri Jun 5 14:04:55 2009 +0200 perf_counter: Generate mmap events for install_special_mapping() In order to track the vdso also generate mmap events for install_special_mapping(). Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit f7b6eb3fa07269da20dbbde8ba37a0273fdbd9c9 Author: Peter Zijlstra Date: Fri Jun 5 14:04:51 2009 +0200 x86: Set context.vdso before installing the mapping In order to make arch_vma_name() work from inside install_special_mapping() we need to set the context.vdso before calling it. ( This is needed for performance counters to be able to track this special executable area. ) Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit cf1f45744c6fa3501e0a6f0ddc418f0ef27e725b Author: Ingo Molnar Date: Fri Jun 5 13:27:02 2009 +0200 perf record, top: Implement --freq Support frequency-based profiling and make it the default. (Also add a Hz printout in perf top.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 541998a18b72d2cac48b3369fa4540116ff3f0a8 Author: Zhenyu Wang Date: Fri Jun 5 15:38:44 2009 +0800 drm/i915: Add LVDS support for IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 30ad48b7334a2eb2edf22f6c91f7b3f22a22a837 Author: Zhenyu Wang Date: Fri Jun 5 15:38:43 2009 +0800 drm/i915: Add HDMI support on IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2c07245fb8f7f0a282282e5a9747e46defdb2cc7 Author: Zhenyu Wang Date: Fri Jun 5 15:38:42 2009 +0800 drm/i915: enable kernel modesetting on IGDNG This adds kernel mode setting on IGDNG with VGA output support. Note that suspend/resume doesn't work yet. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2cce0d8740f0d1454d012401257d96c513ce358f Author: Zhenyu Wang Date: Fri Jun 5 15:38:41 2009 +0800 drm/i915: Disable tiling on IGDNG for now Swizzle bit detection not working right on it. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit e170b030dcd6aed11dde2d124c09991ec771f529 Author: Zhenyu Wang Date: Fri Jun 5 15:38:40 2009 +0800 drm/i915: Disable opregion on IGDNG for now Disable OpRegion support for now until verified on new chipsets. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit b9055052d3e0388b4a5e8c3e0bbab665c5996f50 Author: Zhenyu Wang Date: Fri Jun 5 15:38:38 2009 +0800 drm/i915: Add new chipset register definitions Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 280da227c870a50f669de0c8d46bfb2c62da9995 Author: Zhenyu Wang Date: Fri Jun 5 15:38:37 2009 +0800 drm/i915: Add chipset/feature defines for for new chipsets Signed-off-by: Zhenyu Wang [anholt: dropped drm_pciids.h hunk to avoid loading an incomplete driver] Signed-off-by: Eric Anholt commit f250c030a87273f8838a2302bee7c2b4d03e9151 Author: Ingo Molnar Date: Fri Jun 5 13:18:41 2009 +0200 perf record: Split out counter creation into a helper function Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 17f2f52be0edb6d1ff5a3675f2bc545aea2dbf76 Author: Florian Westphal Date: Fri Jun 5 13:26:21 2009 +0200 netfilter: ipt_MASQUERADE: remove redundant rwlock The lock "protects" an assignment and a comparision of an integer. When the caller of device_cmp() evaluates the result, nat->masq_index may already have been changed (regardless if the lock is there or not). So, the lock either has to be held during nf_ct_iterate_cleanup(), or can be removed. This does the latter. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 10662aa3083f869c645cc2abf5d66849001e2f5d Author: Florian Westphal Date: Fri Jun 5 13:24:24 2009 +0200 netfilter: xt_NFQUEUE: queue balancing support Adds support for specifying a range of queues instead of a single queue id. Flows will be distributed across the given range. This is useful for multicore systems: Instead of having a single application read packets from a queue, start multiple instances on queues x, x+1, .. x+n. Each instance can process flows independently. Packets for the same connection are put into the same queue. Signed-off-by: Holger Eitzenberger Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 32cb055b57eab803ea82b76dc913b0378e5af145 Author: Zhenyu Wang Date: Fri Jun 5 15:38:36 2009 +0800 agp/intel: Add support for new chipsets Both desktop and mobile versions are added. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 61f5abcab152cbee3a041f8b9bcfe7afc83409ca Author: Florian Westphal Date: Fri Jun 5 13:18:07 2009 +0200 netfilter: xt_NFQUEUE: use NFPROTO_UNSPEC We can use wildcard matching here, just like ab4f21e6fb1c09b13c4c3cb8357babe8223471bd ("xtables: use NFPROTO_UNSPEC in more extensions"). Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 6bc5874a1ddf98ac0fe6c4eab7d286c11cb1c748 Author: Takashi Iwai Date: Fri Jun 5 12:15:51 2009 +0200 ALSA: ctxfi - Fix previous fix for 64bit DMA Remove unneeded substitution to 32bit int to make it really working. Signed-off-by: Takashi Iwai commit 3e1647c5b54a91a7182e121cfe569e6f0bf167ec Author: Guido Günther Date: Fri Jun 5 00:47:26 2009 +0200 ALSA: support Sony Vaio TT with BIOS probing only we offer a non functional headphone swith and volume slider. Signed-off-by: Guido Günther Signed-off-by: Takashi Iwai commit 361778d6e7cb315b50f3f2469d782e90df7ac2cb Author: Eric Miao Date: Fri Jun 5 16:42:29 2009 +0800 [ARM] pxa/littleton: add support for the Micro-SD slot (MMC1) Signed-off-by: Eric Miao commit add85a418f8e224d2b09d4a8d14c6c060ba3a79c Author: Simon POLETTE Date: Thu Jun 4 12:09:01 2009 +0200 PATCH] mx27pdk: rename mxc_map_io to mx27_map_io Hi, Fixed issue in the mxc-master head : Signed-off-by: Simon POLETTE Signed-off-by: Sascha Hauer commit f6d03139d745198b434f65a28aabed524f415a4c Author: Steven Whitehouse Date: Fri Jun 5 07:18:57 2009 +0100 GFS2: Fix locking issue mounting gfs2meta fs This patch uses sget() to get a reference to the existing gfs2 sb when mouting the gfs2meta filesystem (in fact thats just another mount of the gfs2 filesystem with a different root and this interface is for backward compatibility). Signed-off-by: Steven Whitehouse Reported-by: Benjamin Marzinski Tested-by: Benjamin Marzinski Cc: Christoph Hellwig commit 42a0b31827e4c555efebda7d347cf4ea6b82913a Author: Takashi Iwai Date: Fri Jun 5 09:29:22 2009 +0200 ALSA: ctxfi - Fix endian-dependent codes The UAA-mode check in hwct20k1.c is implemented with the endian-dependent codes. Fix to be more portable (and readable). Signed-off-by: Takashi Iwai commit 6d74b86d3c0f9cfa949566a862aaad840e393249 Author: Takashi Iwai Date: Fri Jun 5 09:26:41 2009 +0200 ALSA: ctxfi - Allow 64bit DMA emu20kx chips support 64bit address PTE. Allow the DMA bit mask to accept 64bit address, too. Signed-off-by: Takashi Iwai commit ee7b31fe5c5da8a038b96e54ae9fbd5dcab3b1da Author: Yong Wang Date: Fri Jun 5 11:37:35 2009 +0800 perf_counter tools: Fix incorrect printf formats Otherwise the code does not compile on 32-bit boxes. builtin-report.c: In function 'map__fprintf': builtin-report.c:240: error: format '%lx' expects type 'long unsigned int', but argument 3 has type 'uint64_t' builtin-report.c:240: error: format '%lx' expects type 'long unsigned int', but argument 4 has type 'uint64_t' builtin-report.c:240: error: format '%lx' expects type 'long unsigned int', but argument 5 has type 'uint64_t' Signed-off-by: Yong Wang Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090605033735.GA20451@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 6dc5f2a41759987e35e757ef00192e7b424563bb Author: Paul Mackerras Date: Fri Jun 5 12:36:28 2009 +1000 perf_counter: Fix lockup with interrupting counters Commit 8e3747c1 ("perf_counter: Change data head from u32 to u64") changed the type of 'head' in struct perf_mmap_data from atomic_t to atomic_long_t, but missed converting one use of atomic_read on it to atomic_long_read. The effect of using atomic_read rather than atomic_long_read on powerpc (and other big-endian architectures) is that we get the high half of the 64-bit quantity, resulting in the cmpxchg retry loop in perf_output_begin spinning forever as soon as data->head becomes non-zero. On little-endian architectures such as x86 we would get the low half, resulting in a lockup once data->head becomes greater than 4G. This fixes it by using atomic_long_read rather than atomic_read. [ Impact: fix perfcounter lockup on PowerPC / big-endian systems ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18984.33964.21541.743096@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit f8514083cd61daef12fba5ef883ad9352c450428 Author: Aneesh Kumar K.V Date: Fri Jun 5 00:56:49 2009 -0400 ext4: truncate the file properly if we fail to copy data from userspace In generic_perform_write if we fail to copy the user data we don't update the inode->i_size. We should truncate the file in the above case so that we don't have blocks allocated outside inode->i_size. Add the inode to orphan list in the same transaction as block allocation This ensures that if we crash in between the recovery would do the truncate. Signed-off-by: Aneesh Kumar K.V CC: Jan Kara Signed-off-by: "Theodore Ts'o" commit 1938a150c25bf7c2c47182e753a1038945b70b0e Author: Aneesh Kumar K.V Date: Fri Jun 5 01:00:26 2009 -0400 ext4: Avoid leaking blocks after a block allocation failure We should add inode to the orphan list in the same transaction as block allocation. This ensures that if we crash after a failed block allocation and before we do a vmtruncate we don't leak block (ie block marked as used in bitmap but not claimed by the inode). Signed-off-by: Aneesh Kumar K.V CC: Jan Kara Signed-off-by: "Theodore Ts'o" commit f6394e268fc541c274be8fa30ccb04b3e2f0450f Author: Mike Rapoport Date: Thu Jun 4 10:44:55 2009 +0300 [ARM] pxa/cm-x300: update defconfig Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit b5a5c474b037ab61930c16b7a8e42874b54e5cb8 Author: Mike Rapoport Date: Thu Jun 4 10:44:54 2009 +0300 [ARM] pxa/cm-x300: add .fixup method to enable second DRAM bank Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 321d9eb32a903edc30a499262ad5b42cda98656c Author: Mike Rapoport Date: Thu Jun 4 10:44:53 2009 +0300 [ARM] pxa/cm-x300: use STUART for uncompressor Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 1858ced3f990777defda93ad10ffa81c28ddc2e2 Author: Mike Rapoport Date: Thu Jun 4 10:44:52 2009 +0300 [ARM] pxa/cm-x300: add rtc-v3020 device registration Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit b3992b665379c8de6f47cd0b0e5b3004d26b05be Author: Mike Rapoport Date: Thu Jun 4 10:44:51 2009 +0300 [ARM] pxa/cm-x300: use OBM configuration for NAND flash CM-X300 can be assembled with different NAND flashes from different manufacturers. Adding their configuration to the kernel is impractical, therefore we will use the default NAND controller settings set up by the bootloader. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 9599d1dbc2264355ecad0bae76bf6c1236c84c73 Author: Mike Rapoport Date: Tue May 26 09:41:46 2009 +0300 [ARM] pxa/em-x270, cm-x270: use DEEPSLEEP for PM_SUSPEND_MEM Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 128d88b82e47d070170c256b2b19f57c352af310 Author: Mike Rapoport Date: Tue May 12 16:31:16 2009 +0300 [ARM] pxa/em-x270: add support for on-board USB Hub Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 3690a0f4266127557524501c680760b1e6cb55d0 Author: Mike Rapoport Date: Tue May 12 16:31:15 2009 +0300 [ARM] pxa/em-x270: change power supply name to "battery" Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 2f15cb594e0c17177bd79ead9234cc6806954e6f Author: Mike Rapoport Date: Tue May 12 16:31:14 2009 +0300 [ARM] pxa/em-x270: update libertas device setup Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 76e3fc36eb3d78997e7f4dcdc01cc38dc3178201 Author: Mike Rapoport Date: Tue May 12 16:31:13 2009 +0300 [ARM] pxa/em-x270: add exeda GPIO extender and update GPIO mappings Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit 1ce2c51e6d594d19126f51bba88aa9f57eb7cea6 Author: Antonio Ospite Date: Mon Jun 1 12:26:58 2009 +0200 [ARM] pxa/ezx: setup gpio-keys for EzX phones Setup gpio-keys for EzX phones Signed-off-by: Antonio Ospite Acked-by: Daniel Ribeiro Signed-off-by: Eric Miao commit f0ba401769a5ca0b69e60914ef03e4fc373c3a02 Author: Dmitry Eremin-Solenikov Date: Sun May 17 17:05:23 2009 +0400 [ARM] pxa/spitz: drop unused header files from spitz.c Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit 0a0ca89d59b203b772a08d04d4e2052ffaeac221 Author: Jonathan Cameron Date: Mon May 25 16:50:14 2009 +0000 [ARM] pxa/imote2: add i2c board info for the wm8940 audio codec Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit a2520846589ee9821f9f50744cece84f2853518a Author: Jonathan Cameron Date: Mon May 25 16:50:12 2009 +0000 [ARM] pxa/imote2: add board config for SHT15 humidity sensor Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 5aeb1a5e9f2eced482805eeb154baf77ea53c8ce Author: Jonathan Cameron Date: Tue May 12 19:37:21 2009 +0000 [ARM] pxa/stargate2: add support for Compact Flash/PCMCIA Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 80153d1bcc6a20361d5974f37d3729583ba99154 Author: Jonathan Cameron Date: Tue May 12 19:37:20 2009 +0000 [ARM] pxa/stargate2: Add board specific elements to the smc91x driver Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 4036e1dea565207010408f5c6137a9d8d3c0ff5c Author: Jonathan Cameron Date: Sat May 16 18:20:39 2009 +0000 [ARM] pxa: Stargate 2 board support Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit fc9c1b6fc874d786f32163291b059ec574698aa2 Author: Marek Vasut Date: Thu May 14 11:27:00 2009 +0200 [ARM] pxa/palm: Palm TX, T5, LD suspend-to-mem rework Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 37330efd4abb474b3fdfacea68beb37cf67564ed Author: Marek Vasut Date: Thu Apr 23 11:27:11 2009 +0200 [ARM] pxa/palm: Add Palm27x aSoC driver to PalmTE2 Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 8768dc9b75efa43e612f6f520cf76a89bbab69d3 Author: Marek Vasut Date: Thu Apr 23 11:12:37 2009 +0200 [ARM] pxa/palm: Switch PalmT5, TX, TE2 to GPIO VBUS Signed-off-by: Marek Vasut Signed-off-by: Eric Miao commit 96a9fcaf5d9a04f3ca8855d7b8d034089ccc8533 Author: Dmitry Eremin-Solenikov Date: Wed Apr 22 00:43:22 2009 +0400 [ARM] pxa/csb726: register ac97 controller Add a call to pxa_set_ac97_info() to enable the audio support. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit b86017150087ac62c834ac64b87b9565850eb320 Author: Dmitry Eremin-Solenikov Date: Wed Apr 22 00:43:21 2009 +0400 [ARM] pxa/csb726: switch to use smsc911x driver csb726 used obsolete and not working out-of-tree driver smc911x. Switch it to use new smsc911x driver. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Eric Miao commit ef47d5f02402b4b1183d64edde5e89178794bb9d Author: Philipp Zabel Date: Thu May 28 07:07:47 2009 +0200 MAINTAINERS: add a maintainer for iPAQ hx4700 Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit dd045445f82a9ff38120a5cd7f6117f065285859 Author: Philipp Zabel Date: Tue May 26 22:04:38 2009 +0200 [ARM] pxa: magician_defconfig enable hx4700, asic3 and w100fb I'm not going to maintain separate defconfigs for magician and hx4700. This should probably be renamed to htcpxa_defconfig. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit d3ca1952e63ffbebab6f2f1c9551df7b3cb731f5 Author: Philipp Zabel Date: Thu May 28 07:05:18 2009 +0200 [ARM] pxa: add basic support for HP iPAQ hx4700 PDAs This includes - IrDA (pxafixp_ir), - Buttons (gpio-keys), - ASIC3 IRQ/GPIOs (asic3), - EGPIOs (htc-egpio), - ATI Imageon w3220 framebuffer (w100fb), - Backlight (pwm-backlight), - StrataFlash (physmap), - Battery monitor (ds1wm,w1_ds2760,ds2760_battery) - USB gadget support (pxa27x_udc,gpio_vbus). - bq24022 battery charger (pda_power,bq24022) - TSC2046 touchscreen (ads7846) Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 2f1a5bf707a39153d93d04858f69f2d43563d08c Author: Philipp Zabel Date: Tue Apr 28 13:31:08 2009 +0200 [ARM] pxa/magician: use ARRAY_AND_SIZE for platform_add_devices Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit f8f9d5ecfff9b2d04db4decd7d2c86aba86e49e5 Author: Philipp Zabel Date: Fri Apr 17 11:38:23 2009 +0200 [ARM] pxa/magician: use I2C fast mode Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 3dbeef231e2247f91784f33555ed6f7da7a6f726 Author: Robert Jarzmik Date: Sun May 17 23:03:55 2009 +0200 [ARM] pxa: add vcc_core regulation for cpufreq on pxa2xx Add voltage regulation capability to pxa2xx cpufreq driver. The cpufreq will ask for a "vcc_core" regulator to the regulator framework. If a regulator is found at probe time, it will be used with values specified in PXA270 Electrical, Mechanical, and Thermal Specifications. If not, it will be assumed for now that frequency change will work without voltage control. This assumes that the IPL/SPL installs sane values to an existing voltage regulator (ie. voltage high enough to support the full range). Signed-off-by: Robert Jarzmik Signed-off-by: Eric Miao commit dd5b94aba709aae68d1ba11b5f963df54efa58bb Author: Jürgen Schindele Date: Thu Jun 4 11:43:22 2009 +0800 [ARM] pxa: add additional mfp definitions for pxa320 Signed-off-by: Jürgen Schindele Signed-off-by: Eric Miao commit d082d36ea82aff6f25e8380770713e6fd0c7290a Author: Mike Rapoport Date: Tue May 26 09:10:18 2009 +0300 [ARM] pxa: add ability to set suspend mode PXA processors have several low-power modes. Currently kernel supports only one of these modes for PM_SUSPEND_MEM. This patch adds ability to set desired suspend mode for PXA27x based machines. Signed-off-by: Mike Rapoport Reviewed-by: Russell King Signed-off-by: Eric Miao commit 94c35a6b5129bc370893d74085c13607f260ef39 Author: Robert Jarzmik Date: Tue Apr 21 19:19:36 2009 +0200 [ARM] pxa: add udc support for pxa3xx As reported by Aric Blumer, the pxa27x_udc driver does work with pxa3xx devices. Add support into device files. Reported-by: Aric Blumer Signed-off-by: Robert Jarzmik Signed-off-by: Matt Reimer Signed-off-by: Eric Miao commit a01bd58449088b63da45ab5f2c7921893eb7d143 Author: Philipp Zabel Date: Fri Apr 17 11:47:57 2009 +0200 [ARM] pxa: allow IRQ_BOARD_END to be customized and make zylonite to use it The default value is 16 IRQs. Zylonite needs 32, ASIC3 based boards need 70. My problem is still that due to the way IRQ_GPIO is hardcoded, ASIC3 based boards need 70 IRQs starting at IRQ_BOARD_START. If I define ASIC3 IRQs similar to LoCoMo or SA1111, things break as soon as something selects PXA_HAVE_BOARD_IRQS. Increasing the default number of board IRQs to 70 instead doesn't seem very nice. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit 46580c03062da8c047238a6b3d2b2b13af1700b5 Author: Mike Rapoport Date: Tue Apr 14 08:33:49 2009 +0300 [ARM] pxa: update pxa2xx_spi_chip initialization to use .gpio_cs field Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao commit a27ba768a11ac7a1d56688d4224cef3a802d1f89 Author: Eric Miao Date: Mon Apr 13 18:29:52 2009 +0800 [ARM] pxa: add PWM devices support for pxa168/910 Signed-off-by: Mingwei Wang Signed-off-by: Eric Miao commit 2a55b910e0d240984860fa0264866c122751bd09 Author: Eric Miao Date: Mon Apr 13 18:02:13 2009 +0800 [ARM] pxa: add missing IRQ_PXA910_NONE to irqs.h Signed-off-by: Eric Miao commit 3852ac7113f313d96af80257a070fd8ab2eea5c6 Author: Eric Miao Date: Mon Apr 13 16:28:02 2009 +0800 [ARM] pxa: move pwm.c to common plat-pxa directory Signed-off-by: Eric Miao commit a71ef16327a534a88fb1277d28dcd362dbb1992f Author: Eric Miao Date: Mon Apr 13 16:09:21 2009 +0800 [ARM] pxa: build pwm.c according to HAVE_PWM instead of PXA_PWM The PXA_PWM config option is really redundant since the introduction of HAVE_PWM, replace that with HAVE_PWM to avoid confusion. Signed-off-by: Eric Miao commit a757ad8b391adb2129f8357545aaa678099df473 Author: Eric Miao Date: Mon Apr 13 18:51:31 2009 +0800 [ARM] pxa: allow PWM ID base number to be specified in pwm_id_table PWMs on PXA168/910 start at number 1 instead of 0, (i.e. PWM1/2/3/4 instead of PWM0/1/2/3 on PXA25x/PXA27x/PXA3xx). Allow this number to be specified in pwm_id_table. Signed-off-by: Eric Miao commit 3d2a98cd5e17052f461390c72efe1076c18fd62d Author: Eric Miao Date: Mon Apr 13 15:59:03 2009 +0800 [ARM] pxa: simplify secondary PWM handling and use platform_device_id table Signed-off-by: Eric Miao commit 1a77920e4cbe508c8dc40fef1d0beb21aac8cc17 Author: Eric Miao Date: Mon Apr 13 15:34:54 2009 +0800 [ARM] pxa: add I2C (TWSI) devices to pxa168/pxa910 Signed-off-by: Paul Shen Signed-off-by: Eric Miao commit f0a83701399123b0e95cc4d949fcccf9941fd190 Author: Eric Miao Date: Mon Apr 13 15:03:11 2009 +0800 [ARM] pxa: move mach/i2c.h to plat/i2c.h Signed-off-by: Paul Shen Signed-off-by: Eric Miao commit f23d4911319fdebffd0529b31bb66d324ef287e6 Author: Eric Miao Date: Mon Apr 13 14:43:25 2009 +0800 [ARM] pxa: add platform device ID table to pxa i2c driver Signed-off-by: Eric Miao commit 04288f42033607099cebf5ca15ce8dcec3a9688b Author: Mimi Zohar Date: Thu Jun 4 13:53:10 2009 -0400 integrity: ima audit dentry_open failure Until we start appraising measurements, the ima_path_check() return code should always be 0. - Update the ima_path_check() return code comment - Instead of the pr_info, audit the dentry_open failure Signed-off-by: Mimi Zohar Acked-by: Eric Paris Signed-off-by: James Morris commit b31e15527a9bb71b6a11a425d17ce139a62f5af5 Author: Eric Sandeen Date: Thu Jun 4 17:36:36 2009 -0400 ext4: Change all super.c messages to print the device This patch changes ext4 super.c to include the device name with all warning/error messages, by using a new utility function ext4_msg. It's a rather large patch, but very mechanic. I left debug printks alone. This is a straightforward port of a patch which Andi Kleen did for ext3. Cc: Andi Kleen Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 03f5d8bcf094a5e3b501bd2ae1553656efa8d1be Author: Jan Kara Date: Tue Jun 9 00:17:05 2009 -0400 ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle() Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle(). This seems to be a relict from some old days and setting disksize in this function does not make much sense. Currently it was set only by ext4_getblk(). Since the parameter has some effect only if create == 1, it is easy to check by grepping through the sources that the three callers which end up calling ext4_getblk() with create == 1 (ext4_append, ext4_quota_write, ext4_mkdir) do the right thing and set disksize themselves. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 76a0f40fd6eff1bce3b91925cea7587b3399fe80 Author: Frederic Weisbecker Date: Thu Jun 4 22:15:58 2009 +0200 perf_counter tools: Fix warn_unused_result warnings Fix warnings for return values that we don't care about: util/quote.c:222: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result util/quote.c:235: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result util/quote.c: In function ‘write_name_quotedpfx’: util/quote.c:290: attention : ignoring return value of ‘fwrite’, declared with attribute warn_unused_result Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1244146558-8635-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 172124e220f1854acc99ee394671781b8b5e2120 Author: Jens Axboe Date: Thu Jun 4 22:34:44 2009 +0200 Revert "block: implement blkdev_readpages" This reverts commit db2dbb12dc47a50c7a4c5678f526014063e486f6. It apparently causes problems with partition table read-ahead on archs with large page sizes. Until that problem is diagnosed further, just drop the readpages support on block devices. Signed-off-by: Jens Axboe commit 9ac995457b2a148ed9bb8860e8b7cb869327b102 Author: Arnaldo Carvalho de Melo Date: Thu Jun 4 13:54:00 2009 -0300 perf report: Add -vvv to print the list of threads and its mmaps Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 0f5486b5c71a831a713ce356d8d06822e3c7c379 Author: Frederic Weisbecker Date: Thu Jun 4 20:48:04 2009 +0200 perf_counter: Sleep before refresh using poll in perf top perf top is refreshed every delay_secs the thread runs in such loop: while (sleep(delay_secs)) { print_sym_table(); } At the end of print_sym_table(), poll is used without sleep delay to check if we have something from stdin. It means that this check is done only every delay_secs, which can be higher that 2 secs if the user defined a custom refresh rate. We can drop sleep() here and directly use poll to wait between refresh periods, so that the reaction after the user stops perf top after typing "Enter" is immediate and doesn't suffer from the delay_secs latency. Nb: poll doesn't add any overhead that can parasite perf top measures since it sleeps the entire timeout here. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1244141284-7507-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 7666c17e2b0986a079da46122d8658544416c2cf Author: Linus Walleij Date: Mon Jun 1 14:27:26 2009 +0100 [ARM] 5535/1: U300 Makefile.boot The Makefile.boot file for the U300 port. This will compile the kernel for different ZRELADDR depending on the location of physical RAM in the chosen configuration. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit c0683039207226afcffbe0fbf6a1caaee77a37b0 Author: Tony Lindgren Date: Wed Jun 3 17:43:14 2009 +0100 [ARM] 5536/1: Move clk_add_alias() to arch/arm/common/clkdev.c This can be used for other arm platforms too as discussed on the linux-arm-kernel list. Also check the return value with IS_ERR and return PTR_ERR as suggested by Russell King. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 5926a295bb78272b3f648f62febecd19a1b6a6ca Author: Alessandro Rubini Date: Thu Jun 4 17:43:04 2009 +0100 [ARM] 5541/1: serial/amba-pl011.c: add support for the modified port found in Nomadik The Nomadik 8815 SoC has a slightly modified version of the PL011 block. The patch uses the different ID value as a key to select a vendor structure that is used to keep track of the differences, as suggested by Russell King. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Linus Walleij Signed-off-by: Russell King commit 2ae19acaa50a09c1099956efb895c0aca74ab050 Author: Theodore Ts'o Date: Thu Apr 16 07:44:45 2009 -0400 Documentation: Add "how to write a good patch summary" to SubmittingPatches Unfortunately many patch submissions are arriving with painfully poor patch descriptions. As a result of the discussion on LKML: http://lkml.org/lkml/2009/4/15/296 explain how to submit a better patch description, in the (perhaps vain) hope that maintainers won't end up having to rewrite the git commit logs as often as they do today. Signed-off-by: "Theodore Ts'o" Cc: Ingo Molnar Signed-off-by: Jonathan Corbet commit 5801da1b2f1207da21271ffd6768cd40a6c7f1c4 Author: Pavel Machek Date: Thu Jun 4 16:26:50 2009 +0200 SubmittingPatches: fix typo Fix typo. Signed-off-by: Pavel Machek Signed-off-by: Jonathan Corbet commit 5d98932ab0acb699dc56d9e252f056b9b2cdab25 Author: Jonathan Corbet Date: Tue Apr 21 13:33:06 2009 -0600 docs: Encourage better changelogs in the development process document Add a couple of paragraphs to the "patch formatting" section on how patches should be described. This text is shamelessly cribbed from suggestions posted by Rusty Russell. Signed-off-by: Jonathan Corbet commit bbb0a4247aaf1eabbd6d87750eafe99c577920f7 Author: Jonathan Corbet Date: Fri Jan 16 09:49:50 2009 -0700 Document Reported-by in SubmittingPatches Randy pointed out that the Reported-By tag should be documented with the others in SubmittingPatches. Reported-by: Randy Dunlap Signed-off-by: Jonathan Corbet commit 62fc44536c14b5787531bac7417580fca54c88b4 Author: Peter Zijlstra Date: Thu Jun 4 16:53:49 2009 +0200 perf_counter tools: Use fork and remove munmap events Use fork events to clone comm and map data and remove everything munmap related Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit d99e9446200c1ffab28cb0e39b76c34a2bfafd06 Author: Peter Zijlstra Date: Thu Jun 4 17:08:58 2009 +0200 perf_counter: Remove munmap stuff In name of keeping it simple, only track mmap events. Userspace will have to remove old overlapping maps when it encounters them. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 60313ebed739b331e8e61079da27a11ee3b73a30 Author: Peter Zijlstra Date: Thu Jun 4 16:53:44 2009 +0200 perf_counter: Add fork event Create a fork event so that we can easily clone the comm and dso maps without having to generate all those events. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 0c0c9e7076b69f93678e4ec711e2bf237398e623 Author: Johannes Berg Date: Thu Jun 4 08:22:25 2009 +0200 wimax: depend on rfkill properly My mistake, I should have added that when cleaning up rfkill and changing wimax. Reported-by: Randy Dunlap Signed-off-by: Johannes Berg Acked-by: Inaky Perez-Gonzalez Signed-off-by: John W. Linville commit 2489e4ea6cfd1c0f3fe839f90363abccbbdb7745 Author: Christian Lamparter Date: Wed Jun 3 22:24:48 2009 +0200 ar9170: remove deprecated code This patch removes code (deprecated by "cfg80211: add rfkill support" ) main.c: In function 'ar9170_op_config': main.c:1306: warning: '__IEEE80211_CONF_CHANGE_RADIO_ENABLED' is deprecated (declared at include/net/mac80211.h:551) and a useless device state. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit c18bd87b65fa5f39abb0ab1b82bca416c23cb6dd Author: Reinette Chatre Date: Wed Jun 3 11:44:12 2009 -0700 iwlwifi: fix comment describing disable_11n Fixing a comment in the code describing this module parameter. The description printed when user runs "modinfo" is correct. Reported-by: Jiajia Zheng Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 13c33a09b3703c2956345482017600434c853889 Author: Wey-Yi Guy Date: Wed Jun 3 11:44:11 2009 -0700 iwlwifi: add value and range define for link quality command Instead of hardcoding the link quality parameters inside the functions, adding #define in iwl-commands.h to shared by different functions. Also include the valid range for number of link quality parameters. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 258c44a0c02a7ffbb9555747008d6bf9a3ea58a0 Author: Mohamed Abbas Date: Wed Jun 3 11:44:10 2009 -0700 iwlagn: delay ict interrupt. Wait until ucode is loaded and driver receive ALIVE_REPLY then switch to ICT interrupt. This ensures we receive all interrupts indicating successful ucode load. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ee5006a19c9e040d715efb75a6f4fa78764869ce Author: Abhijeet Kolekar Date: Wed Jun 3 11:44:09 2009 -0700 iwl3945/iwlwifi: fix led bug when SW rfkill Patch fixes the bug at http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1903 when SW rfkill is invoked by 'iwconfig txpower off', the existing connection disassociates and led off command is sent to the device which returns error as rfkill is 'true'. Patch fixes this by just avoiding sending the led off/on command when disassociated. The main purpose of the led_disassociate callback is to start or stop the blinking. There are three states in led 1) Always on when radio is on 2) Always off when radio is off 3) blink when associated and if there is some traffic. In this callback 'allow_blinking' needs to be set false when associated, as LED will be always on. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d14d44407b9f06e3cf967fcef28ccb780caf0583 Author: Abhijeet Kolekar Date: Wed Jun 3 11:44:08 2009 -0700 iwl3945: port allow skb allocation in tasklet patch Port "iwlcore: Allow skb allocation from tasklet." to 3945 If RX queue becomes empty then we need to restock the queue from tasklet to prevent ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should come from GFP_ATOMIC or GFP_KERNEL. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c587de0b8d6e194f7a1719fc6af8a81b4e8916d2 Author: Tomas Winkler Date: Wed Jun 3 11:44:07 2009 -0700 iwlwifi: unify station management This patch unifies 3945 and AGN station management It also removes useless struct iwl_station_mgmt ops and cleanups a bit the interface Signed-off-by: Tomas Winkler Tested-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a5e78820966e17c2316866e00047e4e7e5480f04 Author: Evgeniy Polyakov Date: Thu Jun 4 16:54:42 2009 +0200 netfilter: x_tables: added hook number into match extension parameter structure. Signed-off-by: Evgeniy Polyakov Signed-off-by: Patrick McHardy commit 20c84e959ec11b1803d2b2832eef703d5fbe7f7b Author: Ingo Molnar Date: Thu Jun 4 16:33:00 2009 +0200 perf stat: Update help text Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit edc52deac624e4641211a325c23da2a73b01a85d Author: Ingo Molnar Date: Thu Jun 4 16:24:37 2009 +0200 perf report: Bail out if there are unrecognized options/arguments Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 70fa9f2eadea7ca35bdcd89b20d555934593b40c Author: Jiri Kosina Date: Thu Jun 4 15:48:38 2009 +0200 HID: no more reinitializtion is needed in post_reset No more reinitialization is needed in the post reset hook, remove the FIXME comment. While at it, clean up whitespaces in the immediate surrounding. Signed-off-by: Jiri Kosina commit bbe281fad65f2eda1792d70763663a1b729fc03c Author: Jiri Kosina Date: Thu Jun 4 15:44:25 2009 +0200 HID: hidraw -- fix comment about accepted devices hidraw accepts any devices, no matter if the device has already been claimed by other HID driver (hid-input, hidraw), and this is intended to stay. Fix up the comment to reflect reality. Signed-off-by: Jiri Kosina commit 13d0ab5ec29852a6925f612830fa9e822669ece6 Author: Ingo Molnar Date: Thu Jun 4 15:40:25 2009 +0200 perf_counter tools: Dont output in color on !tty Dont emit ASCII color characters if the terminal is not a tty, such as when perf report gets redirected into a file. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 8fc0321f1ad0ffef969056dda91b453bbd7a494d Author: Ingo Molnar Date: Thu Jun 4 15:19:47 2009 +0200 perf_counter tools: Add color terminal output support Add Git's color printing library to util/color.[ch]. Add it to perf report, with a trivial example to print high-overhead entries in red, low-overhead entries in green. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit c11c22177ae2929598051a39e4655be4a42cb805 Author: dmitry pervushin Date: Thu Jun 4 13:51:05 2009 +0100 [ARM] 5539/1: Freescale STMP: onboard devices declaration Define onboard devices for Freescale STMP3xxx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit a50808b6c4e0e25a72314391d70479447e3ce092 Author: dmitry pervushin Date: Thu Jun 4 13:49:37 2009 +0100 [ARM] 5538/1: Freescale STMP: 378n registers definition Add register definitions for Freescale STMP 378n boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit fc3fdfd632925990f14cffe314f5d90a2b0ae8f6 Author: dmitry pervushin Date: Thu Jun 4 13:48:51 2009 +0100 [ARM] 5537/1: Freescale STMP: 37nn registers definition Add register definitions for Freescale STMP 37nn boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 71dd8945d8d827ab101cd287f9480ef22fc7c1b6 Author: Peter Zijlstra Date: Thu Jun 4 15:16:56 2009 +0200 perf report: Add consistent spacing rules Make the sort header and the print function have the same column width. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 336ff735425d2709c4bb3f2a55f7565e8170ce7a Author: Josh Boyer Date: Wed Jun 3 05:28:03 2009 +0000 powerpc/40x: Convert AMCC Kilauea/Halekala boards to ppc40x_simple This cleans up the kilauea/halekala board ports to use the ppc40x_simple platform support. Tested-by: Stefan Roese Signed-off-by: Josh Boyer commit 194ff1c3871307038f832b72a57e9ad13ff393ee Author: Josh Boyer Date: Wed Jun 3 05:24:12 2009 +0000 powerpc/40x: Convert AMCC Makalu board to ppc40x_simple This cleans up the makalu board port to use the ppc40x_simple platform support. Tested-by: Stefan Roese Signed-off-by: Josh Boyer commit 7b8d639cfc7967388d1cfe2a81e7e3c872a81a0d Author: Stefan Roese Date: Tue Apr 7 05:31:05 2009 +0000 powerpc/4xx: Sequoia: Enable NAND support Now that the 4xx NAND driver is available again in arch/powerpc, let's enable it on Sequoia. This patch also disables the early debug messages (CONFIG_PPC_EARLY_DEBUG) in the Sequoia defconfig. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 9d2c0f67c8cf8d2f34aa126da7b98d265d54017f Author: Sean MacLennan Date: Mon Feb 2 07:01:59 2009 +0000 i2c: Fix confusing i2c-ibm_iic message The i2c-ibm_iic driver printed messages in an odd order that seemed to list devices before the driver was probed. Here is an example: at24 0-0052: 512 byte 24c04 EEPROM (writable) ibm-iic ef600700.i2c: using standard (100 kHz) mode ad7414 0-004a: chip found This changes the order to print the i2c driver message before scanning for devices so that the logs show the driver, then the devices. Signed-off-by: Sean MacLennan Acked-by: Jean Delvare Signed-off-by: Josh Boyer commit e3509ff0fb9df53e45cd68488e3b463a80455db7 Author: Daniel Mack Date: Wed Jun 3 17:44:49 2009 +0200 ASoC: fix NULL pointer dereference in soc_suspend() In case the initalization of an soc_device failed, there is no codec associated with it. soc_suspend() will still dereference the pointer and cause an Ooops when entering the sleep mode. This happens on our board with a multi-target kernel image when booted on a machine without audio circuits. This patch makes the code bail out very early in this special case. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit 05ca061eb9704ad9b0739f88046276792b75f2c1 Author: Ingo Molnar Date: Thu Jun 4 14:21:16 2009 +0200 perf report: Print out the total number of events So that the statistical quality of the profile can be estimated at a glance. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 65f759831179bb8922f2a91a989487161d476a94 Author: Alexander Beregalov Date: Thu Jun 4 13:46:16 2009 +0400 ALSA: hda_intel: fix build error when !PM Fix this build error when CONFIG_PM is not set: ound/pci/hda/hda_intel.c: In function 'azx_bus_reset': sound/pci/hda/hda_intel.c:1270: error: implicit declaration of function 'snd_pcm_suspend_all' sound/pci/hda/hda_intel.c:1271: error: implicit declaration of function 'snd_hda_suspend' sound/pci/hda/hda_intel.c:1272: error: implicit declaration of function 'snd_hda_resume' Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai commit bd74137ec9aaca3df3ff22b92455fddf7afaced1 Author: Ingo Molnar Date: Thu Jun 4 14:13:04 2009 +0200 perf_counter tools: Print out symbol parsing errors only if --verbose Also, add a suggestion to 'perf report', if the default sort order is used. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit b767e78a179e5ab30fdbff1686d074ac270471eb Author: Aneesh Kumar K.V Date: Thu Jun 4 08:06:06 2009 -0400 ext4: Don't look at buffer_heads outside i_size. Buffer heads outside i_size will be unmapped. So when we are doing "walk_page_buffers" limit ourself to i_size. Signed-off-by: Aneesh Kumar K.V Reviewed-by: Josef Bacik Acked-by: Jan Kara Signed-off-by: "Theodore Ts'o" ---- commit e6462869e4fd88be5141a356ee0c28d8067340cc Author: Johann Lombardi Date: Sun Jul 5 23:45:11 2009 -0400 ext4: Fix goal inum check in the inode allocator The goal inode is specificed by inode number which belongs to [1; s_inodes_count]. Signed-off-by: Johann Lombardi Signed-off-by: "Theodore Ts'o" commit 5adfee9c17314c1411095c23191c3cb0c2d25f9f Author: Theodore Ts'o Date: Wed Jul 8 17:11:24 2009 -0400 ext4: fix no journal corruption with locale-gen If there is no journal, ext4_should_writeback_data() should return TRUE. This will fix ext4_set_aops() to set ext4_da_ops in the case of delayed allocation; otherwise ext4_journaled_aops gets used by default, which doesn't handle delayed allocation properly. The advantage of using ext4_should_writeback_data() approach is that it should handle nobh better as well. Thanks to Curt Wohlgemuth for investigating this problem, and Aneesh Kumar for suggesting this approach. Signed-off-by: "Theodore Ts'o" commit 5887e98b609e96ce61ee0528cf94a2bfdc809dd7 Author: Aneesh Kumar K.V Date: Sun Jul 5 23:12:04 2009 -0400 ext4: Calculate required journal credits for inserting an extent properly When we have space in the extent tree leaf node we should be able to insert the extent with much less journal credits. The code was doing proper calculation but missed a return statement. Reported-by: Andreas Dilger Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit ffacfa7a79d6c00624196b2d13b0a7f72f2b8227 Author: Jan Kara Date: Mon Jul 13 16:22:22 2009 -0400 ext4: Fix truncation of symlinks after failed write Contents of long symlinks is written via standard write methods. So when the write fails, we add inode to orphan list. But symlinks don't have .truncate method defined so nobody properly removes them from the on disk orphan list. Fix this by calling ext4_truncate() directly instead of calling vmtruncate() (which is saner anyway since we don't need anything vmtruncate() does except from calling .truncate in these paths). We also add inode to orphan list only if ext4_can_truncate() is true (currently, it can be false for symlinks when there are no blocks allocated) - otherwise orphan list processing will complain and ext4_truncate() will not remove inode from on-disk orphan list. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit f91d1d04171026e56c7e343ee3cdcc801dd85cfb Author: Jan Kara Date: Mon Jul 13 16:16:20 2009 -0400 jbd2: Fix a race between checkpointing code and journal_get_write_access() The following race can happen: CPU1 CPU2 checkpointing code checks the buffer, adds it to an array for writeback do_get_write_access() ... lock_buffer() unlock_buffer() flush_batch() submits the buffer for IO __jbd2_journal_file_buffer() So a buffer under writeout is returned from do_get_write_access(). Since the filesystem code relies on the fact that journaled buffers cannot be written out, it does not take the buffer lock and so it can modify buffer while it is under writeout. That can lead to a filesystem corruption if we crash at the right moment. We fix the problem by clearing the buffer dirty bit under buffer_lock even if the buffer is on BJ_None list. Actually, we clear the dirty bit regardless the list the buffer is in and warn about the fact if the buffer is already journalled. Thanks for spotting the problem goes to dingdinghua . Reported-by: dingdinghua Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 3e03f9ca6a2599db1823bb0ea24e0845219a0e69 Author: Jesper Dangaard Brouer Date: Sun Jul 5 22:29:27 2009 -0400 ext4: Use rcu_barrier() on module unload. The ext4 module uses rcu_call() thus it should use rcu_barrier()on module unload. The kmem cache ext4_pspace_cachep is sometimes free'ed using call_rcu() callbacks. Thus, we must wait for completion of call_rcu() before doing kmem_cache_destroy(). Signed-off-by: Jesper Dangaard Brouer Signed-off-by: "Theodore Ts'o" commit 726447d803802cd0be8f62d17c4a34421781b938 Author: Eric Sandeen Date: Mon Jul 13 10:24:17 2009 -0400 ext4: naturally align struct ext4_allocation_request As Ted noted, the ext4_allocation_request isn't well aligned. Looking at it with pahole we're wasting space on 64-bit arches: struct ext4_allocation_request { struct inode * inode; /* 0 8 */ ext4_lblk_t logical; /* 8 4 */ /* XXX 4 bytes hole, try to pack */ ext4_fsblk_t goal; /* 16 8 */ ext4_lblk_t lleft; /* 24 4 */ /* XXX 4 bytes hole, try to pack */ ext4_fsblk_t pleft; /* 32 8 */ ext4_lblk_t lright; /* 40 4 */ /* XXX 4 bytes hole, try to pack */ ext4_fsblk_t pright; /* 48 8 */ unsigned int len; /* 56 4 */ unsigned int flags; /* 60 4 */ /* --- cacheline 1 boundary (64 bytes) --- */ /* size: 64, cachelines: 1, members: 9 */ /* sum members: 52, holes: 3, sum holes: 12 */ }; Grouping 32-bit members together closes these holes and shrinks the structure by 12 bytes. which is important since ext4 can get on the hairy edge of stack overruns. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 089ceecc1ea4a69ed8bcc5c7c7b96ce487e26b33 Author: Eric Sandeen Date: Sun Jul 5 22:17:31 2009 -0400 ext4: mark several more functions in mballoc.c as noinline Ted noticed a stack-deep callchain through writepages->ext4_mb_regular_allocator->ext4_mb_init_cache->submit_bh ... With all the static functions in mballoc.c, gcc helpfully inlines for us, and we get something like this: ext4_mb_regular_allocator (232 bytes stack) ext4_mb_init_cache (232 bytes stack) submit_bh (starts 464 deeper) the 2 ext4 functions here get several others inlined; by telling gcc not to inline them, we can save stack space for when we head off into submit_bh land and associated block layer callchains. The following noinlined functions are only called once, so this won't impact any other callchains: ext4_mb_regular_allocator (104) (was 232) ext4_mb_find_by_goal (56) (noinlined) ext4_mb_init_group (24) (noinlined) ext4_mb_init_cache (136) (was 232) ext4_mb_generate_buddy (88) (noinlined) ext4_mb_generate_from_pa (40) (noinlined) submit_bh ext4_mb_simple_scan_group (24) (noinlined) ext4_mb_scan_aligned (56) (noinlined) ext4_mb_complex_scan_group (40) (noinlined) ext4_mb_try_best_found (24) (noinlined) now when we head off into submit_bh() we're only 264 bytes deeper in stack than when we entered ext4_mb_regular_allocator() (vs. 464 bytes before). Every 200 bytes helps. :) Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit f4a01017d678fe4baecf480e79d7c4f4b7ebc772 Author: Theodore Ts'o Date: Sun Jul 5 22:08:16 2009 -0400 ext4: Fix potential reclaim deadlock when truncating partial block The ext4_block_truncate_page() function previously called grab_cache_page(), which called find_or_create_page() with the __GFP_FS flag potentially set. This could cause a deadlock if the system is low on memory and it attempts a memory reclaim, which could potentially call back into ext4. So we need to call find_or_create_page() directly, and remove the __GFP_FP flag to avoid this potential deadlock. Thanks to Roland Dreier for reporting a lockdep warning which showed this problem. [20786.363249] ================================= [20786.363257] [ INFO: inconsistent lock state ] [20786.363265] 2.6.31-2-generic #14~rbd4gitd960eea9 [20786.363270] --------------------------------- [20786.363276] inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage. [20786.363285] http/8397 [HC0[0]:SC0[0]:HE1:SE1] takes: [20786.363291] (jbd2_handle){+.+.?.}, at: [] jbd2_journal_start+0xdb/0x150 [20786.363314] {IN-RECLAIM_FS-W} state was registered at: [20786.363320] [] mark_irqflags+0xc6/0x1a0 [20786.363334] [] __lock_acquire+0x287/0x430 [20786.363345] [] lock_acquire+0xa5/0x150 [20786.363355] [] jbd2_journal_start+0xfa/0x150 [20786.363365] [] ext4_journal_start_sb+0x58/0x90 [20786.363377] [] ext4_delete_inode+0xc5/0x2c0 [20786.363389] [] generic_delete_inode+0xd3/0x1a0 [20786.363401] [] generic_drop_inode+0x25/0x30 [20786.363411] [] iput+0x62/0x70 [20786.363420] [] dentry_iput+0x98/0x110 [20786.363429] [] d_kill+0x50/0x80 [20786.363438] [] dput+0x95/0x180 [20786.363447] [] ecryptfs_d_release+0x2b/0x70 [20786.363459] [] d_free+0x28/0x60 [20786.363468] [] d_kill+0x68/0x80 [20786.363477] [] prune_one_dentry+0xa3/0xc0 [20786.363487] [] __shrink_dcache_sb+0x271/0x290 [20786.363497] [] prune_dcache+0x109/0x1b0 [20786.363506] [] shrink_dcache_memory+0x3f/0x50 [20786.363516] [] shrink_slab+0x12d/0x190 [20786.363527] [] balance_pgdat+0x4d7/0x640 [20786.363537] [] kswapd+0x117/0x170 [20786.363546] [] kthread+0x9e/0xb0 [20786.363558] [] child_rip+0xa/0x20 [20786.363569] [] 0xffffffffffffffff [20786.363598] irq event stamp: 15997 [20786.363603] hardirqs last enabled at (15997): [] kmem_cache_alloc+0xfd/0x1a0 [20786.363617] hardirqs last disabled at (15996): [] kmem_cache_alloc+0x61/0x1a0 [20786.363628] softirqs last enabled at (15966): [] __do_softirq+0x14a/0x220 [20786.363641] softirqs last disabled at (15861): [] call_softirq+0x1c/0x30 [20786.363651] [20786.363653] other info that might help us debug this: [20786.363660] 3 locks held by http/8397: [20786.363665] #0: (&sb->s_type->i_mutex_key#8){+.+.+.}, at: [] do_truncate+0x64/0x90 [20786.363685] #1: (&sb->s_type->i_alloc_sem_key#5){+++++.}, at: [] notify_change+0x250/0x350 [20786.363707] #2: (jbd2_handle){+.+.?.}, at: [] jbd2_journal_start+0xdb/0x150 [20786.363724] [20786.363726] stack backtrace: [20786.363734] Pid: 8397, comm: http Tainted: G C 2.6.31-2-generic #14~rbd4gitd960eea9 [20786.363741] Call Trace: [20786.363752] [] print_usage_bug+0x18c/0x1a0 [20786.363763] [] ? check_usage_backwards+0x0/0xb0 [20786.363773] [] mark_lock_irq+0xf2/0x280 [20786.363783] [] mark_lock+0x137/0x1d0 [20786.363793] [] mark_held_locks+0x6c/0xa0 [20786.363803] [] lockdep_trace_alloc+0xaf/0xe0 [20786.363813] [] __alloc_pages_nodemask+0x7c/0x180 [20786.363824] [] ? find_get_page+0x91/0xf0 [20786.363835] [] alloc_pages_current+0x87/0xd0 [20786.363845] [] __page_cache_alloc+0x67/0x70 [20786.363856] [] find_or_create_page+0x4f/0xb0 [20786.363867] [] ext4_block_truncate_page+0x3e/0x460 [20786.363876] [] ? jbd2_journal_start+0xfa/0x150 [20786.363885] [] ? jbd2_journal_start+0xdb/0x150 [20786.363895] [] ? ext4_meta_trans_blocks+0x75/0xf0 [20786.363905] [] ext4_ext_truncate+0x1bb/0x1e0 [20786.363916] [] ? unmap_mapping_range+0x75/0x290 [20786.363926] [] ext4_truncate+0x498/0x630 [20786.363938] [] ? _raw_spin_unlock+0x5e/0xb0 [20786.363947] [] ? unmap_mapping_range+0xb6/0x290 [20786.363957] [] ? trace_hardirqs_on+0xd/0x10 [20786.363966] [] ? jbd2_journal_stop+0x1f8/0x2e0 [20786.363976] [] vmtruncate+0xb0/0x110 [20786.363986] [] inode_setattr+0x35/0x170 [20786.363995] [] ext4_setattr+0x186/0x370 [20786.364005] [] notify_change+0x16b/0x350 [20786.364014] [] do_truncate+0x70/0x90 [20786.364021] [] T.657+0xeb/0x110 [20786.364021] [] sys_ftruncate+0xe/0x10 [20786.364021] [] system_call_fastpath+0x16/0x1b Reported-by: Roland Dreier Signed-off-by: "Theodore Ts'o" commit b574480507460b8e31b8d38dd4642219fc3b9a10 Author: Theodore Ts'o Date: Sat Jun 20 23:34:44 2009 -0400 jbd2: Remove GFP_ATOMIC kmalloc from inside spinlock critical region Fix jbd2_dev_to_name(), a function used when pretty-printting jbd2 and ext4 tracepoints. Signed-off-by: "Theodore Ts'o" commit 627ad9fd0733f0a31a266ff98a4a933eee710f0b Author: Theodore Ts'o Date: Sat Jun 20 23:21:41 2009 -0400 ext4: Fix type warning on 64-bit platforms in tracing events header Signed-off-by: "Theodore Ts'o" commit 95ed6fd06e52bf850cd17524f0b36ed14300c10d Author: Peter Zijlstra Date: Thu Jun 4 15:00:45 2009 +0200 perf report: Simplify symbol output The DSO can be printed already - no need to repeat it in the symbol field. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit af794b94ae8a16fb4a9da6ce640c122efb44e2a0 Author: Ingo Molnar Date: Thu Jun 4 13:58:13 2009 +0200 perf_counter tools: Build with native optimization Build the tools with -march=native by default. No measurable difference in speed though, compared to the default, on a Nehalem testbox. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 64edbc562034f2ec3fce382cb208fab40586d005 Merge: 43bd123 0f6ce3d Author: Ingo Molnar Date: Thu Jun 4 13:59:26 2009 +0200 Merge branch 'tracing/ftrace' into tracing/core Merge reason: this mini-topic had outstanding problems that delayed its merge, so it does not fast-forward. Signed-off-by: Ingo Molnar commit b962442e46a9340bdbc6711982c59ff0cc2b5afb Author: Eric Anholt Date: Wed Jun 3 07:27:35 2009 +0000 drm/i915: Change GEM throttling to be 20ms like the comment says. keithp didn't like the original 20ms plan because a cooperative client could be starved by an uncooperative client. There may even have been problems with cooperative clients versus cooperative clients. So keithp changed throttle to just wait for the second to last seqno emitted by that client. It worked well, until we started getting more round-trips to the server due to DRI2 -- the server throttles in BlockHandler, and so if you did more than one round trip after finishing your frame, you'd end up unintentionally syncing to the swap. Fix this by keeping track of the client's requests, so the client can wait when it has an outstanding request over 20ms old. This should have non-starving behavior, good behavior in the presence of restarts, and less waiting. Improves high-settings openarena performance on my GM45 by 50%. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit 1fd1c624362819ecc36db2458c6a972c48ae92d6 Author: Eric Anholt Date: Wed Jun 3 07:26:58 2009 +0000 drm/i915: Save/restore cursor state on suspend/resume. This may fix cursor corruption in X on resume, which would persist until the cursor was hidden and then shown again. V2: Also include the cursor control regs. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit df97992c6e25ffc66c549c8bc59262dc627c6d17 Author: Ingo Molnar Date: Thu Jun 4 13:41:22 2009 +0200 perf record/report: Fix PID/COMM handling Fix two bugs causing lost comm mappings: - initial PID is not 0 but getpid() - when we are unable to handle an mmap event, dont assume the event itself is broken - try to parse the stream. This way we wont lose comm events. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 48c72fccbfb1db01b5d0b98baff4442fea50d7a4 Author: Magnus Damm Date: Thu Jun 4 20:20:24 2009 +0900 sh: 16-bit get_unaligned() sh4a fix This patch fixes the 16-bit case of the sh4a specific unaligned access implementation. Without this patch the 16-bit version of sh4a get_unaligned() results in a 32-bit read which may read more data than intended and/or cross page boundaries. Unbreaks mtd NOR write handling on Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3aff27ca84fa94311ae99189e54fed8d83b69fc1 Author: Yong Wang Date: Wed Jun 3 16:42:25 2009 +0800 perf_counter: Documentation update The 'nmi' bit is no longer there. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Arjan van de Ven LKML-Reference: <20090603084225.GA6553@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit 1b58c2515be48d5df79d20210ac5a86e30094de2 Author: Paul Mackerras Date: Thu Jun 4 09:49:59 2009 +1000 perf_counter: powerpc: Use new identifier names in powerpc-specific code Commit b23f3325 ("perf_counter: Rename various fields") fixed up most of the uses of the renamed fields, but missed one instance of "record_type" in powerpc-specific code which needs to be changed to "sample_type", and a "PERF_RECORD_ADDR" in the same statement that needs to be changed to "PERF_SAMPLE_ADDR", causing compilation errors on powerpc. This fixes it. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18983.3111.770392.800486@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 82ced6fd28653ab456c3e5b25e9ef3c1c96cd6e9 Author: Jean Delvare Date: Thu Jun 4 10:46:43 2009 +0200 ALSA: Add missing __devexit_p() markers 3 ISA sound drivers lack their __devexit_p() markers, which would cause build failures when the kernel is built without hotplug support. Signed-off-by: Jean Delvare Cc: Kyle McMartin Signed-off-by: Takashi Iwai commit d08664fdb50795b29cf70b0269ea02f7248e76c3 Author: Takashi Iwai Date: Thu Jun 4 09:58:18 2009 +0200 ASoC: Fix build error in twl4030.c Fix the (likely cut-n-paste) error by commit 16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9, which causes the error below: sound/soc/codecs/twl4030.c: In function 'twl4030_read_reg_cache': sound/soc/codecs/twl4030.c:152: error: 'cache' undeclared (first use in this function) Signed-off-by: Takashi Iwai commit bcb86975dbcc24f820f1a37918d53914af29ace7 Author: Tetsuo Handa Date: Thu Jun 4 15:14:34 2009 +0900 TOMOYO: Remove unused parameter. TOMOYO 2.2.0 does not check argv[] and envp[] upon execve(). We don't need to pass "struct tomoyo_page_buffer". Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 8c032ec337bdf6ca9b083345b265130a55100b69 Author: Daniel Schaeffer Date: Wed Jun 3 17:23:54 2009 -0400 mxc: Add i.MX27LITE board support Sascha Hauer wrote: > On Tue, Jun 02, 2009 at 04:18:42PM -0400, Daniel Schaeffer wrote: >> Add basic support for the Logic i.MX27LITE board. >> >> Signed-off-by: Daniel Schaeffer > > Besides the comment made by Fabio this looks ok to me. > > Sascha > > Fixed issues pointed out by Fabio and Magnus, and rebased to mxc-master head. Signed-off-by: Daniel Schaeffer Signed-off-by: Sascha Hauer commit 6e53cdf11dfc8d302ebb67e7112d1baf8d7c66d4 Author: Ingo Molnar Date: Thu Jun 4 08:53:05 2009 +0200 perf top: Reduce default filter threshold On idle systems 'perf top' comes up empty by default, because the event count filter is set to 100. Reduce it to 5 instead. Also add an option to limit the number of functions displayed. Reported-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit a4c43beaff0fe6c83aa2505dce8ffe65db8e0a33 Author: Arnaldo Carvalho de Melo Date: Wed Jun 3 23:02:33 2009 -0300 perf report: Fix rbtree bug Ingo Molnar reported: > FYI, i just got this crash (segfault) in perf report after > collecting a long profile from Xorg: > > Starting program: /home/mingo/tip/Documentation/perf_counter/perf report > [Thread debugging using libthread_db enabled] > Detaching after fork from child process 20008. > [New Thread 0x7f92fd62a6f0 (LWP 20005)] > > Program received signal SIGSEGV, Segmentation fault. > 0x000000000041031a in __rb_erase_color (node=0x142c090, parent=0x0, > root=0x881918) > at util/rbtree.c:143 > 143 if (parent->rb_left == node) It was a problem introduced in this cset: perf report: Fix comm sorting - 8229289b607682f90b946ad2c319526303c17700 This patch should fix it. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 5c726166692449dfd570bf4497d427f1ea200ad3 Author: Chaithrika U S Date: Wed Jun 3 21:54:29 2009 -0700 TI DaVinci EMAC: Remove print_mac, DECLARE_MAC_BUF Use printk format specifier for MAC address. Remove DECALRE_MAC_BUF and print_mac() usage in the driver. Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit c722c625dbe2758d53365c0ed7d401b0e286f2cf Author: Herbert Xu Date: Wed Jun 3 21:45:55 2009 -0700 tun: Only wake up writers When I added socket accounting to tun I inadvertently introduced spurious wake-up events that kills qemu performance. The problem occurs when qemu polls on the tun fd for read, and then transmits packets. For each packet transmitted, we will wake up qemu even if it only cares about read events. Now this affects all sockets, but it is only a new problem for tun. So this patch tries to fix it for tun first and we can then look at the problem in general. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a8c617eae4dc2ea9f3d64472233f2d3dc3c9993c Merge: 2307f86 c6ba68a Author: David S. Miller Date: Wed Jun 3 21:43:52 2009 -0700 Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev commit 2307f866f542f3397d24f78d0efd74f4ab214a96 Author: Rami Rosen Date: Wed Jun 3 21:43:26 2009 -0700 ipv4: remove ip_mc_drop_socket() declaration from af_inet.c. ip_mc_drop_socket() method is declared in linux/igmp.h, which is included anyhow in af_inet.c. So there is no need for this declaration. This patch removes it from af_inet.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 278b2513f76161a9cf1ebddd620dc9d1714fe573 Author: Herbert Xu Date: Wed Jun 3 21:20:51 2009 -0700 gso: Stop fraglists from escaping As it stands skb fraglists can get past the check in dev_queue_xmit if the skb is marked as GSO. In particular, if the packet doesn't have the proper checksums for GSO, but can otherwise be handled by the underlying device, we will not perform the fraglist check on it at all. If the underlying device cannot handle fraglists, then this will break. The fix is as simple as moving the fraglist check from the device check into skb_gso_ok. This has caused crashes with Xen when used together with GRO which can generate GSO packets with fraglists. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 56c8f140719e6f62836fb645d3fd96c6289907fb Author: Divy Le Ray Date: Wed Jun 3 06:19:15 2009 +0000 cxgb3: minor aq100x phy fixes Use generic MDIO generic values. Based on Ben Hutchings'review comments. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 6ba5f9c74365263db161941b1e7467cdba06a5fe Author: Divy Le Ray Date: Wed Jun 3 13:38:59 2009 +0000 cxgb3: Update FW to 7.4.0 Update FW to 7.4. Bump up driver revision. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 06c59bb896ce23c56829f6acf667faebd51dd3b8 Author: Tao Ma Date: Tue May 19 06:47:20 2009 +0800 ocfs2: Remove redundant gotos in ocfs2_mount_volume() Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 73be192b17e43b6dc4f492dab41d70ab5b9d2908 Author: Joel Becker Date: Tue Jan 6 14:57:08 2009 -0800 ocfs2: Add statistics for the checksum and ecc operations. It would be nice to know how often we get checksum failures. Even better, how many of them we can fix with the single bit ecc. So, we add a statistics structure. The structure can be installed into debugfs wherever the user wants. For ocfs2, we'll put it in the superblock-specific debugfs directory and pass it down from our higher-level functions. The stats are only registered with debugfs when the filesystem supports metadata ecc. Signed-off-by: Joel Becker commit 15633a220ffe74fc61bc8117e6a89a494011ea3d Author: Srinivas Eeda Date: Wed Jun 3 17:02:56 2009 -0700 ocfs2 patch to track delayed orphan scan timer statistics Patch to track delayed orphan scan timer statistics. Modifies ocfs2_osb_dump to print the following: Orphan Scan=> Local: 10 Global: 21 Last Scan: 67 seconds ago Signed-off-by: Srinivas Eeda Signed-off-by: Joel Becker commit 83273932fbefb6ceef9c0b82ac4d23900728f4d9 Author: Srinivas Eeda Date: Wed Jun 3 17:02:55 2009 -0700 ocfs2: timer to queue scan of all orphan slots When a dentry is unlinked, the unlinking node takes an EX on the dentry lock before moving the dentry to the orphan directory. Other nodes that have this dentry in cache have a PR on the same dentry lock. When the EX is requested, the other nodes flag the corresponding inode as MAYBE_ORPHANED during downconvert. The inode is finally deleted when the last node to iput the inode sees that i_nlink==0 and the MAYBE_ORPHANED flag is set. A problem arises if a node is forced to free dentry locks because of memory pressure. If this happens, the node will no longer get downconvert notifications for the dentries that have been unlinked on another node. If it also happens that node is actively using the corresponding inode and happens to be the one performing the last iput on that inode, it will fail to delete the inode as it will not have the MAYBE_ORPHANED flag set. This patch fixes this shortcoming by introducing a periodic scan of the orphan directories to delete such inodes. Care has been taken to distribute the workload across the cluster so that no one node has to perform the task all the time. Signed-off-by: Srinivas Eeda Signed-off-by: Joel Becker commit edd45c08499a3e9d4c25431cd2b6a9ce5f692c92 Author: Jan Kara Date: Tue Jun 2 14:24:03 2009 +0200 ocfs2: Correct ordering of ip_alloc_sem and localloc locks for directories We use ordering ip_alloc_sem -> local alloc locks in ocfs2_write_begin(). So change lock ordering in ocfs2_extend_dir() and ocfs2_expand_inline_dir() to also use this lock ordering. Signed-off-by: Jan Kara Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit 80d73f15d12f087f3fe074f8a4d6e5c5624f2b47 Author: Jan Kara Date: Tue Jun 2 14:24:02 2009 +0200 ocfs2: Fix possible deadlock in quota recovery In ocfs2_finish_quota_recovery() we acquired global quota file lock and started recovering local quota file. During this process we need to get quota structures, which calls ocfs2_dquot_acquire() which gets global quota file lock again. This second lock can block in case some other node has requested the quota file lock in the mean time. Fix the problem by moving quota file locking down into the function where it is really needed. Then dqget() or dqput() won't be called with the lock held. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 65bac575e35915801ea518b9d8d8824367d125c8 Author: Jan Kara Date: Tue Jun 2 14:24:01 2009 +0200 ocfs2: Fix possible deadlock with quotas in ocfs2_setattr() We called vfs_dq_transfer() with global quota file lock held. This can lead to deadlocks as if vfs_dq_transfer() has to allocate new quota structure, it calls ocfs2_dquot_acquire() which tries to get quota file lock again and this can block if another node requested the lock in the mean time. Since we have to call vfs_dq_transfer() with transaction already started and quota file lock ranks above the transaction start, we cannot just rely on ocfs2_dquot_acquire() or ocfs2_dquot_release() on getting the lock if they need it. We fix the problem by acquiring pointers to all quota structures needed by vfs_dq_transfer() already before calling the function. By this we are sure that all quota structures are properly allocated and they can be freed only after we drop references to them. Thus we don't need quota file lock anywhere inside vfs_dq_transfer(). Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit b4c30de39a2596503e888a7b47d19792f25913d6 Author: Jan Kara Date: Tue Jun 2 14:24:00 2009 +0200 ocfs2: Fix lock inversion in ocfs2_local_read_info() This function is called with dqio_mutex held but it has to acquire lock from global quota file which ranks above this lock. This is not deadlockable lock inversion since this code path is take only during mount when noone else can race with us but let's clean this up to silence lockdep. We just drop the dqio_mutex in the beginning of the function and reacquire it in the end since we don't need it - noone can race with us at this moment. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit 4e8a301929bfa017e6ffe11e3cf78ccaf8492801 Author: Jan Kara Date: Tue Jun 2 14:23:59 2009 +0200 ocfs2: Fix possible deadlock in ocfs2_global_read_dquot() It is not possible to get a read lock and then try to get the same write lock in one thread as that can block on downconvert being requested by other node leading to deadlock. So first drop the quota lock for reading and only after that get it for writing. Signed-off-by: Jan Kara Signed-off-by: Joel Becker commit e0a94c2a63f2644826069044649669b5e7ca75d3 Author: Christoph Lameter Date: Wed Jun 3 16:04:31 2009 -0400 security: use mmap_min_addr indepedently of security models This patch removes the dependency of mmap_min_addr on CONFIG_SECURITY. It also sets a default mmap_min_addr of 4096. mmapping of addresses below 4096 will only be possible for processes with CAP_SYS_RAWIO. Signed-off-by: Christoph Lameter Acked-by: Eric Paris Looks-ok-by: Linus Torvalds Signed-off-by: James Morris commit 5fdc18d938c99399b73fe894bc24cb9400a1a2ee Author: Jaroslav Kysela Date: Thu Jun 4 00:12:18 2009 +0200 ALSA: Core - clean up snd_card_set_id* calls and remove possible id collision Move locking outside snd_card_set_id_internal() function and rename it to snd_card_set_id_no_lock() for better function description. User defined id is just copied to card structure at allocation time. The real unique id procedure is called in snd_card_register() to ensure real atomicity. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 018df41861475595a51d327b83fb5830462f7a53 Author: Hector Martin Date: Thu Jun 4 00:13:40 2009 +0200 ALSA: hda - More Aspire 8930G fixes Enable all three capture channels, including the missing nid 7 which is the only one capable of capturing DMIC input Enable Headphone amp for the HP jack. This causes a volume boost for headphones, but does not cause any noticeable effect for light loads like other amps, so there is no need to make it configurable. Add Input Mix capture mux setting to capture the output of the playback input mux (that is, what goes out the speakers except for PCM) Hack another coef register because the stereo DMIC for some reason produces a nonstandard sum/difference signal. I found a bit to make it just use the sum signal for both channels, which makes it behave like a standard mono microphone. The stereo is useless anyway (they're 1cm apart). Tested working: Three capture channels, mic in, line in, DMIC. Tested not working: CD. Not sure why, might be unconnected in the actual hardware or a CD drive issue. Also looked at SPDIF. It appears to work (emitter lights up inside the HP out jack) but I lack a proper miniTOSLINK cable to test it. Signed-off-by: Hector Martin Signed-off-by: Takashi Iwai commit 13be1bf1467e3186a4a9d1b1276cc4bd31e472ea Author: Roel Kluin Date: Thu Jun 4 01:53:21 2009 +0200 ALSA: burgundy: timeout message is off by one. Timeout message is off by one. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 0b8e58a140cae2ba1c4a21ccae7c6c3c939c51f9 Author: Andreas Dilger Date: Wed Jun 3 17:59:28 2009 -0400 ext4: super.c whitespace cleanup Cleanup of whitespace and formatting. Initially driven by confusing indents for the ext4_{block,inode}_bitmap() et. al. helper routines, but figured I'd cleanup some other 80-column wrapping and other indenting problems at the same time. Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" commit bfcd3555af478dbf04c87adc9bb1a739d0a6ccff Author: Alberto Bertogli Date: Tue Jun 9 00:06:20 2009 -0400 jbd2: Fix minor typos in comments in fs/jbd2/journal.c Signed-off-by: Alberto Bertogli Signed-off-by: Theodore Ts'o commit 8051dbd2dfd1427cc102888d7d96bf39de0be150 Author: Hidetoshi Seto Date: Tue Jun 2 16:53:23 2009 +0900 x86, mce: fix for mce counters Make the MCE counters work on 32bit and add poll count in arch_irq_stat_cpu. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9b1beaf2b551a8a1604f104025b24e9c535c8963 Author: Andi Kleen Date: Wed May 27 21:56:59 2009 +0200 x86, mce: support action-optional machine checks Newer Intel CPUs support a new class of machine checks called recoverable action optional. Action Optional means that the CPU detected some form of corruption in the background and tells the OS about using a machine check exception. The OS can then take appropiate action, like killing the process with the corrupted data or logging the event properly to disk. This is done by the new generic high level memory failure handler added in a earlier patch. The high level handler takes the address with the failed memory and does the appropiate action, like killing the process. In this version of the patch the high level handler is stubbed out with a weak function to not create a direct dependency on the hwpoison branch. The high level handler cannot be directly called from the machine check exception though, because it has to run in a defined process context to be able to sleep when taking VM locks (it is not expected to sleep for a long time, just do so in some exceptional cases like lock contention) Thus the MCE handler has to queue a work item for process context, trigger process context and then call the high level handler from there. This patch adds two path to process context: through a per thread kernel exit notify_user() callback or through a high priority work item. The first runs when the process exits back to user space, the other when it goes to sleep and there is no higher priority process. The machine check handler will schedule both, and whoever runs first will grab the event. This is done because quick reaction to this event is critical to avoid a potential more fatal machine check when the corruption is consumed. There is a simple lock less ring buffer to queue the corrupted addresses between the exception handler and the process context handler. Then in process context it just calls the high level VM code with the corrupted PFNs. The code adds the required code to extract the failed address from the CPU's machine check registers. It doesn't try to handle all possible cases -- the specification has 6 different ways to specify memory address -- but only the linear address. Most of the required checking has been already done earlier in the mce_severity rule checking engine. Following the Intel recommendations Action Optional errors are only enabled for known situations (encoded in MCACODs). The errors are ignored otherwise, because they are action optional. v2: Improve comment, disable preemption while processing ring buffer (reported by Ying Huang) Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8fa8dd9e3aafb7b440b7d54219891615abc6390e Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: define MCE_VECTOR Add MCE_VECTOR for the #MC exception. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 9ff36ee9668ff41ec3274597c730524645929b0f Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: rename mce_notify_user to mce_notify_irq Rename the mce_notify_user function to mce_notify_irq. The next patch will split the wakeup handling of interrupt context and of process context and it's better to give it a clearer name for this. Contains a fix from Ying Huang [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Cc: Huang Ying Signed-off-by: H. Peter Anvin commit 4ef702c10b5df18ab04921fc252c26421d4d6c75 Author: Andi Kleen Date: Wed May 27 21:56:52 2009 +0200 x86: fix panic with interrupts off (needed for MCE) For some time each panic() called with interrupts disabled triggered the !irqs_disabled() WARN_ON in smp_call_function(), producing ugly backtraces and confusing users. This is a common situation with machine checks for example which tend to call panic with interrupts disabled, but will also hit in other situations e.g. panic during early boot. In fact it means that panic cannot be called in many circumstances, which would be bad. This all started with the new fancy queued smp_call_function, which is then used by the shutdown path to shut down the other CPUs. On closer examination it turned out that the fancy RCU smp_call_function() does lots of things not suitable in a panic situation anyways, like allocating memory and relying on complex system state. I originally tried to patch this over by checking for panic there, but it was quite complicated and the original patch was also not very popular. This also didn't fix some of the underlying complexity problems. The new code in post 2.6.29 tries to patch around this by checking for oops_in_progress, but that is not enough to make this fully safe and I don't think that's a real solution because panic has to be reliable. So instead use an own vector to reboot. This makes the reboot code extremly straight forward, which is definitely a big plus in a panic situation where it is important to avoid relying on too much kernel state. The new simple code is also safe to be called from interupts off region because it is very very simple. There can be situations where it is important that panic is reliable. For example on a fatal machine check the panic is needed to get the system up again and running as quickly as possible. So it's important that panic is reliable and all function it calls simple. This is why I came up with this simple vector scheme. It's very hard to beat in simplicity. Vectors are not particularly precious anymore since all big systems are using per CPU vectors. Another possibility would have been to use an NMI similar to kdump, but there is still the problem that NMIs don't work reliably on some systems due to BIOS issues. NMIs would have been able to stop CPUs running with interrupts off too. In the sake of universal reliability I opted for using a non NMI vector for now. I put the reboot vector into the highest priority bucket of the APIC vectors and moved the 64bit UV_BAU message down instead into the next lower priority. [ Impact: bug fix, fixes an old regression ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4611a6fa4b37cf6b8b6066ed0d605c994c62a1a0 Author: Huang Ying Date: Wed May 27 21:56:57 2009 +0200 x86, mce: export MCE severities coverage via debugfs The MCE severity judgement code is data-driven, so code coverage tools such as gcov can not be used for measuring coverage. Instead a dedicated coverage mechanism is implemented. The kernel keeps track of rules executed and reports them in debugfs. This is useful for increasing coverage of the mce-test testsuite. Right now it's unconditionally enabled because it's very little code. Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ed7290d0ee8f81aa78bfe816f01b012f208cafc5 Author: Andi Kleen Date: Wed May 27 21:56:57 2009 +0200 x86, mce: implement new status bits The x86 architecture recently added some new machine check status bits: S(ignalled) and AR (Action-Required). Signalled allows to check if a specific event caused an exception or was just logged through CMCI. AR allows the kernel to decide if an event needs immediate action or can be delayed or ignored. Implement support for these new status bits. mce_severity() uses the new bits to grade the machine check correctly and decide what to do. The exception handler uses AR to decide to kill or not. The S bit is used to separate events between the poll/CMCI handler and the exception handler. Classical UC always leads to panic. That was true before anyways because the existing CPUs always passed a PCC with it. Also corrects the rules whether to kill in user or kernel context and how to handle missing RIPV. The machine check handler largely uses the mce-severity grading engine now instead of making its own decisions. This means the logic is centralized in one place. This is useful because it has to be evaluated multiple times. v2: Some rule fixes; Add AO events Fix RIPV, RIPV|EIPV order (Ying Huang) Fix UCNA with AR=1 message (Ying Huang) Add comment about panicing in m_c_p. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 86503560e48153aba539ff117450d31ab2ef76d7 Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: print header/footer only once for multiple MCEs When multiple MCEs are printed print the "HARDWARE ERROR" header and "This is not a software error" footer only once. This makes the output much more compact with many CPUs. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 29b0f591d678838435fbb3e15ef20266f1a9e01d Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: default to panic timeout for machine checks Fatal machine checks can be logged to disk after boot, but only if the system did a warm reboot. That's unfortunately difficult with the default panic behaviour, which waits forever and the admin has to press the power button because modern systems usually miss a reset button. This clears the machine checks in the registers and make it impossible to log them. This patch changes the default for machine check panic to always reboot after 30s. Then the mce can be successfully logged after reboot. I believe this will improve machine check experience for any system running the X server. This is dependent on successfull boot logging of MCEs. This currently only works on Intel systems, on AMD there are quite a lot of systems around which leave junk in the machine check registers after boot, so it's disabled here. These systems will continue to default to endless waiting panic. v2: Only force panic timeout when it's shorter (H.Seto) v3: Only force timeout when there is no timeout (based on comment H.Seto) [ Fix changelog - HS ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1b2797dcc9f0ad89bc382ace26c6baafbc7e33c2 Author: Huang Ying Date: Wed May 27 21:56:51 2009 +0200 x86, mce: improve mce_get_rip Assume IP on the stack is valid when either EIPV or RIPV are set. This influences whether the machine check exception handler decides to return or panic. This fixes a test case in the mce-test suite and is more compliant to the specification. This currently only makes a difference in a artificial testing scenario with the mce-test test suite. Also in addition do not force the EIPV to be valid with the exact register MSRs, and keep in trust the CS value on stack even if MSR is available. [AK: combination of patches from Huang Ying and Hidetoshi Seto, with new description by me] [add some description, no code changed - HS] Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ac9603754dc7e286e62ae4f1067958d5b0075f99 Author: Andi Kleen Date: Wed May 27 21:56:58 2009 +0200 x86, mce: make non Monarch panic message "Fatal machine check" too ... instead of "Machine check". This is for consistency with the Monarch panic message. Based on a report from Ying Huang. v2: But add a descriptive postfix so that the test suite can distingush. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3c0797925f4ef9d55a32059d2af61a9c262e639d Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: switch x86 machine check handler to Monarch election. On Intel platforms machine check exceptions are always broadcast to all CPUs. This patch makes the machine check handler synchronize all these machine checks, elect a Monarch to handle the event and collect the worst event from all CPUs and then process it first. This has some advantages: - When there is a truly data corrupting error the system panics as quickly as possible. This improves containment of corrupted data and makes sure the corrupted data never hits stable storage. - The panics are synchronized and do not reenter the panic code on multiple CPUs (which currently does not handle this well). - All the errors are reported. Currently it often happens that another CPU happens to do the panic first, but reports useless information (empty machine check) because the real error happened on another CPU which came in later. This is a big advantage on Nehalem where the 8 threads per CPU lead to often the wrong CPU winning the race and dumping useless information on a machine check. The problem also occurs in a less severe form on older CPUs. - The system can detect when no CPUs detected a machine check and shut down the system. This can happen when one CPU is so badly hung that that it cannot process a machine check anymore or when some external agent wants to stop the system by asserting the machine check pin. This follows Intel hardware recommendations. - This matches the recommended error model by the CPU designers. - The events can be output in true severity order - When a panic happens on another CPU it makes sure to be actually be able to process the stop IPI by enabling interrupts. The code is extremly careful to handle timeouts while waiting for other CPUs. It can't rely on the normal timing mechanisms (jiffies, ktime_get) because of its asynchronous/lockless nature, so it uses own timeouts using ndelay() and a "SPINUNIT" The timeout is configurable. By default it waits for upto one second for the other CPUs. This can be also disabled. From some informal testing AMD systems do not see to broadcast machine checks, so right now it's always disabled by default on non Intel CPUs or also on very old Intel systems. Includes fixes from Ying Huang Fixed a "ecception" in a comment (H.Seto) Moved global_nwo reset later based on suggestion from H.Seto v2: Avoid duplicate messages [ Impact: feature, fixes long standing problems. ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit f94b61c2c9fdcc90773c49df9ccf9ede3ad0d7db Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: implement panic synchronization In some circumstances multiple CPUs can enter mce_panic() in parallel. This gives quite confused output because they will all dump the same machine check buffer. The other problem is that they would all panic in parallel, but not process each other's shutdown IPIs because interrupts are disabled. Detect this situation early on in mce_panic(). On the first CPU entering will do the panic, the others will just wait to be killed. For paranoia reasons in case the other CPU dies during the MCE I added a 5 seconds timeout. If it expires each CPU will panic on its own again. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ccc3c3192ae78dd56dcdf5353fd1a9ef5f9a3e2b Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: implement bootstrapping for machine check wakeups Machine checks support waking up the mcelog daemon quickly. The original wake up code for this was pretty ugly, relying on a idle notifier and a special process flag. The reason it did it this way is that the machine check handler is not subject to normal interrupt locking rules so it's not safe to call wake_up(). Instead it set a process flag and then either did the wakeup in the syscall return or in the idle notifier. This patch adds a new "bootstraping" method as replacement. The idea is that the handler checks if it's in a state where it is unsafe to call wake_up(). If it's safe it calls it directly. When it's not safe -- that is it interrupted in a critical section with interrupts disables -- it uses a new "self IPI" to trigger an IPI to its own CPU. This can be done safely because IPI triggers are atomic with some care. The IPI is raised once the interrupts are reenabled and can then safely call wake_up(). When APICs are disabled the event is just queued and will be picked up eventually by the next polling timer. I think that's a reasonable compromise, since it should only happen quite rarely. Contains fixes from Ying Huang. [ solve conflict on irqinit, make it work on 32bit (entry_arch.h) - HS ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit bd19a5e6b73df276e1ccedf9059e9ee70c372d7d Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: check early in exception handler if panic is needed The exception handler should behave differently if the exception is fatal versus one that can be returned from. In the first case it should never clear any registers because these need to be preserved for logging after the next boot. Otherwise it should clear them on each CPU step by step so that other CPUs sharing the same bank don't see duplicate events. Otherwise we risk reporting events multiple times on any CPUs which have shared machine check banks, which is a common problem on Intel Nehalem which has both SMT (two CPU threads sharing banks) and shared machine check banks in the uncore. Determine early in a special pass if any event requires a panic. This uses the mce_severity() function added earlier. This is needed for the next patch. Also fixes a problem together with an earlier patch that corrected events weren't logged on a fatal MCE. [ Impact: Feature ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 817f32d02a52dd7f5941534e0699883691e918df Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: add table driven machine check grading The machine check grading (as in deciding what should be done for a given register value) has to be done multiple times soon and it's also getting more complicated. So it makes sense to consolidate it into a single function. To get smaller and more straight forward and possibly more extensible code I opted towards a new table driven method. The various rules are put into a table when is then executed by a very simple interpreter. The grading engine is in a new file mce-severity.c. I also added a private include file mce-internal.h, because mce.h is already a bit too cluttered. This is dead code right now, but will be used in followon patches. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a0189c70e5f17f4253dd7bc575c97469900e23d6 Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: remove TSC print heuristic Previously mce_panic used a simple heuristic to avoid printing old so far unreported machine check events on a mce panic. This worked by comparing the TSC value at the start of the machine check handler with the event time stamp and only printing newer ones. This has a couple of issues, in particular on systems where the TSC is not fully synchronized between CPUs it could lose events or print old ones. It is also problematic with full system synchronization as it is added by the next patch. Remove the TSC heuristic and instead replace it with a simple heuristic to print corrected errors first and after that uncorrected errors and finally the worst machine check as determined by the machine check handler. This simplifies the code because there is no need to pass the original TSC value around. Contains fixes from Ying Huang [ Impact: bug fix, cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Cc: Ying Huang Signed-off-by: H. Peter Anvin commit de8a84d85ad8bb46d01d72ebc57030b95075603c Author: Andi Kleen Date: Wed May 27 21:56:53 2009 +0200 x86, mce: log corrected errors when panicing Normally the machine check handler ignores corrected errors and leaves them to machine_check_poll(). But when panicing mcp won't run, so log all errors. Note: this can still miss some cases until the "early no way out" patch later is applied too. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8ee08347c1e8b5680b3b3ce081e42e97bcaa1abe Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: extend struct mce user interface with more information. Experience has shown that struct mce which is used to pass an machine check to the user space daemon currently a few limitations. Also some data which is useful to print at panic level is also missing. This patch addresses most of them. The same information is also printed out together with mce panic. struct mce can be painlessly extended in a compatible way, the mcelog user space code just ignores additional fields with a warning. - It doesn't provide a wall time timestamp. There have been a few complaints about that. Fix that by adding a 64bit time_t - It doesn't provide the exact CPU identification. This makes it awkward for mcelog to decode the event correctly, especially when there are variations in the supported MCE codes on different CPU models or when mcelog is running on a different host after a panic. Previously the administrator had to specify the correct CPU when mcelog ran on a different host, but with the more variation in machine checks now it's better to auto detect that. It's also useful for more detailed analysis of CPU events. Pass CPUID 1.EAX and the cpu vendor (as encoded in processor.h) instead. - Socket ID and initial APIC ID are useful to report because they allow to identify the failing CPU in some (not all) cases. This is also especially useful for the panic situation. This addresses one of the complaints from Thomas Gleixner earlier. - The MCG capabilities MSR needs to be reported for some advanced error processing in mcelog Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit d620c67fb92aa11736112f9a03e31d8e3079c57a Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: support more than 256 CPUs in struct mce The old struct mce had a limitation to 256 CPUs. But x86 Linux supports more than that now with x2apic. Add a new field extcpu to report the extended number. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit f6fb0ac0869500323c78fa21992fe1933af61e91 Author: Andi Kleen Date: Wed May 27 21:56:55 2009 +0200 x86, mce: store record length into memory struct mce anchor This makes it easier for tools who want to extract the mcelog out of crash images or memory dumps to adapt to changing struct mce size. The length field replaces padding, so it's fully compatible. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ca84f69697da0f004135e45b63ca560b6bd3554e Author: Andi Kleen Date: Wed May 27 21:56:57 2009 +0200 x86, mce: add MCE poll count to /proc/interrupts Keep a count of the machine check polls (or CMCI events) in /proc/interrupts. Andi needs this for debugging, but it's also useful in general to see what's going in by the kernel. Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 01ca79f1411eae2a45352709c838b946b1af9fbd Author: Andi Kleen Date: Wed May 27 21:56:52 2009 +0200 x86, mce: add machine check exception count in /proc/interrupts Useful for debugging, but it's also good general policy to have a counter for all special interrupts there. This makes it easier to diagnose where a CPU is spending its time. [ Impact: feature, debugging tool ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 872c78202c58d26596e25743791ee81a7d24abad Author: Mark Brown Date: Wed Jun 3 20:43:29 2009 +0100 ALSA: Fix double locking of card list in snd_card_register() The introduction of snd_card_set_id() added a lock on the card list to the old choose_default_id() function when using it to implement the new API call. This lock is needed to allow us to walk the list and check to see if our new name is a duplicate. Unfortunately this causes a lockup when called from snd_card_register() (in cases where no ID is supplied for the card) since the card list is already locked there. Fix this fairly hideously by factoring out the implementation and using a flag to indicate if the lock should be held. A better fix would probably be to refactor snd_card_register() to move the _set_id() outside the locking region but I can't immediately see anything I can convince myself is safe. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d11444dfa78cdd887d8dfd2fab3883132aff2c2d Author: Ingo Molnar Date: Wed Jun 3 23:29:14 2009 +0200 perf report: Handle all known event types We have munmap, throttle/unthrottle and period events as well, process them - otherwise they are considered broke events and we mis-parse the next few events. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 75051724f78677532618dd164a515baf106990e5 Author: Ingo Molnar Date: Wed Jun 3 23:14:49 2009 +0200 perf report: Split out event processing helpers - Introduce per event helper functions Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit d80d338d2fb611b65830db7ea56680624776030f Author: Ingo Molnar Date: Wed Jun 3 23:14:49 2009 +0200 perf report: Clean up event processing - Split out event processig into process_events() helper. - Untangle the cwd parameters - it's constant so can be a static. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 128f048f0f0d2a477ad2555e7acd2ad15a1b6061 Author: Ingo Molnar Date: Wed Jun 3 22:19:36 2009 +0200 perf_counter: Fix throttling lock-up Throttling logic is broken and we can lock up with too small hw sampling intervals. Make the throttling code more robust: disable counters even if we already disabled them. ( Also clean up whitespace damage i noticed while reading various pieces of code related to throttling. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 25a52393270ca48c7d0848672ad4423313033c3d Author: Joachim Fenkes Date: Wed Jun 3 13:25:42 2009 -0700 IB/ehca: Remove superfluous bitmasks from QP control block All the fields in the control block are nicely right-aligned, so no masking is necessary. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 27db1fea1868ee346fe5a2fba00eb8fc69283f2c Author: Josh Boyer Date: Tue Mar 31 08:57:53 2009 -0400 powerpc/4xx: Disable PCI_LEGACY The single board defconfig files were missed during the cleanup of CONFIG_PCI_LEGACY in the multi-board config files. This disables the option for the single board configs, as it isn't used by anything for these boards. Reported-by: Cheng Renquan Signed-off-by: Josh Boyer commit 233f0b95ca3a0d1dcbd70bc7e519069a8e10d23e Author: Ingo Molnar Date: Wed Jun 3 21:48:40 2009 +0200 perf_counter tools: Work around warnings in older GCCs GCC 4.1.2 produces: util/parse-options.c: In function ‘get_value’: util/parse-options.c:36: warning: ‘arg’ may be used uninitialized in this function builtin-top.c: In function ‘display_thread’: builtin-top.c:178: warning: ‘printed’ may be used uninitialized in this function Annotate them away by initializing these variables to 0. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 18374ab76e3ec1cf1b0ca5a8d08e35cfc5d01669 Author: Arnaldo Carvalho de Melo Date: Wed Jun 3 14:49:21 2009 -0300 perf_counter tools: Fix off-by-one bug in symbol__new The end is really (start + len - 1). Noticed when synthesizing the PLT symbols, that are small (16 bytes), and hot on the start RIP. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: <20090603174921.GG7805@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a914d4309c4cf6e7c4d0dbce4822dcad38a7cf27 Author: Alexander Clouter Date: Sun May 3 12:57:48 2009 -0700 [ARM] orion: add hwrng timeriomem hook to TS-78xx Add hook so that the HW RNG source on the TS-78xx is available. Signed-off-by: Alexander Clouter Signed-off-by: Nicolas Pitre commit 095b3a6a030f7d4f24825ae93fc384b3d4b4fafa Author: Ingo Molnar Date: Wed Jun 3 20:13:51 2009 +0200 perf_counter tools: Optimize harder Use -O6 to build the tools. Before: 12387507370 instructions # 3121.653 M/sec After: 6244894971 instructions # 3458.437 M/sec Almost twice as fast! Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 051cdc3c2d0e24443ac03aff03ee89807ec8c589 Author: Ingo Molnar Date: Wed Jun 3 20:09:11 2009 +0200 perf help: Fix bug when there's no perf-* command around main_cmds can be empty - fix util/help.c to handle this case without segfaulting. Reported-by: Steven Rostedt Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 0aa8204b46e0fb155a98074d53f8b31ca04269b2 Author: Johannes Berg Date: Wed Jun 3 18:30:31 2009 +0200 cfg80211: fix Kconfig for users of cfg80211 * iwm doesn't depend on cfg80211 or wireless extensions * rndis wlan selects cfg80211 - needs to depend * mac80211 selects cfg80211 - needs to depend Signed-off-by: Johannes Berg Acked-by: Randy Dunlap Signed-off-by: John W. Linville commit f71fea23a27ba8ec53375832aab6a80fc14622e0 Author: Johannes Berg Date: Wed Jun 3 10:17:59 2009 +0200 rfkill: document /dev/rfkill Add some blurb about /dev/rfkill to the documentation and fix the "transmiter" spelling error. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ec2c68c11af95075f29e370970eb97c89234e2e Author: Johannes Berg Date: Wed Jun 3 09:55:29 2009 +0200 rfkill: always init poll delayed work The rfkill core didn't initialise the poll delayed work because it assumed that polling was always done by specifying the poll function. cfg80211, however, would like to start polling only later, which is a valid use case and easy to support, so change rfkill to always initialise the poll delayed work and thus allow starting polling by calling the rfkill_resume_polling() function after registration. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 72828b1b3cabecfce4321877aa526a2bd21acf0c Author: Bob Copeland Date: Tue Jun 2 23:03:06 2009 -0400 ath5k: disable beacon interrupt when interface is down When we remove the active interface, there's no need to continue sending beacons; doing so would cause a null pointer deref in ieee80211_beacon_get(). Disable the interrupt in remove_interface and add a WARN_ON(!vif) in case there are other instances lurking. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 894df1cbc376310163d41c50c891db41296056bf Author: Luis R. Rodriguez Date: Tue Jun 2 15:43:25 2009 -0700 mac80211: removed unused variable in ieee80211_tx() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7e189a12c246f55fe087efe345fe5f4cbe0be545 Author: Luis R. Rodriguez Date: Tue Jun 2 18:38:14 2009 -0400 mac80211: extend sta kdoc - explain when they are added Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 60fd2b67014440091770ac5738301c7fa4c4159c Author: Luis R. Rodriguez Date: Tue Jun 2 16:31:10 2009 -0400 cfg80211: make ieee80211_get_mesh_hdrlen() static Fixes spares warning: net/wireless/util.c:261:5: warning: symbol 'ieee80211_get_mesh_hdrlen' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e03e5ffd8d3327d23d76be5d63cfbbb537b1af59 Author: Luis R. Rodriguez Date: Tue Jun 2 16:30:56 2009 -0400 ath: make regulatory parsing more verbose on debug This should help when reviewing issues regarding regulatory domain on ath5k/ath9k/ar9170. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 581f725ccd7e697074aa057fa86bf99b54052c95 Author: Vasanthakumar Thiagarajan Date: Tue Jun 2 19:28:55 2009 +0530 ath9k: Fix write callback of 'debug' which configures debug mask Handle error condition on copy_from_user() properly and make sure a NUL terminated char[] is sent to strict_strtoul() for proper conversion. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 76963bb602ba91927130a0140d5757a5969e08ac Author: Johannes Berg Date: Tue Jun 2 13:01:42 2009 +0200 iwm: port to new cfg80211 rfkill Which means removing all rfkill code since it only does soft-kill which cfg80211 will now handle in exactly the same way the driver did. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f87f7d3a3b42b20f34cb03f0fd1a41c3d0e27f3 Author: Johannes Berg Date: Tue Jun 2 13:01:41 2009 +0200 cfg80211: add rfkill support To be easier on drivers and users, have cfg80211 register an rfkill structure that drivers can access. When soft-killed, simply take down all interfaces; when hard-killed the driver needs to notify us and we will take down the interfaces after the fact. While rfkilled, interfaces cannot be set UP. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6081162e2ed78dfcf149b076b047078ab1445cc2 Author: Johannes Berg Date: Tue Jun 2 13:01:40 2009 +0200 rfkill: add function to query state Sometimes it is necessary to know how the state is, and it is easier to query rfkill than keep track of it somewhere else, so add a function for that. This could later be expanded to return hard/soft block, but so far that isn't necessary. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7643a2c3fcc13cd6fbd731f214463547383418ae Author: Johannes Berg Date: Tue Jun 2 13:01:39 2009 +0200 cfg80211: move txpower wext from mac80211 This patch introduces new cfg80211 API to set the TX power via cfg80211, puts the wext code into cfg80211 and updates mac80211 to use all that. The -ENETDOWN bits are a hack but will go away soon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c64fb01627e24725d1f9d535e4426475a4415753 Author: Johannes Berg Date: Tue Jun 2 13:01:38 2009 +0200 rfkill: create useful userspace interface The new code added by this patch will make rfkill create a misc character device /dev/rfkill that userspace can use to control rfkill soft blocks and get status of devices as well as events when the status changes. Using it is very simple -- when you open it you can read a number of times to get the initial state, and every further read blocks (you can poll) on getting the next event from the kernel. The same structure you read is also used when writing to it to change the soft block of a given device, all devices of a given type, or all devices. This also makes CONFIG_RFKILL_INPUT selectable again in order to be able to test without it present since its functionality can now be replaced by userspace entirely and distros and users may not want the input part of rfkill interfering with their userspace code. We will also write a userspace daemon to handle all that and consequently add the input code to the feature removal schedule. In order to have rfkilld support both kernels with and without CONFIG_RFKILL_INPUT (or new kernels after its eventual removal) we also add an ioctl (that only exists if rfkill-input is present) to disable rfkill-input. It is not very efficient, but at least gives the correct behaviour in all cases. Signed-off-by: Johannes Berg Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 19d337dff95cbf76edd3ad95c0cee2732c3e1ec5 Author: Johannes Berg Date: Tue Jun 2 13:01:37 2009 +0200 rfkill: rewrite This patch completely rewrites the rfkill core to address the following deficiencies: * all rfkill drivers need to implement polling where necessary rather than having one central implementation * updating the rfkill state cannot be done from arbitrary contexts, forcing drivers to use schedule_work and requiring lots of code * rfkill drivers need to keep track of soft/hard blocked internally -- the core should do this * the rfkill API has many unexpected quirks, for example being asymmetric wrt. alloc/free and register/unregister * rfkill can call back into a driver from within a function the driver called -- this is prone to deadlocks and generally should be avoided * rfkill-input pointlessly is a separate module * drivers need to #ifdef rfkill functions (unless they want to depend on or select RFKILL) -- rfkill should provide inlines that do nothing if it isn't compiled in * the rfkill structure is not opaque -- drivers need to initialise it correctly (lots of sanity checking code required) -- instead force drivers to pass the right variables to rfkill_alloc() * the documentation is hard to read because it always assumes the reader is completely clueless and contains way TOO MANY CAPS * the rfkill code needlessly uses a lot of locks and atomic operations in locked sections * fix LED trigger to actually change the LED when the radio state changes -- this wasn't done before Tested-by: Alan Jenkins Signed-off-by: Henrique de Moraes Holschuh [thinkpad] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0f6399c4c525b518644a9b09f8d6fb125a418c4d Author: Bob Copeland Date: Tue Jun 2 00:05:04 2009 -0400 nl80211: use GFP_ATOMIC for michael mic failure message nl80211_michael_mic_failure can be called in atomic context but does a GFP_KERNEL allocation. Fixes the error below: [ 126.793225] BUG: sleeping function called from invalid context at mm/slab.c:3055 [ 126.793234] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper [ 126.793241] 2 locks held by swapper/0: [ 126.793246] #0: (&sc->rxbuflock){+.-.+.}, at: [] ath5k_tasklet_rx+0x34/0x55e [ath5k] [ 126.793294] #1: (rcu_read_lock){.+.+.+}, at: [] __ieee80211_rx+0x7e/0x563 [mac80211] [ 126.793342] Pid: 0, comm: swapper Not tainted 2.6.30-rc7-wl #124 [ 126.793347] Call Trace: [ 126.793361] [] ? __debug_show_held_locks+0x1e/0x20 [ 126.793380] [] __might_sleep+0x100/0x107 [ 126.793386] [] kmem_cache_alloc+0x35/0x170 [ 126.793393] [] ? __alloc_skb+0x2e/0x117 [ 126.793397] [] ? mark_held_locks+0x43/0x5b [ 126.793402] [] __alloc_skb+0x2e/0x117 [ 126.793419] [] nl80211_michael_mic_failure+0x2a/0x1fa [cfg80211] [ 126.793425] [] ? trace_hardirqs_on_caller+0xf6/0x130 [ 126.793430] [] ? trace_hardirqs_on+0xb/0xd [ 126.793444] [] cfg80211_michael_mic_failure+0x30/0x38 [cfg80211] [ 126.793463] [] mac80211_ev_michael_mic_failure+0xfd/0x108 [mac80211] [ 126.793480] [] ieee80211_rx_h_michael_mic_verify+0xd4/0x117 [mac80211] [ 126.793499] [] ieee80211_invoke_rx_handlers+0xdde/0x1963 [mac80211] [ 126.793505] [] ? sched_clock+0x3f/0x64 [ 126.793511] [] ? sched_clock+0x3f/0x64 [ 126.793516] [] ? trace_hardirqs_off+0xb/0xd [ 126.793521] [] ? sched_clock+0x3f/0x64 [ 126.793526] [] ? __lock_acquire+0x62c/0x1271 [ 126.793545] [] __ieee80211_rx_handle_packet+0x543/0x564 [mac80211] [ 126.793564] [] __ieee80211_rx+0x4e2/0x563 [mac80211] [ 126.793577] [] ath5k_tasklet_rx+0x4e4/0x55e [ath5k] [ 126.793583] [] ? restore_nocheck_notrace+0x0/0xe [ 126.793589] [] tasklet_action+0x92/0xe5 [ 126.793594] [] __do_softirq+0xb1/0x182 [ 126.793599] [] do_softirq+0x30/0x48 [ 126.793603] [] irq_exit+0x3d/0x74 [ 126.793609] [] do_IRQ+0x76/0x8c [ 126.793613] [] common_interrupt+0x2e/0x34 [ 126.793618] [] ? timer_list_show+0x277/0x939 [ 126.793630] [] ? acpi_idle_enter_bm+0x266/0x291 [processor] [ 126.793636] [] cpuidle_idle_call+0x6a/0x9c [ 126.793640] [] cpu_idle+0x53/0x87 [ 126.793645] [] rest_init+0x6c/0x6e [ 126.793651] [] start_kernel+0x286/0x28b [ 126.793656] [] __init_begin+0x37/0x3c Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6bc61f4d8e2fa3d54017c29b58603e8771158a25 Author: Bing Zhao Date: Mon Jun 1 18:04:36 2009 -0700 libertas: improve function init/shutdown handling for SD8688 This patch is to incorporate Dan Williams' comments for commit: "libertas: implement function init/shutdown commands for SD8688" 1. remove fn_init_required and fn_shutdown_required variables from lbs_private structure. If required, __lbs_cmd() will be called directly to send function init/shutdown command for SD8688 in if_sdio_probe() or if_sdio_remove() callback. 2. add global variable "user_rmmod" to distinguish between the module removal case and the card removal case. This flag will be checked in if_sdio_remove() against SD8688 card to determine whether or not the function shutdown command needs to be sent. 3. remove "card" from if_sdio_model structure as it cannot store card pointers for multiple cards. Besides, it's no longer needed to store the "card" pointer with changes #1 & #2 above. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 328d84fb3614d006254c990a6224ce437147a5ac Author: Samuel Ortiz Date: Wed May 27 10:12:51 2009 +0200 wireless/p54: prepare for FIRMWARE_NAME_MAX removal We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any firmware name length restriction. This patch gets rid of the statically allocated p54usb firmware string, and replaces them with const char pointers. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 939cab83ea592fcf4d854563d6c71d813a691872 Author: Samuel Ortiz Date: Tue Jun 2 15:52:20 2009 +0800 iwmc3200wifi: shrink calibration lmac name iwmc3200wifi: trim down calibration firmware name The patch trims down iwmc3200wifi calibration firmware name from iwmc3200wifi-lmac-calib-sdio.bin to iwmc3200wifi-calib-sdio.bin. We can shorten the firmware name because all calibration is done by LMAC. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6d7db193f2097d2f12fdc6b2300439a91a3196be Author: Christian Lamparter Date: Mon Jun 1 22:49:25 2009 +0200 ar9170: cancel led worker properly on exit "[PATCH 3/4 v2] ar9170: fix LED power state handling" revealed a bug which can cause a ugly crash. The delayed worker is canceled before the LED class functions are unregistered... So, if something manages to update the LEDs while unregister routine is running the timer could fire _after_ the module has been unloaded. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 66d008139c61d610f3ade9b46ad610e2cd277fb9 Author: Christian Lamparter Date: Thu May 28 17:04:27 2009 +0200 ar9170usb: more minor fixes This patch contains a few more mostly random fixes for the USB front-end. 1. handle irq command response, instead of printing it to the console. 2. remove fixed FIXME. (real fix: "ar9170usb: reset device on resume". ) 3. some more one-liner. - get rid of a useless "return;" - add a few branch prediction hints in hot-paths etc. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b55d6bcf9b7082ae613e5d532608abcd409164ca Author: Christian Lamparter Date: Sat May 23 20:31:21 2009 +0200 ar9170: fix lockdep warning on hibernate This patch takes care of Johannes' deadlock report by moving the mutex_lock right after cancel_work_sync in ar9170_op_stop. Besides, the janitor does not need to hold the mutex anymore, so this extra lines can be removed as well. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2431fe9a4b43ccf03589fa661662da6bfbd97282 Author: Christian Lamparter Date: Mon May 25 21:51:19 2009 +0200 ar9170: fix LED power state handling This patch fixes a minor visual bug in the led code, which left the LED in the wrong power state when it was toggled in a _unexpected_ way (e.g: enabling the LED twice). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 95cf8769bba6ea595994f786ea63f7e2948133de Author: Christian Lamparter Date: Sat May 23 20:28:38 2009 +0200 ar9170: kill duplicated HT feature flag This patch removes a redundant flag. .cap = IEEE80211_HT_CAP_MAX_AMSDU | \ > IEEE80211_HT_CAP_SM_PS | \ < [...] \ > IEEE80211_HT_CAP_SM_PS, \ < .ampdu_factor = 3, \ Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 864cc02e7c0ed9a83be0c35c05df1941abcc792d Author: Christian Lamparter Date: Sat May 23 20:28:21 2009 +0200 ar9170: use bitop macros for tx filter flags This patch fixes a bug in configure_filter's (sub-)routines. We never really cleared the flags once we updated the hardware state, so we wasted our resources by applying already active settings. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 29ceff5d58afbb2c98bb748057788f02b8db20e5 Author: Christian Lamparter Date: Mon Jun 1 21:42:01 2009 +0200 ar9170: introduce functions for MAC programming This patch introduces 3 new function which are used to update the MAC state, whenever needed... e.g: after a band switch. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d7433390e49152101c1b31c08e38caf2a05a1169 Author: Christian Lamparter Date: Mon Jun 1 21:41:50 2009 +0200 ar9170: 40mhz fixes This patch replace a few constant magics which may affected the device when operating in a 40MHz channel. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit b9ad462e34b6eb8380c8534684326bb395b29c9f Author: Christian Lamparter Date: Mon Jun 1 21:41:36 2009 +0200 ar9170: update hardware definitions This patch only contains a few uncritical updates for the hardware definition header. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f46f0dc3f1e7bda2621617d5a379f8983ad1d5f8 Author: Christian Lamparter Date: Mon Jun 1 21:41:31 2009 +0200 ar9170: fix beacon plcp settings This patch fixes a simple copy & paste error that affected beacon transmission in 802.11a mode. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 4c4c671aea16d2795f29c7a369518c3c36e15d2a Author: Johannes Berg Date: Mon Jun 1 14:29:52 2009 +0200 mac80211_hwsim: remove deprecated radio_enabled This removes the use of the deprecated radio_enabled setting and code associated with that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 729e9c7663190d71fe5e29831634df80f38199c1 Author: Luis R. Rodriguez Date: Sun May 31 18:24:34 2009 -0400 cfg80211: fix for duplicate userspace replies This fixes an incorrect assumption (BUG_ON) made in cfg80211 when handling country IE regulatory requests. The assumption was that we won't try to call_crda() twice for the same event and therefore we will not recieve two replies through nl80211 for the regulatory request. As it turns out it is true we don't call_crda() twice for the same event, however, kobject_uevent_env() *might* send the udev event twice and/or userspace can simply process the udev event twice. We remove the BUG_ON() and simply ignore the duplicate request. For details refer to this thread: http://marc.info/?l=linux-wireless&m=124149987921337&w=2 Cc: stable@kernel.org Reported-by: Maxim Levitsky Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3b8bcfd5d31ea0fec58681d035544ace707d2536 Author: Johannes Berg Date: Sat May 30 01:39:53 2009 +0200 net: introduce pre-up netdev notifier NETDEV_UP is called after the device is set UP, but sometimes it is useful to be able to veto the device UP. Introduce a new NETDEV_PRE_UP notifier that can be used for exactly this. The first use case will be cfg80211 denying interfaces to be set UP if the device is known to be rfkill'ed. Signed-off-by: Johannes Berg Acked-by: David S. Miller Signed-off-by: John W. Linville commit bdf6d32f933bf28dfdca325281ee5266c753dc67 Author: Luis R. Rodriguez Date: Thu May 28 17:36:05 2009 -0400 ar9170: add AVM FRITZ devices This adds: USB 0x057C:0x8401 AVM FRITZ!WLAN USB Stick N USB 0x057C:0x8402 AVM FRITZ!WLAN USB Stick N 2.4 These devices require the 1-stage firmware, if not present we don't continue. Cc: Peter Grabienski Cc: Stephen Chen Cc: Michael Fortin Cc: Johnny Cheng Cc: Yuan-Gu Wei Cc: Joerg Albert Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c768b58d62d3106f0f670d35d1e7820c14ba769a Author: Luis R. Rodriguez Date: Thu May 28 17:36:04 2009 -0400 ar9170: add support for 1-stage firmware You can get the stage 1 firmware from here: http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170/ar9170.fw md5sum: 34feec4ec0eae3bb92c7c1ea2dfb4530 sha1sum: 6e5250498b815c2940d97242de31e054ae44e079 Its license: http://www.kernel.org/pub/linux/kernel/people/mcgrof/firmware/ar9170/LICENSE This is a new firmware, tested with WNDA3100. Cc: Peter Grabienski Cc: Stephen Chen Cc: Michael Fortin Cc: Johnny Cheng Cc: Yuan-Gu Wei Cc: Joerg Albert Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 546256fbd06d70a87381020ea8553fb78c9abf43 Author: Jouni Malinen Date: Thu May 28 19:25:28 2009 +0300 ath9k: Add sanity check for beacon_int in adhoc/mesh case It looks like mac80211 can request the driver to start beaconing with a beacon interval of zero in some cases (at least for mesh point). This does not sound correct and something may need to be fixed in mac80211. However, taken into account the unpleasantness of getting stuck in an infinite busy loop with rtnl_lock held, let's add a quick workaround in the driver to avoid the worst symptom while someone more familiar with the mesh implementation can figure out what should be done with mac80211 as far as beacon interval configuration is concerned. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 73ca5203366235f8a43e490767284ba8cfd8c479 Author: Bob Copeland Date: Thu May 28 10:27:37 2009 -0400 ath5k: remove conf->beacon_int usage ieee80211_conf->beacon_int was deprecated and removed in a cleanup patch, however it was accidentally added back to ath5k in the change "ath5k: Allow user/driver to set txpower." Remove it once more, fixing the following warning: [13091.968902] WARNING: at drivers/net/wireless/ath/ath5k/base.c:2167 warn_slowpath_null+0x15/0x1a() [13091.968906] Hardware name: MacBook1,1 [13091.968909] Modules linked in: usb_storage fuse i915 drm af_packet acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_seq_dummy hid_apple arc4 ecb snd_seq_oss snd_seq_midi_event usbhid snd_seq ath5k mac80211 appletouch snd_seq_device snd_pcm_oss snd_mixer_oss sky2 snd_pcm ath processor cfg80211 snd_timer sg ohci1394 snd uhci_hcd bitrev ieee1394 joydev ehci_hcd crc32 snd_page_alloc button ac thermal battery sr_mod applesmc cdrom evdev input_polldev unix [last unloaded: microcode] [13091.968985] Pid: 2132, comm: phy0 Tainted: G W 2.6.30-rc5-wl #118 [13091.968988] Call Trace: [13091.968994] [] warn_slowpath_fmt+0x77/0xa6 [13091.969003] [] ? _spin_unlock+0x2c/0x41 [13091.969008] [] ? _spin_lock_irqsave+0x15/0x69 [13091.969012] [] ? _spin_unlock_irqrestore+0x34/0x5d [13091.969019] [] ? trace_hardirqs_off+0xb/0xd [13091.969024] [] ? _spin_unlock_irqrestore+0x34/0x5d [13091.969029] [] ? trace_hardirqs_off+0xb/0xd [13091.969034] [] ? _spin_unlock_irqrestore+0x34/0x5d [13091.969039] [] warn_slowpath_null+0x15/0x1a [13091.969054] [] ath5k_beacon_update_timers+0x44/0x27f [ath5k] [13091.969059] [] ? vprintk+0x2dd/0x312 [13091.969063] [] ? release_console_sem+0x1a6/0x1d3 [13091.969076] [] ath5k_reset_tsf+0x1d/0x2c [ath5k] [13091.969095] [] __ieee80211_sta_join_ibss+0x35/0x3aa [mac80211] [13091.969102] [] ? extract_entropy+0x47/0x8a [13091.969121] [] ieee80211_sta_find_ibss+0x2de/0x32f [mac80211] [13091.969126] [] ? mutex_lock_nested+0x28b/0x2a5 [13091.969145] [] ? ieee80211_ibss_notify_scan_completed+0x1c/0x6f [mac80211] [13091.969164] [] ieee80211_ibss_notify_scan_completed+0x57/0x6f [mac80211] [13091.969182] [] ieee80211_scan_completed+0x31a/0x33f [mac80211] [13091.969201] [] ieee80211_scan_work+0xcb/0x18b [mac80211] [13091.969207] [] worker_thread+0x1b1/0x28e [13091.969212] [] ? worker_thread+0x16c/0x28e [13091.969230] [] ? ieee80211_scan_work+0x0/0x18b [mac80211] [13091.969237] [] ? autoremove_wake_function+0x0/0x38 [13091.969242] [] ? worker_thread+0x0/0x28e [13091.969246] [] kthread+0x4a/0x70 [13091.971460] [] ? kthread+0x0/0x70 [13091.971467] [] kernel_thread_helper+0x7/0x10 [13091.971470] ---[ end trace 8defaa5d15c50cef ]--- Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 86ab04c8c1df51df7d6d3709da546e0163ac856b Author: Luis R. Rodriguez Date: Wed May 27 22:56:05 2009 -0400 mac80211: handle -EALREADY on cfg80211 op assoc req When the SME requests to associate to an open AP ieee80211_sta_set_extra_ie() can be called with zero IE length. When this happens or when the extra IE has already been set -EALREADY is passed down and the supplicant will complain that the operation is already in progress and it will not let us associate. We correct this by treating -EALREADY from ieee80211_sta_set_extra_ie() as a success just as we do for wext. Cc: Shan.Palanisamy@Atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2c5b9e511fee1a856ffe6332e15c72a20d2c72f6 Author: Cliff Cai Date: Wed May 27 14:03:09 2009 -0400 wireless: libertas: fix unaligned accesses Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Dan Williams Signed-off-by: John W. Linville commit 2493928e4dbefa1869413cf24b7f605b9b69d0d2 Author: Jeff Hansen Date: Wed May 27 12:48:29 2009 +0000 ath9k: Add "debug" file to debugfs This patch adds the debug file to the ath9k debugfs, which lets you modify the debug_mask at runtime, without having to reload the ath9k module. Signed-off-by: Jeff Hansen Signed-off-by: John W. Linville commit bedf087af96a24861d09586ac25c26691300ff4c Author: Jeff Hansen Date: Wed May 27 12:48:28 2009 +0000 ath9k: Combine legacy and 11n rc statistics This patch combines the legacy and 11n rcstats into one, using the normal rate table indices instead of two separate indices for each mode. Legacy rates also get all of the PER and retry information, now, too. Signed-off-by: Jeff Hansen Signed-off-by: John W. Linville commit b74444f8a9039603715973a56df588a5d800c4ef Author: Jeff Hansen Date: Wed May 27 12:48:27 2009 +0000 ath9k: Reset SC_OP_TSF_RESET flag after stuck beacon I have a TrendNet 652-BRP running OpenWRT + ath9k very well. The only problem is that the beacon gets stuck maybe once a day. After Vasanthakumar Thiagarajan's "ath9k: cleanup beacon parameters configuration" patch, ath9k would nearly re-configure the beacons after it detected the stuck beacon, and did a reset. But it would fail the SC_OP_TSF_RESET check in ath_beacon_config_ap. This patch gets the beacon fully reconfigured after the reset. Signed-off-by: Jeff Hansen Signed-off-by: John W. Linville commit 034d655ee7b79a2f48ba4c2b620d2864a6e0aa14 Author: Johannes Berg Date: Wed May 27 10:35:29 2009 +0200 cfg80211: disallow interfering with stations on non-AP (part 2) On non-AP interfaces userspace has no business interfering with the station management, this can confuse mac80211 (and other drivers probably wouldn't support it anyway). Allow adding and removing stations only on AP interfaces. (Reconcile this w/ previous version of patch posted with same subject... -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ba10a8efe501e26d995aa9b6dc13395518a87e4 Author: Johannes Berg Date: Wed May 27 09:41:06 2009 +0200 mac80211: fix transposed min/max CW values I accidentally transposed these in the patch that "fixed" the defaults, leading to extremely low throughput because of the huge min CW. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1bb563334858f48f65b58bab6d10b54080f4ee42 Author: Randy Dunlap Date: Tue May 26 12:17:52 2009 -0700 iwmc3200wifi: fix printk format Fix printk format for size_t variable: drivers/net/wireless/iwmc3200wifi/fw.c:75: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: Randy Dunlap Cc: ilw@linux.intel.com Acked-by: Samuel Ortiz Signed-off-by: John W. Linville commit b63b0ea2c18bba44c934ec619ba47488553c3aa3 Author: Samuel Ortiz Date: Tue May 26 11:10:46 2009 +0800 iwmc3200wifi: fix fragmentation threshold setting We were sending the fragmentation threshold value to the wrong table, causing an LMAC assert when setting it from wext. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d651ae32789cabfb78bdd1f3467bf034ae267d68 Author: Rami Rosen Date: Sun May 24 20:43:50 2009 +0300 iwlwifi: avoid build warning in iwl-core. When building when CONFIG_IWLWIFI_DEBUG is not set, we get the following warning: /work/src/w/drivers/net/wireless/iwlwifi/iwl-core.c: In function ‘iwl_isr’: /work/src/w/drivers/net/wireless/iwlwifi/iwl-core.c:1707: warning: unused variable ‘inta_fh’ This patch avoids this warning by adding #ifdef CONFIG_IWLWIFI_DEBUG before the declaration of inta_fh in iwl_isr() in drivers/net/wireless/iwlwifi/iwl-core.c Signed-off-by: Rami Rosen Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8fc0fee09245fe740d81aded36f4af6db1054015 Author: Johannes Berg Date: Sun May 24 16:57:19 2009 +0200 cfg80211: use key size constants Instead of hardcoding the key length for validation, use the constants Zhu Yi recently added and add one for AES_CMAC too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 362a415dce2130b0e4cebfc8f8fbd8128baff308 Author: Johannes Berg Date: Sun May 24 16:43:15 2009 +0200 nl80211: bounce scan request back to userspace When a scan finishes only the program that asked for it knows what kind of scan it was; let's tell everybody else about the scan parameters as well so they can evaluate the result of the scan better. Also helps with debugging. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51b50fbeb574f581c0b112e035541f42fa3e604a Author: Johannes Berg Date: Sun May 24 16:42:30 2009 +0200 cfg80211: validate AID of stations being added We have some validation code in mac80211 but said code will force an invalid AID to 0 which isn't a valid AID either; instead require a valid AID (1-2007) to be passed in from userspace in cfg80211 already. Also move the code before the race comment since it can only be executed during STA addition and thus is not racy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6b347bff145f9a8a0972ca8fc3c44dd1f91b0f16 Author: Ivo van Doorn Date: Sat May 23 21:09:28 2009 +0200 rt2x00: Remove last usage of beacon_int from ieee80211_config This removes the last usage of beacon_int inside the iee80211_config structure from rt2x00. The attempt is a bit hackish, and subject to change in the future when the entire rt2x00_dev structure is cleaned up and restructured. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e535c7566e1318ccfa015e297f0309994f7bc078 Author: Johannes Berg Date: Sat May 23 11:18:45 2009 +0200 mac80211: deprecate conf.beacon_int properly Ivo has updated the driver to no longer use the change flag, so we can remove that, but rt2x00 and ath5k still use the actual value so let's mark it as deprecated too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2fa7a98fc96abe431e5d54d97104cdca197391fa Author: Dan Williams Date: Fri May 22 20:09:58 2009 -0400 libertas: fix WPA adhoc network creation Oddly enough, the firmware's JOIN/START commands don't appear to have any facility for setting custom IEs, thus the started adhoc network doesn't advertise its WPA capability in the beacon. Whee! Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 822ac03a07cc9e714727a6d49ea050b92483f82a Author: Dan Williams Date: Fri May 22 20:07:14 2009 -0400 libertas: convert CMD_802_11_ASSOCIATE to a direct command Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit be0d76e48f6cc1f8b01eeb5efbeea41f2efdab49 Author: Dan Williams Date: Fri May 22 20:05:25 2009 -0400 libertas: convert CMD_802_11_AUTHENTICATE to a direct command And fix up setting authentication suite for v9+ firmware too. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 75b6a61a47353fd404277ae3f2dda03af96a8c1a Author: Dan Williams Date: Fri May 22 20:03:09 2009 -0400 libertas: restyle Marvell & IEEE TLV structure names Easier to read and more conformant with kernel style. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 5fd164e96cb9dc111f75468378de38c67b0fd161 Author: Dan Williams Date: Fri May 22 20:01:21 2009 -0400 libertas: simplify and clean up association/start/join setup Some of the parameters for association/join/start commands aren't used (like the FH and CF IEs for IBSS, and the FH IE for BSS), so get rid of their unions to reduce indirection. Also clean up structure names for kernel style. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d77b034f62d4b8c6c39450d99de224b9b2c5debb Author: Reinette Chatre Date: Fri May 22 14:37:55 2009 -0700 iwlwifi: fix otp access init Polling function returns positive time if polling was needed to read value. This is still success. Signed-off-by: Reinette Chatre CC: Wey-Yi Guy Signed-off-by: John W. Linville commit df29ff379425954cb74b7beb642ca5b43ae557ae Author: Reinette Chatre Date: Fri May 22 14:37:54 2009 -0700 iwlwifi: fix merge error This hunk of code was removed in patch "iwlwifi: do not cancel delayed work inside spin_lock_irqsave" submitted at http://marc.info/?l=linux-wireless&m=124267503030042&w=2 This same patch in this repo does not remove this hunk. Remove it here. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ce2ebc9b8ddac020aa06c83a6d084c34017d835d Author: Ivo van Doorn Date: Fri May 22 21:33:21 2009 +0200 rt2x00: Add new rt2800usb USB ID's new patch to add more usb_dev to rt2800usb.c . IDs 'stolen' from the latest Ralink linux driver(2009_0520_RT3070_Linux_STA_v2.1.1.0.tar.gz) Signed-off-by: Xose Vazquez Perez Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f488b72de5bb2f380c157135922bac3ca1648564 Author: Sebastian Andrzej Siewior Date: Fri May 22 21:19:40 2009 +0200 net/libertas: make SPI interface big endian aware The comment (which I remove) says that the translation is done SPI routines. IMHO this can't work because the SPI driver does not know whether the incomming bytes are part of the registers/bytes which need to be flipped or part of packet data which has to remain untouched. While adding le helpers I also removed spu_write_u32() which has no users. Tested-by: Andrey Yurovsky Signed-off-by: Sebastian Andrzej Siewior Acked-by: Dan Williams Signed-off-by: John W. Linville commit 55aa4e0f16aa55e4b8cbe40b11e09cf029848f02 Author: John W. Linville Date: Mon May 25 21:28:47 2009 +0200 ath5k: avoid leaking mutex in ath5k_config Reported-by: Johannes Berg Signed-off-by: John W. Linville commit eed4dcd443da7a46131ef37c7a389b444905960e Author: Ingo Molnar Date: Wed Jun 3 19:59:24 2009 +0200 perf report: Add front-entry cache for lookups Before: Performance counter stats for './perf report -i perf.data.big': 12453988058 instructions Performance counter stats for './perf report -i perf.data.big': 12379566017 instructions 0.60% reduction. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 44db76c8553c328f4ae02481d77bb3a88ca17645 Author: Ingo Molnar Date: Wed Jun 3 19:36:07 2009 +0200 perf stat: Print out all arguments Before: Performance counter stats for '/home/mingo/hackbench': After: Performance counter stats for '/home/mingo/hackbench 10': Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 85c7859190c4197a7c34066db14c25903c401187 Author: Denis Karpov Date: Thu Jun 4 02:34:22 2009 +0900 FAT: add 'errors' mount option On severe errors FAT remounts itself in read-only mode. Allow to specify FAT fs desired behavior through 'errors' mount option: panic, continue or remount read-only. `mount -t [fat|vfat] -o errors=[panic,remount-ro,continue] \ ` This is analog to ext2 fs 'errors' mount option. Signed-off-by: Denis Karpov Signed-off-by: OGAWA Hirofumi commit e98e96fe43ae92fad0930f05fb2b298e49b9f3b5 Author: Ingo Molnar Date: Wed Jun 3 19:30:38 2009 +0200 perf report: Display 100% correctly Needs to be 6.2 not 5.2, for 100.00% to be aligned properly. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 021e9f476511ebe23d7f45854a52dfe74c09b6ee Author: Ingo Molnar Date: Wed Jun 3 19:27:19 2009 +0200 perf record: Refine capture printout Print out the number of bytes captured, and the (estimated) number of events the output file contains. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit f2521b6e4c365bd0aac61b2c346e6e9f22607e31 Author: Ingo Molnar Date: Wed Jun 3 19:17:25 2009 +0200 perf_counter tools: Clean up old kerneltop references kerneltop has been replaced with perf top - so fix up a few remaining references to it in display text and error messages. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 563af16c30ede41eda2d614195d88e07f7c7103d Author: Steven Rostedt Date: Wed Jun 3 11:10:44 2009 -0400 tracing: add annotation to what type of stack trace is recorded The current method of printing out a stack trace is to add a new line and print out the trace: yum-updatesd-3120 [002] 573.691303: => do_softirq => irq_exit => smp_apic_timer_interrupt => apic_timer_interrupt This looks a bit awkward, and if we have both stack and user stack traces running, it would be nice to have a title to tell them apart, although it is easy to tell by the output. This patch adds an annotation to the start of the stack traces: init-1 [003] 929.304979: => user_path_at => vfs_fstatat => vfs_stat => sys_newstat => system_call_fastpath cat-3459 [002] 1016.824040: => <0000003aae6c0250> => <00007ffff4b06ae4> => <69636172742f6775> Signed-off-by: Steven Rostedt commit 2ba3d76a1e29f2ba64fbc762875cf9fb2d4ba2ba Author: Dmitry Pervushin Date: Sun May 31 18:32:59 2009 +0400 UBI: make gluebi a separate module [Artem: re-worked the patch: made it release resources when the module is unloaded, made it do module referencing, made it really independent on UBI, tested it with the UBI test-suite which can be found in ubi-2.6.git/tests/ubi-tests, re-named most of the funcs/variables to get rid of the "ubi" word and make names consistent.] Signed-off-by: Dmitry Pervushin Signed-off-by: Artem Bityutskiy commit 05e882f890038c702a4f15d385135d03cf74ad48 Author: Jeremy Huddleston Date: Wed Jun 3 07:29:39 2009 -0700 Input: appletouch - improve finger detection The appletouch driver is prone to reporting multiple fingers when only one is pressing. The appletouch driver queries an array of pressure sensors and counts local maxima in pressure to determine the number of fingers. It just does this on the raw values, so a data stream like: 0 100 250 300 299 300 250 100 0 actually registers as 2 fingers. This patch updates the logic to ignore small dips in pressure that are less than the threshold. Signed-off-by: Jeremy Huddleston Signed-off-by: Dmitry Torokhov commit a86295283063ce23fbefad494c71290caf8eae25 Author: Ping Cheng Date: Tue Jun 2 16:59:58 2009 -0700 Input: wacom - clear Intuos4 wheel data when finger leaves proximity Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 56d8bd3f0b98972312cad683947ec90b21011199 Author: Steven Whitehouse Date: Wed Jun 3 14:52:03 2009 +0100 tracing: fix multiple use of __print_flags and __print_symbolic Here is an updated patch to include the extra call to trace_seq_init() as requested. This is vs. the latest -tip tree and fixes the use of multiple __print_flags and __print_symbolic in a single tracer. Also tested to ensure its working now: mount.gfs2-2534 [000] 235.850587: gfs2_glock_queue: 8.7 glock 1:2 dequeue PR mount.gfs2-2534 [000] 235.850591: gfs2_demote_rq: 8.7 glock 1:0 demote EX to NL flags:DI mount.gfs2-2534 [000] 235.850591: gfs2_glock_queue: 8.7 glock 1:0 dequeue EX glock_workqueue-2529 [000] 235.850666: gfs2_glock_state_change: 8.7 glock 1:0 state EX => NL tgt:NL dmt:NL flags:lDpI glock_workqueue-2529 [000] 235.850672: gfs2_glock_put: 8.7 glock 1:0 state NL => IV flags:I Signed-off-by: Steven Whitehouse LKML-Reference: <1244037123.29604.603.camel@localhost.localdomain> Signed-off-by: Steven Rostedt commit 048dc50c5e7eada19ebabbad70b7966d14283d41 Author: walimis Date: Wed Jun 3 16:01:30 2009 +0800 tracing/events: fix output format of user stack According to "events/ftrace/user_stack/format", fix the output of user stack. before fix: sh-1073 [000] 31.137561: <- <0804e33c> <- <080835c1> after fix: sh-1072 [000] 37.039329: => => <0804e33c> => <080835c1> Signed-off-by: walimis LKML-Reference: <1244016090-7814-3-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt commit f11b3f4e2932bfdcfc458ab8d1ece62724ceabfc Author: walimis Date: Wed Jun 3 16:01:29 2009 +0800 tracing/events: fix output format of kernel stack According to "events/ftrace/kernel_stack/format", output format of kernel stack should use "=>" instead of "<=". The second problem is that we shouldn't skip the first entry in the stack, although it seems to be duplicated when used in the "function" tracer, but events also use it. If we skip the first one, we will drop the topmost entry of the stack. The last problem is that if the last entry is ULONG_MAX(0xffffffff), we should drop it, otherwise it will print a NULL name line. before fix: sh-1072 [000] 26.957239: sched_process_fork: parent sh:1072 child sh:1073 sh-1072 [000] 26.957262: <= syscall_call <= sh-1072 [000] 26.957744: sched_switch: task sh:1072 [120] (R) ==> sh:1073 [120] sh-1072 [000] 26.957752: <= preempt_schedule <= wake_up_new_task <= do_fork <= sys_clone <= syscall_call <= After fix: sh-1075 [000] 39.791848: sched_process_fork: parent sh:1075 child sh:1076 sh-1075 [000] 39.791871: => sys_clone => syscall_call sh-1075 [000] 39.792713: sched_switch: task sh:1075 [120] (R) ==> sh:1076 [120] sh-1075 [000] 39.792722: => schedule => preempt_schedule => wake_up_new_task => do_fork => sys_clone => syscall_call Signed-off-by: walimis LKML-Reference: <1244016090-7814-2-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt commit 083a63b48e4dd0a6a2d44216720076dc81ebb255 Author: walimis Date: Wed Jun 3 16:01:28 2009 +0800 tracing/trace_stack: fix the number of entries in the header The last entry in the stack_dump_trace is ULONG_MAX, which is not a valid entry, but max_stack_trace.nr_entries has accounted for it. So when printing the header, we should decrease it by one. Before fix, print as following, for example: Depth Size Location (53 entries) <--- should be 52 ----- ---- -------- 0) 3264 108 update_wall_time+0x4d5/0x9a0 ... 51) 80 80 syscall_call+0x7/0xb ^^^ it's correct. Signed-off-by: walimis LKML-Reference: <1244016090-7814-1-git-send-email-walimisdev@gmail.com> Signed-off-by: Steven Rostedt commit ea05b57cc19234d8de9887c8a32c2e58e84b56ba Author: Steven Rostedt Date: Wed Jun 3 09:30:10 2009 -0400 ring-buffer: discard timestamps that are at the start of the buffer Every buffer page in the ring buffer includes its own time stamp. When an event is recorded to the ring buffer with a delta time greater than what can be held in the event header, a time stamp event is created. If the the create timestamp falls over to the next buffer page, it is redundant because the buffer page holds a full time stamp. This patch will try to discard the time stamp when it falls to the start of the next page. This change also fixes a issues with disarding events. If most events are discarded, timestamps will start to creep into the ring buffer. If we do not discard the timestamps then they can fill up the ring buffer over time and waste space. This change will keep time stamps from filling up over another page. If something is recorded in the buffer page, and the rest is filtered, then the time stamps can only fill up to the end of the page. [ Impact: prevent time stamps from filling ring buffer ] Reported-by: Tim Bird Signed-off-by: Steven Rostedt commit edd813bffc62a980bb4fb9b1243f31c1cce78da3 Author: Steven Rostedt Date: Tue Jun 2 23:00:53 2009 -0400 ring-buffer: try to discard unneeded timestamps There are times that a race may happen that we add a timestamp in a nested write. This timestamp would just contain a zero delta and serves no purpose. Now that we have a way to discard events, this patch will try to discard the timestamp instead of just wasting the space in the ring buffer. Signed-off-by: Steven Rostedt commit a2023556409cf7fec5d67a26f7fcfa57c5a4086d Author: Tim Bird Date: Tue Jun 2 17:06:54 2009 -0700 ring-buffer: fix bug in ring_buffer_discard_commit There's a bug in ring_buffer_discard_commit. The wrong pointer is being compared in order to check if the event can be freed from the buffer rather than discarded (i.e. marked as PAD). I noticed this when I was working on duration filtering. The bug is not deadly - it just results in lots of wasted space in the buffer. All filtered events are left in the buffer and marked as discarded, rather than being removed from the buffer to make space for other events. Unfortunately, when I fixed this bug, I got errors doing a filtered function trace. Multiple TIME_EXTEND events pile up in the buffer, and trigger the following loop overage warning in rb_iter_peek(): again: ... if (RB_WARN_ON(cpu_buffer, ++nr_loops > 10)) return NULL; I'm not sure what the best way is to fix this. I don't know if I should extend the loop threshhold, or if I should make the test more complex (ignore TIME_EXTEND events), or just get rid of this loop check completely. Note that if I implement a workaround for this, then I see another problem from rb_advance_iter(). I haven't tracked that one down yet. In general, it seems like the case of removing filtered events has not been working properly, and so some assumptions about buffer invariant conditions need to be revisited. Here's the patch for the simple fix: Compare correct pointer for checking if an event can be freed rather than left as discarded in the buffer. Signed-off-by: Tim Bird LKML-Reference: <4A25BE9E.5090909@am.sony.com> Signed-off-by: Steven Rostedt commit c6ba68a26645dbc5029a9faa5687ebe6fcfc53e4 Author: Vlad Yasevich Date: Mon Jun 1 12:41:15 2009 -0400 sctp: support non-blocking version of the new sctp_connectx() API Prior implementation of the new sctp_connectx() call that returns an association ID did not work correctly on non-blocking socket. This is because we could not return both a EINPROGRESS error and an association id. This is a new implementation that supports this. Originally from Ivan Skytte Jørgensen commit 9919b455fc00c995ef8141848bdc0709ce50bf36 Author: Wei Yongjun Date: Tue May 12 21:52:51 2009 +0800 sctp: fix to choose alternate destination when retransmit ASCONF chunk RFC 5061 Section 5.1 ASCONF Chunk Procedures said: B4) Re-transmit the ASCONF Chunk last sent and if possible choose an alternate destination address (please refer to [RFC4960], Section 6.4.1). An endpoint MUST NOT add new parameters to this chunk; it MUST be the same (including its Sequence Number) as the last ASCONF sent. An endpoint MAY, however, bundle an additional ASCONF with new ASCONF parameters with the next Sequence Number. For details, see Section 5.5. This patch fix to choose an alternate destination address when re-transmit the ASCONF chunk, with some dup codes cleanup. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit d48e074dfdada552fa53f5eab807540f352e0d5d Author: Jean-Mickael Guerin Date: Wed May 13 00:03:20 2009 +0200 sctp: fix sack_timeout sysctl min and max types sctp_sack_timeout is defined as int, but the sysctl's maxsize is set to sizeof(long) and the min/max are defined as long. Signed-off-by: jean-mickael.guerin@6wind.com Signed-off-by: Vlad Yasevich commit 10a43cea7da841cf85a778a1a4d367fb2de7cbce Author: Wei Yongjun Date: Sun Apr 26 23:14:42 2009 +0800 sctp: fix panic when T4-rto timer expire on removed transport If T4-rto timer is expired on a removed transport, kernel panic will occur when we do failure management on that transport. You can reproduce this use the following sequence: Endpoint A Endpoint B (ESTABLISHED) (ESTABLISHED) <----------------- ASCONF (SRC=X) ASCONF -----------------> (Delete IP Address = X) <----------------- ASCONF-ACK (Success Indication) <----------------- ASCONF (T4-rto timer expire) This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 6345b19985e9f3ec31b61720de01806e3ef680fe Author: Wei Yongjun Date: Sun Apr 26 23:13:35 2009 +0800 sctp: fix panic when T2-shutdown timer expire on removed transport If T2-shutdown timer is expired on a removed transport, kernel panic will occur when we do failure management on that transport. You can reproduce this use the following sequence: Endpoint A Endpoint B (ESTABLISHED) (ESTABLISHED) <----------------- SHUTDOWN (SRC=X) ASCONF -----------------> (Delete IP Address = X) <----------------- ASCONF-ACK (Success Indication) <----------------- SHUTDOWN (T2-shutdown timer expire) This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a2c395846cf6abfdda3c04a19a0982adbb6469c2 Author: Wei Yongjun Date: Tue Apr 7 16:35:11 2009 +0800 sctp: fix to only enable IPv6 address support on PF_INET6 socket If socket is create by PF_INET type, it can not used IPv6 address to send/recv DATA. So only enable IPv6 address support on PF_INET6 socket. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 4553e88d876e7eb29db3e8f632101398900d2194 Author: Wei Yongjun Date: Tue Apr 7 16:36:14 2009 +0800 sctp: fix a typo in net/sctp/sm_statetable.c Just fix a typo in net/sctp/sm_statetable.c. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 945e5abceef8bdb85d8455e7f9a3cd647dd8b156 Author: Wei Yongjun Date: Thu Apr 16 14:21:02 2009 +0800 sctp: fix the error code when ASCONF is received with invalid address Use Unresolvable Address error cause instead of Invalid Mandatory Parameter error cause when process ASCONF chunk with invalid address since address parameters are not mandatory in the ASCONF chunk. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a987f762cafb25c0fedf88f15e328edd897210ed Author: Wei Yongjun Date: Tue Apr 7 15:44:29 2009 +0800 sctp: fix report unrecognized parameter in ACSONF-ACK RFC5061 Section 5.2. Upon Reception of an ASCONF Chunk V2) In processing the chunk, the receiver should build a response message with the appropriate error TLVs, as specified in the Parameter type bits, for any ASCONF Parameter it does not understand. To indicate an unrecognized parameter, Cause Type 8 should be used as defined in the ERROR in Section 3.3.10.8, [RFC4960]. The endpoint may also use the response to carry rejections for other reasons, such as resource shortages, etc., using the Error Cause TLV and an appropriate error condition. So we should indicate an unrecognized parameter with error SCTP_ERROR_UNKNOWN_PARAM in ACSONF-ACK chunk, not SCTP_ERROR_INV_PARAM. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a84db7949eab7a42e715192f62c55c554e195e54 Author: Wei Yongjun Date: Tue Apr 7 15:41:39 2009 +0800 sctp: fix error cause codes of ADD-IP extension RFC5061 had changed the error cause codes for Dynamic Address Reconfiguration As the following: Cause Code Value Cause Code --------- ---------------- 0x00A0 Request to Delete Last Remaining IP Address 0x00A1 Operation Refused Due to Resource Shortage 0x00A2 Request to Delete Source IP Address 0x00A3 Association Aborted Due to Illegal ASCONF-ACK 0x00A4 Request Refused - No Authorization This patch fix the error cause codes. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit c878b7d60418a45c36d99c2dc876ebb76035d404 Author: Mark Jackson Date: Wed Jun 3 11:16:38 2009 +0100 Fix MIMC200 board LCD init This patch updates the LCD init code for the MIMC200 board. V2 fixes a .yres typo and corrects an incorrect setup value in the call to at32_add_device_lcdc() Without this patch, the lcd setup is wrong and won't display images correctly (if at all !!) Signed-off-by: Mark Jackson Signed-off-by: Haavard Skinnemoen commit a96bbc16418bc691317f265d6bf98ba941ca9c1a Author: Peter Zijlstra Date: Wed Jun 3 14:01:36 2009 +0200 perf_counter: Fix race in counter initialization We need the PID namespace and counter ID available when the counter overflows and we need to generate a sample event. [ Impact: fix kernel crash with high-frequency sampling ] Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: [ fixed a further crash and cleaned up the initialization a bit ] Signed-off-by: Ingo Molnar commit 8229289b607682f90b946ad2c319526303c17700 Author: Peter Zijlstra Date: Wed Jun 3 12:37:36 2009 +0200 perf report: Fix comm sorting Since we can (and do) change comm strings during the collection phase, we cannot actually sort on them to build the histogram. Therefore add an (optional) third sorting phase to collapse the histrogram. Comm sorting now builds the histrogram on threads and then in the collapse phase collects all threads with the same comm. This collapsed histogram is then reversed and sorted on events. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit e61078a0c88773d3465b0b9d665c5ed6b952b1cf Author: Peter Zijlstra Date: Wed Jun 3 11:24:33 2009 +0200 perf record: Use long arg for counter period I wrote this to test the extended period emulation, we might as well merge it. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 226f62fdd53d5b2c74e242aa11f6ad43d0285d3f Author: Peter Zijlstra Date: Wed Jun 3 11:23:56 2009 +0200 perf_counter: Add a comm hook for pure fork()s I noticed missing COMM events and found that we missed reporting them for pure forks. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 0e2595cdfd7df9f1128f7185152601ae5417483b Author: Cliff Wickman Date: Wed May 20 08:10:57 2009 -0500 x86: Fix UV BAU activation descriptor init The UV tlb shootdown code has a serious initialization error. An array of structures [32*8] is initialized as if it were [32]. The array is indexed by (cpu number on the blade)*8, so the short initialization works for up to 4 cpus on a blade. But above that, we provide an invalid opcode to the hub's broadcast assist unit. This patch changes the allocation of the array to use its symbolic dimensions for better clarity. And initializes all 32*8 entries. Shortened 'UV_ACTIVATION_DESCRIPTOR_SIZE' to 'UV_ADP_SIZE' per Ingo's recommendation. Tested on the UV simulator. Signed-off-by: Cliff Wickman Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit f692fce0cf8625b6cc8678e802fb0e2e657b1ca6 Author: Cliff Cai Date: Tue Jun 2 00:18:54 2009 -0400 ASoC: SSM2602: assign last substream to the master when shutting down Fixes crash when shutting down. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit cf485da15a3b507c7dab42337639e4f4025d3373 Author: Sonic Zhang Date: Tue Jun 2 00:18:57 2009 -0400 ASoC: Blackfin: document how anomaly 05000250 is handled Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 80d5bd93143439aff77fd246f5d06570b7a4641e Author: Cliff Cai Date: Tue Jun 2 00:18:56 2009 -0400 ASoC: Blackfin: set the transfer size according the ac97_frame size Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Mark Brown commit 2552a710f4b991136c650bf2a6d1b81f27f6273e Author: Cliff Cai Date: Tue Jun 2 00:18:53 2009 -0400 ASoC: SSM2602: remove unsupported sample rates Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 047584ce94108012288554a5f84585d792cc7f8f Author: Haiying Wang Date: Tue Jun 2 04:04:15 2009 +0000 net/ucc_geth: Add SGMII support for UEC GETH driver Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit fbcc0e2ce5a4fde63c7f33153bd7e3a4791e01c8 Author: Haiying Wang Date: Tue Jun 2 04:04:14 2009 +0000 fsl_pq_mido: Set the first UCC as the mii management interface master Current code makes the UCC whose register range includes the current mdio register to be the MII managemnt interface master of the QE. If there is more than one mdio bus for QE, the UCC of the last mdio bus will be the MII management interface master which will make the primary mdio bus working unproperly, e.g. can not get the right clock. Normally the primary mdio bus is the first UEC's mdio bus. This patch allows the first UCC to be the MII management interface master of the multiple UCC mdio buses. Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit 32d0c1e1bee16781e94c7ea8c75499696bce0a33 Author: Haiying Wang Date: Tue Jun 2 04:04:13 2009 +0000 net/phy/marvell: update m88e1111 support for SGMII mode Disable fiber/copper auto selection for Marvell m88e1111 SGMII support. Signed-off-by: Haiying Wang Signed-off-by: David S. Miller commit e5b9215ef9a274eb9fb65f6aa4602ad82d10a6cb Author: Eric Dumazet Date: Tue Jun 2 05:20:21 2009 +0000 net: skb cleanup Can remove anonymous union now it has one field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit adf30907d63893e4208dfe3f5c88ae12bc2f25d5 Author: Eric Dumazet Date: Tue Jun 2 05:19:30 2009 +0000 net: skb->dst accessors Define three accessors to get/set dst attached to a skb struct dst_entry *skb_dst(const struct sk_buff *skb) void skb_dst_set(struct sk_buff *skb, struct dst_entry *dst) void skb_dst_drop(struct sk_buff *skb) This one should replace occurrences of : dst_release(skb->dst) skb->dst = NULL; Delete skb->dst field Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 511c3f92ad5b6d9f8f6464be1b4f85f0422be91a Author: Eric Dumazet Date: Tue Jun 2 05:14:27 2009 +0000 net: skb->rtable accessor Define skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb Delete skb->rtable field Setting rtable is not allowed, just set dst instead as rtable is an alias. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dfbf97f3ac980b69dfbc41c83a208211a38443e8 Author: Eric Dumazet Date: Tue Jun 2 05:13:45 2009 +0000 net: add _skb_dst opaque field struct sk_buff uses one union to define dst and rtable fields. We want to replace direct access to these pointers by accessors. First patch adds a new "unsigned long _skb_dst;" opaque field in this union. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dcd945e0d8a6d654e3e1de51faea9f98f1504aa5 Author: Paul Mackerras Date: Wed Jun 3 19:40:36 2009 +1000 perf_counter: powerpc: Fix race causing "oops trying to read PMC0" errors When using interrupting counters and limited (non-interrupting) counters at the same time, it's possible that we get an interrupt in write_mmcr0() after writing MMCR0 but before we have set up the counters using limited PMCs. What happens then is that we get into perf_counter_interrupt() with counter->hw.idx = 0 for the limited counters, leading to the "oops trying to read PMC0" error message being printed. This fixes the problem by making perf_counter_interrupt() robust against counter->hw.idx being zero (the counter is just ignored in that case) and also by changing write_mmcr0() to write MMCR0 initially with the counter overflow interrupt enable bits masked (set to 0). If the MMCR0 value requested by the caller has either of those bits set, we write MMCR0 again with the requested value of those bits after setting up the limited counters properly. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: <18982.17684.138182.954599@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 6984efb692e97ce5f75f26e595685c04c2061bac Author: Paul Mackerras Date: Wed Jun 3 19:38:58 2009 +1000 perf_counter: powerpc: Fix event alternative code generation on POWER5/5+ Commit ef923214 ("perf_counter: powerpc: use u64 for event codes internally") introduced a bug where the return value from function find_alternative_bdecode gets put into a u64 variable and later tested to see if it is < 0. The effect is that we get extra, bogus event code alternatives on POWER5 and POWER5+, leading to error messages such as "oops compute_mmcr failed" being printed and counters not counting properly. This fixes it by using s64 for the return type of find_alternative_bdecode and for the local variable that the caller puts the value in. It also makes the event argument a u64 on POWER5+ for consistency. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: <18982.17586.666132.90983@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 3be8c940a64009afc484c380cb0f8f4a07136519 Author: Bruce Allan Date: Tue Jun 2 11:29:56 2009 +0000 e1000e: bump the version number Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 37289d9c1e72a186ea5f28bee79efeb1d4e7309c Author: Bruce Allan Date: Tue Jun 2 11:29:37 2009 +0000 e1000e: workaround a Tx hang on 82577/82578 With bi-directional stress traffic, the receiver could hang causing the hardware to stop and a "Detected Tx Unit Hang" message dumped to the system logfile. Temporarily workaround this issue by disabling Tx flow control by default. The issue is currently being investigated and a follow-on patch will be provided to revert this when it is resolved. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a4f58f5455ba0efda36fb33c37074922d1527a10 Author: Bruce Allan Date: Tue Jun 2 11:29:18 2009 +0000 e1000e: add support for 82577/82578 GbE LOM parts This patch provides support for the next generation Intel desktop and mobile gigabit ethernet LOM adapters. These adapters are the follow-on parts to the LOMs tied to the prior ICH chipsets and are comprised of a MAC in the PCH chipset and an external PHY (82577 for mobile and 82578 for desktop versions). New features consist of PHY wakeup to save power by completely turning off the MAC while in Sx state, and 4K jumbo frames. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2adc55c959940fc680074392eddbd5585a76f3d9 Author: Bruce Allan Date: Tue Jun 2 11:28:58 2009 +0000 e1000e: specify max supported frame size in adapter struct By putting the maximum frame size supported by the hardware into the adapter structure, the change_mtu entry point function can be cleaned up of checks for all the different max frame sizes supported by Signed-off-by: David S. Miller commit 3ec2a2b80f3eb53851fe4cef9e65b5d33376ef89 Author: Bruce Allan Date: Tue Jun 2 11:28:39 2009 +0000 e1000e: correct flow control thresholds The flow control thresholds, i.e. high and low watermarks of the Rx FIFO for when the hardware should transmit PAUSE frames (XON and XOFF, respectively), need to be tuned for more efficient use of the FIFO. The logic to set the thresholds for parts that support early-receive (ERT) was also wrong in that it should check whether jumbo frames are in use. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 918d7197aa18a562eb7dc37b80a87e9ff1d7f7d9 Author: Bruce Allan Date: Tue Jun 2 11:28:20 2009 +0000 e1000e: do not attempt to disable smart powerdown if not supported During reset, the driver was attempting to disable the Smart Powerdown feature even if the part does not support Smart Powerdown. Check for support before attempting to disable the feature. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6e50912a442947d5fafd296ca6fdcbeb36b163ff Author: Bruce Allan Date: Tue Jun 2 11:28:01 2009 +0000 e1000e: enable CRC stripping by default CRC stripping should be enabled by default but was not if it was not specified as a module parameter. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aefa1c6e7b76fc428770fede6e8b86587fc2ce09 Author: Fabio Estevam Date: Tue Jun 2 17:24:16 2009 -0700 MX35: Add basic support for MX35PDK board Add basic support for MX35PDK board (www.freescale.com/imx35pdk). Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit b2f8f7525c8aa1fdd8ad8c72c832dfb571d5f768 Merge: d455e5b 12186be Author: David S. Miller Date: Wed Jun 3 02:43:41 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/forcedeth.c commit c076b9937f4912ffc09b30e155fe5246f002f21a Author: Ben Nizette Date: Wed Jun 3 11:38:20 2009 +0200 avr32: Fix clash in ATMEL_USART_ flags At the moment ATMEL_USART_{RTS,CTS,CLK} have the values 1, 2 and 3 respectively. Given these are used in bitmasks, trying to turn on the CLK line will in fact turn on the RTS and CTS lines as well. Change the value of ATMEL_USART_CLK to 4. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 08ced854fc4a979d9e59ba01000bf96e7057cfbc Author: Alexander Clouter Date: Wed Jun 3 19:28:03 2009 +1000 hwrng: timeriomem - Fix potential oops (request_mem_region/__devinit) Fixed oops when calling device_unregister followed by device_register (changing __init to __devinit) and removed request_mem_region() as platform_device_register already does this which can result in EBUSY Signed-off-by: Alexander Clouter Signed-off-by: Herbert Xu commit e09f9446b94ac64b27d37e98c1110f29d712cdad Author: Steven Whitehouse Date: Wed Jun 3 10:07:44 2009 +0100 GFS2: Remove unused variable Signed-off-by: Steven Whitehouse commit ed966aac335a63083d3125198479447248637d9e Author: Ingo Molnar Date: Wed Jun 3 10:39:26 2009 +0200 perf report: Handle vDSO symbols properly We were not looking up vDSO symbols properly, because they are in the kallsyms but are user-mode entries. Pass negative addresses to the kernel dso object, this way we resolve them properly: 0.05% [kernel]: vread_tsc Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 367d04c4ec02dad34d80452e32e3370db7fb6fee Author: Jiri Slaby Date: Thu May 28 09:54:48 2009 +0200 amd_iommu: fix lock imbalance In alloc_coherent there is an omitted unlock on the path where mapping fails. Add the unlock. [ Impact: fix lock imbalance in alloc_coherent ] Signed-off-by: Jiri Slaby Cc: Joerg Roedel Signed-off-by: Joerg Roedel commit e34d5c1a4f9919a81b4ea4591d7383245f35cb8e Author: Pablo Neira Ayuso Date: Wed Jun 3 10:32:06 2009 +0200 netfilter: conntrack: replace notify chain by function pointer This patch removes the notify chain infrastructure and replace it by a simple function pointer. This issue has been mentioned in the mailing list several times: the use of the notify chain adds too much overhead for something that is only used by ctnetlink. This patch also changes nfnetlink_send(). It seems that gfp_any() returns GFP_KERNEL for user-context request, like those via ctnetlink, inside the RCU read-side section which is not valid. Using GFP_KERNEL is also evil since netlink may schedule(), this leads to "scheduling while atomic" bug reports. Signed-off-by: Pablo Neira Ayuso commit 5352f35d6ae7b8b981d77137fb268bc54d10624f Author: Ingo Molnar Date: Wed Jun 3 10:07:39 2009 +0200 perf report: Improve sort key recognition - allow case-insensitive tokens - such as --sort Comm,Symbol - allow substring shortcuts: --sort sym - detect invalid tokens and bail out Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3502973d005ed89cc2b3f39780813a341ddba97f Author: Ingo Molnar Date: Wed Jun 3 09:38:58 2009 +0200 perf report: Print -D to stdout -D prints to stderr - which is a bit confusing - print to stdout instead. Also clean up the if (dump_trace) patterns via a dprintf helper. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8ce998d6693bd02ab3b74ee1cc303ecb1fa9b514 Author: Arnaldo Carvalho de Melo Date: Wed Jun 3 00:54:33 2009 -0300 perf_counter tools: Cover PLT symbols too PLT, the Program Linking Table, is used with the dynamic linker to allow PIC code in executables and shared objects to figure out where functions are in other shared objects. It is one of the sources of unknown/unresolved symbols - this patch does what binutils figures out when you ask it to disassembly. (objdump -S) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: John Kacur Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit a32881066e58346f2901afe0ebdfbf0c562877e5 Author: Yong Wang Date: Wed Jun 3 13:12:55 2009 +0800 perf_counter/x86: Remove the IRQ (non-NMI) handling bits Remove the IRQ (non-NMI) handling bits as NMI will be used always. Signed-off-by: Yong Wang Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090603051255.GA2791@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit a05c0205ba031c01bba33a21bf0a35920eb64833 Author: Martin K. Petersen Date: Wed Jun 3 09:33:18 2009 +0200 block: Fix bounce limit setting in DM blk_queue_bounce_limit() is more than a wrapper about the request queue limits.bounce_pfn variable. Introduce blk_queue_bounce_pfn() which can be called by stacking drivers that wish to set the bounce limit explicitly. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 3e1e0a5dd539f83438078759c8642c5dd7c24cb6 Author: Takashi Iwai Date: Wed Jun 3 08:13:15 2009 +0200 ALSA: powermac - Replace the rest of __init* All __initdata should be __devinitdata as platform device is hotpluggable. Signed-off-by: Takashi Iwai commit 5c9b6e9e618868ac66d92c81b70ad57d82033d4e Author: Stephen Rothwell Date: Wed Jun 3 15:35:19 2009 +1000 ALSA: sound/ppc: update annotations of serveral functions [I am not sure if this is the correct approach as I don't know if any of this actual hardware or drivers are really hot pluggable.] Gets rid of these build warnings: WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_new(). If .snd_pmac_new is only used by .snd_pmac_probe then annotate .snd_pmac_new with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_burgundy_init(). If .snd_pmac_burgundy_init is only used by .snd_pmac_probe then annotate .snd_pmac_burgundy_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_daca_init(). If .snd_pmac_daca_init is only used by .snd_pmac_probe then annotate .snd_pmac_daca_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_tumbler_init(). If .snd_pmac_tumbler_init is only used by .snd_pmac_probe then annotate .snd_pmac_tumbler_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_tumbler_post_init(). If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe then annotate .snd_pmac_tumbler_post_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_awacs_init(). If .snd_pmac_awacs_init is only used by .snd_pmac_probe then annotate .snd_pmac_awacs_init with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_pcm_new(). If .snd_pmac_pcm_new is only used by .snd_pmac_probe then annotate .snd_pmac_pcm_new with a matching annotation. WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep() The function __devinit .snd_pmac_probe() references a function __init .snd_pmac_attach_beep(). If .snd_pmac_attach_beep is only used by .snd_pmac_probe then annotate .snd_pmac_attach_beep with a matching annotation. Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai commit ca85b6ba59b69b7b5adcc64a98bd2478f73b2542 Author: Andrea Borgia Date: Tue Jun 2 19:21:17 2009 +0200 ALSA: usb-audio - errata corrige for quirk Cut'n'paste mistake, whose likely result was nothing at all. Correct version is "USB_DEVICE", not "USB_DEVICE_VENDOR_SPEC". Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 6799687a53a28536fd027ccb644833f66a778925 Author: Mike Galbraith Date: Tue Jun 2 08:23:58 2009 +0200 x86, boot: add new generated files to the appropriate .gitignore files git status complains of untracked (generated) files in arch/x86/boot.. # Untracked files: # (use "git add ..." to include in what will be committed) # # ../../arch/x86/boot/compressed/mkpiggy # ../../arch/x86/boot/compressed/piggy.S # ../../arch/x86/boot/compressed/vmlinux.lds # ../../arch/x86/boot/voffset.h # ../../arch/x86/boot/zoffset.h ..so adjust .gitignore files accordingly. Signed-off-by: Mike Galbraith Signed-off-by: H. Peter Anvin commit 7d2948b1248109dbc7f4aaf9867c54b1912d494c Author: Tetsuo Handa Date: Tue Jun 2 20:42:24 2009 +0900 TOMOYO: Simplify policy reader. We can directly assign the result of tomoyo_io_printf() to done flag. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit ab588ccadc80f6ef5495e83e176e88c5c0fc2d0e Author: Tetsuo Handa Date: Tue Jun 2 14:23:39 2009 +0900 TOMOYO: Remove redundant markers. Remove '/***** START/STOP *****/' markers. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit 850b0cee165576f969363a8c52021b5cf9ecbe67 Author: Eric Paris Date: Tue Jun 2 17:01:16 2009 -0400 SELinux: define audit permissions for audit tree netlink messages Audit trees defined 2 new netlink messages but the netlink mapping tables for selinux permissions were not set up. This patch maps these 2 new operations to AUDIT_WRITE. Signed-off-by: Eric Paris Signed-off-by: James Morris commit addc2785ce92ff05da8edf18317b6b4719e10d9f Author: Ingo Molnar Date: Tue Jun 2 23:43:11 2009 +0200 perf record: Print out the number of events captured It makes sense to inform the user about how many events perf record has written - so that the sufficiency of profiling coverage and intensity can be determined at a glance. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit bf9e187637ca3d85cee7407e3af93995868cc87c Author: Ingo Molnar Date: Tue Jun 2 23:37:05 2009 +0200 perf_counter tools: Make source code headers more coherent The perf commands had different ways of describing themselves, introduce a coherent command-file-header format taken from the Git project. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 0a520c63e1625b92ef775da40192e1542910e7f6 Author: Ingo Molnar Date: Tue Jun 2 23:24:45 2009 +0200 perf report: Print more info instead of entries Sometimes we still fail to find a DSO or look up a symbol, print out the raw information in this case (which an help debug the problem), instead of a not very helpful string. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3cf165fc2e7f221a7a95098b47eb990779e29f5f Author: Ingo Molnar Date: Tue Jun 2 23:02:59 2009 +0200 perf record: Increase mmap buffering default I've run into mmap overruns with the current 16 pages default, increase it to 128 pages. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit abaff32a03e26e5d6674cb2a26ad882efe7493a3 Author: Ingo Molnar Date: Tue Jun 2 22:59:57 2009 +0200 perf record: Add --append option Allow incremental profiling via 'perf record -A' - this will append to an existing perf.data. Also reorder perf record options by utility / likelyhood of usage. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 84047e360af0394ac5861d433f26bbcf30f77dd1 Author: Steven Rostedt Date: Tue Jun 2 16:51:55 2009 -0400 function-graph: always initialize task ret_stack On creating a new task while running the function graph tracer, if we fail to allocate the ret_stack, and then fail the fork, the code will free the parent ret_stack. This is because the child duplicated the parent and currently points to the parent's ret_stack. This patch always initializes the task's ret_stack to NULL. [ Impact: prevent crash of parent on low memory during fork ] Signed-off-by: Steven Rostedt commit f7e8b616ed1cc6f790b82324bce8a2a60295e5c2 Author: Steven Rostedt Date: Tue Jun 2 16:39:48 2009 -0400 function-graph: move initialization of new tasks up in fork When the function graph tracer is enabled, all new tasks must allocate a ret_stack to place the return address of functions. This is because the function graph tracer will replace the real return address with a call to the tracing of the exit function. This initialization happens in fork, but it happens too late. If fork fails, then it will call free_task and that calls the freeing of this ret_stack. But before initialization happens, the new (failed) task points to its parents ret_stack. If a fork failure happens during the function trace, it would be catastrophic for the parent. Also, there's no need to call ftrace_graph_exit_task from fork, since it is called by free_task which fork calls on failure. [ Impact: prevent crash during failed fork running function graph tracer ] Signed-off-by: Steven Rostedt commit cf25c63c609e99bfb9303b68a7a90a56a3a32cea Author: Ingo Molnar Date: Tue Jun 2 22:12:14 2009 +0200 perf report: Fix column width/alignment of dsos Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 436224a6d8bb3e29fe0cc18122f8d1f593da67b8 Author: Peter Zijlstra Date: Tue Jun 2 21:02:36 2009 +0200 perf report: Separate out idle threads Introduce the special comm name [idle] for idle theads. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c70975bc8d5bac487616785f5d5bc7b090dfa2d9 Author: Peter Zijlstra Date: Tue Jun 2 17:38:21 2009 +0200 perf_counter tools: Fix up the ABI shakeup Signed-off-by: Peter Zijlstra LKML-Reference: Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 0d48696f87e3618b0d35bd3e4e9d7c188d51e7de Author: Peter Zijlstra Date: Tue Jun 2 19:22:16 2009 +0200 perf_counter: Rename perf_counter_hw_event => perf_counter_attr The structure isn't hw only and when I read event, I think about those things that fall out the other end. Rename the thing. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 08247e31ca79b8f02cce47b7e8120797a8726606 Author: Peter Zijlstra Date: Tue Jun 2 16:46:57 2009 +0200 perf_counter: Add ioctl for changing the sample period/frequency Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8e3747c13c39246c7e46def7cf495d9d21d4c5f9 Author: Peter Zijlstra Date: Tue Jun 2 16:16:02 2009 +0200 perf_counter: Change data head from u32 to u64 Since some people worried that 4G might not be a large enough as an mmap data window, extend it to 64 bit for capable platforms. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e4abb5d4f7ddabc1fc7c392cf0a10d8e5868c9ca Author: Peter Zijlstra Date: Tue Jun 2 16:08:20 2009 +0200 perf_counter: x86: Emulate longer sample periods Do as Power already does, emulate sample periods up to 2^63-1 by composing them of smaller values limited by hardware capabilities. Only once we wrap the software period do we generate an overflow event. Just 10 lines of new code. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8a016db386195b193e2a8aeddff9fe937dcb7a40 Author: Peter Zijlstra Date: Tue Jun 2 15:27:45 2009 +0200 perf_counter: Remove the last nmi/irq bits IRQ (non-NMI) sampling is not used anymore - remove the last few bits. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit b23f3325ed465f1bd914384884269af0d106778c Author: Peter Zijlstra Date: Tue Jun 2 15:13:03 2009 +0200 perf_counter: Rename various fields A few renames: s/irq_period/sample_period/ s/irq_freq/sample_freq/ s/PERF_RECORD_/PERF_SAMPLE_/ s/record_type/sample_type/ And change both the new sample_type and read_format to u64. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8e5799b1ad2a0567fdfaaf0e91b40efee010f2c1 Author: Peter Zijlstra Date: Tue Jun 2 15:08:15 2009 +0200 perf_counter: Add unique counter id Stephan raised the issue that we currently cannot distinguish between similar counters within a group (PERF_RECORD_GROUP uses the config value as identifier). Therefore, generate a new ID for each counter using a global u64 sequence counter. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 53e111a730ea8b002d57dd226098c12789993329 Author: Peter Zijlstra Date: Tue Jun 2 17:01:58 2009 +0200 x86: Fix atomic_long_xchg() on 64bit Apparently I'm the first to use it :-) Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 29c2810276fbf8419c9b4d942b99c873e9b7640a Author: Peter Zijlstra Date: Tue Jun 2 15:56:26 2009 +0200 perf_counter tools: Remove the last nmi bits Everything is nmi these days, remove the userspace bits so that the kernel can drop the interface. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 26c01624a2a40f8a4ddf6449b65c9b1c418d0e72 Author: Steven Rostedt Date: Tue Jun 2 14:01:19 2009 -0400 function-graph: add memory barriers for accessing task's ret_stack The code that handles the tasks ret_stack allocation for every task assumes that only an interrupt can cause issues (even though interrupts are disabled). In reality, the code is allocating the ret_stack for tasks that may be running on other CPUs and there are not efficient memory barriers to handle this case. [ Impact: prevent crash due to using of uninitialized ret_stack variables ] Signed-off-by: Steven Rostedt commit 82310a3272d5a2a7652f5649ad8a55f58c8f74d9 Author: Steven Rostedt Date: Tue Jun 2 12:26:07 2009 -0400 function-graph: enable the stack after initialization of other variables The function graph tracer checks if the task_struct has ret_stack defined to know if it is OK or not to use it. The initialization is done for all tasks by one process, but the idle tasks use the same initialization used by new tasks. If an interrupt happens on an idle task that just had the ret_stack created, but before the rest of the initialization took place, then we can corrupt the return address of the functions. This patch moves the setting of the task_struct's ret_stack to after the other variables have been initialized. [ Impact: prevent kernel panic on idle task when starting function graph ] Signed-off-by: Steven Rostedt commit 17e6e4eac070607a35464ea7e2c5eceac32e5eca Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:46 2009 +0200 netfilter: conntrack: simplify event caching system This patch simplifies the conntrack event caching system by removing several events: * IPCT_[*]_VOLATILE, IPCT_HELPINFO and IPCT_NATINFO has been deleted since the have no clients. * IPCT_COUNTER_FILLING which is a leftover of the 32-bits counter days. * IPCT_REFRESH which is not of any use since we always include the timeout in the messages. After this patch, the existing events are: * IPCT_NEW, IPCT_RELATED and IPCT_DESTROY, that are used to identify addition and deletion of entries. * IPCT_STATUS, that notes that the status bits have changes, eg. IPS_SEEN_REPLY and IPS_ASSURED. * IPCT_PROTOINFO, that reports that internal protocol information has changed, eg. the TCP, DCCP and SCTP protocol state. * IPCT_HELPER, that a helper has been assigned or unassigned to this entry. * IPCT_MARK and IPCT_SECMARK, that reports that the mark has changed, this covers the case when a mark is set to zero. * IPCT_NATSEQADJ, to report that there's updates in the NAT sequence adjustment. Signed-off-by: Pablo Neira Ayuso commit 6bfea1984aea86089907caf8974513c2402a3b3d Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:44 2009 +0200 netfilter: conntrack: remove events flags from userspace exposed file This patch moves the event flags from linux/netfilter/nf_conntrack_common.h to net/netfilter/nf_conntrack_ecache.h. This flags are not of any use from userspace. Signed-off-by: Pablo Neira Ayuso commit 274d383b9c1906847a64bbb267b0183599ce86a0 Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:38 2009 +0200 netfilter: conntrack: don't report events on module removal During the module removal there are no possible event listeners since ctnetlink must be removed before to allow removing nf_conntrack. This patch removes the event reporting for the module removal case which is not of any use in the existing code. Signed-off-by: Pablo Neira Ayuso commit 03b64f518a893512d32f07a10b053e558beafcaf Author: Pablo Neira Ayuso Date: Tue Jun 2 20:08:27 2009 +0200 netfilter: ctnetlink: cleanup message-size calculation This patch cleans up the message calculation to make it similar to rtnetlink, moreover, it removes unneeded verbose information. Signed-off-by: Pablo Neira Ayuso commit 96bcf938dc9637e8bb8b2c5d7885d72af5cd10af Author: Pablo Neira Ayuso Date: Tue Jun 2 20:07:39 2009 +0200 netfilter: ctnetlink: use nlmsg_* helper function to build messages Replaces the old macros to build Netlink messages with the new nlmsg_*() helper functions. Signed-off-by: Pablo Neira Ayuso commit f2f3e38c63c58a3d39bd710039af8bbd15ecaff6 Author: Pablo Neira Ayuso Date: Tue Jun 2 20:03:35 2009 +0200 netfilter: ctnetlink: rename tuple() by nf_ct_tuple() macro definition This patch move the internal tuple() macro definition to the header file as nf_ct_tuple(). Signed-off-by: Pablo Neira Ayuso commit 8b0a231d4d6336baf10f13b6142fd5c1f628247e Author: Pablo Neira Ayuso Date: Tue Jun 2 20:03:34 2009 +0200 netfilter: ctnetlink: remove nowait parameter from *fill_info() This patch is a cleanup, it removes the `nowait' parameter from all *fill_info() function since it is always set to one. Signed-off-by: Pablo Neira Ayuso commit f49c857ff20a660850bf8014716d0df6175e1883 Author: Pablo Neira Ayuso Date: Tue Jun 2 20:03:33 2009 +0200 netfilter: nfnetlink: cleanup for nfnetlink_rcv_msg() function This patch cleans up the message handling path in two aspects: * it uses NLMSG_LENGTH() instead of NLMSG_SPACE() like rtnetlink does in this case to check if there is enough room for the Netlink/nfnetlink headers. No need to check for the padding room. * it removes a redundant header size checking that has been already do at the beginning of the function. Signed-off-by: Pablo Neira Ayuso commit 8d9fb9bb89f44a4a06d0e001b16d983b28d571bc Author: Daniel Mack Date: Sun May 31 12:57:22 2009 +0200 Support for lilly-1131 modules and baseboards [v2] On Thu, May 28, 2009 at 08:42:23PM +0200, Sascha Hauer wrote: > > > Mail-Followup-To: Daniel Mack , > > > linux-arm-kernel@lists.arm.linux.org.uk > > > > ... which causes my mutt to only reply to the list. > > Ah, ok. /me hacking in muttrc... Does it work now? Yep :) > > mxc_register_device(&mxc_uart_device0, &uart_pdata); > > + mxc_register_device(&mxc_uart_device1, &uart_pdata); > > + mxc_register_device(&mxc_uart_device2, &uart_pdata); > > What about the RXD3/TXD3 pins? You're right - I got the IOMUX tables wrong and thought UART0 pins are selected unconditionally. But as it turns out TXD1/RXD1 is for UART0 (mxc_uart_device0), TXD2/RXD2 for UART1 (mxc_uart_device1) etc. Below is a new patch. Thanks, Daniel From e7eb5fa0fed09d667a4b2f168fe466e2cc645abb Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Wed, 27 May 2009 12:22:51 +0200 Subject: [PATCH] ARM: MX3: add two more UARTs to lilly-1131-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 179c498ae2998461fe436437a74dc29036fc7dcc Author: Steven Rostedt Date: Tue Jun 2 12:03:19 2009 -0400 function-graph: only allocate init tasks if it was not already done When the function graph tracer is enabled, it calls the initialization needed for the init tasks that would be called on all created tasks. The problem is that this is called every time the function graph tracer is enabled, and the ret_stack is allocated for the idle tasks each time. Thus, the old ret_stack is lost and a memory leak is created. This is also dangerous because if an interrupt happened on another CPU with the init task and the ret_stack is replaced, we then lose all the return pointers for the interrupt, and a crash would take place. [ Impact: fix memory leak and possible crash due to race ] Signed-off-by: Steven Rostedt commit 50b64e3b77d569c217a48e078cd565dbd6462ad0 Author: Jeff Layton Date: Tue Jun 2 06:55:20 2009 -0400 cifs: fix IPv6 address length check For IPv6 the userspace mount helper sends an address in the "ip=" option. This check fails if the length is > 35 characters. I have no idea where the magic 35 character limit came from, but it's clearly not enough for IPv6. Fix it by making it use the INET6_ADDRSTRLEN #define. While we're at it, use the same #define for the address length in SPNEGO upcalls. Reported-by: Charles R. Anderson Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 3f08a0e4ab1ce65bb882f6425ff482e5db025f78 Author: Takashi Iwai Date: Tue Jun 2 17:39:52 2009 +0200 ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99 Signed-off-by: Takashi Iwai commit bdc2911cde7d18580a545483844d75fdb3551729 Merge: 88f3907 016ea68 Author: Joerg Roedel Date: Tue Jun 2 16:45:02 2009 +0200 Merge branches 'dma-debug/fixes' and 'dma-debug/driver-filter' into dma-debug/2.6.31 commit 4593bba8679b925a056f84edac061676e7eda71c Author: Ingo Molnar Date: Tue Jun 2 15:34:25 2009 +0200 perf report: Clean up the default output - extra space between columns - left-aligned the symbol column - moved the no-symbols printout to -v Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 016ea6874a6d58df85b54f56997d26df13c307b2 Author: Joerg Roedel Date: Fri May 22 21:57:23 2009 +0200 dma-debug: add documentation for the driver filter This patch adds the driver filter feature to the dma-debug documentation. Signed-off-by: Joerg Roedel commit 1745de5e5639457513fe43440f2800e23c3cbc7d Author: Joerg Roedel Date: Fri May 22 21:49:51 2009 +0200 dma-debug: add dma_debug_driver kernel command line This patch add the dma_debug_driver= boot parameter to enable the driver filter for early boot. Signed-off-by: Joerg Roedel commit 8a6fc708b9bb48a79a385bdc2be0959ee2ab788d Author: Joerg Roedel Date: Fri May 22 21:23:13 2009 +0200 dma-debug: add debugfs file for driver filter This patch adds the dma-api/driver_filter file to debugfs. The root user can write a driver name into this file to see only dma-api errors for that particular driver in the kernel log. Writing an empty string to that file disables the driver filter. Signed-off-by: Joerg Roedel commit 97124d5e2df5b9eaa5bb684bb1e8ebc7e29d0f5d Author: Peter Zijlstra Date: Tue Jun 2 15:52:24 2009 +0200 perf_counter: tools: Better handle existing data files Provide an argument (-f) to overwrite existing data files. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f70e87d7a6d9c5a23d5f43ed0a0c224c157ef597 Author: Peter Zijlstra Date: Tue Jun 2 14:13:24 2009 +0200 perf_counter: tools: Expand the COMM,MMAP event synthesizer Include code to pre-construct mappings based on /proc, on system wide recording. Fix the existing code to properly fill out ->pid and ->tid. The PID should be the Thread Group ID (PIDTYPE_PID of task->group_leader) The TID should be the Thread ID (PIDTYPE_PID of task) Furthermore, change the default sorting of report to comm,dso for a better quick overview. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 709e50cf870e61745b39552044aa6c7c38e4f9e0 Author: Peter Zijlstra Date: Tue Jun 2 14:13:15 2009 +0200 perf_counter: Use PID namespaces properly Stop using task_struct::pid and start using PID namespaces. PIDs will be reported in the PID namespace of the monitoring task at the moment of counter creation. Signed-off-by: Peter Zijlstra Cc: Eric W. Biederman Cc: Oleg Nesterov Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit eeaf100d25cefdbe9dc40d6e0f2025411474972a Author: Takashi Iwai Date: Tue Jun 2 16:06:02 2009 +0200 ALSA: ca0106 - Add missing card->mixername field setup Signed-off-by: Takashi Iwai commit bd05dbd3b22612455283610b4e006ee3e421b13d Merge: 67fbf88 c76157d Author: Takashi Iwai Date: Tue Jun 2 15:55:22 2009 +0200 Merge branch 'topic/ctxfi-fix' into topic/ctxfi commit c76157d9286ed598c241c212aa5a3c6e5107bd82 Author: Takashi Iwai Date: Tue Jun 2 15:26:19 2009 +0200 ALSA: ctxfi - Support SG-buffers Use SG-buffers instead of contiguous pages. Signed-off-by: Takashi Iwai commit cd391e206f486955e216a61bd9ebcb0e142122e9 Author: Takashi Iwai Date: Tue Jun 2 15:04:29 2009 +0200 ALSA: ctxfi - Remove PAGE_SIZE limitation Remove the limitation of PAGE_SIZE to be 4k by defining the own page size and macros for 4k. 8kb page size could be natively supported, but it's disabled right now for simplicity. Also, clean up using upper_32_bits() macro. Signed-off-by: Takashi Iwai commit d2b9b96c516d4d61663d92ab4ad4f15ca0134ef2 Author: Takashi Iwai Date: Tue Jun 2 14:39:05 2009 +0200 ALSA: ctxfi - Fix supported PCM formats The device seems supporting only U8, S16, S24_3LE, S32. Other linear formats result in bad outputs. Also, added the support for 32bit float format, which wasn't listed in the original code. Signed-off-by: Takashi Iwai commit 8372d4980fbc2e403f0dc5457441c8c6b7c04915 Author: Takashi Iwai Date: Tue Jun 2 14:27:56 2009 +0200 ALSA: ctxfi - Fix PCM device naming PCM names for surround streams should be also fixed as well as the mixer element names. Also, a bit clean up for PCM name setup. Signed-off-by: Takashi Iwai commit 6585db943aade186d38eaab2720c18887b94c875 Author: Takashi Iwai Date: Tue Jun 2 14:17:27 2009 +0200 ALSA: ctxfi - Fix surround mixer names We usually pick up "Surround" mixer for the rear output, and "Side" for the extra surround. Fix the channel mapping to follow it. Signed-off-by: Takashi Iwai commit 822fa19b5c23746577687a0ec48eae0ec1cd22a0 Author: Takashi Iwai Date: Tue Jun 2 14:12:17 2009 +0200 ALSA: ALSA: ctxfi - Release PCM resources at each prepare call The prepare callback can be called multiple times, thus it needs to release and acquire the resource again by itself at the second or later call. Simply add pcm_release_resources() at the beginning of each prepare callback in ctatc.c. Signed-off-by: Takashi Iwai commit 2e507d849f1834d3fe9aae71b7aabf4c2a3827b8 Author: Joerg Roedel Date: Fri May 22 18:24:20 2009 +0200 dma-debug: add variables and checks for driver filter This patch adds the state variables for the driver filter and a function to check if the filter is enabled and matches to the current device. The check is built into the err_printk function. Signed-off-by: Joerg Roedel commit dbdc9dd342f0a7e32f40f0d4ade662bdfe057484 Author: vibi sreenivasan Date: Tue Jun 2 14:52:32 2009 +0200 Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt File Documentation/PCI/PCI-DMA-mapping.txt does not exist. Documentation/DMA-mapping.txt contains DMA Mapping details Signed-off-by: vibi sreenivasan Signed-off-by: Jens Axboe commit 77b0308a0778861111184e097533000f7a458c37 Author: Andrew Morton Date: Tue Jun 2 14:51:30 2009 +0200 cciss: use schedule_timeout_interruptible() Use schedule_timeout_interruptible() instead of open-coding the set and schedule parts. Cc: Mike Miller Cc: Stephen M. Cameron Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 7fe063268e73681cdca1a6496a25f93d3332f517 Author: Andrew Patterson Date: Tue Jun 2 14:48:39 2009 +0200 cciss: add cciss driver sysfs entries Add sysfs entries to the cciss driver needed for the dm/multipath tools. A file for vendor, model, rev, and unique_id is added for each logical drive under directory /sys/bus/pci/devices//ccissX/cXdY. Where X = the controller (or host) number and Y is the logical drive number. A link from /sys/bus/pci/devices//ccissX/cXdY/block:cciss!cXdY to /sys/block/cciss!cXdY/device is also created. A bus is created in /sys/bus/cciss. A link is created from the pci ccissX entry to /sys/bus/cciss/devices/ccissX. Please consider this for inclusion. Signed-off-by: Mike Miller Cc: Stephen M. Cameron Signed-off-by: Jens Axboe commit 88f627ae394eadd75ada669904269f1a4a77b3bd Author: Stephen M. Cameron Date: Tue Jun 2 14:48:11 2009 +0200 cciss: fix SCSI device reset handler Fix the SCSI reset error handler to send a working, properly addressed reset message to the target device and add code to wait for the target device to become ready by polling it with Test Unit Ready. The existing reset code was broken in that it didn't bother to set the 8-byte LUN address to anything besides zero, so the command was addressed to the controller, which pretended to the driver that the command succeeded, while doing nothing. Ages ago I tested this code, but unbeknownst to me, my test was flawed, and what I thought was a tape drive getting reset was actually nothing of the sort. Unfortunately, there is still lots of Smartarray firmware that doesn't handle doing target resets right, and this code won't help in those cases, but it also shouldn't make things worse in those cases than they already are. Signed-off-by: Stephen M. Cameron Cc: Mike Miller Signed-off-by: Jens Axboe commit 4a4b2d7684c66dbd8ed04eb284bc94a78e061d29 Author: Stephen M. Cameron Date: Tue Jun 2 14:47:50 2009 +0200 cciss: factor out core of sendcmd() for a more sane interface Factor out the core of sendcmd() to provide a simpler interface which exposes all the error information to the caller and make the original sendcmd use this new function. Rationale: The SCSI error handling routines need to send commands with interrupts turned off, but they also need access to the full error information. Signed-off-by: Stephen M. Cameron Cc: Mike Miller Signed-off-by: Jens Axboe commit 9a83b7453c2c4db145666b653abe9d9f410d18a2 Author: Takashi Iwai Date: Tue Jun 2 14:20:48 2009 +0200 ALSA: Remove invalid GENERIC_MIX PCM sublass SNDRV_PCM_SUBCLASS_GENERIC_MIX is mostly for h/w multi-stream playback devices, but ca0106 and emu10k1x don't support it (unlike emu10k1). We shouldn't set that flag to avoid confusion. Signed-off-by: Takashi Iwai commit c6e24d4db824d277303201811e88626778c59999 Author: Daniel Mack Date: Tue Jun 2 12:36:40 2009 +0200 ALSA: snd_usb_caiaq: bump version number Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 874ab9233eeddb85fd2dd85131c145bde75da39a Author: Jozsef Kadlecsik Date: Tue Jun 2 13:58:56 2009 +0200 netfilter: nf_ct_tcp: TCP simultaneous open support The patch below adds supporting TCP simultaneous open to conntrack. The unused LISTEN state is replaced by a new state (SYN_SENT2) denoting the second SYN sent from the reply direction in the new case. The state table is updated and the function tcp_in_window is modified to handle simultaneous open. The functionality can fairly easily be tested by socat. A sample tcpdump recording 23:21:34.244733 IP (tos 0x0, ttl 64, id 49224, offset 0, flags [DF], proto TCP (6), length 60) 192.168.0.254.2020 > 192.168.0.1.2020: S, cksum 0xe75f (correct), 3383710133:3383710133(0) win 5840 23:21:34.244783 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40) 192.168.0.1.2020 > 192.168.0.254.2020: R, cksum 0x0253 (correct), 0:0(0) ack 3383710134 win 0 23:21:36.038680 IP (tos 0x0, ttl 64, id 28092, offset 0, flags [DF], proto TCP (6), length 60) 192.168.0.1.2020 > 192.168.0.254.2020: S, cksum 0x704b (correct), 2634546729:2634546729(0) win 5840 23:21:36.038777 IP (tos 0x0, ttl 64, id 49225, offset 0, flags [DF], proto TCP (6), length 60) 192.168.0.254.2020 > 192.168.0.1.2020: S, cksum 0xb179 (correct), 3383710133:3383710133(0) ack 2634546730 win 5840 23:21:36.038847 IP (tos 0x0, ttl 64, id 28093, offset 0, flags [DF], proto TCP (6), length 52) 192.168.0.1.2020 > 192.168.0.254.2020: ., cksum 0xebad (correct), ack 3383710134 win 2920 and the corresponding netlink events: [NEW] tcp 6 120 SYN_SENT src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 [UNREPLIED] src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [UPDATE] tcp 6 120 LISTEN src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [UPDATE] tcp 6 60 SYN_RECV src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [UPDATE] tcp 6 432000 ESTABLISHED src=192.168.0.254 dst=192.168.0.1 sport=2020 dport=2020 src=192.168.0.1 dst=192.168.0.254 sport=2020 dport=2020 [ASSURED] The RST packet was dropped in the raw table, thus it did not reach conntrack. nfnetlink_conntrack is unpatched so it shows the new SYN_SENT2 state as the old unused LISTEN. With TCP simultaneous open support we satisfy REQ-2 in RFC 5382 ;-) . Additional minor correction in this patch is that in order to catch uninitialized reply directions, "td_maxwin == 0" is used instead of "td_end == 0" because the former can't be true except in uninitialized state while td_end may accidentally be equal to zero in the mid of a connection. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 8cc848fa3445b3503465dfba5d8ad47559faa05a Merge: a17c859 4518536 Author: Patrick McHardy Date: Tue Jun 2 13:44:56 2009 +0200 Merge branch 'master' of git://dev.medozas.de/linux commit fe67e6f2d6df371b58ba721954d45a196df5e8b8 Author: Tetsuo Handa Date: Tue Jun 2 17:00:45 2009 +0900 TOMOYO: Remove unused mutex. I forgot to remove on TOMOYO's 15th posting. Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit bf4e0ed3d027ce581be18496036862131b5f32aa Author: Paul Mackerras Date: Mon Jun 1 17:53:16 2009 +1000 perf_counter: Remove unused prev_state field This removes the prev_state field of struct perf_counter since it is now unused. It was only used by the cpu migration counter, which doesn't use it any more. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.35052.915728.626374@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 3f731ca60afc29f5bcdb5fd2a04391466313a9ac Author: Paul Mackerras Date: Mon Jun 1 17:52:30 2009 +1000 perf_counter: Fix cpu migration counter This fixes the cpu migration software counter to count correctly even when contexts get swapped from one task to another. Previously the cpu migration counts reported by perf stat were bogus, ranging from negative to several thousand for a single "lat_ctx 2 8 32" run. With this patch the cpu migration count reported for "lat_ctx 2 8 32" is almost always between 35 and 44. This fixes the problem by adding a call into the perf_counter code from set_task_cpu when tasks are migrated. This enables us to use the generic swcounter code (with some modifications) for the cpu migration counter. This modifies the swcounter code to allow a NULL regs pointer to be passed in to perf_swcounter_ctx_event() etc. The cpu migration counter does this because there isn't necessarily a pt_regs struct for the task available. In this case, the counter will not have interrupt capability - but the migration counter didn't have interrupt capability before, so this is no loss. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.35006.819769.416327@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit f38b082081bf69a06fffb8b32a175999e2320c5b Author: Paul Mackerras Date: Tue Jun 2 21:05:16 2009 +1000 perf_counter: Initialize per-cpu context earlier on cpu up This arranges for perf_counter's notifier for cpu hotplug operations to be called earlier than the migration notifier in sched.c by increasing its priority to 20, compared to the 10 for the migration notifier. The reason for doing this is that a subsequent commit to convert the cpu migration counter to use the generic swcounter infrastructure will add a call into the perf_counter subsystem when tasks get migrated. Therefore the perf_counter subsystem needs a chance to initialize its per-cpu data for the new cpu before it can get called from the migration code. This also adds a comment to the migration notifier noting that its priority needs to be lower than that of the perf_counter notifier. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18981.1900.792795.836858@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit bafeee5b1f8d32cbf791c322b40a6fa91d8ccf7a Author: Daniel Mack Date: Tue Jun 2 12:36:39 2009 +0200 ALSA: snd_usb_caiaq: give better shortname If not passed as module option, provide an own card ID with the newly introduced snd_set_card_id() call. This will prevent ALSA from calling choose_default_name() which only takes the last part of a name containing whitespaces. This for example caused 'Audio 4 DJ' to be shortened to 'DJ', which was not very descriptive. The implementation now takes the short name and removes all whitespaces from it which is much nicer. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 17db0486d73a7bc62996569cea63464daacb22a4 Merge: 1a1df6f 10a8ebb Author: Takashi Iwai Date: Tue Jun 2 12:55:40 2009 +0200 Merge branch 'topic/core-id-check' into topic/caiaq commit 518ceef0c9ca97023e45ae46aedaefa240c690a6 Author: Dmitry Pervushin Date: Wed Apr 29 19:29:44 2009 +0400 UBI: remove built-in gluebi Remove built-in gluebi support. This is a preparation for a standalone glubi module support Signed-off-by: Dmitry Pervushin Signed-off-by: Artem Bityutskiy commit 0e0ee1cc33de8f0cc603269b354085dee340afa0 Author: Dmitry Pervushin Date: Wed Apr 29 19:29:38 2009 +0400 UBI: add notification API UBI volume notifications are intended to create the API to get clients notified about volume creation/deletion, renaming and re-sizing. A client can subscribe to these notifications using 'ubi_volume_register()' and cancel the subscription using 'ubi_volume_unregister()'. When UBI volumes change, a blocking notifier is called. Clients also can request "added" events on all volumes that existed before client subscribed to the notifications. If we use notifications instead of calling functions like 'ubi_gluebi_xxx()', we can make the MTD emulation layer to be more flexible: build it as a separate module and load/unload it on demand. [Artem: many cleanups, rework locking, add "updated" event, provide device/volume info in notifiers] Signed-off-by: Dmitry Pervushin Signed-off-by: Artem Bityutskiy commit b86a2c56e512f46d140a4bcb4e35e8a7d4a99a4b Author: Artem Bityutskiy Date: Sun May 24 14:13:34 2009 +0300 UBI: do not switch to R/O mode on read errors This patch improves UBI errors handling. ATM UBI switches to R/O mode when the WL worker fails to read the source PEB. This means that the upper layers (e.g., UBIFS) has no chances to unmap the erroneous PEB and fix the error. This patch changes this behaviour and makes UBI put PEBs like this into a separate RB-tree, thus preventing the WL worker from hitting the same read errors again and again. But there is a 10% limit on a maximum amount of PEBs like this. If there are too much of them, UBI switches to R/O mode. Additionally, this patch teaches UBI not to panic and switch to R/O mode if after a PEB has been copied, the target LEB cannot be read back. Instead, now UBI cancels the operation and schedules the target PEB for torturing. The error paths has been tested by ingecting errors into 'ubi_eba_copy_leb()'. Signed-off-by: Artem Bityutskiy commit 87960c0b12d0c5a0b37e0c79aef77aa1a0b10d44 Author: Artem Bityutskiy Date: Sun May 24 11:58:58 2009 +0300 UBI: fix and clean-up error paths in WL worker This patch fixes the error path in the WL worker - in same cases UBI oopses when 'goto out_error' happens and e1 or e2 are NULL. This patch also cleans up the error paths a little. And I have tested nearly all error paths in the WL worker. Signed-off-by: Artem Bityutskiy commit 90bf0265e5b0d561f215a69bb7a46c4071b2c93b Author: Artem Bityutskiy Date: Sat May 23 16:04:17 2009 +0300 UBI: introduce new constants This patch is a clean-up and a preparation for the following patches. It introduece constants for the return values of the 'ubi_eba_copy_leb()' function. Signed-off-by: Artem Bityutskiy commit 10a8ebbb08c4b08292598947bbe534e04d6ee705 Author: Jaroslav Kysela Date: Tue Jun 2 12:02:38 2009 +0200 ALSA: Core - add snd_card_set_id() function Introduce snd_card_set_id() function to allow lowlevel drivers to set default identification name for card slot. The function checks also for identification name collisions and tries to create unique name. Also, the snd_card_create() function is simplified, because this new function is used. As bonus, proper name collision checks are evaluated at the card create time. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3c4dbda003b5941b351bec8d1954e8eaa6e7bc09 Merge: 3b315d7 b20f3b8 Author: Takashi Iwai Date: Tue Jun 2 12:15:48 2009 +0200 Merge branch 'topic/hda-ctl-reset' into topic/hda commit 601e1cc5df940b59e71c947726640811897d30df Author: Takashi Iwai Date: Tue Jun 2 11:37:01 2009 +0200 ALSA: ca0106 - Add missing registrations of vmaster controls Although the vmaster controls are created, they aren't registered thus they don't appear in the real world. Added the missing snd_ctl_add() calls. Signed-off-by: Takashi Iwai Cc: commit d455e5b165a367a628110ec2d18807ea10052cd1 Author: Yevgeny Petrilin Date: Mon Jun 1 23:29:42 2009 +0000 mlx4_en: Updated driver version Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit e486973e9c1477bf2be13c3883ada9ee87222e72 Author: Yevgeny Petrilin Date: Mon Jun 1 23:28:29 2009 +0000 mlx4_en: Added vlan_features support Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit f813cad836ab14b764cfe76f42a3b50bb9677b30 Author: Yevgeny Petrilin Date: Mon Jun 1 23:24:07 2009 +0000 mlx4_en: multiqueue support By default the driver opens 8 TX queues (defined by MLX4_EN_NUM_TX_RINGS). If the driver is configured to support Per Priority Flow Control, we open 8 additional TX rings. dev->real_num_tx_queues is always set to be MLX4_EN_NUM_TX_RINGS. The mlx4_en_select_queue() function uses standard hashing (skb_tx_hash) in case that PPFC is not supported or the skb contain a vlan tag, otherwise the queue is selected according to vlan priority. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 3db36fb2c88d68ee28d20845d5bb805ea9a7f6d8 Author: Yevgeny Petrilin Date: Mon Jun 1 23:23:13 2009 +0000 mlx4_en: Coalescing target is equal for all mtu's The interrupt moderation should not depend on number of incoming bytes, but on number of incoming packets. The previous scheme caused very high interrupts rate for small messages when big MTU was configured. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 3c2fa83f9c2bbb3e91992a2fc443b7104a07e0bc Author: Yevgeny Petrilin Date: Mon Jun 1 23:22:18 2009 +0000 mlx4_en: Work with part of the ports. If the initialization of one of the ports failed, there is no need to fail the other one as well. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 9e47edaa1ae2efad7db0c8c7fb53e4431bb35364 Author: Yevgeny Petrilin Date: Mon Jun 1 23:21:20 2009 +0000 mlx4_en renamed en_params.c to en_ethtool.c Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a2b28737a2c504ad4306eec30fc893e7f4513359 Author: Yevgeny Petrilin Date: Mon Jun 1 23:20:18 2009 +0000 mlx4_en: Moved all module parameters handling to en_main.c en_params.c file now only handles Ethtool functionality Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 453a608277355735190e05c43f909808e0f73641 Author: Yevgeny Petrilin Date: Mon Jun 1 20:27:13 2009 +0000 mlx4_en: Giving interface name in debug messages For each debug message, the message will show interface name in case that the net device was registered, and PCI bus ID with port number if we were not registered yet. Messages that are not port/netdev specific stayed in the old format Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 10a2825514a988225ac2e336c7a9502c4ca57c39 Author: Mike Galbraith Date: Tue Jun 2 11:04:44 2009 +0200 perf_counter tools: Fix uninitialized variable in perf-report.c # make prefix=/usr/local V=1 gcc -o builtin-report.o -c -O2 -ggdb3 -Wall -Werror -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -std=gnu99 -Wdeclaration-after-statement -DSHA1_HEADER='' builtin-report.c cc1: warnings being treated as errors builtin-report.c: In function ‘__cmd_report’: builtin-report.c:626: error: ‘cwdlen’ may be used uninitialized in this function Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Signed-off-by: Ingo Molnar LKML-Reference: commit c1079abd1d5e66edabeb04d75e48e604cd8c167f Author: Mike Galbraith Date: Tue Jun 2 10:17:34 2009 +0200 perf_counter tools: Cleanup Makefile We currently build perf-stat/record etc, only to do nothing with them. We also install the perf binary in two places, $prefix/bin and $perfexec_instdir, which appears to be for binaries which perf would exec were a command not linked in. Correct this, and comment out broken/incomplete targets dist and coverage. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3b315d70b094e8b439358756a9084438fd7a71c2 Author: Hector Martin Date: Tue Jun 2 10:54:19 2009 +0200 ALSA: hda - Acer Aspire 8930G support Short story: this laptop has 5.1 built-in speakers which you *really* want to use (the not-so-"sub" woofer is what makes the audio above average for a laptop), so 6-channel support is important (plus a decent asound.conf to upmix stereo). It also has the 3 typical jacks that ought to have a selectable mode. And it's based on ALC889, which sucks. Rationale/explanations: The const_channel_count stuff was added because, for a laptop like this, you always have 6 channels available (internal speakers) but still need to set the mode for the 3 external jacks. Therefore, the device always needs to be in 6-channel mode but there still needs to be a mixer control for the jack mode. You could use line/mic-in at the same time as the 6 internal speakers, for example. You might be tempted to make it even smarter by dynamically switching the max channel count when headphones are plugged in (therefore muting the internal speakers and reducing the physical channel count to the jack channel mode), but as a user I consider this to be harmful because I want the audio to blow up to 6 channels / upmixed as soon as I unplug the headphones, and having opened the device while in 2-channel mode would prevent this from working (and always making 6-channel mode available doesn't do any harm). The hardware needs EAPD turned on and the DACs routed to the internal speaker pins, so the patch adds those verbs. The ALC889 CLFE and subsequent (side/aux, here unused) DACs do NOT work by default, at least here. I wasted much time trying to talk to Realtek/pshou about this, but they just kept sending me useless updates to patch_realtek.c that did nothing relevant. In the end I gave up and brute forced the issue by trying to flip every bit in the proprietary coefficient registers, and eventually found the two magic registers that need to be cleared to enable all DACs. I have only heard Acer users complain, but that might be because ALC889 is pretty new and using 5.1 (and noticing the missing center/lfe channels) might not be that common. If this is a generalized issue with all ALC889 systems then those verbs should probably be moved to a common verb array. The internal mic is untested and probably doesn't work. These settings will probably work for other Acer Gemstone laptops with the same 5.1 speaker config. When identified, those should be added to the PCI subsystem ID list. Signed-off-by: Hector Martin Signed-off-by: Takashi Iwai commit 8379ea31e991ed2098660954d25f64386adee65c Author: Artem Bityutskiy Date: Fri May 29 12:34:52 2009 +0300 UBIFS: allow sync option in rootflags When passing UBIFS parameters via kernel command line, the sync option will be passed to UBIFS as a string, not as an MS_SYNCHRONOUS flag. Teach UBIFS interpreting this flag. Reported-by: Aurélien GÉRÔME Signed-off-by: Artem Bityutskiy commit 1a1df6f0434fc35c9bf6ca25f9c5115713d77291 Author: Daniel Mack Date: Mon Jun 1 21:36:26 2009 +0200 ALSA: snd_usb_caiaq: give better longname The serial number is of no interest in the longname, remove it. This gives space for the usb path information which is more informative. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit c25486c5ea3ea5586f71285a3aa5cfafb1db59f9 Author: Mike Galbraith Date: Tue Jun 2 08:09:48 2009 +0200 perf_counter tools: Make .gitignore reflect perf_counter tools files Make .gitignore reflect perf_counter tools files so git status doesn't gripe about untracked files. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f771bef98004d9d141b085d987a77d06669d4f4f Author: Nivedita Singhvi Date: Thu May 28 07:00:46 2009 +0000 ipv4: New multicast-all socket option After some discussion offline with Christoph Lameter and David Stevens regarding multicast behaviour in Linux, I'm submitting a slightly modified patch from the one Christoph submitted earlier. This patch provides a new socket option IP_MULTICAST_ALL. In this case, default behaviour is _unchanged_ from the current Linux standard. The socket option is set by default to provide original behaviour. Sockets wishing to receive data only from multicast groups they join explicitly will need to clear this socket option. Signed-off-by: Nivedita Singhvi Signed-off-by: Christoph Lameter Acked-by: David Stevens Signed-off-by: David S. Miller commit 4d52cfbef6266092d535237ba5a4b981458ab171 Author: Eric Dumazet Date: Tue Jun 2 00:42:16 2009 -0700 net: ipv4/ip_sockglue.c cleanups Pure cleanups Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d3873a1be9f2d497e9ff013e4a83a2a4d9f1d22d Author: Daniel Mack Date: Mon Jun 1 21:36:25 2009 +0200 ALSA: snd_usb_caiaq: use strlcpy Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 9318dce5038f193f46091b80c61928395a4139b7 Author: Daniel Mack Date: Mon Jun 1 21:36:23 2009 +0200 ALSA: snd_usb_caiaq: clean whitespaces Cosmetic changes only, no code change. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit dae9de8e13a8a5154688e4c788e65399b4718707 Author: Brian Haley Date: Tue Jun 2 00:20:26 2009 -0700 IPv6: Print error value when skb allocation fails Print-out the error value when sock_alloc_send_skb() fails in the IPv6 neighbor discovery code - can be useful for debugging. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 67fbf880631bb4493ad8d23f25562abdf09dc01d Author: Takashi Iwai Date: Tue Jun 2 09:18:26 2009 +0200 ALSA: ctxfi - Fix a typo in MODULE_LICENSE A space has to be put between GPL and v2. Signed-off-by: Takashi Iwai commit b61b8af0f3883b451bb9c3b3eaea4379aca9f36f Author: Rémi Denis-Courmont Date: Mon Jun 1 01:18:57 2009 +0000 usb: gadget: f_phonet: fix memory allocation sizes Signed-off-by: Rémi Denis-Courmont Signed-off-by: Felipe Balbi Signed-off-by: David S. Miller commit c69367fd6730a330c4ba54e9e699733439cbbabd Author: Rémi Denis-Courmont Date: Mon Jun 1 01:18:56 2009 +0000 f_phonet: no need to check for carrier - scheduler does it internally Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fa202592796499dade5b3854643eaf0eed4d34ba Author: Rémi Denis-Courmont Date: Mon Jun 1 01:18:55 2009 +0000 f_phonet: dev_kfree_skb instead of dev_kfree_skb_any in TX callback Network device TX is never run in IRQ context, and skb is freed outside of the IRQ-disabling spin lock. So checking for IRQ was a waste of time here. Signed-off-by: Rémi Denis-Courmont Signed-off-by: Felipe Balbi Signed-off-by: David S. Miller commit bbd5898d39ab9f855c732f6f07e40e95b05cf52a Author: Rémi Denis-Courmont Date: Mon Jun 1 00:35:16 2009 +0000 Phonet: fix accounting race between gprs_writeable() and gprs_xmit() In the unlikely event that gprs_writeable() and gprs_xmit() check for writeability at the same, we could stop the device queue forever. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit a12af1ebe675e85831fde3c4d0908fc3b0908b7a Author: Abhijith Das Date: Mon Jun 1 12:30:03 2009 -0500 GFS2: smbd proccess hangs with flock() call. GFS2 currently does not support mandatory flocks. An flock() call with LOCK_MAND triggers unexpected behavior because gfs2 is not checking for this lock type. This patch corrects that. Signed-off-by: Abhi Das Signed-off-by: Steven Whitehouse commit 53c663ce0f39ba8e8ef652e400b317bc60ac7f19 Author: Kiyoshi Ueda Date: Tue Jun 2 08:44:01 2009 +0200 block: fix a possible oops on elv_abort_queue() I found one more mis-conversion to the 'request is always dequeued when completing' model in elv_abort_queue() during code inspection. Although I haven't hit any problem caused by this mis-conversion yet and just done compile/boot test, please apply if you have no problem. Request must be dequeued when it completes. However, elv_abort_queue() completes requests without dequeueing. This will cause oops in the __blk_end_request_all(). This patch fixes the oops. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 8a4259bf89d23bfd58d87e275ef6da29cea6b3c5 Author: Takashi Iwai Date: Tue Jun 2 08:40:51 2009 +0200 ALSA: ctxfi - Fix Oops at mmapping Replace a spinlock with a mutex protecting the vm block list at mmap / munmap calls, which caused Oops like below: BUG: sleeping function called from invalid context at mm/slub.c:1599 in_atomic(): 0, irqs_disabled(): 1, pid: 32065, name: xine Pid: 32065, comm: xine Tainted: P 2.6.29.4-75.fc10.x86_64 #1 Call Trace: [] __might_sleep+0x105/0x10a [] kmem_cache_alloc+0x32/0xe2 [] ct_vm_map+0xfa/0x19e [snd_ctxfi] [] ct_map_audio_buffer+0x4c/0x76 [snd_ctxfi] [] atc_pcm_playback_prepare+0x1d7/0x2a8 [snd_ctxfi] [] ? up_read+0x9/0xb [] ? __up_read+0x7c/0x87 [] ct_pcm_playback_prepare+0x39/0x60 [snd_ctxfi] [] snd_pcm_do_prepare+0x16/0x28 [snd_pcm] [] snd_pcm_action_single+0x2d/0x5b [snd_pcm] [] snd_pcm_action_nonatomic+0x52/0x6a [snd_pcm] [] snd_pcm_common_ioctl1+0x404/0xc79 [snd_pcm] [] ? alloc_pages_current+0xb9/0xc2 [] ? new_slab+0x1a5/0x1cb [] ? vma_prio_tree_insert+0x23/0xc1 [] snd_pcm_playback_ioctl1+0x213/0x230 [snd_pcm] [] ? mmap_region+0x397/0x4c9 [] snd_pcm_playback_ioctl+0x2e/0x36 [snd_pcm] [] vfs_ioctl+0x2a/0x78 [] do_vfs_ioctl+0x462/0x4a2 [] ? default_spin_lock_flags+0x9/0xe [] ? trace_hardirqs_off_thunk+0x3a/0x6c [] sys_ioctl+0x55/0x77 [] system_call_fastpath+0x16/0x1b Signed-off-by: Takashi Iwai commit 3447ef29a7f3b1fd0d8d58376950e695e04f6f8b Author: John Williams Date: Tue Mar 24 11:10:00 2009 +1000 microblaze: Don't use access_ok for unaligned it assumes we have an unaligned exception handler which (a) may not be true (b) costs a lot of performance Instead we'll use struct/union method for big endian accesses, and byte-shifting for little endian. Signed-off-by: John Williams commit 77bc7ac87d0d6df1ea099a44e8fc4e998e409606 Author: Andrew Morton Date: Mon Jun 1 21:26:04 2009 -0700 microblaze: remove unused flat_stack_align() definition Signed-off-by: Andrew Morton Signed-off-by: Michal Simek commit fbeb4a9c20d00e2550156f9e5a34473fbde59de2 Author: Serge E. Hallyn Date: Mon Jun 1 22:47:19 2009 -0500 tomoyo: avoid get+put of task_struct Use task_cred_xxx(task, security) in tomoyo_real_domain() to avoid a get+put of the target cred. Signed-off-by: Serge E. Hallyn Acked-by: Tetsuo Handa Signed-off-by: James Morris commit aa07a6990f4b6a8ef9fc538dea55bac6f92255f2 Author: Alex Riesen Date: Tue Jun 2 14:13:14 2009 +1000 crypto: api - Use formatting of module name Besdies, for the old code, gcc-4.3.3 produced this warning: "format not a string literal and no format arguments" Signed-off-by: Alex Riesen Signed-off-by: Herbert Xu commit a0cfae59f8381c5c670fce2cc3de70b35421f920 Author: Herbert Xu Date: Fri May 29 16:23:12 2009 +1000 crypto: testmgr - Allow hash test vectors longer than a page As it stands we will each test hash vector both linearly and as a scatter list if applicable. This means that we cannot have vectors longer than a page, even with scatter lists. This patch fixes this by skipping test vectors with np != 0 when testing linearly. Signed-off-by: Herbert Xu commit fd57f22a09ae276ca3e9cd11ed99b617d611ba82 Author: Herbert Xu Date: Fri May 29 16:05:42 2009 +1000 crypto: testmgr - Check all test vector lengths As we cannot guarantee the availability of contiguous pages at run-time, all test vectors must either fit within a page, or use scatter lists. In some cases vectors were not checked as to whether they fit inside a page. This patch adds all the missing checks. Signed-off-by: Herbert Xu commit f3d8fe40498eea9f45be260bdf6ccada845411f3 Author: Mike Frysinger Date: Wed May 27 15:16:21 2009 +1000 crypto: hifn_795x - fix __dev{init,exit} markings The remove member of the pci_driver hifn_pci_driver uses __devexit_p(), so the remove function itself should be marked with __devexit. And where there be __devexit on the remove, so is there __devinit on the probe. Similarly, the module_init/module_exit functions should be declared with plain __init/__exit markings, not the hotplug __dev{init,exit} ones. Signed-off-by: Mike Frysinger Acked-by: Evgeniy Polyakov CC: Patrick McHardy Signed-off-by: Herbert Xu commit 4e033a6bc70f094d36128c328f6ca725c6ca4b4c Author: Jarod Wilson Date: Wed May 27 15:10:21 2009 +1000 crypto: tcrypt - Do not exit on success in fips mode At present, the tcrypt module always exits with an -EAGAIN upon successfully completing all the tests its been asked to run. In fips mode, integrity checking is done by running all self-tests from the initrd, and its much simpler to check the ret from modprobe for success than to scrape dmesg and/or /proc/crypto. Simply stay loaded, giving modprobe a retval of 0, if self-tests all pass and we're in fips mode. A side-effect of tracking success/failure for fips mode is that in non-fips mode, self-test failures will return the actual failure return codes, rather than always returning -EAGAIN, which seems more correct anyway. The tcrypt_test() portion of the patch is dependent on my earlier pair of patches that skip non-fips algs in fips mode, at least to achieve the fully intended behavior. Nb: testing this patch against the cryptodev tree revealed a test failure for sha384, which I have yet to look into... Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 3ce858cb04de8bc83449eac707c8012a1944daca Author: Geert Uytterhoeven Date: Wed May 27 15:05:02 2009 +1000 crypto: compress - Return produced bytes in crypto_{,de}compress_{update,final} If crypto_{,de}compress_{update,final}() succeed, return the actual number of bytes produced instead of zero, so their users don't have to calculate that theirselves. Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit e9736c16da9077728802f42393d18258e6685428 Author: Harald Welte Date: Fri May 15 16:01:52 2009 +1000 hwrng: via_rng - Support VIA Nano hardware RNG on X86_64 builds Fix Kconfig to build via-rng.ko on X86_64 builds, as the VIA Nano CPU supports x86_64, too. Signed-off-by: Harald Welte Signed-off-by: Herbert Xu commit 858576bdc5d65edf1fffd2e65b2165ec1dc68486 Author: Harald Welte Date: Fri May 15 16:00:32 2009 +1000 hwrng: via_rng - Support VIA Nano hardware RNG The VIA Nano CPU supports the same XSTORE instruction based RNG, but it lacks the MSR present in earlier CPUs. Signed-off-by: Harald Welte Signed-off-by: Herbert Xu commit 608d1cd5d375580a49d01b5ed1f9944f5141ae19 Author: Harald Welte Date: Fri May 15 15:57:35 2009 +1000 hwrng: via_rng - The VIA Hardware RNG driver is for the CPU, not Chipset This is a cosmetic change, fixing the MODULE_DESCRIPTION() of via-rng.c Signed-off-by: Harald Welte Signed-off-by: Herbert Xu commit a3bef3a31a19bd943047ba8bf5b2cc7b5d164362 Author: Jarod Wilson Date: Fri May 15 15:17:05 2009 +1000 crypto: testmgr - Skip algs not flagged fips_allowed in fips mode Because all fips-allowed algorithms must be self-tested before they can be used, they will all have entries in testmgr.c's alg_test_descs[]. Skip self-tests for any algs not flagged as fips_approved and return -EINVAL when in fips mode. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit a1915d51e8e7ee192d2101d621d425379088cbb0 Author: Jarod Wilson Date: Fri May 15 15:16:03 2009 +1000 crypto: testmgr - Mark algs allowed in fips mode Set the fips_allowed flag in testmgr.c's alg_test_descs[] for algs that are allowed to be used when in fips mode. One caveat: des isn't actually allowed anymore, but des (and thus also ecb(des)) has to be permitted, because disallowing them results in des3_ede being unable to properly register (see des module init func). Also, crc32 isn't technically on the fips approved list, but I think it gets used in various places that necessitate it being allowed. This list is based on http://csrc.nist.gov/groups/STM/cavp/index.html Important note: allowed/approved here does NOT mean "validated", just that its an alg that *could* be validated. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit f7cb80f2b9fa06730be20d17c80b12e511a36c1c Author: Jarod Wilson Date: Wed May 6 17:29:17 2009 +0800 crypto: testmgr - Add ctr(aes) test vectors Now with multi-block test vectors, all from SP800-38A, Appendix F.5. Also added ctr(aes) to case 10 in tcrypt. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit f8b0d4d09dc9d0a73fcdcf6c2724650529ec417d Author: Herbert Xu Date: Wed May 6 14:15:47 2009 +0800 crypto: testmgr - Dynamically allocate xbuf and axbuf We currently allocate temporary memory that is used for testing statically. This renders the testing engine non-reentrant. As algorithms may nest, i.e., one may construct another in order to carry out a part of its operation, this is unacceptable. For example, it has been reported that an AEAD implementation allocates a cipher in its setkey function, which causes it to fail during testing as the temporary memory is overwritten. This patch replaces the static memory with dynamically allocated buffers. We need a maximum of 16 pages so this slightly increases the chances of an algorithm failing due to memory shortage. However, as testing usually occurs at registration, this shouldn't be a big problem. Reported-by: Shasi Pulijala Signed-off-by: Herbert Xu commit 29ecd4ab3d3aa8bb231361937165dfbbbc534e9a Author: Jarod Wilson Date: Mon May 4 19:51:17 2009 +0800 crypto: testmgr - Print self-test pass notices in fips mode According to our FIPS CAVS testing lab guru, when we're in fips mode, we must print out notices of successful self-test completion for every alg to be compliant. New and improved v2, without strncmp crap. Doesn't need to touch a flag though, due to not moving the notest label around anymore. Applies atop '[PATCH v2] crypto: catch base cipher self-test failures in fips mode'. Personally, I wouldn't mind seeing this info printed out regardless of whether or not we're in fips mode, I think its useful info, but will stick with only in fips mode for now. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 941fb3287c0c0d84000b669db5450ac4886da640 Author: Jarod Wilson Date: Mon May 4 19:49:23 2009 +0800 crypto: testmgr - Catch base cipher self-test failures in fips mode Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit e08ca2da39db22da569dc23578103cdc942fe3ac Author: Jarod Wilson Date: Mon May 4 19:46:29 2009 +0800 crypto: testmgr - Add ansi_cprng test vectors Add ANSI X9.31 Continuous Pseudo-Random Number Generator (AES mode), aka 'ansi_cprng' test vectors, taken from Appendix B.2.9 and B.2.10 of the NIST RNGVS document, found here: http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf Successfully tested against both the cryptodev-2.6 tree and a Red Hat Enterprise Linux 5.4 kernel, via 'modprobe tcrypt mode=150'. The selection of 150 was semi-arbitrary, didn't seem like it should go any place in particular, so I started a new range for rng tests. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 7647d6ce2077d9e1c3d72359f6b4492be129cfe8 Author: Jarod Wilson Date: Mon May 4 19:44:50 2009 +0800 crypto: testmgr - Add infrastructure for ansi_cprng self-tests Add some necessary infrastructure to make it possible to run self-tests for ansi_cprng. The bits are likely very specific to the ANSI X9.31 CPRNG in AES mode, and thus perhaps should be named more specifically if/when we grow additional CPRNG support... Successfully tested against the cryptodev-2.6 tree and a Red Hat Enterprise Linux 5.x kernel with the follow-on patch that adds the actual test vectors. Signed-off-by: Jarod Wilson Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 5d667322a25ab4ecb91176db118fd663fee4da35 Author: Jarod Wilson Date: Mon May 4 19:23:40 2009 +0800 crypto: testmgr - Add self-tests for rfc4309(ccm(aes)) Add an array of encryption and decryption + verification self-tests for rfc4309(ccm(aes)). Test vectors all come from sample FIPS CAVS files provided to Red Hat by a testing lab. Unfortunately, all the published sample vectors in RFC 3610 and NIST Special Publication 800-38C contain nonce lengths that the kernel's rfc4309 implementation doesn't support, so while using some public domain vectors would have been preferred, its not possible at this time. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit e44a1b44c3a9794236fe038b89a0fbef5adcd523 Author: Jarod Wilson Date: Mon May 4 19:22:11 2009 +0800 crypto: testmgr - Handle AEAD test vectors expected to fail verification Add infrastructure to tcrypt/testmgr to support handling ccm decryption test vectors that are expected to fail verification. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 2f8174187f409213e63c3589af163c627e8a182a Author: Herbert Xu Date: Wed Apr 22 13:00:15 2009 +0800 crypto: padlock - Restore dependency on x86 When we added 64-bit support to padlock the dependency on x86 was lost. This causes build failures on non-x86 architectures. Reported-by: Stephen Rothwell Signed-off-by: Herbert Xu commit d1c8b0a7692e81b46550bcc493465ed10510cd33 Author: Sebastian Andrzej Siewior Date: Tue Apr 21 14:14:37 2009 +0800 crypto: padlock - Enable on x86_64 Almost everything stays the same, we need just to use the extended registers on the bit variant. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit 962a9c99496f98041d14d64a9fdcf58050fefb4d Author: Kim Phillips Date: Sun Mar 29 15:54:30 2009 +0800 crypto: talitos - Avoid unnecessary decrypt check the ICV check bit only gets set in decrypt entry points Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 19bbbc635523703ece28409e59694d5b512b819e Author: Kim Phillips Date: Sun Mar 29 15:53:59 2009 +0800 crypto: talitos - containerof related codingstyle no functional changes. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit e938e4656b3ee32e046ee8293411a07be9d72eb8 Author: Kim Phillips Date: Sun Mar 29 15:53:23 2009 +0800 crypto: talitos - Whitespace/codingstyle/overrun lines cleanup no functional changes. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 4de9d0b547b97e40c93a885ac6246c2c5fef05cb Author: Lee Nipper Date: Sun Mar 29 15:52:32 2009 +0800 crypto: talitos - Add ablkcipher algorithms Add these ablkcipher algorithms: cbc(aes), cbc(des3_ede). Added handling of chained scatterlists with zero length entry because eseqiv uses it. Added new map and unmap routines. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 56af8cd44b05bd9649103b76a6e1e575682990e4 Author: Lee Nipper Date: Sun Mar 29 15:50:50 2009 +0800 crypto: talitos - scaffolding for new algorithm types This patch is preparation for adding new algorithm types. Some elements which are AEAD specific were renamed. The algorithm template structure was changed to use crypto_alg, and talitos_alg_alloc was made more general with respect to algorithm types. ipsec_esp_edesc is renamed to talitos_edesc to use it in the upcoming ablkcipher routines. Signed-off-by: Lee Nipper Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 9f171adc192fc3c8ffbb691cfdcc70259d75c6ea Author: Uwe Kleine-König Date: Sun Mar 29 15:47:06 2009 +0800 hwrng: omap - Move probe function to .devinit.text A pointer to omap_rng_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: David Brownell Cc: Patrick McHardy Cc: Jan Engelhardt Cc: Michael Buesch Cc: Andrew Morton Signed-off-by: Herbert Xu commit 2f6ceb7933f52f238519a9c2f65c628eecdac962 Author: Geert Uytterhoeven Date: Sun Mar 29 15:45:30 2009 +0800 crypto: pcomp - pcompress.c should include crypto/internal/compress.h make C=1: | crypto/pcompress.c:77:5: warning: symbol 'crypto_register_pcomp' was not declared. Should it be static? | crypto/pcompress.c:89:5: warning: symbol 'crypto_unregister_pcomp' was not declared. Should it be static? Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit c79cf91006f03adb603879013b6710b6062c8445 Author: Geert Uytterhoeven Date: Sun Mar 29 15:44:19 2009 +0800 crypto: testmgr - Kill test_comp() sparse warnings make C=1: | crypto/testmgr.c:846:45: warning: incorrect type in argument 5 (different signedness) | crypto/testmgr.c:846:45: expected unsigned int *dlen | crypto/testmgr.c:846:45: got int * | crypto/testmgr.c:878:47: warning: incorrect type in argument 5 (different signedness) | crypto/testmgr.c:878:47: expected unsigned int *dlen | crypto/testmgr.c:878:47: got int * Signed-off-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit 2cf4ac8beb9dc50a315a6155b7b70e754d511958 Author: Huang Ying Date: Sun Mar 29 15:41:20 2009 +0800 crypto: aes-ni - Add support for more modes Because kernel_fpu_begin() and kernel_fpu_end() operations are too slow, the performance gain of general mode implementation + aes-aesni is almost all compensated. The AES-NI support for more modes are implemented as follow: - Add a new AES algorithm implementation named __aes-aesni without kernel_fpu_begin/end() - Use fpu((AES)) to provide kenrel_fpu_begin/end() invoking - Add (AES) ablkcipher, which uses cryptd(fpu((AES))) to defer cryption to cryptd context in soft_irq context. Now the ctr, lrw, pcbc and xts support are added. Performance testing based on dm-crypt shows that cryption time can be reduced to 50% of general mode implementation + aes-aesni implementation. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 150c7e85526e80474b87004f4b420e8834fdeb43 Author: Huang Ying Date: Sun Mar 29 15:39:02 2009 +0800 crypto: fpu - Add template for blkcipher touching FPU Blkcipher touching FPU need to be enclosed by kernel_fpu_begin() and kernel_fpu_end(). If they are invoked in cipher algorithm implementation, they will be invoked for each block, so that performance will be hurt, because they are "slow" operations. This patch implements "fpu" template, which makes these operations to be invoked for each request. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 505fd21d6138545aa5e96aa738975e6a9deb98a9 Author: Huang Ying Date: Sun Mar 29 15:33:53 2009 +0800 crypto: cryptd - Use nivcipher in cryptd_alloc_ablkcipher Use crypto_alloc_base() instead of crypto_alloc_ablkcipher() to allocate underlying tfm in cryptd_alloc_ablkcipher. Because crypto_alloc_ablkcipher() prefer GENIV encapsulated crypto instead of raw one, while cryptd_alloc_ablkcipher needed the raw one. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 811d8f062668077e268a7292202bb923fe2ae896 Author: Johannes Weiner Date: Sun Mar 29 15:20:48 2009 +0800 crypto: api - Use kzfree Use kzfree() instead of memset() + kfree(). Signed-off-by: Johannes Weiner Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit 376bacb0a26bca722981d1610ffb76f951572bb1 Author: Frank Seidel Date: Sun Mar 29 15:18:39 2009 +0800 crypto: tcrypt - Reduce stack size Applying kernel janitors todos (printk calls need KERN_* constants on linebeginnings, reduce stack footprint where possible) to tcrypts test_hash_speed (where stacks memory footprint was very high (on i386 1184 bytes to 160 now). Signed-off-by: Frank Seidel Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 0f6ce3de4ef6ff940308087c49760d068851c1a7 Author: Steven Rostedt Date: Mon Jun 1 21:51:28 2009 -0400 ftrace: do not profile functions when disabled A race was found that if one were to enable and disable the function profiler repeatedly, then the system can panic. This was because a profiled function may be preempted just before disabling interrupts. While the profiler is disabled and then reenabled, the preempted function could start again, and access the hash as it is being initialized. This just adds a check in the irq disabled part to check if the profiler is enabled, and if it is not then it will just exit. When the system is disabled, the profile_enabled variable is cleared before calling the unregistering of the function profiler. This unregistering calls stop machine which also acts as a synchronize schedule. [ Impact: fix panic in enabling/disabling function profiler ] Signed-off-by: Steven Rostedt commit 112f38a7e36e9d688b389507136bf3af3e6d159b Author: Steven Rostedt Date: Mon Jun 1 15:16:05 2009 -0400 tracing: make trace pipe recognize latency format flag The trace_pipe did not recognize the latency format flag and would produce different output than the trace file. The problem was partly due that the trace flags in the iterator was not set as well as the trace_pipe zeros out part of the iterator (including the flags) to be able to use the same routines as the trace file. trace_flags of the iterator should not cause any problems when not zeroed out by for trace_pipe. Reported-by: Johannes Berg Signed-off-by: Steven Rostedt commit 1d080d6c3141623c92caaebe20e847cb99ccbb60 Author: Steven Rostedt Date: Mon Jun 1 12:20:40 2009 -0400 tracing: remove redundant SOFTIRQ from softirq event traces After converting the softirq tracer to use te flags options, this caused a regression with the name. Since the flag was used directly it was printed out (i.e. HRTIMER_SOFTIRQ). This patch only shows the softirq name without the SOFTIRQ part. [ Impact: fix regression of output from softirq events ] Signed-off-by: Steven Rostedt commit ec081ddc3d90aab35bc0de19a358b964978837cf Author: Steven Whitehouse Date: Mon Jun 1 15:53:35 2009 +0100 tracing: add exports to use __print_symbolic and __print_flags from a module A patch to allow the use of __print_symbolic and __print_flags from a module. This allows the current GFS2 tracing patch to build. Signed-off-by: Steven Whitehouse LKML-Reference: <1243868015.29604.542.camel@localhost.localdomain> Signed-off-by: Steven Rostedt commit 7fcb7c472f455d1711eb5a7633204dba8800a6d6 Author: Li Zefan Date: Mon Jun 1 15:35:46 2009 +0800 tracing/events: introduce __dynamic_array() __string() is limited: - it's a char array, but we may want to define array with other types - a source string should be available, but we may just know the string size We introduce __dynamic_array() to break those limitations, and __string() becomes a wrapper of it. As a side effect, now __get_str() can be used in TP_fast_assign but not only TP_print. Take XFS for example, we have the string length in the dirent, but the string itself is not NULL-terminated, so __dynamic_array() can be used: TRACE_EVENT(xfs_dir2, TP_PROTO(struct xfs_da_args *args), TP_ARGS(args), TP_STRUCT__entry( __field(int, namelen) __dynamic_array(char, name, args->namelen + 1) ... ), TP_fast_assign( char *name = __get_str(name); if (args->namelen) memcpy(name, args->name, args->namelen); name[args->namelen] = '\0'; __entry->namelen = args->namelen; ), TP_printk("name %.*s namelen %d", __entry->namelen ? __get_str(name) : NULL __entry->namelen) ); [ Impact: allow defining dynamic size arrays ] Signed-off-by: Li Zefan LKML-Reference: <4A2384D2.3080403@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit a9c1c3abe1160a5632e48c929b02b740556bf423 Author: Li Zefan Date: Mon Jun 1 15:35:13 2009 +0800 tracing/events: put TP_fast_assign into braces Currently TP_fast_assign has a limitation that we can't define local variables in it. Here's one use case when we introduce __dynamic_array(): TP_fast_assign( type *p = __get_dynamic_array(item); foo(p); bar(p); ), [ Impact: allow defining local variables in TP_fast_assign ] Signed-off-by: Li Zefan LKML-Reference: <4A2384B1.90100@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 6e25db44a7ad7eb380f4ec774ec00a8fcddea112 Author: Li Zefan Date: Fri May 29 11:24:59 2009 +0800 tracing/events: fix a typo in __string() format output "tsize" should be "\tsize". Also remove the space before "__str_loc". Before: # cat tracing/events/irq/irq_handler_entry/format ... field:int irq; offset:12; size:4; field: __str_loc name; offset:16;tsize:2; ... After: # cat tracing/events/irq/irq_handler_entry/format ... field:int irq; offset:12; size:4; field:__str_loc name; offset:16; size:2; ... [ Impact: standardize __string field description in events format file ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 897f17a65389a26509bd0c79a9812d1c9ea8ea6f Author: Steven Rostedt Date: Thu May 28 16:31:21 2009 -0400 tracing: combine the default tracers into one config Both event tracer and sched switch plugin are selected by default by all generic tracers. But if no generic tracer is enabled, their options appear. But ether one of them will select the other, thus it only makes sense to have the default tracers be selected by one option. [ Impact: clean up kconfig menu ] Signed-off-by: Steven Rostedt commit 5e0a093910876882f91f1d4b8a1635a099e6c7ba Author: Steven Rostedt Date: Thu May 28 15:50:13 2009 -0400 tracing: fix config options to not show when automatically selected There are two options that are selected by all tracers, but we want to have those options available when no tracer is selected. These are The event tracer and sched switch tracer. The are enabled by all tracers, but if a tracer is not selected we want the options to appear. All tracers including them select TRACING. Thus what we would like to do is: config EVENT_TRACER bool "prompt" depends on TRACING select TRACING But that gives us a bug in the kbuild system since we just created a circular dependency. We only want the prompt to show when TRACING is off. This patch adds GENERIC_TRACER that all tracers will select instead of TRACING. The two options (sched switch and event tracer) will select TRACING directly and depend on !GENERIC_TRACER. This solves the cicular dependency. [ Impact: hide options that are selected by default ] Signed-off-by: Steven Rostedt commit 2af15d6a44b871ad4c2a651302374cde8f335480 Author: Steven Rostedt Date: Thu May 28 13:37:24 2009 -0400 ftrace: add kernel command line function filtering When using ftrace=function on the command line to trace functions on boot up, one can not filter out functions that are commonly called. This patch adds two new ftrace command line commands. ftrace_notrace=function-list ftrace_filter=function-list Where function-list is a comma separated list of functions to filter. The ftrace_notrace will make the functions listed not be included in the function tracing, and ftrace_filter will only trace the functions listed. These two act the same as the debugfs/tracing/set_ftrace_notrace and debugfs/tracing/set_ftrace_filter respectively. The simple glob expressions that are allowed by the filter files can also be used by the command line interface. ftrace_notrace=rcu*,*lock,*spin* Will not trace any function that starts with rcu, ends with lock, or has the word spin in it. Note, if the self tests are enabled, they may interfere with the filtering set by the command lines. Signed-off-by: Steven Rostedt commit 138f025267dcc07d5e7d0bb1f20e9a6b5f2fdcf7 Author: Kuninori Morimoto Date: Tue Jun 2 02:49:28 2009 +0000 sh: sh7723: L2 cache initialization. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b4bd9eb0d8f5c20f942ff037c8a7939f69cb188a Author: Kuninori Morimoto Date: Tue Jun 2 02:49:25 2009 +0000 sh: sh7724: L2 cache initialization. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit fab88d9fe98e9091aafeb9789fbf2e04fdace8ed Author: Kuninori Morimoto Date: Tue Jun 2 02:49:20 2009 +0000 sh: add weak l2_cache_init function. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit d974ac24b762296eeaebb23e5eff8ed15ce44529 Author: Kuninori Morimoto Date: Tue Jun 2 02:49:13 2009 +0000 sh: add RAMCR definition for sh4 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit dd0a3e77c825c9f5c6d2a97deb047f8d52026581 Author: SUGIOKA Toshinobu Date: Mon Jun 1 03:53:41 2009 +0000 serial: sh-sci: Fix up PORT_SCI console output ordering. Fix SCI transmission sequence in console output function. This reorders the write sequence to match the SH-3 manual, and corrects a console corruption bug observed on SH-3 SCI. Signed-off-by: Toshinobu Sugioka Signed-off-by: Paul Mundt commit 4778541470cf7d074acd998fd40c06b94711e4ad Author: Kuninori Morimoto Date: Fri May 29 07:41:26 2009 +0000 sh: fix CONFIG_SH_PCLK_FREQ bug for sh7724 CONFIG_SH_PCLK_FREQ=33333333 is correct for sh7724. sh7724 master clock is 33333333, but peripheral is 41666666. This bug came to light because sh-sci driver had changed clk from "module_clk" to "peripheral_clk" Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c8c96525f3c25f43a4fa230e293c4976c0c36cc1 Author: Arnaldo Carvalho de Melo Date: Mon Jun 1 17:50:57 2009 -0300 perf_counter tools: Add missing rb_erase in dso__delete_symbols Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090601205057.GB7805@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a0055ae2a4e13db9534c438cf8f3896181da6afc Author: Arnaldo Carvalho de Melo Date: Mon Jun 1 17:50:19 2009 -0300 perf_counter tools: Use hex2u64 in more places This has also a nice side effect, tools built on newer systems such as fedora 10 again work on systems with older versions of glibc: My workstation: [acme@doppio ~]$ rpm -q glibc.x86_64 glibc-2.9-3.x86_64 Test machine: [acme@emilia ~]$ rpm -q glibc.x86_64 glibc-2.5-24 Before: [acme@emilia ~]$ perf perf: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by perf) [acme@emilia ~]$ nm `which perf` | grep GLIBC_2\.7 U __isoc99_sscanf@@GLIBC_2.7 [acme@emilia ~]$ After: [acme@emilia ~]$ perf usage: perf [--version] [--help] COMMAND [ARGS] The most commonly used perf commands are: record Run a command and record its profile into perf.data report Read perf.data (created by perf record) and display the profile stat Run a command and gather performance counter statistics top Run a command and profile it See 'perf help COMMAND' for more information on a specific command. [acme@emilia ~]$ nm `which perf` | grep GLIBC_2\.7 [acme@emilia ~]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090601205019.GA7805@ghostprotocols.net> Signed-off-by: Ingo Molnar commit ea5cc87c63b49c133d15ec2911bb2e49e8124516 Author: Arnaldo Carvalho de Melo Date: Mon Jun 1 22:31:03 2009 -0300 perf_counter tools: Add string.[ch] Add hex conversion libraries. We are going to replace sscanf() uses with them. Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit baf75b0a42a1b3f6fca80f8949b6141eaff61b0d Author: Stephen Rothwell Date: Mon Jun 1 14:53:53 2009 +0000 powerpc/pci: Fix annotation of pcibios_claim_one_bus It was __devinit, but it is also within a CONFIG_HOTPLUG guarded section of code, so the __devinit does nothing but cause the following warning: WARNING: vmlinux.o(.text+0x107a8): Section mismatch in reference from the function pcibios_finish_adding_to_bus() to the function .devinit.text:pcibios_claim_one_bus() The function pcibios_finish_adding_to_bus() references the function __devinit pcibios_claim_one_bus(). This is often because pcibios_finish_adding_to_bus lacks a __devinit annotation or the annotation of pcibios_claim_one_bus is wrong. It is also only (externally) used in arch/powerpc/kernel/of_platform.c which cannot be built as a module so don't export it. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 3d58829b0510244596079c1d2f1762c53aef2e97 Author: Jiri Slaby Date: Thu May 28 09:54:47 2009 +0200 x86, apic: Restore irqs on fail paths lapic_resume forgets to restore interrupts on fail paths. Fix that. Signed-off-by: Jiri Slaby Acked-by: Cyrill Gorcunov LKML-Reference: <1243497289-18591-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar Cc: H. Peter Anvin commit 92e02a5125a22a4da58090c94f520432da700d73 Author: Michael Ellerman Date: Thu May 28 19:33:36 2009 +0000 powerpc/ftrace: Use PPC_INST_NOP directly There's no need to wrap PPC_INST_NOP in a static inline. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 898b160fe9d84b7e194c9ed0495193952909c9bd Author: Michael Ellerman Date: Thu May 28 19:33:35 2009 +0000 powerpc/ftrace: Remove unused macros These macros were used in the original port, but since commit e4486fe316 (ftrace, use probe_kernel API to modify code) they are unused. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 4a9e3f8e94d6740fbd3f149f2aa4caa82a6427ed Author: Michael Ellerman Date: Thu May 28 19:33:34 2009 +0000 powerpc/ftrace: Use ppc_function_entry() instead of GET_ADDR Use ppc_function_entry() from code-patching.h. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit f03cdb3a66901bb301b9d06ac0690de00d99ad39 Author: Nathan Fontenot Date: Wed May 27 04:41:21 2009 +0000 powerpc: Display processor virtualization resource allocs in lparcfg This patch updates the output from /proc/ppc64/lparcfg to display the processor virtualization resource allocations for a shared processor partition. This information is already gathered via the h_get_ppp call, we just have to make sure that the ibm,partition-performance-parameters-level property is >= 1 to ensure that the information is valid. Signed-off-by: Nathan Fontenot Signed-off-by: Benjamin Herrenschmidt commit f8729e8531cd92e892dd85a3d10669834ad0b23c Author: Anton Blanchard Date: Mon May 25 20:25:49 2009 +0000 powerpc: Convert RTAS event scan from kernel thread to workqueue RTAS event scan has to run across all cpus. Right now we use a kernel thread and set_cpus_allowed but in doing so we wake up the previous cpu unnecessarily. Some ftrace output shows this: previous cpu (2): [002] 7.022331: sched_switch: task swapper:0 [140] ==> rtasd:194 [120] [002] 7.022338: sched_switch: task rtasd:194 [120] ==> migration/2:9 [0] [002] 7.022344: sched_switch: task migration/2:9 [0] ==> swapper:0 [140] next cpu (3): [003] 7.022345: sched_switch: task swapper:0 [140] ==> rtasd:194 [120] [003] 7.022371: sched_switch: task rtasd:194 [120] ==> swapper:0 [140] We can use schedule_delayed_work_on and avoid the unnecessary wakeup. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 0512a9a8e277a9de2820211eef964473b714ae65 Author: Michel Dänzer Date: Fri May 22 10:59:10 2009 +0000 therm_adt746x: Always clear hardware bit which inverts fan speed range. This bit would get enabled sometimes (probably after suspend/resume), so the fan would run at full speed below the temperature thresholds, but slow down and eventually stop if temperatures rose above the thresholds... not exactly what you want. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit a85c8e17587e81e1c82f6f341a81e4c778fa65f6 Author: roel kluin Date: Tue May 19 14:58:56 2009 +0000 tape: beyond ARRAY_SIZE of viocd_diskinfo Do not go beyond ARRAY_SIZE of tape_device and viotape_unitinfo Signed-off-by: Roel Kluin Acked-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 2d8ae638bb86a3c7e8a7e610ec5ae545327d146a Author: Michael Neuling Date: Sun May 17 15:13:16 2009 +0000 powerpc: Make the NR_CPUS max 8192 We can compile and boot with NR_CPUS=8192, so make this the max. 1024 was an arbitrary decision anyway. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 58f892e022e88438183c48661dcdc6a2997dab99 Author: Naga Chumbalkar Date: Tue May 26 21:48:07 2009 +0000 x86: Print real IOAPIC version for x86-64 Fix the fact that the IOAPIC version number in the x86_64 code path always gets assigned to 0, instead of the correct value. Before the patch: (from "dmesg" output): ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 8, version 0, address 0xfec00000, GSI 0-23 <--- After the patch: ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23 <--- History: io_apic_get_version() was compiled out of the x86_64 code path in the commit f2c2cca3acef8b253a36381d9b469ad4fb08563a: Author: Andi Kleen Date: Tue Sep 26 10:52:37 2006 +0200 [PATCH] Remove APIC version/cpu capability mpparse checking/printing ACPI went to great trouble to get the APIC version and CPU capabilities of different CPUs before passing them to the mpparser. But all that data was used was to print it out. Actually it even faked some data based on the boot cpu, not on the actual CPU being booted. Remove all this code because it's not needed. Cc: len.brown@intel.com At the time, the IOAPIC version number was deliberately not printed in the x86_64 code path. However, after the x86 and x86_64 files were merged, the net result is that the IOAPIC version is printed incorrectly in the x86_64 code path. The patch below provides a fix. I have tested it with acpi, and with acpi=off, and did not see any problems. Signed-off-by: Naga Chumbalkar Acked-by: Yinghai Lu LKML-Reference: <20090416014230.4885.94926.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar ************************* commit b20f3b834673be9ead83a3c6f07fa3881d1a990f Author: Takashi Iwai Date: Tue Jun 2 01:20:22 2009 +0200 ALSA: hda - Limit codec-verb retry to limited hardwares The reset of a BUS controller during operations is somehow risky and shouldn't be done inevitably for devices that have apparently no such codec-communication problems. This patch adds the check of the hardware and limits the bus-reset capability. Signed-off-by: Takashi Iwai commit 8dd783304e6d0f7c2830365d63f75f08aa343e10 Author: Takashi Iwai Date: Tue Jun 2 01:16:07 2009 +0200 ALSA: hda - Add codec bus reset and verb-retry at critical errors Some machines machine cause a severe CORB/RIRB stall in certain weird conditions, such as PA access at the start up together with fglrx driver. This seems unable to be recovered without the controller reset. This patch allows the bus controller reset at critical errors so that the communication gets recovered again. Signed-off-by: Takashi Iwai commit 43bd1236234cacbc18d1476a9b57e7a306efddf5 Author: Frederic Weisbecker Date: Sat May 30 04:25:30 2009 +0200 tracing/stat: remove unappropriate safe walk on list register_stat_tracer() uses list_for_each_entry_safe to check whether a tracer is already present in the list. But we don't delete anything from the list here, so we don't need the safe version [ Impact: cleanup list use is stat tracing ] Signed-off-by: Frederic Weisbecker commit dbd3fbdfeecfad4e71139db05d72560c3583e2a9 Author: Li Zefan Date: Wed May 27 11:42:46 2009 +0800 tracing/stat: do some cleanups - remove duplicate code in stat_seq_init() - update comments to reflect the change from stat list to stat rbtree [ Impact: clean up ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker commit e16228069083a2f6b94383ac5739aea7a0f38ce4 Author: Li Zefan Date: Wed May 27 11:04:48 2009 +0800 tracing/stat: remember to free root node When closing a trace_stat file, we destroy the rbtree constructed during file open, but there is memory leak that the root node is not freed. [ Impact: fix memory leak when closing a trace_stat file ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker commit b3dd7ba7d862707800c7ac45068f14ade2b65155 Author: Li Zefan Date: Wed May 27 11:04:26 2009 +0800 tracing/stat: change dummpy_cmp() to return -1 Currently the output of trace_stat/workqueues is totally reversed: # cat /debug/tracing/trace_stat/workqueues ... 1 17 17 210 37 `-blk_unplug_work+0x0/0x57 1 3779 3779 181 11 |-cfq_kick_queue+0x0/0x2f 1 3796 3796 kblockd/1:120 ... The correct output should be: 1 3796 3796 kblockd/1:120 1 3779 3779 181 11 |-cfq_kick_queue+0x0/0x2f 1 17 17 210 37 `-blk_unplug_work+0x0/0x57 It's caused by "tracing/stat: replace linked list by an rbtree for sorting" (53059c9b67a62a3dc8c80204d3da42b9267ea5a0). dummpy_cmp() should return -1, so rb_node will always be inserted as right-most node in the rbtree, thus we sort the output in ascending order. [ Impact: fix the output of trace_stat/workqueues ] Signed-off-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 8f184f27300f66f6dcc8296c2dae7a1fbe8429c9 Author: Frederic Weisbecker Date: Sat May 16 06:24:36 2009 +0200 tracing/stat: replace linked list by an rbtree for sorting When the stat tracing framework prepares the entries from a tracer to output them to the user, it starts by computing a linear sort through a linked list to give the entries ordered by relevance to the user. This is quite ugly and causes a small latency when we begin to read the file. This patch changes that by turning the linked list into a red-black tree. Athough the whole iteration using the start and next tracer callbacks while opening the file remain the same, it is now much more fast and scalable. The rbtree guarantees O(log(n)) insertions whereas a linked list with linear sorting brought us a O(n) despair. Now the (visible) latency has disapeared. [ Impact: kill the latency while starting to read a stat tracer file ] Signed-off-by: Frederic Weisbecker commit 0d64f8342de26d02451900b1aad94716fe92c4ab Author: Frederic Weisbecker Date: Sat May 16 05:58:49 2009 +0200 tracing/stat: replace trace_stat_session by stat_session The "trace" prefix in struct trace_stat_session type is annoying while reading the trace_stat.c file. It makes the lines longer, and is not that much useful to explain the sense of this type. Just keep "struct stat_session" for this type. [ Impact: make the code a bit more readable ] Signed-off-by: Frederic Weisbecker commit f3c4ae26e93d354152196b62797ba86ad86dd0cc Author: Zhaolei Date: Mon Apr 20 15:02:17 2009 +0800 trace_workqueue: remove blank line between each cpu The blankline between each cpu's workqueue stat is not necessary, because the cpu number is enough to part them by eye. Old style also caused a blankline below headline, and made code complex by using lock, disableirq and get cpu var. Old style: # CPU INSERTED EXECUTED NAME # | | | | 0 8644 8644 events/0 0 0 0 cpuset ... 0 1 1 kdmflush 1 35365 35365 events/1 ... New style: # CPU INSERTED EXECUTED NAME # | | | | 0 8644 8644 events/0 0 0 0 cpuset ... 0 1 1 kdmflush 1 35365 35365 events/1 ... [ Impact: provide more readable code ] Signed-off-by: Zhao Lei Cc: KOSAKI Motohiro Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit b8867164f05791a6b5363bd51c1274e03600886e Author: Zhaolei Date: Mon Apr 20 14:59:36 2009 +0800 trace_workqueue: remove cpu_workqueue_stats->first_entry cpu_workqueue_stats->first_entry is useless because we can retrieve the header of a cpu workqueue using: if (&cpu_workqueue_stats->list == workqueue_cpu_stat(cpu)->list.next) [ Impact: cleanup ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit 1fdfca9c577aac96a559c1ea68f5c9156f17d636 Author: Zhaolei Date: Mon Apr 20 14:58:26 2009 +0800 trace_workqueue: use list_for_each_entry() instead of list_for_each_entry_safe() No need to use list_for_each_entry_safe() in iteration without deleting any node, we can use list_for_each_entry() instead. [ Impact: cleanup ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: Frederic Weisbecker commit fb39125fd79a25c5002f3b45cf4c80e3fa6b961b Author: Zhaolei Date: Fri Apr 17 15:15:51 2009 +0800 ftrace, workqueuetrace: make workqueue tracepoints use TRACE_EVENT macro v3: zhaolei@cn.fujitsu.com: Change TRACE_EVENT definition to new format introduced by Steven Rostedt: consolidate trace and trace_event headers v2: kosaki@jp.fujitsu.com: print the function names instead of addr, and zap the work addr v1: zhaolei@cn.fujitsu.com: Make workqueue tracepoints use TRACE_EVENT macro TRACE_EVENT is a more generic way to define tracepoints. Doing so adds these new capabilities to the tracepoints: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions Then, this patch converts DEFINE_TRACE to TRACE_EVENT in workqueue related tracepoints. [ Impact: expand workqueue tracer to events tracing ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi Cc: Oleg Nesterov Cc: Andrew Morton Signed-off-by: KOSAKI Motohiro Signed-off-by: Frederic Weisbecker commit 8871e5b91518a47284b6bc2603b44dbc79c85446 Author: Takashi Iwai Date: Tue Jun 2 01:02:50 2009 +0200 ALSA: hda - Reorder and clean-up ALC268 quirk table Rearrange alc268_cfg_tbl[] in the order of vendor id, and group some entries using SND_PCI_QUIRK_MASK(). Signed-off-by: Takashi Iwai commit d22142aa1b23d64d01f87a94b5756ff6cbd1022f Author: Ozan Çağlayan Date: Mon Jun 1 23:13:17 2009 +0300 ALSA: hda - fix audio on LG R510 Currently, LG R510 is only able to produce sound on headphones, the internal speakers are not working. The user tested and confirmed that with model=Dell headphones, internal speakers and the microphone are working flawlessly. Tested-by: Serdar Soytetir Signed-off-by: Ozan Çağlayan Signed-off-by: Takashi Iwai commit 92b9de8342c6ad0d930333851190ed25b88b190c Author: Kacper Szczesniak Date: Tue Jun 2 00:55:19 2009 +0200 ALSA: hda - Macbook[Pro] 5 6ch support this is a patch against current snapshot that adds: 6 channels support for the MB5 model Signed-off-by: Kacper Szczesniak Signed-off-by: Takashi Iwai commit eaf1ac8bb58888e0773c0b81dfedb9d7c0123a1d Author: Peter Ujfalusi Date: Mon Jun 1 14:06:40 2009 +0300 ASoC: TWL4030: Check the interface format for 4 channel mode In addition to the operating mode check, also check the codec's interface format in case of four channel mode. If the codec is not in TDM (DSP_A) mode, return with error. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 48b1fddbb100a64f3983ca9768b8ea629a09aa20 Merge: 3873607 ee4c24a Author: H. Peter Anvin Date: Mon Jun 1 15:13:02 2009 -0700 Merge branch 'irq/numa' into x86/mce3 Merge reason: arch/x86/kernel/irqinit_{32,64}.c unified in irq/numa and modified in x86/mce3; this merge resolves the conflict. Conflicts: arch/x86/kernel/irqinit.c Signed-off-by: H. Peter Anvin commit 0a93a47f042c459f0f46942c3a920e3c81878031 Author: Yu Zhiguo Date: Tue May 19 14:09:54 2009 +0800 NFSv4: kill off complicated macro 'PROC' J. Bruce Fields wrote: ... > (This is extremely confusing code to track down: note that > proc->pc_decode is set to nfs4svc_decode_compoundargs() by the PROC() > macro at the end of fs/nfsd/nfs4proc.c. Which means, for example, that > grepping for nfs4svc_decode_compoundargs() gets you nowhere. Patches to > kill off that macro would be welcomed....) the macro 'PROC' is complicated and obscure, it had better be killed off in order to make the code more clear. Signed-off-by: Yu Zhiguo Signed-off-by: J. Bruce Fields commit 3c8e03166ae234d16e7871f8009638e0946d303c Author: Yu Zhiguo Date: Sat May 16 16:22:31 2009 +0800 NFSv4: do exact check about attribute specified Server should return NFS4ERR_ATTRNOTSUPP if an attribute specified is not supported in current environment. Operations CREATE, NVERIFY, OPEN, SETATTR and VERIFY should do this check. This bug is found when do newpynfs tests. The names of the tests that failed are following: CR12 NVF7a NVF7b NVF7c NVF7d NVF7f NVF7r NVF7s OPEN15 VF7a VF7b VF7c VF7d VF7f VF7r VF7s Add function do_check_fattr() to do exact check: 1, Check attribute specified is supported by the NFSv4 server or not. 2, Check FATTR4_WORD0_ACL & FATTR4_WORD0_FS_LOCATIONS are supported in current environment or not. 3, Check attribute specified is writable or not. step 1 and 3 are done in function nfsd4_decode_fattr() but removed to this function now. Signed-off-by: Yu Zhiguo Signed-off-by: J. Bruce Fields commit ee4c24a5c9b530481394132c8dbc10572d57c075 Merge: 3d58f48 3e0c373 Author: Ingo Molnar Date: Mon Jun 1 22:29:35 2009 +0200 Merge branch 'x86/cpufeature' into irq/numa Merge reason: irq/numa didnt build because this commit: 2759c32: x86: don't call read_apic_id if !cpu_has_apic Had a dependency on x86/cpufeature changes. Pull in that (small) branch to fix the dependency. Signed-off-by: Ingo Molnar commit 3d58f48ba05caed9118bce62b3047f8683438835 Merge: abfe0af d9244b5 Author: Ingo Molnar Date: Mon Jun 1 21:06:21 2009 +0200 Merge branch 'linus' into irq/numa Conflicts: arch/mips/sibyte/bcm1480/irq.c arch/mips/sibyte/sb1250/irq.c Merge reason: we gathered a few conflicts plus update to latest upstream fixes. Signed-off-by: Ingo Molnar commit 4156e735d3abde8e9243b5d22f7999dd3fffab2e Author: Felix Blyakher Date: Mon Jun 1 13:13:24 2009 -0500 xfs: prevent deadlock in xfs_qm_shake() It's possible to recurse into filesystem from the memory allocation, which deadlocks in xfs_qm_shake(). Add check for __GFP_FS, and bail out if it is not set. Signed-off-by: Felix Blyakher Signed-off-by: Hedi Berriche Reviewed-by: Christoph Hellwig Reviewed-by: Andi Kleen Signed-off-by: Felix Blyakher commit 229c4eedcedcdadf70411120ba34bc37554a74bd Author: Mike Galbraith Date: Thu May 28 16:28:53 2009 +0200 perf_counter tools: Guard against record damaging existing files Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 22a4f650d686eeaac3629dae1c4294381485efdf Author: Ingo Molnar Date: Mon Jun 1 10:13:37 2009 +0200 perf_counter: Tidy up style details - whitespace fixlets - make local variable definitions more consistent [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c7f7ff179cb9f2f1e0244ef2c80afbb93c74ce2a Merge: a22f277 e03cdad Author: Russell King Date: Mon Jun 1 18:35:26 2009 +0100 Merge branch 'smp' into devel commit 0e4835c198e7dd9d814de25a17a1d6682107c394 Author: Jaroslav Kysela Date: Mon May 25 16:44:20 2009 +0200 ALSA: hda-intel: improve initialization for ALC262_HP_BPC model Fix issues for 3 generations of HP workstations. The modest modifications do the following: 1. Change the second MIC from device 3 to device 1 2. Init the "boost" values to "0" by default From: John Brown Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit b81c087f6deb049023e41ce00717202a953f3939 Author: Frank Leipold Date: Mon Jun 1 12:03:15 2009 +0100 uwb: allow WLP to be used with IPv6. Ethernet multicast addresses are supported by mapping them to broadcast WLP frames. These are frequently used in IPv6 traffic. Signed-off-by: Frank Leipold Signed-off-by: David Vrabel commit 94d72176f69954d7a20e95e97dc101a4b521ce57 Author: Roel Kluin Date: Tue May 12 13:47:21 2009 -0700 uwb: event_size should be signed event_size should be ssize_t to notice when hwarc_get_event_size() returns -ENOSPC. Signed-off-by: Roel Kluin Cc: David Vrabel Cc: Inaky Perez-Gonzalez Signed-off-by: Andrew Morton Signed-off-by: David Vrabel commit 0bf8513ed0df64b38edce63411d4b7b368464f47 Author: Paul Mundt Date: Mon Jun 1 19:50:08 2009 +0900 sh: Tidy up SH-4A boot_cpu_data.flags probing. This tidies up the boot_cpu_data.flags probing on SH-4A. All of them have a few things in common, which we can blindly set, rather than having each subtype have to set the same flags. We can also make assumptions about cache ways and the validity of PTEA, so this also kills off CPU_HAS_PTEA as a config option. There was also a bug in the FPU probing, which is now tidied up. Signed-off-by: Paul Mundt commit 0210b66dd88a2a1e451901b00378a2068b6ccb35 Author: Stefan Richter Date: Sat May 23 00:03:29 2009 +0200 firewire: core: add sysfs attribute for easier udev rules This adds the attribute /sys/bus/firewire/devices/fw[0-9]+/units. It can be used in udev rules like the following ones: # IIDC devices: industrial cameras and some webcams SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010?*", GROUP="video" # AV/C devices: camcorders, set-top boxes, TV sets, audio devices, ... SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video" Background: firewire-core manages two device types: - fw_device is a FireWire node. A character device file is associated with it. - fw_unit is a unit directory on a node. Each fw_device may have 0..n children of type fw_unit. The units tell us what kinds of protocols a node implements. We want to set ownership or ACLs or permissions of the character device file of an fw_device, or/and create symlinks to it, based on available protocols. Until now udev rules had to look at the fw_unit devices and then modify their parent's character device file accordingly. This is problematic for two reasons: 1) It happens sometime after the creation of the fw_device, 2) an access policy may require that information from all children is evaluated before a decision about the parent is made. Problem 1) can ultimately not be avoided since this is the nature of FireWire nodes: They may add or remove unit directories at any point in time. However, we can still help userland a lot by providing the protocol type information of all units in a summary sysfs attribute directly at the fw_device. This way, - the information is immediately available at the affected device when userspace goes about to handle an ADD or CHANGE event of the fw_device, - with most policies, it won't be necessary anymore to dig through child attributes. The new attribute is called "units". It contains space-separated tuples of specifier_id and version of each present unit. The delimiter within tuples is a colon. Specifier_id and version are printed as 0x%06x. Here is an example of a node which implements an IPv4 unit and an IPv6 unit: $ cat /sys/bus/firewire/devices/fw2/units 0x00005e:0x000001 0x00005e:0x000002 Signed-off-by: Stefan Richter commit e5333db9285e088a98f4bad5147bfb0b4665fafb Author: Stefan Richter Date: Fri May 22 23:16:27 2009 +0200 firewire: core: check for missing struct update at build time, not run time struct fw_attribute_group.attrs.[] must have enough room for all attributes. This can and should be checked at build time. Our previous check at run time was a little late and not reliable since most of the time less than the available attributes are populated. Furthermore, omit an increment of an index at its last usage. Signed-off-by: Stefan Richter commit 7863d3f7aeae05099a38693a0a7eb7bdc7b2ab05 Author: Paul Mundt Date: Mon Jun 1 19:38:41 2009 +0900 sh: Tidy up the optional L2 probing, wire it up for SH7786. This tidies up the L2 probing, as it may or may not be implemented on a CPU, regardless of whether it is supported. This converts the cvr validity checks from BUG_ON()'s to simply clearing the CPU_HAS_L2_CACHE flag and moving on with life. Signed-off-by: Paul Mundt commit c930a66220bac0815cca74eef94ada221377ffba Author: Joe Perches Date: Sun May 31 20:44:54 2009 +0000 atl1c_main.c: add wait_for_idle routine Slight refactoring of duplicated wait for idle checks Spelling fix Signed-off-by: Joe Perches Acked-by: jie.yang@atheros.com Signed-off-by: David S. Miller commit 56d417b12e57dfe11c9b7ba4bea3882c62a55815 Author: Brian Haley Date: Mon Jun 1 03:07:33 2009 -0700 IPv6: Add 'autoconf' and 'disable_ipv6' module parameters Add 'autoconf' and 'disable_ipv6' parameters to the IPv6 module. The first controls if IPv6 addresses are autoconfigured from prefixes received in Router Advertisements. The IPv6 loopback (::1) and link-local addresses are still configured. The second controls if IPv6 addresses are desired at all. No IPv6 addresses will be added to any interfaces. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 0220ff7fc35913dcd8cdf8fb3a0966caf4aed2f3 Author: Stefan Weil Date: Sun May 31 10:59:15 2009 +0000 cpmac: prevent fatal exception in cpmac_end_xmit We should not be stopping the subqueues in cpmac_end_xmit but rather test the status of them. Replace the calls to netif_subqueue_stop by __netif_subqueue_stopped. This fixes an unrecoverable exception from happening when running the driver. Signed-off-by: Stefan Weil Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 69bd4ae5dc1ddb3c01e7668c7fd088904082a70c Author: Florian Fainelli Date: Sun May 31 10:57:07 2009 +0000 cpmac: remove unused variable. This patch removes the unused variables in cpmac_hw_error, cpmac_tx_timeout and cpmac_probe. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d1a277c584d0862dbf51991baea947ea5f2ce6bf Author: Wolfgang Grandegger Date: Sat May 30 07:55:50 2009 +0000 can: sja1000: generic OF platform bus driver This patch adds a generic driver for SJA1000 chips on the OpenFirmware platform bus found on embedded PowerPC systems. You need a SJA1000 node definition in your flattened device tree source (DTS) file similar to: can@3,100 { compatible = "nxp,sja1000"; reg = <3 0x100 0x80>; interrupts = <2 0>; interrupt-parent = <&mpic>; nxp,external-clock-frequency = <16000000>; }; See also Documentation/powerpc/dts-bindings/can/sja1000.txt. CC: devicetree-discuss@ozlabs.org Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 255a9154319d3cf475d527458037758935f6445b Author: Wolfgang Grandegger Date: Sat May 30 07:55:49 2009 +0000 can: sja1000: stop misusing member base_addr of struct net_device As discussed on the netdev mailing list, the member "base_addr" of "struct net_device" should not be (mis)used to store the virtual address to the SJA1000 register area. According to David Miller, it's only use is to allow ISA and similar primitive bus devices to have their I/O ports changed via ifconfig. The virtual address is now stored in the private data structure of the SJA1000 device and the callback functions use "struct sja1000_priv" instead of the unneeded "struct net_device". Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 128ced8f9d59bb3e36fbb4df87bd9d881f0a4463 Author: Wolfgang Grandegger Date: Sat May 30 07:55:48 2009 +0000 can: some fixes and cleanups to the initial device driver interface This patch fixes a few errors sneaked into the initial version of the device driver interface. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 7c922de709b90badc19705e4f998e6d5b44c419b Author: Nickolas Lloyd Date: Mon Jun 1 11:12:29 2009 +0200 ALSA: hda - Jack Mode changes for Sigmatel boards This patch changes Line In as Out Switch and Mic In as Out Switch to enums for consistency, and causes all mic and line in ports to be probed and controls to be added appropriately. Signed-off-by: Nickolas Lloyd Signed-off-by: Takashi Iwai commit 43909a938063f9b6f98c05a2e28b072dd972ece7 Author: Magnus Damm Date: Thu May 28 13:13:56 2009 +0000 sh: hook up shared div4 clock code to sh7785 Hook up the shared 4-bit divisor clock code to sh7785. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a1153e27eec25e9963f5843ba8932952bd9847ac Author: Magnus Damm Date: Thu May 28 13:11:31 2009 +0000 sh: shared div4 clock code Add shared code for 4-bit divisor clocks. Processor specific code can use SH_CLK_DIV4() to initialize div4 clocks, and then use sh_clk_div4_register() for registration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e89d53e60593ee7066e1d36ab5c1ccf2648f5f53 Author: Magnus Damm Date: Thu May 28 13:01:53 2009 +0000 sh: hook up shared mstp32 clock code to sh7785 Hook up the shared 32-bit module stop bit code to sh7785. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6881e8bf3d86b23dd124134fae113ebd05fae08a Author: Magnus Damm Date: Thu May 28 12:52:29 2009 +0000 sh: shared mstp32 clock code Add shared 32-bit module stop bit clock support. Processor specific code can use SH_CLK_MSTP32() to initialize module stop bit clocks, and then use sh_clk_mstp32() for registration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a3d6ab9723060e8d67e28a8d9142e6d08953d07b Author: Wei Ni Date: Mon Jun 1 16:37:28 2009 +0800 ALSA: hda - Support NVIDIA 8 channel HDMI audio Support 8 channel HDMI audio for MCP78/7A Signed-off-by: Wei Ni Signed-off-by: Takashi Iwai commit eb366d4c95f546bb46a536387a4aca00ed2eda6a Author: Linus Walleij Date: Mon Jun 1 08:25:17 2009 +0100 [ARM] 5533/1: Add U300 series defconfig This adds a defconfig for the U300 series ST-Ericsson mobile platforms. It will be maintained to enable the maximum set of drivers so as to provide a good regression testing target for these platforms. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 6efd2cd5e8c566b9c2b4c19830e5e120b442d040 Author: Takashi Iwai Date: Mon Jun 1 10:59:51 2009 +0200 ALSA: usb-audio - Add quirk for Roland/Edirol M-16DX Added a half-working quirk for Roland/Edirol M-16DX. This enables the capture on the device but the playback on it seems still problematic becuase of lack of sync with the capture clock. Signed-off-by: Takashi Iwai commit 93bfd01227408a62006a4e4f640a6056abc6af7a Author: Andrea Borgia Date: Mon Jun 1 10:48:54 2009 +0200 ALSA: usb-audio - quirk for USB Aureon cards Add quirk to provide proper naming of the Terratec Aureon 5.1 MkII USB card. Signed-off-by: Andrea Borgia Signed-off-by: Takashi Iwai commit 880ca15adf2392770a68047e7a98e076ff4d21da Author: Paul Mackerras Date: Mon Jun 1 17:49:14 2009 +1000 perf_counter: Allow software counters to count while task is not running This changes perf_swcounter_match() so that per-task software counters can count events that occur while their associated task is not running. This will allow us to use the generic software counter code for counting task migrations, which can occur while the task is not scheduled in. To do this, we have to distinguish between the situations where the counter is inactive because its task has been scheduled out, and those where the counter is inactive because it is part of a group that was not able to go on the PMU. In the former case we want the counter to count, but not in the latter case. If the context is active, we have the latter case. If the context is inactive then we need to know whether the counter was counting when the context was last active, which we can determine by comparing its ->tstamp_stopped timestamp with the context's timestamp. This also folds three checks in perf_swcounter_match, checking perf_event_raw(), perf_event_type() and perf_event_id() individually, into a single 64-bit comparison on counter->hw_event.config, as an optimization. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.34810.259718.955621@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 25346b93ca079080c9cb23331db5c4f6404e8530 Author: Paul Mackerras Date: Mon Jun 1 17:48:12 2009 +1000 perf_counter: Provide functions for locking and pinning the context for a task This abstracts out the code for locking the context associated with a task. Because the context might get transferred from one task to another concurrently, we have to check after locking the context that it is still the right context for the task and retry if not. This was open-coded in find_get_context() and perf_counter_init_task(). This adds a further function for pinning the context for a task, i.e. marking it so it can't be transferred to another task. This adds a 'pin_count' field to struct perf_counter_context to indicate that a context is pinned, instead of the previous method of setting the parent_gen count to all 1s. Pinning the context with a pin_count is easier to undo and doesn't require saving the parent_gen value. This also adds a perf_unpin_context() to undo the effect of perf_pin_task_context() and changes perf_counter_init_task to use it. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18979.34748.755674.596386@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 23db9f430be9325a861c7762c1ffadad9ca528a8 Merge: 27b9613 3218911 Author: Ingo Molnar Date: Mon Jun 1 10:01:03 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: merge almost-rc8 into perfcounters/core, which was -rc6 based - to pick up the latest upstream fixes. Signed-off-by: Ingo Molnar commit 98fbe45bea77c1804eae0e71f27673db1824a2a8 Author: Kuninori Morimoto Date: Fri May 29 07:41:23 2009 +0000 sh: SH7724 has an L2 cache. Add the CPU_HAS_L2_CACHE flag to SH7724. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 1823f6d5e6b81cca6542ed2e5f30d2556aad0f67 Author: Magnus Damm Date: Thu May 28 12:06:17 2009 +0000 sh: sh7785 pll configuration from mode pin This patch modifies the sh7785 clock code to use the MODE4 value to switch between 72x and 36x PLL multiplication. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 63d12e23235d982d8f55696e09b2ff91e3ba0042 Author: Magnus Damm Date: Thu May 28 12:00:25 2009 +0000 sh: sh7785lcr mode pin configuration This patch adds mode pin support to the sh7785lcr board. The harware allows the user to control the mode pins using dip switches S1 and S2, but from the software the pins are fixed to the factory default since we have no way to reading out this configuration from software. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a44b32969bfc29140b9f21a1ec924c796d6ac43 Author: Magnus Damm Date: Mon Jun 1 15:56:00 2009 +0900 sh: sh7785 mode pin definitions This patch adds sh7785 mode pin definitions. Mode pins and pin function controller comments are added as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit eb9b9b56eed280e65a9e194aaeb50a5a75111859 Author: Magnus Damm Date: Thu May 28 11:51:51 2009 +0000 sh: boot word / mode pin support V2 Add mode pin support for the SuperH architecture V2. With this patch applied the board code can add their own function to export the cpu mode pin configuration. In most cases this will be a constant bitmap, but boards that allow reading this from a register can instead read out the pin state from hardware. The code warns if a pin is tested but no board specific mode pin function has been provided. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a234bdc9aecc299ba41ffe8023b3ea110df9f51b Author: Pekka Enberg Date: Sun May 31 13:50:38 2009 +0300 slab: document kzfree() zeroing behavior As suggested by Alan Cox, document the fact that kzfree() can zero out a great deal more memory than the what the user requested from kmalloc(). Cc: Alan Cox Signed-off-by: Pekka Enberg commit 27b9613b7be39412775d0ab80f57229aa73bb07d Author: Ingo Molnar Date: Sun May 31 22:09:49 2009 +0200 perf_counter tools: Fix unknown command help text Arjan reported this error when entering an unknown command to perf: $ perf start fatal: Uh oh. Your system reports no Git commands at all. The Git code expects there to be perf-* commands - but since Perf is a 'pure' utility with no dash commands anymore, this old assumption of Git does not hold anymore. Remove that error check. Reported-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit a22f277bba321474a01691ae66d5952926459f44 Author: Russell King Date: Sun May 31 15:02:58 2009 +0100 [ARM] Kconfig: remove 'default n' Kconfig entries default to n, so there's no need for this to be explicitly specified. Signed-off-by: Russell King commit ed31b2dfad01d23446860c983ff94460d7971c48 Author: Russell King Date: Sun May 31 15:08:11 2009 +0100 [ARM] make U300 clk_set_rate() return a _real_ errno Another stupid instance of "return -1"-ism. Signed-off-by: Russell King commit 4dd9e742df98f8f600b4302d3adbb087a68237f7 Author: Alessandro Rubini Date: Tue May 5 05:54:13 2009 +0100 [ARM] 5505/1: serial amba-pl011: move to arch_initcall for earlier console Signed-off-by: Alessandro Rubini " Signed-off-by: Russell King commit 5a9d25150c01bd140ca647b5e7ee75ae18a369a8 Author: Marek Vašut Date: Thu May 21 13:11:05 2009 +0100 [ARM] 5522/1: PalmLD: IDE support Support for Palm LifeDrive's internal harddrive. Signed-off-by: Marek Vasut Acked-by: Jeff Garzik Signed-off-by: Russell King commit 98f420b23a62e0c9df78c5851860d47bf1bc87dd Author: dmitry pervushin Date: Sun May 31 13:32:11 2009 +0100 [ARM] 5532/1: Freescale STMP: register definitions [3/3] Replace HW_zzz register access macros by regular __raw_readl/__raw_writel calls Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 3f52326a85666c1cb0210eb5556ef3d483933cfc Author: dmitry pervushin Date: Sun May 31 13:31:55 2009 +0100 [ARM] 5531/1: Freescale STMP: get rid of HW_zzz macros [2/3] Replace HW_zzz register access macros by regular __raw_readl/__raw_writel calls Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit e0421bbe6479816ea16c6553b8f376c592e36a85 Author: dmitry pervushin Date: Sun May 31 13:31:14 2009 +0100 [ARM] 5530/1: Freescale STMP: get rid of HW_zzz macros [1/3] Replace HW_zzz register access macros by regular __raw_readl/__raw_writel calls Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 8a933ece41a59ce077eeffe5b9bf08b14d173c58 Author: Takashi Iwai Date: Sun May 31 09:28:12 2009 +0200 ALSA: hda - Fix a typo in the previous patch ICH6_GCTL_RESET was wrongly set to another bit by the commit b21fadb9c1852c91622ca1dccfeb144bc535e36e. This caused a problem when the codec needs really a reset (e.g. recovering from the communication error at probe). Signed-off-by: Takashi Iwai commit 86d15cd83363a9787039895cb1a1b6be50f82ad3 Author: Eric Dumazet Date: Sat May 30 23:04:46 2009 -0700 net: unset IFF_XMIT_DST_RELEASE for qeth and ipoib Last two drivers that need skb->dst in their start_xmit() function Tell dev_hard_start_xmit() to no release it by unsetting IFF_XMIT_DST_RELEASE Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ed27f0287062236d50190d7447f6377ff4acdfad Author: Andy Green Date: Sun May 10 15:42:09 2009 -0500 [MTD] [NAND] S3C2410: Allow commandline partition processing This patch allows commandline partition processing to work with the s3c2410 NAND platform driver. Signed-off-by: Andy Green Signed-off-by: Nelson Castillo [ben-linux@fluff.org: Change andy@openmoko.com to andy@warmcat.com] Signed-off-by: Ben Dooks commit ae7304e554642d57993b32265b817e6ae80787de Author: Andy Green Date: Sun May 10 15:42:02 2009 -0500 [MTD] [NAND] S3C2410: Fix CFG debug order Fix NAND CFG debug order. Signed-off-by: Andy Green Signed-off-by: Nelson Castillo [ben-linux@fluff.org: Change andy@openmoko.com to andy@warmcat.com, subject cleanup] Signed-off-by: Ben Dooks commit 2612e523dc3695df319662ff279806a3d74de375 Author: Nelson Castillo Date: Sun May 10 15:41:54 2009 -0500 [MTD] [NAND] S3C2410: Uninitialised variable cleanup ~ Avoid warning without generating code. (I don't even get the warning without the macro uninitialized_var). Signed-off-by: Nelson Castillo [ben-linux@fluff.org: subject cleanup] Signed-off-by: Ben Dooks commit fb6ea3258742f41be8dd527ebd58a1a1e2cef23a Author: Nelson Castillo Date: Sun May 10 15:41:32 2009 -0500 [MTD] [NAND] S3C2410: Small colon cleanup checkpatch would complain with "disable_ecc : 1". Signed-off-by: Nelson Castillo [ben-linux@fluff.org: subject cleanup] Signed-off-by: Ben Dooks commit 8c3e843d56f74889f3ff32202e82e3bc16d0d552 Author: Andy Green Date: Sun May 10 15:41:25 2009 -0500 [MTD] [NAND] S3C2410: NAND ECC by chip rather than global This makes us take note about the chosen ECC mode per-chip and not the one set globally. Signed-off-by: Andy Green Signed-off-by: Nelson Castillo [ben-linux@fluff.org: andy@openmoko.com => andy@warmcat.com, rewrite subject] Signed-off-by: Ben Dooks commit 3db72151aa4c246f8bdb8b3501972e1f1b32fe0d Author: Ben Dooks Date: Sat May 30 17:18:15 2009 +0100 [MTD] [NAND] S3C2410: Basic kerneldoc comment updates Move to using kerneldoc style commenting in the driver Signed-off-by: Ben Dooks commit ec0482e6cfbd460bc69a9073ffbef4c2f3422fdf Author: Ben Dooks Date: Sat May 30 16:55:29 2009 +0100 [MTD] [NAND] S3C2410: Move to using platform device table Commit 57fee4a58fe802272742caae248872c392a60670 added an method to specify the platform device compatibility by using an id-table instead of registering multiple drivers. Move the S3C24XX NAND driver to using this ID table. Signed-off-by: Ben Dooks CC: Eric Miao commit fee3c55d7fb9486f02d3285678d58e433ffe3c2a Author: Michal Simek Date: Fri May 29 14:15:33 2009 +0200 microblaze: Fix problem with early_printk in startup Problem arise when is incopatibility between kernel/dts/pvr and kernel tries to announce it. Early printk device (uartlite in our case) was in TLB 2 and when kernel extract DTB it necessary to allocate at least one TLB at the end of memory. First free TLB was number two where was early printk. But checking mechanism (kernel/dts/pvr) was after extrahing but TLB 2 was different. This caused that kernel hung up. Moving early printk device to TLB 63 solve it and we don't protect it which means that we can use early_printk messages only for initial parts of kernel then we rewrite TLB 63. Reported-by: Edgar E. Iglesias Signed-off-by: Michal Simek commit 85d6943af50537d3aec58b967ffbd3fec88453e9 Author: Catalin Marinas Date: Sat May 30 14:00:18 2009 +0100 Fix the VFP handling on the Feroceon CPU This CPU generates synchronous VFP exceptions in a non-standard way - the FPEXC.EX bit set but without the FPSCR.IXE bit being set like in the VFP subarchitecture 1 or just the FPEXC.DEX bit like in VFP subarchitecture 2. The main problem is that the faulty instruction (which needs to be emulated in software) will be restarted several times (normally until a context switch disables the VFP). This patch ensures that the VFP exception is treated as synchronous. Signed-off-by: Catalin Marinas Cc: Nicolas Pitre commit 26584853a44c58f3d6ac7360d697a2ddcd1a3efa Author: Catalin Marinas Date: Sat May 30 14:00:18 2009 +0100 Add core support for ARMv6/v7 big-endian Starting with ARMv6, the CPUs support the BE-8 variant of big-endian (byte-invariant). This patch adds the core support: - setting of the BE-8 mode via the CPSR.E register for both kernel and user threads - big-endian page table walking - REV used to rotate instructions read from memory during fault processing as they are still little-endian format - Kconfig and Makefile support for BE-8. The --be8 option must be passed to the final linking stage to convert the instructions to little-endian Signed-off-by: Catalin Marinas commit ee8c9571191e588ede9a220ded807e33c4897d91 Author: Catalin Marinas Date: Sat May 30 14:00:17 2009 +0100 RealView: Move the IRQ_* definitions out of the board-*.h files The IRQ_* macros need to be made visible via the mach/irqs.h file but without the additional macros defined in the board-*.h files. Signed-off-by: Catalin Marinas commit 8c7e65742fd05f27071282d260376adb98e0e9ac Author: Catalin Marinas Date: Sat May 30 14:00:17 2009 +0100 arm: Provide _sdata and __bss_stop in the vmlinux.lds.S file _sdata and __bss_stop are common symbols defined by many architectures and made available to the kernel via asm-generic/sections.h. Kmemleak uses these symbols when scanning the data sections. Signed-off-by: Catalin Marinas commit 23d1c515d8fc6d74bea442a4b687c3b5b8627ec4 Author: Catalin Marinas Date: Sat May 30 14:00:16 2009 +0100 ARMv7: Document the PRRR and NMRR registers setting This patch adds a comment to the proc-v7.S file for the setting of the PRRR and NMRR registers. It also sets the PRRR[13:12] bits to 0 (corresponding to the reserved TEX[0]CB encoding 110) to be consistent with the documentation. Signed-off-by: Catalin Marinas commit 213fb2a8ee81ec106b9b370a07ccad575e9d3748 Author: Catalin Marinas Date: Sat May 30 14:00:16 2009 +0100 ARMv7: Enable the SWP instruction The SWP instruction has been deprecated starting with the ARMv6 architecture. On ARMv7 processors with the multiprocessor extensions (like Cortex-A9), this instruction is disabled by default but it can be enabled by setting bit 10 in the System Control register. Note that setting this bit is safe even if the ARMv7 processor has the SWP instruction enabled by default. Signed-off-by: Catalin Marinas commit d71e1352e240dea32d481ad8d662e8de4406ac7e Author: Catalin Marinas Date: Sat May 30 14:00:15 2009 +0100 Clear the IT state when invoking a Thumb-2 signal handler If a process is interrupted during an If-Then block and a signal is invoked, the ITSTATE bits must be cleared otherwise the handler would not run correctly. Signed-off-by: Catalin Marinas Cc: Joseph S. Myers commit ba3c02636a0743a62cb50b920d36e1c046ab88cf Author: Tony Thompson Date: Sat May 30 14:00:15 2009 +0100 ARMv7: Mark the PTWs inner WBWA on SMP and WB on UP There are additional bits to set for the ARMv7 SMP extensions in the TTBR registers. The IRGN bits order is counter-intuitive but it allows software built for the ARMv7 base architecture to run on an implementation with the MP extensions. Signed-off-by: Tony Thompson Signed-off-by: Catalin Marinas commit faa7bc51c11d5bbe440ac04710fd7a3208782000 Author: Catalin Marinas Date: Sat May 30 14:00:14 2009 +0100 Check whether the TLB operations need broadcasting on SMP systems ARMv7 SMP hardware can handle the TLB maintenance operations broadcasting in hardware so that the software can avoid the costly IPIs. This patch adds the necessary checks (the MMFR3 CPUID register) to avoid the broadcasting if already supported by the hardware. (this patch is based on the work done by Tony Thompson @ ARM) Signed-off-by: Catalin Marinas commit da055eb52ec067d51dc08c7e86baf92dd5c01599 Author: Catalin Marinas Date: Sat May 30 13:56:16 2009 +0100 RealView: Toggle one LED per CPU If CONFIG_LEDS is enabled, it makes more sense to toggle one LED per CPU in SMP systems rather than a single LED for all the CPUs. Signed-off-by: Catalin Marinas commit ff3042fb6f1a0f6faf527390a8a943a3e4296741 Author: Colin Tuckley Date: Sat May 30 13:56:13 2009 +0100 RealView: Allow CONFIG_LEDS on this platform Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit af607747def54d8f76d2509c1394587da5d9bdfd Author: Catalin Marinas Date: Sat May 30 13:56:13 2009 +0100 RealView: Allow access to the secure flash memory block on PB1176 This patch adds a Kconfig option for specifying whether Linux will only be run in secure mode on the RealView PB1176 platform. Enabling it will make the secure flash memory block (64MB @ 0x3c000000) available to Linux. Signed-off-by: Catalin Marinas commit 1b504bbe7a4a6c251cdc9dcba1fab72234827945 Author: Colin Tuckley Date: Sat May 30 13:56:12 2009 +0100 RealView: Add support for the RealView/PBX platform This is a RealView platform supporting core tiles with ARM11MPCore, Cortex-A8 or Cortex-A9 (multicore) processors. It has support for MMC, CompactFlash, PCI-E. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit 412b400278ed0f71712387d0b9b31cbdd8a18efc Author: Catalin Marinas Date: Sat May 30 13:56:12 2009 +0100 RealView: Allow SMP when the Cortex-A9 tile is enabled for EB Signed-off-by: Catalin Marinas commit c1c2365acf8c044f749c0fe1ea236497e8d1718e Author: Ingo Molnar Date: Sat May 30 12:38:51 2009 +0200 perf_counter tools: Generate per command manpages (and pdf/html, etc.) Import Git's nice .txt => {man/html/pdf} generation machinery. Fix various errors in the Documentation/perf*.txt description as well. Also fix a bug in builtin-help: we'd map 'perf help top' to 'perftop' if only the 'perf' binary is in the default PATH - confusing the manpage logic. I dont fully understand why Git did it this way - but i suppose it's a migration artifact from their migration from standalone git-xyz commands to 'git xyz' commands. The perf tools were always using the modern form so it's not an issue there. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 7fbd55449aafb86d3237b5d1a26fb4dab2aa2c76 Author: Ingo Molnar Date: Sat May 30 12:38:51 2009 +0200 perf_counter tools: Fix 'make install' 'make install' didnt install perf itself - which needs a special rule to be copied to bindir. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit d7c29318c2daa96d64b7312afd8283488c1cb29f Author: Ingo Molnar Date: Sat May 30 12:38:51 2009 +0200 perf_counter tools: Print 'CPU utilization factor' in builtin-stat Before: Performance counter stats for '/home/mingo/hackbench': 5728.862689 task clock ticks (msecs) 34426 context switches # 0.006 M/sec 3835 CPU migrations # 0.001 M/sec 18158 pagefaults # 0.003 M/sec 16218109156 CPU cycles # 2830.947 M/sec 13519616840 instructions # 2359.913 M/sec 55941661 cache references # 9.765 M/sec 23554938 cache misses # 4.112 M/sec Wall-clock time elapsed: 528.886980 msecs After: Performance counter stats for '/home/mingo/hackbench': 5845.443541 task clock ticks # 11.886 CPU utilization factor 38289 context switches # 0.007 M/sec 4208 CPU migrations # 0.001 M/sec 17755 pagefaults # 0.003 M/sec 16664668576 CPU cycles # 2850.882 M/sec 13468113991 instructions # 2304.036 M/sec 57445468 cache references # 9.827 M/sec 26896502 cache misses # 4.601 M/sec Wall-clock time elapsed: 491.802357 msecs Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c44613a4c1092e85841b78b7ab52a06654fcd321 Author: Arnaldo Carvalho de Melo Date: Fri May 29 17:03:07 2009 -0300 perf_counter tools: Add locking to perf top perf_counter tools: Add locking to perf top We need to protect the active_symbols list as two threads change it: the main thread adding entries to the head and the display thread decaying entries from any place in the list. Also related: take a snapshot of syme->count[0] before using it to calculate the weight and to show the same number used in this calc when displaying the symbol usage. Reported-by: Mike Galbraith Tested-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt LKML-Reference: <20090529200307.GR4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit ba84bfcd2b6fdc5a9ac53a4ab103088c99f84a12 Author: Takashi Iwai Date: Sat May 30 08:59:03 2009 +0200 ALSA: hda - Fix reverted LED setup for HP The commit 86d190e77c44cb057742dcc871b12ebd4633c387 reverted the bit flip of LED GPIO for HP DX and DV4-1222nr. Fixed now. Signed-off-by: Takashi Iwai commit 342a437ef625953e8bdeee3bc1605ccd27a38863 Author: André Goddard Rosa Date: Fri May 29 22:13:58 2009 -0700 usbnet: ratelimit warning messages invoked from callback handler Warning messages coming from rtl8150 driver can flood the console and make a DTV/set-top-box unable to decode video/audio frames. 'Pegasus' driver handles this situation similarly, preventing this from happening there. It happens with a low cost BCM MIPS embedded platform, whenever timeout errors were coming from usbnet device, making platform unusable for viewer watching. Signed-off-by: André Goddard Rosa Signed-off-by: David S. Miller commit 644233073458653e4b7fb474d9a8bdbbfd37739a Author: Fabio Estevam Date: Wed May 27 03:41:39 2009 +0000 fec: Add FEC support for MX35 processor Add FEC support for MX35 processor. Signed-off-by: Fabio Estevam Acked-by: Sascha Hauer Signed-off-by: David S. Miller commit e13f93188b8a3b418da2a02dfa1a46718cf4607b Author: Tadashi Abe Date: Mon May 25 20:53:27 2009 +0000 irda-usb: suspend/resume support This patch adds power management suspend/resume hooks for irda-usb. Signed-off-by: Tadashi Abe Signed-off-by: David S. Miller commit cd39c7a5717191c677a140565bda2f1ca485ecd8 Author: Finn Thain Date: Mon May 25 16:52:47 2009 +0000 mac8390: use printk MAC address format mac8390: use printk MAC address format Signed-off-by: Finn Thain Signed-off-by: David S. Miller commit ccffad25b5136958d4769ed6de5e87992dd9c65c Author: Jiri Pirko Date: Fri May 22 23:22:17 2009 +0000 net: convert unicast addr list This patch converts unicast address list to standard list_head using previously introduced struct netdev_hw_addr. It also relaxes the locking. Original spinlock (still used for multicast addresses) is not needed and is no longer used for a protection of this list. All reading and writing takes place under rtnl (with no changes). I also removed a possibility to specify the length of the address while adding or deleting unicast address. It's always dev->addr_len. The convertion touched especially e1000 and ixgbe codes when the change is not so trivial. Signed-off-by: Jiri Pirko drivers/net/bnx2.c | 13 +-- drivers/net/e1000/e1000_main.c | 24 +++-- drivers/net/ixgbe/ixgbe_common.c | 14 ++-- drivers/net/ixgbe/ixgbe_common.h | 4 +- drivers/net/ixgbe/ixgbe_main.c | 6 +- drivers/net/ixgbe/ixgbe_type.h | 4 +- drivers/net/macvlan.c | 11 +- drivers/net/mv643xx_eth.c | 11 +- drivers/net/niu.c | 7 +- drivers/net/virtio_net.c | 7 +- drivers/s390/net/qeth_l2_main.c | 6 +- drivers/scsi/fcoe/fcoe.c | 16 ++-- include/linux/netdevice.h | 18 ++-- net/8021q/vlan.c | 4 +- net/8021q/vlan_dev.c | 10 +- net/core/dev.c | 195 +++++++++++++++++++++++++++----------- net/dsa/slave.c | 10 +- net/packet/af_packet.c | 4 +- 18 files changed, 227 insertions(+), 137 deletions(-) Signed-off-by: David S. Miller commit c626e3f5ca1d95ad2204d3128c26e7678714eb55 Author: Nicolas Pitre Date: Fri May 29 21:55:50 2009 -0400 [ARM] alternative copy_to_user: more precise fallback threshold Previous size thresholds were guessed from various user space benchmarks using a kernel with and without the alternative uaccess option. This is however not as precise as a kernel based test to measure the real speed of each method. This adds a simple test bench to show the time needed for each method. With this, the optimal size treshold for the alternative implementation can be determined with more confidence. It appears that the optimal threshold for both copy_to_user and clear_user is around 64 bytes. This is not a surprise knowing that the memcpy and memset implementations need at least 64 bytes to achieve maximum throughput. One might suggest that such test be used to determine the optimal threshold at run time instead, but results are near enough to 64 on tested targets concerned by this alternative copy_to_user implementation, so adding some overhead associated with a variable threshold is probably not worth it for now. Signed-off-by: Nicolas Pitre commit ae63e808f508c38fe65e23a1480c85d5bd00ecbd Author: Jiri Pirko Date: Wed May 27 05:42:36 2009 +0000 bonding: use bond_is_lb() when it's appropriate Signed-off-by: Jiri Pirko Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit c143dc903d7c0b15f5052e00b2c7de33a8b4299c Author: James Bottomley Date: Sat May 30 06:43:49 2009 +0200 block: fix an oops on BLKPREP_KILL Doing a bit of torture testing, I ran across a BUG in the block subsystem (at blk-core.c:2048): the test for if the request is queued. It turns out the trigger was a BLKPREP_KILL coming out of the SCSI prep function. Currently for BLKPREP_KILL requests, we send them straight into __blk_end_request_all() with an error, but they've never been dequeued, so they trip the bug. Fix this by starting requests before killing them. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit cb9dc92c0a1b76165c8c334402e27191084b2047 Author: Nicolas Pitre Date: Thu May 21 22:17:17 2009 -0400 [ARM] lower overhead with alternative copy_to_user for small copies Because the alternate copy_to_user implementation has a higher setup cost than the standard implementation, the size of the memory area to copy is tested and the standard implementation invoked instead when that size is too small. Still, that test is made after the processor has preserved a bunch of registers on the stack which have to be reloaded right away needlessly in that case, causing a measurable performance regression compared to plain usage of the standard implementation only. To make the size test overhead negligible, let's factorize it out of the alternate copy_to_user function where it is clear to the compiler that no stack frame is needed. Thanks to CONFIG_ARM_UNWIND allowing for frame pointers to be disabled and tail call optimization to kick in, the overhead in the small copy case becomes only 3 assembly instructions. A similar trick is applied to clear_user as well. Signed-off-by: Nicolas Pitre commit 39ec58f3fea47c242724109cc1da999f74810bbc Author: Lennert Buytenhek Date: Mon Mar 9 14:30:09 2009 -0400 [ARM] alternative copy_to_user/clear_user implementation This implements {copy_to,clear}_user() by faulting in the userland pages and then using the regular kernel mem{cpy,set}() to copy the data (while holding the page table lock). This is a win if the regular mem{cpy,set}() implementations are faster than the user copy functions, which is the case e.g. on Feroceon, where 8-word STMs (which memcpy() uses under the right conditions) give significantly higher memory write throughput than a sequence of individual 32bit stores. Here are numbers for page sized buffers on some Feroceon cores: - copy_to_user on Orion5x goes from 51 MB/s to 83 MB/s - clear_user on Orion5x goes from 89MB/s to 314MB/s - copy_to_user on Kirkwood goes from 240 MB/s to 356 MB/s - clear_user on Kirkwood goes from 367 MB/s to 1108 MB/s - copy_to_user on Disco-Duo goes from 248 MB/s to 398 MB/s - clear_user on Disco-Duo goes from 328 MB/s to 1741 MB/s Because the setup cost is non negligible, this is worthwhile only if the amount of data to copy is large enough. The operation falls back to the standard implementation when the amount of data is below a certain threshold. This threshold was determined empirically, however some targets could benefit from a lower runtime determined value for optimal results eventually. In the copy_from_user() case, this technique does not provide any worthwhile performance gain due to the fact that any kind of read access allocates the cache and subsequent 32bit loads are just as fast as the equivalent 8-word LDM. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre Tested-by: Martin Michlmayr commit a1f98849fdf2f2fef3ef1c260178cd5fc662b773 Author: Nicolas Pitre Date: Sun Mar 8 22:34:45 2009 -0400 [ARM] allow for alternative __copy_to_user/__clear_user implementations This allows for optional alternative implementations of __copy_to_user and __clear_user, with a possible runtime fallback to the standard version when the alternative provides no gain over that standard version. This is done by making the standard __copy_to_user into a weak alias for the symbol __copy_to_user_std. Same thing for __clear_user. Those two functions are particularly good candidates to have alternative implementations for, since they rely on the STRT instruction which has lower performances than STM instructions on some CPU cores such as the ARM1176 and Marvell Feroceon. Signed-off-by: Nicolas Pitre commit f22a563b0a4c2a84b6ff8831306532b64c9c1747 Author: Divy Le Ray Date: Fri May 29 12:52:49 2009 +0000 cxgb3: add support for the Aquantia 10G-BT phy Add support for the Aquantia AQ1002 10G-BaseT phy. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 744514249f0656e2d50bb57585241670c2d4f32b Author: Divy Le Ray Date: Fri May 29 12:52:44 2009 +0000 cxgb3: Add Aeluros 2020 phy support Add support for the AEL2020 phy. Add PCI IDs of the boards using this phy. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit c3a8c5b644118b5e2cfd0690b1dcea904a792c52 Author: Divy Le Ray Date: Fri May 29 12:52:38 2009 +0000 cxgb3: move away from LLTX cxgb3 no longer advertizes LLTX. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 080c82550dc1dc3c0d4207ce32d7a8d0ae96fba5 Author: Graf Yang Date: Fri May 29 03:41:48 2009 +0000 netdev: bfin_mac: add Blackfin MII bus to platform bus to allow DSA access When we register the MII bus to the platfrom bus, the Distributed Switch Architecture can hook in transparently. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 015dac8886b5c48d62ebc33a964b9086d6a71bd7 Author: Michael Hennerich Date: Fri May 29 03:41:15 2009 +0000 netdev: bfin_mac: fix performance issue found by netperf - Remove dead long delay - Use proper defines - Remove broken implementation of the TX DMA Data Alignment TXDWA feature Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 805a8ab3ce1be83e9a98c21a625ebbb549a2d317 Author: Sonic Zhang Date: Fri May 29 03:40:43 2009 +0000 netdev: bfin_mac: fix malformed UDP packet transmission when polling with KGDB Writes to the DMA descriptors may sit in the internal Blackfin data buffers and not actually be available when the DMA engine goes to fetch them. This does not typically happen, but when dealing with short/fast packets such as UDP and polling KGDB, this occurs much more frequently. Same goes for heavy loads as seen by netperf tests or large scp transfers. So force the buffers to drain with SSYNC otherwise we get random malformed packets. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 91a455f089810625eb94a36ccc40ae963f451b06 Author: Michael Hennerich Date: Fri May 29 03:39:45 2009 +0000 netdev: bfin_mac: drop useless IRQF_SHARED from Blackfin EMAC interrupt The IRQ used by the Blackfin EMAC is internal to the peripheral and cannot be used to generate any other interrupt, so there is no point in marking it as IRQF_SHARED. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit 60df914e295a21a223e43a7ee01e0c73c64dd111 Author: Eric Dumazet Date: Fri May 29 15:15:30 2009 -0700 veth: dont release skb->dst in veth_xmit() No need to release skb->dst, its now done by core network. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2df9001edc382c331f338f45d259feeaa740c418 Author: Ilpo Järvinen Date: Fri May 29 15:02:29 2009 -0700 tcp: fix loop in ofo handling code and reduce its complexity Somewhat luckily, I was looking into these parts with very fine comb because I've made somewhat similar changes on the same area (conflicts that arose weren't that lucky though). The loop was very much overengineered recently in commit 915219441d566 (tcp: Use SKB queue and list helpers instead of doing it by-hand), while it basically just wants to know if there are skbs after 'skb'. Also it got broken because skb1 = skb->next got translated into skb1 = skb1->next (though abstracted) improperly. Note that 'skb1' is pointing to previous sk_buff than skb or NULL if at head. Two things went wrong: - We'll kfree 'skb' on the first iteration instead of the skbuff following 'skb' (it would require required SACK reneging to recover I think). - The list head case where 'skb1' is NULL is checked too early and the loop won't execute whereas it previously did. Conclusion, mostly revert the recent changes which makes the cset very messy looking but using proper accessor in the previous-like version. The effective changes against the original can be viewed with: git-diff 915219441d566f1da0caa0e262be49b666159e17^ \ net/ipv4/tcp_input.c | sed -n -e '57,70 p' Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6d36110e1ce5663705d765ea38dd0f705e9ae6bc Author: Sergey Lapin Date: Mon May 18 22:30:10 2009 +0100 [ARM] 5525/1: AFEB9260: fix for MMC support Proper pin configuration for MMC. Signed-off-by: Sergey Lapin Acked-by: Andrew Victor Signed-off-by: Russell King commit 6953e47e11ea85c8c91ac49a5c779e0a4a143e47 Author: Dmitry Baryshkov Date: Mon May 25 08:02:35 2009 +0100 [ARM] 5524/1: at91sam9g20ek: add i2c eeprom info Add board information about on-board I2C eeprom AT24C512N at 0x50. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Andrew Victor Signed-off-by: Russell King commit 4070243250dd06a96d874b0be3cb3a39ef23597c Author: Hartley Sweeten Date: Thu May 28 20:07:03 2009 +0100 [ARM] 5528/1: ep93xx: add defines for dma clock magic numbers Update the dma clocks so that the magic numbers are named. All the dma clocks have an enable bit to turn them on/off as needed. Currently these bits are in the code as "magic" numbers. This changes all of them to named defines to improve code readability. Also, the EP93XX_SYSCON_CLOCK_CONTROL register is improperly named. In the EP93xx User's Guide this register is called PwrCnt (Power Control). All of the uses of this register are associated with the clock support so this patch also modifies the names to match the User's Guide. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 68ee3d83b238fa97e12775963f2b526c5dc74823 Author: Hartley Sweeten Date: Thu May 28 19:58:24 2009 +0100 [ARM] 5527/1: ep93xx: core.c: trivial spelling error Fix trivial spelling error in arch/arm/mach-ep93xx/core.c Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit e3a6d01932f343c1cc0218909262f0f68b6f7db4 Author: Hartley Sweeten Date: Thu May 28 19:56:11 2009 +0100 [ARM] 5526/1: ep93xx: usb driver cleanup Cleanup the ohci-ep93xx driver. 1) Use the usb.h dbg() macro instead of pr_debug() so that the source filename is prefixed to the message and it is terminated with a linefeed. 2) Add error handling for the clk_get() call. 3) Update clkdev support so that the usb clock is matched by the dev_id instead of the con_id. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 949abd84cd54ff864efca9df822d1e02a56694ec Merge: b0958ae cd07ecc Author: Russell King Date: Fri May 29 20:03:43 2009 +0100 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel Conflicts: arch/arm/Makefile commit b0958aed1ea39825439a7848544bfb2e267273b4 Author: Kevin Hilman Date: Fri May 29 18:54:14 2009 +0100 [ARM] 5529/1: davinci: MMC platform support: DMA_32BIT_MASK --> DMA_BIT_MASK(32) Some DMA_32BIT_MASK usage snuck in with the MMC platform support. Convert these to the new preferred DMA_BIT_MASK(32). Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit b78c07d45a7e71be7b5c5d7486f922355ccf23a8 Author: Arnaldo Carvalho de Melo Date: Fri May 29 13:48:59 2009 -0300 perf_counter tools: Shorten the DSO names using cwd [acme@emilia linux-2.6-tip]$ pwd /home/acme/git/linux-2.6-tip Before (still available using -P/--full-paths) [acme@emilia linux-2.6-tip]$ perf report -P | head -10 11.48% perf: 7454 [kernel]: clear_page_c 4.89% perf: 7454 [kernel]: vsnprintf 4.61% perf: 7454 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 4.09% perf: 7454 [kernel]: number 4.06% perf: 7454 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__fprintf 4.00% perf: 7454 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: symbol_filter New default: [acme@emilia linux-2.6-tip]$ perf report | head -10 11.48% perf: 7454 [kernel]: clear_page_c 4.89% perf: 7454 [kernel]: vsnprintf 4.61% perf: 7454 ./Documentation/perf_counter/perf: dso__find_symbol 4.09% perf: 7454 [kernel]: number 4.06% perf: 7454 ./Documentation/perf_counter/perf: dso__fprintf 4.00% perf: 7454 ./Documentation/perf_counter/perf: symbol_filter Suggested-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <20090529164859.GN4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 0b6585ce05f169f10ce74329e87bd8c5070b4bb9 Author: David Woodhouse Date: Fri May 29 16:09:08 2009 +0100 mtd: Fix pointer handling in compat ioctls to use compat_ptr() Signed-off-by: David Woodhouse commit 668ff9ab45d595222d3f90d7974ccba3518e3bb3 Author: Kevin Cernekee Date: Tue Apr 14 21:59:22 2009 -0700 mtd: Handle compat ioctls directly; remove all trace from compat_ioctl.c Remove all references to MTD ioctls from fs/compat_ioctl.c and let them all be handled by mtd_compat_ioctl(). Signed-off-by: Kevin Cernekee Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit aea7cea9fa9e39e71f95ad70b3daf98ba9972587 Author: Kevin Cernekee Date: Wed Apr 8 22:53:49 2009 -0700 mtd: add OOB ioctls for >4GiB devices Signed-off-by: Kevin Cernekee Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 977185404046afb31d2e18fac0a076de1a20bf0e Author: Kevin Cernekee Date: Wed Apr 8 22:53:13 2009 -0700 mtd: compat_ioctl cleanup 1) Move the MEMREADOOB/MEMWRITEOOB compat_ioctl wrappers from fs/compat_ioctl.c into mtdchar.c . Original request was here: http://lkml.org/lkml/2009/4/1/295 2) Add missing COMPATIBLE_IOCTL lines, so that mtd-utils does not error out when running in 64/32 compatibility mode. LKML-Reference: <200904011650.22928.arnd@arndb.de> Signed-off-by: Kevin Cernekee Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit bbbee90829304d156c12b171c0ac7e6e1aba8b90 Author: Peter Zijlstra Date: Fri May 29 14:25:58 2009 +0200 perf_counter: Ammend cleanup in fork() fail When fork() fails we cannot use perf_counter_exit_task() since that assumes to operate on current. Write a new helper that cleans up unused/clean contexts. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 665c2142a94202881a3c11cbaee6506cb10ada2d Author: Peter Zijlstra Date: Fri May 29 14:51:57 2009 +0200 perf_counter: Clean up task_ctx vs interrupts Remove the local_irq_save() etc.. in routines that are smp function calls, or have IRQs disabled by other means. Then change the COMM, MMAP, and swcounter context iteration to current->perf_counter_ctxp and RCU, since it really doesn't matter which context they iterate, they're all folded. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit efb3d17240d80e27508d238809168120fe4b93a4 Author: Peter Zijlstra Date: Fri May 29 14:25:58 2009 +0200 perf_counter: Fix COMM and MMAP events for cpu wide counters Commit a63eaf34ae6 ("perf_counter: Dynamically allocate tasks' perf_counter_context struct") broke COMM and MMAP notification for cpu wide counters by dropping out early if there was no task context, thereby also not iterating the cpu context. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f04d82b7e0c63d0251f9952a537a4bc4d73aa1a9 Author: GeunSik Lim Date: Thu May 28 10:36:14 2009 +0900 sched: fix typo in sched-rt-group.txt file Fix typo about static priority's range. Kernel Space User Space =============================================================== 0(high) to 98(low) user RT priority 99(high) to 1(low) with SCHED_RR or SCHED_FIFO --------------------------------------------------------------- 99 sched_priority is not used in scheduling decisions(it must be specified as 0) --------------------------------------------------------------- 100(high) to 139(low) user nice -20(high) to 19(low) --------------------------------------------------------------- 140 idle task priority --------------------------------------------------------------- * ref) http://www.kernel.org/doc/man-pages/online/pages/man2/sched_setscheduler.2.html Signed-off-by: GeunSik Lim CC: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 294ae4011530d008c59c4fb9847738e39228821e Author: GeunSik Lim Date: Thu May 28 10:36:11 2009 +0900 ftrace: fix typo about map of kernel priority in ftrace.txt file. Fix typo about chart to map the kernel priority to user land priorities. * About sched_setscheduler(2) Processes scheduled under SCHED_FIFO or SCHED_RR can have a (user-space) static priority in the range 1 to 99. (reference: http://www.kernel.org/doc/man-pages/online/pages/ man2/sched_setscheduler.2.html) * From: Steven Rostedt 0 to 98 - maps to RT tasks 99 to 1 (SCHED_RR or SCHED_FIFO) 99 - maps to internal kernel threads that want to be lower than RT tasks but higher than SCHED_OTHER tasks. Although I'm not sure if any kernel thread actually uses this. I'm not even sure how this can be set, because the internal sched_setscheduler function does not allow for it. 100 to 139 - maps nice levels -20 to 19. These are not set via sched_setscheduler, but are set via the nice system call. 140 - reserved for idle tasks. Signed-off-by: GeunSik Lim Acked-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0dc54e9f33e2fbcea28356bc2c8c931cb307d3b3 Author: Kevin Cernekee Date: Wed Apr 8 22:52:28 2009 -0700 mtd: add MEMERASE64 ioctl for >4GiB devices New MEMERASE/MEMREADOOB/MEMWRITEOOB ioctls are needed in order to support 64-bit offsets into large NAND flash devices. Signed-off-by: Kevin Cernekee Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 19fe7f1a00023d2aa97617655b7ea56eb72f4db8 Author: Kevin Cernekee Date: Wed Apr 8 22:51:43 2009 -0700 Documentation: add MTD sysfs docs Signed-off-by: Kevin Cernekee Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 81933046ef2a615031c46171013bde2c5225ee69 Author: David Woodhouse Date: Fri May 29 14:26:23 2009 +0100 mtd: Fix handling of mtdname in txx9ndfmc.c As pointed out by Kay Sievers, the name size limit is gone from the driver-core, and BUS_ID_SIZE is obsolescent. Rather than just papering over the problem by replacing the mtdname array size with an arbitrary '20 + 2', fix the problem properly and handle arbitrary name sizes. Signed-off-by: David Woodhouse commit 9fd1e8f92ad17b3bc94245fee9b4e4bfea0dba0e Author: Catalin Marinas Date: Thu Apr 23 17:41:10 2009 +0100 mtd: Add armflash support for multiple blocks of flash This patch adds MTD concatenation support to integrator-flash.c for platforms with more than one block of flash memory (e.g. RealView PB11MPCore). The implementation is based on the sa1100-flash.c one. Signed-off-by: Catalin Marinas Acked-by: Russell King Signed-off-by: David Woodhouse commit 8d42b524f4323cdf49872fe5e3a0e824f32feb51 Author: David Woodhouse Date: Fri May 29 13:57:13 2009 +0100 mtd: DIL/NetPC broken for now We'll fix it up again, but for now I don't think anyone really cares. Signed-off-by: David Woodhouse commit 012b84dae17126d8b5d159173091eb3db5a2bc43 Author: Ingo Molnar Date: Sun May 17 11:08:41 2009 +0200 perf_counter: Robustify counter-free logic This fixes a nasty crash and highlights a bug that we were freeing failed-fork() counters incorrectly. (the fix for that will come separately) [ Impact: fix crashes/lockups with inherited counters ] Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3f4dee227348daac32f36daad9a91059efd0723e Author: Ingo Molnar Date: Fri May 29 11:25:09 2009 +0200 perf_counter: Fix cpuctx->task_ctx races Peter noticed that we are sometimes reading cpuctx->task_ctx with interrupts enabled. Noticed-by: Peter Zijlstra Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 88f3907f6f447899544beadf491dccb32015dacb Author: FUJITA Tomonori Date: Wed May 27 09:43:03 2009 +0900 dma-debug: fix debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device DMA-mapping.txt says that debug_dma_sync_sg family must be called with the _same_ one you passed into the dma_map_sg call, it should _NOT_ be the 'count' value _returned_ from the dma_map_sg call. debug_dma_sync_sg_for_cpu and debug_dma_sync_sg_for_device can't handle this properly; they need to use the sg_mapped_ents in struct dma_debug_entry as debug_dma_unmap_sg() does. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 884d05970bfbc3db368f23460dc4ce63257f240d Author: FUJITA Tomonori Date: Wed May 27 09:43:02 2009 +0900 dma-debug: use sg_dma_len accessor debug_dma_map_sg() and debug_dma_unmap_sg() use length in struct scatterlist while debug_dma_sync_sg_for_cpu() and debug_dma_sync_sg_for_device() use dma_length. This causes bugs warnings on some IOMMU implementations since these values are not same; the length doesn't represent the dma length. We always need to use sg_dma_len() accessor to get the dma length of a scatterlist entry. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 15aedea439c4d7dbec17c99b5e1594c01b979833 Author: FUJITA Tomonori Date: Wed May 27 09:43:01 2009 +0900 dma-debug: use sg_dma_address accessor instead of using dma_address directly Architectures might not have dma_address in struct scatterlist (PARISC doesn't). Directly accessing to dma_address in struct scatterlist is wrong; we need to use sg_dma_address() accesssor instead. Signed-off-by: FUJITA Tomonori Signed-off-by: Joerg Roedel commit 428ff9d2e37d3a82af0f56b476f70c244cf550d1 Author: Artem Bityutskiy Date: Mon May 25 16:59:28 2009 +0300 UBIFS: remove dead code UBIFS assumes that @c->min_io_size is 8 in case of NOR flash. This is because UBIFS alignes all nodes to 8-byte boundary, and maintaining @c->min_io_size introduced unnecessary complications. This patch removes senseless constructs like: if (c->min_io_size == 1) NOR-specific code Also, few commentaries amendments. Signed-off-by: Artem Bityutskiy commit 16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9 Author: Peter Ujfalusi Date: Fri May 29 09:22:37 2009 +0300 ASoC: TWL4030: Use reg_cache in twl4030_init_chip Use the codec->reg_cache instead of the array directly in twl4030_init_chip for setting the default values. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 0528c7494e67c30329d086df141d2dd691f01556 Author: Michal Marek Date: Tue May 26 17:07:52 2009 +0200 ALSA: clean up the logic for building sequencer modules Instead of mangling the CONFIG_* variables in the makefiles over and over, set a few helper variables in Kconfig. Signed-off-by: Michal Marek Signed-off-by: Takashi Iwai commit a4444da31ec92f89cd6923579c20a9c240439cfc Author: Jaroslav Kysela Date: Thu May 28 12:31:56 2009 +0200 ALSA: PCM midlevel: lower jiffies check margin using runtime->delay value When hardware has large FIFO, it is necessary to lower jiffies margin by count of queued samples. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 13f040f9e55d41e92e485389123654971e03b819 Author: Jaroslav Kysela Date: Thu May 28 11:31:20 2009 +0200 ALSA: PCM midlevel: Do not update hw_ptr_jiffies when hw_ptr is not changed Some hardware might have bigger FIFOs and DMA pointer value will be updated in large chunks. Do not update hw_ptr_jiffies and position timestamp when hw_ptr value was not changed. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit c62a01ad6e746fae9c93f51ea67e0abfd8d94b58 Author: Jaroslav Kysela Date: Thu May 28 11:21:52 2009 +0200 ALSA: PCM midlevel: introduce mask for xrun_debug() macro For debugging purposes, it is better to separate actions. Bit-values: 1: show bad PCM ring buffer pointer 2: show also stack (to debug kernel latency issues) 4: check pointer against system jiffies Example: 5: show bad PCM ring buffer pointer and do jiffies check Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 8bea869c5e56234990e6bad92a543437115bfc18 Author: Jaroslav Kysela Date: Mon Apr 27 09:44:40 2009 +0200 ALSA: PCM midlevel: improve fifo_size handling Move the fifo_size assignment to hw->ioctl callback to allow lowlevel drivers overwrite the default behaviour. fifo_size is in frames not bytes as specified in asound.h and alsa-lib's documentation, but most hardware have fixed byte based FIFOs. Introduce internal SNDRV_PCM_INFO_FIFO_IN_FRAMES. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit e93721a70263afefbac781f575bfe851c6f95d84 Merge: ae1ec5e c87d973 Author: Takashi Iwai Date: Fri May 29 11:46:10 2009 +0200 Merge branch 'fix/pcm-jiffies-check' into topic/pcm-jiffies-check commit 42f1d2e06a25628ae4ceaadccc4fa67c7787e2b4 Merge: 9af5324 77bbca1 Author: Russell King Date: Fri May 29 10:04:24 2009 +0100 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci into devel commit ad3a37de81c45f6c20d410ece86004b98f7b6d84 Author: Paul Mackerras Date: Fri May 29 16:06:20 2009 +1000 perf_counter: Don't swap contexts containing locked mutex Peter Zijlstra pointed out that under some circumstances, we can take the mutex in a context or a counter and then swap that context or counter to another task, potentially leading to lock order inversions or the mutexes not protecting what they are supposed to protect. This fixes the problem by making sure that we never take a mutex in a context or counter which could get swapped to another task. Most of the cases where we take a mutex is on a top-level counter or context, i.e. a counter which has an fd associated with it or a context that contains such a counter. This adds WARN_ON_ONCE statements to verify that. The two cases where we need to take the mutex on a context that is a clone of another are in perf_counter_exit_task and perf_counter_init_task. The perf_counter_exit_task case is solved by uncloning the context before starting to remove the counters from it. The perf_counter_init_task is a little trickier; we temporarily disable context swapping for the parent (forking) task by setting its ctx->parent_gen to the all-1s value after locking the context, if it is a cloned context, and restore the ctx->parent_gen value at the end if the context didn't get uncloned in the meantime. This also moves the increment of the context generation count to be within the same critical section, protected by the context mutex, that adds the new counter to the context. That way, taking the mutex is sufficient to ensure that both the counter list and the generation count are stable. [ Impact: fix hangs, races with inherited and PID counters ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <18975.31580.520676.619896@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 5d4e039b2cb1ca4de9774344ea7b61ad7fa1b0a1 Author: Jiri Pirko Date: Thu May 28 01:05:00 2009 +0000 bonding: allow bond in mode balance-alb to work properly in bridge -try4.3 [PATCH net-next] bonding: allow bond in mode balance-alb to work properly in bridge -try4.3 (updated) changes v4.2 -> v4.3 - memcpy the address always, not just in case it differs from master->dev_addr - compare_ether_addr_64bits() is not used so there is no direct need to make new header file (I think it would be good to have bond stuff in separate file anyway). changes v4.1 -> v4.2 - use skb->pkt_type == PACKET_HOST compare rather then comparing skb dest addr against skb->dev->dev_addr The problem is described in following bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=487763 Basically here's what's going on. In every mode, bonding interface uses the same mac address for all enslaved devices (except fail_over_mac). Only balance-alb will simultaneously use multiple MAC addresses across different slaves. When you put this kind of bond device into a bridge it will only add one of mac adresses into a hash list of mac addresses, say X. This mac address is marked as local. But this bonding interface also has mac address Y. Now then packet arrives with destination address Y, this address is not marked as local and the packed looks like it needs to be forwarded. This packet is then lost which is wrong. Notice that interfaces can be added and removed from bond while it is in bridge. *** When the multiple addresses for bridge port approach failed to solve this issue due to STP I started to think other way to solve this. I returned to previous solution but tweaked one. This patch solves the situation in the bonding without touching bridge code. For every incoming frame to bonding the destination address is compared to current address of the slave device from which tha packet came. If these two match destination address is replaced by mac address of the master. This address is known by bridge so it is delivered properly. Note that the comparsion is not made directly, it's used skb->pkt_type == PACKET_HOST instead. This is "set" previously in eth_type_trans(). I experimentally tried that this works as good as searching through the slave list (v4 of this patch). Jirka Signed-off-by: Jiri Pirko Signed-off-by: Eric Dumazet Signed-off-by: Andy Gospodarek Signed-off-by: David S. Miller commit 4d5ef9f0f588045d5e53e51816bd619d82385676 Author: Florian Fainelli Date: Thu May 28 00:58:41 2009 +0000 korina: periodically poll the media This patch makes the korina driver poll the media for link change. This is actually required on Mikrotik RB532 (not RB532A) for korina to operate properly. Signed-off-by: Felix Fietkau Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 5d23a1d2a317e272f171d7818f600fde324eaceb Author: FUJITA Tomonori Date: Wed May 27 15:10:42 2009 +0000 net: replace dma_sync_single with dma_sync_single_for_cpu This replaces dma_sync_single() with dma_sync_single_for_cpu() because dma_sync_single() is an obsolete API; include/linux/dma-mapping.h says: /* Backwards compat, remove in 2.7.x */ #define dma_sync_single dma_sync_single_for_cpu #define dma_sync_sg dma_sync_sg_for_cpu Signed-off-by: FUJITA Tomonori Signed-off-by: David S. Miller commit 108bfa895cacd1a7c1767e85be105b213e5dce50 Author: Eric Dumazet Date: Thu May 28 22:35:10 2009 +0000 net: unset IFF_XMIT_DST_RELEASE in ipgre_tunnel_setup() ipgre_tunnel_xmit() might need skb->dst, so tell dev_hard_start_xmit() to no release it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a489e51c1a69c3aa7e7aea925f71c92be5cedbb1 Author: Eric Dumazet Date: Thu May 28 11:14:49 2009 +0000 atm: unset IFF_XMIT_DST_RELEASE in clip_setup() clip_start_xmit() needs skb->dst so tell dev_hard_start_xmit() to no release it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 28e72216d7e7af7050f171a87c1eecba93d01ea6 Author: Eric Dumazet Date: Thu May 28 10:44:30 2009 +0000 net: unset IFF_XMIT_DST_RELEASE in ipip_tunnel_setup() ipip_tunnel_xmit() might need skb->dst, so tell dev_hard_start_xmit() to no release it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cdd0db058d64f2619b08e7d098ee0014aa0a5bc1 Author: Eric Dumazet Date: Thu May 28 00:00:41 2009 +0000 net: dont update dev->trans_start Second round of drivers for Gb cards (and NIU one I forgot in the 10GB round) Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 28679751a924c11f7135641f26e99249385de5b4 Author: Eric Dumazet Date: Wed May 27 19:26:37 2009 +0000 net: dont update dev->trans_start in 10GB drivers Followup of commits 9d21493b4beb8f918ba248032fefa393074a5e2b and 08baf561083bc27a953aa087dd8a664bb2b88e8e (net: tx scalability works : trans_start) (net: txq_trans_update() helper) Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Multi queue drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers (vxge & tehuti) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3f1f39c42b24d5c20eb593ce80b9c4d5ec1e2148 Merge: dfe9a83 7481806 Author: David S. Miller Date: Fri May 29 01:41:32 2009 -0700 Merge branch 'linux-2.6.31.y' of git://git.kernel.org/pub/scm/linux/kernel/git/inaky/wimax commit be1ac0d81d0e3ab655f8c8ade31fb860ef6aa186 Author: Ingo Molnar Date: Fri May 29 09:10:54 2009 +0200 perf_counter tools: Also display time-normalized stat results Add new column that normalizes counter results by 'nanoseconds spent running' unit. Before: Performance counter stats for '/home/mingo/hackbench': 10469.403605 task clock ticks (msecs) 75502 context switches (events) 9501 CPU migrations (events) 36158 pagefaults (events) 31975676185 CPU cycles (events) 26257738659 instructions (events) 108740581 cache references (events) 54606088 cache misses (events) Wall-clock time elapsed: 810.514504 msecs After: Performance counter stats for '/home/mingo/hackbench': 10469.403605 task clock ticks (msecs) 75502 context switches # 0.007 M/sec 9501 CPU migrations # 0.001 M/sec 36158 pagefaults # 0.003 M/sec 31975676185 CPU cycles # 3054.202 M/sec 26257738659 instructions # 2508.045 M/sec 108740581 cache references # 10.387 M/sec 54606088 cache misses # 5.216 M/sec Wall-clock time elapsed: 810.514504 msecs The advantage of that column is that it is characteristic of the execution workflow, regardless of runtime. Hence 'hackbench 10' will look similar to 'hackbench 15' - while the absolute counter values are very different. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 2996f5ddb7ba8889caeeac65edafe48845106eaa Author: Ingo Molnar Date: Fri May 29 09:10:54 2009 +0200 perf_counter tools: Split display into reading and printing We introduce the extra pass to allow the print-out to possibly rely on already read counters. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c04f5e5d7b523f90ee3cdd70a68c4002aaecd3fa Author: Ingo Molnar Date: Fri May 29 09:10:54 2009 +0200 perf_counter tools: Clean up builtin-stat.c's do_perfstat() [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit c323d95fa4dbe0b6bf6d59e24a0b7db067dd08a7 Author: Yong Wang Date: Fri May 29 13:28:35 2009 +0800 perf_counter/x86: Always use NMI for performance-monitoring interrupt Always use NMI for performance-monitoring interrupt as there could be racy situations if we switch between irq and nmi mode frequently. Signed-off-by: Yong Wang LKML-Reference: <20090529052835.GA13657@ywang-moblin2.bj.intel.com> Signed-off-by: Ingo Molnar commit da417a7537cbf4beb28a08a49adf915f2358040c Author: Mike Galbraith Date: Fri May 29 08:23:16 2009 +0200 perf_counter tools: Fix top symbol table max_ip typo Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit a3ec8d70f1a55acccc4874fe9b4dadbbb9454a0f Author: Mike Galbraith Date: Fri May 29 06:46:46 2009 +0200 perf_counter tools: Fix top symbol table dump typo Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit dfe9a837987aacaffbce020fbf54d8e0afa4bde1 Author: David S. Miller Date: Thu May 28 23:31:56 2009 -0700 llc: Kill outdated and incorrect comment. This comment suggested storing two pieces of state in the LLC skb control block, and in fact we do. Someone did the implementation but never killed this todo comment :-) Signed-off-by: David S. Miller commit 528be7ff823c3d0fc08c91f31b1e84c5f2681762 Author: David S. Miller Date: Thu May 28 23:26:33 2009 -0700 irda: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit e9ab33d03eb721a632214c0bbaa18652de88aa2d Author: Jaroslav Kysela Date: Thu May 28 14:20:00 2009 +0200 ALSA: au88x0: fix wrong period_elapsed() call The period_elapsed() call should be called when position moves. The idea was taken from ALSA bug#4455. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3fd43858c7937801134bd70ef1d411e44f9c0c1c Author: Jaroslav Kysela Date: Thu May 28 14:12:27 2009 +0200 ALSA: au88x0: fix .pointer callback Appearently, the used mask in the .pointer callback is invalid. It should be in period_bytes range. The period_bytes is pow(2), so simple bitwise operation is used. Idea was taken from ALSA bug#4455. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 915219441d566f1da0caa0e262be49b666159e17 Author: David S. Miller Date: Thu May 28 21:35:47 2009 -0700 tcp: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit 435462c6e639065460e91903d6bd2af0f5762fde Merge: d7b41b1 b5c42bc Author: Benjamin Herrenschmidt Date: Fri May 29 13:54:52 2009 +1000 Merge branch 'merge' into next commit 7481806dcfd07e9a636155554f6f4b4fbd976381 Author: Inaky Perez-Gonzalez Date: Fri May 22 00:41:11 2009 -0700 wimax: a new API call was added, increment minor protocol version number As the 'state_get' API call was added, we need to increase the minor protocol version number so applications that depend on the can check it's presence. Signed-off-by: Inaky Perez-Gonzalez commit 2618ab774ea015089c6eb84787f7ede6f2a2cbd0 Author: Inaky Perez-Gonzalez Date: Fri May 8 15:51:44 2009 -0700 wimax/i2400m: usb: fix device reset on autosuspend while not yet idle When the i2400m is connected to a network, the host interface (USB) cannot be suspended. For that to happen, the device has to have negotiated with the basestation to put the link on IDLE state. If the host tries to put the device in standby while it is connected but not idle, the device resets, as the driver should not do that. To avoid triggering that, when the USB susbsytem requires the driver to autosuspend the device, the driver checks if the device is not yet idle. If it is not, the request is requested (will be retried again later on after the autosuspend timeout). At some point the device will enter idle and the request will succeed (unless of course, there is network traffic, but at that point, there is no idle neither in the link or the host interface). Signed-off-by: Inaky Perez-Gonzalez commit 7f0333eb2f98bbfece4fbfe21076d0a3e49f0bb0 Author: Paulius Zaleckas Date: Wed May 13 06:20:29 2009 -0700 wimax: Add netlink interface to get device state wimax connection manager / daemon has to know what is current state of the device. Previously it was only possible to get notification whet state has changed. Note: By mistake, the new generic netlink's number for WIMAX_GNL_OP_STATE_GET was declared inserting into the existing list of API calls, not appending; thus, it'd break existing API. Fixed by Inaky Perez-Gonzalez by moving to the tail, where we add to the interface, not modify the interface. Thanks to Stephen Hemminger for catching this. Signed-off-by: Paulius Zaleckas commit a0a4c4c9e54ee4255f46eedb572ad69ee34c77b6 Author: Inaky Perez-Gonzalez Date: Thu Apr 30 14:39:21 2009 -0700 wimax/i2400m: sdio: set the block size before enabling the function From a fix by Cindy H Kao: Block size has to be set before sending IOE enable because the firmware reads the block size register before it reads IOE register. Signed-off-by: Inaky Perez-Gonzalez commit 52a8d9630890f2289354d03e8751bf0eba2b3376 Author: Inaky Perez-Gonzalez Date: Tue May 5 21:05:16 2009 -0700 wimax: document why wimax_msg_*() operations can be used in any state Funcion documentation for wimax_msg_alloc() and wimax_msg_send() needs to clarify that they can be used in the very early stages of a wimax_dev lifecycle. Signed-off-by: Inaky Perez-Gonzalez commit 052991d7ac7f7b2c0319e6ccd2e8a48a71f2bd58 Author: Inaky Perez-Gonzalez Date: Sat May 2 02:50:03 2009 -0700 wimax/i2400m: remove redundant readiness checks from i2400m_report_tlv_*() Functions i2400m_report_tlv*() are only called from i2400m_report_hook(), called in a workqueue by i2400m_report_hook_work(). The scheduler checks for device readiness before scheduling. Added an extra check for readiness in i2400m_report_hook_work(), which makes all the checks down the line redundant. Obviously the device state could change in the middle, but error handling would take care of that. Signed-off-by: Inaky Perez-Gonzalez commit 8ac1101f8cd58a62517ba86745bc000d3a21f09b Author: Inaky Perez-Gonzalez Date: Sat Apr 25 00:26:14 2009 -0700 wimax/i2400m: factor out 'state report's TLV handling to a function i2400m_report_state_hook() is going to get messier as we add handling code. Signed-off-by: Inaky Perez-Gonzalez commit 223beea23810577353c4cc71ce2f44dbba0d4e16 Author: Inaky Perez-Gonzalez Date: Mon Apr 13 10:26:34 2009 -0700 wimax/i2400m: allow kernel commands to device to be logged too By running 'echo 1 > /sys/kernel/debug/wimax:wmxX/i2400m/trace_msg_from_user', the driver will echo to user space all the commands being sent to the device from user space, along with the responses. However, this only helps with the commands being sent from user space; with this patch, the trace hook is moved to i2400m_msg_to_dev(), which is the single access point for running commands to the device (both by user space and the kernel driver). This allows better debugging by having a complete stream of commands/acks and reports. Signed-off-by: Inaky Perez-Gonzalez commit 44b849d11bf6801a642dd1aa9a70e470d046d273 Author: Inaky Perez-Gonzalez Date: Mon Mar 30 17:51:54 2009 -0700 wimax/i2400m: trace commands sent from user space on the "echo" pipe When commands are sent from user space, trace both the command sent and the answer received over the "echo" pipe instead of over the "trace" pipe when command tracing is enabled. As well, when the device sends a reports/indications, send it over the "echo" pipe. The "trace" pipe is used by the device to send firmware traces; gets confusing. Another named pipe makes it easier to split debug information. Signed-off-by: Inaky Perez-Gonzalez commit fe442683853a2c0863b700acc4328b4d73090206 Author: Inaky Perez-Gonzalez Date: Wed Apr 22 16:53:08 2009 -0700 wimax/i2400m: generate fake source MAC address with random_ether_addr() The WiMAX i2400m driver needs to generate a fake source MAC address to fake an ethernet header (for destination, the card's MAC is used). This is the source of the packet, which is the basestation it came from. The basestation's mac address is not usable for this, as it uses its own namespace and it is not always available. Currently the fake source MAC address was being set to all zeros, which was causing trouble with bridging. Use random_ether_addr() to generate a proper one that creates no trouble. Signed-off-by: Inaky Perez-Gonzalez commit de1033428baf1940bbbbf9e66b073ee0a577f5e0 Author: David S. Miller Date: Thu May 28 16:46:29 2009 -0700 econet: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit bec571ec762a4cf855ad4446f833086fc154b60e Author: David S. Miller Date: Thu May 28 16:43:52 2009 -0700 decnet: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit b6211ae7f2e56837c6a4849316396d1535606e90 Author: David S. Miller Date: Thu May 28 16:36:47 2009 -0700 atm: Use SKB queue and list helpers instead of doing it by-hand. Signed-off-by: David S. Miller commit cd07ecc828486e5887113c7dc4d9f9022145811b Merge: 4c50d22 b04e897 Author: Tony Lindgren Date: Thu May 28 15:45:14 2009 -0700 Merge branch 'omap4' into for-next commit 4c50d22a0cf240918d53afbf9a8416a9d93aacee Merge: 970a724 7419045 Author: Tony Lindgren Date: Thu May 28 15:45:07 2009 -0700 Merge branch 'omap3-boards' into for-next commit 970a724d9173526512ebd8be991a4cbe18b7aace Merge: c81592b 4a899d5 Author: Tony Lindgren Date: Thu May 28 15:44:54 2009 -0700 Merge branch 'omap3-upstream' into for-next Conflicts: arch/arm/mach-omap2/serial.c commit c81592ba1b012d555d0cb7ec711afda89c327469 Merge: c912f7e 088962c Author: Tony Lindgren Date: Thu May 28 15:41:03 2009 -0700 Merge branch 'omap-upstream' into for-next Conflicts: arch/arm/mach-omap2/Makefile commit 77bbca138c64cb80259732db6f70e1668123f2a7 Author: Kevin Hilman Date: Tue May 26 07:26:13 2009 -0700 davinci: defconfig update: add EMAC DaVinci EMAC driver is now upstream. Enable it in default defconfig. Signed-off-by: Kevin Hilman commit 20e9969b3aa5166d50c8df474967c9d80bf6d481 Author: David Brownell Date: Thu May 7 09:31:42 2009 -0700 davinci: add SRAM allocator Provide a generic SRAM allocator using genalloc, and vaguely modeled after what AVR32 uses. This builds on top of the static CPU mapping set up in the previous patch, and returns DMA mappings as requested (if possible). Compared to its OMAP cousin, there's no current support for (currently non-existent) DaVinci power management code running in SRAM; and this has ways to deallocate, instead of being allocate-only. The initial user of this should probably be the audio code, because EDMA from DDR is subject to various dropouts on at least DM355 and DM6446 chips. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit 0d04eb47054f685b23033ed6ceadfb20db77c5b3 Author: David Brownell Date: Thu Apr 30 17:35:48 2009 -0700 davinci: soc-specific SRAM setup Package on-chip SRAM. It's always accessible from the ARM, so set up a standardized virtual address mapping into a 128 KiB area that's reserved for platform use. In some cases (dm6467) the physical addresses used for EDMA are not the same as the ones used by the ARM ... so record that info separately in the SOC data, for chips (unlike the OMAP-L137) where SRAM may be used with EDMA. Other blocks of SRAM, such as the ETB buffer or DSP L1/L2 RAM, may be unused/available on some system. They are ignored here. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit b79dbdefd2be0980c58b5e36fdc23eb14a7caab4 Author: David Brownell Date: Thu Apr 30 17:33:27 2009 -0700 davinci: remove remnants of IRAM allocator Remove remnants of dm6446-specific SRAM allocator, as preparation for a more generic replacement. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit 96ed299fdb572fd694d361dc49285dddc0c87da4 Author: Kevin Hilman Date: Thu Apr 30 11:20:24 2009 -0700 davinci: cleanup: move dm355 UART2 define to dm355.c Signed-off-by: Kevin Hilman commit 5570078c0ec5ecc5df0bbd7d06f43549b7127ae7 Author: Mark A. Greer Date: Wed Apr 15 12:42:06 2009 -0700 davinci: Move PINMUX defines to SoC files Different SoC have different numbers of pinmux registers and other resources that overlap with each other. To clean up the code and eliminate defines that overlap with each other, move the PINMUX defines to the SoC specific files. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 3abd5acfff0111809463bcfd7236a1bdf09e4e2d Author: Mark A. Greer Date: Wed Apr 15 12:41:54 2009 -0700 davinci: Add compare register support to timer code The Timer64p timer has 8 compare registers that can be used to generate interrupts when the timer value matches the compare reg's value. They do not disturb the timer itself. This can be useful when there is only one timer available for both clock events and clocksource. When enabled, the clocksource remains a continuous 32-bit counter but the clock event will no longer support periodic interrupts. Instead only oneshot timers will be supported and implemented by setting the compare register to the current timer value plus the period that the clock event subsystem is requesting. Compare registers support is enabled automatically when the following conditions are met: 1) The same timer is being used for clock events and clocksource. 2) The timer is the bottom half (32 bits) of the 64-bit timer (hardware limitation). 3) The the compare register offset and irq are not zero. Since the timer is always running, there is a hardware race in timer32_config() between reading the current timer value, and adding the period to the current timer value and writing the compare register. Testing on a da830 evm board with the timer clocked at 24 MHz and the processor clocked at 300 MHz, showed the number of counter ticks to do this ranged from 20-53 (~1-2.2 usecs) but usually around 41 ticks. This includes some artifacts from collecting the information. So, the minimum period should be at least 5 usecs to be safe. There is also an non-critical lower limit that the period should be since there is no point in setting an event that is much shorter than the time it takes to set the event, and get & handle the timer interrupt for that event. There can also be all sorts of delays from activities occuring elsewhere in the system (including hardware activitis like cache & TLB management). These are virtually impossible to quantify so a minimum period of 50 usecs was chosen. That will certianly be enough to avoid the actual hardware race but hopefully not large enough to cause unreasonably course-grained timers. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 0b0c4c2a6974eae7b96066cb0da35b526fe58468 Author: Mark A. Greer Date: Wed Apr 15 12:41:40 2009 -0700 davinci: Integrate cp_intc support into low-level irq code Integrate the Common Platform Interrupt Controller (cp_intc) support into the low-level irq handling for davinci and similar platforms. Do it such that support for cp_intc and the original aintc can coexist in the same kernel binary. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit b14dc0f9942a9c318c6c49f29511d88b3642e2d0 Author: Mark A. Greer Date: Wed Apr 15 12:41:27 2009 -0700 davinci: Factor out emac mac address handling Factor out the code to extract that mac address from i2c eeprom. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit c97909fcf1611645f0fe235b332e39623588d84c Author: Mark A. Greer Date: Wed Apr 15 12:41:15 2009 -0700 davinci: Remove unused i2c eeprom_read/write routines The dm644x and dm646x board files have i2c eeprom read and write routines but they are not used so remove them. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 972412b648dcf0c4303dca7e515d5c24ce3cd1d5 Author: Mark A. Greer Date: Wed Apr 15 12:40:56 2009 -0700 davinci: Move emac platform_data to SoC-specific files Since most of the emac platform_data is really SoC specific and not board specific, move it to the SoC-specific files. Put a pointer to the platform_data in the soc_info structure so the board-specific code can set some of the platform_data if it needs to. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 65e866a9741126c678e6dcd5d4fa8c9eca18e945 Author: Mark A. Greer Date: Wed Mar 18 12:36:08 2009 -0500 davinci: Move serial platform_device into SoC-specific files Currently, there is one set of platform_device and platform_data structures for all DaVinci SoCs. The differences in the data between the various SoCs is handled by davinci_serial_init() by checking the SoC type. However, as new SoCs appear, this routine will become more & more cluttered. To clean up the routine and make it easier to add support for new SoCs, move the platform_device and platform_data structures into the SoC-specific code and use the SoC infrastructure to provide access to the data. In the process, fix a bug where the wrong irq is used for uart2 of the dm646x. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit a994955cc091a8a51b7d7412174d9cf6de04d26b Author: Mark A. Greer Date: Wed Apr 15 12:40:35 2009 -0700 davinci: Make GPIO code more generic The current gpio code needs to know the number of gpio irqs there are and what the bank irq number is. To determine those values, it checks the SoC type. It also assumes that the base address and the number of irqs the interrupt controller uses is fixed. To clean up the SoC checks and make it support different base addresses and interrupt controllers, have the SoC-specific code set those values in the soc_info structure and have the gpio code reference them there. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 9e09675366695405412b709e91709c1ce2925c90 Author: Mike Galbraith Date: Thu May 28 16:25:34 2009 +0200 perf_counter tools: Document '--' option parsing terminator Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit de04687f868bf98e4ef644af91ed85a3bc212ce8 Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:41 2009 -0300 perf_counter tools: Convert builtin-top to use libperf symbol routines Now both perf top and report use the same routines. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175541.GG4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 69ee69f63c82e63d9c6c6081d12673af4933c51e Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:26 2009 -0300 perf_counter tools: Optionally pass a symbol filter to the dso load routines Will be used by perf top. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175526.GF4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a827c875f2ebe69c6e6db5e7f112d4beb4d80f01 Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:19 2009 -0300 perf_counter tools: Consolidate dso methods to load kernel symbols Now one has just to use dso__load_kernel() optionally passing a vmlinux filename. Will make things easier for perf top that will want to pass a callback to filter some symbols. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0085c954140d27937ada29d139c16341075d45e4 Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:13 2009 -0300 perf_counter tools: struct symbol priv area When creating a dso instance allow asking that all symbols in this dso have a private area just before the symbol. perf top will use this for its counters, etc. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175513.GD4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit a2928c42a5d69328c3578b41bd4d72f6658cf7dc Author: Arnaldo Carvalho de Melo Date: Thu May 28 14:55:04 2009 -0300 perf_counter tools: Move symbol resolution classes from report to libperf Will be used by perf top as well. Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090528175504.GC4747@ghostprotocols.net> Signed-off-by: Ingo Molnar commit b04e8975e70d9b2bc27c017f92b356b312692544 Author: Santosh Shilimkar Date: Thu May 28 14:16:05 2009 -0700 ARM: OMAP4: Add defconfig for 4430 SDP This patch adds the defconfig for OMAP4430 SDP platform. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 46ba0abfe1ac2bd9608d0fc9e914379be695aa5b Author: Santosh Shilimkar Date: Thu May 28 14:16:05 2009 -0700 ARM: OMAP4: Add support for 4430 SDP This patch updates the Makefile and Kconfig entries for OMAP4. The OMAP4430 SDP board file supports only minimal set of drivers. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 748303850d589038f8ff9f5c7014afb006210b1f Author: Santosh Shilimkar Date: Thu May 28 14:16:04 2009 -0700 ARM: OMAP4: Clock stubs since CLKDEV not in yet. This patch update the common clock.c file for OMAP4. The clk_get() and clk_put() functions are moved to common place in arch/arm/common/clkdev.c Since on current OMAP4 platform clk management is still not supported, the platform file is stubbed with those functions. Once the framework is ready, this WILL be replaced with a full clkdev implementation. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 44169075e6eaa87bab6a296209d8d0610879b394 Author: Santosh Shilimkar Date: Thu May 28 14:16:04 2009 -0700 ARM: OMAP4: Add minimal support for omap4 This patch adds the support for OMAP4. The platform and machine specific headers and sources updated for OMAP4430 SDP platform. OMAP4430 is Texas Instrument's SOC based on ARM Cortex-A9 SMP architecture. It's a dual core SOC with GIC used for interrupt handling and SCU for cache coherency. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 7419045016e5002b3ccee72b28e41bf53dca68f2 Author: Grazvydas Ignotas Date: Thu May 28 14:15:44 2009 -0700 ARM: OMAP3: pandora: add support for mode devices Add support for keypad, GPIO keys and LEDs. Also enable hardware debounce feature for GPIO keys. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 1bfc3738c414a34a6cb81a2f2fddea8e131afa89 Author: Syed Mohammed Khasim Date: Thu May 28 14:15:44 2009 -0700 ARM: OMAP3: Add omap3 EVM defconfig Add omap3 EVM defconfig Signed-off-by: Tony Lindgren commit 53c5ec31e775d40e428a577de561211e11b08d74 Author: Syed Mohammed Khasim Date: Thu May 28 14:13:28 2009 -0700 ARM: OMAP3: Add omap3 EVM support Add omap3 EVM support Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit b969a2873d84b832a00e575c5197d02305399fe2 Author: Vikram Pandita Date: Thu May 28 14:08:58 2009 -0700 ARM: OMAP3: Defconfig for Zoom2 board This patch adds OMAP3 Zoom2 board defconfig. Signed-off-by: Mikkel Christensen Signed-off-by: Vikram Pandita Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 577145f45487b41b4d47eeaedb9d37e494f80715 Author: Vikram Pandita Date: Thu May 28 14:04:04 2009 -0700 ARM: OMAP3: Add support for OMAP3 Zoom2 board This patch creates the minimal OMAP3 Zoom2 board support. Signed-off-by: Mikkel Christensen Signed-off-by: Vikram Pandita Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit f52eeee83d360d536cab1c0296eae0ec5f05e4dd Author: Adrian Hunter Date: Thu May 28 14:04:04 2009 -0700 ARM: OMAP3: RX51: Connect VAUX3 to MMC2 Connect VAUX3 to MMC2 Signed-off-by: Adrian Hunter Signed-off-by: Tony Lindgren commit 64f535a87ce103fae592f2cce0866b4a45903ed6 Author: Grazvydas Ignotas Date: Thu May 28 14:04:04 2009 -0700 ARM: OMAP3: pandora: setup regulator framework for MMC Setup regulators for MMC1 and MMC2 to get those SD slots working again. Signed-off-by: Grazvydas Ignotas CC: David Brownell Acked-by: David Brownell Signed-off-by: Tony Lindgren commit bb3b9d8eb97624956e7e3a9eba2c64576808b1dc Author: David Brownell Date: Thu May 28 14:04:03 2009 -0700 ARM: OMAP3: Initialize regulators for Beagle and Overo Initialize regulators for Beagle and Overo. Patch is based on earlier patches posted to linux-omap mailing list. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit b583f26d510ee1aef7348f38f1d959212f66b5e5 Author: David Brownell Date: Thu May 28 14:04:03 2009 -0700 ARM: OMAP3: mmc-twl4030 uses regulator framework Decouple the HSMMC glue from the twl4030 as the only regulator provider, using the regulator framework instead. This makes the glue's "mmc-twl4030" name become a complete misnomer ... this code could probably all migrate into the HSMMC driver now. Tested on 3430SDP (SD and low-voltage MMC) and Beagle (SD), plus some other boards (including Overo) after they were converted to set up MMC regulators properly. Eventually all boards should just associate a regulator with each MMC controller they use. In some cases (Overo MMC2 and Pandora MMC3, at least) that would be a fixed-voltage regulator with no real software control. As a temporary hack (pending regulator-next updates to make the "fixed.c" regulator become usable) there's a new ocr_mask field for those boards. Patch updated with a fix for disabling vcc_aux by Adrian Hunter Cc: Pierre Ossman Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 4a899d5e93fd974952492cd4a09e98b209d1ad58 Author: Tony Lindgren Date: Thu May 28 14:04:00 2009 -0700 ARM: OMAP3: Initialize more devices for LDP Based on an earlier patches by Stanley.Miao and Nishant Kamat . Note that at the ads7846 support still needs support for vaux_control for the touchscreen to work. Signed-off-by: Tony Lindgren commit 49adf465d2448dc15866b2267df46ea2e1ccacf1 Author: Imre Deak Date: Thu May 28 14:04:00 2009 -0700 ARM: OMAP3: ZOOM MDK: Add FB support to board file Based on an earlier patch by Stanley.Miao with board-*.c changes split to avoid conflicts with other device updates. Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Stanley.Miao Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren commit 17a722caaef16835ab83f39046da1760cda8a578 Author: Paul Walmsley Date: Thu May 28 14:03:59 2009 -0700 ARM: OMAP3: SDRC: add timing data for Qimonda HYB18M512160AF-6 Add timing data for the Qimonda HYB18M512160AF-6 SDRAM chip, used on the OMAP3430SDP boards. Thanks to Rajendra Nayak for his help identifying the chip used on 3430SDP. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2e12bd7ef175c9dc55dc215823b62a2247865012 Author: Paul Walmsley Date: Thu May 28 14:03:59 2009 -0700 ARM: OMAP3: SDRC: add timing data for Micron MT46H32M32LF-6, v2 Add timing data for the Micron MT46H32M32LF-6 SDRAM chip, used on the OMAP3 Beagle and EVM boards. Original timing data is from the Micron datasheet PDF downloaded from: http://download.micron.com/pdf/datasheets/dram/mobile/1gb_ddr_mobile_sdram_t48m.pdf Thanks to Rajendra Nayak for his help identifying the chips used on Beagle & OMAP3EVM. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2aa57be2d9e400f498cf0f0636069a81035e06b9 Author: Vikram Pandita Date: Thu May 28 14:03:59 2009 -0700 ARM: OMAP2/3: Serial: Remove arch_initcall dependency Move platform_device_register() for serial device to omap_serial_init() There is no need to have arch_initcall() dependency in serial as already board files call the function omap_serial_init() Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit f247de346f67db1e252e4ed6c29d029a6e592398 Author: Tony Lindgren Date: Thu May 28 14:03:58 2009 -0700 ARM: OMAP2/3: Remove L4_WK_OMAP_BASE, L4_PER_OMAP_BASE, L4_EMU_BASE, L3_OMAP_BASE These are not being used right now, and the processor specific defines should be used instead by any code accessing these registers. Signed-off-by: Tony Lindgren commit 088962c243db42b9c608f30be3e3a05a5b696895 Author: Andrew de Quincey Date: Thu May 28 14:03:31 2009 -0700 ARM: OMAP1: Make 770 LCD work Make 770 LCD work by adding clk_add_alias(). Also remove the old unused functions. Note that the clk_add_alias() could probably be moved to arch/arm/clkdev.c later on. Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Andrew de Quincey Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren Date: Thu May 28 13:23:53 2009 -0700 ARM: OMAP: Add some entries to MAINTAINERS Add some entries to MAINTAINERS. Also regroup all omap entries together, and remove an inactive MMC maintainers entry, and Jarkko Lavinen instead. Signed-off-by: Tony Lindgren commit 7d8e967f88006ba6bea7f998e9e6745c27b0b664 Author: Imre Deak Date: Thu May 28 13:23:53 2009 -0700 ARM: OMAP2: 2430SDP: Add FB support to board file Based on an earlier patch by Hunyue Yau with board-*.c changes split to avoid conflicts with other device updates. Cc: linux-fbdev-devel@lists.sourceforge.net Signed-off-by: Hunyue Yau Signed-off-by: Kevin Hilman Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren commit 1a48e1575188d4023b3428b623caeefe8c599e79 Author: Tony Lindgren Date: Thu May 28 13:23:52 2009 -0700 ARM: OMAP2/3: Add generic smc91x support when connected to GPMC Convert the board-rx51 smc91x code to be generic and make the boards to use it. This allows future recalculation of the timings when the source clock gets scaled. Also correct the rx51 interrupt to be IORESOURCE_IRQ_HIGHLEVEL. Thanks to Paul Walmsley for better GPMC timing calculations. Signed-off-by: Tony Lindgren commit aa62e90fe0700c037675926fff9f75b0b1c00d78 Author: Juha Yrjola Date: Thu May 28 13:23:52 2009 -0700 ARM: OMAP2/3: Add generic onenand support when connected to GPMC Add generic onenand support when connected to GPMC and make the boards to use it. The patch has been modified to make it more generic to support all the boards with GPMC. The patch also remove unused prototype for omap2_onenand_rephase(void). Note that board-apollon.c is currently using the MTD_ONENAND_GENERIC and setting the GPMC timings in the bootloader. Setting the GPMC timings in the bootloader will not allow supporting frequency scaling for the onenand source clock. Signed-off-by: Tony Lindgren commit 279b918d726a66c61c9dc7aec8b1fb035d40fdfc Author: Santosh Shilimkar Date: Thu May 28 13:23:52 2009 -0700 ARM: OMAP2/3: sDMA: Correct omap_request_dma_chain(), v2 Original OMAP DMA chaining design had chain_id as one of the callback parameters. Patch 538528de0cb256f65716ab2e9613d9e920f97fe2 changed it to use logical channel instead. Correct the naming for callback to also use logical channel number instead of the chain_id. More details are on this email thread: http://marc.info/?l=linux-omap&m=122961071931459&w=2 Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 0815f8eaae6d11b9dae6c2ff0202d7945f8d7cd2 Author: Tomi Valkeinen Date: Thu May 28 13:23:51 2009 -0700 ARM: OMAP2/3: DMA: implement trans copy and const fill Implement transparent copy and constant fill features for OMAP2/3. Signed-off-by: Tomi Valkeinen Signed-off-by: Tony Lindgren commit b96d31a62f714566fa6420851b3bb3615c796322 Author: Christoph Hellwig Date: Wed May 27 09:37:33 2009 -0400 cifs: clean up set_cifs_acl interfaces Signed-off-by: Christoph Hellwig Reviewed-by: Shirish Pargaonkar Signed-off-by: Jeff Layton Signed-off-by: Steve French commit c912f7e1eae169aaca333b4c5da3f36c98f2ccb0 Author: Kevin Hilman Date: Fri May 15 11:29:28 2009 -0700 OMAP1: PM: update and decouple from OMAP2/3 PM core Update OMAP1-specific PM infrastructure. This is a sync of what is in linux-omap for OMAP1. This mostly de-couples OMAP1 PM from OMAP2/3 PM and renames things accordingly, and removes omap2/3 specific code from OMAP1 specific headers. Original OMAP1 decoupling patch for OMAP PM branch by Paul Walmsley. Cc: Paul Walmsley Signed-off-by: Kevin Hilman commit d3fd3290c4d9f0e40d06fa3a1a8cf164d8cde801 Author: Kevin Hilman Date: Tue May 5 16:34:25 2009 -0700 OMAP3: PM: prevent module wakeups from waking IVA2 By default, prevent functional wakeups from inside a module from waking up the IVA2. Let DSP Bridge code handle this when loaded. Signed-off-by: Kevin Hilman commit b1340d17d25f9a51acf003ba4742e77aefb32071 Author: Kevin Hilman Date: Mon Apr 27 16:14:54 2009 -0700 OMAP3: PM: Clear pending PRCM reset flags on init Signed-off-by: Kevin Hilman commit 014c46db1c596299fc2c1d231cee30bb211035dc Author: Kevin Hilman Date: Mon Apr 27 07:50:23 2009 -0700 OMAP3: PM: Ensure PRCM interrupts are cleared at boot Signed-off-by: Kevin Hilman commit 94a3ef6f2888ae995a8d112e277ed8465a9457fb Author: Peter 'p2' De Schrijver Date: Mon Jan 19 19:09:22 2009 +0200 OMAP3: PM: Ensure MUSB block can idle when driver not loaded Otherwise, bootloaders may leave MUSB in a state which prevents retention. Signed-off-by: Kevin Hilman commit 01cbd4d11558e2e4c10f14bb8aecd799b22bca35 Author: Kevin Hilman Date: Tue Nov 25 21:48:28 2008 -0800 OMAP3: PM: D2D clockdomain supports SW supervised transitions Signed-off-by: Kevin Hilman commit 8111b221a275cbc974eba26059dc764680ded9a9 Author: Kevin Hilman Date: Tue Apr 28 15:27:44 2009 -0700 OMAP3: PM: Add D2D clocks and auto-idle setup to PRCM init Add D2D clocks (modem_fck, sad2d_ick, mad2d_ick) to clock framework and ensure that auto-idle bits are set for these clocks during PRCM init. Also add omap3_d2d_idle() function called durint PRCM setup which ensures D2D pins are MUX'd correctly to enable retention for standalone (no-modem) devices. Signed-off-by: Kevin Hilman commit ba87a9beae8b39894f55761f4aff5ae2ca624f81 Author: Jouni Hogander Date: Tue Dec 9 13:36:50 2008 +0200 OMAP: UART: Add sysfs interface for adjusting UART sleep timeout This patch makes it possible to change uart sleep timeout. New sysfs entry is added (/sys/devices/platform/serial8250./sleep_timeout) Writing zero will disable the timeout feature and prevent UART clocks from being disabled. Also default timeout is increased to 5 second to make serial console more usable. Original patch was written by Tero Kristo. Cc: Tero Kristo Signed-off-by: Jouni Hogander Signed-off-by: Kevin Hilman commit 4af4016c53f52b26461b8030211f8427a58fa5ed Author: Kevin Hilman Date: Wed Feb 4 10:51:40 2009 -0800 OMAP3: PM: UART: disable clocks when idle and off-mode support This patch allows the UART clocks to be disabled when the OMAP UARTs are inactive, thus permitting the chip to hit retention in idle. After the expiration of an activity timer, each UART is allowed to disable its clocks so the system can enter retention. The activity timer is (re)activated on any UART interrupt, UART wake event or any IO pad wakeup. The actual disable of the UART clocks is done in the 'prepare_idle' hook called from the OMAP idle loop. While the activity timer is active, the smart-idle mode of the UART is also disabled. This is due to a "feature" of the UART module that after a UART wakeup, the smart-idle mode may be entered before the UART has communicated the interrupt, or upon TX, an idle mode may be entered before the TX FIFOs are emptied. Upon suspend, the 'prepare_suspend' hook cancels any pending activity timers and allows the clocks to be disabled immediately. In addition, upon disabling clocks the UART state is saved in case of an off-mode transition while clocks are off. Special thanks to Tero Kristo for the initial ideas and first versions of UART idle support, and to Jouni Hogander for extra testing and bugfixes. Tested on OMAP3 (Beagle, RX51, SDP, EVM) and OMAP2 (n810) Cc: Tero Kristo Cc: Jouni Hogander Signed-off-by: Kevin Hilman commit 5a1a5abdb2e9a301f1ac62feb37228f3f4d3117c Author: Kevin Hilman Date: Fri Oct 31 11:08:42 2008 -0700 OMAP3: PM: Add wake-up bit defintiions for CONTROL_PADCONF_X Signed-off-by: Kevin Hilman commit 1155e426b7365f7909f5a32612feff7361aa0f4c Author: Kevin Hilman Date: Tue Nov 25 11:48:24 2008 -0800 OMAP3: PM: Force IVA2 into idle during bootup Signed-off-by: Kevin Hilman commit 94434535bd36ca010a81e1199f954beef2c4de64 Author: Jouni Hogander Date: Tue Feb 3 15:49:04 2009 -0800 OMAP: Add new function to check wether there is irq pending Add common omap2/3 function to check wether there is irq pending. Switch to use it in omap2 pm code instead of its own. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: Kevin Hilman commit 8bd229492209c0c7d050e2f9a600c12f035d72f7 Author: Kevin Hilman Date: Thu May 28 10:56:16 2009 -0700 OMAP2/3: PM: push core PM code from linux-omap This patch is to sync the core linux-omap PM code with mainline. This code has evolved and been used for a while the linux-omap tree, but the attempt here is to finally get this into mainline. Following this will be a series of patches from the 'PM branch' of the linux-omap tree to add full PM hardware support from the linux-omap tree. Much of this PM core code was written by Jouni Hogander with significant contributions from Paul Walmsley as well as many others from Nokia, Texas Instruments and linux-omap community. Signed-off-by: Jouni Hogander Cc: Paul Walmsley Signed-off-by: Kevin Hilman commit 203350c1a8e23adf17fd9a96d8bfc7adf63c1ff6 Author: Mark Brown Date: Thu May 28 14:51:00 2009 +0100 ASoC: Initialise dev for the dummy S/PDIF DAI Also include the header to make sure the DAI is prototyped. Signed-off-by: Mark Brown commit 1bf4072da67c14d6b02cfeef02212aa5a6211df2 Author: Christoph Hellwig Date: Wed May 27 09:37:33 2009 -0400 cifs: reorganize get_cifs_acl Thus spake Christoph: "But this whole set_cifs_acl function is a real mess anyway and needs some splitting up." With this change too, it's possible to call acl_to_uid_mode() with a NULL inode pointer. That (or something close to it) will eventually be necessary when cifs_get_inode_info is reorganized. Signed-off-by: Christoph Hellwig Reviewed-by: Shirish Pargaonkar Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 38736072d45488fd45f076388b6570419bbbc682 Author: H. Peter Anvin Date: Thu May 28 10:05:33 2009 -0700 x86, mce: drop "extern" from function prototypes in asm/mce.h Function prototypes don't need to be prefixed by "extern". [ Impact: cleanup ] Signed-off-by: H. Peter Anvin commit cd13adcc823aa421efa4efd995fa7004a58cf38d Author: Hidetoshi Seto Date: Wed May 27 16:57:31 2009 +0900 x86: trivial clean up for arch/x86/Kconfig Use tab. Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit eb2a6ab729ac40a553797703a5a5dba3a74de004 Author: Andi Kleen Date: Tue Apr 28 23:32:56 2009 +0200 x86: trivial clean up for irq_vectors.h Fix a wrong comment. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 98a9c8c3ba13dfc3df8e6d2a126d2fa4e4621e9c Author: Hidetoshi Seto Date: Thu May 28 11:41:01 2009 +0900 x86, mce: trivial clean up for mce-inject.c Fix for: WARNING: Use #include instead of +#include WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc + if (m.cpu >= NR_CPUS || !cpu_online(m.cpu)) ERROR: trailing whitespace +/* $ Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 61a021a0700c22ee527d73d92f9acb109ff478f8 Author: Hidetoshi Seto Date: Tue Apr 14 17:09:04 2009 +0900 x86, mce: trivial clean up for mce_intel_64.c Fix for: WARNING: space prohibited between function name and open parenthesis '(' + for_each_online_cpu (cpu) { Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 34fa1967aa0827776e37feb5666df0327575a0f2 Author: Hidetoshi Seto Date: Wed Apr 8 12:31:18 2009 +0200 x86, mce: trivial clean up for mce_amd_64.c Fix for followings: WARNING: Use #include instead of +#include ERROR: Macros with multiple statements should be enclosed in a do - while loop +#define THRESHOLD_ATTR(_name, _mode, _show, _store) \ +{ \ + .attr = {.name = __stringify(_name), .mode = _mode }, \ + .show = _show, \ + .store = _store, \ +}; WARNING: usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc + if (cpu >= NR_CPUS) Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 14a02530e2239f753a0f3f089847e723adbdaa47 Author: Hidetoshi Seto Date: Thu Apr 30 16:04:51 2009 +0900 x86, mce: trivial clean up for mce.c This fixs following checkpatch warnings: WARNING: Use #include instead of +#include WARNING: Use #include instead of +#include WARNING: line over 80 characters + set_bit(MCE_OVERFLOW, (unsigned long *)&mcelog.flags); WARNING: braces {} are not necessary for any arm of this statement + if (mce_notify_user()) { [...] + } else { [...] Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit cc3aec52ab8e013984270a79d1aa51f691d239b0 Author: Hidetoshi Seto Date: Thu Apr 30 15:58:22 2009 +0900 x86, mce: trivial clean up for therm_throt.c This patch removes following checkpatch warning: WARNING: Use #include instead of +#include Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 9319cec8c185e84fc5281afb6ac5d4c47a234841 Author: Hidetoshi Seto Date: Tue Apr 14 17:26:30 2009 +0900 x86, mce: use strict_strtoull Use strict_strtoull instead of simple_strtoull. Signed-off-by: Hidetoshi Seto Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit 8780e8e0f6b34862cdf2c62d4d2674d6bc3207db Author: Andi Kleen Date: Wed May 27 21:56:56 2009 +0200 x86, mce: improve documentation Document that check_interval set to 0 means no polling. Noticed by Hidetoshi Seto Also add a reference from boot options to the sysfs tunables Acked-by: Hidetoshi Seto Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit b170204ddb7844ffff62d2d537b20c0eeb97725e Author: Andi Kleen Date: Wed May 27 21:56:54 2009 +0200 x86, mce: drop BKL in mce_open BKL is not needed for anything in mce_open because it has an own spinlock. Remove it. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 32561696c23028596f24b353d98f2e23b58f91f7 Author: Andi Kleen Date: Wed May 27 21:56:53 2009 +0200 x86, mce: rename and align out2 label There's only a single out path in do_machine_check now, so rename the label from out2 to out. Also align it at the first column. [ Impact: minor cleanup, no functional changes ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8be9110569aec1f65d86b08aef7ec49659137bf9 Author: Thomas Gleixner Date: Wed May 27 21:56:53 2009 +0200 x86, mce: remove mce_init unused argument Remove unused mce_init argument. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit fc016a49c2d92f2efbe22c1fb66eb7a5d2a06ed1 Author: Andi Kleen Date: Wed May 27 21:56:53 2009 +0200 x86, mce: remove unused mce_events variable Remove unused mce_events static variable. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit b56f642d2bf8c1f7c6499c1e55b23311a33cc796 Author: Andi Kleen Date: Wed May 27 21:56:52 2009 +0200 x86, mce: use extended sysattrs for the check_interval attribute. Instead of using own callbacks use the generic ones provided by the sysdev later. This finally allows to get rid of the ugly ACCESSOR macros. Should also save some text size. [ Impact: cleanup ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 88921be30296e126896ee4d30758f989d1c4ddfb Author: Andi Kleen Date: Wed May 27 21:56:51 2009 +0200 x86, mce: synchronize core after machine check handling The example code in the IA32 SDM recommends to synchronize the CPU after machine check handling. So do that here. [ Impact: Spec compliance ] Signed-off-by: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5706001aacba5d3db5f224ca135e5e91a30be39c Author: H. Peter Anvin Date: Mon May 25 22:18:17 2009 -0700 x86, mce: fix comment style in mce-inject.c Fix style of winged comment in mce-inject.c. [ Impact: comment only ] Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a1ff41bfc1bb7a6d19cf958f89a9b539678781e5 Author: H. Peter Anvin Date: Mon May 25 22:16:14 2009 -0700 x86, mce: add comment about mce_chrdev_ops being writable Add a comment explaining that mce_chrdev_ops is intentionally writable. [ Impact: comment only ] Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ea149b36c7f511d17dd89fee734cb09778a91fa0 Author: Andi Kleen Date: Wed Apr 29 19:31:00 2009 +0200 x86, mce: add basic error injection infrastructure Allow user programs to write mce records into /dev/mcelog. When they do that a fake machine check is triggered to test the machine check code. This uses the MCE MSR wrappers added earlier. The implementation is straight forward. There is a struct mce record per CPU and the MCE MSR accesses get data from there if there is valid data injected there. This allows to test the machine check code relatively realistically because only the lowest layer of hardware access is intercepted. The test suite and injector are available at git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5f8c1a54cab6f449fe04d42d0661bc796fa4e73e Author: Andi Kleen Date: Wed Apr 29 19:29:12 2009 +0200 x86, mce: add MSR read wrappers for easier error injection This will be used by future patches to allow machine check error injection. Right now it's a nop, except for adding some wrappers around the MSR reads. This is early in the sequence to avoid too many conflicts. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a9862e0560866eadbc59b84867492004da436516 Author: Andi Kleen Date: Tue May 19 22:49:07 2009 +0200 Export add_timer_on for modules Needed in followon patch. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 172d899db4bf0beb7766d583379e5ed552130e4a Author: Andi Kleen Date: Tue Apr 28 23:37:02 2009 +0200 x86, mce: document new 32bit mcelog requirement in Documentation/Changes Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit de5619dfef76ddb403eb7c6de39c0130166c5dc3 Author: Andi Kleen Date: Tue Apr 28 23:34:40 2009 +0200 x86, mce: enable MCE_AMD for 32bit NEW_MCE That's very easy using the infrastructure enabled earlier for MCE_INTEL Untested. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 7856f6cce4a8cda8c1f94b99605c07d16b8d8dec Author: Andi Kleen Date: Tue Apr 28 23:32:56 2009 +0200 x86, mce: enable MCE_INTEL for 32bit new MCE Enable the 64bit MCE_INTEL code (CMCI, thermal interrupts) for 32bit NEW_MCE. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 45f458e9a8a216b02b76fe61d9e8bc40d659fbe8 Author: Andi Kleen Date: Tue Apr 28 23:18:26 2009 +0200 x86, mce: deprecate old 32bit machine check code Schedule for removal in 2.6.32 Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 4efc0670baf4b14bc95502e54a83ccf639146125 Author: Andi Kleen Date: Tue Apr 28 19:07:31 2009 +0200 x86, mce: use 64bit machine check code on 32bit The 64bit machine check code is in many ways much better than the 32bit machine check code: it is more specification compliant, is cleaner, only has a single code base versus one per CPU, has better infrastructure for recovery, has a cleaner way to communicate with user space etc. etc. Use the 64bit code for 32bit too. This is the second attempt to do this. There was one a couple of years ago to unify this code for 32bit and 64bit. Back then this ran into some trouble with K7s and was reverted. I believe this time the K7 problems (and some others) are addressed. I went over the old handlers and was very careful to retain all quirks. But of course this needs a lot of testing on old systems. On newer 64bit capable systems I don't expect much problems because they have been already tested with the 64bit kernel. I made this a CONFIG for now that still allows to select the old machine check code. This is mostly to make testing easier, if someone runs into a problem we can ask them to try with the CONFIG switched. The new code is default y for more coverage. Once there is confidence the 64bit code works well on older hardware too the CONFIG_X86_OLD_MCE and the associated code can be easily removed. This causes a behaviour change for 32bit installations. They now have to install the mcelog package to be able to log corrected machine checks. The 64bit machine check code only handles CPUs which support the standard Intel machine check architecture described in the IA32 SDM. The 32bit code has special support for some older CPUs which have non standard machine check architectures, in particular WinChip C3 and Intel P5. I made those a separate CONFIG option and kept them for now. The WinChip variant could be probably removed without too much pain, it doesn't really do anything interesting. P5 is also disabled by default (like it was before) because many motherboards have it miswired, but according to Alan Cox a few embedded setups use that one. Forward ported/heavily changed version of old patch, original patch included review/fixes from Thomas Gleixner, Bert Wesarg. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit d896a940ef4f12a0a6bc432853b249dcfbacabf0 Author: Andi Kleen Date: Tue Apr 28 14:25:18 2009 +0200 x86, mce: remove oops_begin() use in 64bit machine check First 32bit doesn't have oops_begin, so it's a barrier of using this code on 32bit. On closer examination it turns out oops_begin is not a good idea in a machine check panic anyways. All oops_begin does it so check for recursive/parallel oopses and implement the "wait on oops" heuristic. But there's actually no good reason to lock machine checks against oopses or prevent them from recursion. Also "wait on oops" does not really make sense for a machine check too. Replace it with a manual bust_spinlocks/console_verbose. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 8e97aef5f43ec715f394bc15015ff263b80c3ad6 Author: Andi Kleen Date: Tue Apr 28 14:23:18 2009 +0200 x86, mce: remove machine check handler idle notify on 64bit i386 has no idle notifiers, but the 64bit machine check code uses them to wake up mcelog from a fatal machine check exception. For corrected machine checks found by the poller or threshold interrupts going through an idle notifier is not needed because the wake_up can is just done directly and doesn't need the idle notifier. It is only needed for logging exceptions. To be honest I never liked the idle notifier even though I signed off on it. On closer investigation the code actually turned out to be nearly. Right now machine check exceptions on x86 are always unrecoverable (lead to panic due to PCC), which means we never execute the idle notifier path. The only exception is the somewhat weird tolerant==3 case, which ignores PCC. I'll fix this in a future patch in a much cleaner way. So remove the "mcelog wakeup through idle notifier" code from 64bit. This allows to compile the 64bit machine check handler on 32bit which doesn't have idle notifiers. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit d7c3c9a609563868d8a70e220399d06a25aba095 Author: Andi Kleen Date: Tue Apr 28 23:07:25 2009 +0200 x86, mce: move mce_disabled option into common 32bit/64bit code It's the same function, so let's share it. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 04b2b1a4df6cd0fdaa598f3c623a19c2d93cb48a Author: Andi Kleen Date: Tue Apr 28 22:50:19 2009 +0200 x86, mce: rename 64bit mce_dont_init to mce_disabled Give it the same name as on 32bit. This makes further merging easier. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5d7279268b654d1f8ac43b0eb6cd9598d9cf55fd Author: Andi Kleen Date: Mon Apr 27 19:25:48 2009 +0200 x86, mce: use a call vector to call the 64bit mce handler Allows to call different machine check handlers from the low level machine check entry vector. This is needed for later when it will be used for 32bit too. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 2e6f694fde0a7158590e121962ca2e3c06633528 Author: Andi Kleen Date: Mon Apr 27 18:42:48 2009 +0200 x86, mce: port K7 bank 0 quirk to 64bit mce code Various K7 have broken bank 0s. Don't enable it by default Port from the 32bit code. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 06b7a7a5ec917761969444fee967c43868a76468 Author: Andi Kleen Date: Mon Apr 27 18:37:43 2009 +0200 x86, mce: implement the PPro bank 0 quirk in the 64bit machine check code Quoting the comment: * SDM documents that on family 6 bank 0 should not be written * because it aliases to another special BIOS controlled * register. * But it's not aliased anymore on model 0x1a+ * Don't ignore bank 0 completely because there could be a valid * event later, merely don't write CTL0. This is mostly a port on the 32bit code, except that 32bit always didn't write it and didn't have the 0x1a heuristic. I checked with the CPU designers that the quirk is not required starting with this model. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3cde5c8c839bf46a7be799ed0e1d0b4780aaf794 Author: Andi Kleen Date: Mon Apr 27 18:01:31 2009 +0200 x86, mce: initial steps to make 64bit mce code 32bit clean Replace unsigned long with u64s if they need to contain 64bit values. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 01c6680a547a3ee8dd170c269ea8e037b3191b71 Author: Thomas Gleixner Date: Wed Apr 8 12:31:24 2009 +0200 x86, mce: Cleanup MCG definitions Decode more magic constants and turn them into symbols. [ Sort definitions bitwise, introduce MCG_EXT_CNT - HS ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ba2d0f2b0c56d7174a0208f7c463271f39040728 Author: Thomas Gleixner Date: Wed Apr 8 12:31:24 2009 +0200 x86, mce: Cleanup symbols in intel thermal codes Decode magic constants and turn them into symbols. [ Cleanup to use symbols already exists - HS ] [ Impact: cleanup ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit b659294b779565c60f5e12ef505328e2b974eb62 Author: Ingo Molnar Date: Wed Apr 8 12:31:27 2009 +0200 x86, mce: print number of MCE banks The number of MCE banks supported by a CPU is a useful number to know, so print it out during CPU initialization. [ Impact: add printout ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit cb491fca55e5282f0a95ef39c55352e00d6ca75e Author: Ingo Molnar Date: Wed Apr 8 12:31:17 2009 +0200 x86, mce: Rename sysfs variables Shorten variable names. This also compacts the code a bit. device_mce => mce_dev mce_device_initialized => mce_dev_initialized mce_attribute => mce_attrs [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit dba3725d44f5dfb5711fd509fca10b5b828c43b7 Author: Ingo Molnar Date: Wed Apr 8 12:31:26 2009 +0200 x86, mce: unify move mce_64.c => mce.c and glue it up in the Makefile. Remove mce_32.c Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 711c2e481c9d1113650d09de10f61ee88ab56fda Author: Ingo Molnar Date: Wed Apr 8 12:31:26 2009 +0200 x86, mce: unify, prepare for 32-bit v2 Prepare the 64-bit mce_64.c code side to be built on 32-bit. [ includes ifdef relocation by Andi Kleen ] Signed-off-by: Ingo Molnar Cc: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a988d334ae8213c0e0e62327222f6e5e6e52bcf1 Author: Ingo Molnar Date: Wed Apr 8 12:31:25 2009 +0200 x86, mce: unify, prepare codes Move current 32-bit mce_32.c code into mce_64.c. [ Remove unused artifact stop/restart_mce pointed by Andi Kleen ] Signed-off-by: Ingo Molnar Cc: Andi Kleen Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 06b851d98266b812b2fa23d007cdf53f41194bbb Author: Ingo Molnar Date: Wed Apr 8 12:31:25 2009 +0200 x86, mce: unify, prepare 64bit in mce.h Prepare mce.h for unification, so that it will build on 32-bit x86 kernels too. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit a65d086235208a3b3546e209d2210048549099b2 Author: Thomas Gleixner Date: Wed Apr 8 12:31:23 2009 +0200 x86, mce: unify Intel thermal init Mechanic unification. No change in code. [ Impact: cleanup, 32-bit / 64-bit unification ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 6cc6f3ebd19fea722c19630af5ad68af7f51d493 Author: Thomas Gleixner Date: Wed Apr 8 12:31:23 2009 +0200 x86, mce: unify Intel thermal init, prepare Prepare for unification, make two intel_init_thermal equal. [ Impact: cleanup ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 1cb2a8e1767ab60370ecce90654c0f281c602d95 Author: Ingo Molnar Date: Wed Apr 8 12:31:18 2009 +0200 x86, mce: clean up mce_amd_64.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit cb6f3c155b0afabc48667efb9e7b1ce92ccfcab4 Author: Ingo Molnar Date: Wed Apr 8 12:31:19 2009 +0200 x86, mce: clean up therm_throt.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit bdbfbdd5e8f0efb9bfef2e597f8ac673c36317ab Author: Ingo Molnar Date: Wed Apr 8 12:31:20 2009 +0200 x86, mce: clean up non-fatal.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 91425084f74c0ad087b3fb6bdad79a825f952720 Author: Ingo Molnar Date: Wed Apr 8 12:31:22 2009 +0200 x86, mce: clean up winchip.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit efee4ca80980f97b60e91e3322c3342f19623eff Author: Ingo Molnar Date: Wed Apr 8 12:31:20 2009 +0200 x86, mce: clean up k7.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ea2566ff80e096eeecc0918fb5d5a4612d8f62ef Author: Ingo Molnar Date: Wed Apr 8 12:31:19 2009 +0200 x86, mce: clean up p6.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit ed8bc7ed9a2ad875617b24d2ba09e49ee886638c Author: Ingo Molnar Date: Wed Apr 8 12:31:21 2009 +0200 x86, mce: clean up p5.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit c5aaf0e0702513637278ca4e27a156caa9392817 Author: Ingo Molnar Date: Wed Apr 8 12:31:18 2009 +0200 x86, mce: clean up p4.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 3b58dfd04bdfa52e717ead8f3c7622610eb7f950 Author: Ingo Molnar Date: Wed Apr 8 12:31:21 2009 +0200 x86, mce: clean up mce_32.c Make the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit e9eee03e99d519599eb615c3e251d5f6cc4be57d Author: Ingo Molnar Date: Wed Apr 8 12:31:17 2009 +0200 x86, mce: clean up mce_64.c This file has been modified many times along the years, by multiple authors, so the general style and structure has diverged in a number of areas making this file hard to read. So fix the coding style match that of the rest of the x86 arch code. [ Impact: cleanup ] Signed-off-by: Ingo Molnar Signed-off-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 13503fa9137d9708d52214e9506c671dbf2fbdce Author: Hidetoshi Seto Date: Thu Mar 26 17:39:20 2009 +0900 x86, mce: Cleanup param parser - Fix the comment formatting. - The error path does not return 0, and printk lacks level and "\n". - Move __setup("nomce") next to mcheck_disable(). - Improve readability etc. [ Impact: cleanup ] Signed-off-by: Hidetoshi Seto Acked-by: Andi Kleen LKML-Reference: <49CB3F38.7090703@jp.fujitsu.com> Signed-off-by: Ingo Molnar Signed-off-by: H. Peter Anvin commit 83cce2b69eaa4bc7535f98f75b79397baf277470 Merge: c1eee67 2e8b569 736501e 47bccd6 Author: Joerg Roedel Date: Thu May 28 18:23:56 2009 +0200 Merge branches 'amd-iommu/fixes', 'amd-iommu/debug', 'amd-iommu/suspend-resume' and 'amd-iommu/extended-allocator' into amd-iommu/2.6.31 Conflicts: arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c commit 47bccd6bb2b866449d3ecf2ba350ac1c7473b2b8 Author: Joerg Roedel Date: Fri May 22 12:40:54 2009 +0200 amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS This will test the automatic aperture enlargement code. This is important because only very few devices will ever trigger this code path. So force it under CONFIG_IOMMU_STRESS. Signed-off-by: Joerg Roedel commit f5e9705c6429d24dee832b2edd7f4848d432ea03 Author: Joerg Roedel Date: Fri May 22 12:31:53 2009 +0200 amd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS This forces testing of on-demand page table allocation code. Signed-off-by: Joerg Roedel commit fe16f088a88fb73161bba8784375c829f7e87b54 Author: Joerg Roedel Date: Fri May 22 12:27:53 2009 +0200 amd-iommu: disable round-robin allocator for CONFIG_IOMMU_STRESS Disabling the round-robin allocator results in reusing the same dma-addresses again very fast. This is a good test if the iotlb flushing is working correctly. Signed-off-by: Joerg Roedel commit d9cfed925448f097ec7faab80d903eb7e5f99712 Author: Joerg Roedel Date: Tue May 19 12:16:29 2009 +0200 amd-iommu: remove amd_iommu_size kernel parameter This parameter is not longer necessary when aperture increases dynamically. Signed-off-by: Joerg Roedel commit 11b83888ae729457b5cfb936dbd498481f6408df Author: Joerg Roedel Date: Tue May 19 10:23:15 2009 +0200 amd-iommu: enlarge the aperture dynamically By dynamically increasing the aperture the extended allocator is now ready for use. Signed-off-by: Joerg Roedel commit 00cd122ae5e5e7c60cce2af3c35b190d4c3f2d0d Author: Joerg Roedel Date: Tue May 19 09:52:40 2009 +0200 amd-iommu: handle exlusion ranges and unity mappings in alloc_new_range This patch makes sure no reserved addresses are allocated in an dma_ops domain when the aperture is increased dynamically. Signed-off-by: Joerg Roedel commit 9cabe89b99773e682538a8809abc7d4000c77083 Author: Joerg Roedel Date: Mon May 18 16:38:55 2009 +0200 amd-iommu: move aperture_range allocation code to seperate function This patch prepares the dynamic increasement of dma_ops domain apertures. Signed-off-by: Joerg Roedel commit 803b8cb4d9a93b90c67aba2aab7f2c54d595b5b9 Author: Joerg Roedel Date: Mon May 18 15:32:48 2009 +0200 amd-iommu: change dma_dom->next_bit to dma_dom->next_address Simplify the code a little bit by using the same unit for all address space related state in the dma_ops domain structure. Signed-off-by: Joerg Roedel commit 384de72910a7bf96a02a6d8023fe9e16d872beb2 Author: Joerg Roedel Date: Fri May 15 12:30:05 2009 +0200 amd-iommu: make address allocator aware of multiple aperture ranges This patch changes the AMD IOMMU address allocator to allow up to 32 aperture ranges per dma_ops domain. Signed-off-by: Joerg Roedel commit 53812c115cda1f660b286c939669154a56976f6b Author: Joerg Roedel Date: Tue May 12 12:17:38 2009 +0200 amd-iommu: handle page table allocation failures in dma_ops code The code will be required when the aperture size increases dynamically in the extended address allocator. Signed-off-by: Joerg Roedel commit 8bda3092bcfa68f786d94549ae026e8db1eff041 Author: Joerg Roedel Date: Tue May 12 12:02:46 2009 +0200 amd-iommu: move page table allocation code to seperate function This patch makes page table allocation usable for dma_ops code. Signed-off-by: Joerg Roedel commit c3239567a20e90e3026ac5453d5267506ef7b030 Author: Joerg Roedel Date: Tue May 12 10:56:44 2009 +0200 amd-iommu: introduce aperture_range structure This is a preperation for extended address allocator. Signed-off-by: Joerg Roedel commit 736501ee000757082a4f0832826ae1eda7ea106e Author: Joerg Roedel Date: Tue May 12 09:56:12 2009 +0200 amd-iommu: implement suspend/resume This patch puts everything together and enables suspend/resume support in the AMD IOMMU driver. Signed-off-by: Joerg Roedel commit 05f92db9f47f852ff48bbed1b063b8ab8ad00285 Author: Joerg Roedel Date: Tue May 12 09:52:46 2009 +0200 amd_iommu: un __init functions required for suspend/resume This patch makes sure that no function required for suspend/resume of AMD IOMMU driver is thrown away after boot. Signed-off-by: Joerg Roedel commit 7d7a110c6127b7fc683dc6d764555f2dbd22b054 Author: Joerg Roedel Date: Tue May 5 15:48:10 2009 +0200 amd-iommu: add function to flush tlb for all devices This function is required for suspend/resume support with AMD IOMMU enabled. Signed-off-by: Joerg Roedel commit bfd1be1857e5a3385bf146e02e6dc3dd4241bec1 Author: Joerg Roedel Date: Tue May 5 15:33:57 2009 +0200 amd-iommu: add function to flush tlb for all domains This function is required for suspend/resume support with AMD IOMMU enabled. Signed-off-by: Joerg Roedel commit 92ac4320af6ed4294c2c221dd4ccbfd9026a3aa7 Author: Joerg Roedel Date: Tue May 19 19:06:27 2009 +0200 amd-iommu: add function to disable all iommus This function is required for suspend/resume support with AMD IOMMU enabled. Signed-off-by: Joerg Roedel commit d91cecdd796c27df46339e80ed436a980c56fcad Author: Joerg Roedel Date: Mon May 4 18:51:00 2009 +0200 amd-iommu: remove support for msi-x Current hardware uses msi instead of msi-x so this code it not necessary and can not be tested. The best thing is to drop this code. Signed-off-by: Joerg Roedel commit fab6afa30954a0684ef8ac1d9a606e74a6215ab6 Author: Joerg Roedel Date: Mon May 4 18:46:34 2009 +0200 amd-iommu: drop pointless iommu-loop in msi setup code It is not necessary to loop again over all IOMMUs in this code. So drop the loop. Signed-off-by: Joerg Roedel commit 58492e128892e3b55f1a6ef0cf3c3ab4ce7cc214 Author: Joerg Roedel Date: Mon May 4 18:41:16 2009 +0200 amd-iommu: consolidate hardware initialization to one function This patch restructures the AMD IOMMU initialization code to initialize all hardware registers with one single function call. This is helpful for suspend/resume support. Signed-off-by: Joerg Roedel commit 3bd221724adb9d642270df0e78b0105fb61e4a1c Author: Joerg Roedel Date: Mon May 4 15:06:20 2009 +0200 amd-iommu: introduce for_each_iommu* macros This patch introduces the for_each_iommu and for_each_iommu_safe macros to simplify the developers life when having to iterate over all AMD IOMMUs in the system. Signed-off-by: Joerg Roedel commit c1eee67b2d8464781f5868a34168df61e40e85a6 Author: Chris Wright Date: Thu May 21 00:56:58 2009 -0700 amd iommu: properly detach from protection domain on ->remove Some drivers may use the dma api during ->remove which will cause a protection domain to get reattached to a device. Delay the detach until after the driver is completely unbound. [ joro: added a little merge helper ] [ Impact: fix too early device<->domain removal ] Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 0bc252f430d6a3ac7836d40f00d0ae020593b11b Author: Joerg Roedel Date: Fri May 22 12:48:05 2009 +0200 amd-iommu: make sure only ivmd entries are parsed The bug never triggered. But it should be fixed to protect against broken ACPI tables in the future. [ Impact: protect against broken ivrs acpi table ] Signed-off-by: Joerg Roedel commit 7455aab1f95f6464c5af3fbdee28744e73f38564 Author: Neil Turton Date: Thu May 14 14:08:11 2009 +0100 amd-iommu: fix the handling of device aliases in the AMD IOMMU driver. The devid parameter to set_dev_entry_from_acpi is the requester ID rather than the device ID since it is used to index the IOMMU device table. The handling of IVHD_DEV_ALIAS used to pass the device ID. This patch fixes it to pass the requester ID. [ Impact: fix setting the wrong req-id in acpi-table parsing ] Signed-off-by: Neil Turton Signed-off-by: Joerg Roedel commit 421f909c803d1c397f6c66b75653f238696c39ee Author: Neil Turton Date: Thu May 14 14:00:35 2009 +0100 amd-iommu: fix an off-by-one error in the AMD IOMMU driver. The variable amd_iommu_last_bdf holds the maximum bdf of any device controlled by an IOMMU, so the number of device entries needed is amd_iommu_last_bdf+1. The function tbl_size used amd_iommu_last_bdf instead. This would be a problem if the last device were a large enough power of 2. [ Impact: fix amd_iommu_last_bdf off-by-one error ] Signed-off-by: Neil Turton Signed-off-by: Joerg Roedel commit 2e8b569614b89c9b1b85cba37db36daeeeff744e Author: Joerg Roedel Date: Fri May 22 12:44:03 2009 +0200 amd-iommu: disable device isolation with CONFIG_IOMMU_STRESS With device isolation disabled we can test better for race conditions in dma_ops related code. Signed-off-by: Joerg Roedel commit 2be69c79e9a46a554fc3ff57d886e65e7a73eb72 Author: Joerg Roedel Date: Fri May 22 12:15:49 2009 +0200 x86/iommu: add IOMMU_STRESS Kconfig entry This Kconfig option is intended to enable various code paths or parameters in IOMMU implementations to stress test the code and/or the hardware. This can also be done by disabling optimizations in the code when this option is switched on. Signed-off-by: Joerg Roedel Cc: David Woodhouse Cc: FUJITA Tomonori commit b3b99ef8b4f80f3f093a72110e7697c2281ae45d Author: Joerg Roedel Date: Fri May 22 12:02:48 2009 +0200 amd-iommu: move protection domain printk to dump code This information is only helpful for debugging. Don't print it anymore unless explicitly requested. Signed-off-by: Joerg Roedel commit 02acc43a294098c2a4cd22cf24e9c988644f9f7f Author: Joerg Roedel Date: Wed May 20 16:24:21 2009 +0200 amd-iommu: print ivmd information to dmesg when requested Add information about device memory mapping requirements for the IOMMU as described in the IVRS ACPI table to the kernel log if amd_iommu_dump was specified on the kernel command line. Signed-off-by: Joerg Roedel commit 42a698f40a0946f5517308411b9e003ae031414d Author: Joerg Roedel Date: Wed May 20 15:41:28 2009 +0200 amd-iommu: print ivhd information to dmesg when requested Add information about devices belonging to an IOMMU as described in the IVRS ACPI table to the kernel log if amd_iommu_dump was specified on the kernel command line. Signed-off-by: Joerg Roedel commit 9c72041f719e2864d4208a89341c36b316dbf893 Author: Joerg Roedel Date: Wed May 20 13:53:57 2009 +0200 amd-iommu: add dump for iommus described in ivrs table Add information about IOMMU devices described in the IVRS ACPI table to the kernel log if amd_iommu_dump was specified on the kernel command line. Signed-off-by: Joerg Roedel commit fefda117ddb324b872312f1f061230e627c9f5ee Author: Joerg Roedel Date: Wed May 20 12:21:42 2009 +0200 amd-iommu: add amd_iommu_dump parameter This kernel parameter will be useful to get some AMD IOMMU related information in dmesg that is not necessary for the default user but may be helpful in debug situations. Signed-off-by: Joerg Roedel commit 0573cb5f45f1b98b74348c3f1ed4f26e56e774e5 Author: Valentin Longchamp Date: Thu May 28 16:46:21 2009 +0200 mx31: correct csi_clk parent (v2) changes since v1: we now check if the parent configuration bit was changed since reset and change the parent when needed. csi_clk parent was defined with ahb_clk. However, according to the m31 reference manual, it should be serial_pll_clk. Guennadi always used a 20 MHz clock that was by chance changed to a 45 MHz that fits in the mt9t031 spec. Now the clocks are computed and output correctly (measured on oscillo). Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 0b0ef442958d74e5749c460b0ae68606e317fe01 Author: Fabio Estevam Date: Wed May 27 13:51:24 2009 -0700 MX3: Add missing entry in devices.h Add missing mxc_rnga_device entry in devices.h (mxc-master tree). Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit ed888aef427365d19f887c271a3a906d16422d24 Author: Joerg Roedel Date: Fri May 22 17:16:04 2009 +0200 dma-debug: re-add dma memory leak detection This is basically a revert of commit 314eeac9 but now in a fixed version. Signed-off-by: Joerg Roedel commit c5077ec42303e07c2c685b0f6cb8eee0f2c7751c Author: Steve French Date: Thu May 28 15:09:04 2009 +0000 [CIFS] Update readme to indicate change to default mount (serverino) Signed-off-by: Steve French commit a0c9217f64ee3cd1e534966da8c5f05768e1ab09 Author: Jeff Layton Date: Wed May 27 15:40:47 2009 -0400 cifs: make serverino the default when mounting Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bd433d4cf4d8593a5f1764776b91f1794fce5a77 Author: Jeff Layton Date: Wed May 27 09:37:34 2009 -0400 cifs: rename cifs_iget to cifs_root_iget The current cifs_iget isn't suitable for anything but the root inode. Rename it with a more appropriate name. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit c4a2c08db7d976c2e23a97da5d69ec7c9701034d Author: Jeff Layton Date: Wed May 27 09:37:33 2009 -0400 cifs: make cnvrtDosUnixTm take a little-endian args and an offset The callers primarily end up converting the args from le anyway. Also, most of the callers end up needing to add an offset to the result. The exception to these rules is cnvrtDosCifsTm, but there are no callers of that function, so we might as well remove it. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit 07119a4df8c8c77d888f2f46964ea9512ea84ff8 Author: Jeff Layton Date: Wed May 27 09:37:33 2009 -0400 cifs: have cifs_NTtimeToUnix take a little-endian arg ...and just have the function call le64_to_cpu. Signed-off-by: Jeff Layton Reviewed-by: Christoph Hellwig Signed-off-by: Steve French commit be461ba836770263826457624bc4a5173a1f5040 Author: Chaithrika U S Date: Thu May 28 05:10:50 2009 -0400 ASoC: Add dummy S/PDIF codec support McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed. This patch provides stub codec that can be used in these configurations. On DM646x EVM the McASP1 is connected to the S/PDIF out. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit e03cdade0ca945a04e982525e50fef275190b77b Author: Russell King Date: Thu May 28 14:16:52 2009 +0100 [ARM] smp: use new cpumask functions Convert cpu_*_mask bit twiddling to the new set_cpu_*() API. Signed-off-by: Russell King commit c93f7669098eb97c5376e5396e3dfb734c17df4f Author: Paul Mackerras Date: Thu May 28 22:18:17 2009 +1000 perf_counter: Fix race in attaching counters to tasks and exiting Commit 564c2b21 ("perf_counter: Optimize context switch between identical inherited contexts") introduced a race where it is possible that a counter being attached to a task could get attached to the wrong task, if the task is one that has inherited its context from another task via fork. This happens because the optimized context switch could switch the context to another task after find_get_context has read task->perf_counter_ctxp. In fact, it's possible that the context could then get freed, if the other task then exits. This fixes the problem by protecting both the context switch and the critical code in find_get_context with spinlocks. The context switch locks the cxt->lock of both the outgoing and incoming contexts before swapping them. That means that once code such as find_get_context has obtained the spinlock for the context associated with a task, the context can't get swapped to another task. However, the context may have been swapped in the interval between reading task->perf_counter_ctxp and getting the lock, so it is necessary to check and retry. To make sure that none of the contexts being looked at in find_get_context can get freed, this changes the context freeing code to use RCU. Thus an rcu_read_lock() is sufficient to ensure that no contexts can get freed. This part of the patch is lifted from a patch posted by Peter Zijlstra. This also adds a check to make sure that we can't add a counter to a task that is exiting. There is also a race between perf_counter_exit_task and find_get_context; this solves the race by moving the get_ctx that was in perf_counter_alloc into the locked region in find_get_context, so that once find_get_context has got the context for a task, it won't get freed even if the task calls perf_counter_exit_task. It doesn't matter if new top-level (non-inherited) counters get attached to the context after perf_counter_exit_task has detached the context from the task. They will just stay there and never get scheduled in until the counters' fds get closed, and then perf_release will remove them from the context and eventually free the context. With this, we are now doing the unclone in find_get_context rather than when a counter was added to or removed from a context (actually, we were missing the unclone_ctx() call when adding a counter to a context). We don't need to unclone when removing a counter from a context because we have no way to remove a counter from a cloned context. This also takes out the smp_wmb() in find_get_context, which Peter Zijlstra pointed out was unnecessary because the cmpxchg implies a full barrier anyway. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Mike Galbraith Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <18974.33033.667187.273886@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit af73110d23fb54f940197d93a410e9fa0cee66e2 Author: Catalin Marinas Date: Mon May 18 16:26:27 2009 +0100 [ARM] 5516/1: Flush the D-cache after initialising the SCU On MP systems, the data loaded by CPU0 before the SCU was initialised may not be visible to the other CPUs. Signed-off-by: Catalin Marinas Signed-off-by: Russell King This also includes the following compile fix: This patch includes 'asm/cacheflush.h' which is needed to use 'flush_cache_all()' function. Signed-off-by: Santosh Shilimkar Signed-off-by: Russell King commit 7d96fd41cadc55f4e00231c8c71b8e25c779f122 Author: Petr Tesarik Date: Mon May 25 11:02:02 2009 +0200 x86: move rdtsc_barrier() into the TSC vread method The *fence instructions were moved to vsyscall_64.c by commit cb9e35dce94a1b9c59d46224e8a94377d673e204. But this breaks the vDSO, because vread methods are also called from there. Besides, the synchronization might be unnecessary for other time sources than TSC. [ Impact: fix potential time warp in VDSO ] Signed-off-by: Petr Tesarik LKML-Reference: <9d0ea9ea0f866bdc1f4d76831221ae117f11ea67.1243241859.git.ptesarik@suse.cz> Signed-off-by: Thomas Gleixner Cc: commit b4f8b5e2f5c7d71ae0cf18659e361088b812de1b Merge: b21fadb 1812e67 Author: Takashi Iwai Date: Thu May 28 13:12:48 2009 +0200 Merge branch 'fix/hda' into topic/hda commit b21fadb9c1852c91622ca1dccfeb144bc535e36e Author: Takashi Iwai Date: Thu May 28 12:26:15 2009 +0200 ALSA: hda - Add more register bits definitions Added some missing register bits definitions to reduce magic numbers. Also renamed some to follow the names on the datasheet. Signed-off-by: Takashi Iwai commit b05a7d4fed7e51dca37d0a31baf1466de30b1f01 Author: Takashi Iwai Date: Thu May 28 11:59:12 2009 +0200 ALSA: hda - Always sync writes in single_cmd mode In the single_cmd mode, the hardware cannot store the multiple replies like on RIRB, thus each verb has to sync and wait for the response no matter whether the return value is needed or not. Otherwise it may result in a wrong return value from the previous verb. Signed-off-by: Takashi Iwai commit 449bd54dcbd0b60070ce4129fedaf0f4ae044099 Author: Roel Kluin Date: Wed May 27 17:08:39 2009 -0700 ASoC: correct print specifiers for unsigneds Unsigned variables should use `%u' rather than `%d'. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Mark Brown commit 5d85d3247cc3555215d7d11c78576a396c98e4d9 Author: Mike Snitzer Date: Thu May 28 11:04:53 2009 +0200 block: export blk_stack_limits() DM needs to use blk_stack_limits(), so it needs to be exported. Acked-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 63299f057fbce47da895e8865cba7e9c3eb01a20 Author: Ingo Molnar Date: Thu May 28 10:52:00 2009 +0200 perf_counter tools: report: Add help text for --sort Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ca8cdeef9ca2ff89ee8a21d6f6ff3dfb60286041 Author: Peter Zijlstra Date: Thu May 28 11:08:33 2009 +0200 perf_counter tools: report: Implement header output for --sort variants Implement this style of header: # # Overhead Command File: Symbol # ........ ....... ............ # for the various --sort variants as well. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit d3e78ee3d015dac1794433abb6403b6fc8e70e10 Author: Ingo Molnar Date: Thu May 28 11:41:50 2009 +0200 perf_counter: Fix perf_counter_init_task() on !CONFIG_PERF_COUNTERS Pointed out by compiler warnings: tip/include/linux/perf_counter.h:644: warning: no return statement in function returning non-void Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 46c37672d7fff0097385eb0cbd01aa0254dad0aa Author: David S. Miller Date: Thu May 28 01:22:57 2009 -0700 rtl8187: Remove pointless check in rtl8187_rx_cb(). First of all, it exposes the SKB list implementation. Second of all it's not needed. If we get called here, we successfully enqueued the URB with the linked SKB and such a completion only gets called one time on such an SKB. Signed-off-by: David S. Miller commit a1091aae19b1d9c85d91c86915a611387f67a26b Author: David S. Miller Date: Thu May 28 00:48:16 2009 -0700 p54: Use SKB list handling helpers instead of by-hand code. Signed-off-by: David S. Miller commit ee1ca48fae7e575d5e399d4fdcfe0afc1212a64c Author: Pallipadi, Venkatesh Date: Thu May 21 17:09:10 2009 -0700 ACPI: Disable ARB_DISABLE on platforms where it is not needed ARB_DISABLE is a NOP on all of the recent Intel platforms. For such platforms, reduce contention on c3_lock by skipping the fake ARB_DISABLE. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 13b297d943828c4594527a2bd9c30ecd04e37886 Author: Tetsuo Handa Date: Tue May 26 14:18:07 2009 +0900 smack: Remove redundant initialization. We don't need to explicitly initialize to cap_* because it will be filled by security_fixup_ops(). Signed-off-by: Tetsuo Handa Acked-by: Serge Hallyn Acked-by: Casey Schaufler Signed-off-by: James Morris commit 113b3a2b901573961509e81a28e9546cf9defef0 Author: Len Brown Date: Wed May 27 21:46:11 2009 -0400 ACPI: delete acpi.power_nocheck from kernel-parameters.txt Signed-off-by: Len Brown commit bdf43bbf2e19952d82995a50e00cb4b66afa4f0c Author: Bjorn Helgaas Date: Thu May 21 17:28:53 2009 -0600 ACPI: don't check power state after _ON/_OFF We used to evaluate _STA to check the power state of a device after running _ON or _OFF. But as far as I can tell, there's no benefit to evaluating _STA, and sometimes we trip over bugs when BIOSes don't implement _STA correctly. Yakui says Windows XP doesn't evaluate _STA during power transition. So let's skip it in Linux, too. It's conceivable that we'll need to check _STA in the future for some reason, but until we do, I don't see a reason to clutter this code path. References: http://bugzilla.kernel.org/show_bug.cgi?id=13243 http://marc.info/?l=linux-acpi&m=124166053803753&w=2 http://marc.info/?l=linux-acpi&m=124175761408256&w=2 http://marc.info/?l=linux-acpi&m=124210593114061&w=2 Signed-off-by: Bjorn Helgaas Acked-by: Matthew Garrett Signed-off-by: Len Brown commit 8cb24c8fd70ea8431744de1ca0ca34ab45fbbdaa Author: Bjorn Helgaas Date: Thu May 21 15:49:59 2009 -0600 PNPACPI: parse Extended Address Space Descriptors Extended Address Space Descriptors are new in ACPI 3.0 and allow the BIOS to communicate device resource cacheability attributes (write-back, write-through, uncacheable, etc) to the OS. Previously, PNPACPI ignored these descriptors, so if a BIOS used them, a device could be responding at addresses the OS doesn't know about. This patch adds support for these descriptors in _CRS and _PRS. We don't attempt to encode them for _SRS (just like we don't attempt to encode the existing 16-, 32-, and 64-bit Address Space Descriptors). Unfortunately, I don't have a way to test this. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 9eccbc2f67efd0d19c47f40182abf2965c287add Author: Bjorn Helgaas Date: Mon Apr 27 16:33:46 2009 -0600 ACPI: processor: move device _HID into driver The ACPI0007 _HID used for processor "Device" objects in the namespace is not needed outside the processor driver, so move it there. Also, the #define is only used once, so just remove it and hard-code "ACPI0007". Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 6cc73b4806c07b4207780f6d85c456b4c5b29d71 Author: Bjorn Helgaas Date: Mon Apr 27 16:33:41 2009 -0600 ACPI: processor: check for synthetic _HID, default to "Device" declaration This patch inverts the logic that distinguishes "Processor" statements from "Device" statements, so we now check explicitly for "Processor" and default to "Device". This removes the only real use of ACPI_PROCESSOR_HID, so we can then remove the #define. It also has the theoretical advantage that if a new processor _HID were ever added, we wouldn't have to change the code here. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit b9417f84e17b93a6976a8a88b38bf9567975cb38 Author: Bjorn Helgaas Date: Mon Apr 27 16:33:36 2009 -0600 ACPI: use LNXCPU, not ACPI_CPU, for Linux-specific processor _HID ACPI_PROCESSOR_OBJECT_HID is a synthetic _HID that Linux generates for "Processor" definitions. Unlike "Device" definitions, "Processor" definitions do not have a _HID in the namespace, so we generate a fake _HID. By convention, all these fake _HIDs begin with "LNX". This does change the user-visible _HID for "Processor" objects -- previously, we used "ACPI_CPU" and this changes that to "LNXCPU", which starts with "LNX" as do all the other made-up _HIDs. This change is visible in processor filenames and "hid" files under /sys/devices/LNXSYSTM:00/. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit ae71fabbe55552afc01f2bc797bee6838db22485 Author: David S. Miller Date: Wed May 27 17:27:01 2009 -0700 wavelan: Remove bogus debugging on skb->next being non-NULL. This eliminates explicit references to the SKB list handling implementation. Signed-off-by: David S. Miller commit 438263ac58f8c2a3a409b7d4e68a37725bd95818 Author: David S. Miller Date: Wed May 27 17:09:44 2009 -0700 aoe: Remove superfluous clearing of skb fields in new_skb(). This code uses alloc_skb() which clears them out for us. Signed-off-by: David S. Miller commit abfe0af9813153bae8c85d9bac966bafcb8ddab1 Author: Yinghai Lu Date: Wed May 20 00:37:40 2009 -0700 x86: enable_update_mptable should be a macro instead of declaring one variant as an inline function... because other case is a variable Signed-off-by: Yinghai Lu LKML-Reference: <4A13B344.7030307@kernel.org> Signed-off-by: Ingo Molnar commit 5615968a70845157adaffc11062c997d045339ee Author: David S. Miller Date: Wed May 27 16:56:47 2009 -0700 appletalk: Add proper locking around IPDDP routing table. Signed-off-by: David S. Miller commit 14dba5331b90c20588ae6504fea8049c7283028d Author: Mimi Zohar Date: Wed May 27 09:31:52 2009 -0400 integrity: nfsd imbalance bug fix An nfsd exported file is opened/closed by the kernel causing the integrity imbalance message. Before a file is opened, there normally is permission checking, which is done in inode_permission(). However, as integrity checking requires a dentry and mount point, which is not available in inode_permission(), the integrity (permission) checking must be called separately. In order to detect any missing integrity checking calls, we keep track of file open/closes. ima_path_check() increments these counts and does the integrity (permission) checking. As a result, the number of calls to ima_path_check()/ima_file_free() should be balanced. An extra call to fput(), indicates the file could have been accessed without first calling ima_path_check(). In nfsv3 permission checking is done once, followed by multiple reads, which do an open/close for each read. The integrity (permission) checking call should be in nfsd_permission() after the inode_permission() call, but as there is no correlation between the number of permission checking and open calls, the integrity checking call should not increment the counters, but defer it to when the file is actually opened. This patch adds: - integrity (permission) checking for nfsd exported files in nfsd_permission(). - a call to increment counts for files opened by nfsd. This patch has been updated to return the nfs error types. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit f2aebaee653a35b01c3665de2cbb1e31456b8ea8 Author: Zhaolei Date: Wed May 27 21:36:02 2009 +0800 ftrace: don't convert function's local variable name in macro "call" is an argument of macro, but it is also used as a local variable name of function in macro. We should keep this local variable name distinct from any CPP macro parameter name if both are in the same macro scope, although it hasn't caused any problem yet. [ Impact: robustify macro ] Signed-off-by: Zhao Lei Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 5b6045a906f48d37591365c5dcdd6d1d146bfd4a Author: Heiko Carstens Date: Tue May 26 17:28:02 2009 +0200 trace: disable preemption before taking raw spinlocks s390 code uses smp_processor_id() in __raw_spin_lock() code which reveals that a (raw) spinlock is taken without preemption disabled. This can potentially deadlock. To fix this explicitly disable and enable preemption. BUG: using smp_processor_id() in preemptible [00000000] code: cat/2278 caller is trace_find_cmdline+0x40/0xfc CPU: 0 Not tainted 2.6.30-rc7-dirty #39 Process cat (pid: 2278, task: 000000003faedb68, ksp: 000000003b33b988) 000000003b33b988 000000003b33bae0 0000000000000002 0000000000000000 000000003b33bb80 000000003b33baf8 000000003b33baf8 00000000000175d6 0000000000000001 000000003b33b988 000000003f9b0000 000000000000000b 000000000000000c 000000003b33bb40 000000003b33bae0 0000000000000000 0000000000000000 00000000000175d6 000000003b33bae0 000000003b33bb28 Call Trace: ([<00000000000174b2>] show_trace+0x112/0x170) [<0000000000017582>] show_stack+0x72/0x100 [<0000000000441538>] dump_stack+0xc8/0xd8 [<000000000025c350>] debug_smp_processor_id+0x114/0x130 [<00000000000bf0e4>] trace_find_cmdline+0x40/0xfc [<00000000000c35d4>] trace_print_context+0x58/0xac [<00000000000bb676>] print_trace_line+0x416/0x470 [<00000000000bc8fe>] s_show+0x4e/0x428 [<000000000013834e>] seq_read+0x36a/0x5d4 [<0000000000112a78>] vfs_read+0xc8/0x174 [<0000000000112c58>] SyS_read+0x74/0xc4 [<000000000002c7ae>] sysc_noemu+0x10/0x16 [<000002000012436c>] 0x2000012436c 1 lock held by cat/2278: #0: (&p->lock){+.+.+.}, at: [<0000000000138056>] seq_read+0x72/0x5d4 [ Impact: fix preempt-unsafe raw spinlock ] Signed-off-by: Heiko Carstens Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 385a154cac8763284f65cdfa25f6796c9eb1ca21 Author: Jiri Pirko Date: Wed May 27 15:48:07 2009 -0700 net: correct a comment for the final #endif Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 2a91525c20d3aae15b33c189514b9e20e30ef8a8 Author: Eric Dumazet Date: Wed May 27 11:30:05 2009 +0000 net: net/core/sock.c cleanup Pure style cleanup patch. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 553e2335625e6c96cb6d76c0d63cfc1034747614 Author: Eric Dumazet Date: Wed May 27 10:34:50 2009 +0000 net: use netdev stats in b44, sundance, via-rhine and via-velocity Use struct net_device_stats provided in struct net_device instead of private ones. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1ce8e7b57b3a4527ef83da1c5c7bd8a6b9d87b56 Author: Eric Dumazet Date: Wed May 27 04:42:37 2009 +0000 net: ALIGN/PTR_ALIGN cleanup in alloc_netdev_mq()/netdev_priv() Use ALIGN() and PTR_ALIGN() macros instead of handcoding them. Get rid of NETDEV_ALIGN_CONST ugly define Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0bb32417ff0f6ac385e4eec3ef6641950bbb3694 Author: Jiri Pirko Date: Wed May 27 00:55:08 2009 +0000 bridge: avoid an extra space in br_fdb_update() Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 824fb38e99cd5334629b340a2ae1ba0917cc35ab Author: Florian Fainelli Date: Tue May 26 23:38:10 2009 +0000 r6040: check and update media status This patch removes the not-that-useful message in the r6040_timer which prints the PHY status. Instead replace it with a call to mii_check_media which will update the link status and print it on startup. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 3026c19a14ba71ccd4dc4925abab9395ea12839c Author: Steve Wise Date: Wed May 27 14:43:39 2009 -0700 RDMA/cxgb3: Limit fast register size based on T3 limitations T3 firmware only supports one WRs worth of page list for fast register work requests. The driver currently allows 2 WRs worth, which doesn't work for T3, so reduce the limit in the driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 7ab1a2b31d4a8b4f519ccff5a84c53a5b87fd1be Author: Steve Wise Date: Wed May 27 14:42:36 2009 -0700 RDMA/cxgb3: Report correct port state and MTU Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ab6bf42e2339580b5d87746d0ff4da4b1578b03e Author: Eli Cohen Date: Wed May 27 14:38:34 2009 -0700 mlx4_core: Add module parameter for number of MTTs per segment The current MTT allocator uses kmalloc() to allocate a buffer for its buddy allocator, and thus is limited in the amount of MTT segments that it can control. As a result, the size of memory that can be registered is limited too. This patch uses a module parameter to control the number of MTT entries that each segment represents, allowing more memory to be registered with the same number of segments. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c1f67a88bf62fac0f4151c007b361199c2cd1988 Author: Eli Cohen Date: Wed May 27 14:36:16 2009 -0700 IB/mthca: Add module parameter for number of MTTs per segment The current MTT allocator uses kmalloc() to allocate a buffer for its buddy allocator, and thus is limited in the amount of MTT segments that it can control. As a result, the size of memory that can be registered is limited too. This patch uses a module parameter to control the number of MTT entries that each segment represents, allowing more memory to be registered with the same number of segments. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 55717314c4e3a5180a54228a2f97e50f3496de4c Author: Ingo Molnar Date: Wed May 27 22:13:17 2009 +0200 pref_counter: tools: report: Robustify in case of weird events This error condition: aldebaran:~/linux/linux/Documentation/perf_counter> perf report dso__load_sym: cannot get elf header. failed to open: /etc/ld.so.cache problem processing PERF_EVENT_MMAP, bailing out caused the profile to be very short - as the error was at the beginning of the file and we bailed out completely. Be more permissive and consider the event broken instead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ea8b27ad0cc2573776c6cd87617a37aaf603b8bd Author: Jon Smirl Date: Wed May 27 01:06:19 2009 -0400 ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout() The function signature for spin_event_timeout() has changed in version V9. Adjust the mpc5200 AC97 driver to use the new function. Signed-off-by: Jon Smirl Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 2d65537ee7cd4a0818ea80a97ab7932368fff5cd Author: Ingo Molnar Date: Wed May 27 21:36:22 2009 +0200 pref_counter: tools: report: Add header printout & prettify Old default output: 3.12% perf-report [.] ./perf-report: dsos__find 2.44% perf-report [k] kernel: kallsyms_expand_symbol 2.28% :4483 [.] : 2.05% :4174 [k] kernel: _spin_lock_irqsave 2.01% perf-report [k] kernel: vsnprintf 1.92% perf-report [k] kernel: format_decode 1.92% :4438 [k] kernel: _spin_lock New default output: # # Overhead Command File: Symbol # ........ ....... ............ # 6.54% perf [k] kernel: kallsyms_expand_symbol 6.26% perf [.] /home/mingo/tip/Documentation/perf_counter/perf: dso__insert_symbol 4.76% perf [.] /home/mingo/tip/Documentation/perf_counter/perf: hex2long 4.55% perf [k] kernel: number 4.48% perf [k] kernel: format_decode 4.09% perf [k] kernel: vsnprintf Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.229504802@chello.nl> Signed-off-by: Ingo Molnar commit 55e5ec41a9de46b6ca06031f4fbdfdfc76dc24dc Author: Peter Zijlstra Date: Wed May 27 20:20:28 2009 +0200 pref_counter: tools: report: Add dso sorting Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.229504802@chello.nl> Signed-off-by: Ingo Molnar commit 992444b173f35997f96f5cbb214f0de81d1b97ff Author: Peter Zijlstra Date: Wed May 27 20:20:27 2009 +0200 perf_counter: tools: report: Add comm sorting Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.129302022@chello.nl> Signed-off-by: Ingo Molnar commit 37f440cba299bb479cf45d12eef923f0979dbcaf Author: Peter Zijlstra Date: Wed May 27 20:20:26 2009 +0200 pref_counter: tools: report: Add --sort option option parsing for dynamic sorting. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182101.041817692@chello.nl> Signed-off-by: Ingo Molnar commit 1aa167382323eeeeb38368cab85cf17979793cbe Author: Peter Zijlstra Date: Wed May 27 20:20:25 2009 +0200 perf_counter: tools: report: Dynamic sort/print bits Make the sorting and printing dynamic. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182100.921953817@chello.nl> Signed-off-by: Ingo Molnar commit e7fb08b1d06a6b37263c765205de5614a2273aeb Author: Peter Zijlstra Date: Wed May 27 20:20:24 2009 +0200 perf_counter: tools: report: Rework histogram code In preparation for configurable sorting, rework the histgram code a bit. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182100.796410098@chello.nl> Signed-off-by: Ingo Molnar commit 450aaa2b2a1b006870ba68251fbb40b2387caade Author: Peter Zijlstra Date: Wed May 27 20:20:23 2009 +0200 perf_counter: tools: report: Add vmlinux support Allow to use vmlinux instead of kallsyms. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: <20090527182100.740018486@chello.nl> Signed-off-by: Ingo Molnar commit 1dbd0d53f394cd9a86fc801dd68fdbcbcdb45718 Author: Greg Banks Date: Wed Apr 1 07:28:21 2009 +1100 knfsd: remove unreported filehandle stats counters The file nfsfh.c contains two static variables nfsd_nr_verified and nfsd_nr_put. These are counters which are incremented as a side effect of the fh_verify() fh_compose() and fh_put() operations, i.e. at least twice per NFS call for any non-trivial workload. Needless to say this makes the cacheline that contains them (and any other innocent victims) a very hot contention point indeed under high call-rate workloads on multiprocessor NFS server. It also turns out that these counters are not used anywhere. They're not reported to userspace, they're not used in logic, they're not even exported from the object file (let alone the module). All they do is waste CPU time. So this patch removes them. Tests on a 16 CPU Altix A4700 with 2 10gige Myricom cards, configured separately (no bonding). Workload is 640 client threads doing directory traverals with random small reads, from server RAM. Before ====== Kernel profile: % cumulative self self total time samples samples calls 1/call 1/call name 6.05 2716.00 2716.00 30406 0.09 1.02 svc_process 4.44 4706.00 1990.00 1975 1.01 1.01 spin_unlock_irqrestore 3.72 6376.00 1670.00 1666 1.00 1.00 svc_export_put 3.41 7907.00 1531.00 1786 0.86 1.02 nfsd_ofcache_lookup 3.25 9363.00 1456.00 10965 0.13 1.01 nfsd_dispatch 3.10 10752.00 1389.00 1376 1.01 1.01 nfsd_cache_lookup 2.57 11907.00 1155.00 4517 0.26 1.03 svc_tcp_recvfrom ... 2.21 15352.00 1003.00 1081 0.93 1.00 nfsd_choose_ofc <---- ^^^^ Here the function nfsd_choose_ofc() reads a global variable which by accident happened to be located in the same cacheline as nfsd_nr_verified. Call rate: nullarbor:~ # pmdumptext nfs3.server.calls ... Thu Dec 13 00:15:27 184780.663 Thu Dec 13 00:15:28 184885.881 Thu Dec 13 00:15:29 184449.215 Thu Dec 13 00:15:30 184971.058 Thu Dec 13 00:15:31 185036.052 Thu Dec 13 00:15:32 185250.475 Thu Dec 13 00:15:33 184481.319 Thu Dec 13 00:15:34 185225.737 Thu Dec 13 00:15:35 185408.018 Thu Dec 13 00:15:36 185335.764 After ===== kernel profile: % cumulative self self total time samples samples calls 1/call 1/call name 6.33 2813.00 2813.00 29979 0.09 1.01 svc_process 4.66 4883.00 2070.00 2065 1.00 1.00 spin_unlock_irqrestore 4.06 6687.00 1804.00 2182 0.83 1.00 nfsd_ofcache_lookup 3.20 8110.00 1423.00 10932 0.13 1.00 nfsd_dispatch 3.03 9456.00 1346.00 1343 1.00 1.00 nfsd_cache_lookup 2.62 10622.00 1166.00 4645 0.25 1.01 svc_tcp_recvfrom [...] 0.10 42586.00 44.00 74 0.59 1.00 nfsd_choose_ofc <--- HA!! ^^^^ Call rate: nullarbor:~ # pmdumptext nfs3.server.calls ... Thu Dec 13 01:45:28 194677.118 Thu Dec 13 01:45:29 193932.692 Thu Dec 13 01:45:30 194294.364 Thu Dec 13 01:45:31 194971.276 Thu Dec 13 01:45:32 194111.207 Thu Dec 13 01:45:33 194999.635 Thu Dec 13 01:45:34 195312.594 Thu Dec 13 01:45:35 195707.293 Thu Dec 13 01:45:36 194610.353 Thu Dec 13 01:45:37 195913.662 Thu Dec 13 01:45:38 194808.675 i.e. about a 5.3% improvement in call rate. Signed-off-by: Greg Banks Reviewed-by: David Chinner Signed-off-by: J. Bruce Fields commit cf0a586cf41a1779edeee7562afb5d0ab46c7cf4 Author: Greg Banks Date: Wed Apr 1 07:28:15 2009 +1100 knfsd: fix reply cache memory corruption Fix a regression in the reply cache introduced when the code was converted to use proper Linux lists. When a new entry needs to be inserted, the case where all the entries are currently being used by threads is not correctly detected. This can result in memory corruption and a crash. In the current code this is an extremely unlikely corner case; it would require the machine to have 1024 nfsd threads and all of them to be busy at the same time. However, upcoming reply cache changes make this more likely; a crash due to this problem was actually observed in field. Signed-off-by: Greg Banks Signed-off-by: J. Bruce Fields commit fca4217c5bab31019b5247e977673c9fcc385f6b Author: Greg Banks Date: Wed Apr 1 07:28:13 2009 +1100 knfsd: reply cache cleanups Make REQHASH() an inline function. Rename hash_list to cache_hash. Fix an obsolete comment. Signed-off-by: Greg Banks Signed-off-by: J. Bruce Fields commit a17c859849402315613a0015ac8fbf101acf0cc1 Author: Pablo Neira Ayuso Date: Wed May 27 17:50:35 2009 +0200 netfilter: conntrack: add support for DCCP handshake sequence to ctnetlink This patch adds CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ that exposes the u64 handshake sequence number to user-space. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit f2e21c9610991e95621a81407cdbab881226419b Author: Eero Nurkkala Date: Mon May 25 09:57:37 2009 +0300 NOHZ: Properly feed cpufreq ondemand governor A call from irq_exit() may occasionally pause the timing info for cpufreq ondemand governor. This results in the cpufreq ondemand governor to fail to calculate the system load properly. Thus, relocate the checks for this particular case to keep the governor always functional. Signed-off-by: Eero Nurkkala Reported-by: Tero Kristo Acked-by: Rik van Riel Acked-by: Venkatesh Pallipadi Signed-off-by: Thomas Gleixner commit cbf806dd9302f3ff27ba496dae474b9da6b58873 Author: Sebastian Andrzej Siewior Date: Wed May 27 06:22:58 2009 -0700 Input: ucb1400 - move static function from header into core it's a little too large for static line. The ts is currently the only mainline user but Marek Vasut claims that there is a battery driver in an ARM tree which also needs this function. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Dmitry Torokhov commit b7a16eac5e679fb5f531b9eeff7db7952303e77d Author: Peter Zijlstra Date: Wed May 27 13:35:35 2009 +0200 perf_counter: tools: /usr/lib/debug%s.debug support Some distros seem to store debuginfo in weird places. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 3c4198e874cde694f5ea1463706873e7907bdb18 Author: Kiyoshi Ueda Date: Wed May 27 14:50:02 2009 +0200 block: fix no diskstat problem The commit below in 2.6-block/for-2.6.31 causes no diskstat problem because the blk_discard_rq() check was added with '&&'. It should be 'blk_fs_request() || blk_discard_rq()'. This patch does it and fixes the no diskstat problem. Please review and apply. ------ /proc/diskstat without this patch ------------------------------------- 8 0 sda 0 0 0 0 0 0 0 0 0 0 0 ------------------------------------------------------------------------------ ----- /proc/diskstat with this patch applied --------------------------------- 8 0 sda 4186 303 373621 61600 9578 3859 107468 169479 2 89755 231059 ------------------------------------------------------------------------------ -------------------------------------------------------------------------- commit c69d48540c201394d08cb4d48b905e001313d9b8 Author: Jens Axboe Date: Fri Apr 24 08:12:19 2009 +0200 block: include discard requests in IO accounting We currently don't do merging on discard requests, but we potentially could. If we do, then we need to include discard requests in the IO accounting, or merging would end up decrementing in_flight IO counters for an IO which never incremented them. So enable accounting for discard requests. static inline int blk_do_io_stat(struct request *rq) { - return rq->rq_disk && blk_rq_io_stat(rq) && blk_fs_request(rq); + return rq->rq_disk && blk_rq_io_stat(rq) && blk_fs_request(rq) && + blk_discard_rq(rq); } -------------------------------------------------------------------------- Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit ba396a6c104682dfe5c8b4fbbf5974d5ac9f3687 Author: James Bottomley Date: Wed May 27 14:17:08 2009 +0200 block: fix oops with block tag queueing commit e8939a50466fd963eb1ba9118c34b9ffb7ff6aa6 Author: Tejun Heo Date: Fri May 8 11:54:16 2009 +0900 block: implement and enforce request peek/start/fetch Added a BUG_ON(blk_queued_rq(req)) to the top of blk_finish_req(). Unfortunately, this checks whether req->queuelist is empty. This list is doing double duty both as the queue list and the tag list, so tagged requests come in here with this not empty and boom (the tag list is emptied by blk_queue_end_tag() lower down). Fix this by moving the BUG_ON to below the end tag we also seem vulnerable to this in blk_requeue_request() as well. I think all uses of blk_queued_rq() need auditing because the check is clearly wrong in the tagged case. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit d716fba49c7445ec87c3f045c59624fac03ee3f2 Author: Ingo Molnar Date: Wed May 27 13:19:59 2009 +0200 perf report: Remove include Pekka reported build failure in builtin-report.c: CC builtin-report.o In file included from builtin-report.c:7: /usr/include/ctype.h:102: error: expected expression before token And observed: | Removing #include from builtin-report.c makes the problem | go away. I am running Ubuntu 9.04 that has gcc 4.3.3 and libc 2.9. Reported-by: Pekka J Enberg Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ef65b2a0b3a2f82850144df6e6a7796f6d66da6b Author: Mike Galbraith Date: Wed May 27 10:10:51 2009 +0200 perf record: Fix the profiling of existing pid or whole box Perf record bails if no command argument is provided, so you can't use naked -a or -p to profile a running task or the whole box. Allow foreground profiling of an existing pid or the entire system. [ Impact: fix command option handling bug ] Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit a2a804cddfe65f18f903985e8a8d04c7c9eec354 Author: Herbert Xu Date: Tue May 26 18:50:34 2009 +0000 tcp: Do not check flush when comparing options for GRO There is no need to repeatedly check flush when comparing TCP options for GRO as it will be false 99% of the time where it matters. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9aaa156cf9b7e9d9ed899f254283b91c4e3c36c8 Author: Herbert Xu Date: Tue May 26 18:50:33 2009 +0000 gro: Store shinfo in local variable in skb_gro_receive This patch stores the two shinfo pointers in local variables because they're used over and over again in skb_gro_receive. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 66e92fcf1ded5dd0da30d016ed47882eb183ec71 Author: Herbert Xu Date: Tue May 26 18:50:32 2009 +0000 gro: Nasty optimisations for page frags in skb_gro_receive This patch reverses the direction of the frags array copy in skb_gro_receive in order simplify the loop conditional. It also avoids touching the first element of the original frags array. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb18978cbf454c236db5e4191a12ef71eef9b3a0 Author: Herbert Xu Date: Tue May 26 18:50:31 2009 +0000 gro: Open-code final pskb_may_pull As we know the only packets which need the final pskb_may_pull are completely non-linear, and have all the required bits in frag0, we can perform a straight memcpy instead of going through pskb_may_pull and doing skb_copy_bits. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1075f3f65d0e0f49351b7d4310e9f94483972a51 Author: Herbert Xu Date: Tue May 26 18:50:29 2009 +0000 ipv4: Use 32-bit loads for ID and length in GRO This patch optimises the IPv4 GRO code by using 32-bit loads (instead of 16-bit ones) on the ID and length checks in the receive function. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a5b1cf288d4200506ab62fbb86cc81ace948a306 Author: Herbert Xu Date: Tue May 26 18:50:28 2009 +0000 gro: Avoid unnecessary comparison after skb_gro_header For the overwhelming majority of cases, skb_gro_header's return value cannot be NULL. Yet we must check it because of its current form. This patch splits it up into multiple functions in order to avoid this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7489594cb249aeb178287c9a43a9e4f366044259 Author: Herbert Xu Date: Tue May 26 18:50:27 2009 +0000 gro: Optimise length comparison in skb_gro_header By caching frag0_len, we can avoid checking both frag0 and the length separately in skb_gro_header. This helps as skb_gro_header is called four times per packet which amounts to a few million times at 10Gb/s. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 30a3ae30c775e2723f86ef70746ad3cb4404a4c9 Author: Herbert Xu Date: Tue May 26 18:50:26 2009 +0000 tcp: Optimise len/mss comparison Instead of checking len > mss || len == 0, we can accomplish both by checking (len - 1) > mss using the unsigned wraparound. At nearly a million times a second, this might just help. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4a9a2968a17eae42ef5dffca8b37534c864e30cc Author: Herbert Xu Date: Tue May 26 18:50:25 2009 +0000 tcp: Remove unnecessary window comparisons for GRO The window has already been checked as part of the flag word so there is no need to check it explicitly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 745898eaf0eb7a04a56dec1188d9148259510863 Author: Herbert Xu Date: Tue May 26 18:50:24 2009 +0000 tcp: Optimise GRO port comparisons Instead of doing two 16-bit operations for the source/destination ports, we can do one 32-bit operation to take care both. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 78d3fd0b7de844a6dad56e9620fc9d2271b32ab9 Author: Herbert Xu Date: Tue May 26 18:50:23 2009 +0000 gro: Only use skb_gro_header for completely non-linear packets Currently skb_gro_header is used for packets which put the hardware header in skb->data with the rest in frags. Since the drivers that need this optimisation all provide completely non-linear packets, we can gain extra optimisations by only performing the frag0 optimisation for completely non-linear packets. In particular, we can simply test frag0 (instead of skb_headlen) to see whether the optimisation is in force. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 67147ba99aeb48f2863e03b68e090088a34c1b5d Author: Herbert Xu Date: Tue May 26 18:50:22 2009 +0000 gro: Localise offset/headlen in skb_gro_offset This patch stores the offset/headlen in local variables as they're used repeatedly in skb_gro_offset. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 78a478d0efd9e86e5345b436e130497b4e5846e8 Author: Herbert Xu Date: Tue May 26 18:50:21 2009 +0000 gro: Inline skb_gro_header and cache frag0 virtual address The function skb_gro_header is called four times per packet which quickly adds up at 10Gb/s. This patch inlines it to allow better optimisations. Some architectures perform multiplication for page_address, which is done by each skb_gro_header invocation. This patch caches that value in skb->cb to avoid the unnecessary multiplications. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 42da6994ca6d20ad1d4e30255dee98047db454e7 Author: Herbert Xu Date: Tue May 26 18:50:19 2009 +0000 gro: Open-code frags copy in skb_gro_receive gcc does a poor job at generating code for the memcpy of the frags array in skb_gro_receive, which is the primary purpose of that function when merging frags. In particular, it can't utilise the alignment information of the source and destination. This patch open-codes the copy so we process words instead of bytes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 08d15f034e94251606479d7ca9070994c2e2fcf0 Author: Mark Brown Date: Sat May 23 10:41:05 2009 +0100 ASoC: Switch FSL SSI DAI over to symmetric_rates The effect of symmetric_constraints should provide a standard way to enforce the use of the same sample rate for both directions. Signed-off-by: Mark Brown Acked-by: Timur Tabi commit a930d2c0d0a685ab955472b08baad041cc5edb4a Author: Ingo Molnar Date: Wed May 27 09:50:13 2009 +0200 perf_counter tools: Add built-in pager support Add Git's pager.c (and sigchain) code. A command only has to call setup_pager() to get paged interactive output. Non-interactive (redirected, command-piped, etc.) uses are not affected. Update perf-report to make use of this. [ Impact: new feature ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 23ac9cbed82b00ca3520bb81dbe9ea3b7a936a1b Author: Ingo Molnar Date: Wed May 27 09:33:18 2009 +0200 perf_counter tools: Rename output.perf to perf.data output.perf is only output to perf-record - it's input to perf-report. So change it to a more direction-neutral name. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 16f762a2ac5ecf8a11f6f0332e46cc3459220da5 Author: Ingo Molnar Date: Wed May 27 09:10:38 2009 +0200 perf_counter tools: Introduce stricter C code checking Tighten up our C code requirements: - disallow warnings - disallow declarations-mixed-with-statements - require proper prototypes - require C99 (with gcc extensions) Fix up a ton of problems these measures unearth: - unused functions - needlessly global functions - missing prototypes - code mixed with declarations Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 815e777f913ed54ddb449d2854015c65b4ecbfe3 Author: Arnaldo Carvalho de Melo Date: Tue May 26 19:46:14 2009 -0300 perf report: Show the IP only in --verbose mode perf: report should show the IP only in --verbose mode [acme@emilia ~]$ perf report | head 4.95 find [k] _spin_lock 2.19 find [k] ext3fs_dirhash [ext3] 1.87 find [k] __rcu_read_lock 1.86 find [k] _atomic_dec_and_lock 1.86 find [.] /lib64/libc-2.5.so: __GI_strlen 1.85 find [k] __kmalloc 1.62 find [.] /lib64/libc-2.5.so: vfprintf 1.59 find [k] __rcu_read_unlock 1.55 find [k] __d_lookup Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526224614.GK4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit af83632f98aefd1ae4d8ca3c7c285ccf6a7d3956 Author: Ingo Molnar Date: Wed May 27 08:38:48 2009 +0200 perf report: Only load text symbols from kallsyms, fix - allow 'W' symbols too - Convert initializations to C99 style - whitespace cleanups Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 03f6316d32738ec5eda2e6f628c12d1c01e61a87 Author: Arnaldo Carvalho de Melo Date: Tue May 26 19:21:55 2009 -0300 perf report: Only load text symbols from kallsyms Just like we do for userspace when reading the symtab, reducing the number of entries we insert on the symbols rbtree. Before: [acme@emilia ~]$ rm -f perf_report.perf ; perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 218.138382 task clock ticks (msecs) 4 context switches (events) 8 CPU migrations (events) 2136 pagefaults (events) 32746212 CPU cycles (events) (scaled from 67.04%) 11961102 instructions (events) (scaled from 66.19%) 49841 cache references (events) (scaled from 21.96%) 13777 cache misses (events) (scaled from 21.98%) Wall-clock time elapsed: 218.702477 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 11.06 perf [.] 0x00000000000057cb /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 9.15 perf [.] 0x00000000000056a0 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 8.72 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 8.51 perf [.] 0x0000000000006672 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 3.83 perf [k] 0xffffffff811cfc5a vsnprintf 3.40 perf [.] 0x0000000000005e33 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex 3.40 perf [.] 0x0000000000005ec7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long 3.19 perf [k] 0xffffffff811ce1c1 number 2.77 perf [.] 0x0000000000006869 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: threads__findnew 2.77 perf [.] 0x000000000000fde3 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color [acme@emilia ~]$ After: acme@emilia ~]$ rm -f perf_report.perf ; perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 190.228511 task clock ticks (msecs) 4 context switches (events) 7 CPU migrations (events) 1625 pagefaults (events) 29578745 CPU cycles (events) (scaled from 66.92%) 10516914 instructions (events) (scaled from 66.47%) 44015 cache references (events) (scaled from 22.04%) 8248 cache misses (events) (scaled from 22.07%) Wall-clock time elapsed: 190.816096 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 15.99 perf [.] 0x00000000000057a9 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 10.87 perf [.] 0x000000000000674d /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 8.74 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 5.54 perf [.] 0x0000000000005e42 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex 4.48 perf [.] 0x0000000000005ebe /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long 4.48 perf [k] 0xffffffff811cfba0 vsnprintf 3.84 perf [.] 0x00000000000056b4 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 3.62 perf [.] 0x00000000000068d0 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: threads__findnew 3.20 perf [k] 0xffffffff811ce0b3 number 2.56 perf [.] 0x0000000000006d78 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: __cmd_report [acme@emilia ~]$ [ Impact: optimization ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222155.GJ4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit d8d1656ee15d3085e0085a87e70f9093a0a102c5 Author: Arnaldo Carvalho de Melo Date: Tue May 26 19:20:57 2009 -0300 perf report: Use hex2long instead of sscanf Before: [acme@emilia ~]$ perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 245.414985 task clock ticks (msecs) 6 context switches (events) 6 CPU migrations (events) 2108 pagefaults (events) 37493013 CPU cycles (events) (scaled from 67.04%) 13576789 instructions (events) (scaled from 66.76%) 57931 cache references (events) (scaled from 21.96%) 12263 cache misses (events) (scaled from 21.98%) Wall-clock time elapsed: 246.575587 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 12.15 perf [.] 0x000000000005432a /lib64/libc-2.5.so: _IO_vfscanf_internal 9.38 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 8.53 perf [.] 0x00000000000056b8 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 6.61 perf [.] 0x00000000000057cb /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 5.33 perf [k] 0xffffffff811ce082 number 4.69 perf [.] 0x0000000000034829 /lib64/libc-2.5.so: ____strtoull_l_internal 4.48 perf [.] 0x0000000000006505 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 3.41 perf [.] 0x000000000000fce6 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color 3.20 perf [k] 0xffffffff811cfc01 vsnprintf 2.99 perf [k] 0xffffffff811ce5e8 format_decode After: [acme@emilia ~]$ perf record -o perf_report.perf perf stat perf report > /dev/null Performance counter stats for 'perf': 218.186805 task clock ticks (msecs) 4 context switches (events) 7 CPU migrations (events) 2133 pagefaults (events) 32735365 CPU cycles (events) (scaled from 67.04%) 11952309 instructions (events) (scaled from 66.26%) 50314 cache references (events) (scaled from 21.96%) 13228 cache misses (events) (scaled from 21.98%) Wall-clock time elapsed: 218.810451 msecs [acme@emilia ~]$ perf report -i perf_report.perf | head 10.68 perf [.] 0x000000000000578d /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__find_symbol 9.62 perf [.] 0x00000000000065f7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: thread__symbol_incnew 9.40 perf [.] 0x00000000000056b4 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: dso__insert_symbol 9.19 perf [k] 0xffffffff8101b1d2 intel_pmu_enable_all 5.13 perf [.] 0x0000000000005ec7 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex2long 4.49 perf [k] 0xffffffff81083808 kallsyms_expand_symbol 3.85 perf [k] 0xffffffff811ce2c1 number 3.63 perf [.] 0x0000000000005e81 /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: hex 2.99 perf [.] 0x000000000000fd5b /home/acme/git/linux-2.6-tip/Documentation/perf_counter/perf: rb_insert_color 2.99 perf [k] 0xffffffff811cf251 string [acme@emilia ~]$ [ Impact: optimization ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner Cc: John Kacur Cc: Steven Rostedt LKML-Reference: <20090526222057.GI4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit d6a1cd4975a5ffaa21a961be04a469519edf50d6 Author: Bob Moore Date: Thu May 21 11:06:53 2009 +0800 ACPICA: Update version to 20090521. Update version number. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b1cd843be74ba0dcc6c42db7b11b76d63be149f6 Author: Bob Moore Date: Thu May 21 11:05:03 2009 +0800 ACPICA: Disable preservation of SCI enable bit (SCI_EN) Preserving this bit breaks some machines. Not preserving this bit seems to work OK in all cases, even though this goes against the ACPI spec. http://bugzilla.kernel.org/show_bug.cgi?id=13289 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0fb2787bf2fa5dbe02ffd61ca3ce842c50769573 Author: Peter P Waskiewicz Jr Date: Tue May 26 21:41:18 2009 -0700 ixgbe: Fix build warning This patch fixes a build warning due to an unused label. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 3362a6badb4fe75e198885b125b21ccf846861b4 Author: Lin Ming Date: Thu May 21 11:03:29 2009 +0800 ACPICA: Region deletion: Ensure region object is removed from handler list Prevents a possible fault when a dynamic operation region is deleted. ACPICA BZ 507. http://acpica.org/bugzilla/show_bug.cgi?id=507 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit c446eed6187addf9f76ee0028abed32393aef27e Author: Alex Chiang Date: Thu May 21 10:59:15 2009 +0800 ACPICA: Eliminate extra call to NsGetParentNode Was called twice in the same function with the same parameter. Alex Chiang. Signed-off-by: Alex Chiang Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f5407af3f271ed4cd6655cf30d419d77e0f8bfaa Author: Bob Moore Date: Thu May 21 10:56:52 2009 +0800 ACPICA: Simplify internal operation region interface Changed address parameter to a simple offset. This removes the need for the caller to access the region object to obtain the physical address. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 3c59f96081259358d9d5d677f4839c36391806b6 Author: Bob Moore Date: Thu May 21 10:51:53 2009 +0800 ACPICA: Update Load() to use operation region interfaces Replace memory mapping with region access calls. Now, all region accesses go through the region handler as they should. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b2f7ddcfcb9c2436896cb339a7ff70245648f033 Author: Lin Ming Date: Thu May 21 10:42:09 2009 +0800 ACPICA: New: AcpiInstallMethod - install a single control method This interface enables the override or creation of a single control method. Useful to repair a bug or install a missing method. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit e0be6f5a9863b626c19f0be04946c6285cc9db56 Author: Lin Ming Date: Thu May 21 10:32:02 2009 +0800 ACPICA: Invalidate DdbHandle after table unload Mark the DdbHandle as invalid after the table it refers to is unloaded. This is needed because the handle itself may not be deleted after the table unload, depending on whether it has been stored in a named object by the caller. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 06366c149232f64c89f513f188ccc6783d0e444f Author: Lin Ming Date: Thu May 21 10:29:28 2009 +0800 ACPICA: Fix reference count issues for DdbHandle object Fix a problem where the DdbHandle could be prematurely deleted, possibly causing a fault. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 8c725bf93706db976e9de495579ca625d493e809 Author: Bob Moore Date: Thu May 21 10:27:51 2009 +0800 ACPICA: Simplify and optimize NsGetNextNode function Reduced parameter count and reduced code for this frequently used function. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 474caffdc1ab35e9bcb1f88768442e3a4079a10d Author: Bob Moore Date: Thu May 21 10:10:16 2009 +0800 ACPICA: Additional validation of _PRT packages (resource mgr) Fixes a possible fault when parsing an ill-formed _PRT package. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a76b7727364ebb77b25983427623757d2c99bbc3 Author: Bob Moore Date: Thu May 21 10:06:19 2009 +0800 ACPICA: Fix DebugObject output for DdbHandle objects Was putting several extra spaces on the next line. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 315c728887f198d12eb6ec7ef9d88483018c11cb Author: Bob Moore Date: Thu May 21 10:04:33 2009 +0800 ACPICA: Fix allowable release order for ASL mutex objects The ACPI 4.0 specification has been changed to make the SyncLevel for mutex objects more useful. When releasing a mutex, the synclevel of the mutex must now be the same as the current sync level. This makes more sense. This change updates the code to match the spec. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 10a3b461a258f52b17fb8e35edf3625726eca9a8 Author: Bob Moore Date: Thu May 21 10:02:34 2009 +0800 ACPICA: Mutex support: Fix release ordering issue and current sync level Fixes a problem where if multiple mutexes of the same sync level are acquired but then not released in strict opposite order, the current sync level becomes confused and can cause errors. ACPICA BZ 471. http://acpica.org/bugzilla/show_bug.cgi?id=471 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ba9e2ae443feb7231d9631ea0f62b63e26cfb9b1 Author: Bob Moore Date: Fri Apr 24 10:43:43 2009 +0800 ACPICA: Update version to 20090422. Version 20090422. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e0c437bcca6926b541c738b5c64445654750b365 Author: Bob Moore Date: Wed Apr 22 13:39:47 2009 +0800 ACPICA: Linux OSL: cleanup/update/merge Merge the OSL with the actual file used by Linux, so that the file does not require patching when integrated with Linux. General cleanup and some restructuring. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 2b09ce98a25e467455ecd81354cc18381628be75 Author: Bob Moore Date: Wed Apr 22 13:22:38 2009 +0800 ACPICA: Fix implementation of AML BreakPoint operator (break to debugger) The AML BreakPoint opcode will now cause a break into the AML debugger if it is present/configured. This matches the expected behavior per the ACPI specification. Previously, only a message was output. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ba9c3f550e5792fbce2bbd7a429bf6f6d1f45fda Author: Bob Moore Date: Wed Apr 22 13:13:48 2009 +0800 ACPICA: Fix miscellaneous warnings under gcc 4+ Some possible warnings with gcc 4+, especially with extended warnings enabled Signed-off-by: Bob Moore Signed-off-by: Lin Ming commit e4c1ebfc65c125b1289144f5815715f238367683 Author: Bob Moore Date: Wed Apr 22 13:02:06 2009 +0800 ACPICA: Miscellaneous lint changes Unused variables/headers, casting, etc. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 65259094c3e038519a2d8fa6fbc6256f04ad6535 Author: Bob Moore Date: Wed Apr 22 12:57:40 2009 +0800 ACPICA: Fix possible dereference of null pointer Fix dereference of possibly null pointer "Predefined" in the case where the method is not one of the predefined methods. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b21245a85e62ea7eeb5b7562ce98cf8b0aecbd26 Author: Bob Moore Date: Wed Apr 22 12:52:51 2009 +0800 ACPICA: Fix printf format warnings for 64-bit build Fix warnings caused by size_t and ACPI_SIZE changing to 64 bits. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 35d7c1cfe5262480d3d8e6ccd7e4caf3a9c8ab39 Author: Bob Moore Date: Wed Apr 22 12:41:27 2009 +0800 ACPICA: Cleanup byte/word/dword extraction macros, fix possible warnings Removed unnecessary masking. For the 64-bit macros, removed the structure overlay. Fixes aliasing warnings seen with gcc 4+ compilers. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 10b6575b5d84d21e2eab01df2284288e5fdf7887 Author: Bob Moore Date: Wed Apr 22 11:39:10 2009 +0800 ACPICA: Fix possible warnings for ACPI_THREAD_ID on 64-bit build Warnings can be generated for printf-like statements that output the ACPI_THREAD_ID on 64-bit builds, since this type can expand to 64-bits depending on how it is defined. Use the %p format specifier to allow the output to automatically expand to 64 bits. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 41bdd8e9809665d6a13e49137661a8f2e5a7dc51 Author: Bob Moore Date: Wed Apr 22 10:51:06 2009 +0800 ACPICA: Remove unused global variables Remove two unused/obsolete variables. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 33a1d461d294722dd15ffe17651bdd48b5763883 Author: Bob Moore Date: Wed Apr 22 10:48:57 2009 +0800 ACPICA: Change behavior of object copy for mutex/event objects When copying these internal objects, cannot simply copy the underlying OS object. A new OS object must be created. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8eb7b2477c4e4fec4788605e4edb5f7acafb59ff Author: Bob Moore Date: Wed Apr 22 10:28:22 2009 +0800 ACPICA: Fix a few warnings for gcc 3.4.4 Mostly for acpiexec, one in the core subsystem. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b74be6119e9e38390395f08767b7c84de9023b38 Author: Bob Moore Date: Wed Apr 22 10:20:23 2009 +0800 ACPICA: Update error/warning interfaces Moved the module name and line number to the end of the message. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8e401eccd3a62fb57f117bb09b7c1fc70ab19e8c Author: David S. Miller Date: Tue May 26 21:16:25 2009 -0700 phy: Eliminate references to BUS_ID_SIZE. Just use the constant 20 to keep things working. If someone is so motivated, this can be converted over to dynamic strings. I tried and it's a lot of work. But for now this is good enough. Signed-off-by: David S. Miller commit 079e24ed80c8a91dd2884b88820bac6f340aaa83 Author: David S. Miller Date: Tue May 26 21:15:00 2009 -0700 nl80211: Eliminate reference to BUS_ID_SIZE. It's going away. Just leave the constant "20" here so that behavior doesn't change. Signed-off-by: David S. Miller commit 0a372eb91f9d507701a901c2f62ed31ca67fd66c Author: David S. Miller Date: Tue May 26 21:11:09 2009 -0700 sh_eth: Remove references to BUS_ID_SIZE, use MII_BUS_ID_SIZE instead. Signed-off-by: David S. Miller commit 21a8cfe120c581091722fb146540a2033af16a57 Author: David S. Miller Date: Tue May 26 21:10:22 2009 -0700 cpmac: Remove references to BUS_ID_SIZE, use MII_BUS_ID_SIZE. Signed-off-by: David S. Miller commit 0e53c7f954a1e616df74723630dc844c211f6be5 Author: David S. Miller Date: Tue May 26 21:09:33 2009 -0700 ixp4xx_eth: Remove references to BUS_ID_SIZE. Use MII_BUS_ID_SIZE instead. Signed-off-by: David S. Miller commit 2b0cc7f78ba55e831c16fb8cb5c204d9d2ecc398 Author: David S. Miller Date: Tue May 26 21:05:19 2009 -0700 net: Remove bogus reference to BUS_ID_SIZE in sysfs code. BUS_ID_SIZE is really no more, and device names are dynamically allocated and thus can be any necessary size. So remove the BUG check here making sure BUS_ID_SIZE is at least as large as IFNAMSIZ. Signed-off-by: David S. Miller commit f21b75e9d6471d7f4e2110774819be7beafc86d5 Author: Jean Delvare Date: Tue May 26 20:54:48 2009 -0700 r8169: Use a different default for each family The r8169 driver supports 3 different families of network chips (RTL8169, RTL8168 and RTL8101). When an unknown version is found, the driver currently always defaults to the RTL8169 variant. This has very little chance to ever work for chips of the other families. So better define a per-family default. Signed-off-by: Jean Delvare Acked-by: Francois Romieu Signed-off-by: David S. Miller commit 3d6593e9cc40d0eacc03f75f90834794a4a477df Author: Kevin Hao Date: Tue May 26 20:49:03 2009 -0700 net/ucc_geth: allow to set mac address on running device Inspired by the patch for 8139too (bda6a15a). Currently we can't set mac address on a running ucc_geth device. But this is needed when you use this device as a bonding slave in bonding device in balance-alb mode. So add this feature for ucc_geth device. Signed-off-by: Kevin Hao Signed-off-by: David S. Miller commit 9c5cd6708008fcc3dbced6e4b97aa5ecd0634a85 Author: Tanli Chang Date: Tue May 26 20:45:50 2009 -0700 niu: Add support for C10NEM This patch is for supporting C10NEM. C10NEM is a switch module, which has back-to-back XAUI link connected to blades. Signed-off-by: Tanli Chang Signed-off-by: David S. Miller commit 8ca783ab78e3fa518885c4fef93d0972e450a4de Author: Don Skidmore Date: Tue May 26 20:40:47 2009 -0700 ixgbe: fix 82598 SFP initialization after driver load. If we loaded the driver with out a SFP module plugged in it would leave it in a state that make it later unable to link when a module was plugged in. This patch corrects that by: ixgbe_probe() - moving the check for IXGBE_ERR_SFP_NOT_PRESENT from after get_invariants() to after reset_hw() as now reset_hw() is where this condition will be indentified. ixgbe_reset_hw_82598() - Enable this function to now return IXGBE_ERR_SFP_NOT_PRESENT. ixgbe_identify_sfp_module_generic() - This where the lack of SFP module is detected. Modifications are added to allow a different return value for modules that just haven't been plugged in yet. Other functions were updated to allow correct logging. Signed-off-by: Don Skidmore Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f7c86a3252af7f1222f9ebce66f3654ad3aa9ff0 Author: Peter P Waskiewicz Jr Date: Tue May 26 20:40:09 2009 -0700 ixgbe: Remove device ID 0x10d8 Device ID 0x10d8 is the default silicon device ID for 82599. However, the device will not be functional without an EEPROM, so we want to prevent the driver from loading on the device. Otherwise, the driver will load, but no PHY setup or PCIe setup will occur, causing the device to be unusable. To prevent users from encountering this, just remove the device ID. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cbe7a81a7370e2c4560b48e42e741bd1476bc700 Author: Alexander Duyck Date: Tue May 26 13:51:05 2009 +0000 igb/e1000e: update PSSR_MDIX value to reflect correct bit The phy port status register has the MDI-X status bit on bit 11, not bit 3 as is currently setup in the define. This patch corrects that so the correct bit is checked on igp PHY types. Signed-off-by: Alexander Duyck Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3ea73afafb8cd237a823ec5d0a0a2f2396b03b33 Author: Jesper Dangaard Brouer Date: Tue May 26 13:50:48 2009 +0000 igb: Record host memory receive overflow in net_stats Based on previous patch from Jesper Dangaard Brouer. The RNBC (Receive No Buffers Count) register for the 82576, indicate that frames were received when there were no available buffers in host memory to store those frames (receive descriptor head and tail pointers were equal). The packet is still received by the NIC if there is space in the FIFO on the NIC. As the RNBC value is not a packet drop, the driver stores this value in net_stats.rx_fifo_errors to indicate that there were no system buffers available for the incoming packet. Actual dropped packets are counted in the MPC value. Saving the stats in dev->net_stats makes it visible via /proc/net/dev as "fifo", and thus viewable to ifconfig as "overruns" and 'netstat -i' as "RX-OVR". The Receive No Buffers Count (RNBC) can already be queried by ethtool -S as "rx_no_buffer_count". Signed-off-by: Jeff Kirsher CC: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 8c0ab70ab9cc849af59ef6592bd652a938b21c79 Author: Jesper Dangaard Brouer Date: Tue May 26 13:50:31 2009 +0000 igb: Implement reading of reg RQDPC (Receive Queue Drop Packet Count) Based on the previous patches from Jesper Dangaard Brouer Implement reading the per queue drop stats register RQDPC (Receive Queue Drop Packet Count). It counts the number of packets dropped by a queue due to lack of descriptors available. Notice RQDPC (Receive Queue Drop Packet Count) stats only gets incremented, if the DROP_EN bit it set (in the SRRCTL register for that queue). If DROP_EN bit is NOT set, then the some what equivalent count is stored in RNBC (not per queue basis). The RQDPC register is only 12 bit, thus the precision might suffer due to overrun in-netween the watchdog polling interval. Signed-off-by: Jeff Kirsher CC: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit 3c514ce2f9ae20c06fb17c7ccff40cad1516cc41 Author: Jeff Kirsher Date: Tue May 26 13:50:15 2009 +0000 igb: add RQDPC (Receive Queue Drop Packet Count) register macro Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b93d584772347323334253d5b21c4d720718d7da Author: Alexander Beregalov Date: Tue May 26 12:35:27 2009 +0000 8139*: convert printk() to pr_() Also convert DPRINTK to pr_debug and dev_printk to dev_. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 39738e161f7315bfa8f31a91d2262f93d818a7cd Author: Alexander Beregalov Date: Tue May 26 12:35:26 2009 +0000 3c5xx: convert printk() to pr_() Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 646cdb32831eebe8c2f742c293d0d266326854d9 Author: Alexander Beregalov Date: Tue May 26 12:35:25 2009 +0000 3c50x: convert printk() to pr_() Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 76b0187525f024cb391c8043adf2e359b2adb988 Author: Tetsuo Handa Date: Tue May 26 14:16:31 2009 +0900 rootplug: Remove redundant initialization. We don't need to explicitly initialize to cap_* because it will be filled by security_fixup_ops(). Signed-off-by: Tetsuo Handa Acked-by: Serge Hallyn Signed-off-by: James Morris commit a330bd4750bc84aebb28faddd525d0bcbdde262d Author: Kevin Hilman Date: Wed May 6 15:53:25 2009 -0700 Revert "ARM: OMAP: Mask interrupts when disabling interrupts, v2" This reverts commit 5461af5af5c6a7fee78978aafe720541bf3a2f55. Adding a disable hook to the irq_chip is not the way to fix the problem being addressed by this patch. Instead, we need to fix support for [enable|disable]_irq_wake(). Signed-off-by: Kevin Hilman commit 096324873f9c7172a17aff9db1356f4f01b77afe Author: Eric Sandeen Date: Sat May 23 14:30:12 2009 -0500 xfs: fix overflow in xfs_growfs_data_private In the case where growing a filesystem would leave the last AG too small, the fixup code has an overflow in the calculation of the new size with one fewer ag, because "nagcount" is a 32 bit number. If the new filesystem has > 2^32 blocks in it this causes a problem resulting in an EINVAL return from growfs: # xfs_io -f -c "truncate 19998630180864" fsfile # mkfs.xfs -f -bsize=4096 -dagsize=76288719b,size=3905982455b fsfile # mount -o loop fsfile /mnt # xfs_growfs /mnt meta-data=/dev/loop0 isize=256 agcount=52, agsize=76288719 blks = sectsz=512 attr=2 data = bsize=4096 blocks=3905982455, imaxpct=5 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=32768, version=2 = sectsz=512 sunit=0 blks, lazy-count=0 realtime =none extsz=4096 blocks=0, rtextents=0 xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Invalid argument Reported-by: richard.ems@cape-horn-eng.com Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 88b6f7eb9b4a06fbfe27f2d98e249577f4cfdaef Merge: 8f9ccfe 7971687 Author: Tony Lindgren Date: Tue May 26 14:41:35 2009 -0700 Merge branch 'omap-clock-upstream' of git://git.pwsan.com/linux-2.6 into for-next commit f55ed1a83d099f275c9560ad7d4c4700d1e54bdd Author: Jeff Layton Date: Tue May 26 16:28:11 2009 -0400 cifs: tighten up default file_mode/dir_mode The current default file mode is 02767 and dir mode is 0777. This is extremely "loose". Given that CIFS is a single-user protocol, these permissions allow anyone to use the mount -- in effect, giving anyone on the machine access to the credentials used to mount the share. Change this by making the default permissions restrict write access to the default owner of the mount. Give read and execute permissions to everyone else. These are the same permissions that VFAT mounts get by default so there is some precedent here. Note that this patch also removes the mandatory locking flags from the default file_mode. After having looked at how these flags are used by the kernel, I don't think that keeping them as the default offers any real benefit. That flag combination makes it so that the kernel enforces mandatory locking. Since the server is going to do that for us anyway, I don't think we want the client to enforce this by default on applications that just want advisory locks. Anyone that does want this behavior can always enable it by setting the file_mode appropriately. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 46a7574caf5bc533c24b315800ed323c187614f5 Author: Jeff Layton Date: Sun May 24 18:45:17 2009 -0400 cifs: fix artificial limit on reading symlinks There's no reason to limit the size of a symlink that we can read to 4000 bytes. That may be nowhere near PATH_MAX if the server is sending UCS2 strings. CIFS should be able to read in a symlink up to the size of the buffer. The size of the header has already been accounted for when creating the slabcache, so CIFSMaxBufSize should be the correct size to pass in. Fixes samba bug #6384. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0c0e09e21a9e7bc6ca54e06ef3d497255ca26383 Author: Mark Brown Date: Tue May 26 21:14:59 2009 +0100 ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved These drivers use spin_event_timeout() which is only present in the PowerPC tree at present and which is undergoing some API revisions so temporarily mark them as BROKEN until these issues are sorted out. Signed-off-by: Mark Brown commit 6ffee43ecf8bfbe0bd74c9084c9772a59097d53b Author: Jon Smirl Date: Tue May 26 08:34:14 2009 -0400 ASoC: Fabric bindings for STAC9766 on the Efika Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit a9262c4fd404654acd3684699047fa63206518c8 Author: Jon Smirl Date: Tue May 26 08:34:12 2009 -0400 ASoC: Support for AC97 on Phytec pmc030 base board. A wm9712 AC97 codec is used. Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit 20d0e1520ed1ba8aad05f416245446de0f7ec4bb Author: Jon Smirl Date: Tue May 26 08:34:10 2009 -0400 ASoC: AC97 driver for mpc5200 I've implemented retries for when the AC97 hardware doesn't reset on first try. About 10% of the time both the Efika and pcm030 AC97 codecs don't reset on first try and need to be poked multiple times. Failure is indicated by not having the link clock start ticking. Every once in a while even five pokes won't get the link started and I have to power cycle. Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit dbcc34756234596993a3b1304636f032e66d401f Author: Jon Smirl Date: Tue May 26 08:34:08 2009 -0400 ASoC: Main rewite of the mpc5200 audio DMA code Rewrite the mpc5200 audio DMA code to support both I2S and AC97. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 3a4b8cc70b7473a0b9f26f5b4ddc6579b5e214be Author: Arnaldo Carvalho de Melo Date: Tue May 26 16:19:04 2009 -0300 perf report: Sort output by symbol usage [acme@emilia ~]$ perf record find / > /dev/null 2>&1 [acme@emilia ~]$ perf stat perf report | head -20 4.95 find [k] 0xffffffff81393d65 _spin_lock 3.89 find [.] 0x000000000000af89 /usr/bin/find: 2.19 find [k] 0xffffffffa00518e0 ext3fs_dirhash 1.87 find [k] 0xffffffff810a6cea __rcu_read_lock 1.86 find [k] 0xffffffff811c7312 _atomic_dec_and_lock 1.86 find [.] 0x00000000000782ab /lib64/libc-2.5.so: __GI_strlen 1.85 find [k] 0xffffffff810fedfb __kmalloc 1.62 find [.] 0x00000000000430ff /lib64/libc-2.5.so: vfprintf 1.59 find [k] 0xffffffff810a6d6d __rcu_read_unlock 1.55 find [k] 0xffffffff81119395 __d_lookup 1.39 find [.] 0x0000000000071b40 /lib64/libc-2.5.so: _int_malloc 1.30 find [k] 0xffffffffa031c4fc nfs_do_filldir 1.21 find [k] 0xffffffff811876a5 avc_has_perm_noaudit 1.15 find [k] 0xffffffff810fef62 kmem_cache_alloc 1.07 find [k] 0xffffffff811d03fb copy_user_generic_string 1.03 find [k] 0xffffffffa0043882 ext3_htree_store_dirent 0.99 find [k] 0xffffffff81393ebb _spin_lock_bh 0.98 find [k] 0xffffffffa03319a2 nfs3_decode_dirent 0.97 find [k] 0xffffffff8100bf20 system_call 0.92 find [k] 0xffffffff8139437e _spin_unlock Performance counter stats for 'perf': 244.278972 task clock ticks (msecs) 8 context switches (events) 9 CPU migrations (events) 2104 pagefaults (events) 35329669 CPU cycles (events) (scaled from 75.40%) 13740366 instructions (events) (scaled from 75.49%) 59073 cache references (events) (scaled from 24.60%) 196 cache misses (events) (scaled from 24.51%) Wall-clock time elapsed: 246.060717 msecs [acme@emilia ~]$ [acme@emilia ~]$ grep "model name" /proc/cpuinfo | head -1 model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz [acme@emilia ~]$ grep "model name" /proc/cpuinfo | wc -l 8 [acme@emilia ~]$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Mike Galbraith Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <20090526191904.GH4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit c2adae0970ca1db8adb92fb56ae3bcabd916e8bd Author: Steven Rostedt Date: Wed May 20 19:56:19 2009 -0400 tracing: convert irq events to use __print_symbolic The recording of the names at trace time is inefficient. This patch implements the softirq event recording to only record the vector and then use the __print_symbolic interface to print out the names. [ Impact: faster recording of softirq events ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 0f4fc29dd68dfab9c6ddd5d087d34a5b6818cb00 Author: Steven Rostedt Date: Wed May 20 19:21:47 2009 -0400 tracing: add __print_symbolic to trace events This patch adds __print_symbolic which is similar to __print_flags but works for an enumeration type instead. That is, there is only a one to one mapping between the values and the symbols. When a match is made, then it is printed, otherwise the hex value is outputed. [ Impact: add interface for showing symbol names in events ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 62ba180e80f4194a498585ac0e4c07daa8ca08d1 Author: Steven Rostedt Date: Fri May 15 16:16:30 2009 -0400 tracing: add flag output for kmem events This patch changes the output for gfp_flags from being a simple hex value to the actual names. gfp_flags=GFP_ATOMIC instead of gfp_flags=00000020 And even gfp_flags=GFP_KERNEL instead of gfp_flags=000000d0 (Thanks to Frederic Weisbecker for pointing out that the first version had a bad order of GFP masks) [ Impact: more human readable output from tracer ] Acked-by: Eduard - Gabriel Munteanu Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 937cdb9db7f59278d0cb1582e6e64e3dfd73b4fc Author: Steven Rostedt Date: Fri May 15 10:51:13 2009 -0400 tracing: add previous task state info to sched switch event It is useful to see the state of a task that is being switched out. This patch adds the output of the state of the previous task in the context switch event. [ Impact: see state of switched out task in context switch ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit be74b73a57645cc253d881ab0c1014eb64b9cf22 Author: Steven Rostedt Date: Tue May 26 20:25:22 2009 +0200 tracing: add __print_flags for events Developers have been asking for the ability in the ftrace event tracer to display names of bits in a flags variable. Instead of printing out c2, it would be easier to read FOO|BAR|GOO, assuming that FOO is bit 1, BAR is bit 6 and GOO is bit 7. Some examples where this would be useful are the state flags in a context switch, kmalloc flags, and even permision flags in accessing files. [ v2 changes include: Frederic Weisbecker's idea of using a mask instead of bits, thus we can output GFP_KERNEL instead of GPF_WAIT|GFP_IO|GFP_FS. Li Zefan's idea of allowing the caller of __print_flags to add their own delimiter (or no delimiter) where we can get for file permissions rwx instead of r|w|x. ] [ v3 changes: Christoph Hellwig's idea of using an array instead of va_args. ] [ Impact: better displaying of flags in trace output ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 6142f9ec108a4ddbf0d5904c3daa5fdcaa618792 Author: Peter Zijlstra Date: Tue May 26 20:51:47 2009 +0200 perf report: More robust error handling Don't let funny events confuse us, stick to what we know and try to find sensible data again. If we find an unknown event, check we're still u64 aligned, and increment by one u64. This ensures we're bound to happen upon a valid event soon. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f49515b157e2d3ca3633eb0664fc46c42f6cb37e Author: Ingo Molnar Date: Tue May 26 19:03:36 2009 +0200 perf report: add more debugging Add the offset of the file we are analyzing, and the size of the record. In case of problems it's easier to see where the parser lost track. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur Signed-off-by: Ingo Molnar commit 3e70611460fe74ad32534fa9791774f6bbdd4159 Author: Ingo Molnar Date: Tue May 26 18:53:17 2009 +0200 perf report: add counter for unknown events Add a counter for unknown event records. [ Impact: improve debugging ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 97b07b699b11d4bd1218a841e5dfed16bd53de06 Author: Ingo Molnar Date: Tue May 26 18:48:58 2009 +0200 perf report: add --dump-raw-trace option To help the inspection of various data files, implement an ASCII dump method that just dumps the records as they are read in - then we exit. [ Impact: new feature ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit aae80dc24aeddec4e2b6e182a43491942f8667d3 Author: Takashi Iwai Date: Tue May 26 18:35:27 2009 +0200 ALSA: ctxfi - Add missing module parameter definitions Added missing module_param*() and MODULE_PARM*(). Signed-off-by: Takashi Iwai commit b90cf6681f4f6263920616e7ca2fd09130e4143a Author: David Woodhouse Date: Sun Apr 5 08:23:44 2009 -0700 [MTD] Remove option for add_mtd_partitions() to not register partitions. This breaks the dilnetpc map driver, but it could be fixed not to use that option. We want to simplify the partition handling, and this is a step towards that. Remove superfluous 'index' field from private struct mtd_part too, while we're at it. Signed-off-by: David Woodhouse commit 4704a78472cd5c58f6b4c4f8c04d32de2da3f20a Author: David Woodhouse Date: Sun Apr 5 07:56:23 2009 -0700 [MTD] Only set partition suspend/resume method if parent not registered Signed-off-by: David Woodhouse commit ccd93854d44710adaa02cecf0ef5f24ab383dd20 Author: David Woodhouse Date: Sun Apr 5 07:49:48 2009 -0700 [MTD] Remove mtd->{suspend,resume} calls from board drivers Now the MTD core will do this for us, we don't need to hook it up from the board drivers. Shame we can't do shutdown from the class too... Signed-off-by: David Woodhouse commit 15bce40cb3133bcc07d548013df97e4653d363c1 Author: David Woodhouse Date: Sun Apr 5 07:40:58 2009 -0700 [MTD] Restore suspend/resume support for mtd devices This is intended to suspend/resume the _chip_, while we leave board drivers to handle their own suspend/resume for the controller. Signed-off-by: David Woodhouse commit d694846b6b1c92bcc946b6ffb0a5ea25d5df1014 Author: David Woodhouse Date: Sun Apr 5 07:38:33 2009 -0700 [MTD] set blkdev parent to the mtd device, not its parent Signed-off-by: David Woodhouse commit abd54f68629fa73ed4fa040d433196211a9bbed2 Author: Arnaldo Carvalho de Melo Date: Tue May 26 12:21:34 2009 -0300 perf: Don't assume /proc/kallsyms is ordered perf: Don't assume /proc/kallsyms is ordered Since we _are_ ordering it by the symbol start, just traverse the freshly built rbtree setting the prev->end members to curr->start - 1. Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090526152134.GF4424@ghostprotocols.net> Signed-off-by: Ingo Molnar commit aa2936f5fe060e95ae06685149645b234085a468 Author: Takashi Iwai Date: Tue May 26 16:07:57 2009 +0200 ALSA: hda - Support sync after writing a verb This patch adds a debug mode to make the codec communication synchronous. Define SND_HDA_SUPPORT_SYNC_WRITE in hda_codec.c, and the call of snd_hda_codec_write*() will become synchronous, i.e. wait for the reply from the codec at each time issuing a verb. Signed-off-by: Takashi Iwai commit 951d6f6d703110790256abfce03ced117d2dcc6b Author: Mark A. Greer Date: Wed Apr 15 12:40:21 2009 -0700 davinci: Add watchdog base address flexibility The watchdog code currently hardcodes the base address of the timer its using. To support new SoCs, make it support timers at any address. Use the soc_info structure to do this. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit f64691b3ab795268072e76ddb89290b6277cdf33 Author: Mark A. Greer Date: Wed Apr 15 12:40:11 2009 -0700 davinci: Add base address and timer flexibility The davinci timer code currently hardcodes the timer register base addresses, the timer irq numbers, and the timers to use for clock events and clocksource. This won't work for some a new SoC so put those values into the soc_info structure and set them up in the SoC-specific files. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 673dd36f0d0cf8893d6b46d524ad80e81076b885 Author: Mark A. Greer Date: Wed Apr 15 12:40:00 2009 -0700 davinci: Move interrupt ctlr info to SoC infrastructure Use the SoC infrastructure to hold the interrupt controller information (i.e., base address, default priorities, interrupt controller type, and the number of IRQs). The interrupt controller base, although initially put in the soc_info structure's intc_base field, is eventually put in the global 'davinci_intc_base' so the low-level interrupt code can access it without a dereference. These changes enable the SoC default irq priorities to be put in the SoC-specific files, and the interrupt controller to be at any base address. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 0e585952ac6a06b3c77d6b8eadb9c359766a700d Author: Mark A. Greer Date: Wed Apr 15 12:39:48 2009 -0700 davinci: Move pinmux setup info to SoC infrastructure The pinmux register base and setup can be different for different SoCs so move the pinmux reg base, pinmux table (and its size) to the SoC infrastructure. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit d81d188cafecbc9e01df51527ac4c84a5b19e033 Author: Mark A. Greer Date: Wed Apr 15 12:39:33 2009 -0700 davinci: Add support for multiple PSCs The current code to support the DaVinci Power and Sleep Controller (PSC) assumes that there is only one controller. This assumption is no longer valid so expand the support to allow greater than one PSC. To accomplish this, put the base addresses for the PSCs in the SoC infrastructure so it can be referenced by the PSC code. This also requires adding an extra parameter to davinci_psc_config() to specify the PSC that is to be enabled/disabled. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 66e0c3991c5a1735dd8add77ab8aff5005f57681 Author: Mark A. Greer Date: Wed Apr 15 12:39:23 2009 -0700 davinci: Add clock init call to common init routine All of the davinci SoCs need to call davinci_clk_init() so put the call in the common init routine. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit b9ab12797e74d93a3656ea0bf5591f8b3e094fd5 Author: Mark A. Greer Date: Wed Apr 15 12:39:09 2009 -0700 davinci: Support JTAG ID register at any address The Davinci cpu_is_davinci_*() macros use the SoC part number and variant retrieved from the JTAG ID register to determine the type of cpu that the kernel is running on. Currently, the code to read the JTAG ID register assumes that the register is always at the same base address. This isn't true on some newer SoCs. To solve this, have the SoC-specific code set the JTAG ID register base address in soc_info structure and add a 'cpu_id' member to it. 'cpu_id' will be used by the cpu_is_davinci_*() macros to match the cpu id. Also move the info used to identify the cpu type into the SoC-specific code to keep all SoC-specific code together. The common code will read the JTAG ID register, search through an array of davinci_id structures to identify the cpu type. Once identified, it will set the 'cpu_id' member of the soc_info structure to the proper value and the cpu_is_davinci_*() macros will now work. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 79c3c0b729647a6246c120408f36e6804dab244e Author: Mark A. Greer Date: Wed Apr 15 12:38:58 2009 -0700 davinci: Encapsulate SoC-specific data in a structure Create a structure to encapsulate SoC-specific information. This will assist in generalizing code so it can be used by different SoCs that have similar hardware but with minor differences such as having a different base address. The idea is that the code for each SoC fills out a structure with the correct information. The board-specific code then calls the SoC init routine which in turn will call a common init routine that makes a copy of the structure, maps in I/O regions, etc. After initialization, code can get a pointer to the structure by calling davinci_get_soc_info(). Eventually, the common init routine will make a copy of all of the data pointed to by the structure so the original data can be made __init_data. That way the data for SoC's that aren't being used won't consume memory for the entire life of the kernel. The structure will be extended in subsequent patches but initially, it holds the map_desc structure for any I/O regions the SoC/board wants statically mapped. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 5582b0648de6248c67c0b47fa170e5fb15ab4bf1 Author: Paul Mundt Date: Wed May 27 00:12:58 2009 +0900 sh: pci-sh7780: Fix up for PCI_DISABLE_MWI changes. This fixes a build error where references to pci_cache_line_size are undefined, as this ceases to be exported when PCI_DISABLE_MWI is enabled, as is now the default. Signed-off-by: Paul Mundt commit 464c9e10376b24f04402fa8ef72b66257561bffa Merge: b7e2ac6 61ce539 Author: Paul Mundt Date: Tue May 26 23:50:40 2009 +0900 Merge branch 'sh/clkfwk' commit f6eb53498ee8f725832f3a0fffca90566bb118a6 Author: Steven Whitehouse Date: Tue May 26 15:50:25 2009 +0100 GFS2: Remove args subdir from gfs2 sysfs files Since we can cat /proc/mounts there is no need to have this subdirectory in the gfs2 sysfs files. In fact this does not reflect the full range of possible mount argumenmts, where as /proc/mounts does. There was only one userland user of this set of sysfs files and it will function perfectly well without these files being present (in fact that subcommand of gfs2_tool is obsolete anyway). The tune/* subdirectory is also considered mostly obsolete, but there are a few uses of this until mount arguments can be added for the last few functions for which there are no equivalents currently. However the tune/* directory is still in my sights and new code should avoid using it. Only the gfs2_quota and gfs2_tool programs are know to use tune/* at the moment. Signed-off-by: Steven Whitehouse commit 4b2368ffd6e3563b73b8391c133822a58b1b432a Author: Michal Simek Date: Tue May 26 16:30:32 2009 +0200 microblaze_mmu_v2: Makefiles Signed-off-by: Michal Simek commit a116f6d5db4476d0c941b495a6122b0130bbf20b Author: Michal Simek Date: Tue May 26 16:30:31 2009 +0200 microblaze_mmu_v2: Kconfig update Signed-off-by: Michal Simek commit 8b3f7d5c0ba7600222744588126388b225c61f18 Author: Michal Simek Date: Tue May 26 16:30:31 2009 +0200 microblaze_mmu_v2: stat.h MMU update Signed-off-by: Michal Simek commit e57a221f15fd62921d845ddb37ce048fc7a38fd6 Author: Michal Simek Date: Tue May 26 16:30:30 2009 +0200 microblaze_mmu_v2: Elf update Signed-off-by: Michal Simek commit dcffc1b29115cc26686b8ae62b587e63f0e139f0 Author: Michal Simek Date: Tue May 26 16:30:29 2009 +0200 microblaze_mmu_v2: Update dma.h for MMU Signed-off-by: Michal Simek commit 46fb9be93b15bd8315622ad2f85f9516c064a785 Author: Michal Simek Date: Tue May 26 16:30:28 2009 +0200 microblaze_mmu_v2: Update cacheflush.h Signed-off-by: Michal Simek commit 8b28626a6b1522b39f75d0bf80d5dec23c931f5a Author: Michal Simek Date: Tue May 26 16:30:28 2009 +0200 microblaze_mmu_v2: Update signal returning address Signed-off-by: Michal Simek commit 17f3324c3eb271882b9e6b8fc3b1698290121801 Author: Michal Simek Date: Tue May 26 16:30:27 2009 +0200 microblaze_mmu_v2: Traps MMU update Signed-off-by: Michal Simek commit 65504a47e02e4e6e58884376f4a700f83cc8234f Author: Michal Simek Date: Tue May 26 16:30:26 2009 +0200 microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU Signed-off-by: Michal Simek commit d4c1285ef0d6b005f4e7651ee1e7cf304b4e97dc Author: Michal Simek Date: Tue May 26 16:30:24 2009 +0200 microblaze_mmu_v2: Update linker script for MMU Signed-off-by: Michal Simek commit 4bb73c3de752dc386958be32dc7e1d9fefdcbbf0 Author: Michal Simek Date: Tue May 26 16:30:24 2009 +0200 microblaze_mmu_v2: Add MMU related exceptions handling Signed-off-by: Michal Simek commit 0d6de9532663a4120ce35f507f16b72df382e360 Author: Michal Simek Date: Tue May 26 16:30:23 2009 +0200 microblaze_mmu_v2: uaccess MMU update Signed-off-by: Michal Simek commit 7db29dde731db02143418cfa008b7b77ccb2fa57 Author: Michal Simek Date: Tue May 26 16:30:22 2009 +0200 microblaze_mmu_v2: Update exception handling - MMU exception Signed-off-by: Michal Simek commit ca54502bd52a5d483f7ba076b613ad2ee43941da Author: Michal Simek Date: Tue May 26 16:30:21 2009 +0200 microblaze_mmu_v2: entry.S, entry.h Signed-off-by: Michal Simek commit 23cfc369337fa106d08cbed0dc86527c67966ff2 Author: Michal Simek Date: Tue May 26 16:30:20 2009 +0200 microblaze_mmu_v2: Add CURRENT_TASK for entry.S Signed-off-by: Michal Simek commit 627cef44f4f4dfc22bebf3a68378bf3e3bedd21e Author: Michal Simek Date: Tue May 26 16:30:19 2009 +0200 microblaze_mmu_v2: MMU asm offset update Signed-off-by: Michal Simek commit 45be7d46a9928c6b8ed747e020748500da7e66f1 Author: Michal Simek Date: Tue May 26 16:30:18 2009 +0200 microblaze_mmu_v2: Update tlb.h and tlbflush.h Signed-off-by: Michal Simek commit 5233806dfe6f88fb1a01db3729eeda78f65bcbd1 Author: Michal Simek Date: Tue May 26 16:30:18 2009 +0200 microblaze_mmu_v2: Update process creation for MMU Signed-off-by: Michal Simek commit 1f84e1ea0e87ad659cd6f6a6285d50c73a8d1a24 Author: Michal Simek Date: Tue May 26 16:30:17 2009 +0200 microblaze_mmu_v2: pgalloc.h and page.h Signed-off-by: Michal Simek commit dc95be1f7188f0718ac922b6b6b72406c294d250 Author: Michal Simek Date: Tue May 26 16:30:16 2009 +0200 microblaze_mmu_v2: io.h MMU update Signed-off-by: Michal Simek commit 15902bf63c8332946e5a1f48a72e3ae22874b11b Author: Michal Simek Date: Tue May 26 16:30:15 2009 +0200 microblaze_mmu_v2: Page table - ioremap - pgtable.c/h, section update Signed-off-by: Michal Simek commit fc34d1eb1ca09d3450508e2cf9cf511364c2c460 Author: Michal Simek Date: Tue May 26 16:30:14 2009 +0200 microblaze_mmu_v2: Context handling - mmu_context.c/h Signed-off-by: Michal Simek commit 5de96121009f4de43ffeb7160109e23132278c07 Author: Michal Simek Date: Tue May 26 16:30:13 2009 +0200 microblaze_mmu_v2: Page fault handling high level - fault.c Signed-off-by: Michal Simek commit 23098649e0f8861ea69fac62cf6ba721b83065dc Author: Michal Simek Date: Tue May 26 16:30:12 2009 +0200 microblaze_mmu_v2: mmu.h update Signed-off-by: Michal Simek commit 4dc60832f516c4ccfd1e6aa07d92cc0f6d21bacb Author: Michal Simek Date: Tue May 26 16:30:12 2009 +0200 microblaze_mmu_v2: MMU initialization Signed-off-by: Michal Simek commit 3f50425c0c9815411b760e36b48e18958819a304 Author: Michal Simek Date: Tue May 26 16:30:10 2009 +0200 microblaze_mmu_v2: TLB low level code Signed-off-by: Michal Simek commit a43acfbbc8653f70b8da4c64ec534fb45065a2ee Author: Michal Simek Date: Tue May 26 16:30:10 2009 +0200 microblaze_mmu_v2: Alocate TLB for early console Signed-off-by: Michal Simek commit 5846cc608fd42cd3645ff9f841888832c6ef9b6e Author: Michal Simek Date: Tue May 26 16:30:09 2009 +0200 microblaze_mmu_v2: MMU update for startup code Signed-off-by: Michal Simek commit 2c65b4665f3f1651a7ef652d86eeb23be95dcdb9 Author: Michal Simek Date: Tue May 26 16:30:07 2009 +0200 microblaze_mmu_v2: Add mmu_defconfig Signed-off-by: Michal Simek commit 2f3a499e6b803802880aea1fb8d3b46f1959494f Author: Michal Simek Date: Tue May 26 10:14:49 2009 +0200 microblaze: Fix size of __kernel_mode_t to short This patches solve problem with inconsistency between kernel and glibc Signed-off-by: Michal Simek commit 0945f98b4a844b488d4e42a43f90a3c3aef281af Author: Edgar E. Iglesias Date: Sun May 10 14:39:05 2009 +0200 microblaze: Add audit and seccomp thread flags. Signed-off-by: Edgar E. Iglesias commit e1b28aab5804aa477c33d19855d6747607a885fd Author: Steven Whitehouse Date: Tue May 26 15:41:27 2009 +0100 GFS2: Remove lockstruct subdir from gfs2 sysfs files The lockstruct sub directory contained two entries, both of which are duplicated elsewhere in the gfs2 sysfs files as well as being available via /proc/mounts. There is no userland program using either of them, so this patch removes them. Signed-off-by: Steven Whitehouse commit 59d81029b6804c3d5895d07cad77d7dfddc6b5b2 Author: Arnaldo Carvalho de Melo Date: Tue May 26 11:14:27 2009 -0300 perf report: Fix kernel symbol resolution kallsyms have just the symbol start, so we need to read two lines to get the len. [ Impact: fix incorrect kernel symbol display in perf report ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f17e04afaff84b5cfd317da29ac4d764908ff833 Author: Peter Zijlstra Date: Tue May 26 15:30:22 2009 +0200 perf report: Fix ELF symbol parsing [ Impact: fix DSO symbol output in perf report ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ac7b75b5bbbfd60b752869a22daa3be99b5b4f99 Author: Kevin Hilman Date: Thu May 7 06:19:40 2009 -0700 davinci: EMAC platform support Add SoC and platform-specific data and init for DaVinci EMAC network driver. Signed-off-by: Kevin Hilman commit 2dbf56aeb7986b54651c93ed171877e8179289bc Author: Kevin Hilman Date: Mon May 11 15:55:03 2009 -0700 davinci: MMC platform support Add SoC and platform-specific data and init for MMC driver. Signed-off-by: Kevin Hilman commit 35652fe1858e664707cfa32e80547b210cc41f78 Author: Kevin Hilman Date: Wed May 20 16:44:44 2009 -0700 davinci: update davinci_all_defconfig for dm355, dm6467 Signed-off-by: Kevin Hilman commit e38d92fdcd04c79d28679682f63a83487c4c4c05 Author: Kevin Hilman Date: Wed Apr 29 17:44:58 2009 -0700 davinci: DM646x: add base SoC and board support Add support for DM646x SoC (a.k.a DaVinci HD) and its Evalution Module (EVM.) Original support done by Sudhakar Rajashekhara. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 95a3477fe57e0669dcb531516f2930fe1cf27e6b Author: Kevin Hilman Date: Wed Apr 29 12:10:55 2009 -0700 davinci: DM355: add base SoC and board support In addition, add board support for the DM355 Evaluation Module (EVM) and the DM355 Leopard board. Original DM355 EVM support done by Sandeep Paulraj, with significant updates and improvements by David Brownell. DM355 Leopord support done by Koen Kooi. Signed-off-by: Sandeep Paulraj Signed-off-by: Koen Kooi Cc: David Brownell Signed-off-by: Kevin Hilman commit f5ce6a67a78357da5e88782b1cf1cc10b36f102c Author: Hugo Villeneuve Date: Wed Apr 29 16:46:57 2009 -0700 davinci: DM644x: add support for SFFSDR board Signed-off-by: Hugo Villeneuve Signed-off-by: Kevin Hilman commit fb6313879caa46831d71a316b97b51d37d100269 Author: Kevin Hilman Date: Wed Apr 29 16:23:59 2009 -0700 davinci: add platform support for watchdog timer Signed-off-by: Kevin Hilman commit 0521444d497ee1f8a31314d2ce3c6b9edab25b51 Author: Sergei Shtylyov Date: Wed Mar 11 19:49:05 2009 +0400 davinci: INTC: add support for TI cp_intc Add support for Texas Instuments Common Platform Interrupt Controller (cp_intc) used on DA830/OMAP-L137. Signed-off-by: Steve Chen Signed-off-by: Mark Greer Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit 27428e39da8e45f861c79e7dcec32d38965afeb3 Author: Mark A. Greer Date: Wed Feb 18 14:00:36 2009 -0700 davinci: support different UART bases for zImage uncompress The davinci pre-kernel boot code assumes that all platforms use the same UART base address for the console. That assumption is not longer valid with some newer SoCs so determine the console UART base address from the machine number passed in from bootloader. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit ce8ccaf0efeb43cd23393a9590365587ad879b2a Author: Troy Kisky Date: Mon Feb 11 14:44:07 2008 -0700 davinci: interrupts: get_irqnr_and_base: save an instruction Signed-off-by: Troy Kisky Signed-off-by: Kevin Hilman commit 17eb15704142dc1b302a3f0cd632c426ee326b6d Author: Chaithrika U S Date: Mon Jan 19 14:13:05 2009 +0530 davinci: use 32-bit accesses for low-level debug macros This patch defines debug macros for low-level debugging for Davinci based platforms Tested on : - DM644x DaVinci EVM - DM646X DaVinciHD EVM - DM355 EVM This patch attempts to solve the low-level debug issue in DM646x. The UART on DM646x SoC allows only 32-bit access. The existing debug-macro.S uses the macros from debug-8250.S file. This led to garbage serial out in the case of DM646x. The inclusion of debug-8250.S does not allow for run time fix for this issue. There are compile time errors due to multiple definitions of the macros. Also when building a single image for multiple DaVinci Platforms, the ifdefs cannot be relied upon. The solution below does not include the debug-8250.S file and defines the necessary macros. This solution was arrived at after observing that word access does not affect the low-level debug messages on DM644x/DM355. The other approach to this issue is to use the UART module information available in the peripheral registers to decide the access mechanism. But this will have to be done for every access of UART specifically for DM646x. Also this calls for a modification of the debug-8250.S file. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit dc75602628472d7fbc4cb43f010bf0257e95ab71 Author: Kevin Hilman Date: Mon May 11 11:04:53 2009 -0700 davinci: fixups for banked GPIO interrupt handling This patch seems to get me much more reliable performance using the GPIO banked interrupts on dm355 for the dm9000 driver. Changes include: - init GPIO handling along with normal GPIO init - mask the level-sensitive bank IRQ during handling Signed-off-by: Kevin Hilman commit df4aab46a8256ac0f0c2701b3fe23b7dd05e6b48 Author: David Brownell Date: Mon May 4 13:14:27 2009 -0700 davinci: gpio irq enable tweaks Fix two IRQ triggering bugs affecting GPIO IRQs: - Make sure enabling with IRQ_TYPE_NONE ("default, unspecified") isn't a NOP ... default to both edges, at least one must work. - As noted by Kevin Hilman, setting the irq trigger type for a banked gpio interrupt shouldn't enable irqs that are disabled. Since GPIO IRQs haven't been used much yet, it's not clear these bugs could have affected anything. The few current users don't seem to have been obviously suffering from these issues. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit b7e2ac619465f1774b827d9997109ceef4a61851 Author: Paul Mundt Date: Tue May 26 23:13:13 2009 +0900 sh: pci: Disable MWI and make pci_dma_burst_advice() a bit more accurate. None of the SH PCI controllers support MWI, it is always treated as a direct memory write, so simply disable it outright. In the case of the PCI cache line size, consult that for the pci_dma_burst_advice() strategy, and switch over to PCI_DMA_BURST_MULTIPLE, as PPC64. Signed-off-by: Paul Mundt commit d076d2bd0d9379314df5f2ab8b9c83f617c70923 Author: Paul Mundt Date: Tue May 26 23:10:15 2009 +0900 sh: pci-sh7751: Initialize io_map_base in controller definition. As there is only a single controller and remapping has no impact for the address range in question, just initialize it directly in the controller definition. This fixes up boot time warnings about not having the field initialized. Signed-off-by: Paul Mundt commit db20c0031288ff524d82b1f240f35f85d4a052eb Author: Mike Galbraith Date: Tue May 26 15:25:34 2009 +0200 perf top: fix typo in -d option Clean up copy/paste options parsing conversion error. [ Impact: reactivate -d option ] Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f91183fe3780d44849110a1653dfe8af7bc67aa4 Author: Mike Galbraith Date: Tue May 26 15:25:34 2009 +0200 perf top: Remove leftover NMI/IRQ bits 79202b removed IRQ/NMI mode selection, so remove it from perf top as well. [ Impact: cleanup ] Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8174086167d43d0fd7b21928074145ae1d15bbab Author: Takashi Iwai Date: Tue May 26 15:22:00 2009 +0200 ALSA: hda - Allow concurrent RIRB access in single_cmd mode In the single_cmd mode, the current driver code doesn't do any update for RIRB just for any safety reason. But, actually the RIRB and single_cmd mode don't conflict. Unsolicited events can be delivered even while using the single_cmd mode. This patch allows the handling of unsolicited events with single_cmd mode, just always checking RIRB independent from single_cmd flag. Signed-off-by: Takashi Iwai commit 20e91c575088337cb94f2ed48380efc305dcb81d Merge: 86d190e 461c6c3 Author: Takashi Iwai Date: Tue May 26 15:19:56 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 86d190e77c44cb057742dcc871b12ebd4633c387 Author: Takashi Iwai Date: Tue May 26 15:18:58 2009 +0200 ALSA: hda - Minor clean up of patch_sigmatel.c - Remove unneeded semicolons - Introduce spec->gpio_led to specify the GPIO bit for LED control Signed-off-by: Takashi Iwai commit db1005ec6ff8f250bccbc87387a955078891bfe4 Author: Takashi Iwai Date: Tue May 26 13:55:42 2009 +0200 ALSA: riptide - Fix joystick resource handling The current code doesn't handle the multiple gameports properly, and uses unnecessary global static variables to store the data. This patch changes the probe / remove routines to use the driver data assigned to the dedicated pci device, and adds the support of multiple devices. Signed-off-by: Takashi Iwai commit 0bec253c813fbb067db4dfd9f5b6cec1bd2ef026 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf report: Add help/manpage Add a (minimal) manpage for perf report. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 53cb8bc2a3d976efd1a800c3de4640a7220afbb3 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf record: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f3e08c5341c528284460530b546608f27232f737 Author: Peter Zijlstra Date: Fri May 22 15:34:54 2009 +0200 perf report: Fix segfault on unknown symbols Ingo reported: > Program received signal SIGSEGV, Segmentation fault. > 0x0000003e25080f80 in strlen () from /lib64/libc.so.6 > Missing separate debuginfos, use: debuginfo-install elfutils.x86_64 > glibc.x86_64 zlib.x86_64 > (gdb) bt > #0 0x0000003e25080f80 in strlen () from /lib64/libc.so.6 > #1 0x0000003e2506954e in fputs () from /lib64/libc.so.6 > #2 0x00000000004059e8 in cmd_report (argc=, > argv=) at builtin-report.c:521 > #3 0x0000000000402dad in handle_internal_command (argc=1, argv=0x7fffe1218e30) > at perf.c:226 > #4 0x0000000000402f6d in main (argc=1, argv=0x7fffe1218e30) at perf.c:324 > (gdb) Signed-off-by Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Signed-off-by: Ingo Molnar commit ce7e43653b08db094326f378958bc293a68e8e5b Author: Arnaldo Carvalho de Melo Date: Tue May 19 09:30:23 2009 -0300 perf_counter: Use rb_tree for symhists and threads in report Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 040e6034124c504d536736ce08e4643e640cd7c2 Author: Arnaldo Carvalho de Melo Date: Mon May 18 16:25:31 2009 -0300 perf_counter: Add our private copy of list.h Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 35a50c8a20eea22c141e05c5667ac21c48b8b65d Author: Arnaldo Carvalho de Melo Date: Mon May 18 16:24:49 2009 -0300 perf_counter: Use rb_trees in perf report Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 62eb93905b3b43cea407cfbc061cc7b40ae1c6e9 Author: Arnaldo Carvalho de Melo Date: Mon May 18 14:28:47 2009 -0300 perf_counter: Implement dso__load using libelf Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit fd4242bb35b70557eee8d0c79f82dacc3f3b89e0 Author: Ingo Molnar Date: Wed May 20 12:45:34 2009 +0200 perf_counter tools: remove the standalone perf-report utility With a built-in 'perf report' command now available, remove the standalone implementation for good. Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 8fa66bdcc81dd4fc2c91228074d0a4698120c5a2 Author: Arnaldo Carvalho de Melo Date: Mon May 18 12:45:42 2009 -0300 perf_counter: First part of 'perf report' conversion to C + elfutils Integrate perf-report into 'perf', as builtin-report.c. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit a693a26fe0807c3c406d6b5295d222b646677288 Author: Takashi Iwai Date: Tue May 26 12:58:58 2009 +0200 ALSA: riptide - Code clean up A code clean up, coding style fixes. The firmware loading routine is split to an own function to improve the readability. Signed-off-by: Takashi Iwai commit 4e0f088106c28d0ed8e827338b42404d236deda0 Author: Alberto Panizzo Date: Mon May 25 22:35:38 2009 +0200 ARM MXC: Atmark Armadillo 500 board support. On Mon, 25 May 2009 18:33:28 +0200 Valentin Longchamp wrote: > Hello, > > I have updated my mxc git tree and given a compilation spin to your > board support and I have comments. See below. > > > What's the point of declaring this new function, if all it does is > calling the already existing one ? Furthermore, in the current > mxc-master tree, mxc_map_io() does not exist anymore, it should be > mx31_map_io (this breaks compilation for your board). > This patch solve those two issues. Until now i based my patches to vanilla tree. This evening I cloned the mxc-master tree so i could update the armadillo 500 support within recent platform changes. The patch: From e986a8dc262e5292350d95bf65ead75baf3272d7 Mon Sep 17 00:00:00 2001 From: Alberto Panizzo Date: Mon, 25 May 2009 22:24:03 +0200 Subject: [PATCH] Armadillo 500 removing useless function armadillo5x0_map_io and use machine specific io mapping Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit b456bae0ff4f3cf91639dd32b2bfc49b1c30b4b0 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf top: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 4193d2d2d7c8307803d035932d5e33d848a96951 Author: Daniel Mack Date: Wed May 20 19:54:39 2009 +0200 ARM: MX3: add I2C support for lilly-1131 Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 38160e0b0126565947e986701ae1bdbff01f121d Author: Daniel Mack Date: Wed May 20 19:54:38 2009 +0200 ARM: MX3: add NOR flash support for lilly-1131 Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit b99238721bf62c216d556b4ba63bdf410e068284 Author: Daniel Mack Date: Wed May 20 19:54:37 2009 +0200 ARM: MX3: add framebuffer support for lilly1131-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit d0b1eabc7b255daa978849229703b4d70a4c0555 Author: Daniel Mack Date: Wed May 20 19:54:36 2009 +0200 ARM: MX3: add MMC suuport for lilly1131-db Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit cbaa6ca1f5af59ec8d0d104c1f02b65a6cf0a8aa Author: Daniel Mack Date: Wed May 20 19:54:35 2009 +0200 ARM: MX3: add lilly-1131 ethernet support This adds support for the SMSC911x chip found on the lilly-1131 module. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 1bc34f7964b1e8dee8d49d83cba8dad0a010df92 Author: Daniel Mack Date: Wed May 20 19:54:34 2009 +0200 ARM: MX3: add skeleton for lilly-1131 development board Support code for lilly-1131 is implemented in a module/baseboard fashion. All code specific to peripherals found on the development board will go to this file. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 65b1aa13f2a14e113d1139ecf7cb2507a3cfa8b8 Author: Daniel Mack Date: Wed May 20 19:54:33 2009 +0200 ARM: MX3: basic support for lilly-1131 board This patch adds basic support for INCO startec's LILLY-1131 iMX31 based modules. The module needs a baseboard support to work which will be added in the next patch. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 5242519b0296d128425368fc6ab17f541d5fa775 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf stat: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Extend the event parser library with the extensions that were in perf-stat before. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit ddbd3b61708483f73dbcc62a94d16cc7db928cba Author: Artem Bityutskiy Date: Sat May 23 13:44:09 2009 +0300 UBI: fix race condition This patch fixes a minor problem where we may fail to wake upe the UBI background thread. This is not fatal at all, it may just result at sligtly worse performace for a short period of time, just because the thread will be woken up when real I/O on the UBI starts. Anywey, the issue is the race condition between 'ubi_attach_mtd_dev()' and 'ubi_thread()'. If we do not serialize them, the 'wake_up_process()' call may be done before 'ubi_thread()' went seep, but after it checked 'ubi->thread_enabled'. This issue was spotted by Shin Hong Signed-off-by: Artem Bityutskiy commit 7c83f5cb551b2e5c4934933fda006636f7424123 Author: Artem Bityutskiy Date: Mon May 25 19:23:04 2009 +0300 UBIFS: use anonymous device UBIFS has erroneuosly set 'sb->s_dev' to the UBI volume character device major/minor. This may lead to clashes if there is another FS mounted to a block device with the same major/minor numbers. User-space programs which use 'stat->st_dev' may get confused because of this. This problem was found by Al Viro. He also pointed the way to fix the problem - use 'set_anon_super()' and 'kill_anon_super()' VFS helpers. Signed-off-by: Artem Bityutskiy commit 8ad8db3788fd9a449941fb2392ca85af4ee1cde1 Author: Ingo Molnar Date: Tue May 26 11:10:09 2009 +0200 perf_counter tools: Librarize event string parsing Extract the event string parser from builtin-record.c, and librarize it - to be reused in other commands. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 0e9b20b8a1cab6c6ab4f98f917a2d98783103969 Author: Ingo Molnar Date: Tue May 26 09:17:18 2009 +0200 perf record: Convert to Git option parsing Remove getopt usage and use Git's much more advanced and more compact command option library. Git's library (util/parse-options.[ch]) constructs help texts and error messages automatically, and has a number of other convenience features as well. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit f9e2b97dc2cf832ccceea2a2e6eccc4bc9af72cf Author: Paul Mundt Date: Tue May 26 17:12:20 2009 +0900 sh: Add a KBUILD_DEFCONFIG for sh64. Signed-off-by: Paul Mundt commit 61ce5393e4c8914c46ec99cbda76823515109709 Author: Magnus Damm Date: Mon May 25 08:10:45 2009 +0000 sh: remove clk_ops->build_rate_table() This patch removes the ->build_rate_table() callback, ->recalc() may instead be used for this purpose. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit df109e630f82de63ec82eebbfec2a57852517f28 Author: Magnus Damm Date: Mon May 25 08:10:36 2009 +0000 sh: use shared frequency tables on sh7785 This patch converts the sh7785 clock code to make use of clk_rate_table_build() and clk_rate_table_round(). The ->build_rate_table() callback is removed, the table building is instead handled in ->recalc(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c94a85746f7bdc13035acdf88c130d7b6fa41bde Author: Magnus Damm Date: Mon May 25 08:10:28 2009 +0000 sh: add shared clock framework frequency table code Add SuperH-specific clock framework helper functions: - clk_rate_table_build() - build cpufreq table from divisors/multipliers - clk_rate_table_round() - use cpufreq table to find matching frequency Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c9904dd15922f349b5f06839e34b1723d4a75940 Author: Magnus Damm Date: Mon May 25 08:10:19 2009 +0000 sh: add pll_clk to sh7785 This patch converts the sh7785 pll implementation from the all-in-one code in frqmr_recalc() and frqmr_build_rate_table() to a separate struct clk. This allows us to remove the processor specific multiplier and use generic rate table functions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4e97ddf09ee3ce715fc334399bae4cc0c0a13057 Author: Ingo Molnar Date: Tue May 26 10:07:44 2009 +0200 perf stat: Remove unused variable [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 69aa48ab82e17299efe2be6c21795945731a6c17 Author: Ingo Molnar Date: Tue May 26 09:02:27 2009 +0200 perf record: Straighten out argv types [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 5b25ab29bad3114f798b136b4147f255a5d5742f Author: Paul Mundt Date: Tue May 26 17:02:18 2009 +0900 sh: Record ms7724se in mach-types. Signed-off-by: Paul Mundt commit 287c129716c2d4b75f3d8dd6e68732a3cd326ee6 Author: Kuninori Morimoto Date: Tue May 26 07:04:52 2009 +0000 sh: Add ms7724se (SH7724) board support This adds preliminary support for the ms7724se solution engine board. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 329d876d6fd326109f191ae0fb2798b8834fb70b Author: Ingo Molnar Date: Tue May 26 08:10:00 2009 +0200 perf_counter: Initialize ->oncpu properly This shouldnt matter normally (and i have not seen any misbehavior), because active counters always have a proper ->oncpu value - but nevertheless initialize the field properly to -1. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit aaba98018b8295dfa2119345d17f833d74448cd0 Author: Ingo Molnar Date: Tue May 26 08:10:00 2009 +0200 perf_counter, x86: Make NMI lockups more robust We have a debug check that detects stuck NMIs and returns with the PMU disabled in the global ctrl MSR - but i managed to trigger a situation where this was not enough to deassert the NMI. So clear/reset the full PMU and keep the disable count balanced when exiting from here. This way the box produces a debug warning but stays up and is more debuggable. [ Impact: in case of PMU related bugs, recover more gracefully ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 79202ba9ff8cf570a75596f42e011167734d1c4b Author: Ingo Molnar Date: Tue May 26 08:10:00 2009 +0200 perf_counter, x86: Fix APIC NMI programming My Nehalem box locks up in certain situations (with an always-asserted NMI causing a lockup) if the PMU LVT entry is programmed between NMI and IRQ mode with a high frequency. Standardize exlusively on NMIs instead. [ Impact: fix lockup ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 8a7b8cb91f26a671f22cedc7fd54508667f2d9b9 Author: Paul Mackerras Date: Tue May 26 16:27:59 2009 +1000 perf_counter: powerpc: Implement interrupt throttling This implements interrupt throttling on powerpc. Since we don't have individual count enable/disable or interrupt enable/disable controls per counter, this simply sets the hardware counter to 0, meaning that it will not interrupt again until it has counted 2^31 counts, which will take at least 2^30 cycles assuming a maximum of 2 counts per cycle. Also, we set counter->hw.period_left to the maximum possible value (2^63 - 1), so we won't report overflows for this counter for the forseeable future. The unthrottle operation restores counter->hw.period_left and the hardware counter so that we will once again report a counter overflow after counter->hw.irq_period counts. [ Impact: new perfcounters robustness feature on PowerPC ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18971.35823.643362.446774@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit d3f65f7c3cf11b036bbc01f22ac5c958570e724c Author: Eric Dumazet Date: Mon May 25 23:48:43 2009 -0700 atl1: use netdev->stats Get rid of private struct net_device_stats in "struct atl1e_adapter", and use one provided in struct net_device instead. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 08baf561083bc27a953aa087dd8a664bb2b88e8e Author: Eric Dumazet Date: Mon May 25 22:58:01 2009 -0700 net: txq_trans_update() helper We would like to get rid of netdev->trans_start = jiffies; that about all net drivers have to use in their start_xmit() function, and use txq->trans_start instead. This can be done generically in core network, as suggested by David. Some devices, (particularly loopback) dont need trans_start update, because they dont have transmit watchdog. We could add a new device flag, or rely on fact that txq->tran_start can be updated is txq->xmit_lock_owner is different than -1. Use a helper function to hide our choice. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 65ac8851490ec97a96759af729132c96f925a795 Author: Yoshihiro Shimoda Date: Sun May 24 23:54:30 2009 +0000 net: sh_eth: Add support SH7724 Signed-off-by: Yoshihiro Shimoda Signed-off-by: Kuninori Morimoto Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 380af9e390ec81e74a2fd7fad948a8b12eeec7da Author: Yoshihiro Shimoda Date: Sun May 24 23:54:21 2009 +0000 net: sh_eth: CPU dependency code collect to "struct sh_eth_cpu_data" This improves readability by collecting CPU dependency code. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 862df49750e7ca9369c04d8d8105b3cc5d976e0d Author: Yoshihiro Shimoda Date: Sun May 24 23:53:40 2009 +0000 net: sh_eth: fix receive desciptor loop Fix the problem that this driver not update rxdesc in sh_eth_rx. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit 0029d64af5d72049e2170e4609fa83bd1f3f07cd Author: Yoshihiro Shimoda Date: Sun May 24 23:53:20 2009 +0000 net: sh_eth: fix TX/RX descriptor not set physical memory Fix the probrem that TX/RX descirptor not set physical memory. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit e88aae7bb1dc50457489d1d7c81dcf4db23ccf94 Author: Yoshihiro Shimoda Date: Sun May 24 23:52:35 2009 +0000 net: sh_eth: fix cache coherency issue Fix the problem that may not work receive process by cache coherency issue. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: David S. Miller commit a1dcb6628b9489504a3be2515580fc4de891f94a Author: Jarek Poplawski Date: Mon May 25 22:47:01 2009 -0700 pkt_sched: gen_estimator: Fix signed integers right-shifts. Right-shifts of signed integers are implementation-defined so unportable. With feedback from: Eric Dumazet Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit dfa9264fe1a0c1b46e11c6a4cd3251cd5e1afb71 Author: Gabriel Paubert Date: Mon May 25 22:46:19 2009 -0700 net: Remove obsolete MV64360 config option Signed-off-by: Gabriel Paubert Signed-off-by: David S. Miller commit d0fc1d5e3fe869f8a32a2bc1dd02d8383a057164 Author: Zhu Yi Date: Mon May 25 22:41:51 2009 -0700 iwmc3200wifi: fix link error when CFG80211 is not selected The patch makes iwmc3200wifi select CFG80211 instead of LIB80211. This fixed module link error reported by Randy Dunlap when compiling iwmc3200wifi without cfg80211 selected. WIRELESS_EXT is also selected by iwmc3200wifi. Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit 3709ab8dfa23cab553ea9ffea3372c8e0a28f332 Author: Paul Mundt Date: Tue May 26 13:52:28 2009 +0900 sh: irq: Fix up imask build warnings. Signed-off-by: Paul Mundt commit 0e907c99391362385c8e3af2c43b904dd1fd5d73 Author: Zhaolei Date: Mon May 25 18:13:59 2009 +0800 ftrace: clean up of using ftrace_event_enable_disable() Always use ftrace_event_enable_disable() to enable/disable an event so that we can factorize out the event toggling code. [ Impact: factorize and cleanup event tracing code ] Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4A14FDFE.2080402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit b11c53e12f94a46b50bccc7a1a953d7ca1d54a31 Author: Zhaolei Date: Mon May 25 18:11:59 2009 +0800 ftrace: Add task_comm support for trace_event If we enable a trace event alone without any tracer running (such as function tracer, sched switch tracer, etc...) it can't output enough task command information. We need to use the tracing_{start/stop}_cmdline_record() helpers which are designed to keep track of cmdlines for any tasks that were scheduled during the tracing. Before this patch: # echo 1 > debugfs/tracing/events/sched/sched_switch/enable # cat debugfs/tracing/trace # tracer: nop # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | <...>-2289 [000] 526276.724790: sched_switch: task bash:2289 [120] ==> sshd:2287 [120] <...>-2287 [000] 526276.725231: sched_switch: task sshd:2287 [120] ==> bash:2289 [120] <...>-2289 [000] 526276.725452: sched_switch: task bash:2289 [120] ==> sshd:2287 [120] <...>-2287 [000] 526276.727181: sched_switch: task sshd:2287 [120] ==> swapper:0 [140] -0 [000] 526277.032734: sched_switch: task swapper:0 [140] ==> events/0:5 [115] <...>-5 [000] 526277.032782: sched_switch: task events/0:5 [115] ==> swapper:0 [140] ... After this patch: # tracer: nop # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | bash-2269 [000] 527347.989229: sched_switch: task bash:2269 [120] ==> sshd:2267 [120] sshd-2267 [000] 527347.990960: sched_switch: task sshd:2267 [120] ==> bash:2269 [120] bash-2269 [000] 527347.991143: sched_switch: task bash:2269 [120] ==> sshd:2267 [120] sshd-2267 [000] 527347.992959: sched_switch: task sshd:2267 [120] ==> swapper:0 [140] -0 [000] 527348.531989: sched_switch: task swapper:0 [140] ==> events/0:5 [115] events/0-5 [000] 527348.532115: sched_switch: task events/0:5 [115] ==> swapper:0 [140] ... Changelog: v1->v2: Update Kconfig to select CONTEXT_SWITCH_TRACER in ENABLE_EVENT_TRACING v2->v3: v2 can solve problem that was caused by config EVENT_TRACING alone, but when CONFIG_FTRACE is off and CONFIG_TRACING is selected by other config, compile fail happened again. This version solves it. [ Impact: fix incomplete output of event tracing ] Signed-off-by: Zhao Lei Cc: Tom Zanussi Cc: Steven Rostedt LKML-Reference: <4A14FDFE.2080402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 29fcefba8a2f0fea11e2b721fe174a1832801284 Author: Pekka Enberg Date: Sun May 24 11:13:17 2009 +0300 kmemtrace: fix kernel parameter documentation The kmemtrace.enable kernel parameter no longer works. To enable kmemtrace at boot-time, you must pass "ftrace=kmemtrace" instead. [ Impact: remove obsolete kernel parameter documentation ] Cc: Eduard - Gabriel Munteanu Signed-off-by: Pekka Enberg LKML-Reference: Signed-off-by: Frederic Weisbecker commit b0aae68cc5508f3c2fbf728988c954db4c8b8a53 Author: Li Zefan Date: Thu May 21 13:59:18 2009 +0800 tracing/events: change the type of __str_loc_item to unsigned short When defining a dynamic size string, we add __str_loc_##item to the trace entry, and it stores the location of the actual string in entry->_str_data[] 'unsigned short' should be sufficient to store this information, thus we save 2 bytes per dyn-size string in the ring buffer. [ Impact: reduce memory occupied by dyn-size strings in ring buffer ] Signed-off-by: Li Zefan Cc: Steven Rostedt LKML-Reference: <4A14EDB6.2050507@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 4f5359685af6de7dca101393dc606620adbe963f Author: Lai Jiangshan Date: Mon May 18 19:35:34 2009 +0800 tracing: add trace_event_read_lock() I found that there is nothing to protect event_hash in ftrace_find_event(). Rcu protects the event hashlist but not the event itself while we use it after its extraction through ftrace_find_event(). This lack of a proper locking in this spot opens a race window between any event dereferencing and module removal. Eg: --Task A-- print_trace_line(trace) { event = find_ftrace_event(trace) --Task B-- trace_module_remove_events(mod) { list_trace_events_module(ev, mod) { unregister_ftrace_event(ev->event) { hlist_del(ev->event->node) list_del(....) } } } |--> module removed, the event has been dropped --Task A-- event->print(trace); // Dereferencing freed memory If the event retrieved belongs to a module and this module is concurrently removed, we may end up dereferencing a data from a freed module. RCU could solve this, but it would add latency to the kernel and forbid tracers output callbacks to call any sleepable code. So this fix converts 'trace_event_mutex' to a read/write semaphore, and adds trace_event_read_lock() to protect ftrace_find_event(). [ Impact: fix possible freed memory dereference in ftrace ] Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt LKML-Reference: <4A114806.7090302@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 0127c3ea082ee9f1034789b978dfc7fd83254617 Author: Ingo Molnar Date: Mon May 25 22:03:26 2009 +0200 perf_counter: fix warning & lockup - remove bogus warning - fix wakeup from NMI path lockup - also fix up whitespace noise in perf_counter.h Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.703093461@chello.nl> Signed-off-by: Ingo Molnar commit 53b441a565bf4036ab49c8ea04c5ad06ace7dd6b Author: Ingo Molnar Date: Mon May 25 21:41:28 2009 +0200 Revert "perf_counter, x86: speed up the scheduling fast-path" This reverts commit b68f1d2e7aa21029d73c7d453a8046e95d351740. It is causing problems (stuck/stuttering profiling) - when mixed NMI and non-NMI counters are used. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.703093461@chello.nl> Signed-off-by: Ingo Molnar commit a78ac3258782f3e64cb40beb5990808e1febcc0c Author: Peter Zijlstra Date: Mon May 25 17:39:05 2009 +0200 perf_counter: Generic per counter interrupt throttle Introduce a generic per counter interrupt throttle. This uses the perf_counter_overflow() quick disable to throttle a specific counter when its going too fast when a pmu->unthrottle() method is provided which can undo the quick disable. Power needs to implement both the quick disable and the unthrottle method. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.703093461@chello.nl> Signed-off-by: Ingo Molnar commit 48e22d56ecdeddd1ffb42a02fccba5c6ef42b133 Author: Peter Zijlstra Date: Mon May 25 17:39:04 2009 +0200 perf_counter: x86: Remove interrupt throttle remove the x86 specific interrupt throttle Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.616671838@chello.nl> Signed-off-by: Ingo Molnar commit ff99be573e02e9f7edc23b472c7f9a5ddba12795 Author: Peter Zijlstra Date: Mon May 25 17:39:03 2009 +0200 perf_counter: x86: Expose INV and EDGE bits Expose the INV and EDGE bits of the PMU to raw configs. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525153931.494709027@chello.nl> Signed-off-by: Ingo Molnar commit 8f9ccfeeb2cecb54dd093119291ab271ab0fd94a Author: Santosh Shilimkar Date: Mon May 25 11:26:48 2009 -0700 ARM: OMAP: Remove unnecessary omap2_globals. This patch removes unnecessary omap2_globals and pass the global structures directly as function argument. The proposed cleanup was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit da7a0649bc8f3f65a01cb14e8b5c97e2ff40098a Author: Santosh Shilimkar Date: Mon May 25 11:26:48 2009 -0700 ARM: OMAP: Remove useless omap_sram_error function. This patch removes fixes omap_sram_error() function and replace the error paths with BUG_ON. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit ce8a17fd3f19baac0171611a73d5ac2072f45c7a Author: Santosh Shilimkar Date: Mon May 25 11:26:47 2009 -0700 ARM: OMAP: Remove unwanted type casts and fix the compiler warning. This patch fixes the compiler warning "assignment from incompatible pointer type" in dmtimer.c and removes the tye casts. These warnings were suppressed by type catsing. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit d76076636bc69fc28269076b867fc72031634357 Author: Tony Lindgren Date: Mon May 25 11:26:47 2009 -0700 ARM: OMAP2/3: Reorganize Makefile to add omap4 support We don't necessarily want to compile in irq.o and sdrc.o for omap4. Also, clock and prcm may not be implemented initially. Signed-off-by: Tony Lindgren commit ef6685a6ded6a20ff33a868cc2c0dba0505b7e4c Author: Tony Lindgren Date: Mon May 25 11:26:46 2009 -0700 ARM: OMAP2/3: Remove OMAP_CM_REGADDR Processor specific macros should be used instead. Signed-off-by: Tony Lindgren commit 07b95d000d48bd44e6f573566c1eba985ef25ed4 Author: Tony Lindgren Date: Mon May 25 11:26:46 2009 -0700 ARM: OMAP2/3: Remove OMAP2_PRCM_BASE It's currently unused, and processor specific defines should be used instead. Signed-off-by: Tony Lindgren commit 2e693f841f70508a082ded0276a33b2e503d98b7 Author: Tony Lindgren Date: Mon May 25 11:26:45 2009 -0700 ARM: OMAP2/3: Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Signed-off-by: Tony Lindgren commit 8e3bd351d1d2505e17d0b10c17bf8d7655eb9faf Author: Tony Lindgren Date: Mon May 25 11:26:42 2009 -0700 ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE Remove OMAP_PRM_REGADDR and use processor specific defines instead. Also fold in a patch from Kevin Hilman to add _OFFSET #defines for the PRCM registers to be used with the prm_[read|write]_* macros. These are used extensively in the forthcoming OMAP PM support. Also remove now unused OMAP2_PRM_BASE. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit a4ab0d836bbdbbfdb892135a92b339107530b710 Author: Tony Lindgren Date: Mon May 25 11:26:41 2009 -0700 ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASE Use processor specific defines instead. As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK calling sched_clock before we have things initialized: http://patchwork.kernel.org/patch/15810/ Signed-off-by: Tony Lindgren commit ebe3b0e787a538638410088227e0a87e3b4b6c00 Author: Tony Lindgren Date: Mon May 25 11:08:44 2009 -0700 ARM: OMAP1: Misc clean-up Remove unnecessary Kconfig line and allow compile of MBOX_FWK. Also allow building USB on Nokia 770. Signed-off-by: Tony Lindgren commit ddf25dfe3a744d4e11a73e1508121f74267dda68 Author: Jarkko Nikula Date: Mon May 25 11:08:43 2009 -0700 ARM: OMAP: Update contact address of I2C registration helper This email address is going to expire soon so update it. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit d6d834b010908380c9054d8ad339a902833a3bab Author: Eero Nurkkala Date: Mon May 25 11:08:42 2009 -0700 ARM: OMAP: McBSP: Fix legacy interrupts to clear their status If XSYNCERR or RSYNCERR interrupts are enabled, they are never cleared causing the IRQ handler to be continuously called. This patch clears the IRQs in question in the event they are enabled and taken. Signed-off-by: Eero Nurkkala Signed-off-by: Tony Lindgren commit e85c205ac1427f2405021a36f083280ff0d0a35e Author: Mans Rullgard Date: Mon May 25 11:08:41 2009 -0700 ARM: OMAP: Increase VMALLOC_END to allow 256MB RAM This increases VMALLOC_END to 0x18000000, making room for 256MB RAM with the default 128MB vmalloc region. Note that after this patch there's no longer a hole between vmalloc space and the beginning of IO space on omap2 as the first virtual mapping starts at 0xd8000000. Also fold in a related change from Paul Walmsley to change the OMAP2_SRAM addresses accordingly. Signed-off-by: Mans Rullgard Signed-off-by: Paul Walmsley Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 00aeeffffadab39dcbd8d2360a1f2dc4469f4f1a Author: Santosh Shilimkar Date: Mon May 25 11:08:37 2009 -0700 ARM: OMAP: Remove unnecessary omap2_globals. This patch removes unnecessary omap2_globals and pass the global structures directly as function argument. The proposed cleanup was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit af5703f2beb490fc700a30d0b87e84da0cf42086 Author: Santosh Shilimkar Date: Mon May 25 11:08:37 2009 -0700 ARM: OMAP: Remove useless omap_sram_error function. This patch removes fixes omap_sram_error() function and replace the error paths with BUG_ON. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit aea2a5b03c6476175c6f498a72cfbe73f7f47528 Author: Santosh Shilimkar Date: Mon May 25 11:08:36 2009 -0700 ARM: OMAP: Remove unwanted type casts and fix the compiler warning. This patch fixes the compiler warning "assignment from incompatible pointer type" in dmtimer.c and removes the tye casts. These warnings were suppressed by type catsing. The proposed fix was suggested by Russell King Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit a9a418d4553290b824f95df65bd20097d7691233 Author: Tony Lindgren Date: Mon May 25 11:08:36 2009 -0700 ARM: OMAP2/3: Reorganize Makefile to add omap4 support We don't necessarily want to compile in irq.o and sdrc.o for omap4. Also, clock and prcm may not be implemented initially. Signed-off-by: Tony Lindgren commit eb0d0ee1c256492edd56e55c2704bbb1fe1d8bc0 Author: Tony Lindgren Date: Mon May 25 11:08:36 2009 -0700 ARM: OMAP2/3: Remove OMAP_CM_REGADDR Processor specific macros should be used instead. Signed-off-by: Tony Lindgren commit c28150ee688df25861bb8eeff445ed95baf29321 Author: Tony Lindgren Date: Mon May 25 11:08:35 2009 -0700 ARM: OMAP2/3: Remove OMAP2_PRCM_BASE It's currently unused, and processor specific defines should be used instead. Signed-off-by: Tony Lindgren commit 8a424bb3c92b2df17008dfa17ac55b602290267b Author: Tony Lindgren Date: Mon May 25 11:08:35 2009 -0700 ARM: OMAP2/3: Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Move define of OMAP2_VA_IC_BASE to be local to entry-macro.S Signed-off-by: Tony Lindgren commit 23b7dd3166fcd88d82ada7e13478fbe4c2231ddf Author: Tony Lindgren Date: Mon May 25 11:08:34 2009 -0700 ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE Remove OMAP_PRM_REGADDR and use processor specific defines instead. Also fold in a patch from Kevin Hilman to add _OFFSET #defines for the PRCM registers to be used with the prm_[read|write]_* macros. These are used extensively in the forthcoming OMAP PM support. Also remove now unused OMAP2_PRM_BASE. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit bed8b97d88b56fdad5677585262e20c5f0a1a8e2 Author: Tony Lindgren Date: Mon May 25 11:08:33 2009 -0700 ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASE Use processor specific defines instead. As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK calling sched_clock before we have things initialized: http://patchwork.kernel.org/patch/15810/ Signed-off-by: Tony Lindgren commit 4fcd39207f4c91185cc89e3e6a28cbb643034ff1 Author: Takashi Iwai Date: Mon May 25 18:34:52 2009 +0200 ALSA: hda - Reset CORB/RIRB at retrying the verb communication When a codec communication error occurs, the CORB/RIRB counters should be reset first before re-issuing the verb. Simply call azx_free_cmd_io() and azx_init_cmd_io() to achieve that. Signed-off-by: Takashi Iwai commit 88b6edd17c62b7d346d21f4087893ce7d4ef828a Author: Theodore Ts'o Date: Mon May 25 11:50:39 2009 -0400 ext4: Clean up calls to ext4_get_group_desc() If the caller isn't planning on modifying the block group descriptors, there's no need to pass in a pointer to a struct buffer_head. Nuking this saves a tiny amount of CPU time and stack space usage. Signed-off-by: "Theodore Ts'o" commit 759d427aa5a9d88a81afd11817cdeb40aea85234 Author: Theodore Ts'o Date: Mon May 25 11:51:00 2009 -0400 ext4: remove unused function __ext4_write_dirty_metadata The __ext4_write_dirty_metadata() function was introduced by commit 0390131b, "ext4: Allow ext4 to run without a journal", but nothing ever used the function, either then or since. So let's remove it and save a bit of space. Cc: Frank Mayhar Signed-off-by: "Theodore Ts'o" commit 10989fb2451763fae6f42d85fa6106c8fd010cf5 Author: Peter Zijlstra Date: Mon May 25 14:45:28 2009 +0200 perf_counter: Fix PERF_COUNTER_CONTEXT_SWITCHES for cpu counters Ingo noticed that cpu counters had 0 context switches, even though there was plenty scheduling on the cpu. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.419025548@chello.nl> Signed-off-by: Ingo Molnar commit 6ab423e0eaca827fbd201ca4ae7d4f8573a366b2 Author: Peter Zijlstra Date: Mon May 25 14:45:27 2009 +0200 perf_counter: Propagate inheritance failures down the fork() path Fail fork() when we fail inheritance for some reason (-ENOMEM most likely). Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.324656474@chello.nl> Signed-off-by: Ingo Molnar commit 771d7cde144d87f2d1fbee4da3c6234d61f7e42a Author: Peter Zijlstra Date: Mon May 25 14:45:26 2009 +0200 perf_counter: Make pctrl() affect inherited counters too Paul noted that the new ptcrl() didn't work on child counters. Reported-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.203151469@chello.nl> Signed-off-by: Ingo Molnar commit e527ea312f31e88a7fa5472b71db71c565b0d44f Author: Peter Zijlstra Date: Mon May 25 14:45:25 2009 +0200 perf_counter: Remove unused ABI bits extra_config_len isn't used for anything, remove it. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124600.116035832@chello.nl> Signed-off-by: Ingo Molnar commit 266dfb0b58bc4181b6158ee63a0069abaa9f3a98 Author: Peter Zijlstra Date: Mon May 25 14:45:24 2009 +0200 perf_counter: Fix perf-$cmd invokation Fix: $ perf-top fatal: cannot handle -top internally Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090525124559.995591577@chello.nl> Signed-off-by: Ingo Molnar commit d3f4b3855ba87caff8f35e738c7e7e3bad0a6ab1 Author: Ingo Molnar Date: Mon May 25 14:40:01 2009 +0200 perf stat: flip around ':k' and ':u' flags This output: $ perf stat -e 0:1:k -e 0:1:u ./hello Performance counter stats for './hello': 140131 instructions (events) 1906968 instructions (events) Is quite confusing - as :k means "user instructions", :u means "kernel instructions". Flip them around - as the 'exclude' property is not intuitive in the flag naming. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 9af5324a070e0b2dcb6e22c89e17424eba245fcc Merge: 56a4593 9733bb8 Author: Russell King Date: Mon May 25 13:35:46 2009 +0100 Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel commit 9733bb8e9ce0078f55405ce470a62ec0a551fe99 Author: Krzysztof Hałasa Date: Mon May 25 13:25:34 2009 +0200 IXP4xx: Change QMgr function names to qmgr_stat_*_watermark and clean the comments. Signed-off-by: Krzysztof Hałasa commit e4cbb4e3ac8b09fdb11e39e5a5611bfab0a7cd1a Author: Ingo Molnar Date: Tue May 19 15:50:30 2009 +0200 perf_counter: Move child perfcounter init to after scheduler init Initialize a task's perfcounters (inherit from parent, etc.) after the child task's scheduler fields have been initialized already. [ Impact: cleanup ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit d94b943054721c346b0881865d645f000cd19880 Author: Mike Galbraith Date: Mon May 25 09:57:56 2009 +0200 perf top: Reduce display overhead Iterate over the symbol table once per display interval, and copy/sort/tally/decay only those symbols which are active. Before: top - 10:14:53 up 4:08, 17 users, load average: 1.17, 1.53, 1.49 Tasks: 273 total, 5 running, 268 sleeping, 0 stopped, 0 zombie Cpu(s): 6.9%us, 38.2%sy, 0.0%ni, 19.9%id, 0.0%wa, 0.0%hi, 35.0%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 28504 root 20 0 1044 260 164 S 58 0.0 0:04.19 2 netserver 28499 root 20 0 1040 412 316 R 51 0.0 0:04.15 0 netperf 28500 root 20 0 1040 408 316 R 50 0.0 0:04.14 1 netperf 28503 root 20 0 1044 260 164 S 50 0.0 0:04.01 1 netserver 28501 root 20 0 1044 260 164 S 49 0.0 0:03.99 0 netserver 28502 root 20 0 1040 412 316 S 43 0.0 0:03.96 2 netperf 28468 root 20 0 1892m 325m 972 S 16 10.8 0:10.50 3 perf 28467 root 20 0 1892m 325m 972 R 2 10.8 0:00.72 3 perf After: top - 10:16:30 up 4:10, 17 users, load average: 2.27, 1.88, 1.62 Tasks: 273 total, 6 running, 267 sleeping, 0 stopped, 0 zombie Cpu(s): 2.5%us, 39.7%sy, 0.0%ni, 24.6%id, 0.0%wa, 0.0%hi, 33.3%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 28590 root 20 0 1040 412 316 S 54 0.0 0:07.85 2 netperf 28589 root 20 0 1044 260 164 R 54 0.0 0:07.84 0 netserver 28588 root 20 0 1040 412 316 R 50 0.0 0:07.89 1 netperf 28591 root 20 0 1044 256 164 S 50 0.0 0:07.82 1 netserver 28587 root 20 0 1040 408 316 R 47 0.0 0:07.61 0 netperf 28592 root 20 0 1044 260 164 R 47 0.0 0:07.85 2 netserver 28378 root 20 0 8732 1300 860 R 2 0.0 0:01.81 3 top 28577 root 20 0 1892m 165m 972 R 2 5.5 0:00.48 3 perf 28578 root 20 0 1892m 165m 972 S 2 5.5 0:00.04 3 perf [ Impact: optimization ] Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0f89bdcac61536c5cb2a095a514657019573afb4 Author: Peter Ujfalusi Date: Mon May 25 11:12:13 2009 +0300 ASoC: TWL4030: HandsfreeL/R mute DAPM switch Add DAPM switch for HeadsetL/R mute. Since all bits are are needed for the HFL/R pop removal to work the switch is using the SW_SHADOW no HW register for the HandsfreeL/R mute. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit f3b5d3002d5b43d277dedc1e044d02f2a40a43c5 Author: Peter Ujfalusi Date: Mon May 25 11:12:12 2009 +0300 ASoC: TWL4030: Add shadow register Shadow, non HW register for dealing with the HandsfreeL/R muting. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5a2e9a48b1d6de35ae5efea35d117133c3eb30f2 Author: Peter Ujfalusi Date: Mon May 25 11:12:11 2009 +0300 ASoC: TWL4030: Handsfree pop removal redesign Move the HandsfreeL/R (IHFL/R) pop removal code from the DAPM_MUX_E to a more appropriate DAPM_PGA_E widget. Also fix the power-up sequence to match with the TRM. The power-down sequence is not described in the TRM, so do it in a way, which seams like the correct sequence. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 04f9890df1bad2115665b7027e664aaffa44088d Author: Clemens Ladisch Date: Mon May 25 10:11:29 2009 +0200 sound: virtuoso: add Xonar Essence ST support Add support for the Asus Xonar Essence ST and its daughterboard. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b990ae963a3f80a659b30562c1e3214b386ecce3 Author: Clemens Ladisch Date: Mon May 25 10:06:22 2009 +0200 sound: virtuoso: enable HDAV S/PDIF input The Xonar HDAV1.3 has a digital input jack, so enable the corresponding device. This is not related to the HDMI stuff, which stays unsupported. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 53bb705d12e0f642c131cdcab2c8e3be7364e505 Author: Clemens Ladisch Date: Mon May 25 10:05:43 2009 +0200 sound: virtuoso: add another DX PCI ID Add another PCI ID for a second revision of the Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 345c03ef0f2bd0c933a1eca27732af7edf5e8d4d Author: Clemens Ladisch Date: Mon May 25 10:05:00 2009 +0200 sound: oxygen: reset DMA when stream is closed When a PCM stream is closed, flush the corresponding DMA channel. Otherwise, the DMA controller would continue to output the last sample which would result in a DC offset on the output. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 8eec2f36fb869f1e6d81d834bbbd487941222fc8 Author: Corentin Chary Date: Mon May 25 08:49:10 2009 +0200 UBIFS: return proper error code if the compr is not present If the compressor is not present, mount_ubifs need to return an error code. This way ubifs_fill_super will stop and handle the error. Signed-off-by: Corentin Chary Signed-off-by: Artem Bityutskiy commit 56a459314a982bae75b9bce64bcca853d378ca7e Merge: fc05505 5c651ff Author: Russell King Date: Mon May 25 10:15:59 2009 +0100 Merge branch 'iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git into devel commit e3804cbebb67887879102925961d41b503f7fbe3 Author: Alexander Beregalov Date: Mon May 25 01:53:53 2009 -0700 net: remove COMPAT_NET_DEV_OPS All drivers are already converted to new net_device_ops API and nobody uses old API anymore. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c649c0e31d5736a4b7c5c3454182091dda4bbe62 Merge: daebafe 4e2fd55 Author: David S. Miller Date: Mon May 25 01:42:21 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath/ath5k/phy.c drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit 85a9f9200226ddffc2ea50dae6a8df04c033ecd4 Author: Ingo Molnar Date: Mon May 25 09:59:50 2009 +0200 perf_counter tools: increase limits, fix NR_CPUS and NR_COUNTERS goes up quadratic ... 1024x4096 was far too ambitious upper limit - go for 256x256 which is still plenty. [ Impact: reduce perf tool memory consumption ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit daebafed7fef54fcc73d2d01431122cfd578d1e0 Author: Andreas Eversberg Date: Mon May 25 00:56:56 2009 -0700 mISDN: Added PCI ID for new Junghanns.net Single E1 cards. The new ID is validated by Cologne Chip. LEDs control is also supported. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit b0579d7459aaa979b96016f3cac5e59fd3cb72b5 Author: Andreas Eversberg Date: Fri May 22 11:04:58 2009 +0000 mISDN: Fix DTMF detection enable/disable DTMF detection was enabled when it was not supposed to. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 8c90e11e3543d7de612194a042a148caeaab5f1d Author: Arnaldo Carvalho de Melo Date: Fri May 22 11:04:57 2009 +0000 mISDN: Use kernel_{send,recv}msg instead of open coding Reducing the number of direct users of sock_{recv,send}msg. Modified version to match the latest context. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit eac74af9b547e29c9634ed5eff4d514349e73310 Author: Karsten Keil Date: Fri May 22 11:04:56 2009 +0000 mISDN: Cleanup debug messages This patch make debug printk's KERN_DEBUG and also fix some codestyle issues. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 7245a2fe3c10ed7c2e9b1c8a83af5919c0cc0a89 Author: Andreas Eversberg Date: Fri May 22 11:04:55 2009 +0000 mISDN: Add PCI ID for Junghanns 8S card new id for HFC-8S Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit ddacd14e8db9b9c4434d00545f6483fe01f02991 Author: Roel Kluin Date: Fri May 22 11:04:53 2009 +0000 mISDN: get_free_devid() failure ignored dev->id is unsigned so a get_free_devid() error is ignored. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit db9bb63a1b5b65df41d112a8c21adbbfc6a4ac08 Author: Karsten Keil Date: Fri May 22 11:04:53 2009 +0000 mISDN: Add XHFC support for embedded Speech-Design board to hfcmulti New version without emulating arch specific stuff for the other architectures, the special IO and init functions for the 8xx microcontroller are in a separate include file. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 5df3b8bcc7826b85a2d233dd20da3ed247e1dc1d Author: Karsten Keil Date: Fri May 22 11:04:52 2009 +0000 mISDN: Fix skb leak in error cases If the channel receive function returns an error the skb must be freed. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit d796509a57777bc0f8f336e360695fad665c59f5 Author: Andreas Eversberg Date: Fri May 22 11:04:51 2009 +0000 mISDN: Add "sapi" information to debug messages Using sapi values other than 0 work now. The "OpenBSC" project does not require special kernel patch anymore. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 3dc403939c73ac372f2c95b5099dfdf396fe4ecc Author: Frank Seidel Date: Fri May 22 11:04:51 2009 +0000 mISDN: Add allocation of recvbuf[1500] at run time to reduce stack size Before: 1656 bytes on i386, now 164. Modified by Andreas Eversberg Signed-off-by: Frank Seidel Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 5b277b8605f4c8fbd13302df33ab4570f844c1ff Author: Andreas Eversberg Date: Mon May 25 00:50:02 2009 -0700 mISDN: Fix TEI and SAPI handling Added SAPI value to use SAPIs different than 0. Now fixed TEIs work in NT mode. This allows PTP endpoint to be connected to PTMP ports together with other PTMP endpoints. New enhanced version, thanks to Sam Ravnborg for the hints. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit bc138ec4ac58bb83e2d9d5c12328d5452294c1f0 Author: Andreas Eversberg Date: Fri May 22 11:04:49 2009 +0000 mISDN: Hardware acceleration is now possible in conjunction with audio recording Audio recording requires software audio processing. Both hardware and software processing is simultaniously possible now. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit b5df5a5c3bf0f809d854ad7156ce26b709b533c0 Author: Andreas Eversberg Date: Fri May 22 11:04:48 2009 +0000 mISDN: Fix DTMF locking bug issue DTMF digits were sent up to socket in locked state. Receive audio stream was not enabled in certain condition. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit e73f6b2260daf02793071e5ce06ea87df762920a Author: Andreas Eversberg Date: Fri May 22 11:04:48 2009 +0000 mISDN: Added layer-1-hold feature Add IMHOLD_L1 ioctl. The feature will be disabled on closing. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit ba3af34ec9866dddac36c15947f867eb8e889bbc Author: Andreas Eversberg Date: Fri May 22 11:04:47 2009 +0000 mISDN: Fixed missing spin lock on pipeline process Need to protect the complete pipeline. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 44e095897d745a03d71611fd318f26d8b12a4771 Author: Frank Seidel Date: Fri May 22 11:04:47 2009 +0000 mISDN: Reduce stack size in dsp_cmx_send() Reduce stack size memory footprint of mISDN_dsp. (From 1468 bytes for dsp_cmx_send on i386 down to 44). Signed-off-by: Frank Seidel Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 7cfa153dd709f15188fe84b78ae76387841fe17b Author: Andreas Eversberg Date: Fri May 22 11:04:46 2009 +0000 mISDN: Echo canceler now gets delay information from hardware Added tx-fifo information for calculation of current delay to sync tx and rx streams for echo canceler. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit a5355c27d26001865a5ac32c868c82a523c275d3 Author: Andreas Eversberg Date: Fri May 22 11:04:45 2009 +0000 mISDN: DSP now uses ring buffer for echo canceler DSP now uses ring buffer for echo canceler. Added missing include in l1oip_codec.c Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 7df3bb8f59ca8e346bb834006c257cc367c6250a Author: Andreas Eversberg Date: Fri May 22 11:04:44 2009 +0000 mISDN: Add watchdog functionality to hfcmulti driver This patch was made by Titus Moldovan and provides IOCTL functions for enabling and disabling the controller's built in watchdog. The use is optional. Signed-off-by: Andreas Eversberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 9bcb97cace615a9f57fca0b9d788e7d234d7fc95 Author: Herbert Xu Date: Fri May 22 22:20:02 2009 +0000 skbuff: Copy csum instead of csum_start/csum_offset Hi: skbuff: Copy csum instead of csum_start/csum_offset It's easier to copy the u32 csum instead of its two u16 constituents. Signed-off-by: Herbert Xu Cheers, Signed-off-by: David S. Miller commit 82c49a352e0fd7af7e79a922b863f33f619f3209 Author: Herbert Xu Date: Fri May 22 22:11:37 2009 +0000 skbuff: Move new code into __copy_skb_header Hi: skbuff: Move new __skb_clone code into __copy_skb_header It seems that people just keep on adding stuff to __skb_clone instead __copy_skb_header. This is wrong as it means your brand-new attributes won't always get copied as you intended. This patch moves them to the right place, and adds a comment to prevent this from happening again. Signed-off-by: Herbert Xu Thanks, Signed-off-by: David S. Miller commit 45ea4ea2af358fe316c918381c7868f9418cad09 Merge: dddc045 a2e2322 Author: David S. Miller Date: Mon May 25 00:38:24 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit dddc045e2fdd4eb8d7dfac29bff191d639fff8c3 Author: Brice Goglin Date: Sun May 24 05:27:59 2009 +0000 myri10ge: Add support for vlan_features Add support for netdev->vlan_features in the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 2552c31be3bcc7681e603cde44d97b66e4a885f0 Author: Brice Goglin Date: Sun May 24 05:27:51 2009 +0000 myri10ge: drop myri10ge_lro module parameter Drop the myri10ge_lro module parameter now that we have ethtool to enable/disable LRO in the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 18af3e7c4535be88f864fc4bcff9a97fb4ae3731 Author: Brice Goglin Date: Sun May 24 05:27:41 2009 +0000 myri10ge: fix the invokation of lro_flush_all Fix the way we check whether lro_flush_all should be called in the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 38aab07c14adbf3c7257793d764a91923341e96a Author: Yevgeny Petrilin Date: Sun May 24 03:17:11 2009 +0000 mlx4_en: Fix partial rings feature In case of allocation failure, the actual ring size is rounded down to nearest power of 2. The remaining descriptors are freed. The CQ and SRQ are allocated with the actual size and the mask is updated. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 8e29291650ee53a8609d9cc3a303dcbe9aa9b542 Author: Yevgeny Petrilin Date: Sun May 24 03:16:51 2009 +0000 mlx4_en: Removed redundant stride variable Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 0bc53a67ac831ec84f730a657dbcadd80a589ef5 Author: Jon Smirl Date: Sat May 23 19:13:03 2009 -0400 ASoC: Add a few more mpc5200 PSC defines Add a few more mpc5200 PSC defines. More bit fields defines for mpc5200 PSC registers. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit cebe77674cab51a9ff1deaa077ab74aff3996764 Author: Jon Smirl Date: Sat May 23 19:13:01 2009 -0400 ASoC: Rename the PSC functions to DMA Rename the functions in the mpc5200 DMA file from i2s based names to dma ones to reflect the file they are in. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 89dd08425273773fd33fc85d48d152c5679b2fb4 Author: Jon Smirl Date: Sat May 23 19:12:59 2009 -0400 ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2s Basic split of mpc5200 DMA code out from i2s into a standalone file. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 6b5ca05d9590adc94620a83c5eafed28435e065f Author: Ryan Mallon Date: Thu May 21 22:16:18 2009 +0100 [ARM] 5523/2: Updated ep93xx defconfig Updated defconfig for ep93xx. By default, support for all boards which boot from 0x00000000 (SDCE3/SyncBoot) is included. Also updated the defconfig to use EABI for building the kernel. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 6cb38c5f5d7dda38466389082d0d965188c41b81 Author: Ryan Mallon Date: Thu May 21 22:11:52 2009 +0100 [ARM] 5523/1: ep93xx phys offset selection This patch adds a Kconfig option to select between ep93xx boards which boot from the SDRAM bank at 0x00000000 (SDCE3/SyncBoot) and those which boot from 0xc0000000 (SDCE0). This corrects a problem which causes invalid images to be built for boards which boot from 0xc0000000. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 34e559eabf57d07c55a57e9455c1df2e6a208d57 Author: Sergey Lapin Date: Fri May 8 15:58:57 2009 +0100 [ARM] 5514/1: AFEB9260 sound support ASoC driver for AT91SAM9260-based AFEB9260 board Signed-off-by: Sergey Lapin Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 05e1efa2deb42b1bd548208e5c43f471e2cf0da1 Author: Mark Brown Date: Sun May 24 13:32:24 2009 +0100 ASoC: Fix minor issues in STAC9766 driver Fairly minor issues: - Don't register the DAIs, it's not required for AC97 devices. - Make unexported functions static. - Wrap some excessively long lines. - Undo tab/space breakage. Signed-off-by: Mark Brown commit 3c166c7f1828f226c7f478758bf6c8ce8be1623f Author: Jon Smirl Date: Sat May 23 19:13:07 2009 -0400 ASoC: Codec for STAC9766 used on the Efika Datasheet: http://www.idt.com/products/getDoc.cfm?docID=13134007 Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit a3862d3f814ce7dfca9eed56ac23d29db3aee8d5 Author: Ingo Molnar Date: Sun May 24 09:02:37 2009 +0200 perf_counter: Increase mmap limit In a default 'perf top' run the tool will create a counter for each online CPU. With enough CPUs this will eventually exhaust the default limit. So scale it up with the number of online CPUs. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit c2990a2a582d73562d4dcf2502c39892a19a691d Author: Mike Galbraith Date: Sun May 24 08:35:49 2009 +0200 perf top: fix segfault c6eb13 increased stack usage such that perf-top now croaks on startup. Take event_array and mmap_array off the stack to prevent segfault on boxen with smallish ulimit -s setting. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: Signed-off-by: Ingo Molnar commit 475c55797323b67435083f6e2eb8ee670f6410ec Author: Peter Zijlstra Date: Sat May 23 18:29:01 2009 +0200 perf_counter: Remove perf_counter_context::nr_enabled now that pctrl() no longer disables other people's counters, remove the PMU cache code that deals with that. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163013.032998331@chello.nl> Signed-off-by: Ingo Molnar commit 082ff5a2767a0679ee543f14883adbafb631ffbe Author: Peter Zijlstra Date: Sat May 23 18:29:00 2009 +0200 perf_counter: Change pctrl() behaviour Instead of en/dis-abling all counters acting on a particular task, en/dis- able all counters we created. [ v2: fix crash on first counter enable ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.916937244@chello.nl> Signed-off-by: Ingo Molnar commit 79f52b77b89e8b7aa9fbe62135eea198a2ecbd5b Author: Dave Kleikamp Date: Sat May 23 20:28:41 2009 -0500 jfs: Add missing mutex_unlock call to error path Jan Kucera found an missing call to mutex_unlock() with his static code checker. It's an unlikely error path to hit in the real world, but it should be fixed. Signed-off-by: Dave Kleikamp Reported-by: Jan Kucera commit ee0736627d3347be0be2769fa7b26431f9726c9d Merge: cf9972a 0af48f4 Author: H. Peter Anvin Date: Sat May 23 16:42:19 2009 -0700 Merge branch 'x86/urgent' into x86/setup Resolved conflicts: arch/x86/boot/memory.c Signed-off-by: H. Peter Anvin commit fc05505b77f7900a1bb74fb3f3a4343dee4265a4 Merge: a2ab67f 11c7974 Author: Russell King Date: Sat May 23 23:18:40 2009 +0100 Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 into devel commit 11c79740d3c03cb81f84e98cf2e2dbd8d9bb53cd Author: Krzysztof Hałasa Date: Sat May 23 23:58:30 2009 +0200 IXP4xx: support for Goramo MultiLink router platform. Signed-off-by: Krzysztof Hałasa commit 0771c6939484d2ebe0ec28257c2570aecd9911e0 Author: Krzysztof Hałasa Date: Tue Apr 28 19:32:55 2009 +0200 IXP42x: Use __fls() in QMgr interrupt handlers. Signed-off-by: Krzysztof Hałasa commit d4c9e9fc97515588529e7fe48c7d5725292c6734 Author: Krzysztof Hałasa Date: Sat May 23 23:36:03 2009 +0200 IXP42x: Add QMgr support for IXP425 rev. A0 processors. Signed-off-by: Krzysztof Hałasa commit 61a5ccc85a98f5eced89a3fda19b0ee708535c1b Author: Krzysztof Hałasa Date: Tue Apr 28 14:52:23 2009 +0200 IXP42x: add NPE support for IXP425 rev. A0 processors. Signed-off-by: Krzysztof Hałasa commit 8a4fe82497a52b6da45b5b3179cce7dd6a28a532 Author: Krzysztof Hałasa Date: Tue Apr 28 14:48:43 2009 +0200 IXP42x: Identify Intel IXP425 rev. A0 processors. Signed-off-by: Krzysztof Hałasa commit 2e418400728a9fcacb2ab75f0547584a56b8a584 Author: Krzysztof Hałasa Date: Sat May 23 23:14:59 2009 +0200 IXP4xx: Whitespace fixes in the Ethernet driver. Signed-off-by: Krzysztof Hałasa commit 6a68afe3a2971953e218e509b16eae0ece43f9ac Author: Krzysztof Hałasa Date: Sat May 23 23:14:10 2009 +0200 IXP4xx: Ethernet and WAN drivers now support "high" hardware queues. Signed-off-by: Krzysztof Hałasa commit a366695592ebc9151dd5a248681270f0925d8324 Author: Abhijeet Joglekar Date: Fri May 1 10:01:26 2009 -0700 [SCSI] libfc,fcoe,fnic: Separate rport and lport max retry counts This allows fnic to configure number of retries for lport and rport separately. Signed-off-by: Abhijeet Joglekar Acked-by: Robert Love Signed-off-by: James Bottomley commit d17bf602fbfe4a5ab134a90f6c082fa161d398ee Author: Eric Moore Date: Mon May 18 13:02:49 2009 -0600 [SCSI] mpt2sas: bump driver version to 01.100.03.00 Bump driver version. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit d5d135b3a76750df250e18956476b6b2c4ad97c2 Author: Eric Moore Date: Mon May 18 13:02:08 2009 -0600 [SCSI] mpt2sas: using the same naming convention for all static function This fix's is for all local function so their name has the "_" preceeding the module name, then function name. Most the code is already is using this naming convention. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit ddf59a35e98aa12255ed64c892271339504cc65c Author: Eric Moore Date: Mon May 18 13:01:29 2009 -0600 [SCSI] mpt2sas: add query task support for MPT2COMMAND ioctl This patch will find an active mid for a query_task request via the ioctl path. This code is already there for task_abort, so this patch combining code using the same fuction _ctl_set_task_mid(), previously _ctl_do_task_abort(). Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 993e0da7b767c0a7c1fd0079b16f3d28e6f25a48 Author: Eric Moore Date: Mon May 18 13:00:45 2009 -0600 [SCSI] mpt2sas: LUN Reset Support Adding new eh_target_reset_handler for target reset. Change the eh_device_reset_handler so its sending MPI2_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET, instead of MPI2_SCSITASKMGMT_TASKTYPE_TARGET_RESET. Add new function _scsih_scsi_lookup_find_by_lun as a sanity check to insure I_T_L commands are completed upon completing lun reset. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 3c621b3ee1432e7a2aca4a3b670b1d05f19ecf9c Author: Eric Moore Date: Mon May 18 12:59:41 2009 -0600 [SCSI] mpt2sas: T10 DIF Support This add support for type 1 and 3 DIF support per the Oracle API. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 6fcf41d1d8796f41b893754324704e23971c2ea1 Author: Christof Schmitt Date: Fri May 15 13:18:21 2009 +0200 [SCSI] zfcp: Keep ccw device and model id in zfcp_ccw.c Keep the information about the device and model id in zfcp_ccw. This requires an additional helper function to check for the privileged cfdc subchannel, but it allows the removal of the redundant defines from the zfcp_def header file. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ea460a81919f2b3410e7fb30183c0256d068d87a Author: Swen Schillig Date: Fri May 15 13:18:20 2009 +0200 [SCSI] zfcp: Changed D_ID left port disabled If the destination ID (D_ID) of a remote storage port changed, e.g. re-plugged cable on the switch in a different switch port, the port was never (re-)attached within Linux. This patch fixes the broken mapping between the WWPN and the D_ID. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a17c5855643afa7838f542cbd0a1ed9a73968cef Author: Martin Petermann Date: Fri May 15 13:18:19 2009 +0200 [SCSI] zfcp: Increase ref counter for port open requests In rare cases, open port request might timeout, erp calls zfcp_port_put, port gets dequeued. Now, the late returning (or dismissed) fsf-port-open calls the fsf_port_open_handler that tries to reference the port data structure leading to a kernel oops. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit dceab655d9f7d99881c2033c8ff4e1c7b444e104 Author: Christof Schmitt Date: Fri May 15 13:18:18 2009 +0200 [SCSI] zfcp: Add comments to switch/case fallthroughs Add comments where there is a deliberate fall through in switch/case statements. This makes some code checkers happy and makes it clear that there is no missing break statement. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bc90c8632f63cd94246e3fb6f1b6d7ecba48f1a0 Author: Christof Schmitt Date: Fri May 15 13:18:17 2009 +0200 [SCSI] zfcp: Remove unnecessary default case and assignments enum dma_data_direction only has the 4 values DMA_BIDIRECTIONAL, DMA_TO_DEVICE, DMA_FROM_DEVICE and DMA_NONE. No need to have the default case. While changing this, setup sbtype in one place to make sparse happy. The default value of retval is already -EIO, so remove the additional assignment for these two cases. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a40a1bafe7da0afe61b1c20fc50e18c07ce724f9 Author: Christof Schmitt Date: Fri May 15 13:18:16 2009 +0200 [SCSI] zfcp: Make queue_depth adjustable zfcp did always set the queue_depth for SCSI devices to 32, not allowing to change this. Introduce a kernel parameter zfcp.queue_depth and the change_queue_depth callback to allow changing the queue_depth when it is required. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 955a21555dc8dc4a81da7063d595cd7558f413ce Author: Christof Schmitt Date: Fri May 15 13:18:15 2009 +0200 [SCSI] zfcp: Update message and add description Update the newly introduced message for the boxed status to conform to match the style of s390 and zfcp messages. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f0216ae9bd0ea8a45736f386a3b8058aefc64dd8 Author: Christof Schmitt Date: Fri May 15 13:18:14 2009 +0200 [SCSI] zfcp: Use correct req_id for traces The zfcp traces used the fsf_req address in place of the req_id. Change this to save the correct req_id. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f9da3be5afc08c40e7f7a395c8935d500a6898b1 Author: Andy Yan Date: Thu May 14 20:41:21 2009 -0400 [SCSI] mvsas: remove all the casts from void * or to void * Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei commit 4421c9ebeeacf3d9c4e6aa558e1a777178e71add Author: Mike Christie Date: Wed May 13 17:57:50 2009 -0500 [SCSI] libiscsi: add debug printks for iscsi command completion path This patch just adds some debug statements for the abort and completion paths. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b3cd5050bf8eb32ceecee129cac7c59e6f1668c4 Author: Mike Christie Date: Wed May 13 17:57:49 2009 -0500 [SCSI] libiscsi: add task aborted state If a task did not complete normally due to a TMF, libiscsi will now complete the task with the state ISCSI_TASK_ABRT_TMF. Drivers like bnx2i that need to free resources if a command did not complete normally can then check the task state. If a driver does not need to send a special command if we have dropped the session then they can check for ISCSI_TASK_ABRT_SESS_RECOV. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1336aed10b8af791378b017f0fa8da4e5b827b8d Author: Mike Christie Date: Wed May 13 17:57:48 2009 -0500 [SCSI] libiscsi: check if iscsi host has work queue before queueing work Instead of having libiscsi check if the offload bit is set, have it check if the lld created a work queue. I think this is more clear. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 301e0f7e4d78e956c58b66888e134dbdb44ea28e Author: Mike Christie Date: Wed May 13 17:57:47 2009 -0500 [SCSI] libiscsi: don't let io sit in queue when session has failed If the session is failed, but we have not yet fully transitioned to the recovery stage we were still queueuing IO. The idea is that for some failures we can recvover at the command level and still continue to execute other IO. Well, we never have added the recovery within a command code, so queueing up IO here just creates the possibility that it might time time out so this just has us requeue the IO the scsi layer for now. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3bbaaad95fd38dedb7c66a601f14825b4e0c5a59 Author: Mike Christie Date: Wed May 13 17:57:46 2009 -0500 [SCSI] libiscsi: handle cleanup task races bnx2i needs to send a hardware specific cleanup command if a command has not completed normally (iscsi/scsi response from target), and the session is still ok (this is the case when we send a TMF to stop the command). At this time it will need to drop the session lock. The problem with the current code is that fail_all_commands assumes we will hold the lock the entire time, so it uses list_for_each_entry_safe. If while bnx2i drops the session lock multiple cmds complete then list_for_each_entry_safe will not handle this correctly. This patch removes the running lists and just has us loop over the cmds array (in later patches we will then replace that array with a block tag map at the session level). It also fixes up the completion path so that if the TMF code and the normal recv path were completing the same command then they both do not try to do release the refcount taken when the task is queued. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4c48a82935f833d94fcf44c2b0c5d2922acfc77a Author: Mike Christie Date: Wed May 13 17:57:45 2009 -0500 [SCSI] libiscsi: fix iscsi transport checks to account for slower links If we have not got any pdus for recv_timeout seconds, then we will send a iscsi ping/nop to make sure the target is still around. The problem is if this is a slow link, and the ping got queued after the data for a data_out (read), then the transport code could think the ping has failed when it is just slowly making its way through the network. This patch has us check if we are making progress while the nop is outstanding. If we are still reading in data, then we do not fail the session at that time. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d1acfae514425d680912907c6554852f1e258551 Author: Mike Christie Date: Wed May 13 17:57:44 2009 -0500 [SCSI] libiscsi_tcp: update recv tracking for each skb instead of iscsi pdu Everytime we read in a pdu libiscsi will update a tracking field. It uses this to decide when to check if the transport might be bad. If we have not got data in recv_timeout seconds then we will send a iscsi ping/nop. If we are on a slow link then it could take a while to read in all the data for a data_in. In that case we might send a ping/nop when we do not need to or we might drop a session thinking it is bad when the lower layer is making forward progress on it. This patch has libiscsi_tcp update the recv tracking for each skb (basically network packet from our point of view) instead of the entire iscsi pdu+data, so we account for these cases where data is coming in slowly. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 26013ad4c43f49a038a6489c35e9b901491339fe Author: Mike Christie Date: Wed May 13 17:57:43 2009 -0500 [SCSI] libiscsi: fix nop response/reply and session cleanup race If we are responding to a nop from the target by sending our nop, and the session is getting torn down, then iscsi_start_session_recovery could set the conn stop bits while the recv path is sending the nop response and we will hit the bug ons in __iscsi_conn_send_pdu. This has us check the state in __iscsi_conn_send_pdu and fail all incoming mgmt IO if we are not logged in and if the pdu is not login related. It also changes the ordering of the setting of conn stop state bits so they are set after the session state is set (both are set under the session lock). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit edbc9aa0580c0aca96ac8d11bfb2defa81d91bb3 Author: Mike Christie Date: Wed May 13 17:57:42 2009 -0500 [SCSI] libiscsi: have iscsi_data_in_rsp call iscsi_update_cmdsn This has iscsi_data_in_rsp call iscsi_update_cmdsn when a pdu is completed like is done for other pdu's that are don. For libiscsi_tcp, this means that it calls iscsi_update_cmdsn when it is handling the pdu internally to only transfer data, but if there is status then it does not need to call it since the completion handling will do it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8f9256cea10ca43ac80f66e176643eb41db34244 Author: Mike Christie Date: Wed May 13 17:57:41 2009 -0500 [SCSI] libiscsi: export iscsi_itt_to_task for bnx2i bnx2i needs to be able to look up mgmt task like login and nop, because it does some processing of them on the completion path. This exports iscsi_itt_to_task so it can look up the task. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5700b1af93388544843a453e3c68f8f928bd1e88 Author: Mike Christie Date: Wed May 13 17:57:40 2009 -0500 [SCSI] libiscsi: handle param allocation failures If we could not allocate the initiator name or some other id like the hwaddress or netdev, then userspace could deal with the failure by just running in a dregraded mode. Now we want to be able to switch values for the params and we want some feedback, so this patch will check if a string like the initiatorname could not be allocated and return an error. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 184b57c630c86d35b7f92d4b6545fdf07647c5d5 Author: Mike Christie Date: Wed May 13 17:57:39 2009 -0500 [SCSI] libiscsi: check of LLD has a alloc pdu callout. bnx2i does not have one. It currently preallocates the bdt when the session is setup. We probably want to change that to a dma pool, then allocate from the pool in the alloc pdu. Until then check if there is a alloc pdu callout. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 10eb0f013c63c71c82ede77945a5f390c10cfda6 Author: Mike Christie Date: Wed May 13 17:57:38 2009 -0500 [SCSI] iscsi: pass ep connect shost When we create the tcp/ip connection by calling ep_connect, we currently just go by the routing table info. I think there are two problems with this. 1. Some drivers do not have access to a routing table. Some drivers like qla4xxx do not even know about other ports. 2. If you have two initiator ports on the same subnet, the user may have set things up so that session1 was supposed to be run through port1. and session2 was supposed to be run through port2. It looks like we could end with both sessions going through one of the ports. Fixes for cxgb3i from Karen Xie. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5a2537959fa8781012e8c286fc1614e0f6991327 Author: Zhenwen Xu Date: Tue May 12 13:29:13 2009 -0700 [SCSI] NCR_D700: fix IRQ handler return type drivers/scsi/NCR_D700.c: In function `NCR_D700_probe': drivers/scsi/NCR_D700.c:322: warning: passing argument 2 of `request_irq' from incompatible pointer type drivers/scsi/NCR_D700.c:322: warning: passing argument 2 of `request_irq' from incompatible pointer type drivers/scsi/NCR_D700.c:322: warning: passing argument 2 of `request_irq' from incompatible pointer type Signed-off-by: Zhenwen Xu Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9870d9a2428550e7ac3164a26306ad07a99051ae Author: Andy Yan Date: Mon May 11 22:19:25 2009 +0800 [SCSI] mvsas: performance improvement using domain_device->lldd_dev Using sticky field to improve retrieve performance by eliminating some lookups in . Remove some spurious casts. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 77db27cdcbc8ed371fd2f154cbadc7ff32ae8901 Author: Andy Yan Date: Mon May 11 21:56:31 2009 +0800 [SCSI] mvsas: correct bit map usage Utilize DECLARE_BITMAP to define the tags array. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 0f980a871678b7ec143fcb45b31bf9234e4585c8 Author: Andy Yan Date: Mon May 11 21:49:52 2009 +0800 [SCSI] mvsas: bug fix, null pointer may be used Null pointer check to avoid corruption. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 0b84b7094e87769120def1e703b8b4d037281038 Author: Andy Yan Date: Mon May 11 20:05:26 2009 +0800 [SCSI] mvsas: bug fix of dead lock TMF task should be issued with Interrupt Disabled, or Deadlock may take place. Clean-up unused parameters and conditonal lock. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 2b288133ab6306b1761e0a2ef943b944ead6ad69 Author: Andy Yan Date: Mon May 11 20:01:55 2009 +0800 [SCSI] mvsas: bug fix with setting task management frame type Correct frame type setting according to parameter. Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 6ff63896e5bd624d8563f4b67fe2fe06ce99c8dc Author: Kleber S. Souza Date: Mon May 4 10:41:02 2009 -0300 [SCSI] ipr: fix PCI permanent error handler The ipr driver can hang if it encounters enough PCI errors to trigger the permanent error handler. The driver will attempt to initiate a "bringdown" of the adapter and fail all pending ops back. However, this bringdown is unlike any other bringdown of the adapter in the code as the driver. In this code path we end up failing back ops with allow_cmds still set to 1. This results in some commands, the HCAM commands in particular, getting immediately re-issued to the adapter on the done call, which results in an infinite loop in ipr_fail_all_ops. Fix this by setting allow_cmds to zero in this path. Signed-off-by: Kleber S. Souza [brking@linux.vnet.ibm.com: alternate patch substituted] Signed-off-by: Brian King Signed-off-by: James Bottomley commit a3ec723a949d65bf0349cdf60958036454927729 Author: Eric Piel Date: Mon May 4 12:43:02 2009 +0200 [SCSI] Update wording of CONFIG_SCSI_MULTI_LUN help I had to set CONFIG_SCSI_MULTI_LUN to y in order to get my SE W595 working when plugging it as a mass storage. Looking at SCSI option to get a phone behaving correctly was convoluted to say the least. There are quite a few other reports about USB card readers needing this option as well. This patch improves the help text to make the use of the option more obvious. Signed-off-by: Eric Piel Signed-off-by: James Bottomley commit 16b3858ec967f4d9817f6958cc7a0bf1222355f3 Author: Roel Kluin Date: Sat May 2 22:14:54 2009 +0200 [SCSI] ibmvscsi: Remove redundant test on unsigned. Signed-off-by: Roel Kluin Acked by: Brian King Signed-off-by: James Bottomley commit 1da2019fffc65c02a613305919bac28c9bdfaf99 Author: Kai Makisara Date: Sat May 2 08:49:34 2009 +0300 [SCSI] st: fix gcc 4.4 warning This patch fixes the GCC 4.4 warning reported by David Binderman and Sergey Senozhatsky. The old version was working correctly but was not easy to read. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 5c10e63c943b4c67561ddc6bf61e01d4141f881f Author: Takahiro Yasui Date: Wed Apr 29 12:13:02 2009 -0400 [SCSI] limit state transitions in scsi_internal_device_unblock scsi timeout on two or more devices may cause extremely long execution time for user applications because SDEV_OFFLINE state is changed to SDEV_RUNNING state during scsi error recovery procedures triggered by a bus reset or a host reset of scsi LLD, and scsi timeout can happens on the same devices many times. This happens because scsi_internal_device_unblock() changes device's state to SDEV_RUNNING even if a device in other states than SDEV_BLOCK, while the following two transitions are required in this function. SDEV_BLOCK -> SDEV_RUNNING SDEV_CREATED_BLOCK -> SDEV_CREATED Otherwise, it returns -EINVAL. Signed-off-by: Takahiro Yasui [matthew@wil.cx: supplied rewritten base for patch] Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a2ab67fae1ab9226679495a8d260f4e6555efc5f Merge: 6d0485a 135cad3 Author: Russell King Date: Sat May 23 20:57:31 2009 +0100 Merge branch 'for-rmk-devel' of git://git.pengutronix.de/git/imx/linux-2.6 into devel Conflicts: arch/arm/Kconfig arch/arm/Makefile commit aa9c67f53d1969cf1db4c9c2db3a78c4ceb96469 Author: Peter Zijlstra Date: Sat May 23 18:28:59 2009 +0200 perf_counter: Simplify context cleanup Use perf_counter_remove_from_context() to remove counters from the context. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.796275849@chello.nl> Signed-off-by: Ingo Molnar commit 1a482f38c5aafeb3576079a38a5b21b46619f3d2 Author: Peter Zijlstra Date: Sat May 23 18:28:58 2009 +0200 perf_counter: Fix userspace build recent userspace (F11) seems to already include the linux/unistd.h bits which means we cannot include the version in the kernel sources due to the header guards being the same. Ensure we include the kernel version first. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.739756497@chello.nl> Signed-off-by: Ingo Molnar commit 682076ae1de0aba9c2da509f7b19dc03e30a6e1f Author: Peter Zijlstra Date: Sat May 23 18:28:57 2009 +0200 perf_counter: Sanitize context locking Ensure we're consistent with the context locks. context->mutex context->lock list_{add,del}_counter(); so that either lock is sufficient to stabilize the context. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.618790733@chello.nl> Signed-off-by: Ingo Molnar commit fccc714b3148ab9741fafc1e90c3876d50df6093 Author: Peter Zijlstra Date: Sat May 23 18:28:56 2009 +0200 perf_counter: Sanitize counter->mutex s/counter->mutex/counter->child_mutex/ and make sure its only used to protect child_list. The usage in __perf_counter_exit_task() doesn't appear to be problematic since ctx->mutex also covers anything related to fd tear-down. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.533186528@chello.nl> Signed-off-by: Ingo Molnar commit e220d2dcb944c5c488b6855d15ec66d76900514f Author: Peter Zijlstra Date: Sat May 23 18:28:55 2009 +0200 perf_counter: Fix dynamic irq_period logging We call perf_adjust_freq() from perf_counter_task_tick() which is is called under the rq->lock causing lock recursion. However, it's no longer required to be called under the rq->lock, so remove it from under it. Also, fix up some related comments. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: John Kacur LKML-Reference: <20090523163012.476197912@chello.nl> Signed-off-by: Ingo Molnar commit 948cd52906baf1f92aeea2f9b5c515db1b2e592a Author: Paul Mundt Date: Fri May 22 10:40:09 2009 +0900 sparseirq: Allow early irq_desc allocation Presently non-legacy IRQs have their irq_desc allocated with kzalloc_node(). This assumes that all callers of irq_to_desc_node_alloc() will be sufficiently late in the boot process that kmalloc is available. While porting sparseirq support to sh this blew up immediately, as at the time that we register the CPU's interrupt vector map only bootmem is available. Check slab_is_available() to work out which path to use. [ Impact: fix SH early boot crash with sparseirq enabled ] Signed-off-by: Paul Mundt Acked-by: Yinghai Lu Cc: Andrew Morton Cc: Mel Gorman LKML-Reference: <20090522014008.GA2806@linux-sh.org> Signed-off-by: Ingo Molnar commit 0154724d487586241c1ad57cfd348ed2ff2274e2 Author: Mark Brown Date: Sat May 23 00:01:05 2009 +0100 ASoC: Fix WM9081 PowerPC compiler issues Ensure that we always set a new sysclk when using the FLL in master mode and pick out the correct value for the sample rate in hw_params(). Signed-off-by: Mark Brown commit 3b77f777b8f1c001b63e317c4ce317292ff0ff94 Author: Martin K. Petersen Date: Sat May 23 08:23:16 2009 +0200 ide-disk: fix missing max_sectors accessor function The recent move to accessor functions for querying queue limits missed an entry in ide-disk.c: drivers/ide/ide-disk.c: In function ‘ide_disk_setup’: drivers/ide/ide-disk.c:642: error: ‘struct request_queue’ has no member named ‘max_sectors’ Fix it. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit c72758f33784e5e2a1a4bb9421ef3e6de8f9fcf3 Author: Martin K. Petersen Date: Fri May 22 17:17:53 2009 -0400 block: Export I/O topology for block devices and partitions To support devices with physical block sizes bigger than 512 bytes we need to ensure proper alignment. This patch adds support for exposing I/O topology characteristics as devices are stacked. logical_block_size is the smallest unit the device can address. physical_block_size indicates the smallest I/O the device can write without incurring a read-modify-write penalty. The io_min parameter is the smallest preferred I/O size reported by the device. In many cases this is the same as the physical block size. However, the io_min parameter can be scaled up when stacking (RAID5 chunk size > physical block size). The io_opt characteristic indicates the optimal I/O size reported by the device. This is usually the stripe width for arrays. The alignment_offset parameter indicates the number of bytes the start of the device/partition is offset from the device's natural alignment. Partition tools and MD/DM utilities can use this to pad their offsets so filesystems start on proper boundaries. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit cd43e26f071524647e660706b784ebcbefbd2e44 Author: Martin K. Petersen Date: Fri May 22 17:17:52 2009 -0400 block: Expose stacked device queues in sysfs Currently stacking devices do not have a queue directory in sysfs. However, many of the I/O characteristics like sector size, maximum request size, etc. are queue properties. This patch enables the queue directory for MD/DM devices. The elevator code has been modified to deal with queues that do not have an I/O scheduler. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 025146e13b63483add912706c101fb0fb6f015cc Author: Martin K. Petersen Date: Fri May 22 17:17:51 2009 -0400 block: Move queue limits to an embedded struct To accommodate stacking drivers that do not have an associated request queue we're moving the limits to a separate, embedded structure. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ae03bf639a5027d27270123f5f6e3ee6a412781d Author: Martin K. Petersen Date: Fri May 22 17:17:50 2009 -0400 block: Use accessor functions for queue limits Convert all external users of queue limits to using wrapper functions instead of poking the request queue variables directly. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1 Author: Martin K. Petersen Date: Fri May 22 17:17:49 2009 -0400 block: Do away with the notion of hardsect_size Until now we have had a 1:1 mapping between storage device physical block size and the logical block sized used when addressing the device. With SATA 4KB drives coming out that will no longer be the case. The sector size will be 4KB but the logical block size will remain 512-bytes. Hence we need to distinguish between the physical block size and the logical ditto. This patch renames hardsect_size to logical_block_size. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 9bd7de51ee8537094656149eaf45338cadb7d7d4 Merge: e4b6363 6a44587 Author: Jens Axboe Date: Fri May 22 20:28:35 2009 +0200 Merge branch 'master' into for-2.6.31 Conflicts: drivers/ide/ide-io.c Signed-off-by: Jens Axboe commit e4b636366c00738b9609cda307014d71b1225b7f Merge: b9ed725 279e677 Author: Jens Axboe Date: Fri May 22 20:25:34 2009 +0200 Merge branch 'master' into for-2.6.31 Conflicts: drivers/block/hd.c drivers/block/mg_disk.c Signed-off-by: Jens Axboe commit a2e2322d83df82a57ba456cfa604c8b8f7b04670 Author: Wey-Yi Guy Date: Fri May 22 11:01:55 2009 -0700 iwlwifi: check for valid band for channel info when display channel info in debugfs, always check for valid band before access the pointer and display information for 1000 NIC, it only support "bgn" mode, so there is no 5.2GHz channels available to display. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 086ed117c918f07fd40323ab5adc64c52ea7c1b8 Author: Mohamed Abbas Date: Fri May 22 11:01:54 2009 -0700 iwlagn: co-exist with AMT Enable using iwlwifi driver in AMT system. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0324c14b6f3730eb155dcff864b9c0cf8c893c5f Author: Mohamed Abbas Date: Fri May 22 11:01:53 2009 -0700 iwlcore: Set rb_timeout to 0x10 for devices with ICT rb value should be 0x10 for devices using ICT. RX interrupt was not performing well with 0 value Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40cefda9ce11c44a2531d07af812900aa5f3ce9d Author: Mohamed Abbas Date: Fri May 22 11:01:52 2009 -0700 iwlcore: Add support for periodic RX interrupt Periodic RX interrupt needed with ICT interrupt to prevent RX race. Sending RX interrupt require many steps to be done in the the device: 1- write interrupt to current index in ICT table. 2- dma RX frame. 3- update RX shared data to indicate last write index. 4- send interrupt. This could lead to RX race, driver could receive RX interrupt but the shared data changes does not reflect that. this could lead to RX race, RX periodic will solve this race Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4752c93c30441f98f7ed723001b1a5e3e5619829 Author: Mohamed Abbas Date: Fri May 22 11:01:51 2009 -0700 iwlcore: Allow skb allocation from tasklet. If RX queue becomes empty then we need to restock the queue from tasklet to prevent ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should come from GFP_ATOMIC or GFP_KERNEL. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ef850d7cb301bda9155c096269557a4586b58071 Author: Mohamed Abbas Date: Fri May 22 11:01:50 2009 -0700 iwlcore: support ICT interrupt Add ICT interrupt handler support, ICT should improve CPU utilization since it does not require target read which is very expensive. This interrupt handler only added to 5000 cards and newer. Device will write interrupts to ICT shared table to inform driver about its interrupts. These patches will not touch 3945 and 4965 interrupt handlers and tasklet. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a2b0f02e4795bfde5f11720a10af8923cb98b654 Author: Wey-Yi Guy Date: Fri May 22 11:01:49 2009 -0700 iwlwifi: support "pure 40MHz" in RXON command Fix the bug when using 11n "pure 40MHz" mode cause uCode crashing by adding support for "pure 40MHz" in RX_ON command flag. the "mode" field (bits 25:26) has value of 0-3 0 = 20 MHz only 1 = 40MHz only 2 = Mixed 3 = Reserved Control Channel ID (bit 22) is valid only in Mixed mode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a9c146b369cd8facbbbec7d8b31440f6eaa43e03 Author: Wey-Yi Guy Date: Fri May 22 11:01:48 2009 -0700 iwlwifi: report the rate index as an MCS rate number If transmit in HT rate, report the rate index as an MCS rate number instead of an index. so "iw" can display correct BitRate Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8b50a0a966d7ac313f624c6ab4996231a5fe25a Author: Mohamed Abbas Date: Fri May 22 11:01:47 2009 -0700 iwlcore: register locks Add new lock to be used when accessing some registers. Also move the register lock and iwl_grab_nic_access inside the function for register access. This will prevent from forgetting to hold locks and nic access in the right way and make code easier to maintain. We over use the priv->lock spin lock and I guess we need to add new one for Tx queue after that we might need to change most of these lock to BH and just keep priv->lock as irq type. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0848e297c2107dbc12a91a1709c879c73bd188d8 Author: Wey-Yi Guy Date: Fri May 22 11:01:46 2009 -0700 iwlwifi: support NVM access (EEPROM/OTP) Two type of NVM available for devices 1000, 6000 and after, adding support to read OTP lower blocks if OTP is used instead of EEPROM. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8a566afea0639fc387add782bc799009512a911b Author: Ivo van Doorn Date: Thu May 21 19:16:46 2009 +0200 rt2x00: Remove usage of IEEE80211_CONF_CHANGE_BEACON_INTERVAL IEEE80211_CONF_CHANGE_BEACON_INTERVAL was deprecated a month ago, it is about time to remove all usage from the rt2x00 drivers and use the correct beacon interval configuration through the bss_info structure. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b91c3604d000205fb4e56b5ddd6b77b22ad4689 Author: Ivo van Doorn Date: Thu May 21 19:16:14 2009 +0200 rt2x00: Add new rt2800usb USB ID's for Sweex The USB ID with unknown manufacturer is apparently sweex, copy it to the correct location of the list and add 2 additional USB ID's also belonging to Sweex. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9839178e92bf205728c754aeb1933f631a9962d9 Author: Jussi Kivilinna Date: Fri May 22 17:40:34 2009 +0300 rndis_wlan: do not try to restore wpa keys using add_wep_key() set_infra_mode() tried to restore wpa keys using add_wep_key(). This never worked so prevent driver from trying. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b145ee0ce1e325497e5bb91f78f1545b552b518f Author: Jussi Kivilinna Date: Fri May 22 17:40:27 2009 +0300 rndis_wlan: split add_wpa_key from rndis_iw_set_encode_ext Split add_wpa_key() from rndis_iw_set_encode_ext so that conversion to cfg80211 would be easier later on. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b4703a2e32fdffbf83caf699817b21c4fc6d987c Author: Jussi Kivilinna Date: Fri May 22 17:40:20 2009 +0300 rndis_wlan: explain bits used in key setup code. Driver uses some unnamed bits to control encryption setup. Move these to enumerations with proper names explaining their meaning. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9656e85ba24a9814f1705e0e3639281d15d6a419 Author: Jussi Kivilinna Date: Fri May 22 17:40:12 2009 +0300 rndis_wlan: remove CAP_SUPPORT_TXPOWER/OID_802_11_TX_POWER_LEVEL code BCM4320 doesn't support OID_802_11_TX_POWER_LEVEL (chip implements the command but setting value has no effect and getting txpower value always returns 0xff, full power). So remove the code for cleanup. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 59620e9fd631703ecdc7a6d304231b45560b8d26 Author: Jussi Kivilinna Date: Fri May 22 11:58:36 2009 +0300 rndis_wlan: fix support for bcm4320a Old variant of bcm4320 doesn't handle setting configuration parameters correctly. One symptom is that MAC gets partially overwritten when any config parameters are set. This patch disables config-params for bcm4320a (and generic rndis-wlan). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 62161aefa403a3f8d603b061f5688cf00928a2cc Author: Wey-Yi Guy Date: Thu May 21 13:44:23 2009 -0700 iwlwifi: Temperature sensor voltage reading for 5150 The temperature measurement by uCode for 5150 and 5000 are different CSR_HW_REV_TYPE_5150: temperature sensor output voltage CSR_HW_REV_TYPE_5000: temperature in Celsius temperature related operation for 5150 is measured by temperature sensor output voltage; additional conversion is required for set and store the temperature. To make sure support different HW design; implement _ops method for temperature related functions (temperature reading and set ct kill threshold) Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2681b20ba2a255ea20a168c0ebe519c40b55e57e Author: Wey-Yi Guy Date: Thu May 21 13:44:22 2009 -0700 iwlwifi: add Greenfield support for 11n Add "Greenfield" support for all devices except 4965 and 3945. "Greenfield" is part of 11n features to improve HT performance. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 749e091ee0065ed366cc26c115abc237e07ed786 Author: Abhijeet Kolekar Date: Thu May 21 13:44:21 2009 -0700 iwl3945: improve 3945 leds 'tpt' is a delta throughput (number of packets) and is corelated to brightness of the LED. We already maintain a delta of packets in rxtxpackets. There is no need to calculate this delta again which was affecting the behaviour of LEDS. Also add two new callback functions for ASSOCIATED/DISASSOCIATED states where LED's will be *on* for associated state and *off* for disassociated state. This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1771. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2c7e57981f24e9f8b732ecf1c01e16111d21b7a5 Author: Bing Zhao Date: Thu May 21 11:32:34 2009 -0700 libertas: read SD8688 firmware status from new register The scratch pad register is used to store firmware status after firmware is downloaded and initialized. After firmware status is verified OK, the same register is used to store RX packet length. Hence the firmware status code is no longer valid afterwards. SD8688 firmware introduces a new register for firmware status which will never be overwritten. Also add scratch_reg variable to if_sdio_card structure and initialize it based on the model of the card during probe. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit bb9f8692f5043efef0dcef048cdd1db68299c2cb Author: Zhu Yi Date: Thu May 21 21:20:45 2009 +0800 iwmc3200wifi: Add new Intel Wireless Multicomm 802.11 driver This driver supports Intel's full MAC wireless multicomm 802.11 hardware. Although the hardware is a 802.11agn device, we currently only support 802.11ag, in managed and ad-hoc mode (no AP mode for now). Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit e31a16d6f64ef0e324c6f54d5112703c3f13a9c4 Author: Zhu Yi Date: Thu May 21 21:47:03 2009 +0800 wireless: move some utility functions from mac80211 to cfg80211 The patch moves some utility functions from mac80211 to cfg80211. Because these functions are doing generic 802.11 operations so they are not mac80211 specific. The moving allows some fullmac drivers to be also benefit from these utility functions. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a971be223f243311a8014ddfc721f68e3ef2da9c Author: Johannes Berg Date: Thu May 21 12:02:05 2009 +0200 mac80211: correct probe wait time My first patch submission used 200ms, which I then somehow managed to revert back to the earlier 50ms I had used for some tests in the second patch submission -- but that was wrong, I should have used 200ms here. Correct that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccdfeab6536ae55d43436ffaae949afde6e962ca Author: Jouni Malinen Date: Wed May 20 21:59:08 2009 +0300 ath9k: Update Beacon timers based on timestamp from the AP Some APs seem to drift away from the expected TBTT (timestamp % beacon_int_in_usec differs quite a bit from zero) which can result in us waking up way too early to receive a Beacon frame. In order to work around this, re-configure the Beacon timers after having received a Beacon frame from the AP (i.e., when we know the offset between the expected TBTT and the actual time the AP is sending out the Beacon frame). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 267a90127472be70b02ab13cbd355b5013e2aa51 Author: Jouni Malinen Date: Wed May 20 21:56:39 2009 +0300 ath9k: Optimize TBTT/DTIM calculation for timers The previous version used a simple loop to go through all Beacon frames when determining the next TBTT and DTIM count. This is not too bad for the case where the setup happens before timesync (i.e., very small TSF), but this can become very heavy operation if a short Beacon interval is used and the current TSF is large. In preparation for a patch to update timer setup based on Beacon timestamp, optimize this routine to take fixed time regardless of the actual TSF value. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d26285f873c3066fefe648b47b9ecf3ec18bcfbc Author: Bing Zhao Date: Tue May 19 19:48:20 2009 -0700 libertas: implement function init/shutdown commands for SD8688 SD8688 is a WLAN/Bluetooth combo chip and both functions are supported in a single firmware image. FUNC_INIT and FUNC_SHUTDOWN commands are implemented to utilize the multiple function feature. When SD8688 card is inserted, the firmware image should be downloaded only once through either WLAN function (Libertas driver) or Bluetooth function (Bluetooth driver). This patch adds function init/shutdown for SD8688 WLAN function only. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b136a1414c94b4bda1057b4ffde26253d2527628 Author: Bing Zhao Date: Tue May 19 19:48:19 2009 -0700 libertas: get SD8688 rx length with one CMD52 Usually, the 16-bit rx length is read from scratch pad registers with two CMD52 transactions: SD8385: IF_SDIO_SCRATCH_OLD (0x80fe/0x80ff) SD8686/SD8688: IF_SDIO_SCRATCH (0x34/0x35) Alternatively, SD8688 firmware offers an enhanced method for driver to read an 8-bit rx length (in units) with a single CMD52: IF_SDIO_RX_UNIT 0x43 is read one time after firmware is ready. IF_SDIO_RX_LEN 0x42 is read every time when rx interrupt is received. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit e70a5ac5d27166cfe5bfbe8f63017af3b09d72ce Author: Bing Zhao Date: Tue May 19 19:48:18 2009 -0700 libertas: define macros for SDIO model numbers replace direct usages of SDIO model numbers with defined macros. Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit ea2d06395b6de717a5e0c4b6e55f3047cae2131f Author: andrey@cozybit.com Date: Tue May 19 17:20:13 2009 -0700 libertas: fix GSPI card event handling The GPSI interface driver does not re-enable the Card Event Interrupt, which causes problems after a card event (for example: link-loss) comes in. This can lead, for example, to the card failing to re-associate. This patch ensures that we re-enable the Card Event Interrupt when we handle card events. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit 4ef699fb771d347b31ddafd214c0dd47b90f7f0f Author: Johannes Berg Date: Tue May 19 21:26:07 2009 +0200 mac80211: fix probe response wait timing In "mac80211: split out and decrease probe wait time" I tried to reduce the time waiting for a probe response, but failed to take into account the case where we are detecting beacon loss in software -- in that case we still wait the monitoring time rather than the probe wait time. Fix this by refactoring the mod_timer() calls in ieee80211_associated(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 87057825824973f29cf2f37cff1e549170b2d7e6 Author: Johannes Berg Date: Tue May 19 17:19:36 2009 +0200 wext: remove atomic requirement for wireless stats The requirement for wireless stats to be atomic is now mostly artificial since we hold the rtnl _and_ the dev_base_lock for iterating the device list. Doing that is not required, just the rtnl is sufficient (and the rtnl is required for other reasons outlined in commit "wext: fix get_wireless_stats locking"). This will fix http://bugzilla.kernel.org/show_bug.cgi?id=13344 and make things easier for drivers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c6eb13847ba081552d2af644219bddeff7110caf Author: Ingo Molnar Date: Fri May 22 18:18:28 2009 +0200 perf_counter tools: increase limits I tried to run with 300 active counters and the tools bailed out because our limit was at 64. So increase the counter limit to 1024 and the CPU limit to 4096. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 4c9773ed7946fc375edba057770f5ef16d8b44fe Merge: 9f36d31 5993856 Author: Bartlomiej Zolnierkiewicz Date: Fri May 22 17:10:55 2009 +0200 Merge branch 'for-linus' into for-next commit 86ed3669f068b514ab85ffd548456a342b3fb8d3 Author: Mark Brown Date: Fri May 22 15:01:19 2009 +0100 ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver The WM9081 is designed to provide high power output at low distortion levels in space-constrained portable applications. Signed-off-by: Mark Brown commit b4852b793a1dd74ccde5572d8a8f73e948a5b1a1 Author: Peter Ujfalusi Date: Fri May 22 15:12:15 2009 +0300 ASoC: TWL4030: Differentiate the playback streams Give unique stream names for the two playback streams so DAPM can figure out which codec_dai is in use. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 910431c7f2e963017d767b29c80ae706421e569f Author: Ingo Molnar Date: Fri May 22 12:32:15 2009 +0200 perf_counter: fix !PERF_COUNTERS build failure Update the !CONFIG_PERF_COUNTERS prototype too, for perf_counter_task_sched_out(). [ Impact: build fix ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <18966.10666.517218.332164@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 564c2b210add41df9a3a5aaa365c1d97cff6110d Author: Paul Mackerras Date: Fri May 22 14:27:22 2009 +1000 perf_counter: Optimize context switch between identical inherited contexts When monitoring a process and its descendants with a set of inherited counters, we can often get the situation in a context switch where both the old (outgoing) and new (incoming) process have the same set of counters, and their values are ultimately going to be added together. In that situation it doesn't matter which set of counters are used to count the activity for the new process, so there is really no need to go through the process of reading the hardware counters and updating the old task's counters and then setting up the PMU for the new task. This optimizes the context switch in this situation. Instead of scheduling out the perf_counter_context for the old task and scheduling in the new context, we simply transfer the old context to the new task and keep using it without interruption. The new context gets transferred to the old task. This means that both tasks still have a valid perf_counter_context, so no special case is introduced when the old task gets scheduled in again, either on this CPU or another CPU. The equivalence of contexts is detected by keeping a pointer in each cloned context pointing to the context it was cloned from. To cope with the situation where a context is changed by adding or removing counters after it has been cloned, we also keep a generation number on each context which is incremented every time a context is changed. When a context is cloned we take a copy of the parent's generation number, and two cloned contexts are equivalent only if they have the same parent and the same generation number. In order that the parent context pointer remains valid (and is not reused), we increment the parent context's reference count for each context cloned from it. Since we don't have individual fds for the counters in a cloned context, the only thing that can make two clones of a given parent different after they have been cloned is enabling or disabling all counters with prctl. To account for this, we keep a count of the number of enabled counters in each context. Two contexts must have the same number of enabled counters to be considered equivalent. Here are some measurements of the context switch time as measured with the lat_ctx benchmark from lmbench, comparing the times obtained with and without this patch series: -----Unmodified----- With this patch series Counters: none 2 HW 4H+4S none 2 HW 4H+4S 2 processes: Average 3.44 6.45 11.24 3.12 3.39 3.60 St dev 0.04 0.04 0.13 0.05 0.17 0.19 8 processes: Average 6.45 8.79 14.00 5.57 6.23 7.57 St dev 1.27 1.04 0.88 1.42 1.46 1.42 32 processes: Average 5.56 8.43 13.78 5.28 5.55 7.15 St dev 0.41 0.47 0.53 0.54 0.57 0.81 The numbers are the mean and standard deviation of 20 runs of lat_ctx. The "none" columns are lat_ctx run directly without any counters. The "2 HW" columns are with lat_ctx run under perfstat, counting cycles and instructions. The "4H+4S" columns are lat_ctx run under perfstat with 4 hardware counters and 4 software counters (cycles, instructions, cache references, cache misses, task clock, context switch, cpu migrations, and page faults). [ Impact: performance optimization of counter context-switches ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <18966.10666.517218.332164@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit a63eaf34ae60bdb067a354cc8def2e8f4a01f5f4 Author: Paul Mackerras Date: Fri May 22 14:17:31 2009 +1000 perf_counter: Dynamically allocate tasks' perf_counter_context struct This replaces the struct perf_counter_context in the task_struct with a pointer to a dynamically allocated perf_counter_context struct. The main reason for doing is this is to allow us to transfer a perf_counter_context from one task to another when we do lazy PMU switching in a later patch. This has a few side-benefits: the task_struct becomes a little smaller, we save some memory because only tasks that have perf_counters attached get a perf_counter_context allocated for them, and we can remove the inclusion of in sched.h, meaning that we don't end up recompiling nearly everything whenever perf_counter.h changes. The perf_counter_context structures are reference-counted and freed when the last reference is dropped. A context can have references from its task and the counters on its task. Counters can outlive the task so it is possible that a context will be freed well after its task has exited. Contexts are allocated on fork if the parent had a context, or otherwise the first time that a per-task counter is created on a task. In the latter case, we set the context pointer in the task struct locklessly using an atomic compare-and-exchange operation in case we raced with some other task in creating a context for the subject task. This also removes the task pointer from the perf_counter struct. The task pointer was not used anywhere and would make it harder to move a context from one task to another. Anything that needed to know which task a counter was attached to was already using counter->ctx->task. The __perf_counter_init_context function moves up in perf_counter.c so that it can be called from find_get_context, and now initializes the refcount, but is otherwise unchanged. We were potentially calling list_del_counter twice: once from __perf_counter_exit_task when the task exits and once from __perf_counter_remove_from_context when the counter's fd gets closed. This adds a check in list_del_counter so it doesn't do anything if the counter has already been removed from the lists. Since perf_counter_task_sched_in doesn't do anything if the task doesn't have a context, and leaves cpuctx->task_ctx = NULL, this adds code to __perf_install_in_context to set cpuctx->task_ctx if necessary, i.e. in the case where the current task adds the first counter to itself and thus creates a context for itself. This also adds similar code to __perf_counter_enable to handle a similar situation which can arise when the counters have been disabled using prctl; that also leaves cpuctx->task_ctx = NULL. [ Impact: refactor counter context management to prepare for new feature ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Marcelo Tosatti Cc: Arnaldo Carvalho de Melo LKML-Reference: <18966.10075.781053.231153@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 87ec21741138bb42e7f943bb142b1d8567c10925 Author: Steven Whitehouse Date: Fri May 22 10:54:50 2009 +0100 GFS2: Move gfs2_unlink_ok into ops_inode.c Another function which is only called from one ops_inode.c so we move it and make it static. Signed-off-by: Steven Whitehouse commit 536baf02f650f4547f105386878b4736fbc181e8 Author: Steven Whitehouse Date: Fri May 22 10:48:59 2009 +0100 GFS2: Move gfs2_readlinki into ops_inode.c Move gfs2_readlinki into ops_inode.c and make it static Signed-off-by: Steven Whitehouse commit 2286dbfad1fb622ee2691537e5caaedee4618860 Author: Steven Whitehouse Date: Fri May 22 10:45:09 2009 +0100 GFS2: Move gfs2_rmdiri into ops_inode.c Move gfs2_rmdiri() into ops_inode.c and make it static. Signed-off-by: Steven Whitehouse commit 9e6e0a128bca0a151d8d3fbd9459b22fc21cfebb Author: Steven Whitehouse Date: Fri May 22 10:36:01 2009 +0100 GFS2: Merge mount.c and ops_super.c into super.c mount.c only contained a single function, so is not really worth retaining on its own. All of the super related code is now either in super.c or ops_fstype.c Signed-off-by: Steven Whitehouse commit 7385ba44f8bcea15bf0d75ae2814f0cec63140b9 Author: Peter Ujfalusi Date: Fri May 22 10:13:16 2009 +0300 ASoC: SDP4030: Use the twl4030_setup_data for headset pop-removal With this patch the initial headset pop-removal related values are configured for the twl4030 codec (ramp delay and sysclk). Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 9da28c7b38170882b1c43d7d133ddce34e25f161 Author: Peter Ujfalusi Date: Fri May 22 10:13:15 2009 +0300 ASoC: TWL4030: Add support for platform dependent configuration twl4030_setup_data structure can be passed from platform drivers to the codec via the snd_soc_device->codec_data pointer. Currently the setup data has support for the Headset pop-removal related configuration, which differs from board to board. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 5c82f56736e4c3a9eaf53c94366b056c8622d79e Author: Mark Brown Date: Fri May 22 09:41:30 2009 +0100 AsoC: Make snd_soc_read() and snd_soc_write() functions Should be no impact on the generated code but it helps the compiler print clearer messages. Signed-off-by: Mark Brown commit b1e71b0622974953e46a284aa986504a90869a9b Author: Steven Whitehouse Date: Fri May 22 10:01:55 2009 +0100 GFS2: Clean up some file names This patch renames the ops_*.c files which have no counterpart without the ops_ prefix in order to shorten the name and make it more readable. In addition, ops_address.h (which was very small) is moved into inode.h and inode.h is cleaned up by adding extern where required. Signed-off-by: Steven Whitehouse commit 2c9e703c618106f5383226fbb1f526cb11034f8a Merge: 6470c07 5805977 Author: James Morris Date: Fri May 22 18:40:59 2009 +1000 Merge branch 'master' into next Conflicts: fs/exec.c Removed IMA changes (the IMA checks are now performed via may_open()). Signed-off-by: James Morris commit 6746136520cd0827320a83e62d0a023a5a433650 Author: Ron Lee Date: Fri May 22 04:58:22 2009 +0930 slab: fix generic PAGE_POISONING conflict with SLAB_RED_ZONE A generic page poisoning mechanism was added with commit: 6a11f75b6a17b5d9ac5025f8d048382fd1f47377 which destructively poisons full pages with a bitpattern. On arches where PAGE_POISONING is used, this conflicts with the slab redzone checking enabled by DEBUG_SLAB, scribbling bits all over its magic words and making it complain about that quite emphatically. On x86 (and I presume at present all the other arches which set ARCH_SUPPORTS_DEBUG_PAGEALLOC too), the kernel_map_pages() operation is non destructive so it can coexist with the other DEBUG_SLAB mechanisms just fine. This patch favours the expensive full page destruction test for cases where there is a collision and it is explicitly selected. Signed-off-by: Ron Lee Signed-off-by: Pekka Enberg commit b9ed7252d219c1c663944bf03846eabb515dbe75 Author: Roel Kluin Date: Fri May 22 09:25:32 2009 +0200 xen-blkfront: beyond ARRAY_SIZE of info->shadow Do not go beyond ARRAY_SIZE of info->shadow Signed-off-by: Roel Kluin Acked-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit aaf22af46ff2b3f0a5c4fcaf1287ac6c28d4078e Author: Michal Simek Date: Thu May 21 17:27:58 2009 +0200 microblaze: Kbuild update Signed-off-by: Michal Simek commit 3699067381a2a518b32c44411a020b007d057417 Author: Herbert Xu Date: Fri May 22 00:45:28 2009 -0700 tcp: Unexport TCPv6 GRO functions Sinec the TCPv6 GRO functions are used in the same file where they are defined, we do not need to export them. This was a cut-n-paste from the IPv4 code which does need to export them. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5c651ffaee6f07aa1f5e6d0763845a2ee606b6bd Author: Hiroshi DOYU Date: Tue May 19 09:07:55 2009 +0300 omap iommu: add MPU_BRIDGE_IOMMU for tidspbridge migration Currently "tidspbridge" driver uses its own mmu implementation and will migrate to use this "omap iommu" eventually. This config is provided to make this migration happen smoothly. Signed-off-by: Hiroshi DOYU commit caf60779a6c5795340767ccf2f73ed7d5c7e0486 Author: Hiroshi DOYU Date: Wed Jan 28 21:32:09 2009 +0200 omap2 iommu: entries for Kconfig and Makefile Signed-off-by: Hiroshi DOYU commit e769421de22422461f0becae0ec6e792ec6f4476 Author: Hiroshi DOYU Date: Wed Jan 28 21:32:08 2009 +0200 omap iommu: entries for Kconfig and Makefile Signed-off-by: Hiroshi DOYU commit 7d18f114897ff4358419b14d551e704a4299a440 Author: David S. Miller Date: Thu May 21 23:30:09 2009 -0700 net: Fix arg to trace_napi_poll() in netpoll. Reproted by Stephen Rothwell. Signed-off-by: David S. Miller commit 8fc40238b4ebf07cd11ca9707843338be22af72f Author: Paul Mundt Date: Fri May 22 14:21:03 2009 +0900 sh: Prefer slab_is_available() over after_bootmem. This kills off after_bootmem and switches to using slab_is_available() instead. Presently the only place this is used is by the sh64 ioremap, and there's not much point in keeping the reference around otherwise. Signed-off-by: Paul Mundt commit 36aa1e32f451b664adaf3fc9a77d8279b7a833b2 Author: Paul Mundt Date: Fri May 22 14:00:34 2009 +0900 sh: clkfwk: Make clock-cpg usable for non-legacy platforms. This adds a new SH_CLK_CPG for parts that have CPG support. SH_CLK_CPG_LEGACY is made to depend on this, and still needs to be set for platforms that want clock-cpg to register the legacy clocks. With this new config item in place, it is now possible to start layering more generic CPG code in place while other platforms transition off of the legacy clocks. Signed-off-by: Paul Mundt commit 62fad39be0662a924b60e4354b802525ceda0bb1 Author: Paul Mundt Date: Fri May 22 13:50:18 2009 +0900 sh: Add a NR_IRQS_LEGACY for external IRQ0-7. This adds a NR_IRQS_LEGACY definition, which will be used by sparse irq. Signed-off-by: Paul Mundt commit 2f3ed17e010e8c0873094016f93c1afbb4adb666 Author: Paul Mundt Date: Fri May 22 13:47:52 2009 +0900 sh: Wrap irq_to_desc_alloc_cpu() around CONFIG_SPARSE_IRQ temporarily. irq_to_desc_alloc_cpu() has been renamed to irq_to_desc_alloc_node() in -next, but as we can not presently enable SPARSE_IRQ without the early irq_desc alloc patch, protect it with an ifdef until the interface has settled and we are ready to enable it system-wide. Signed-off-by: Paul Mundt commit 5f8371cec93b94a24a55ba1de642ce6eade6d62c Merge: 8e9bb19 d8586ba Author: Paul Mundt Date: Fri May 22 13:29:37 2009 +0900 Merge branches 'sh/stable-updates' and 'sh/sparseirq' commit 7fc1e5c15fde0fa9d2c08441f6898a9e51593d47 Author: Roel Kluin Date: Thu May 21 18:25:23 2009 +0000 sh: clkfwk: beyond ARRAY_SIZE of onchip_ops for sh7722. Do not go beyond ARRAY_SIZE of onchip_ops Signed-off-by: Roel Kluin Signed-off-by: Paul Mundt commit 6470c077cae12227318f40f3e6d756caadcce4b0 Author: Roel Kluin Date: Thu May 21 18:42:54 2009 +0200 smack: do not beyond ARRAY_SIZE of data Do not go beyond ARRAY_SIZE of data Signed-off-by: Roel Kluin Acked-by: Casey Schaufler Signed-off-by: James Morris commit e35ec126507529ce407136c6b9e36747d89891f9 Author: Alexander Duyck Date: Thu May 21 13:07:12 2009 +0000 ixgbe: only register DCA requester once The current driver tries to re-register the DCA requester after reset and this is not correct. This change makes it so all we are doing is resetting the DCA registers after reset and not re-adding the requester. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7e0e99ef43b1fab8caf0348e31704c7d15060ce0 Author: Alexander Duyck Date: Thu May 21 13:06:56 2009 +0000 igb: do not re-register DCA requester on device reset The current driver is re-registering the DCA requester after every reset. Instead of doing this we should only be updating the on board DCA registers and not unregistering/re-registering our requester. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0d63cbb535a9525445513389370d35b522a700f1 Author: Michał Mirosław Date: Thu May 21 10:34:06 2009 +0000 wireless: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 7ae740df3a9c68622156476dca29991de664fae4 Author: Michał Mirosław Date: Thu May 21 10:34:05 2009 +0000 netlabel: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. This fixes genetlink family leak on error path. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 8f698d54532172de3591af1e9394dc669f29e6ca Author: Michał Mirosław Date: Thu May 21 10:34:05 2009 +0000 ipvs: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit acb0a200ae48d95e3117608d0225a23e5efa283c Author: Michał Mirosław Date: Thu May 21 10:34:05 2009 +0000 tipc: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. This also changes netlink related variable names to be kernel-wide unique for consistency with other users. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 502664eeaf880d364821521bbced7ae342f77f64 Author: Michał Mirosław Date: Thu May 21 10:34:04 2009 +0000 irda: Use genl_register_family_with_ops() Use genl_register_family_with_ops() instead of a copy. Signed-off-by: Michał Mirosław Cc: Samuel Ortiz Signed-off-by: David S. Miller commit a7b11d738282337488ae158c975d76271ad43a98 Author: Michał Mirosław Date: Thu May 21 10:34:04 2009 +0000 genetlink: Introduce genl_register_family_with_ops() This introduces genl_register_family_with_ops() that registers a genetlink family along with operations from a table. This is used to kill copy'n'paste occurrences in following patches. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 4ea7e38696c7e798c47ebbecadfd392f23f814f9 Author: Neil Horman Date: Thu May 21 07:36:08 2009 +0000 dropmon: add ability to detect when hardware dropsrxpackets Patch to add the ability to detect drops in hardware interfaces via dropwatch. Adds a tracepoint to net_rx_action to signal everytime a napi instance is polled. The dropmon code then periodically checks to see if the rx_frames counter has changed, and if so, adds a drop notification to the netlink protocol, using the reserved all-0's vector to indicate the drop location was in hardware, rather than somewhere in the code. Signed-off-by: Neil Horman include/linux/net_dropmon.h | 8 ++ include/trace/napi.h | 11 +++ net/core/dev.c | 5 + net/core/drop_monitor.c | 124 ++++++++++++++++++++++++++++++++++++++++++-- net/core/net-traces.c | 4 + net/core/netpoll.c | 2 6 files changed, 149 insertions(+), 5 deletions(-) Signed-off-by: David S. Miller commit c9d9ac525a0285a5b5ad9c3f9aa8b7c1753e6121 Author: Mimi Zohar Date: Tue May 19 13:25:58 2009 -0400 integrity: move ima_counts_get Based on discussion on lkml (Andrew Morton and Eric Paris), move ima_counts_get down a layer into shmem/hugetlb__file_setup(). Resolves drm shmem_file_setup() usage case as well. HD comment: I still think you're doing this at the wrong level, but recognize that you probably won't be persuaded until a few more users of alloc_file() emerge, all wanting your ima_counts_get(). Resolving GEM's shmem_file_setup() is an improvement, so I'll say Acked-by: Hugh Dickins Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit b9fc745db833bbf74b4988493b8cd902a84c9415 Author: Mimi Zohar Date: Tue May 19 13:25:57 2009 -0400 integrity: path_check update - Add support in ima_path_check() for integrity checking without incrementing the counts. (Required for nfsd.) - rename and export opencount_get to ima_counts_get - replace ima_shm_check calls with ima_counts_get - export ima_path_check Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 932995f0ce52525b32ff5127b522c2c164de3810 Author: Eric Paris Date: Thu May 21 15:43:32 2009 -0400 IMA: Add __init notation to ima functions A number of IMA functions only used during init are not marked with __init. Add those notations so they are freed automatically. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 5789ba3bd0a3cd20df5980ebf03358f2eb44fd67 Author: Eric Paris Date: Thu May 21 15:47:06 2009 -0400 IMA: Minimal IMA policy and boot param for TCB IMA policy The IMA TCB policy is dangerous. A normal use can use all of a system's memory (which cannot be freed) simply by building and running lots of executables. The TCB policy is also nearly useless because logging in as root often causes a policy violation when dealing with utmp, thus rendering the measurements meaningless. There is no good fix for this in the kernel. A full TCB policy would need to be loaded in userspace using LSM rule matching to get both a protected and useful system. But, if too little is measured before userspace can load a real policy one again ends up with a meaningless set of measurements. One option would be to put the policy load inside the initrd in order to get it early enough in the boot sequence to be useful, but this runs into trouble with the LSM. For IMA to measure the LSM policy and the LSM policy loading mechanism it needs rules to do so, but we already talked about problems with defaulting to such broad rules.... IMA also depends on the files being measured to be on an FS which implements and supports i_version. Since the only FS with this support (ext4) doesn't even use it by default it seems silly to have any IMA rules by default. This should reduce the performance overhead of IMA to near 0 while still letting users who choose to configure their machine as such to inclue the ima_tcb kernel paramenter and get measurements during boot before they can load a customized, reasonable policy in userspace. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit d95ed9275edcb8995bda31005bb3f55e087626d7 Author: Eric W. Biederman Date: Tue May 19 18:27:17 2009 +0000 af_packet: Teach to listen for multiple unicast addresses. The the PACKET_ADD_MEMBERSHIP and the PACKET_DROP_MEMBERSHIP setsockopt calls for af_packet already has all of the infrastructure needed to subscribe to multiple mac addresses. All that is missing is a flag to say that the address we want to listen on is a unicast address. So introduce PACKET_MR_UNICAST and wire it up to dev_unicast_add and dev_unicast_delete. Additionally I noticed that errors from dev_mc_add were not propagated from packet_dev_mc so fix that. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ca0f31125c5cf0d48f47c2e1a3785a08876a7e87 Author: Stephen Hemminger Date: Thu May 21 15:10:31 2009 -0700 netns: simplify net_ns_init The net_ns_init code can be simplified. No need to save error code if it is only going to panic if it is set 4 lines later. Signed-off-by: Stephen Hemminger Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 1f7a2bb4eff75c56a71b3896c36a34e787c5e4e5 Author: Stephen Hemminger Date: Thu May 21 15:10:05 2009 -0700 netns: remove leftover debugging message Signed-off-by: Stephen Hemminger Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 99ae99533a059750c4b0f76295625b8ac5ea751a Merge: bcb8a0d 7a05a2c Author: Ben Dooks Date: Thu May 21 22:10:21 2009 +0100 [ARM] S3C24XX: Merge devel-gpio Merge branch 'devel-gpio' into for-rmk-devel commit 30cff215b54b20d201a2bd7d50361c4c14700281 Author: Magnus Damm Date: Wed May 20 13:44:40 2009 +0000 sh: clkfwk branch compile fix for clock-sh7722 Fix clkfwk branch compile error in clock-sh7722.c. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d8586ba6e1415150e1bab89f0a05447bb6f2d6d5 Author: Paul Mundt Date: Fri May 22 01:36:13 2009 +0900 sh: irq: Provide an arch_probe_nr_irqs() that wraps the machvec def. This is just a simple arch_probe_nr_irqs() stub that wraps to the platform defined number of IRQs. This can be made gradually more intelligent based on what we can infer from the INTC tables and so on. Signed-off-by: Paul Mundt commit 05ff3004d278b54760abd71530506d803182c71d Author: Paul Mundt Date: Fri May 22 01:28:33 2009 +0900 sh: irq: Teach ipr and intc about dynamically allocating irq_descs. This hooks in irq_to_desc_alloc_cpu() to the necessary code paths in the intc and ipr controller registration paths. As these are the primary call paths for all SH CPUs, this alone will make all CPUs sparse IRQ ready. There is the added benefit now that each CPU contains specific IPR and INTC tables, so only the vectors with interrupt sources backing them will ever see an irq_desc instantiation. This effectively packs irq_desc down to match the CPU, rather than padding NR_IRQS out to cover the valid vector range. Boards with extra sources will still have to fiddle with the nr_irqs setting, but they can continue doing so through the machvec as before. Signed-off-by: Paul Mundt commit fa1d43ab451084785153d37ae559c4fdd1546a5b Author: Paul Mundt Date: Fri May 22 01:26:16 2009 +0900 sh: irq: Convert from irq_desc[] to irq_to_desc(). This converts a few places that were using the old irq_desc[] array over to the shiny new irq_to_desc() helper. Preperatory work for sparse irq support. Signed-off-by: Paul Mundt commit 55620c86ebc29013c0d26c5b3bc423faea299fee Author: Paul Mundt Date: Fri May 22 01:16:17 2009 +0900 sh: irq: Rework the SR.IMASK bitmap handling. This tidies up how the SR.IMASK bitmap is managed, using the bitmap API directly instead. At the same time, tidy up the irq_chip conversion a bit. Signed-off-by: Paul Mundt commit b9479e666563d5c28eb861d2a8f6334666025384 Author: Michal Simek Date: Thu May 21 16:33:07 2009 +0200 microblaze: Fix cast warning for __va in prom.c __va expect 32bit value but of_read_ulong(of_read_number) returns 64bit value Signed-off-by: Michal Simek commit e93b55bfb3ead1cb4d9df7a5e0686318cfa8690c Author: Michal Simek Date: Thu May 21 13:53:56 2009 +0200 Microblaze: Remove unused variable from paging init Signed-off-by: Michal Simek commit cda1fd5a60e97a1a1bf96606f201818b207b2c5c Author: Michal Simek Date: Tue May 19 14:33:47 2009 +0200 microblaze: Cleanup compiled-in rootfs in BSS section This patch is based on patch from Steve Magnani. There were bug for compiled-in rootfs. We have to move moving rootfs which is in BSS section to _ebss section which is at the end of kernel and then clear bss section not vice-versa. Signed-off-by: Michal Simek commit 1dff89a9c7fab71b43ba79cc1aa6c6dbad582a35 Author: Michal Simek Date: Thu May 21 08:20:30 2009 +0200 microblaze: Fix early cmdline for CMDLINE_FORCE This patch fixed parsing early parameters because current implementation does that early parse DTS command line and then parse CMDLINE line which is compiled-in. For case that DTS doesn't contain command line is copied command line from kernel with is done in prom.c that's why I can remove it from machine_early_init. Signed-off-by: Michal Simek commit 1ce97e564b628bee30b8dbb64e5e653a484308f6 Author: Steven Whitehouse Date: Thu May 21 15:18:19 2009 +0100 GFS2: Be more aggressive in reclaiming unlinked inodes This patch increases the frequency with which gfs2 looks for unlinked, but still allocated inodes. Its the equivalent operation to ext3's orphan list, but done with bitmaps in the resource groups. This also fixes a bug where a field in the rgrp was too small. Signed-off-by: Steven Whitehouse commit 6e3d4e1d16a19f8462beb5bfe5f2c464770e795e Author: Steve Magnani Date: Sun May 17 20:32:07 2009 -0500 microblaze: Guard __HAVE_ARCH macros with __KERNEL__ in string.h A polarity reversal in the __KERNEL__ guard prevents the __HAVE_ARCH flags from being defined in kernel compilation. I noticed that there's now an option for assembly-optimized versions of memcpy and memmove. I believe this may be buggy; when I turn it on, all my printk output gets smashed together, as if the newlines aren't getting copied. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit c3055d14565516867e7a45553b90cb88d6277ec9 Author: Thomas Chou Date: Tue May 19 22:48:10 2009 +0800 microblaze: clean LDFLAGS to build kernel Extra LDFLAGS from user space building may cause kernel failed to compile. Signed-off-by: Thomas Chou Signed-off-by: Michal Simek commit 5af90438023786e27178cc542f9a775594f8a126 Author: Steve Magnani Date: Mon May 18 03:22:40 2009 +0200 microblaze: Fix paging init-zone initialization This patch fix problem with bad zone initialization. This bug wasn't perform because Microblaze doesn't define CONFIG_ZONE_DMA and ZONE_NORMAL was 0 for this case that's why free_area_init works with correct values. Original message: I believe that the switch from ZONE_DMA (== 0) to ZONE_NORMAL broke the free area initialization. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit f2224ff07f345f3f9716071cc90ee50e29af7497 Author: Arnd Bergmann Date: Mon Apr 27 17:38:25 2009 +0200 microblaze: use generic dma-mapping-broken.h Microblaze does not support the Linux DMA mapping API at this point, so disable CONFIG_NO_DMA. This lets us use the generic dma-mapping-broken.h implementation instead of providing a different copy. Any drivers that try to use DMA mapping now get omitted from Kconfig or produce a link error, rather than failing silently at run time. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit a6029d1c8cfc9ac2609195f31c2e70b584d3496e Author: Michal Simek Date: Tue May 12 12:10:52 2009 +0200 microblaze: prepare signal handling for generic unistd.h We need to define set_restore_sigmask() in order to get pselect and ppoll. Also, the setup_frame function can not be used when __NR_sigreturn is not defined. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 732703af9c3478c3f935dd5ae80140b9b12bda09 Author: Arnd Bergmann Date: Tue Mar 31 15:30:31 2009 +0200 microblaze: clean up checksum.c This changes the function prototypes in the checksum code to have the usual prototypes, typically by turning int arguments into __wsum. Also change csum_partial_copy_from_user() to operate on the right address space and export ip_fast_csum, which is used in modular networking code. The new version is now sparse-clean including endianess checks. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 838d2406ee62595c1b40d1d03b48bc9a2102258b Author: Arnd Bergmann Date: Fri May 1 13:36:13 2009 +0000 microblaze: remove bad_user_access_length This function was actually causing harm, by hiding errors about invalid sized get_user/put_user accesses. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit bb09791344d02c8caff596dc084b1542dcb70efe Author: Arnd Bergmann Date: Thu Apr 30 22:38:58 2009 +0000 microblaze: do not include types.h in ptrace.h linux/types.h breaks the uclibc build, so don't include it here. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 0c60155e14eb00fa13836a710a2d2efb63d8861c Author: Arnd Bergmann Date: Fri May 1 21:44:51 2009 +0000 microblaze: add a dummy pgprot_noncached Some device drivers call this, so add a macro that pretends to do this. Since there is no MMU support, it won't actually result in an uncached mapping, though. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 6b4374261a067e2e1b78602eb5e631a4e027dacf Author: Arnd Bergmann Date: Fri May 1 21:36:44 2009 +0000 microblaze: add security initcalls The security subsystem has its own initcalls, which need support in vmlinux.lds.S. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 122eec2f023f25fdd491ee9eb8eface4ded70728 Author: Arnd Bergmann Date: Sun May 10 14:32:11 2009 +0000 microblaze: remove cacheable_memcpy This function is neither declared nor used anywhere outside of ppc32, so remove it from microblaze. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 70f4cc29350222ff6baf70265f6482fc01565d48 Author: Arnd Bergmann Date: Sun May 10 14:26:52 2009 +0000 microblaze: kill incorrect __bad_xchg definition The whole point of the __bad_xchg declaration in system.h is to give a linker error when a variable of invalid size is passed to __xchg. The out of line definition in traps.c defeats this purpose and does not any value, so remove it here. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 353b431bafc42ed8782c7aec7fb819ca4e385ab1 Author: Arnd Bergmann Date: Fri May 1 13:37:46 2009 +0000 microblaze: fix __user annotations The microblaze signal handling code gets some __user pointers wrong, as shown by sparse. This adds the annotations where appropriate and change sys_rt_sigreturn to correctly pass a user stack down to do_sigaltstack instead of a kernel structure. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 5af7fa68103e7b2efb0fd9d901b1c25bad96fd21 Author: Arnd Bergmann Date: Fri May 1 21:48:15 2009 +0000 microblaze: export some symbols Some device drivers require the symbols _ebss, kernel_thread, __page_offset or ___range_ok, so export them. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 6fa612b56c575a5235568593eab4240c90608630 Author: Michal Simek Date: Mon May 11 15:49:12 2009 +0200 microblaze: Kconfig: Enable drivers for Microblaze Signed-off-by: Michal Simek commit 873a2e89c5e32a5c72a9ece76fcb871358ae22d2 Author: Michal Simek Date: Mon May 11 15:37:26 2009 +0200 microblaze: Remove POWERPC reference from Microblaze gpio.h Signed-off-by: Michal Simek commit 60a0b8f93664621a07b93273fc8ebc29590c62f5 Author: Steven Whitehouse Date: Thu May 21 12:23:12 2009 +0100 GFS2: Add a rgrp bitmap full flag During block allocation, it is useful to know if sections of disk are full on a finer grained basis than a single resource group. This can make a performance difference when resource groups have larger numbers of bitmap blocks, since we no longer have to search them all block by block in each individual bitmap. The full flag is set on a per-bitmap basis when it has been searched and found to have no free space. It is then skipped in subsequent searches until the flag is reset. The resetting occurs if we have to drop the glock on the resource group for any reason, or if we deallocate some blocks within that resource group and thus free up some space. Signed-off-by: Steven Whitehouse commit d7b41b1fdf162d3e26cb73bf2cf14816918e371e Author: Kumar Gala Date: Mon May 18 02:56:27 2009 +0000 powerpc/pci: clean up direct access to sysdata by iseries platform We shouldn't directly access sysdata to get the device node. We should be calling pci_device_to_OF_node(). Signed-off-by: Kumar Gala Tested-by: Stephen Rothwell Acked-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 80947e7c99c29ce3a78bdc1933b310468455a82f Author: Geert Uytterhoeven Date: Mon May 18 02:10:05 2009 +0000 powerpc: Keep track of emulated instructions If CONFIG_PPC_EMULATED_STATS is enabled, make available counters for the various classes of emulated instructions under /sys/kernel/debug/powerpc/emulated_instructions/ (assumed debugfs is mounted on /sys/kernel/debug). Optionally (controlled by /sys/kernel/debug/powerpc/emulated_instructions/do_warn), rate-limited warnings can be printed to the console when instructions are emulated. Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit f312deb4cd0c88196edf6dab192b7d42514398d6 Author: Vinay Sridhar Date: Thu May 14 23:13:07 2009 +0000 powerpc/xmon: Add dl command to dump contents of __log_buf Hello All, Quite a while back Michael Ellerman had posted a patch to add support to xmon to print the contents of the console log pointed to by __log_buf. Here's the link to that patch - http://ozlabs.org/pipermail/linuxppc64-dev/2005-March/003657.html I've ported the patch in the above link to 2.6.30-rc5 and have tested it. Thanks & regards, Vinay Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 2138422bbab91c3e924c9836e394f4925b456b79 Author: Becky Bruce Date: Thu May 14 12:42:27 2009 +0000 powerpc: Use sg->dma_length in sg_dma_len() macro on 32-bit Currently, the 32-bit code uses sg->length instead of sg->dma_lentgh to report sg_dma_len. However, since the default dma code for 32-bit (the dma_direct case) sets dma_length and length to the same thing, we should be able to use dma_length there as well. This gets rid of some 32-vs-64-bit ifdefs, and is needed by the swiotlb code which actually distinguishes between dma_length and length. Signed-off-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 45db9240890d9343c934db1fe82d6e68ac2d28da Author: Jan Blunck Date: Wed May 13 05:58:56 2009 +0000 powerpc/spufs: Remove double check for non-negative dentry This patch removes an unnecessary double check if the dentry returned by lookup_create() is actually non-negative. Since lookup_create() itself returns an error in this case just remove the check. Signed-off-by: Jan Blunck Signed-off-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 8d165db10772f238103c3e8f955c54145e5c07f3 Author: Anton Blanchard Date: Sun May 10 13:37:36 2009 +0000 powerpc: Improve decrementer accuracy I have been looking at sources of OS jitter and notice that after a long NO_HZ idle period we wakeup too early: relative time (us) event timer irq exit 999946.405 timer irq entry 4.835 timer irq exit 21.685 timer irq entry 3.540 timer (tick_sched_timer) entry Here we slept for just under a second then took a timer interrupt that did nothing. 21.685 us later we wake up again and do the work. We set a rather low shift value of 16 for the decrementer clockevent, which I think is causing this issue. On this box we have a 207MHz decrementer and see: clockevent: decrementer mult[3501] shift[16] cpu[0] For calculations of large intervals this mult/shift combination could be off by a significant amount. I notice the sparc code has a loop that iterates to find a mult/shift combination that maximises the shift value while keeping mult under 32bit. With the patch below we get: clockevent: decrementer mult[35015c20] shift[32] cpu[15] And we no longer see the spurious wakeups. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 9aa4e7b1699d0fa197778da96de7e03fa2374f0a Author: Kumar Gala Date: Tue May 5 02:20:09 2009 +0000 powerpc/pci: Remove redundant pcnet32 fixup The pcnet32 driver has had in its device id table for some time a match against the "broken" vendor ID. No need to fake out the vendor ID with an explicit fixup. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit cf6692c07ab4cba8a28780b67706ac804319086b Author: Kumar Gala Date: Tue May 5 02:20:08 2009 +0000 powerpc/pci: Cleanup some minor cruft * Removed building setup-irq on ppc32, we don't use it anymore * Remove duplicate prototype for setup_grackle() code that needs it gets it from * Removed gratuitous pci_io_size type differences between ppc32/ppc64 Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 2eb4afb69ff3cdd357d5e68ed82cd131916bd8a7 Author: Kumar Gala Date: Thu Apr 30 09:26:21 2009 +0000 powerpc/pci: Move pseries code into pseries platform specific area There doesn't appear to be any specific reason that we need to setup the pseries specific notifier in generic arch pci code. Move it into pseries land. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 58513dc40d8e01f0c0ccea4cdcbc32e9dcee62fd Author: Kumar Gala Date: Thu Apr 30 03:10:15 2009 +0000 powerpc/pci: Clean up direct access to sysdata by celleb platforms We shouldn't directly access sysdata to get the device node to just go get the pci_controller. We can call pci_bus_to_host() for this purpose. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 2f52297665d2ebfaa24406003cf9e5a7b635f47d Author: Kumar Gala Date: Thu Apr 30 03:10:14 2009 +0000 powerpc/pci: Clean up direct access to sysdata by RTAS We shouldn't directly access sysdata to get the device node but call pci_bus_to_OF_node() for this purpose. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 95272262aa43a85ad134c2ceeacb28e8b755ede1 Author: Kumar Gala Date: Thu Apr 30 03:10:13 2009 +0000 powerpc/pci: Clean up direct access to sysdata by powermac platforms We shouldn't directly access sysdata to get the device node but call pci_bus_to_OF_node() for this purpose. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit bccd6f73f0a81b91655ab63d09bd60f7fbb3231b Author: Kumar Gala Date: Thu Apr 30 03:10:12 2009 +0000 powerpc/pci: Clean up direct access to sysdata on tsi108 platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8456993ead5e64f5b755df6ac298757af4ceec59 Author: Kumar Gala Date: Thu Apr 30 03:10:11 2009 +0000 powerpc/pci: Clean up direct access to sysdata by CHRP platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f159edaef31da2ba01511d1f7b2fe22bb048290f Author: Kumar Gala Date: Thu Apr 30 03:10:10 2009 +0000 powerpc/pci: Clean up direct access to sysdata by 4xx platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 5b21fb8e769d2cd798ba2ffb051cd576390a568f Author: Kumar Gala Date: Thu Apr 30 03:10:09 2009 +0000 powerpc/pci: Clean up direct access to sysdata by 52xx platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8206a110cbaa029570d037c0aeafeb181443b6b8 Author: Kumar Gala Date: Thu Apr 30 03:10:08 2009 +0000 powerpc/pci: Clean up direct access to sysdata by FSL platforms We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 19afa40797a3b392b64bf0b30b46e62001eeb66f Author: Kumar Gala Date: Thu Apr 30 03:10:07 2009 +0000 powerpc/pci: Clean up direct access to sysdata by indirect ops We shouldn't directly access sysdata to get the pci_controller. Instead use pci_bus_to_host() for this purpose. In the future we might have sysdata be a device_node to match ppc64 and unify the code between ppc32 & ppc64. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 60dbf4385130136847ea73657da329f8e7dbe16e Author: Milton Miller Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Add 2.06 tlbie mnemonics This adds the PowerPC 2.06 tlbie mnemonics and keeps backwards compatibilty for CPUs before 2.06. Only useful for bare metal systems. Signed-off-by: Milton Miller Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit af20aeb1a3292ae7ecfc492a4dc059e35465e016 Author: Milton Miller Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Enable MMU feature sections for inline asm powerpc: Enable MMU feature sections for inline asm This adds the ability to do MMU feature sections for inline asm. Signed-off-by: Milton Miller Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit dfb432cb960bfcbdf668d0a228bc909897156b31 Author: Michael Neuling Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Move VSX load/stores into ppc-opcode.h Cleans up the VSX load/store instructions by moving them into ppc-opcode.h. Signed-off-by: Michael Neuling Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit da6b43c833f885d8604aee7f9711bb457a40d863 Author: Michael Neuling Date: Wed Apr 29 20:58:01 2009 +0000 powerpc: Cleanup macros in ppc-opcode.h Make macros more braces happy. Signed-off-by: Michael Neuling Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit d89ebca2248ab03a5928e7dd30b6c304283fc207 Author: Kumar Gala Date: Tue Apr 28 03:32:36 2009 +0000 powerpc: Fix up elf_read_implies_exec() usage We believe if a toolchain supports PT_GNU_STACK that it sets the proper PHDR permissions. Therefor elf_read_implies_exec() should only be true if we don't see PT_GNU_STACK set. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8e27f4dab386c3898566cb7c4fa674c9eda4c79f Author: Michael Ellerman Date: Wed Apr 22 15:31:45 2009 +0000 powerpc/irq: We don't need __do_IRQ() anymore So select GENERIC_HARDIRQS_NO__DO_IRQ to disable it. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit f11f76d4b8ebe74100712a0f42f8c5a969aa149b Author: Michael Ellerman Date: Wed Apr 22 15:31:44 2009 +0000 powerpc/powermac: Use generic_handle_irq() in gatwick_action() Don't call __do_IRQ() directly in gatwick_action(), use generic_handle_irq(). Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 835363e67dc27ad0809de05b2b5a8b725c95d77f Author: Michael Ellerman Date: Wed Apr 22 15:31:43 2009 +0000 powerpc/irq: Remove fallback to __do_IRQ() We should no longer have any irq code that needs __do_IRQ(), so remove the fallback to __do_IRQ(). Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 9b647a30cbc228259555d6b0b6bc7d9ec798f907 Author: Michael Ellerman Date: Wed Apr 22 15:31:38 2009 +0000 powerpc/irq: Move get_irq() comment into header The guts of do_IRQ() isn't really the right place to be documenting the ppc_md.get_irq() interface. So move the comment into machdep.h Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit d7cb10d6d23f451eec3d1f0f4e4e8862333fa152 Author: Michael Ellerman Date: Wed Apr 22 15:31:37 2009 +0000 powerpc/irq: Move stack overflow check into a separate function Makes do_IRQ() shorter and clearer. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit f2694ba56808a3a0fa45d9bb45289575f31e48d2 Author: Michael Ellerman Date: Tue Apr 28 01:57:43 2009 +0000 powerpc/irq: Move #ifdef'ed body of do_IRQ() into a separate function Rather than a giant ifdef in the body of do_IRQ(), including a dangling else, move the irq stack logic into a separate routine and do the ifdef there. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit fb94fc2b89ea0422950cb1220f275622246bd66d Author: Geoff Levand Date: Thu Apr 16 09:05:39 2009 +0000 powerpc/ps3: Use smp_request_message_ipi ps3 has 4 ipis per cpu and can use the new smp_request_message_ipi to reduce path length when receiving an ipi. This has the side effect of setting IRQF_PERCPU. Signed-off-by: Milton Miller Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 14f966e79445015cd89d0fa0ceb6b33702e951b6 Author: Robert Jennings Date: Wed Apr 15 05:55:32 2009 +0000 powerpc/pseries: CMO unused page hinting Adds support for the "unused" page hint which can be used in shared memory partitions to flag pages not in use, which will then be stolen before active pages by the hypervisor when memory needs to be moved to LPARs in need of additional memory. Failure to mark pages as 'unused' makes the LPAR slower to give up unused memory to other partitions. This adds the kernel parameter 'cmo_free_hint' to disable this functionality. Signed-off-by: Brian King Signed-off-by: Robert Jennings Signed-off-by: Benjamin Herrenschmidt commit d69a78d7daada190b42269a73daabe32a5e138a6 Author: Tony Breeds Date: Tue Apr 7 18:26:54 2009 +0000 powerpc/mpic: Cleanup mpic_find() implementation mpic_find() was overloaded to do two things, finding the mpic instance for a given interrupt and returning if it's an IPI. Instead we introduce mpic_is_ipi() and simplify mpic_find() to just return the mpic instance Also silences the warning: arch/powerpc/sysdev/mpic.c: In function 'mpic_irq_set_priority': arch/powerpc/sysdev/mpic.c:1382: warning: 'is_ipi' may be used uninitialized in this function Signed-off-by: Tony Breeds Acked-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 805e324b7fbddf9f420f0ea09eb61c21777b0526 Author: Sean MacLennan Date: Mon Apr 6 11:58:25 2009 +0000 powerpc: Update Warp to use leds-gpio driver Now that leds-gpio is a proper OF platform driver, the Warp can use the leds-gpio driver rather than the old out-of-kernel driver. One side-effect is the leds-gpio driver always turns the leds off while the old driver left them alone. So we have to set them back to the correct settings. Signed-off-by: Sean MacLennan Signed-off-by: Benjamin Herrenschmidt commit 703cebabd173a7fe533d6f21df0347b1f2a9a1e1 Author: Divy Le Ray Date: Wed May 20 15:56:12 2009 +0000 cxgb: set phy's mdio dev before the phy init sequence mdio's dev field needs to be set before mdio ops occur. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 86c890ab1b183f8f17ce03c24b62c564e95f957f Author: Divy Le Ray Date: Wed May 20 15:56:02 2009 +0000 cxgb3: set phy's mdio dev before the phy init sequence mdio's dev field needs to be set before mdio ops occur. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 64318334bf5096a65c7141bea4833910d112d939 Author: Ben Hutchings Date: Tue May 19 13:22:30 2009 +0000 cxgb3: Use generic XENPAK LASI register definitions Signed-off-by: Ben Hutchings Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit aa22437e87469fdee94b5344780b4a3dbb87a154 Author: Ben Hutchings Date: Tue May 19 13:21:07 2009 +0000 chelsio: Use generic XENPAK LASI register definitions Signed-off-by: Ben Hutchings Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 9f29f6de56462a363d3cc1d5f000961d622c5888 Author: Klaus-Dieter Wacket Date: Tue May 19 21:38:41 2009 +0000 qeth: Clear SBALF15 in any case for output buffers. Function qeth_clear_output_buffer for HiperSockets may not clear all 16 SBALEs, but only the used ones. The error flag in SBALF15 has to be cleared in any case. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit b91398008cae916c528d907f5d7a9ed54f35b4e9 Author: Ursula Braun Date: Tue May 19 21:38:40 2009 +0000 qeth: omit upstream checksumming for HiperSockets For HiperSocket devices receive-path checksumming is not required. Thus NO_CHECKSUMMING is used as default for HiperSocket interfaces. For layer3 devices configured with NO_CHECKSUMMING received skbs should have set their ip_summed field to CHECKSUM_UNNECESSARY. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 0666eb06ab12b1f876719ff5b7d39cf3c609dec3 Author: Ursula Braun Date: Tue May 19 21:38:39 2009 +0000 qeth: support z/VM VSWITCH Port Isolation z/VM Virtual Switch Port Isolation allows guests on a VLAN UNAWARE virtual switch to be isolated from other guests on the VSWITCH. (See z/VM Apars VM64281 and VM64463). The Linux qeth driver is affected, because it has to handle new error codes introduced with the z/VM VSWITCH Port Isolation support. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 8ac6d452281b01b9c7ff382d640b547379e398cd Author: Ursula Braun Date: Tue May 19 21:38:38 2009 +0000 ctcm: avoid crash in ctcm_remove_device Channels are already removed when setting a ctcm-device offline. Thus ctcm_remove_device must not refer to channel information. Solution: delete channel information from the trace call in ctcm_remove_device. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit f214856540f6d704e817bf6b26a6bca9e697ee72 Author: Ursula Braun Date: Tue May 19 21:38:37 2009 +0000 qeth: avoid crash after detach of replugged device If a qeth device is plugged off, setting the device online stops in state HARDSETUP and a failure is reported to the base cio-layer causing halt/clear to be invoked. Replugging the device again triggers a qeth recovery without notification of the cio-layer. If a device is ungrouped in this state, the qeth set_offline function is not invoked, because the corresponding ccwgroup device is not in state ONLINE. Then incoming traffic is still handled by the qdio layer resulting in a crash in qeth_l_qdio_input_handler, because (part of) the qeth data structures for this device are already removed. Solution: After replugging the device qeth recovery should lead to a working net device. Thus a "LAN offline" result when setting a qeth device online must not report a failure to the base cio-layer. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 04af8cf6f320031090ab6fa4600b912b0c18fb4b Author: Rami Rosen Date: Wed May 20 17:26:23 2009 -0700 net: Remove unused parameter from fill method in fib_rules_ops. The netlink message header (struct nlmsghdr) is an unused parameter in fill method of fib_rules_ops struct. This patch removes this parameter from this method and fixes the places where this method is called. (include/net/fib_rules.h) Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 288ddad5b095ff65812cf1060c67d23c07568871 Author: Eric W. Biederman Date: Wed May 20 15:52:40 2009 -0700 syscall: Sort out syscall_restart name clash. Stephen Rothwell writes: > Today's linux-next build of at least some av32 and arm configs failed like this: > > arch/avr32/kernel/signal.c:216: error: conflicting types for 'restart_syscall' > include/linux/sched.h:2184: error: previous definition of 'restart_syscall' was here > > Caused by commit 690cc3ffe33ac4a2857583c22d4c6244ae11684d ("syscall: > Implement a convinience function restart_syscall") from the net tree. Grrr. Some days it feels like all of the good names are already taken. Let's just rename the two static users in arm and avr32 to get this sorted out. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b0d428adebe9f1232c72bf4c686a6f0eed047cc2 Author: Randy Dunlap Date: Mon Apr 27 21:49:31 2009 -0700 [SCSI] fcoe, libfc: fix function declarations to be ANSI-compliant Fix function declarations: drivers/scsi/fcoe/fcoe.c:1356:28: warning: non-ANSI function declaration of function 'fcoe_dev_setup' drivers/scsi/libfc/fc_rport.c:1293:20: warning: non-ANSI function declaration of function 'fc_setup_rport' drivers/scsi/libfc/fc_rport.c:1302:23: warning: non-ANSI function declaration of function 'fc_destroy_rport' [jejb: fixed wrong doc in comment noticed during inspection] Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 73da9c13d4df3c1715029aa45edc78d71b617dfd Author: FUJITA Tomonori Date: Wed Apr 22 17:42:25 2009 -0700 [SCSI] scsi_debug: fix virtual disk larger than 1TB Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f381642d8f8963e62f5d45774505fd936f2b6072 Author: Kleber S. Souza Date: Wed Apr 22 10:50:28 2009 -0300 [SCSI] ipr: ipr_remove() marked __devexit Marking the ipr clean up function ipr_remove() as __devexit and using __devexit_p() macro in its address reference. Signed-off-by: Kleber Sacilotto de Souza Reported-by: Breno Leitao Acked-by: Brian King Signed-off-by: James Bottomley commit 8f03226358972f93cd45be0a710927cbb7fd5127 Author: Chauhan, Vijay Date: Mon Apr 20 18:14:23 2009 +0530 [SCSI] scsi_dh_rdac: Retry for NOT_READY(02/04/01) in rdac device handler During device discovery read capacity fails with 0x020401 and sets the device size to 0. As a reason any I/O submitted to this path gets killed at sd_prep_fn with BLKPREP_KILL. This patch is to retry for 0x020401. NEED_RETRY in scsi_decide_disposition does not give sufficient time for the device to become ready. Signed-off-by: Vijay Chauhan Signed-off-by: James Bottomley commit fa8584566cc9cdaf067dbc12132792887a521da9 Author: Aaro Koskinen Date: Tue Apr 14 15:47:00 2009 -0500 [SCSI] sym53c8xx_2: slave_alloc/destroy safety (2.6.27.5) Make the sym53c8xx_2 driver slave_alloc/destroy less unsafe. References to the destroyed LCB are cleared from the target structure (instead of leaving a dangling pointer), and when the last LCB for the target is destroyed the reference to the upper layer target data is cleared. The host lock is used to prevent a race with the interrupt handler. Also user commands are prevented for targets with all LCBs destroyed. Signed-off-by: Aaro Koskinen Tested-by: Tony Battersby Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 410604d25faddb1b4f0f9667b7452c06cc06cea1 Author: Aaro Koskinen Date: Tue Apr 14 15:46:59 2009 -0500 [SCSI] sym53c8xx_2: lun to_clear flag not re-initialized (2.6.27.5) (Resent with proper formatting) Fix for the sym53c8xx_2 driver to initialize lun's to_clear flag after a bus reset (a failed clear can trigger a bus reset and it should not be attemped again after that). Signed-off-by: Aaro Koskinen Tested-by: Tony Battersby Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 413e6e18b483de272bdafa56e5c086c75f11d681 Author: Michael Reed Date: Wed Apr 8 14:34:33 2009 -0500 [SCSI] qla1280: error recovery rewrite The driver now waits for the scsi commands associated with a particular error recovery step to be returned to the mid-layer, and returns the appropriate SUCCESS or FAILED status. Removes unneeded polling of chip for interrupts. This patch also bumps the driver version number. Signed-off-by: Michael Reed Signed-off-by: James Bottomley commit fd65e5e93cbd9d2f34bbb0f0b2f46a30a1d20915 Author: Michael Reed Date: Wed Apr 8 14:33:48 2009 -0500 [SCSI] qla1280: driver clean up Remove some unneeded, inactive and unused code, make some trivial corrections to comments and a printk, and return a proper status in qla1280_queuecommand. No fundamental logic changes are made. Signed-off-by: Michael Reed Signed-off-by: James Bottomley commit 14faf12f7df8404c3e8e54baad8d178c327a2f87 Author: Alan Stern Date: Thu Mar 12 11:08:51 2009 -0400 [SCSI] Increase default timeout for INQUIRY This patch (as1224) changes the default timeout for INQUIRY commands from 3 seconds to 20 seconds, which is the value used by Windows for USB Mass-Storage devices. Some of these devices, like the Corsair Flash Voyager (see Bugzilla #12188) really do need a long timeout. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 20b09c2992fefbe78f8cede7b404fb143a413c52 Author: Andy Yan Date: Fri May 8 17:46:40 2009 -0400 [SCSI] mvsas: add support for 94xx; layout change; bug fixes This version contains following main changes - Switch to new layout to support more types of ASIC. - SSP TMF supported and related Error Handing enhanced. - Support flash feature with delay 2*HZ when PHY changed. - Support Marvell 94xx series ASIC for 6G SAS/SATA, which has 2 88SE64xx chips but any different register description. - Support SPI flash for HBA-related configuration info. - Other patch enhanced from kernel side such as increasing PHY type [jejb: fold back in DMA_BIT_MASK changes] Signed-off-by: Ying Chu Signed-off-by: Andy Yan Signed-off-by: Ke Wei Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit dd4969a892ea522ecf9d7d826ba1531ce044d46f Author: Jeff Garzik Date: Fri May 8 17:44:01 2009 -0400 [SCSI] mvsas: split driver into multiple files Split mvsas driver into multiple source codes, based on the split and function distribution found in Marvell's mvsas update. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 2ad52f473bbc1aa5b33c4a329b8a359f125e19d1 Author: Jeff Garzik Date: Fri May 8 16:35:37 2009 -0400 [SCSI] mvsas: move into new directory drivers/scsi/mvsas/ Zero functional changes, just file movement. This commit prepares for the upcoming integration of the Marvell-provided driver update that splits the driver into support for both 64xx and 94xx chip families. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit a03706017e443ced6e354d434142989c9e8653d7 Author: Andrew Vasquez Date: Mon Apr 6 22:33:51 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e5b68a61e15ca8e200c60cfd4dbe1818e6beb4e1 Author: Anirban Chakraborty Date: Mon Apr 6 22:33:50 2009 -0700 [SCSI] qla2xxx: Use port number to compute nvram/vpd parameter offsets. Read adapter's physical port number from interrupt pin register and use it instead of pci function number to offset into the nvram to obtain the port's configuration parameters. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e337d9070e5821e7c8e5973679bdd34376263bd1 Author: Andrew Vasquez Date: Mon Apr 6 22:33:49 2009 -0700 [SCSI] qla2xxx: Add an override option to specify ISP firmware load semantics. As it may be useful during debugging to use a specific firmware image. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b469a7cbe9bf68939c90f4ac6bc2bb99e47d7229 Author: Andrew Vasquez Date: Mon Apr 6 22:33:48 2009 -0700 [SCSI] qla2xxx: Don't try to 'stop' firmware if already in ROM code. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a13d8ac057705c479b8bf15e5303f18f899502f9 Author: Michael Reed Date: Mon Apr 6 22:33:47 2009 -0700 [SCSI] qla2xxx: Conditionally disable automatic queue full tracking. Changing a lun's queue depth (/sys/block/sdX/device/queue_depth) isn't sticky when the device is connected via a QLogic fibre channel adapter. The QLogic qla2xxx fibre channel driver dynamically adjusts a lun's queue depth. If a user has a specific need to limit the number of commands issued to a lun (say a tape drive, or a shared raid where the total commands issued to all luns is limited at the controller level, for example) and writes a limiting value to /sys/block/sdXX/device/queue_depth, the qla2xxx driver will silently and gradually increase the queue depth back to the driver limit of ql2xmaxqdepth. While reducing this value (module parameter) or increasing the interval between ramp ups (ql2xqfullrampup) offers the potential for a work around it would be better to have the option of just disabling the dynamic adjustment of queue depth. This patch implements an "off switch" as a module parameter. Signed-off-by: Michael Reed Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e1f916035f149540e5090207ceafca9ba779084e Author: Joe Carnuccio Date: Mon Apr 6 22:33:46 2009 -0700 [SCSI] qla2xxx: Perform an implicit login to the Management Server. Set the conditional plogi option bit whenever logging in the fabric management server (if it is already logged in, it does not need an explicit login; an implicit login suffices). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7d0dba174af217c73931532adf6bffb91d16c40f Author: Andrew Vasquez Date: Mon Apr 6 22:33:45 2009 -0700 [SCSI] qla2xxx: Restrict model-name/description device-table usage. Information present in static table is only valid for pre-ISP25xx adapters. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fc3ea9bcb86a1c5126807f747291563e08405944 Author: Harish Zunjarrao Date: Mon Apr 6 22:33:44 2009 -0700 [SCSI] qla2xxx: Correct hard-coded address of a second-port's NVRAM. Signed-off-by: Harish Zunjarrao Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8f979751367b9975fe606bce6a64b9d871dcfcfa Author: Andrew Vasquez Date: Mon Apr 6 22:33:43 2009 -0700 [SCSI] qla2xxx: Correct typo in read_nvram() callback. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 67c2e93ae7465a3e279503ceddd7bd153d74bcf8 Author: Anirban Chakraborty Date: Mon Apr 6 22:33:42 2009 -0700 [SCSI] qla2xxx: Remove reference to request queue from scsi request block. srbs used to maintain a reference to the request queue on which it was enqueued. This is no longer required as the request queue pointer is now maintained in the scsi host that issues the srb. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 68ca949cdb04b4dc71451a999148fbc5f187a220 Author: Anirban Chakraborty Date: Mon Apr 6 22:33:41 2009 -0700 [SCSI] qla2xxx: Add CPU affinity support. Set the module parameter ql2xmultique_tag to 1 to enable this feature. In this mode, the total number of response queues created is equal to the number of online cpus. Turning the block layer's rq_affinity mode on enables requests to be routed to the proper cpu and at the same time it enables completion of the IO in a response queue that is affined to the cpu in the request path. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2afa19a9377ca61b9489e44bf50029574fbe63be Author: Anirban Chakraborty Date: Mon Apr 6 22:33:40 2009 -0700 [SCSI] qla2xxx: Add QoS support. Set the number of request queues to the module paramater ql2xmaxqueues. Each vport gets a request queue. The QoS value set to the request queues determines priority control for queued IOs. If QoS value is not specified, the vports use the default queue 0. Signed-off-by: Anirban Chakraborty Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7640335ea5b1a2da0d64303e6003012c619ae01a Author: Andrew Vasquez Date: Mon Apr 6 22:33:39 2009 -0700 [SCSI] qla2xxx: Correct compilation failures when DEBUG'n' options are enabled. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bad7001c200458c24864df6f2b1b66548bca7c75 Author: Andrew Vasquez Date: Mon Apr 6 22:33:38 2009 -0700 [SCSI] qla2xxx: Export additional FCoE attributes for application support. Cull and export VN_Port MAC address and VLAN_ID information on supported FCoE ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d53b48d512ef477c939aba09c7e258b8dc331b6a Author: Seokmann Ju Date: Mon Apr 6 22:33:37 2009 -0700 [SCSI] qla2xxx: Correct bus-reset behaviour with recent ISPs. The short-circuit to skip the non-applicable 'full-login-lip' process on 81xx ISPs was nested too deeply in the 'bus-reset' routine, as the code in qla2x00_loop_reset() should skip the whole enable_lip_full_login process. The original code could cause device tear-down due to the qla2x00_wait_for_loop_ready() call taking a large amount of time. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 45d7c46d54dae008f66db58e6bd31d9b31833043 Merge: 279e677 2b69a8a Author: James Bottomley Date: Wed May 20 17:20:44 2009 -0500 Merge branch 'scsi-fixes' into merge-base commit 9cef873798dfcdc10ff40b02abf1de935ceeba85 Author: Johannes Berg Date: Thu May 14 13:10:14 2009 +0200 mac80211: fix managed mode BSSID handling Currently, we will ask the driver to configure right away when somebody changes the desired BSSID. That's totally strange because then we will configure the driver without even knowing whether the BSS exists. Change this to only configure the BSSID when associated, and configure a zero BSSID when not associated. As a side effect, this fixes an issue with the iwlwifi driver which doesn't implement sta_notify properly and uses the BSSID instead and gets very confused if the BSSID is cleared before we disassociate, which results in the warning Marcel posted [1] and iwlwifi bug 1995 [2]. [1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/32598 [2] http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1995 Cc: Marcel Holtmann Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bbcf3f02771e069d0e113fe9bb62c27b671abf97 Author: Luis R. Rodriguez Date: Tue May 19 17:49:47 2009 -0400 cfg80211: warn when wiphy_apply_custom_regulatory() does nothing Device drivers using wiphy_apply_custom_regulatory() want some regulatory settings applied to their wiphy, if no bands were configured on the wiphy then something went wrong. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eeddfd9db3b1c50d49202d0be35aae187fa90129 Author: Luis R. Rodriguez Date: Tue May 19 17:49:46 2009 -0400 ath9k: set max default eirp to 20 dBm This is always discarded anyway but lets just set this to our safest lowest. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db67645db623caa12976293caa95fcd33d8c11b4 Author: Johannes Berg Date: Wed May 20 09:05:10 2009 +0200 mac80211: fix parameter confusion when finding IBSS When I fixed the crypto bit I must have done the negative test only -- it is quite clearly impossible to find _any_ IBSS to join with the parameters put the wrong way around. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c26c2e576dc05d90e8eadc0c6ca273ed7aa12535 Author: Luis R. Rodriguez Date: Tue May 19 18:27:11 2009 -0400 ath9k: fix custom regulatory call position ath_regd_init() needs to be called with the wiphy already properly set with the bands. Without this the custom regulatory settings were not taking effect, and the device would get the default channel settings from ath9k_[25]ghz_chantable. Reported-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 175427ce40bd5a3f973a76c46502875f0eed877c Author: Johannes Berg Date: Tue May 19 22:16:25 2009 +0200 mac80211: don't try to do anything on unchanged genIE When the genIE hasn't changed there's no reason to kick the state machine since it won't be able to do anything new -- doing this decreases the useless work we do for reassociating because if we do kick the state machine it will try to find a usable BSS but there might not be one because wpa_supplicant will only change the BSSID a little later. In a sense this is a workaround for userspace behaviour, but on the other hand userspace cannot really keep track of what the kernel currently has for genIE since any process could have changed that while wpa_supplicant wasn't looking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ce4c45e099a81b2bc820b6e145aa9058c5acf0bd Author: Alexandre Becholey Date: Tue May 19 17:52:56 2009 +0200 rt73usb: fix for master mode Report status unknown as if there were successfully transmitted. This will avoid hostapd to disassociate because it doesn't understand what a status unknown is. Signed-off-by: Alexandre Becholey Signed-off-by: John W. Linville commit 7e0aae4732067e1bdb546071423a0b3483a79d9a Author: Jouni Malinen Date: Tue May 19 19:25:58 2009 +0300 mac80211: Do not override AID in the duration field When updating the duration field for TX frames, skip the update for PS-Poll frames that use this field for other purposes (AID). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 30196673fe17934617b5d5bfd456a0edf057a0b9 Author: Jouni Malinen Date: Tue May 19 17:01:43 2009 +0300 mac80211: PS processing for every Beacon with our AID in TIM If the AP includes our AID in the TIM IE, we need to process the Beacon frame as far as PS is concerned (send PS-Poll or nullfunc data with PM=0). The previous code skipped this in cases where the CRC value did not change and it would not change if the AP continues including our AID in the TIM.. There is no need to count the crc32 value for directed_tim with this change, so we can remove that part. In order not to change the order of operations (i.e., update WMM parameters prior to sending PS-Poll), the CRC match is checked twice as only after the PS processing step, the rest of the function is skipped if nothing changed in the Beacon. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit dc8c4585d2e6f3bf5c9d8c0a6036b591bd3baf2e Author: Jouni Malinen Date: Tue May 19 17:01:42 2009 +0300 ath9k: Set PM field in frame control when in PS mode mac80211 does not set PM field for normal data frames, so we need to update that based on the current PS mode when using PS-Poll (timeout=0) power save mode. This allows the AP to remain in sync with our PS state. However, there is still a potential race condition between PS state changes when multiple TX queues are used and nullfunc and PS-Poll frames use different queue. That corner case may need to be handled separately by changing which queue is used either in ath9k or mac80211. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit aa68aeaaff8bbf58e355eb83b7d0c14ce82b2f12 Author: Jouni Malinen Date: Tue May 19 17:01:41 2009 +0300 ath9k: Wake up for RX filter changes We must make sure the chip is awake when changing the RX filter parameters. This could have caused problems, e.g., when changing the interface to promiscuous mode while in sleep mode. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 54ce846e2c5ade77bc6650d8e8c7e775e01ad859 Author: Jouni Malinen Date: Tue May 19 17:01:40 2009 +0300 ath9k: Use TSFOOR interrupt to trigger TSF sync with next Beacon If the chip complains about TSF sync, make sure we remain awake to sync with the next Beacon frame. In theory, this should not be needed since we are currently trying to receive all Beacon frames, anyway, better have this code ready should we ever change that. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1ffc1c61bdbe31105d99d65043bbf7ae6d24dbc7 Author: Jouni Malinen Date: Tue May 19 17:01:39 2009 +0300 ath9k: Do not try to calibrate radio when in sleep mode When the chip is in sleep mode, there is no point trying to calibrate the radio since it will just results in incorrect values being read from registers and other potential issues. In addition, if we actually start processing calibrate, do not allow the chip to be put into sleep until we have completed the calibration step. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9a23f9ca50943c1b4535d22b3acda3c31b4ad072 Author: Jouni Malinen Date: Tue May 19 17:01:38 2009 +0300 ath9k: Wake up for TX in mac80211 timeout=0 sleep mode When using timeout=0 (PS-Poll) with mac80211, the driver will need to wake up for TX requests and remain awake until the TX has been completed (ACK received or timeout) or until the buffer frame(s) have been received (in case the TX is for a PS-Poll frame). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit cce4c77b87ce7e71a0f244a3dfb6ac1c3a1bc67e Author: Johannes Berg Date: Tue May 19 10:39:34 2009 +0200 mac80211: fix kernel-doc Moving information from config_interface to bss_info_changed removed struct ieee80211_if_conf which the documentation still refers to, additionally there's one kernel-doc description too much and one other missing, fix all this. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2c617b0324c4b05e8e08f14407a9be3b7756768f Author: Ivo van Doorn Date: Tue May 19 07:26:04 2009 +0200 rt2x00: Add USB ID for rt2800usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e43e820c9cc5cc37ca8fc07d1f18cb29f13a2ce8 Author: Pavel Roskin Date: Mon May 18 21:43:52 2009 -0400 cfg80211: fix compile error with CONFIG_CFG80211_DEBUGFS If CONFIG_CFG80211_DEBUGFS is enabled and CONFIG_MAC80211_DEBUGFS is not, compilation fails in net/wireless/debugfs.c: net/wireless/debugfs.c: In function 'cfg80211_debugfs_drv_add': net/wireless/debugfs.c:117: error: 'struct cfg80211_registered_device' has no member named 'debugfs' The debugfs filed is needed if and only if CONFIG_CFG80211_DEBUGFS is enabled, so use that instead of CONFIG_MAC80211_DEBUGFS. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 9c8b3eddc0666255851942df8ec72cd91d22f280 Author: Bob Copeland Date: Tue May 19 23:37:31 2009 -0400 ath5k: avoid and warn on potential infinite loop If we are trying to interpolate a curve with slope == 0, the return value will always be the y-coordinate. In this code we are looping until we reach a minimum y-coordinate on a line, which in the 0-slope case can never happen, thus the loop never terminates. The PCDAC steps come from the EEPROM and should never be equal, but we should gracefully handle that case, so warn and bail out. Reported-by: Steven Rostedt Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 61405e97788b1bc4e7c5be5b4ec04a73fc11bac2 Author: Luis R. Rodriguez Date: Wed May 13 17:04:41 2009 -0400 cfg80211: fix in nl80211_set_reg() There is a race on access to last_request and its alpha2 through reg_is_valid_request() and us possibly processing first another regulatory request on another CPU. We avoid this improbably race by locking with the cfg80211_mutex as we should have done in the first place. While at it add the assert on locking on reg_is_valid_request(). Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d0e18f833d23afefb6751a21d14a2cd71d2d4d66 Author: Luis R. Rodriguez Date: Wed May 13 17:04:40 2009 -0400 cfg80211: cleanup return calls on nl80211_set_reg() This has no functional change, but it will make the race fix easier to spot in my next patch. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4776c6e7f66f853011bc1fd6fe37fa63f0b6982c Author: Luis R. Rodriguez Date: Wed May 13 17:04:39 2009 -0400 cfg80211: return immediately if num reg rules > NL80211_MAX_SUPP_REG_RULES This has no functional change except we save a kfree(rd) and allows us to clean this code up a bit after this. We do avoid an unnecessary kfree(NULL) but calling that was OK too. Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e74fbb412be9baeae5ee61e25dad0b8c1a287494 Author: Wei Yongjun Date: Wed May 13 09:47:38 2009 +0800 wireless: fix to set dev->broadcast correctly This patch fix to set dev->broadcast correctly, since dev->broadcast is defined as: unsigned char broadcast[MAX_ADDR_LEN]; Signed-off-by: Wei Yongjun Signed-off-by: John W. Linville commit 49ca37e2d29569d7408f3c92f15c4a33e459a987 Author: Alexander Beregalov Date: Tue May 12 15:23:13 2009 +0400 Staging: agnx: switch config_interface to bss_info_changed Fix this build error: drivers/staging/agnx/pci.c: In function 'agnx_config_interface': drivers/staging/agnx/pci.c:315: error: dereferencing pointer to incomplete type .. drivers/staging/agnx/pci.c:424: error: unknown field 'config_interface' specified in initializer config_interface was removed in 2d0ddec5b2b ("mac80211: unify config_interface and bss_info_changed") Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 153e080da6a07ed888a0a59c45e28bc7351407ff Author: Vasanthakumar Thiagarajan Date: Fri May 15 02:47:16 2009 -0400 ath9k: Move PS wakeup/restore calls from isr to tasklet We do not need to do this in ath_isr() and it looks like the modified version ends up being more stable as far as being able receive beacon frames is concerned. Furthermore, this reduces need to move between AWAKE and NETWORK SLEEP states when processing some unrelated interrupts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e3da574a0ddd3e90a1e2b788b84b94bc17a75172 Author: Johannes Berg Date: Mon May 18 19:56:36 2009 +0200 cfg80211: allow wext to remove keys that don't exist Some applications using wireless extensions expect to be able to remove a key that doesn't exist. One example is wpa_supplicant which doesn't actually change behaviour when running into an error while trying to do that, but it prints an error message which users interpret as wpa_supplicant having problems. The safe thing to do is not change the behaviour of wireless extensions any more, so when the driver reports -ENOENT let the wext bridge code return success to userspace. To guarantee this, also document that drivers should return -ENOENT when the key doesn't exist. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 73606d00360cb93963aeb7bfbf8bfdbc51cfab9f Author: Daniel Wagner Date: Mon May 18 19:49:25 2009 +0200 mac80211_hwsim: Group radios Currently all radios receive all traffic on the simulated air if they are tuned to the same channel. This patch introduces the concept of grouping, which allows to assign a radio to certain group. Only radios in the same group can 'see' each other. Each bit in /debug/ieee80211/phy*/hwsim/group represents one group. By default all radios belong to the same group "1", e.g. bit 1 is set. Additionally a radio can belong to several groups. Signed-off-by: Daniel Wagner Signed-off-by: John W. Linville commit 1071db863b129847cedb65339d1e87ecf5952a8b Author: Bob Copeland Date: Mon May 18 10:59:52 2009 -0400 ath5k: update beacons in AP mode ath5k only generated the beacon when bss_info_changed() was called, but for AP mode this is not enough, because the TIM IE would never get updated and consequently PS mode clients wouldn't know about buffered frames. Instead, get a new beacon on every SWBA interrupt. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 4de2dc74a1c7dedcfbe8290316f1a239a7c86554 Author: Max Filippov Date: Mon May 18 21:28:55 2009 +0400 p54spi: drop test for FW_STATE_RESET in p54spi_work Drop test for FW_STATE_RESET in p54spi_work as fw_state is never assigned this value. Signed-off-by: Roel Kluin Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 3f0d843b5c94be824c2027f01348f360958e5542 Author: Johannes Berg Date: Mon May 18 10:53:18 2009 +0200 b43/legacy: fix beacon change processing Process beacon change even if the BSSID doesn't change at the same time. Also fix what I think is a small locking error in b43legacy, there's a spin_unlock_irqrestore that looks out of place. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff561ac84e0bdfe1316ed355669dd73101609f24 Author: Max Filippov Date: Mon May 18 03:02:35 2009 +0400 p54spi: use firmware/DMA bug workaround that work under hight load in p54spi_rx Under high load first data word, read after available data size is sometimes lost in p54spi_rx. It seems to depend on frequency of interrupts and latency of data read request relatively to 'data available' interrupt. The worst consequence of this bug is loss of packet transmission acknowledgement, which in turn causes overflow of tx queues and permanent link loss. Read data size and first data word in one SPI transaction. No packets from LMAC should have length less than 1 word, so this shouldn't interfere with the next read transaction. Also call p54spi_sleep if p54spi_wake succeeded. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 6edf534a3214e8fad943d7acd903603f0a5b9ac8 Author: Max Filippov Date: Mon May 18 03:02:34 2009 +0400 p54spi: always call p54spi_sleep in p54spi_tx_frame if p54spi_wakeup succeeded Put chip into sleep state, once it's been awaken. Also, propagate error code to the caller. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 465b63537f93e82a2606332830801acb64467ec9 Author: Max Filippov Date: Mon May 18 03:02:33 2009 +0400 p54spi: return status of p54spi_wakeup Return whether wakeup operation succeeded. Make use of this return value. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 69712e926bad9c163d5ba5597f08084ee7902480 Author: Max Filippov Date: Mon May 18 03:02:32 2009 +0400 p54spi: cosmetic fixes: use even byte count in SPI write; drop unused interrupt status read When SPI write of odd length is requested, p54spi_write splits it into two parts: one for all data, except the last byte, and one for last byte and padding byte. Unfortunately, the length of first part is not amended. It works because all meaningful bytes have proper value and the last byte of odd length SPI write transaction is ignored. p54spi_work has dummy HOST_INTERRUPTS register read at the end. Drop it, as its result is not used and it has no side effects. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 210dd1bb9b0329bcc1b4f8932022eddc6466980c Author: Max Filippov Date: Mon May 18 03:02:31 2009 +0400 p54spi: fix incorrect access sequence to DMA_WRITE_CTRL in p54spi_spi_write_dma Host is not allowed to modify DMA_WRITE_CTRL register if bit HOST_ALLOWED in it is not set. Wait for HOST_ALLOWED first. Also get rid of timeout in p54spi_wait_bit as it's been playing a role of workaround for such an incorrect register access. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit 4eaf16bc1f92bf772f6d42860e86b399d00b7b94 Author: Julia Lawall Date: Sun May 17 11:28:42 2009 +0200 drivers/net: use dev_get_drvdata Eliminate direct accesses to the driver_data field. cf 82ab13b26f15f49be45f15ccc96bfa0b81dfd015 The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device *dev; expression E; type T; @@ - dev->driver_data = (T)E + dev_set_drvdata(dev, E) @@ struct device *dev; type T; @@ - (T)dev->driver_data + dev_get_drvdata(dev) // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit cf5aa2f1f39d367d449df4c10de3d8e6f9c4443b Author: David Kilroy Date: Sat May 16 23:13:47 2009 +0100 cfg80211: mark wiphy->privid as pointer to const This allows drivers to use a const pointer as the privid without a cast. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3dcf670baf3d3a9bfc752e59d0b1a8d886230750 Author: David Kilroy Date: Sat May 16 23:13:46 2009 +0100 cfg80211: mark ops as pointer to const This allows drivers to mark their cfg80211_ops tables const. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit c15ff610453a6daa708f32b1c00b8344d3a462dd Author: Tomas Winkler Date: Fri May 15 16:13:44 2009 -0700 iwlwifi: drop iwl3945_tid_data This patch is one of the incremental steps for unifying iwl_station_entry for all HWs, i.e. removing of iwl3945_station_entry This patch drops iwl3945_tid_data and use iwl_tid_data instead. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bed420d9c0a642cda3d37b66db0f66f87d8f8185 Author: Tomas Winkler Date: Fri May 15 16:13:43 2009 -0700 iwlwifi: drop struct iwl3945_hw_key This patch replaces struct iwl3945_hw_key by struct iwl_hw_key. It's not used directly with any host command therefore removal is trivial Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 44710bbc073b2e7ea269cf716b817297cd35ae10 Author: Stefano Brivio Date: Fri May 15 15:39:20 2009 -0500 b43legacy: Remove unnecessary MMIO in interrupt hotpath This removes unnecessary MMIO accesses in the interrupt hotpath. The patch by Michael Buesch for b43 has been ported to b43legacy. Signed-off-by: Stefano Brivio Tested-by: Larry Finger Signed-off-by: John W. Linville commit 6b96f93e962e25d38d7a73c0009597672d87c496 Author: Vasanthakumar Thiagarajan Date: Fri May 15 18:59:22 2009 +0530 ath9k: cleanup beacon parameters configuration This patch configures the beacon timers with beacon interval and beacon period passed through vif.bss_conf. Also cache the currecnt beacon configuration which will be used to configure the beacon timers when the driver triggers it after reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d31e20af9f65e38429a3ed32175f8e233bdcd2b2 Author: Vasanthakumar Thiagarajan Date: Fri May 15 18:59:21 2009 +0530 ath9k: Remove unused parameters which are passed to ath_beacon_config_X() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 6b45784fbe9b31c287ab7f2717e4bd4cdcdd340c Author: Vasanthakumar Thiagarajan Date: Fri May 15 18:59:20 2009 +0530 ath9k: Print hw reset failure status as signed int Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5bb644a0fd25a5e083ecbfaa92a211db99aa6ef7 Author: Johannes Berg Date: Sun May 17 11:40:42 2009 +0200 mac80211: cancel/restart all timers across suspend/resume We forgot to cancel all timers in mac80211 when suspending. In particular we forgot to deal with some things that can cause hardware reconfiguration -- while it is down. While at it we go ahead and add a warning in ieee80211_sta_work() if its run while the suspend->resume cycle is in effect. This should not happen and if it does it would indicate there is a bug lurking in either mac80211 or mac80211 drivers. With this now wpa_supplicant doesn't blink when I go to suspend and resume where as before there where issues with some timers running during the suspend->resume cycle. This caused a lot of incorrect assumptions and would at times bring back the device in an incoherent, but mostly recoverable, state. Signed-off-by: Luis R. Rodriguez Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cc32abd494c0a8f76f2638e3f3a76e01c68bc9ea Author: Johannes Berg Date: Fri May 15 11:52:31 2009 +0200 mac80211: move channel switch code The channel switch code is currently in the spectrum management file, where arguably it belongs. However, it is for managed mode only and uses the structures for that mode only so having it in a more generic file can be confusing. Additionally, my next patch gets simpler with the code here. When/if we ever implement this for IBSS or mesh then we will need to rework the structures it uses anyway at which point we could move the code back. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9f26a952210e44691f784b77bf1f83a500d63f58 Author: Jouni Malinen Date: Fri May 15 12:38:32 2009 +0300 nl80211: Validate NL80211_ATTR_KEY_SEQ length Validate RSC (NL80211_ATTR_KEY_SEQ) length in nl80211/cfg80211 instead of having to do this in all the drivers. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit cc65965cbb24d2ca2bb70f26cac9d7243349e7e3 Author: Jouni Malinen Date: Thu May 14 21:28:48 2009 +0300 ath9k: Fix PS mode operation to receive buffered broadcast/multicast frames The previous implementation was moving back to NETWORK SLEEP state immediately after receiving a Beacon frame. This means that we are unlikely to receive all the buffered broadcast/multicast frames that would be sent after DTIM Beacon frames. Fix this by parsing the Beacon frame and remaining awake, if needed, to receive the buffered broadcast/multicast frames. The last buffered frame will trigger the move back into NETWORK SLEEP state. If the last broadcast/multicast frame is not received properly (or if the AP fails to send it), the next Beacon frame will work as a backup trigger for returning into NETWORK SLEEP. A new debug type, PS (debug=0x800 module parameter), is added to make it easier to debug potential power save issues in the future. Currently, this is only used for the Beacon frame and buffered broadcast/multicast receiving. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 9d64a3cfaf3edb548b68ef4eedbadbb875eaa10e Author: Jouni Malinen Date: Thu May 14 21:28:47 2009 +0300 ath9k: Clean up RX processing a bit This makes use of the local fc variable in bit more places and uses a common helper macro. The part of RX process that delivers skb's to mac80211 is moved to a separate function in preparation for future changes that will need to do this from two places. The modifications here should not result in any functional changes. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit d8959fbfbad5f75c7df673aaf5112ba5e405ad34 Author: Jouni Malinen Date: Thu May 14 21:28:46 2009 +0300 ath9k: Fix a check for multicast address for virtual wiphy The broadcast bit is in the first, not the last octet.. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 92778180f7fca7f7797de8020900a7fea175f7e3 Author: Jouni Malinen Date: Thu May 14 21:15:36 2009 +0300 mac80211: Cancel pending probereq poll on beacon RX While the probe request poll is expected to work, it looks like it does not always result in getting a response. The exact reason for this is unclear, but anyway, if we do receive a Beacon frame from our AP, there is no need to disconnect based on the probereq poll. This seems to help keep the connection bit more stable in cases where beacon loss is occurring semi-frequently. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 13bdcd90bbce7c07e0dda0ff31e9497b8cabf1eb Author: Gábor Stefanik Date: Thu May 14 17:34:59 2009 +0000 zd1211rw: Replace ZD_CS_MULTICAST with ZD_CS_NO_ACK According to my tests, all that ZD_CS_MULTICAST does is to disable retrying/waiting for an ACK. Reflect this by renaming the bit to ZD_CS_NO_ACK and setting it based on IEEE80211_TX_CTL_NO_ACK, instead of is_multicast_ether_addr. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit cccaec98a3ddbf20f22604f9ba405781c5f89f0e Author: Senthil Balasubramanian Date: Thu May 14 18:42:08 2009 +0530 mac80211: Initialize RX's last received sequence number The STA may drop the very first frame if it happens to be a retried frame. This is because we maintian the last received sequence number per TID for QoS frames and it is initialized to zero through kzalloc during sta_info_alloc and the sequence number of the very first date frame received would be ZERO (as per IEEE 802.11-2007, 7.1.3.4.1). If the frame dropped happens to be an EAP Request Identity(very first frame from the AP), then wpa_supplicnat disconnects the STA and the whole procedure starts again. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 80a3511d70e8fc7ed3fe4417d7b0bf6c3f642f64 Author: Luis R. Rodriguez Date: Sat May 2 00:39:30 2009 -0400 cfg80211: add debugfs HT40 allow map Here's a screenshot of what this looks like with ath9k: mcgrof@pogo /debug/ieee80211/phy0 $ cat ht40allow_map 2412 HT40 + 2417 HT40 + 2422 HT40 + 2427 HT40 + 2432 HT40 -+ 2437 HT40 -+ 2442 HT40 -+ 2447 HT40 - 2452 HT40 - 2457 HT40 - 2462 HT40 - 2467 Disabled 2472 Disabled 2484 Disabled 5180 HT40 + 5200 HT40 -+ 5220 HT40 -+ 5240 HT40 -+ 5260 HT40 -+ 5280 HT40 -+ 5300 HT40 -+ 5320 HT40 - 5500 HT40 + 5520 HT40 -+ 5540 HT40 -+ 5560 HT40 -+ 5580 HT40 -+ 5600 HT40 -+ 5620 HT40 -+ 5640 HT40 -+ 5660 HT40 -+ 5680 HT40 -+ 5700 HT40 - 5745 HT40 + 5765 HT40 -+ 5785 HT40 -+ 5805 HT40 -+ 5825 HT40 - Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1ac61302dcd18880e28c29e5728cd4d0efeb5366 Author: Luis R. Rodriguez Date: Sat May 2 00:37:21 2009 -0400 mac80211/cfg80211: move wiphy specific debugfs entries to cfg80211 This moves the cfg80211 specific stuff to new cfg80211 debugfs entries. Non-mac80211 will also get these entries now. There were only 4 which we take: rts_threshold fragmentation_threshold short_retry_limit long_retry_limit Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 294196ab22c91da974ba1f40d0a7cdcb0b3e6bc3 Author: Luis R. Rodriguez Date: Sat May 2 00:37:20 2009 -0400 cfg80211: check allowed channel type upon userspace requests Thanks to nl80211 userspace can be very specific upon device configuration. Before processing the request for the new HT40 channel types (HT40- or HT40+) we need to ensure we can use them regulatory-wise. This wasn't required with wireless extensions as specifying the channel type wasn't not available and configuration was done towards the end implicitly upon association or reception of beacons from the AP. For the new nl80211 we have to check this when configuring the interfaces explicitly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 768777ea1118f6ff3f1a013557e7bc4f5d2683a4 Author: Luis R. Rodriguez Date: Sat May 2 00:37:19 2009 -0400 mac80211: check if HT40+/- is allowed before sending assoc We weren't checking this at all. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 689da1b3b8b37ff41e79f3fb973c06cdfeef12e5 Author: Luis R. Rodriguez Date: Sat May 2 00:37:18 2009 -0400 wireless: rename IEEE80211_CHAN_NO_FAT_* to HT40-/+ This is more consistent with our nl80211 naming convention for HT40-/+. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 038659e7c6b385065cb223872771ac437ef70b62 Author: Luis R. Rodriguez Date: Sat May 2 00:37:17 2009 -0400 cfg80211: Process regulatory max bandwidth checks for HT40 We are not correctly listening to the regulatory max bandwidth settings. To actually make use of it we need to redesign things a bit. This patch does the work for that. We do this to so we can obey to regulatory rules accordingly for use of HT40. We end up dealing with HT40 by having two passes for each channel. The first check will see if a 20 MHz channel fits into the channel's center freq on a given frequency range. We check for a 20 MHz banwidth channel as that is the maximum an individual channel will use, at least for now. The first pass will go ahead and check if the regulatory rule for that given center of frequency allows 40 MHz bandwidths and we use this to determine whether or not the channel supports HT40 or not. So to support HT40 you'll need at a regulatory rule that allows you to use 40 MHz channels but you're channel must also be enabled and support 20 MHz by itself. The second pass is done after we do the regulatory checks over an device's supported channel list. On each channel we'll check if the control channel and the extension both: o exist o are enabled o regulatory allows 40 MHz bandwidth on its frequency range This work allows allows us to idependently check for HT40- and HT40+. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c6ac4c18fbc92a26df71ece609b082bc3099676b Author: H. Peter Anvin Date: Wed May 20 11:26:09 2009 -0700 x86, boot: correct the calculation of ZO_INIT_SIZE Correct the calculation of ZO_INIT_SIZE (the amount of memory we need during decompression). One symbol (ZO_startup_32) was missing from zoffset.h, and another (ZO_z_extract_offset) was misspelled. [ Impact: build fix ] Signed-off-by: H. Peter Anvin commit 34adc8062227f41b04ade0ff3fbd1dbe3002669e Author: Ingo Molnar Date: Wed May 20 20:13:28 2009 +0200 perf_counter: Fix context removal deadlock Disable the PMU globally before removing a counter from a context. This fixes the following lockup: [22081.741922] ------------[ cut here ]------------ [22081.746668] WARNING: at arch/x86/kernel/cpu/perf_counter.c:803 intel_pmu_handle_irq+0x9b/0x24e() [22081.755624] Hardware name: X8DTN [22081.758903] perfcounters: irq loop stuck! [22081.762985] Modules linked in: [22081.766136] Pid: 11082, comm: perf Not tainted 2.6.30-rc6-tip #226 [22081.772432] Call Trace: [22081.774940] [] ? intel_pmu_handle_irq+0x9b/0x24e [22081.781993] [] ? intel_pmu_handle_irq+0x9b/0x24e [22081.788368] [] ? warn_slowpath_common+0x77/0xa3 [22081.794649] [] ? warn_slowpath_fmt+0x40/0x45 [22081.800696] [] ? intel_pmu_handle_irq+0x9b/0x24e [22081.807080] [] ? perf_counter_nmi_handler+0x3f/0x4a [22081.813751] [] ? notifier_call_chain+0x58/0x86 [22081.819951] [] ? notify_die+0x2d/0x32 [22081.825392] [] ? do_nmi+0x8e/0x242 [22081.830538] [] ? nmi+0x1a/0x20 [22081.835342] [] ? selinux_file_free_security+0x0/0x1a [22081.842105] [] ? x86_pmu_disable_counter+0x15/0x41 [22081.848673] <> [] ? x86_pmu_disable+0x86/0x103 [22081.855512] [] ? __perf_counter_remove_from_context+0x0/0xfe [22081.862926] [] ? counter_sched_out+0x30/0xce [22081.868909] [] ? __perf_counter_remove_from_context+0x59/0xfe [22081.876382] [] ? smp_call_function_single+0x6c/0xe6 [22081.882955] [] ? perf_release+0x86/0x14c [22081.888600] [] ? __fput+0xe7/0x195 [22081.893718] [] ? filp_close+0x5b/0x62 [22081.899107] [] ? put_files_struct+0x64/0xc2 [22081.905031] [] ? do_exit+0x1e2/0x6ef [22081.910360] [] ? _spin_lock_irqsave+0x9/0xe [22081.916292] [] ? do_group_exit+0x67/0x93 [22081.921953] [] ? sys_exit_group+0x12/0x16 [22081.927759] [] ? system_call_fastpath+0x16/0x1b [22081.934076] ---[ end trace 3a3936ce3e1b4505 ]--- And could potentially also fix the lockup reported by Marcelo Tosatti. Also, print more debug info in case of a detected lockup. [ Impact: fix lockup ] Reported-by: Marcelo Tosatti Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Thomas Gleixner LKML-Reference: Signed-off-by: Ingo Molnar commit 5537937696c55530447c20aa27daccb8d0d29b33 Author: Ming Lei Date: Mon May 18 23:04:46 2009 +0800 ftrace: fix check for return value of register_module_notifier in event_trace_init register_module_notifier() returns zero in the success case. So fix the inverted fail case check in trace events modules handler. [ Impact: fix spurious warning on ftrace initialization] Reported-by: Li Zefan Signed-off-by: Ming Lei Signed-off-by: Frederic Weisbecker commit 0003b795c310da83501fcf0329f6be7a0984647d Author: Eric Lammerts Date: Tue May 19 20:53:20 2009 -0400 fix oops when using console=ttymxcN with N > 0 Signed-off-by: Eric Lammerts Signed-off-by: Sascha Hauer commit 3e3ee6dc949d25423f72bb5ee5f58dfa79ac85c7 Author: Takashi Iwai Date: Wed May 20 16:47:59 2009 +0200 ALSA: ctxfi - Add depends on X86 The ctxfi driver requires explicitly the 4k page size, and gives a build error on architectures with non-4k pages. As a workaround, just add the kconfig dependency on X86, which is the only architecture ever tested. Signed-off-by: Takashi Iwai commit 57fd637ad9ac6b13c1c47b9a0ced4ee99bb26e76 Author: Stephane Chatty Date: Wed May 20 15:49:35 2009 +0200 HID: Multitouch support for the N-Trig touchscreen Adds support for multitouch interaction on the N-Trig touchscreen, using the new ABS_MT_* input constants. Single touch support works as previously. This code was tested against two versions of the N- Trig firmware: one that supports dual pen/finger single touch, and one that supports finger multitouch but no pen at all. Copyright notices that looked wrong were removed, as it seems that there is only code written in 2009 by Rafin Rubin and Stephane Chatty in this file. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 89f536ccfa8b370ff4d054f4061858ca9322c25a Author: Stephane Chatty Date: Wed May 20 15:41:24 2009 +0200 HID: add new multitouch and digitizer contants Added constants to hid.h for all digitizer usages (including the new multitouch ones that are not yet in the official USB spec but are being pushed by Microsft as described in their paper "Digitizer Drivers for Windows Touch and Pen-Based Computers"). Updated hid-debug.c to support the new MT input constants such as ABS_MT_POSITION_X. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit a6a9fb857b5599b3cefef5576967389c1c43eb4c Author: Krzysztof Hałasa Date: Fri Feb 20 01:01:33 2009 +0100 IXP4xx: Add support for the second half of the 64 hardware queues. Signed-off-by: Krzysztof Hałasa commit afedadf23a2c90f3ba0d963282cbe6a6be129494 Author: Peter Zijlstra Date: Wed May 20 12:21:22 2009 +0200 perf_counter: Optimize sched in/out of counters Avoid a function call for !group counters by directly calling the counter function. [ Impact: micro-optimize the code ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.511933670@chello.nl> Signed-off-by: Ingo Molnar commit b986d7ec0f8b7ea3cc7366d80a137fbe839df227 Author: Peter Zijlstra Date: Wed May 20 12:21:21 2009 +0200 perf_counter: Optimize disable of time based sw counters Currently we call hrtimer_cancel() unconditionally on disable of time based software counters. Avoid when possible. [ Impact: micro-optimize the code ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.388185031@chello.nl> Signed-off-by: Ingo Molnar commit 26b119bc811a73bac6ecf95bdf284bf31c7955f0 Author: Peter Zijlstra Date: Wed May 20 12:21:20 2009 +0200 perf_counter: Log irq_period changes For the dynamic irq_period code, log whenever we change the period so that analyzing code can normalize the event flow. [ Impact: add new feature to allow more precise profiling ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.298769743@chello.nl> Signed-off-by: Ingo Molnar commit d7b629a34fc4134a43c730b5f0197855dc4948d0 Author: Peter Zijlstra Date: Wed May 20 12:21:19 2009 +0200 perf_counter: Solve the rotate_ctx vs inherit race differently Instead of disabling RR scheduling of the counters, use a different list that does not get rotated to iterate the counters on inheritance. [ Impact: cleanup, optimization ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner Cc: Marcelo Tosatti Cc: John Kacur LKML-Reference: <20090520102553.237504544@chello.nl> Signed-off-by: Ingo Molnar commit 09010978345e8883003bf411bb99753710eb5a3a Author: Steven Whitehouse Date: Wed May 20 10:48:47 2009 +0100 GFS2: Improve resource group error handling This patch improves the error handling in the case where we discover that the summary information in the resource group doesn't match the bitmap information while in the process of allocating blocks. Originally this resulted in a kernel bug, but this patch changes that so that we return -EIO and print some messages explaining what went wrong, and how to fix it. We also remember locally not to try and allocate from the same rgrp again, so that a subsequent allocation in a different rgrp should succeed. Signed-off-by: Steven Whitehouse commit 6943c92e87c4aa2a6d7a1f4dbd79cf4a0b5fd67b Author: Peter Ujfalusi Date: Mon May 18 16:02:05 2009 +0300 ASoC: TWL4030: Move the Headset pop-attenuation code to PGA event This patch adds SND_SOC_DAPM_PGA_E to the headset path, which handles the headset ramp up and down sequences needed for the pop noise removal. With this patch the order of the internal components in the twl4030 codec is turned on and off in a correct order. Signed-off-by: Peter Ujfalusi Tested-by: Anuj Aggarwal Tested-by: Jarkko Nikula Tested-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 4005d39a5f5549f1f6afe88abceed78b2ab225b6 Author: Peter Ujfalusi Date: Mon May 18 16:02:04 2009 +0300 ASoC: TWL4030: Change DAPM routings and controls for DACs and PGAs Restructuring the twl4030 codec's DAPM routing to be able to handle the power sequences correctly. The twl4030 codec internal implementation have this order: DAC -> Analog PGA -> Mixer/Mux While the ASoC framework expects the following order: DAC -> Mixer -> Analog PGA This patch moves the Analog PGA handling from SND_SOC_DAPM_PGA to _MIXER and adds two levels of mixer to handle the digital and analog loopback functionality. Now the analog loopback does not powers on any of the DACs. Signed-off-by: Peter Ujfalusi Tested-by: Anuj Aggarwal Tested-by: Jarkko Nikula Tested-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 2070887fdeacd9c13f3e805e3f0086c9f22a4d93 Author: Thomas Gleixner Date: Tue May 19 23:04:59 2009 +0200 futex: fix restart in wait_requeue_pi If the waiter has been requeued to the outer PI futex and is interrupted by a signal and the thread handles the signal then ERESTART_RESTARTBLOCK is changed to EINTR and the restart block is discarded. That way we return an unexcpected EINTR to user space instead of ending up in futex_lock_pi_restart. But we do not need to restart the syscall because we know that the condition has changed since we have been requeued. If we would simply restart the syscall then we would drop out via the comparison of the user space value with EWOULDBLOCK. The user space side needs to handle EWOULDBLOCK anyway as the enqueueing on the inner futex can race with a requeue/wake. So we can simply return EWOULDBLOCK to user space which also signals that we did not take the outer futex and let user space handle it in the same way it has to handle the requeue/wake race. Signed-off-by: Thomas Gleixner commit 1c840c14906d4ddf66c1f4f5daea059aad951c82 Author: Thomas Gleixner Date: Wed May 20 09:22:40 2009 +0200 futex: fix restart for early wakeup in futex_wait_requeue_pi() The futex_wait_requeue_pi op should restart unconditionally like futex_lock_pi. The user of that function e.g. pthread_cond_wait can not be interrupted so we do not care about the SA_RESTART flag of the signal. Clean up the FIXMEs. Signed-off-by: Thomas Gleixner commit c8b15a706d921baed3195407e4f55270112bb3c6 Author: Thomas Gleixner Date: Wed May 20 09:18:50 2009 +0200 futex: cleanup error exit Reuse the put_key_ref(key2) call in the exit path. Signed-off-by: Thomas Gleixner commit 521c180874dae86f675d23c4eade4dba8b1f2cc8 Merge: f1a11e0 64d1304 Author: Thomas Gleixner Date: Wed May 20 09:02:28 2009 +0200 Merge branch 'core/urgent' into core/futexes Merge reason: this branch was on an pre -rc1 base, merge it up to -rc6+ to get the latest upstream fixes. Conflicts: kernel/futex.c Signed-off-by: Thomas Gleixner commit 0a7ae2ff0d29bb3b327edff4c8ab67b3834fa811 Author: Jens Axboe Date: Wed May 20 08:54:31 2009 +0200 block: change the tag sync vs async restriction logic Make them fully share the tag space, but disallow async requests using the last any two slots. Signed-off-by: Jens Axboe commit 62669e61a5f559826b1d2e863649a6005eee629b Author: Paul Mundt Date: Wed May 20 11:27:13 2009 +0900 sh: mach-hp6xx: Fix up the hp6xx build for hd64461 changes. Fixes several compile errors due to the recent hd64461 I/O base changes. Signed-off-by: Paul Mundt commit 10494dce0b43ed3212abde64bf759705ee3c56ef Author: Daniel Mack Date: Mon May 18 16:10:39 2009 -0700 Input: add driver for EETI touchpanels This patch adds a driver for EETI's I2C connected touchscreens. Signed-off-by: Daniel Mack Tested-by: Sven Neumann Acked-by: Jean Delvare Signed-off-by: Dmitry Torokhov commit b58895f8b1ee0a1bb1821cee71b3f6ecb9540ee6 Author: Michael Roth Date: Mon May 18 16:05:12 2009 -0700 Input: ads7846 - more detailed model name in sysfs Signed-off-by: Michael Roth Signed-off-by: Dmitry Torokhov commit 86579a4cccf18a2ddbf7de8fc5a0f5d9b94ed76d Author: Michael Roth Date: Mon May 18 16:04:44 2009 -0700 Input: ads7846 - support swapping x and y axes Signed-off-by: Michael Roth Signed-off-by: Dmitry Torokhov commit 225c9886b9f873b219d1109148661b38da99a1ee Author: Ville Syrjala Date: Mon May 18 16:01:25 2009 -0700 Input: ati_remote2 - use non-atomic bitops No point in using atomic bitops when setting the input device keybits. Signed-off-by: Ville Syrjala Signed-off-by: Dmitry Torokhov commit 97bc54152e3a91dd2dc297e8a084c05e93527e60 Author: Ben Hutchings Date: Tue May 19 16:19:08 2009 -0700 sfc: Remove lro module parameter GRO/LRO can be controlled through ethtool so this is unnecessary. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 645069299a1c7358cf7330afe293f07552f11a5d Author: Sascha Hlusiak Date: Tue May 19 12:56:52 2009 +0000 sit: stateless autoconf for isatap be sent periodically. The rs_delay can be speficied when adding the PRL entry and defaults to 15 minutes. The RS is sent from every link local adress that's assigned to the tunnel interface. It's directed to the (guessed) linklocal address of the router and is sent through the tunnel. Better: send to ff02::2 encapsuled in unicast directed to router-v4. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 9af28511be10e175eb0cabb2ba5cfafe77408d84 Author: Sascha Hlusiak Date: Tue May 19 12:56:51 2009 +0000 addrconf: refuse isatap eui64 for INADDR_ANY A tunnel with no local ipv4 endpoint would otherwise use the ISATAP linklocal address fe80::5efe:0:0, which is invalid. Rather not add a linklocal address at all. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 4b2796017487f3c1e423b8e1ada6c94c0a8ea815 Author: Sascha Hlusiak Date: Tue May 19 12:56:50 2009 +0000 sit: ipip6_tunnel_del_prl: return err Typo. When deleting a PRL entry, return status to userspace instead of success. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 4fddbf5d7854b0a615c6481988895016f5d038d2 Author: Sascha Hlusiak Date: Tue May 19 12:56:49 2009 +0000 sit: strictly restrict incoming traffic to tunnel link device Check link device when looking up a tunnel. When a tunnel is linked to a interface, traffic from a different interface must not reach the tunnel. This also allows creating of multiple tunnels with the same endpoints, if the link device differs. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 8db99e5717507729a9eb49108facb7e528340376 Author: Sascha Hlusiak Date: Tue May 19 12:56:48 2009 +0000 sit: Fail to create tunnel, if it already exists When locating the tunnel, do not continue if it is found. Otherwise a different tunnel with similar configuration would be returned and parts could be overwritten. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 9643f4551255ce8b3ef7470aaaf7f435a20f9182 Author: Chris Friesen Date: Tue May 19 15:31:50 2009 -0700 ipv4: teach ipconfig about the MTU option in DHCP The DHCP spec allows the server to specify the MTU. This can be useful for netbooting with UDP-based NFS-root on a network using jumbo frames. This patch allows the kernel IP autoconfiguration to handle this option correctly. It would be possible to use initramfs and add a script to set the MTU, but that seems like a complicated solution if no initramfs is otherwise necessary, and would bloat the kernel image more than this code would. This patch was originally submitted to LKML in 2003 by Hans-Peter Jansen. Signed-off-by: Chris Friesen Signed-off-by: David S. Miller commit fd2120ca0da9108e53f8db2fe57ab74fca76fd56 Author: Pablo Neira Ayuso Date: Tue May 19 15:27:55 2009 -0700 net: use NLMSG_DEFAULT_SIZE in nlmsg_new() allocations nlmsg_new() adds the size of the netlink header to the value that has been passed as parameter. If NLMSG_GOODSIZE is selected, we request an allocation of one memory page plus the size of the header. Instead, NLMSG_DEFAULT_SIZE should be used since it already substracts the size of the Netlink header. I have the impression that the similar naming in both constant is error prone when using it with nlmsg_new(). This is already documented in include/net/netlink.h Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit e5488ce56995e987a0cf9689e190b712a616a980 Author: Brice Goglin Date: Tue May 19 10:16:11 2009 +0000 myri10ge: update version to 1.5.0-1.415 Update myri10ge driver version to 1.5.0-1.415. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 3a0c7d2d2bc61e510e900cfbb99c42d4eef2a443 Author: Brice Goglin Date: Tue May 19 10:15:32 2009 +0000 myri10ge: allow LRO to be enabled via ethtool Allow myri10ge LRO to be enabled/disabled via ethtool (and by the stack for packet forwarding). Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit ab35cd4b8f42b5e4a9338949581a510e98503b28 Author: Eric Dumazet Date: Tue May 19 15:16:34 2009 -0700 sch_teql: Use net_device internal stats We can slightly reduce size of teqlN structure, not duplicating stats structure in teql_master but using stats field from net_device.stats for tx_errors and from netdev_queue for tx_bytes/tx_packets/tx_dropped values. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0cefafadbbe3947fd97b7560a214eb486069faac Author: Jesse Brandeburg Date: Tue May 19 09:19:11 2009 +0000 ixgbe: Cleanup feature setup code to make the code more readable This is purely a cleanup patch. This collapses some of the code required when we configure our Tx and Rx feature sets, and makes the code more readable and maintainable. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 537d58a00a8756189b10ffc1309c0131d57b6320 Author: Peter P Waskiewicz Jr Date: Tue May 19 09:18:51 2009 +0000 ixgbe: Change Direct Attach Twinax cable detection for SFP+ NICs The SFF specification for Direct Attach cable detection has now been ratified. Previously, DA cable detect was looking at the Twinaxial bit in byte 9 of the SFP+ EEPROM. The spec now defines active and passive DA cables in byte 8 of the SFP+ EEPROM. This patch changes the cable detection for both 82598 and 82599 SFP+ adapters to conform to the new spec. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aa5aec888585fedcda7cfffc20f75240ad1cb42d Author: Peter P Waskiewicz Jr Date: Tue May 19 09:18:34 2009 +0000 ixgbe: Add semaphore access for PHY initialization for 82599 The SFP+ NIC (device id 0x10fb) needs a semaphore to serialize PHY access, so our PHY init code must honor that same semaphore. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c44d70a340554a33071339064a303ac0f1a31623 Author: Ingo Molnar Date: Sun May 17 11:24:08 2009 +0200 perf_counter: fix counter inheritance race Context rotation should not occur when we are in the middle of walking the counter list when inheriting counters ... [ Impact: fix occasionally incorrect perf stat results ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 33b2fb303fe7f6b08bbb32f708e67b96eaa94a7a Author: Ingo Molnar Date: Sun May 17 11:08:41 2009 +0200 perf_counter: fix counter freeing logic Fix counter lifetime bugs which explain the crashes reported by Marcelo Tosatti and Arnaldo Carvalho de Melo. The new rule is: flushing + freeing is only done for a task's own counters, never for other tasks. [ Impact: fix crashes/lockups with inherited counters ] Reported-by: Arnaldo Carvalho de Melo Reported-by: Marcelo Tosatti Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Signed-off-by: Ingo Molnar commit 3577aa1bd7efc9c474f59738d2fb89c168168d55 Author: françois romieu Date: Tue May 19 10:46:48 2009 +0000 r8169: allow true forced mode setting Due to mostly historic reasons, including a lack of reliability of the link handling (especially with the older 8169), the current r8169 driver emulates forced mode setting by limiting the advertised modes. With this change the driver allows real 10/100 forced mode settings on the 8169 and 8101/8102. Original idea by Vincent Steenhoute. The RTL_GIGA_MAC_VER_03 tweak was extracted from Realtek's r8169 v6.010.00 driver. Signed-off-by: Francois Romieu Tested-by: Jean Delvare Cc: Edward Hsu Signed-off-by: David S. Miller commit 381f05172bdca076390abd84813b09ea423ae8a9 Author: françois romieu Date: Thu May 14 11:45:04 2009 +0000 r8169: remove useless struct member Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 8b2d850db275a8934db7e09d79a716435c7b3e0c Author: Eric Dumazet Date: Tue May 19 14:24:37 2009 -0700 ppp: unset IFF_XMIT_DST_RELEASE in ppp_setup() Jarek pointed pppoe can call back dev_queue_xmit(), and might need skb->dst, so its safer to unset IFF_XMIT_DST_RELEASE on ppp devices. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2b0c3677bfcf0c21bcaf2130e6e094a92ab93ae8 Author: Magnus Lilja Date: Mon May 18 18:46:33 2009 +0200 i.MX31: Add support for LAN9217 on PDK debug board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit e24805dd85283ac0912b9c400768a4d171b400ff Author: Atsushi Nemoto Date: Tue May 19 22:12:15 2009 +0900 ASoC: Add TXx9 AC link controller driver (v3) This patch adds support for the integrated ACLC of the TXx9 family. Signed-off-by: Atsushi Nemoto Signed-off-by: Mark Brown commit ac36552a52a6ec8563ac0a109e2a0935673f4abb Author: Boaz Harrosh Date: Tue May 19 19:54:09 2009 +0200 scsi_lib: remove unused variable The last request completion cleanup in scsi_lib left an unused this_count variable in scsi_io_completion(). (It was used before in a code segment that now uses blk_end_request_all()) Signed-off-by: Boaz Harrosh Acked-by: Tejun Heo Acked-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 53674ac5a997a8eedbb2dfdc308b895170746c8b Author: Jens Axboe Date: Tue May 19 19:52:35 2009 +0200 block: add warning to blk_make_request() Add a note about how one needs to be careful when setting up these bio chains. Extracted from Boaz's updated patch. Signed-off-by: Jens Axboe commit c5642f4bbae30122beb696e723f6da273caa570e Author: Stephen Smalley Date: Tue May 19 09:02:23 2009 -0400 selinux: remove obsolete read buffer limit from sel_read_bool On Tue, 2009-05-19 at 00:05 -0400, Eamon Walsh wrote: > Recent versions of coreutils have bumped the read buffer size from 4K to > 32K in several of the utilities. > > This means that "cat /selinux/booleans/xserver_object_manager" no longer > works, it returns "Invalid argument" on F11. getsebool works fine. > > sel_read_bool has a check for "count > PAGE_SIZE" that doesn't seem to > be present in the other read functions. Maybe it could be removed? Yes, that check is obsoleted by the conversion of those functions to using simple_read_from_buffer(), which will reduce count if necessary to what is available in the buffer. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit ef9e8b14a5c1d0afbaf12b4c3b271188ddfc52a4 Author: Steven Whitehouse Date: Tue May 19 14:25:16 2009 +0100 GFS2: Don't warn when delete inode fails on ro filesystem If the filesystem is read-only, then we expect that delete inode will fail, so there is no need to warn about it. Signed-off-by: Steven Whitehouse commit 4c6f18fc81565967da20f2d4a3922cdba33f8e2b Author: Yinghai Lu Date: Mon May 18 10:23:28 2009 -0700 x86, io-apic: Don't mark pin_programmed early Peter bisected that: | commit b9c61b70075c87a8612624736faf4a2de5b1ed30 | Date: Wed May 6 10:10:06 2009 -0700 | | x86/pci: update pirq_enable_irq() to setup io apic routing | | So we can set io apic routing only when enabling the device irq. wrecked his opteron box, ata1 interrupts fail to get through. ata1 is using irq 11: [ 1.451839] sata_svw 0000:01:0e.0: version 2.3 [ 1.456333] sata_svw 0000:01:0e.0: PCI INT A -> GSI 11 (level, low) -> IRQ 11 [ 1.463639] scsi0 : sata_svw [ 1.466949] scsi1 : sata_svw [ 1.470022] scsi2 : sata_svw [ 1.473090] scsi3 : sata_svw [ 1.476112] ata1: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe000 irq 11 [ 1.483490] ata2: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe100 irq 11 [ 1.490870] ata3: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe200 irq 11 [ 1.498247] ata4: SATA max UDMA/133 mmio m8192@0xff3fe000 port 0xff3fe300 irq 11 that pin is overlapped with pin with legacy ones. We should not set bits in pin_programmed here, so that those bit could be set later via io_apic_set_pci_routing(). [ Impact: fix boot hang on certain systems ] Reported-by: Peter Zijlstra Signed-off-by: Yinghai Lu Tested-by: Peter Zijlstra Cc: Jack Steiner LKML-Reference: <4A119990.9020606@kernel.org> Signed-off-by: Ingo Molnar commit 4aee2ad461889132bfb5a1518a9580d00e17008c Author: Jaswinder Singh Rajput Date: Tue May 19 17:07:01 2009 +0530 x86: asm/processor.h: remove double declaration Remove double declaration of: extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern unsigned short num_cache_leaves; they are already defined in the same file. [ Impact: cleanup ] Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1242733021.3377.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit fa7979663190240b838ab8c8bad7f59e618bf77c Author: Takashi Iwai Date: Tue May 19 12:50:04 2009 +0200 ALSA: hda - Fix digital beep tone calculation The digital beep tone is calculated in two different ways depending on the codec chip. The standard one is using a divider, and another one is a linear tone for IDT/STAC codecs. Currently, only the latter type is used for all codecs, which resulted in a wrong tone pitch. This patch adds the calculation of the standard HD-audio type. Also clean-up the fields in hda_beep struct. Reference: bko#13162 http://bugzilla.kernel.org/show_bug.cgi?id=13162 Signed-off-by: Takashi Iwai commit 4abc1cc2f9fe4b6bb3acc1d78e2c15af47b8133d Author: Takashi Iwai Date: Tue May 19 12:16:46 2009 +0200 ALSA: hda - Add prefix to kernel messages Add proper prefix to each kernel message in hda_intel.c. Also, avoid the unneeded prefix when CONFIG_SND_VERBOSE_PRINTK is used together with snd_print*(). Reference: bko#13207 http://bugzilla.kernel.org/show_bug.cgi?id=13207 Signed-off-by: Takashi Iwai commit a411f4bbb89f1f08687b344064d6775bce1e4658 Author: Boaz Harrosh Date: Sun May 17 19:00:01 2009 +0300 block: Un-export blk_rq_append_bio OSD was the last in-tree user of blk_rq_append_bio(). Now that it is fixed blk_rq_append_bio is un-exported and is only used internally by block layer. Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit c29b70f6ee4f2fa3ef07f55bc9082945861e5391 Author: Boaz Harrosh Date: Sun May 17 18:58:41 2009 +0300 libosd: Use of new blk_make_request Use new blk_make_request() to allocate a request from bio and avoid using deprecated blk_rq_append_bio(). This patch is dependent on a block layer patch titled: [BLOCK] New blk_make_request() takes bio returns request This is the last usage of blk_rq_append_bio in osd, it can now be un-exported. Signed-off-by: Boaz Harrosh CC: Jeff Garzik CC: FUJITA Tomonori Signed-off-by: Jens Axboe commit 79eb63e9e5875b84341a3a05f8e6ae9cdb4bb6f6 Author: Boaz Harrosh Date: Sun May 17 18:57:15 2009 +0300 block: Add blk_make_request(), takes bio, returns a request New block API: given a struct bio allocates a new request. This is the parallel of generic_make_request for BLOCK_PC commands users. The passed bio may be a chained-bio. The bio is bounced if needed inside the call to this member. This is in the effort of un-exporting blk_rq_append_bio(). Signed-off-by: Boaz Harrosh CC: Jeff Garzik Signed-off-by: Jens Axboe commit bc38bf106c967389a465d926be22c7371abba69d Author: Boaz Harrosh Date: Sun May 17 18:56:17 2009 +0300 libosd: Use new blk_rq_map_kern Now that blk_rq_map_kern will append the buffer onto the request we can use it easily for adding extra segments (eg. attributes) This patch is dependent on a block layer patch titled: [BLOCK] allow blk_rq_map_kern to append to requests Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 3a5a39276d2a32b05b1ee25b384516805b17cf87 Author: James Bottomley Date: Sun May 17 18:55:18 2009 +0300 block: allow blk_rq_map_kern to append to requests Use blk_rq_append_bio() internally instead of blk_rq_bio_prep() so blk_rq_map_kern can be called multiple times, to map multiple buffers. This is in the effort to un-export blk_rq_append_bio() Signed-off-by: James Bottomley Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit b2858d7d1639c04ca3c54988d76c5f7300b76f1c Author: Miklos Szeredi Date: Tue May 19 11:37:46 2009 +0200 splice: fix kmaps in default_file_splice_write() Unfortunately multiple kmap() within a single thread are deadlockable, so writing out multiple buffers with writev() isn't possible. Change the implementation so that it does a separate write() for each buffer. This actually simplifies the code a lot since the splice_from_pipe() helper can be used. This limitation is caused by HIGHMEM pages, and so only affects a subset of architectures and configurations. In the future it may be worth to implement default_file_splice_write() in a more efficient way on configs that allow it. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 4fc981ef9e7c0953d5c4896ce088b19c50cb018f Author: Tejun Heo Date: Tue May 19 18:33:06 2009 +0900 bio: always copy back data for copied kernel requests When a read bio_copy_kern() request fails, the content of the bounce buffer is not copied back. However, as request failure doesn't necessarily mean complete failure, the buffer state can be useful. This behavior is also inconsistent with the user map counterpart and causes the subtle difference between bounced and unbounced IO causes confusion. This patch makes bio_copy_kern_endio() ignore @err and always copy back data on request completion. Signed-off-by: Tejun Heo Cc: Boaz Harrosh Cc: James Bottomley Signed-off-by: Jens Axboe commit 5f49f63178360b07a095bd33b0d850d60edf7590 Author: Tejun Heo Date: Tue May 19 18:33:05 2009 +0900 block: set rq->resid_len to blk_rq_bytes() on issue In commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f, while introducing rq->resid_len, the default value of residue count was changed from full count to zero. The conversion was done under the assumption that when a request fails residue count wasn't defined. However, Boaz and James pointed out that this wasn't true and the residue count should be preserved for failed requests too. This patchset restores the original behavior by setting rq->resid_len to blk_rq_bytes(rq) on request start and restoring explicit clearing in affected drivers. While at it, take advantage of the fact that rq->resid_len is set to full count where applicable. * ide-cd: rq->resid_len cleared on pc success * mptsas: req->resid_len cleared on success * sas_expander: rsp/req->resid_len cleared on success * mpt2sas_transport: req->resid_len cleared on success * ide-cd, ide-tape, mptsas, sas_host_smp, mpt2sas_transport, ub: take advantage of initial full count to simplify code Boaz Harrosh spotted bug in resid_len initialization. Fixed as suggested. Signed-off-by: Tejun Heo Acked-by: Borislav Petkov Cc: Boaz Harrosh Cc: James Bottomley Cc: Pete Zaitcev Cc: Bartlomiej Zolnierkiewicz Cc: Sergei Shtylyov Cc: Eric Moore Cc: Darrick J. Wong Signed-off-by: Jens Axboe commit 3755100dd5f66761aaaa7ae44c70b319a7c78a56 Author: Tejun Heo Date: Tue May 19 18:33:04 2009 +0900 ub: use __blk_end_request_all() ub_end_rq() always tries to complete full request. The @cmd_len parameter was there because rq->data_len used to be overwritten with residue count. Drop @cmd_len and use __blk_end_request_all(). Signed-off-by: Tejun Heo Cc: Pete Zaitcev Signed-off-by: Jens Axboe commit 11a728110633320d95935a1ba79c038db303596f Author: Lopez Cruz, Misael Date: Mon May 18 11:53:04 2009 -0500 ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3 Connect twl4030 voice DAI to McBSP3 in sdp3430 machine driver. Voice DAI init function enables corresponding interface by writting directly to VOICE_IF codec register. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujflausi Signed-off-by: Mark Brown commit b74bd40fa4ae018898c8a6429c2a7daf61516524 Author: Lopez Cruz, Misael Date: Mon May 18 11:52:55 2009 -0500 ASoC: TWL4030: Add control for selecting codec operation mode Add a control for selecting the codec operation mode. TWL4030 codec has two modes: - Option 1. Audio only (4 audio DACs) - Option 2. Voice/Audio (2 audio DACs and voice ADC/DAC) Control is restricted when a stream is ongoing, since codec's operation mode cannot be changed on-the-fly. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujflausi Signed-off-by: Mark Brown commit 5e9145edcc368295cb353872b4a6026e13f5565e Author: Alberto Panizzo Date: Tue May 19 10:01:03 2009 +0200 Atmark Armadillo 500 board support. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit e9ccb73ab57ada469602506496c42e5b4468ac3e Author: Steven Whitehouse Date: Tue May 19 10:23:23 2009 +0100 GFS2: Update docs Update a few things which were out of date, and fix a typo. Signed-off-by: Steven Whitehouse commit fe64d517df0970a68417184a12fcd4ba0589cc28 Author: Steven Whitehouse Date: Tue May 19 10:01:18 2009 +0100 GFS2: Umount recovery race fix This patch fixes a race condition where we can receive recovery requests part way through processing a umount. This was causing problems since the recovery thread had already gone away. Looking in more detail at the recovery code, it was really trying to implement a slight variation on a work queue, and that happens to align nicely with the recently introduced slow-work subsystem. As a result I've updated the code to use slow-work, rather than its own home grown variety of work queue. When using the wait_on_bit() function, I noticed that the wait function that was supplied as an argument was appearing in the WCHAN field, so I've updated the function names in order to produce more meaningful output. Signed-off-by: Steven Whitehouse commit 181da78cd048ce866b05a2e0208ea09d2f80e721 Author: Peter Ujfalusi Date: Tue May 19 10:51:03 2009 +0300 ASoC: TWL4030: Fix Analog capture path for AUXR AUXR is selected by bit 2 and not by bit 1 in the ANAMICR register. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fd51d251e4cdb21f68e9dbc4336514d64a105a79 Author: Stefan Raspl Date: Tue May 19 09:59:08 2009 +0200 blktrace: remove debugfs entries on bad path debugfs directory entries for devices are not removed on some of the failure pathes in do_blk_trace_setup(). One way to reproduce is to start blktrace on multiple devices with insufficient Vmalloc space: Devices will fail with a message like this: BLKTRACESETUP(2) /dev/sdu failed: 5/Input/output error If so, the respective entries in debugfs (e.g. /sys/kernel/debug/block/sdu) will remain and subsequent attempts to start blktrace on the respective devices will not succeed due to existing directories. [ Impact: fix /debug/tracing file cleanup corner case ] Signed-off-by: Stefan Raspl Acked-by: Li Zefan Cc: Li Zefan Cc: schwidefsky@de.ibm.com Cc: heiko.carstens@de.ibm.com LKML-Reference: <4A1266CC.5040801@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 143c145e3a475065a4be661468d0df1bd0b25f74 Author: Li Zefan Date: Tue May 19 14:43:15 2009 +0800 tracing/events: Documentation updates - fix some typos - document the difference between '>' and '>>' - document the 'enable' toggle - remove section "Defining an event-enabled tracepoint", since it's out-dated and sample/trace_events/ already serves this purpose. v2: add "Updated by Li Zefan" [ Impact: make documentation up-to-date ] Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: "Theodore Ts'o" LKML-Reference: <4A125503.5060406@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8b3884a841f398f6e0a0411d6929d8d9381bb265 Author: Hunter Adrian Date: Thu May 14 06:32:30 2009 +0200 UBIFS: return error if link and unlink race Consider a scenario when 'vfs_link(dirA/fileA)' and 'vfs_unlink(dirA/fileA, dirB/fileB)' race. 'vfs_link()' does not lock 'dirA->i_mutex', so this is possible. Both of the functions lock 'fileA->i_mutex' though. Suppose 'vfs_unlink()' wins, and takes 'fileA->i_mutex' mutex first. Suppose 'fileA->i_nlink' is 1. In this case 'ubifs_unlink()' will drop the last reference, and put 'inodeA' to the list of orphans. After this, 'vfs_link()' will link 'dirB/fileB' to 'inodeA'. Thir is a problem because, for example, the subsequent 'vfs_unlink(dirB/fileB)' will add the same inode to the list of orphans. This problem was reported by J. R. Okajima [Artem: add more comments, amended commit message] Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 4200efd9acda4accf24640f1e77d24fdcdb524df Author: Ingo Molnar Date: Tue May 19 09:22:19 2009 +0200 sched: properly define the sched_group::cpumask and sched_domain::span fields Properly document the variable-size structure tricks we are doing wrt. struct sched_group and sched_domain, and use the field[0] GCC extension instead of defining a vla array. Dont use unions for this, as pointed out by Linus. [ Impact: cleanup, un-confuse Sparse and LLVM ] Reported-by: Jeff Garzik Acked-by: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit 54c181935d2a2d46a1b2f00cbb25acc35e4f5ee2 Author: Kumar Gala Date: Fri May 8 15:05:23 2009 -0500 powerpc/fsl: Setup PCI inbound window based on actual amount of memory Previouslly we just always set the inbound window to 2G. This was broken for systems with >2G. If a system has >=4G we will need SWIOTLB support to handle that case. We now allocate PCICSRBAR/PEXCSRBAR right below the lowest PCI outbound address for MMIO or the 4G boundary (if the lowest PCI address is above 4G). Signed-off-by: Kumar Gala commit 01af9507ff36578dad89b1cc88ff37ac18e719cb Author: Kumar Gala Date: Wed Apr 15 14:38:40 2009 -0500 powerpc/85xx: Add P2020DS board support The P2020 is a dual e500v2 core based SOC with: * 3 PCIe controllers * 2 General purpose DMA controllers * 2 sRIO controllers * 3 eTSECS * USB 2.0 * SDHC * SPI, I2C, DUART * enhanced localbus * and optional Security (P2020E) security w/XOR acceleration The p2020 DS reference board is pretty similar to the existing MPC85xx DS boards and has a ULI 1575 connected on one of the PCIe controllers. Signed-off-by: Ted Peters Signed-off-by: Kumar Gala commit 404614728f857d0ac63d29c3a29d0cf392a15598 Author: Kumar Gala Date: Fri May 8 08:47:45 2009 -0500 powerpc/fsl: Update FSL esdhc binding Updated the binding spec to use "fsl,eshdc" as the base compatible rather than the first chip in the family. Signed-off-by: Kumar Gala commit 181a6ff034f71b853bb2510db6afad2862e15a8e Author: Li Yang Date: Tue May 12 16:36:03 2009 +0800 rapidio: fix section mismatch warnings Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 186e74b9c5ab3f3f053797c879882a1f5c0cbd09 Author: Li Yang Date: Tue May 12 16:35:59 2009 +0800 powerpc/fsl_rio: use LAW address from device tree Instead of fixed address in old code. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit fc274a15692b0ee9751f586d7f703267c783809b Author: Kumar Gala Date: Wed May 13 17:02:24 2009 -0500 powerpc/fsl_rio: Fix compile warnings We we build with resource_size_t as a 64-bit quantity we get: arch/powerpc/sysdev/fsl_rio.c: In function 'fsl_rio_setup': arch/powerpc/sysdev/fsl_rio.c:1029: warning: format '%08x' expects type 'unsigned int', but argument 4 has type 'resource_size_t' arch/powerpc/sysdev/fsl_rio.c:1029: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'resource_size_t' Signed-off-by: Kumar Gala commit 558ab308906b398a16fa52f296407418470356c0 Author: Kumar Gala Date: Tue May 12 16:59:12 2009 -0500 powerpc/8xxx: Update PCI outbound window addresses for 36-bit configs In these configuration we expect to have large amounts of memory (> 4G) and thus will bounce via swiotlb some region of PCI address space. The outbound windows were wasting 512M of address space by leaving a gap between the top of the outbound window and the 4G boundary. By moving the top of the outbound window up to the 4G boundary we can reclaim the vast majority of the 512M (minus space needed for PEXCSRBAR) and thus reduces the amount of memory we have to bounce. Signed-off-by: Kumar Gala commit 3da34aae03d498ee62f75aa7467de93cce3030fd Author: Kumar Gala Date: Tue May 12 15:51:56 2009 -0500 powerpc/fsl: Support unique MSI addresses per PCIe Root Complex Its feasible based on how the PCI address map is setup that the region of PCI address space used for MSIs differs for each PHB on the same SoC. Instead of assuming that the address mappes to CCSRBAR 1:1 we read PEXCSRBAR (BAR0) for the PHB that the given pci_dev is on. Signed-off-by: Kumar Gala commit 12ac426f889f3a6b821c7ca73e74d83f0fc84c13 Author: Kumar Gala Date: Fri May 8 16:28:42 2009 -0500 powerpc/85xx: Add MSI nodes for MPC8568/9 MDS systems The MPC8568/9 chips support MSIs on PCIe so no reason not to enable them. Signed-off-by: Kumar Gala commit 190ee6ed71577257106a0366c16473a5c81f582f Author: Kumar Gala Date: Wed May 13 16:23:57 2009 -0500 fsldma: Fix compile warnings We we build with dma_addr_t as a 64-bit quantity we get: drivers/dma/fsldma.c: In function 'fsl_chan_xfer_ld_queue': drivers/dma/fsldma.c:625: warning: cast to pointer from integer of different size drivers/dma/fsldma.c: In function 'fsl_dma_chan_do_interrupt': drivers/dma/fsldma.c:737: warning: cast to pointer from integer of different size drivers/dma/fsldma.c:737: warning: cast to pointer from integer of different size drivers/dma/fsldma.c: In function 'of_fsl_dma_probe': drivers/dma/fsldma.c:927: warning: cast to pointer from integer of different Signed-off-by: Kumar Gala Acked-by: Dan Williams commit bd78c33a096a73f09b1b998a481290e229382a8b Author: Anton Vorontsov Date: Sat May 2 06:16:59 2009 +0400 powerpc/85xx: Add STMicro M25P40 serial flash support for MPC8569E-MDS For serial flash support we need to: - Add QE Par IO Bank E device tree node, a GPIO from this bank is used for SPI chip-select line; - Add serial-flash node; - Add proper module alias into of/base.c. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5e8306fe5de2ce0c3272abd4b8ab20323a8bf0ff Author: Anton Vorontsov Date: Sat May 2 06:16:56 2009 +0400 powerpc/85xx: Enable Serial RapidIO for MPC85xx MDS boards Select HAS_RAPIDIO symbol and add rio nodes for MPC8568E-MDS and MPC8569E-MDS boards. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 28da456a480c6149fb1cdfa006c3fbff6b7b6bc2 Author: Anton Vorontsov Date: Sat May 2 06:16:53 2009 +0400 powerpc/85xx: Add eSDHC support for MPC8569E-MDS boards Note that eSDHC and DUART0 are mutually exclusive on MPC8569E-MDS boards. Default option is DUART0, so eSDHC is disabled by default. U-Boot will fixup device tree if eSDHC should be used instead of DUART0. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ea38f579d57e19bc054aaea4b9a2a9ddad85e9eb Author: Anton Vorontsov Date: Sat May 2 06:16:51 2009 +0400 powerpc/85xx: Fix reg & interrupts for mpc8569emds localbus added NAND This patch fixes bogus reg = <> property in the localbus node, and fixes interrupt property (should be "interrupts"). Also add node for NAND support. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit cd7e4a2cbb147a2f15abfad93e1af847e6bb339f Author: Anton Vorontsov Date: Sat May 2 06:16:49 2009 +0400 powerpc/85xx: Fix mpc8569emds crypto node to include SNOW unit fsl,exec-units-mask should be 0xbfe to include SNOW unit in MPC8569E's security engine. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit bfa568d19a3faed3b94978ad48ac15d1b0d7e5bc Author: Anton Vorontsov Date: Sat May 2 06:16:47 2009 +0400 powerpc/85xx: Add PCI IDs for MPC8569 family processors This patch adds PCI IDs for MPC8569 and MPC8569E processors, plus adds appropriate quirks for these IDs, and thus makes PCI-E actually work on MPC8569E-MDS boards. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit b1b680258618dee231a4136cdef5e1903c090817 Author: Kumar Gala Date: Fri May 8 08:40:11 2009 -0500 powerpc/fsl: Removed reg property from 85xx/86xx soc node Between the addition of the ecm/mcm law nodes and the fact that the get_immrbase() has been using the range property of the SoC to determine the base address of CCSR space we no longer need the reg property at the soc node level. It has been ill specified and varied between device trees to cover either the {e,m}cm-law node, some odd subset of CCSR space or all of CCSR space. Signed-off-by: Kumar Gala commit 01b14a906bfee5745eb23f5b57621e5ad320ae1d Author: Haiying Wang Date: Fri May 1 15:40:51 2009 -0400 powerpc/qe: add new qe properties for QE based chips Add fsl,qe-num-riscs and fsl,qe-num-snums to all the devices trees which have qe node. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 4b3b42b38af82e4815178d4762986f246adfe0ec Author: Haiying Wang Date: Fri May 1 15:40:50 2009 -0400 powerpc/85xx: Add MPC8569MDS board support The MPC8569 is similiar to the MPC8568. It doubles the number of QUICC Engine RISC cores from 2 to 4. Removes eTSECs, TLU and adds the eSDHC controller. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 674e4f93e2524e5710d5f2081feaedfd08f924a7 Author: Haiying Wang Date: Fri May 1 15:40:49 2009 -0400 net/ucc_geth: Assign six threads to Rx for UEC In the case the QE has 46 SNUMs for the threads to support four UCC Ethernet at 1000Base-T simultaneously. Signed-off-by: Haiying Wang Acked-by: David S. Miller Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 98ca77af23da6682bb3e34961a3f32e2c064a4ce Author: Haiying Wang Date: Fri May 1 15:40:48 2009 -0400 powerpc/qe: update QE Serial Number The latest QE chip may have more Serial Number(SNUM)s of thread to use. We will get the number of SNUMs from device tree by reading the new property "fsl,qe-num-snums", and set 28 as the default number of SNUMs so that it is compatible with the old QE chips' device trees which don't have this new property. The macro QE_NUM_OF_SNUM is defined as the maximum number in QE snum table which is 256. Also we update the snum_init[] array with 18 more new SNUMs which are confirmed to be useful on new chip. Signed-off-by: Haiying Wang Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 345f84227b50e90329dd303499024603596566f4 Author: Haiying Wang Date: Wed Apr 29 14:14:35 2009 -0400 net/ucc_geth: update riscTx and riscRx in ucc_geth Change the definition of riscTx and riscRx to unsigned integer instead of enum, and change their values to support 4 risc allocation if the qe has 4 RISC engines. Signed-off-by: Haiying Wang Acked-by: David S. Miller Signed-off-by: Kumar Gala commit 06c4435021f4856261edd01e2691071edeb8fa51 Author: Haiying Wang Date: Fri May 1 15:40:47 2009 -0400 powerpc/qe: update risc allocation for QE Change the RISC allocation to macros instead of enum, add function to read the number of risc engines from the new property "fsl,qe-num-riscs" under the qe node in dts. Add new property "fsl,qe-num-riscs" description in qe.txt Signed-off-by: Haiying Wang Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit ea5130dcb438840d64a168b67dd221e4d46246b8 Author: Haiying Wang Date: Wed Apr 29 14:14:33 2009 -0400 powerpc/85xx: clean up for mpc8568_mds name Keep an unique machine def for the MPC8568 MDS board to handle some subtle differences between the future MDS board. Also set the bcsrs in setup_arch() only for mpc8568_mds because other mds has different bcsr settings. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 1e76dff22ce45bc8b869a9956b24a77877915364 Author: Kumar Gala Date: Wed Apr 22 12:32:09 2009 -0500 powerpc/86xx: clean up smp init code Removed the need for asm/mpc86xx.h as it was only used in mpc86xx_smp.c and just moved the defines it cared about into there. Also fixed up the ioremap to only map the one 4k page we need access to and to iounmap when we are done. Signed-off-by: Kumar Gala commit ca851c783ccf9784fb6ffebcb25e2b6fd0b8dccc Author: Kumar Gala Date: Wed Apr 22 13:44:24 2009 -0500 powerpc/cpm: Remove some cruft code and defines Kill of some old defines and macros that we no longer use like CPM_MAP_ADDR and CPM_IRQ_OFFSET. Signed-off-by: Kumar Gala commit 89d93347d1f66832c43e6b25a669fddff89929b5 Author: Becky Bruce Date: Mon Apr 20 11:26:48 2009 -0500 powerpc: make dma_window_* in pci_controller struct avail on 32b Also, convert them to resource_size_t (which is unsigned long on 64-bit, so it's not a change there). We will be using these on fsl 32b to indicate the start and size address of memory that the pci controller can actually reach - this is needed to determine if an address requires bounce buffering. For now, initialize them to a standard value; in the near future, the value will be calculated based on how the inbound windows are programmed. Signed-off-by: Becky Bruce Acked-by: Ben Herrenschmidt Signed-off-by: Kumar Gala commit da385780489db4f55dad96609511a9a6d1b041cb Author: Kumar Gala Date: Mon Apr 27 11:02:16 2009 -0500 powerpc/86xx: Add new LAW & MCM device tree nodes for all 86xx systems Signed-off-by: Kumar Gala commit 5a928079c9b95e7c34526b07a3bb80b8d062347f Author: Kumar Gala Date: Wed Apr 22 13:12:14 2009 -0500 powerpc/86xx: Add binding for LAWs and MCM The first 4k region of CCSR space is well defined for local access windows, CCSRBAR, etc. The second 4k region is well defined as register for configuring and getting errors for the MPX coherency module. Signed-off-by: Kumar Gala commit e1a228973646bfa09575423cf5c40b3d0f40d670 Author: Kumar Gala Date: Wed Apr 22 13:17:42 2009 -0500 powerpc/85xx: Add new LAW & ECM device tree nodes for all 85xx systems Signed-off-by: Kumar Gala commit 6ca05ee11f3da9484c5323aeaec7cee540af70ed Author: Kumar Gala Date: Mon Apr 27 13:17:47 2009 -0500 powerpc/85xx: Add binding for LAWs and ECM The first 4k region of CCSR space is well defined for local access windows, CCSRBAR, etc. The second 4k region is well defined as register for configuring and getting errors for the ECM coherency module. Signed-off-by: Kumar Gala commit 81db718d48b991c33cbc7fe425003e374c087c36 Author: Kumar Gala Date: Wed Apr 22 13:18:02 2009 -0500 powerpc/fsl: use of_iomap() for rstcr mapping The rstcr register mapping code was written sometime ago before of_iomap() existed. We can use it and clean up the code a bit and get rid of one user of get_immrbase() in the process. Signed-off-by: Kumar Gala commit abd7d4837fbdd9bf0cf0f3efefa1312d6fa3082c Author: Becky Bruce Date: Mon Apr 20 11:26:47 2009 -0500 powerpc/86xx: Add 36-bit device tree for mpc8641hpcn The new dts places most of the devices in physical address space above 32-bits, which allows us to have more than 4GB of RAM present. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 9bf8b2741e6cd2e5ee98bfc050e3694890fdc811 Author: Kumar Gala Date: Wed Apr 15 14:33:38 2009 -0500 powerpc: Refactor board check for PCI quirks on FSL boards with uli1575 Refactor the check to determine if the quirk is applicable to the boards into one inline function so we only have to change one place to add more boards that the quirks might be applicable to. Also removed a warning related to unused temp variable. Signed-off-by: Kumar Gala commit 28eac2b74cc7136dee3f2615167811d24d25bc97 Author: Kumar Gala Date: Wed Apr 15 10:38:49 2009 -0500 powerpc/fsl: Remove cell-index from PCI nodes The cell-index property isn't used on PCI nodes and is ill defined. Remove it for now and if someone comes up with a good reason and consistent definition for it we can add it back Signed-off-by: Kumar Gala commit e2ff7544e121a574b151d9012c72f6601df2f087 Author: Michael Ellerman Date: Wed Apr 8 10:02:50 2009 +1000 powerpc/oprofile: Remove unused dump_pmcs() in FSL oprofile It's still in the git history if anyone wants it. Signed-off-by: Michael Ellerman Signed-off-by: Kumar Gala commit 69d3a84a646d6ad6cd693a7a3d5b9af414113d2c Author: Hiroshi DOYU Date: Wed Jan 28 21:32:08 2009 +0200 omap iommu: simple virtual address space management This patch provides a device drivers, which has a omap iommu, with address mapping APIs between device virtual address(iommu), physical address and MPU virtual address. There are 4 possible patterns for iommu virtual address(iova/da) mapping. |iova/ mapping iommu_ page | da pa va (d)-(p)-(v) function type --------------------------------------------------------------------------- 1 | c c c 1 - 1 - 1 _kmap() / _kunmap() s 2 | c c,a c 1 - 1 - 1 _kmalloc()/ _kfree() s 3 | c d c 1 - n - 1 _vmap() / _vunmap() s 4 | c d,a c 1 - n - 1 _vmalloc()/ _vfree() n* 'iova': device iommu virtual address 'da': alias of 'iova' 'pa': physical address 'va': mpu virtual address 'c': contiguous memory area 'd': dicontiguous memory area 'a': anonymous memory allocation '()': optional feature 'n': a normal page(4KB) size is used. 's': multiple iommu superpage(16MB, 1MB, 64KB, 4KB) size is used. '*': not yet, but feasible. Signed-off-by: Hiroshi DOYU commit 066aa9c1e3d0af52619fe26f05810990ff381d8c Author: Hiroshi DOYU Date: Wed Jan 28 21:32:04 2009 +0200 omap iommu: omap3 iommu device registration Signed-off-by: Hiroshi DOYU commit 93f154b594fe47e4a7e5358b309add449a046cd3 Author: Eric Dumazet Date: Mon May 18 22:19:19 2009 -0700 net: release dst entry in dev_hard_start_xmit() One point of contention in high network loads is the dst_release() performed when a transmited skb is freed. This is because NIC tx completion calls dev_kree_skb() long after original call to dev_queue_xmit(skb). CPU cache is cold and the atomic op in dst_release() stalls. On SMP, this is quite visible if one CPU is 100% handling softirqs for a network device, since dst_clone() is done by other cpus, involving cache line ping pongs. It seems right place to release dst is in dev_hard_start_xmit(), for most devices but ones that are virtual, and some exceptions. David Miller suggested to define a new device flag, set in alloc_netdev_mq() (so that most devices set it at init time), and carefuly unset in devices which dont want a NULL skb->dst in their ndo_start_xmit(). List of devices that must clear this flag is : - loopback device, because it calls netif_rx() and quoting Patrick : "ip_route_input() doesn't accept loopback addresses, so loopback packets already need to have a dst_entry attached." - appletalk/ipddp.c : needs skb->dst in its xmit function - And all devices that call again dev_queue_xmit() from their xmit function (as some classifiers need skb->dst) : bonding, vlan, macvlan, eql, ifb, hdlc_fr Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 496a60cdcd5d0d884dddf6c3b4ea912923a70f13 Author: Eric W. Biederman Date: Wed May 13 17:02:50 2009 +0000 net: FIX bonding sysfs rtnl_lock deadlock Sysfs files for a network device can not unconditionally take the rtnl_lock as the bonding sysfs files do. If someone accesses those sysfs files while the network device is being unregistered with the rtnl_lock held we will deadlock. So use trylock and restart_syscall to avoid this problem. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 26574401fef6766f6c3ca25b5c13febe662d2a32 Author: Eric W. Biederman Date: Wed May 13 17:01:51 2009 +0000 net: Fix ipoib rtnl_lock sysfs deadlock. Network device sysfs files that grab the rtnl_lock unconditionally will deadlock if accessed when the network device is being unregistered. So use trylock and syscall_restart to avoid this deadlock. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit af38f2989572704a846a5577b5ab3b1e2885cbfb Author: Eric W. Biederman Date: Wed May 13 17:00:41 2009 +0000 net: Fix bridgeing sysfs handling of rtnl_lock Holding rtnl_lock when we are unregistering the sysfs files can deadlock if we unconditionally take rtnl_lock in a sysfs file. So fix it with the now familiar patter of: rtnl_trylock and syscall_restart() Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 9b8adb5ea005fe73acd5dd58f9bd47eafa74c9d1 Author: Eric W. Biederman Date: Wed May 13 16:59:21 2009 +0000 net: Fix devinet_sysctl_forward sysctls are unregistered with the rntl_lock held making it unsafe to unconditionally grab the the rtnl_lock. Instead we need to call rtnl_trylock and restart the system call if we can not grab it. Otherwise we could deadlock at unregistration time. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5007392d8512e666107dc356d4c2e05627b9029b Author: Eric W. Biederman Date: Wed May 13 16:58:17 2009 +0000 net: FIX ipv6_forward sysctl restart Just returning -ERESTARTSYS without a signal pending is not good that will just leak it to userspace. We need return -ERESTARTNOINTR so we always restart and set signal pending so that we fall of the fast path of syscall return and setup the system call restart. So use restart_syscall() which does all of this for us. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 336ca57c3b4e2b58ea3273e6d978ab3dfa387b4c Author: Eric W. Biederman Date: Wed May 13 16:57:25 2009 +0000 net-sysfs: Use rtnl_trylock in sysfs methods. The earlier patch to fix the deadlock between a network device going away and writing to sysfs attributes was incomplete. - It did not set signal_pending so we would leak ERSTARTSYS to user space. - It used ERESTARTSYS which only restarts if sigaction configures it to. - It did not cover store and show for ifalias. So fix all of these up and use the new helper restart_syscall so we get the details correct on what it takes. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 690cc3ffe33ac4a2857583c22d4c6244ae11684d Author: Eric W. Biederman Date: Wed May 13 16:55:10 2009 +0000 syscall: Implement a convinience function restart_syscall Currently when we have a signal pending we have the functionality to restart that the current system call. There are other cases such as nasty lock ordering issues where it makes sense to have a simple fix that uses try lock and restarts the system call. Buying time to figure out how to rework the locking strategy. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 Author: Johann Baudy Date: Mon May 18 22:11:22 2009 -0700 net: TX_RING and packet mmap New packet socket feature that makes packet socket more efficient for transmission. - It reduces number of system call through a PACKET_TX_RING mechanism, based on PACKET_RX_RING (Circular buffer allocated in kernel space which is mmapped from user space). - It minimizes CPU copy using fragmented SKB (almost zero copy). Signed-off-by: Johann Baudy Signed-off-by: David S. Miller commit f67f34084914144de55c785163d047d5d8dddd2d Author: Dhananjay Phadke Date: Mon May 18 21:46:40 2009 -0700 netxen: fix msi irq setup The pdev->irq was not saved in netxen_adapter, causing request_irq() with invalid irq number. This was broken in commit be339aee634d5cb98a8df8d6febe04002ec497f3 ("netxen: fix irq tear down and msix leak."). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit bb803cfbecb03a0cf8dc7e1864f18dda6631af00 Merge: 3878fb6 511e11e Author: David S. Miller Date: Mon May 18 21:08:20 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/scsi/fcoe/fcoe.c commit 3878fb6fdbceecca20b15748f807340854220f06 Author: Wolfgang Grandegger Date: Fri May 15 23:39:33 2009 +0000 The patch adds support for the PCI cards: PCIcan and PCIcanx (1, 2 or 4 channel) from Kvaser (http://www.kvaser.com). Signed-off-by: Per Dalen Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit a61a8423c71d6da6f1f6f854d8adcea24b80bef6 Author: Wolfgang Grandegger Date: Fri May 15 23:39:32 2009 +0000 can: SJA1000 driver for EMS PCI cards The patch adds support for the one or two channel CPC-PCI and CPC-PCIe cards from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). Signed-off-by: Sebastian Haas Signed-off-by: Markus Plessing Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit f534e52f091a7b9f51fb6726710bdf731b663e94 Author: Wolfgang Grandegger Date: Fri May 15 23:39:31 2009 +0000 can: SJA1000 generic platform bus driver This driver adds support for the SJA1000 chips connected to the "platform bus", which can be found on various embedded systems. Signed-off-by: Sascha Hauer Signed-off-by: Wolfgang Grandegger Signed-off-by: Marc Kleine-Budde Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 429da1cc841bc9f2e762fd7272fc2b80314b890a Author: Wolfgang Grandegger Date: Fri May 15 23:39:30 2009 +0000 can: Driver for the SJA1000 CAN controller This patch adds the generic Socket-CAN driver for the Philips SJA1000 full CAN controller. Signed-off-by: Wolfgang Grandegger Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 39549eef3587f1c1e8c65c88a2400d10fd30ea17 Author: Wolfgang Grandegger Date: Fri May 15 23:39:29 2009 +0000 can: CAN Network device driver and Netlink interface The CAN network device driver interface provides a generic interface to setup, configure and monitor CAN network devices. It exports a set of common data structures and functions, which all real CAN network device drivers should use. Please have a look to the SJA1000 or MSCAN driver to understand how to use them. The name of the module is can-dev.ko. Furthermore, it adds a Netlink interface allowing to configure the CAN device using the program "ip" from the iproute2 utility suite. For further information please check "Documentation/networking/can.txt" Signed-off-by: Wolfgang Grandegger Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 4261a2043f1bed16f226c507ea37015090600c0f Author: Wolfgang Grandegger Date: Fri May 15 23:39:28 2009 +0000 can: Update MAINTAINERS and CREDITS file Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit e20dad964aeac229a204e298c563b6ea7ff1e987 Author: Wolfgang Grandegger Date: Fri May 15 23:39:27 2009 +0000 can: Documentation for the CAN device driver interface This patch documents the CAN netowrk device drivers interface, removes obsolete documentation and adds some useful links to CAN resources. Signed-off-by: Wolfgang Grandegger Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit a6286ee630f6d95f8466e19d7f1ae38d677028ae Author: Anant Gole Date: Mon May 18 15:19:01 2009 -0700 net: Add TI DaVinci EMAC driver Add support for TI DaVinci EMAC driver. TI DaVinci Ethernet Media Access Controller module is based upon TI CPPI 3.0 DMA engine and supports 10/100 Mbps on all and Gigabit modes on some TI devices. It supports MII/RMII and has up to 8Kbytes of internal descriptor memory. This driver has been working on several TI devices including DM644x, DM646x and DA830 platforms. The specs of this device are available at: http://www.ti.com/litv/pdf/sprue24a Signed-off-by: Anant Gole Signed-off-by: Kevin Hilman Signed-off-by: Chaithrika U S Signed-off-by: David S. Miller commit 75834fc3b6fcff00327f5d2a18760c1e8e0179c5 Author: Eric Paris Date: Mon May 18 10:26:10 2009 -0400 SELinux: move SELINUX_MAGIC into magic.h The selinuxfs superblock magic is used inside the IMA code, but is being defined in two places and could someday get out of sync. This patch moves the declaration into magic.h so it is only done once. Signed-off-by: Eric Paris Signed-off-by: James Morris commit d23a9b5baa1a37ac3620e1ba080965c505053749 Author: Rami Rosen Date: Mon May 18 01:47:52 2009 +0000 ipv4: cleanup: remove unnecessary include. There is no need for net/icmp.h header in net/ipv4/fib_frontend.c. This patch removes the #include net/icmp.h from it. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit e204a345a0b11c6522ec06e62dee71628a492408 Author: Rami Rosen Date: Mon May 18 01:19:12 2009 +0000 ipv4: cleanup - remove two unused parameters from fib_semantic_match(). Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 450c4ea15ecb89567e6a75b89cbb8a598a7efb75 Author: Eric Dumazet Date: Mon May 18 00:35:38 2009 +0000 vlan: use struct netdev_queue counters instead of dev->stats We can update netdev_queue tx_bytes/tx_packets/tx_dropped counters instead of dev->stats ones, to reduce number of cache lines dirtied in xmit path. This fixes a performance problem on SMP when many different cpus take vlan tx path. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 7004bf252c53da18f6b55103e0c92f777f846806 Author: Eric Dumazet Date: Mon May 18 00:34:33 2009 +0000 net: add tx_packets/tx_bytes/tx_dropped counters in struct netdev_queue offsetof(struct net_device, features)=0x44 offsetof(struct net_device, stats.tx_packets)=0x54 offsetof(struct net_device, stats.tx_bytes)=0x5c offsetof(struct net_device, stats.tx_dropped)=0x6c Network drivers that touch dev->stats.tx_packets/stats.tx_bytes in their tx path can slow down SMP operations, since they dirty a cache line that should stay shared (dev->features is needed in rx and tx paths) We could move away stats field in net_device but it wont help that much. (Two cache lines dirtied in tx path, we can do one only) Better solution is to add tx_packets/tx_bytes/tx_dropped in struct netdev_queue because this structure is already touched in tx path and counters updates will then be free (no increase in size) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ba98898eb3fc07ee54566fcc3626354a44355acb Author: Peter P Waskiewicz Jr Date: Sun May 17 20:58:21 2009 +0000 ixgbe: Increase the driver version number Marching along, let's bump the version number to indicate things actually have happened to the driver. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1fcf03e65650ed888543d33b018bec8dcd95c8e2 Author: Peter P Waskiewicz Jr Date: Sun May 17 20:58:04 2009 +0000 ixgbe: Add generic XAUI support to 82599 This patch adds the generic XAUI device support for 82599 controllers. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e76678dd654545c98a5d0bdc66bd41350573c23e Author: Alexander Duyck Date: Sun May 17 20:57:47 2009 +0000 ixgbe: set max desc to prevent total RSC packet size of 64K The performance of hardware RSC is greatly reduced if the total for max rsc descriptors multiplied by the buffer size is greater than 65535. To prevent this we need to adjust the max rsc descriptors appropriately. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 82d048186e403f36e083b37ad42aa90abb7dcaac Merge: 62551d3 d3707d9 Author: David S. Miller Date: Mon May 18 14:48:30 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 7a05a2cbd317cbd16e6d1689bb1e5e208eaaba6f Author: Ben Dooks Date: Mon May 18 20:15:01 2009 +0100 [ARM] S3C24XX: GPIO: Change usb-simtec.c to use gpiolib. Make arch/arm/mach-s3c2410/usb-simtec.c use gpiolib to manage gpio access. Signed-off-by: Ben Dooks commit 5233c178d4cedad0acd0eb0f24b2e09f7fafaa1c Author: Ben Dooks Date: Mon May 18 20:10:43 2009 +0100 [ARM] S3C24XX: GPIO: Fix missing GPIOs in gpiolib The GPG bank has 16 IOs, not 10. Add the missing GPH bank. Signed-off-by: Ben Dooks commit 9c0ec95797052af84b7579e2a00ea212cebf71a8 Author: Ben Dooks Date: Mon May 18 20:03:23 2009 +0100 [ARM] S3C24XX: GPIO: Move gpiolib initialisation earlier The arch_initcall() is too late for board initialisation to use gpiolib when doing their machine specific initilisation via the .init_machine callback. Bring the file into line with the s3c64xx implementation and use the core_initcall() to register the GPIO chips. Signed-off-by: Ben Dooks commit 373e9644c5f557bc8992036f9a9281e9d98aef40 Author: Ben Dooks Date: Mon May 18 19:40:18 2009 +0100 [ARM] S3C24XX: GPIO: Fix error returns from gpio functions Several GPIO functions have been returning -1 to indicate an error instead of returning a proper error code. Change to return -EINVAL for invalid argument(s). Signed-off-by: Ben Dooks commit e1baa011a7160b491896b577d4f01b696be308fa Author: wanzongshun Date: Sat May 9 02:41:01 2009 +0100 [ARM] 5512/1: Add w90p910 rtc,kpi and usbd device platform_device define. Add rtc,kpi and usbd device platform_device define in arch/arm/mach-w90x900/mach-w90p910evb.c. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 0351c506af1443570194278a7f17414e212a4a74 Author: wanzongshun Date: Sat May 9 02:39:41 2009 +0100 [ARM] 5511/1: Add w90p910 rtc,kpi and usbd device map_desc define. Add rtc,kpi and usbd device map_desc define in /arch/arm/mach-w90x900/w90p910.c. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit f7a9a4d782628b4bd2392d931b95bd49732a2918 Author: Linus Walleij Date: Fri May 8 08:59:51 2009 +0100 [ARM] 5510/1: U300 GPIO debug and init fixes This moves the GPIO driver away from using __devinit and __devexit It also removes all printk() in favor of using dev_* print macros on pdev->dev struct instead. Surplus prints are removed, and the platform_device_probe() function is used instead of putting a .probe function in the platform driver struct. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bcb8a0d6f5e73c61a5290b4faaaa48dfa629e6b0 Merge: 543899f 0b13406 Author: Ben Dooks Date: Mon May 18 16:32:29 2009 +0100 [ARM] S3C: Merge next-s3c64xx-dma2 into for-rmk-devel Merge branch 'next-s3c64xx-dma2' into for-rmk-devel Conflicts: arch/arm/plat-s3c64xx/Makefile commit 0b13406a1f1928ec71e81dde52cb62d72ffd28ef Author: Mark Brown Date: Thu Apr 30 14:58:40 2009 +0100 [ARM] S3C64XX: Lower severity of DMA logging The message was missing a severity macro so pick pr_debug(). Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit fa7a7883fe5c647decee57a9c1b86a96408c5b26 Author: Ben Dooks Date: Tue Mar 10 23:57:26 2009 +0000 [ARM] S3C64XX: DMA support Add support for the DMA blocks in the S3C64XX series of CPUS, which are based on the ARM PL080 PrimeCell system. Unfortunately, these DMA controllers diverge from the PL080 design by adding another DMA controller register and configuration for OneNAND. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 070276d5d049f385763dee19112bea08f56c9a0d Author: Ben Dooks Date: Sun May 17 22:32:23 2009 +0100 [ARM] S3C24XX: GPIO: Change to macros for GPIO numbering Prepare to remove the large number of S3C2410_GPxn defines by moving to S3C2410_GPx(n) in arch/arm. The following perl was used to change the files: perl -pi~ -e 's/S3C2410_GP([A-Z])([0-9]+)([^_^0-9])/S3C2410_GP\1\(\2\)\3/g' Signed-off-by: Ben Dooks commit 75cbcff3729fe2568dff38d16d6494f8fb7f59fe Author: Ben Dooks Date: Sun May 17 22:44:33 2009 +0100 [ARM] S3C24XX: GPIO: Add S3C64XX style GPIO numbering Move the new style of GPIO numbering by using a single macro for each GPIO bank. This means S3C2410_GPA0 becomes S3C2410_GPA(0), and so on. Signed-off-by: Ben Dooks commit fda7b2b097fed9f88bc93ed3de0caea87ffe778e Author: Ben Dooks Date: Sun May 17 22:18:27 2009 +0100 [ARM] S3C24XX: GPIO: Start removal of S3C24XX_GPIO_BASE The S3C24XX_GPIO_BASE makes it difficult to compress the GPIO number space, and is only used in a few places of which everything outside arch/arm/plat-s3c24xx/gpiolib.c will be removed as soon as possible. Change gpiolib.c to use the S3C2410_GPxCON register addresses as the base for each bank, thus eliminating S3C24XX_GPIO_BASE. Signed-off-by: Ben Dooks commit 9c7099ca7519268f6ec79782bc06faa27a714d95 Author: Ben Dooks Date: Sun May 17 22:08:32 2009 +0100 [ARM] S3C24XX: GPIO: Clean out unused definitions in The really does not need the input and output pin configurations as these are standard and have a generic representation (plus the s3c24xx gpio specific code is going to be phased out soon). The following sed was applied to remove the lines: sed -i~ -e '/S3C2410_GP[A-Z][0-9]*_\INP/d' \ -e '/S3C2410_GP[A-Z][0-9]*_\OUTP/d' \ -e '/S3C2410_GPA[0-9]*_OUT/d' to remove these. Signed-off-by: Ben Dooks commit 86c03c526e2b282846c09509a48ab8be68fe7168 Author: Ben Dooks Date: Sun May 17 22:47:07 2009 +0100 [ARM] S3C24XX: Fix missing In our recent changes, arch/arm/plat-s3c24xx/gpiolib.c needs to have included for it to build. This fixes the following error/warnings: arch/arm/plat-s3c/include/plat/pm.h:104: error: expected declaration specifiers or '...' before 'pm_message_t' arch/arm/plat-s3c/include/plat/pm.h:104: warning: 'struct sys_device' declared inside parameter list arch/arm/plat-s3c/include/plat/pm.h:104: warning: its scope is only this definition or declaration, which is probably not what you want arch/arm/plat-s3c/include/plat/pm.h:105: warning: 'struct sys_device' declared inside parameter list Signed-off-by: Ben Dooks commit ec976d6eb021dc8f2994248c310a41540f4756bd Author: Ben Dooks Date: Wed May 13 22:52:24 2009 +0100 [ARM] S3C24XX: GPIO: Move gpio functions out of Move all the gpio functions out of as this file is for defining the generic IO base addresses for the kernel IO calls. Make a new header to take this and include it via the chain from which is what most of these files should be using (and will be changed as soon as possible). Note, this does make minor changes to some drivers but should not mess up any pending merges. CC: Richard Purdie Acked-by: Mark Brown CC: David Brownell Signed-off-by: Ben Dooks commit f83fba8baab9e95fff0fe2be0e1e32a1650bdd7f Author: Mark Brown Date: Mon May 18 15:44:43 2009 +0100 ASoC: Add debug trace for bias level transitions A standard way of making sure we know when the bias level changes. Signed-off-by: Mark Brown commit 452c5eaa0d5162e02ffee742ea17540887bc2904 Author: Mark Brown Date: Sun May 17 21:41:23 2009 +0100 ASoC: Integrate bias management with DAPM power management Rather than managing the bias level of the system based on if there is an active audio stream manage it based on there being an active DAPM widget. This simplifies the code a little, moving the power handling into one place, and improves audio performance for bypass paths when no playbacks or captures are active. Signed-off-by: Mark Brown commit aef908434cd24dd5529065bf5d781773fad21125 Author: Mark Brown Date: Sat May 16 17:53:16 2009 +0100 ASoC: Make DAPM sysfs entries non-optional sysfs is so standard these days there's no point. Signed-off-by: Mark Brown commit 6d3ddc81f5762d54ce7d1db70eb757c6c12fabbc Author: Mark Brown Date: Sat May 16 17:47:29 2009 +0100 ASoC: Split DAPM power checks from sequencing of power changes DAPM has always applied any changes to the power state of widgets as soon as it has determined that they are required. Instead of doing this store all the changes that are required on lists of widgets to power up and down, then iterate over those lists and apply the changes. This changes the sequence in which changes are implemented, doing all power downs before power ups and always using the up/down sequences (previously they were only used when changes were due to DAC/ADC power events). The error handling is also changed so that we continue attempting to power widgets if some changes fail. The main benefit of this is to allow future changes to do optimisations over the whole power sequence and to reduce the number of walks of the widget graph required to check the power status of widgets. Signed-off-by: Mark Brown commit 93a23a7271dfb811b3adb72779054c3a24433112 Author: Yu Zhao Date: Mon May 18 13:51:37 2009 +0800 VT-d: support the device IOTLB Enable the device IOTLB (i.e. ATS) for both the bare metal and KVM environments. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit 9dd2fe89062c90a964d122b8be5615d6f2203bbe Author: Yu Zhao Date: Mon May 18 13:51:36 2009 +0800 VT-d: cleanup iommu_flush_iotlb_psi and flush_unmaps Make iommu_flush_iotlb_psi() and flush_unmaps() more readable. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit 6ba6c3a4cacfd68bf970e3e04e2ff0d66fa0f695 Author: Yu Zhao Date: Mon May 18 13:51:35 2009 +0800 VT-d: add device IOTLB invalidation support Support device IOTLB invalidation to flush the translation cached in the Endpoint. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit aa5d2b515b6fca5f8a56eac84f7fa0a68c1ce9b7 Author: Yu Zhao Date: Mon May 18 13:51:34 2009 +0800 VT-d: parse ATSR in DMA Remapping Reporting Structure Parse the Root Port ATS Capability Reporting Structure in the DMA Remapping Reporting Structure ACPI table. Signed-off-by: Yu Zhao Signed-off-by: David Woodhouse commit eb4c41d30ba1f973c8b10be3644571ab997ae0d6 Author: Torben Schulz Date: Mon May 18 15:02:35 2009 +0200 ALSA: hda - Improved MacBook 3,1 support This patch adds support for MacBook 3,1 sound by adding a model new "mb31" with the appropriate init verbs, mixers and channel modes to the ALC883 configuration. patch_alc882() and patch_alc883() are modified to handle the MacBook 3,1 sound-chip (Realtek ALC889A) correctly. Signed-off-by: Torben Schulz Signed-off-by: Takashi Iwai commit f831cc03490c78a76e2d35ad77ec2292d0323728 Author: Jens Axboe Date: Mon May 18 14:44:45 2009 +0200 virtio_blk: get rid of unused variable drivers/block/virtio_blk.c: In function 'blk_done': drivers/block/virtio_blk.c:53: warning: unused variable 'nr_bytes' Leftover from commit 1cde26f928863d90e9e7c1217880c8450464d305 Signed-off-by: Jens Axboe commit 1cde26f928863d90e9e7c1217880c8450464d305 Author: Hannes Reinecke Date: Mon May 18 14:41:30 2009 +0200 virtio_blk: SG_IO passthru support Add support for SG_IO passthru to virtio_blk. We add the scsi command block after the normal outhdr, and the scsi inhdr with full status information aswell as the sense buffer before the regular inhdr. [hch: forward ported, added the VIRTIO_BLK_F_SCSI flags, some comments and tested the whole beast] [axboe: updated to use ->resid and not dual-path the byte count] Signed-off-by: Hannes Reinecke Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell (+ checkpatch.pl tweak) Signed-off-by: Jens Axboe commit 6c3b46f74587d46e71b8c2b78fdca626a3aca280 Author: Christoph Hellwig Date: Mon May 18 14:38:28 2009 +0200 virtio_blk: don't blindly derefence req->rq_disk request->rq_disk is only set for FS requests or BLOCK_PC requests originating from the generic block layer scsi ioctls. It's not set for requests origination from other soures or internal cache flush commands implemented by the patch I'll send after this. So instead of using it to get at the private data in do_virtblk_request setup queue->queuedata and use it. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell Signed-off-by: Jens Axboe commit 313f6e2d40bd67e394a65e7d64acd0cf9c9d248d Author: Takashi Iwai Date: Mon May 18 12:40:52 2009 +0200 ALSA: hda - Avoid conflicts with snd-ctxfi driver The PCI entries of Creative with HD-audio class can be the devices with emu20k1/emu20k2 chips. These are supported better by snd-ctxfi driver. With that driver, the device will mutate from HD-audio to its native class. This patch adds a simple ifdef to avoid the conflict of device probe between snd-hda-intel and snd-ctxfi drivers. 1102:0009 seems still OK to be added as it has no emu20kx chip, and is a pure HD-audio device. Signed-off-by: Takashi Iwai commit 6c627f3978bf3059d45713e2e1240b7c43cc85f5 Author: Takashi Iwai Date: Mon May 18 12:33:36 2009 +0200 ALSA: hda - Show the actual chip name in 'unkown model' messages Show the actual chip name in 'unknown model..' info messages for Realtek codecs. Signed-off-by: Takashi Iwai commit e277d2fc79d6abb86fafadb58dca0b9c498a9aa7 Author: Yu Zhao Date: Mon May 18 13:51:33 2009 +0800 PCI: handle Virtual Function ATS enabling The SR-IOV spec requires that the Smallest Translation Unit and the Invalidate Queue Depth fields in the Virtual Function ATS capability are hardwired to 0. If a function is a Virtual Function, then and set its Physical Function's STU before enabling the ATS. Signed-off-by: Yu Zhao Acked-by: Jesse Barnes Signed-off-by: David Woodhouse commit 302b4215daa0a704c843da40fd2529e5757a72da Author: Yu Zhao Date: Mon May 18 13:51:32 2009 +0800 PCI: support the ATS capability The PCIe ATS capability makes the Endpoint be able to request the DMA address translation from the IOMMU and cache the translation in the device side, thus alleviate IOMMU pressure and improve the hardware performance in the I/O virtualization environment. Signed-off-by: Yu Zhao Acked-by: Jesse Barnes Signed-off-by: David Woodhouse commit b7a755a8a145a7e34e735bda9c452317de7a538a Author: Misael Lopez Cruz Date: Sun May 17 20:02:31 2009 -0500 ASoC: TWL4030: Enable/disable voice digital filters Enable TWL4030 VTXL/VTXR and VRX digital filters for uplink and downlink paths, respectively. This patch also corrects voice 8/16kHz mode selection bit (SEL_16K) of CODEC_MODE register. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 95c9c1da79e59fd10ec5da3aeba22981383f7040 Author: Artem Bityutskiy Date: Wed May 13 17:05:11 2009 +0300 UBI: minor serialization fix The @vol->upd_marker should be protected by the @ubi->device_mutex, otherwise 'paranoid_check_volume()' complains sometimes because vol->upd_marker is 1 while vtbl_rec->upd_marker is 0. Signed-off-by: Artem Bityutskiy commit d38dce5bfb400226bbffc81289c42a6271826a7e Author: Artem Bityutskiy Date: Wed May 13 14:05:24 2009 +0300 UBI: do not panic if volume check fails If a volume paranoid check fails, do not return an error code to the caller, but just print error messages and go forward. The primary reason for this is that it is difficult to recover and cancel the operation at that stage. Signed-off-by: Artem Bityutskiy commit cfcf0ec84bee53799e1e393a48af5bdcf719a383 Author: Artem Bityutskiy Date: Tue May 12 20:29:15 2009 +0300 UBI: add dump_stack in checking code I am experiencing an error in 'paranoid_check_volume()'. Add dump_stack() there to make it easier to identify the reasons of the error. Signed-off-by: Artem Bityutskiy commit ffb6b7e4fdef715061859651fe46cd27afc6acec Author: Artem Bityutskiy Date: Tue May 12 15:43:44 2009 +0300 UBI: fix races in I/O debugging checks When paranoid checs are enabled, the 'io_paral' test from the 'mtd-utils' package fails. The symptoms are: UBI error: paranoid_check_all_ff: flash region at PEB 3973:512, length 15872 does not contain all 0xFF bytes UBI error: paranoid_check_all_ff: paranoid check failed for PEB 3973 UBI: hex dump of the 512-16384 region It turned out to be a bug in the checking function. Suppose there are 2 tasks - A and B. Task A is the wear-levelling working ('wear_leveling_worker()'). It is reading the VID header to find which LEB this PEB belongs to. Say, task A is reading header of PEB X. Suppose PEB X is unmapped, and has no VID header. Task B is trying to write to PEB X. Task A: in 'ubi_io_read_vid_hdr()': reads the VID header from PEB X. The read data contain all 0xFF bytes. Task B: writes VID header and some data to PEB X Task A: assumes PEB X is empty, calls 'paranoid_check_all_ff()', which fails. The solution for this problem is to make 'paranoid_check_all_ff()' re-read the VID header, re-check it, and only if it is not there, check the rest. This now implemented by the 'paranoid_check_empty()' function. Signed-off-by: Artem Bityutskiy commit 2cb81e218f336dc5438a960d1ae098188db9ff11 Author: Artem Bityutskiy Date: Tue May 12 15:10:03 2009 +0300 UBI: small debugging code optimization The @ubi->dbg_peb_buf is needed only when paranoid checks are enabled, not when debugging in general is enabled. Signed-off-by: Artem Bityutskiy commit e1cf7e6dd4ffd4391391e4e08b0fd44681b0e74d Author: Artem Bityutskiy Date: Thu May 7 18:24:14 2009 +0300 UBI: improve debugging messages Various minor improvements to the debugging messages which I found useful while hunting problems. Signed-off-by: Artem Bityutskiy commit f089c0b28cdba1076aa8335dcaaaacc3dafc7d36 Author: Artem Bityutskiy Date: Thu May 7 11:46:49 2009 +0300 UBI: re-name volumes_mutex to device_mutex The mutex essencially protects the entire UBI device, so the old @volumes_mutex name is a little misleading. Signed-off-by: Artem Bityutskiy commit 383d08e045faddd89797959786233d4c0e1ace80 Author: Artem Bityutskiy Date: Thu May 7 11:25:54 2009 +0300 UBI: remove redundant mutex The @mult_mutex does not serve any purpose. We already have @volumes_mutex and it is enough. The @volume mutex is pushed down to the 'ubi_rename_volumes()', because we want first to open all volumes in the exclusive mode, and then lock the mutex, just like all other ioctl's (remove, re-size, etc) do. Signed-off-by: Artem Bityutskiy commit 24ed0c4bfc7d2d7507bb9d50f7f3bbdcd85d76dd Author: Ming Lei Date: Sun May 17 15:31:38 2009 +0800 tracing: fix check for return value of register_module_notifier return zero should be correct, so fix it. [ Impact: eliminate incorrect syslog message ] Signed-off-by: Ming Lei Acked-by: Frederic Weisbecker Acked-by: Li Zefan Cc: rostedt@goodmis.org LKML-Reference: <1242545498-7285-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 1079cac0f4eb7d968395378b1625979d4c818dd6 Merge: 5872144 1406de8 Author: Ingo Molnar Date: Mon May 18 10:15:09 2009 +0200 Merge commit 'v2.6.30-rc6' into tracing/core Merge reason: we were on an -rc4 base, sync up to -rc6 Signed-off-by: Ingo Molnar commit b68f1d2e7aa21029d73c7d453a8046e95d351740 Author: Ingo Molnar Date: Sun May 17 19:37:25 2009 +0200 perf_counter, x86: speed up the scheduling fast-path We have to set up the LVT entry only at counter init time, not at every switch-in time. There's friction between NMI and non-NMI use here - we'll probably remove the per counter configurability of it - but until then, dont slow down things ... [ Impact: micro-optimization ] Cc: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti LKML-Reference: Signed-off-by: Ingo Molnar commit f1bdb523880c7f6990e9e8e50b0fc972ca475e84 Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86, irq: don't call mp_config_acpi_gsi() if update_mptable is not enabled Len expressed concern that the update_mptable feature has side-effects on the ACPI code. Make it sure explicitly that the code only ever gets called if the (default disabled) update_mptable boot quirk option is disabled. [ Impact: isolate the update_mptable feature from ACPI code more ] Signed-off-by: Yinghai Lu Cc: Len Brown LKML-Reference: <4A0DC832.5090200@kernel.org> Signed-off-by: Ingo Molnar commit 629e15d245f46bef9d26199b450f882f9437a8fe Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86, irq: update_mptable needs pci_routeirq To get all device irq routing and to save them. This is basically an implicit pci=routeirq enablement if (and on if) the update_mptable boot option (which is off by default) has been specified. [ Impact: extend the update_mptable boot opion's scope ] Signed-off-by: Yinghai Lu Cc: Jesse Barnes LKML-Reference: <4A0DB7B4.4060702@kernel.org> Signed-off-by: Ingo Molnar commit 35d5a9a61490bf39d2e48d7f499c8c801a39ebe9 Author: Yinghai Lu Date: Fri May 15 13:59:37 2009 -0700 x86: fix system without memory on node0 Jack found a boot crash on a system which doesn't have memory on node0. It turns out with recent per_cpu changes, node_number for BSP will always be 0, and it is not consistent to cpu_to_node() that might set it to a different (nearer) node already. aka when numa_set_node() for node0 is called early before per_cpu area is setup: two places touched that per_cpu(node_number,): 1. in cpu/common.c::cpu_init() and it is not for BP | #ifdef CONFIG_NUMA | if (cpu != 0 && percpu_read(node_number) == 0 && | cpu_to_node(cpu) != NUMA_NO_NODE) | percpu_write(node_number, cpu_to_node(cpu)); | #endif for BP: traps_init ==> cpu_init for AP: start_secondary ==> cpu_init 2. cpu/intel.c or amd.c::srat_detect_node via numa_set_node() for BP: check_bugs ==> identify_boot_cpu ==> identify_cpu() that is rather later before numa_node_id() is used for BP... for AP: start_secondary => smp_callin => smp_store_cpu_info() => => identify_secondary_cpu => identify_cpu() so try to set that for BP earlier in setup_per_cpu_areas(), and don't bother to set that for APs there (it will be updated later and will be used later) (and don't mess the 0 before the copying BP per_cpu data to APs) [ Impact: fix boot crash on memoryless node-0 ] Reported-and-tested-by: Jack Steiner Cc: Tejun Heo Signed-off-by: Yinghai Lu LKML-Reference: <4A0C4A02.7050401@kernel.org> Signed-off-by: Ingo Molnar commit 7c43769a9776141ec23ca81a1bdd5a9c0512f165 Author: Yinghai Lu Date: Fri May 15 13:59:37 2009 -0700 x86, mm: Fix node_possible_map logic Recently there were some changes to the meaning of node_possible_map, and it is quite strange: - the node without memory would be set in node_possible_map - but some node with less NODE_MIN_SIZE will be kicked out of node_possible_map. fix it by adding strict_setup_node_bootmem(). Also, remove unparse_node(). so result will be: 1. cpu_to_node() will return online node only (nearest one) 2. apicid_to_node() still returns the node that could be not online but is set in node_possible_map. 3. node_possible_map will include nodes that mem on it are less NODE_MIN_SIZE v2: after move_cpus_to_node change. [ Impact: get node_possible_map right ] Signed-off-by: Yinghai Lu Tested-by: Jack Steiner LKML-Reference: <4A0C49BE.6080800@kernel.org> [ v3: various small cleanups and comment clarifications ] Signed-off-by: Ingo Molnar commit 888a589f6be07d624e21e2174d98375e9f95911b Author: Yinghai Lu Date: Fri May 15 13:59:37 2009 -0700 mm, x86: remove MEMORY_HOTPLUG_RESERVE related code after: | commit b263295dbffd33b0fbff670720fa178c30e3392a | Author: Christoph Lameter | Date: Wed Jan 30 13:30:47 2008 +0100 | | x86: 64-bit, make sparsemem vmemmap the only memory model we don't have MEMORY_HOTPLUG_RESERVE anymore. Historically, x86-64 had an architecture-specific method for memory hotplug whereby it scanned the SRAT for physical memory ranges that could be potentially used for memory hot-add later. By reserving those ranges without physical memory, the memmap would be allocated and left dormant until needed. This depended on the DISCONTIG memory model which has been removed so the code implementing HOTPLUG_RESERVE is now dead. This patch removes the dead code used by MEMORY_HOTPLUG_RESERVE. (Changelog authored by Mel.) v2: updated changelog, and remove hotadd= in doc [ Impact: remove dead code ] Signed-off-by: Yinghai Lu Reviewed-by: Christoph Lameter Reviewed-by: Mel Gorman Workflow-found-OK-by: Andrew Morton LKML-Reference: <4A0C4910.7090508@kernel.org> Signed-off-by: Ingo Molnar commit b286e21868ea1af724a7a4802da2c8e144fa70de Merge: ed077b5 1406de8 Author: Ingo Molnar Date: Mon May 18 09:12:45 2009 +0200 Merge commit 'v2.6.30-rc6' into x86/mm Merge reason: sync up to -rc6 which has changes to mm/ which we are going to touch in the commits to follow as well. Signed-off-by: Ingo Molnar commit 2759c3287de27266e06f1f4e82cbd2d65f6a044c Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86: don't call read_apic_id if !cpu_has_apic should not call that if apic is disabled. [ Impact: fix crash on certain UP configs ] Signed-off-by: Yinghai Lu Cc: Cyrill Gorcunov LKML-Reference: <4A09CCBB.2000306@kernel.org> Signed-off-by: Ingo Molnar commit e5198075c67a22ec9a09565b1ce88d3d3f5ba855 Author: Yinghai Lu Date: Fri May 15 13:05:16 2009 -0700 x86, apic: introduce io_apic_irq_attr according to Ingo, io_apic irq-setup related functions have too many parameters with a repetitive signature. So reduce related funcs to get less params by passing a pointer to a newly defined io_apic_irq_attr structure. v2: io_apic_irq ==> irq_attr triggering ==> trigger v3: add set_io_apic_irq_attr [ Impact: cleanup ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A08ACD3.2070401@kernel.org> Signed-off-by: Ingo Molnar commit 135cad366b4e7d6a79f6369f6cb5b721985aa62f Author: Magnus Lilja Date: Sun May 17 20:18:08 2009 +0200 i.MX31: Add support for the CPLD on PDK Debug board. The i.MX31 PDK consists of several boards, one of them is a debug board containing a CPLD which controls some debug leds, switch buttons, an interrupt chip and an Ethernet controller. This patch adds support for detecting if the PDK board is present (during boot) and adds the interrupt chip to the kernel. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit c0daaf3f1f672defa3a45ca449b76d0e86c55892 Author: Paul Mackerras Date: Mon May 18 14:02:12 2009 +1000 perf_counter: powerpc: initialize cpuhw pointer before use Commit 9e35ad38 ("perf_counter: Rework the perf counter disable/enable") added code to the powerpc hw_perf_enable (renamed from hw_perf_restore) to test cpuhw->disabled and return immediately if it is not set (i.e. if the PMU is already enabled). Unfortunately the test got added before cpuhw was initialized, resulting in an oops the first time hw_perf_enable got called. This fixes it by moving the initialization of cpuhw to before cpuhw->disabled is tested. [ Impact: fix oops-causing bug on powerpc ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18960.56772.869734.304631@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit dc3f81b129b5439ba7bac265bbc6a51a39275dae Merge: d2517a4 1406de8 Author: Ingo Molnar Date: Mon May 18 07:37:44 2009 +0200 Merge commit 'v2.6.30-rc6' into perfcounters/core Merge reason: this branch was on an -rc4 base, merge it up to -rc6 to get the latest upstream fixes. Signed-off-by: Ingo Molnar commit 62551d3ea05242d97d47f26fb517b2dfdb752310 Author: Peter P Waskiewicz Jr Date: Sun May 17 12:35:57 2009 +0000 ixgbe: Don't reset the hardware when switching between LFC and PFC When running in DCB mode, switching between link flow control and priority flow control shouldn't need to reset the hardware. This removes that reset. This also extends the set_all() dcbnl callback to return a value indicating that the HW config changed, however a reset was not required. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8756924c1ecc832c1a5603d10f5cd201e299b312 Author: Peter P Waskiewicz Jr Date: Sun May 17 12:35:36 2009 +0000 ixgbe: When in DCB mode with PFC enabled, show LFC is disabled Ethtool should report that link flow control is disabled when in priority flow control mode. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 264857b8fe8a16fc95f12e898951fc6bd4bdaa7a Author: Peter P Waskiewicz Jr Date: Sun May 17 12:35:16 2009 +0000 ixgbe: Allow link flow control in DCB mode for 82599 adapters 82599 supports using either link flow control or priority flow control when in DCB mode. The dcbnl interface already supports sending down configurations through rtnetlink that can enable LFC when DCB is enabled, so the driver should take advantage of this. 82598 does not support using LFC when DCB is enabled, so explicitly disable it when we're in DCB mode. This means we always run in PFC mode when DCB is enabled. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 70b77628d8d943b27cc0f72002b5884028aee38c Author: Peter P Waskiewicz Jr Date: Sun May 17 12:34:55 2009 +0000 ixgbe: Set Priority Flow Control low water threshhold for DCB This sets the low water threshhold for priority flow control for 82598 and 82599 controllers in DCB mode. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 63f39bd17aa700595fa3e34a61c5c07551dd1b7d Author: Yi Zou Date: Sun May 17 12:34:35 2009 +0000 ixgbe: Enable jumbo frame for FCoE feature in 82599 Enable jumbo frame when FCoE feature is enabled in 82599. Use 3K as the receive queue buffer size for receive queues used by FCoE to address for max Fiber Channel frame size as 2148 bytes (with max 2112 bytes of payload). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 29ebf6f8c8a99bbda053f1fbdff0570cc5d866b3 Author: Yi Zou Date: Sun May 17 12:34:14 2009 +0000 ixgbe: Enable FCoE redirection table feature in 82599 Enable using FCoE redirection table feature in 82599. The FCoE redirection table has maximum of eight entries, corresponding to maximum of eight receive queues to be used for distributing incoming FCoE packets. This patch sets up the FCoE redirection table when multiple receive queues are available for FCoE. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0331a832a88d4bf34baf289b82e2829763230143 Author: Yi Zou Date: Sun May 17 12:33:52 2009 +0000 ixgbe: Add RING_F_FCOE for FCoE feature in 82599 Add ring feature for FCoE to make use of the FCoE redirection table in 82599. The FCoE redirection table is a receive side scaling feature for Fiber Channel over Ethernet feature in 82599, enabling distributing FCoE packets to different receive queues based on the exchange id. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 184dd3459bb334d9061b58faed3610d08d6c7ff8 Author: Vasu Dev Date: Sun May 17 12:33:28 2009 +0000 fcoe: adds spma mode support If we can find a type NETDEV_HW_ADDR_T_SAN mac address from the corresponding netdev for a fcoe interface then sets up added the fc->ctlr.spma flag and stores spma mode address in ctl_src_addr. In case the spma flag is set then:- 1. Adds spma mode MAC address in ctl_src_addr as secondary MAC address, the FLOGI for FIP and pre-FIP will go out using this address. 2. Cleans up stored spma MAC address in ctl_src_addr in fcoe_netdev_cleanup. 3. Sets up spma bit in fip_flags for FIP solicitations along with exiting FPMA bit setting. 4. Initialize the FLOGI FIP MAC descriptor to stored spma MAC address in ctl_src_addr. This is used as proposed FCoE MAC address from initiator along with both SPMA and FPMA bit set in FIP solicitation, in response the switch may grant any FPMA or SPMA mode MAC address to initiator. Removes FIP descriptor type checking against ELS type ELS_FLOGI in fcoe_ctlr_encaps to update a FIP MAC descriptor, instead now checks against FIP_DT_FLOGI. I've tested this with available FPMA-only FCoE switch but since data_src_addr is updated using same old code for both FPMA and SPMA modes with FIP or pre-FIP links, so added SPMA mode will work with SPMA-only switch also provided that switch grants a valid MAC address. Signed-off-by: Vasu Dev Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ab6b85c1d7a1bf6c2b27fb542a7b2404e45b7e24 Author: Vasu Dev Date: Sun May 17 12:33:08 2009 +0000 fcoe: consolidates netdev related config and cleanup for spma mode Currently fcoe_netdev_config adds netdev pkt handler for fcoe pkts, fcoe_if_create adds netdev pkt handler for fip packets, a secondary MAC address is added by fcoe_netdev_config and then later cleanup for these netdev related config/adds is done only during fcoe_if_destroy and no cleanup done on error during fcoe interface creation after above netdev config calling in fcoe_if_create. So this patch adds single func for above mentioned cleanup the fcoe_netdev_cleanup and then calls this func on either fcoe interface destroy or exiting from fcoe_if_create due to an error after fcoe/fip related above netdev config is done. Moved netdev pkt handler addition code blocks for fip pkts close to similar code block for foce pkt in fcoe_netdev_config, so that added fcoe_netdev_cleanup could be called on error from fcoe_netdev_config to undo these both additions for fcoe/fip pkt handlers. This move required reference to fcoe_fip_recv in fcoe_netdev_config, so moved fip related functions fcoe_fip_recv, fcoe_fip_send and fcoe_update_src_mac above fcoe_netdev_config. This consolidation will enable spma mode support in next patch to easily add or delete spma mode mac address beside fixing current no cleanup issue during error. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit aca6bee75fe53ae019b9cabff42095dfb6471fde Author: Waskiewicz Jr, Peter P Date: Sun May 17 12:32:48 2009 +0000 ixgbe: Add SAN MAC address to the RAR, return the address to DCB After acquiring the SAN MAC address from the EEPROM, we need to program it into one of the RARs. Also, DCB will use this MAC address to run DCBX commands, so it doesn't have to play musical MAC addresses when things like bonding enter the picture. So we need to return the MAC address through the netlink interface to userspace. This also moves the init_rx_addrs() call out of start_hw() and into reset_hw(). We shouldn't try to read any of the RAR information before initializing our internal accounting of the RAR table, which was what was happening. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0365e6e4373a5a447746fd7ac26074b92f180311 Author: PJ Waskiewicz Date: Sun May 17 12:32:25 2009 +0000 ixgbe: Add FCoE Storage MAC Address support This patch implements the Storage Address entrypoint from the net device. It will read the SAN MAC addresses from the EEPROM of the 82599 hardware, and make them available to the FCoE stack through the net device. Also, add/del the SAN MAC address to the netdev dev_addr_list via the kernel api dev_addr_add()/dev_addr_del() when there is a valid SAN MAC supported by the HW. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ebc06eeb7260ecad3bd69202ba6291138691d27b Author: Alexander Beregalov Date: Fri May 15 10:22:42 2009 +0000 skfddi: convert PRINTK() to pr_debug() Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c7b1f4f376867356ca001c6a81988cf41fa4dc43 Author: Alexander Beregalov Date: Fri May 15 10:22:41 2009 +0000 mac89x0: remove PRINTK() There are no users of it. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 2818fba1322c469181603a1fbffadf3d3c5cb1e0 Author: Alexander Beregalov Date: Fri May 15 10:22:40 2009 +0000 de620: convert PRINTK() to pr_debug() and cleanup Also remove DE620_DEBUG and de620_debug. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 64303258961c74f0168e056da14b612ce839dbc1 Author: Alexander Beregalov Date: Fri May 15 10:22:39 2009 +0000 de600: convert PRINTK() to pr_debug() Also remove de600_debug as it is not needed. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 62abb45f50dbd53a117aff72ff4e606592edb029 Author: Alexander Beregalov Date: Fri May 15 10:22:38 2009 +0000 de620: fix forgotten semicolon It seems it always was here. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 7290383191fa57d7f6320e27a03e5a8afee362fd Author: Joe Perches Date: Fri May 15 07:59:42 2009 +0000 drivers/net: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug( Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6bc5046e6df7d7122631c82ccaa6edf7085331ac Author: Ben Hutchings Date: Fri May 15 06:06:16 2009 +0000 sfc: Use generic XENPAK register definitions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit e0b221bf4e07edf2fda645e457dc3c35c2f2f3a9 Author: Ben Hutchings Date: Fri May 15 06:05:49 2009 +0000 mdio: Add XENPAK LASI register definitions These registers were originally defined for XENPAK modules, but are also implemented by many other 10G PHYs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f2a3e626202a87734a47153935ec9d15c7fcf761 Author: Ben Hutchings Date: Fri May 15 06:04:12 2009 +0000 mdio: Add 10GBASE-T SNR register definition These do not have an in-kernel user but may be useful to user-space. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit df18acca8eb13c8cf55fa45e9f9231dc51f64d98 Author: Peter Korsgaard Date: Wed May 13 10:10:41 2009 +0000 smsc95xx: strip ethernet fcs (crc) on receive path The smsc95xx driver was forwarding the trailing fcs on received frames up the stack leading to confusion in tcpdump. Signed-off-by: Peter Korsgaard Tested-by: Steve Glendinning Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 61189c78bda846f4682c6003e893362f4305518b Author: Peter Korsgaard Date: Wed May 13 10:09:53 2009 +0000 dm9601: trivial comment fixes The comments describing the rx/tx headers used a combination of zero- and 1-based indexing, leading to confusion. Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit 9d21493b4beb8f918ba248032fefa393074a5e2b Author: Eric Dumazet Date: Sun May 17 20:55:16 2009 -0700 net: tx scalability works : trans_start struct net_device trans_start field is a hot spot on SMP and high performance devices, particularly multi queues ones, because every transmitter dirties it. Is main use is tx watchdog and bonding alive checks. But as most devices dont use NETIF_F_LLTX, we have to lock a netdev_queue before calling their ndo_start_xmit(). So it makes sense to move trans_start from net_device to netdev_queue. Its update will occur on a already present (and in exclusive state) cache line, for free. We can do this transition smoothly. An old driver continue to update dev->trans_start, while an updated one updates txq->trans_start. Further patches could also put tx_bytes/tx_packets counters in netdev_queue to avoid dirtying dev->stats (vlan device comes to mind) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0f7ee7c17241915fdaff49d1a36f5aafd80a7dce Author: Manish Katiyar Date: Sun May 17 23:52:51 2009 -0400 ext2: Fix memory leak in ext2_fill_super() in case of a failed mount Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit de5ce037304f2c88a319b1c3b808ab0c4c618c1c Author: Manish Katiyar Date: Sun May 17 23:52:47 2009 -0400 ext3: Fix memory leak in ext3_fill_super() in case of a failed mount Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit f68301656b5f5d2de104f2687add6beeb8f3c3b9 Author: Manish Katiyar Date: Sun May 17 23:52:44 2009 -0400 ext4: Fix memory leak in ext4_fill_super() in case of a failed mount Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit 0a305720ee597aad41af61e6b6844321d3e24251 Author: Tilman Schmidt Date: Wed May 13 12:44:18 2009 +0000 gigaset: remove unused structure member rcvbytes The B channel data structure member rcvbytes was never set to anything else but zero, so drop it. Impact: cleanup Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit b88bd95655c7bc059606529e01467594978d7b72 Author: Tilman Schmidt Date: Wed May 13 12:44:18 2009 +0000 gigaset: remove UNDOCREQ config option Drop the kernel config option GIGASET_UNDOCREQ, permanently activating the code it controlled, as there have been no reports of problems caused by its activation but many problems caused by it being disabled. Also fix a few bad comments while we're at it. Impact: cleanup Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 5a1888ea994bf6b28179255a376e83dfa53c81c5 Author: Tilman Schmidt Date: Wed May 13 12:44:18 2009 +0000 gigaset: move up Kconfig inclusion point In preparation for porting to kernel CAPI subsystem, include the Gigaset driver's Kconfig directly from ISDN's instead of I4L's. Impact: Kconfig reorganisation, no functional change Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit b3fcb13f1c866ae0330c445c3cb481014c36a02f Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: documentation update Mention handling of unregisteted DECT wireless datasets in README.gigaset. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 7226d7c9607b754cdad612b75122d640ff3b85ed Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: fix error return code gigaset_register_to_LL() is expected to print a message and return 0 on failure. Make it do so consistently. Impact: error handling bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 1315d69634834f1f485b21b0ed8f10b763a675d2 Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: skip unnecessary hex formatting Don't generate the hex representation of the payload data if it isn't actually used afterwards. Impact: optimization Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 42e3d611158faa2d372ccfb1e17bfde13935de68 Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: fix possible oops in error handling Use pr_warning() / pr_err() instead of dev_warn() / dev_err() in two places where the dev pointer isn't guaranteed to be valid. Impact: error handling bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 528efc6a54a9e4c03488ee72988567991c9476ba Author: Tilman Schmidt Date: Wed May 13 12:44:17 2009 +0000 gigaset: remove obsolete references to m10x state table The separation of state tables for base and M10x has long been removed. Clean up remaining traces of it. Impact: cleanup Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit d62fda082c48b417b47a553860abf75d9cf8b591 Author: Eric Dumazet Date: Tue May 12 20:48:02 2009 +0000 bnx2: bnx2_tx_int() optimizations When using bnx2 in a high transmit load, bnx2_tx_int() cost is pretty high. There are two reasons. One is an expensive call to bnx2_get_hw_tx_cons(bnapi) for each freed skb One is cpu stalls when accessing skb_is_gso(skb) / skb_shinfo(skb)->nr_frags because of two cache line misses. (One to get skb->end/head to compute skb_shinfo(skb), one to get is_gso/nr_frags) This patch : 1) avoids calling bnx2_get_hw_tx_cons(bnapi) too many times. 2) makes bnx2_start_xmit() cache is_gso & nr_frags into sw_tx_bd descriptor. This uses a litle bit more ram (256 longs per device on x86), but helps a lot. 3) uses a prefetch(&skb->end) to speedup dev_kfree_skb(), bringing cache line that will be needed in skb_release_data() result is 5 % bandwidth increase in benchmarks, involving UDP or TCP receive & transmits, when a cpu is dedicated to ksoftirqd for bnx2. bnx2_tx_int going from 3.33 % cpu to 0.5 % cpu in oprofile Note : skb_dma_unmap() still very expensive but this is for another patch, not related to bnx2 (2.9 % of cpu, while it does nothing on x86_32) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9dc20c5f78c53bf57fb7874b6e942842e1db20d3 Author: John Dykstra Date: Tue May 12 15:34:50 2009 +0000 tcp: tcp_prequeue() can use keyed wakeups When TCP frees up write buffer space, avoid waking up tasks that have done a poll() or select() on the same socket specifying read-side events. This is an extension of a read-side patch by Eric Dumazet. Signed-off-by: John Dykstra Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 0568c518937ee3a9b6a94d18bae9c150fe5d6832 Author: Theodore Ts'o Date: Sun May 17 23:31:23 2009 -0400 ext4: down i_data_sem only for read when walking tree for fiemap Not sure why I put this in as down_write originally; all we are doing is walking the tree, nothing will change under us and concurrent reads should be no problem. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 543899f610799426babb5313682fd9c249e34677 Author: Ben Dooks Date: Sun May 17 23:40:30 2009 +0100 [ARM] S3C64XX: Use common watchdog reset for system reset. Use the newly moved to perform the arch_reset() call which has been unimplemented for a while. Signed-off-by: Ben Dooks commit 3cba5ef862bc2c2a0cf2841d993bfb99b9a6c476 Author: Ben Dooks Date: Sun May 17 23:30:45 2009 +0100 [ARM] S3C: Move watchdog system reset to own file. Move the watchdog reset code from to a new file as this code is needed by both s3c2410, s3c64xx and soon-to-be added s3c24a0. Signed-off-by: Ben Dooks commit d44b5e07c6813e6d747f7f947f1da5f0abf14eb4 Author: Stephen Rothwell Date: Mon May 11 21:44:51 2009 +0000 net/ibmveth: fix panic in probe netdev->dev_addr changed from being an array to being a pointer, so we should not take its address for memcpy(). Signed-off-by: Stephen Rothwell Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 9f05f6a921353f4293cda37f221b9bfa532d3c57 Author: Ben Dooks Date: Wed May 13 21:46:15 2009 +0100 [ARM] S3C24XX: GPIO: Remove pin specific input and output defines The use of S3C2410_GP[A-Z]x_INP and S3C2410_GP[A-Z]x_OUTP are very rare and are taking up large amounts of space in the regs-gpio.h header. The GPIO layer has had generic input and out defines called S3C2410_GPIO_INPUT and S3C2410_GPIO_OUTPUT for a while which work for all S3C24XX GPIOs. Do the following replacements: S3C2410_GP[A-Z][0-9]*_\OUTP => S3C2410_GPIO_OUTPUT S3C2410_GP[A-Z][0-9]*_\INP => /S3C2410_GPIO_INPUT S3C2410_GPA[0-9]*_OUT => S3C2410_GPIO_OUTPUT to remove any usages of these and prepare the header for the removal of these. The following command was used to acheive this: find . -type f -writable ! -name regs-gpio.h ! -name "*~" | xargs sed -i~ -e 's/S3C2410_GP[A-Z][0-9]*_\OUTP/S3C2410_GPIO_OUTPUT/g' -e 's/S3C2410_GP[A-Z][0-9]*_\INP/S3C2410_GPIO_INPUT/g' -e 's/S3C2410_GPA[0-9]*_OUT/S3C2410_GPIO_OUTPUT/g' Signed-off-by: Ben Dooks commit ec7f4d5d67ef63c724ab6d4bdc7d2ffa8861071a Author: Ben Dooks Date: Wed May 13 22:20:35 2009 +0100 [ARM] S3C24XX: GPIO: Remove s3c2410_gpio_irq2pin() call Remove the s3c2410_gpio_irq2pin() function as it is not being used in any in kernel driver and the function is probably not being used anywhere else. This is also part of the effort to remove any of the s3c24xx gpio specific code that cannot be recreated by using the gpiolib framework now in the kernel. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 6fd058f7791087648c683eb8572edf3be3c4c23c Author: Theodore Ts'o Date: Sun May 17 15:38:01 2009 -0400 ext4: Add a comprehensive block validity check to ext4_get_blocks() To catch filesystem bugs or corruption which could lead to the filesystem getting severly damaged, this patch adds a facility for tracking all of the filesystem metadata blocks by contiguous regions in a red-black tree. This allows quick searching of the tree to locate extents which might overlap with filesystem metadata blocks. This facility is also used by the multi-block allocator to assure that it is not allocating blocks out of the system zone, as well as by the routines used when reading indirect blocks and extents information from disk to make sure their contents are valid. Signed-off-by: "Theodore Ts'o" commit 6d45522c532be430b2ed63ed48a6a9e15328af66 Author: Yi Zou Date: Wed May 13 13:12:16 2009 +0000 ixgbe: Add FCoE related statistics to 82599 This adds FCoE related statistics to 82599, including number Rx-ed and Tx-ed FCoE packets, number of Rx-ed and Tx-ed FCoE packets in dwords, number of bad Fiber Channel CRCs detected in FCoE packets, and number of FCoE packets dropped on the Rx side. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 332d4a7d981e25d239c5d723a4f35020397dc606 Author: Yi Zou Date: Wed May 13 13:11:53 2009 +0000 ixgbe: Implement FCoE Rx side large receive offload feature to 82599 This patch implements the FCoE Rx side offload feature in ixgbe_main.c to 82599 using the Rx offload infrastructure code added in the previous patch. The large receive offload by Direct Data Placement (DDP) for FCoE is achieved by implementing the ndo_fcoe_ddp_setup and ndo_fcoe_ddp_done in net_device_ops via netdev. It is up to the ULD, i.e., fcoe and libfc to query and setup large receive offload accordingly through the corresponding netdev upon creating fcoe instances. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d0ed89373f2da1a0d83697d87441e519caf18cf7 Author: Yi Zou Date: Wed May 13 13:11:29 2009 +0000 ixgbe: Add infrastructure code for FCoE large receive offload to 82599 This adds infrastructure code for FCoE Rx side offload feature to 82599, which provides large receive offload for FCoE by Direct Data Placement (DDP). The ixgbe_fcoe_ddp_get() and ixgbe_fcoe_ddp_put() pair corresponds to the netdev support to FCoE by the function pointers provided in net_device_ops as ndo_fcoe_ddp_setup and ndo_fcoe_ddp_done. The implementation of these in ixgbe is shown in the next patch. Signed-off-by: Yi Zou Signed-off-by: Chris Leech Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit eacd73f79a106c6a0bc429003ab691024860ab2d Author: Yi Zou Date: Wed May 13 13:11:06 2009 +0000 ixgbe: Implement FCoE Tx side offload features in base driver of 82599 This patch implements the FCoE Tx side offload features in ixgbe_main.c to 82599 using the Tx offload infrastructure code added in the previous patch. This is achieved by the calling the FCoE Sequence Offload (FSO) function ixgbe_fso() on the transmit path of ixgbe. This patch also includes an EEPROM check to make sure the NIC we're loading on is an offload-enabled SKU. Signed-off-by: Yi Zou Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bc079228e74d63742255c466d2bce1f42423f219 Author: Yi Zou Date: Wed May 13 13:10:44 2009 +0000 ixgbe: Add infrastructure code for FCoE large send offload to 82599 This adds infrastructure code for FCoE Tx side offload feature to 82599, including Fiber Channel CRC calculation, auto insertion of the start of frame (SOF) and end of frame (EOF) of FCoE packets, and large send by FCoE Sequence Offload (FSO). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d3a2ae6d315382b2dcc7747c5b3b70f0490e9157 Author: Yi Zou Date: Wed May 13 13:10:21 2009 +0000 ixgbe: Add FCoE feature code to 82599 This adds the FCoE feature code ixgbe_fcoe.c to 82599. For a start, this patch only adds ixgbe_configure_fcoe() to configure related register for FCoE to 82599. In patches that follow, I will be adding more functions to ixgbe_fcoe.c to add support of FCoE offload features to 82599. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e92cbeac89d4c7b228894a9b8eb37e3ac51afe73 Author: Yi Zou Date: Wed May 13 13:10:01 2009 +0000 ixgbe: Add FCoE feature header to 82599 This adds the FCoE feature header ixgbe_fcoe.h to 82599. This header includes the defines and structures required by the ixgbe driver to support various offload features in 82599 for Fiber Channel over Ethernet (FCoE). These offloads features include Fiber Channel CRC calculation, FCoE SOF/EOF auto insertion, FCoE Sequence Offload (FSO) for large send, and Direct Data Placement (DDP) for large receive. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bff66176bb47b2cf3331d9e42d37ea4094826756 Author: Yi Zou Date: Wed May 13 13:09:39 2009 +0000 ixgbe: Add FCoE feature register defines to 82599 This adds FCoE related register defines to 82599. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 952ee9df26c487f2d73b2dced58ec904f19ea0f8 Author: Emil Medve Date: Wed May 13 06:04:58 2009 +0000 mv643xx_eth: Remove a stale PPC_MULTIPLATFORM PPC_MULTIPLATFORM was killed in commit 28794d3 but this stale occurrence was hiding the mv643xx_eth driver in some cases (e.g. Pegasos II) Signed-off-by: Emil Medve Signed-off-by: David S. Miller commit a186d2aead8beb164ddb76245d189c66f7021b59 Author: Jiri Pirko Date: Tue May 12 22:40:12 2009 +0000 net: remove needless (now buggy) & from dev->dev_addr (part2) Missed part of "&" removal. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 3699a1c7d42f9a694bb512d91ca457f363a48e38 Author: Andrew Morton Date: Tue May 12 10:48:37 2009 +0000 drivers/net/82596.c: suppress warnings i386 allmodconfig: drivers/net/82596.c: In function 'init_rx_bufs': drivers/net/82596.c:544: warning: cast to pointer from integer of different size drivers/net/82596.c:545: warning: cast to pointer from integer of different size drivers/net/82596.c:548: warning: cast to pointer from integer of different size drivers/net/82596.c:557: warning: cast to pointer from integer of different size drivers/net/82596.c:565: warning: cast to pointer from integer of different size drivers/net/82596.c:569: warning: cast to pointer from integer of different size drivers/net/82596.c:575: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'rebuild_rx_bufs': drivers/net/82596.c:606: warning: cast to pointer from integer of different size drivers/net/82596.c:608: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'init_i596_mem': drivers/net/82596.c:680: warning: cast to pointer from integer of different size drivers/net/82596.c:681: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_rx': drivers/net/82596.c:818: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_add_cmd': drivers/net/82596.c:975: warning: cast to pointer from integer of different size drivers/net/82596.c:979: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_start_xmit': drivers/net/82596.c:1088: warning: cast to pointer from integer of different size drivers/net/82596.c:1099: warning: cast to pointer from integer of different size drivers/net/82596.c: In function 'i596_interrupt': drivers/net/82596.c:1404: warning: cast to pointer from integer of different size (ugh) Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3977d0334b98770b81dfeb248db232c9bb3d3c88 Author: Mike Travis Date: Tue May 12 10:48:36 2009 +0000 sfc: modify allocation error message Change error message when alloc_cpumask_var fails. Repairs "cpumask: convert drivers/net/sfc". Signed-off-by: Mike Travis Acked-by: Ben Hutchings Acked-by: David S. Miller Cc: Rusty Russell Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cb1c4b71f6da18fa98bab4af055f391d01bee8ba Author: Li Zefan Date: Tue May 12 10:47:33 2009 +0000 cls_cgroup: remove unneeded cgroup_lock We can remove this lock here, since we are in cgroup write handler and thus the cgrp is guaranteed to be valid, and no lock is needed when writing a u32 variable. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3a6d54c56326c29c5357655779cfe6cf36481b17 Author: Jiri Pirko Date: Mon May 11 23:37:15 2009 +0000 net: remove needless (now buggy) & from dev->dev_addr Patch fixes issues with dev->dev_addr changing from array to pointer. Hopefully there are no others. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 8b3521eeb7598c3b10c7e14361a7974464527702 Author: Rami Rosen Date: Mon May 11 05:52:49 2009 +0000 ipv4: remove an unused parameter from configure method of fib_rules_ops. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 4c5158d4c3ab1f2927a740372a0ee9c3fed7ba47 Author: Russell King Date: Sun May 17 10:58:54 2009 +0100 [ARM] smp: fix style issues in smp_twd.c Signed-off-by: Russell King commit f32f4ce25745209f16a5a6cef7442144b596c68a Author: Russell King Date: Sat May 16 12:14:21 2009 +0100 [ARM] smp: allow re-use of realview localtimer TWD support Signed-off-by: Russell King commit a8cbcd92bd4bf893085eddf7f58e63ea98503d94 Author: Russell King Date: Sat May 16 11:51:14 2009 +0100 [ARM] smp: separate SCU support code from realview Signed-off-by: Russell King commit 49613d4d9ae759193915823e67de546fca58c951 Author: Russell King Date: Sat May 16 11:41:53 2009 +0100 [ARM] smp: SCU is used on non-realview platforms The SCU can be used by non-realview platforms, so make it visible for other people to use rather than having them copy the header file. Signed-off-by: Russell King commit bc28248ee25e5c239cbe6afca35a100b08401de5 Author: Russell King Date: Sun May 17 18:58:34 2009 +0100 [ARM] smp: move core localtimer support out of platform specific files Signed-off-by: Russell King commit 5b740ea975c4ce3da12ac21b56f9e43354ca4327 Author: Julia Lawall Date: Sun May 17 11:29:21 2009 +0200 sound: use dev_set_drvdata Eliminate direct accesses to the driver_data field. cf 82ab13b26f15f49be45f15ccc96bfa0b81dfd015 The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device *dev; expression E; type T; @@ - dev->driver_data = (T)E + dev_set_drvdata(dev, E) @@ struct device *dev; type T; @@ - (T)dev->driver_data + dev_get_drvdata(dev) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 9f36d31437922354d104a2db407f397e79e4027e Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:25 2009 +0200 ide: remove hw_regs_t typedef Remove hw_regs_t typedef and rename struct hw_regs_s to struct ide_hw. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dca3983059a4481e4ae97bbf0ac4b4c21429e1a5 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:24 2009 +0200 ide: pass number of ports to ide_host_{alloc,add}() (v2) Pass number of ports to ide_host_{alloc,add}() and then update all users accordingly. v2: - drop no longer needed NULL initializers in buddha.c, cmd640.c and gayle.c (noticed by Sergei) There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29e52cf793ded6bece50de50e738596f94f07d9f Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:22 2009 +0200 ide: remove chipset field from hw_regs_t * Convert host drivers that still use hw_regs_t's chipset field to use the one in struct ide_port_info instead. * Move special handling of ide_pci chipset type from ide_hw_configure() to ide_init_port(). * Remove chipset field from hw_regs_t. While at it: - remove stale comment in delkin_cb.c There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ca1b96e00ab5d1b0838965834469a0284c81a517 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:21 2009 +0200 ide: replace special_t typedef by IDE_SFLAG_* flags Replace: - special_t typedef by IDE_SFLAG_* flags - 'special_t special' ide_drive_t's field by 'u8 special_flags' one There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 582078ee3d7dacd74a7b3fe02ea258cadf32b602 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:18 2009 +0200 ide: merge ide_disk_special() into do_special() (v2) While at it: - change debug printk() level to KERN_DEBUG and use __func__ - update documentation v2: - fix DEBUG build (noticed by Sergei) There should be no functional changes caused by this patch. Cc: Sergei Shtylyov Cc: Joe Perches Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f582c8e2193e3848039de87e6a3ace7cbc7ed88 Author: Bartlomiej Zolnierkiewicz Date: Sun May 17 19:12:18 2009 +0200 ide: BUG() on unknown flags in ide_disk_special() Signed-off-by: Bartlomiej Zolnierkiewicz commit 6029336426a2b43e4bc6f4a84be8789a047d139e Author: Joao Ramos Date: Sun May 17 17:22:54 2009 +0200 ide: try to use PIO Mode 0 during probe if possible Initially set PIO Mode 0 for all host drivers that have a 'set_pio_mode' method before the IDE core figures out the most suited PIO mode for the attached device. Signed-off-by: Joao Ramos Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e8e7526c3c0863be25ab03a0871ee0978de5ba50 Author: Mark de Wever Date: Sun May 17 17:22:53 2009 +0200 ide-tape: fix debug call This error only occurs when IDETAPE_DEBUG_LOG is enabled. Signed-off-by: Mark de Wever Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2eec8c318b9bbfe9e0f2a889b4ad3f4b4e5ba429 Author: Sascha Hauer Date: Fri Mar 20 20:27:37 2009 +0100 mx3fb: Issue prettier log message Without this patch we end up with a log message like "mx3_sdc_fb mx3_sdc_fb: mx3fb: fb registered". That's two fb too much for my taste. Signed-off-by: Sascha Hauer commit 92368890d551794ee8d7e90477d8498bb7f82a9b Author: Stefan Richter Date: Wed May 13 21:42:14 2009 +0200 firewire: core: improve check for local node My recently added test for a device being local in fw-cdev.c got it slightly wrong: Comparisons of node IDs are only valid if the generation is current, which I forgot to check. Normally, serialization by card->lock takes care of this, but a device in FW_DEVICE_GONE state will necessarily have a wrong generation and invalid node_id. The "is it local?" check is made 100% correct and simpler now by means of a struct fw_device flag which is set at fw_device creation. Besides the fw-cdev site which was to be fixed, there is another site which can make use of the new flag, and an RFC-2734 driver will benefit from it too. Signed-off-by: Stefan Richter commit d2517a49d55536b38c7a87e5289550cfedaa4dcc Author: Ingo Molnar Date: Sun May 17 10:04:45 2009 +0200 perf_counter, x86: fix zero irq_period counters The quirk to irq_period unearthed an unrobustness we had in the hw_counter initialization sequence: we left irq_period at 0, which was then quirked up to 2 ... which then generated a _lot_ of interrupts during 'perf stat' runs, slowed them down and skewed the counter results in general. Initialize irq_period to the maximum instead. [ Impact: fix perf stat results ] Cc: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 0203026b58b4299ba7281c0b4b417207c1f05d0e Author: Ingo Molnar Date: Sun May 17 11:24:08 2009 +0200 perf_counter: fix threaded task exit Flushing counters in __exit_signal() with irqs disabled is not a good idea as perf_counter_exit_task() acquires mutexes. So flush it before acquiring the tasklist lock. (Note, we still need a fix for when the PID has been unhashed.) [ Impact: fix crash with inherited counters ] Cc: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 856d56b9e5de650a64a6c41c17aaed702b55d578 Author: Peter Zijlstra Date: Fri May 15 20:45:59 2009 +0200 perf_counter: Fix counter inheritance Srivatsa Vaddagiri reported that a Java workload triggers this warning in kernel/exit.c: WARN_ON_ONCE(!list_empty(&tsk->perf_counter_ctx.counter_list)); Add the inherited counter propagation on self-detach, this could cause counter leaks and incomplete stats in threaded code like the below: #include #include void *thread(void *arg) { sleep(5); return NULL; } void main(void) { pthread_t thr; pthread_create(&thr, NULL, thread, NULL); } Reported-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar commit 8bc2095951517e2c74b8aeeca4685ddd6b16ed4b Author: Peter Zijlstra Date: Fri May 15 20:45:59 2009 +0200 perf_counter: Fix inheritance cleanup code Clean up code that open-coded the list_{add,del}_counter() code in __perf_counter_exit_task() which consequently diverged. This could lead to software counter crashes. Also, fold the ctx->nr_counter inc/dec into those functions and clean up some of the related code. [ Impact: fix potential sw counter crash, cleanup ] Signed-off-by: Peter Zijlstra Cc: Srivatsa Vaddagiri Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Marcelo Tosatti Signed-off-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 3f7ea467be1bad860c0f71ba7373dd3cf76b485a Author: Nelson Castillo Date: Fri May 8 08:10:12 2009 -0500 [ARM] S3C: ADC: Expose number of remaining conversions to convert callback This patch allow us to efficiently modify the number of remaining conversions from the client side. This us useful when we do not know in advance how many conversions we will need or when we need to cancel pending conversions. This change is simple enough to be compatible with existing code that can just define the new pointer in the callback and ignore it. Sample usage: http://tinyurl.com/s3c2410-ts-c (function stylus_adc_action). Signed-off-by: Nelson Castillo Signed-off-by: Ben Dooks commit b57f0fe10712026d15a9d5a20e31f240ee72ec15 Author: Nelson Castillo Date: Fri May 8 08:10:04 2009 -0500 [ARM] S3C: ADC: Fix lines with more than 80 chars in adc.h Small cleanup. Signed-off-by: Nelson Castillo [ben-linux@fluff.org: rewrote subject] Signed-off-by: Ben Dooks commit 06fa1d37ce9a8fab86a5db304ca5b576f0223d18 Author: Ben Dooks Date: Sat May 16 22:11:20 2009 +0100 [ARM] SMDK6410: Add USB high-speed/OtG gadget device Add the USB gadget support to the SMDK6410. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit f0e1fa760099eef43f4450471d795807a1cc43c8 Author: Ben Dooks Date: Sat May 16 22:05:27 2009 +0100 [ARM] S3C: Add USB high-speed/OtG device definitions Add platform device definitions for the high-speed and OtG capable device block on the newer Samsung parts. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit fdac1c76beb9d142675c852834a64a77703bd450 Merge: 0368241 d878829 Author: Bartlomiej Zolnierkiewicz Date: Sat May 16 19:49:03 2009 +0200 Merge branch 'for-linus' into for-next commit 153fa1d8c6cf7b0e552bbd093dbad2e3c9b318ed Author: Magnus Lilja Date: Sat May 16 12:43:10 2009 +0200 i.MX31: Restructure UART setup for PDK board. Restructure UART pin setup in preparation for adding other pins in later patches. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 92ab0a50157449c5bcf55ab4aad0a0c2da0be7c7 Author: Alberto Panizzo Date: Fri May 15 18:48:13 2009 +0200 ARM MXC: Make-sure-ipg_per_clk-is-generated-by-ipg_clk-and-not-usb_pll From ff1fd9d7015d9b9ad3e0df2016d0415e2719747c Mon Sep 17 00:00:00 2001 From: Alberto Panizzo Date: Fri, 15 May 2009 17:21:21 +0200 Subject: [PATCH] Make sure ipg_per_clk is generated by ipg_clk and not usb_pll Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 183c7fff50a6a83234b5dc6673b6906bd7145326 Author: Magnus Lilja Date: Mon May 4 22:18:09 2009 +0200 i.MX31: Add NAND device driver for Litekit board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 812a2cca295ee7f56cd1b988a0f93646285c214a Author: Takashi Iwai Date: Sat May 16 10:00:49 2009 +0200 ALSA: hda - Split codec->name to vendor and chip name strings Split the name string in hda_codec struct to vendor_name and chip_name strings to be stored directly from the preset name. Since mostly only the chip name is referred in many patch_*.c, this results in the reduction of many codes in the end. Signed-off-by: Takashi Iwai commit a48b2d4a0091904b4cf57d667adc2faf689750d3 Author: Felipe Balbi Date: Fri May 15 20:12:47 2009 -0700 Input: introduce lm8323 keypad driver lm8323 is the keypad driver used in n810 device. [akpm@linux-foundation.org: coding-style fixes] [dtor@mail.ru: various cleanups] Signed-off-by: Felipe Balbi Reviewed-by: Trilok Soni Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 535650fd7008caffad29f001bcda43f56bafea8e Author: Zephaniah E. Hull Date: Thu May 14 22:02:33 2009 -0700 Input: psmouse - ESD workaround fix for OLPC XO touchpad It appears that when the XO touchpad unit resets from ESD, it sends AA AA instead of AA 00, the psmouse-base code handles the case of AA 00 by triggering a serio reconnect for the port, causing a full reprobe of the device. Testing with OFW shows that this is likely to solve the problem, so the attached patch simply expands the existing test to also catch AA AA. Signed-off-by: Andres Salomon Signed-off-by: Deepak Saxena Signed-off-by: Dmitry Torokhov commit 78f7f36711396991431a1d7ceab6103d2c54694c Author: Kwangwoo Lee Date: Fri May 15 19:14:35 2009 -0700 Input: tsc2007 - make sure platform provides get_pendown_state() The platform codes must provide get_pendown_state() for the driver to work properly. Signed-off-by: Kwangwoo Lee Signed-off-by: Dmitry Torokhov commit 05cebd3816dabfb223abe27b3ad3b50140c457a0 Author: Aristeu Sergio Rozanski Filho Date: Thu May 14 22:01:57 2009 -0700 Input: uinput - flush all pending ff effects before destroying device The destruction of a input device in uinput is triggered by an ioctl(). If a process tries to destroy an input device while other is uploading a force feedback effect by evdev to the same device, they'll deadlock. This patch fixes the problem by flushing all pending FF uploads before destroying the device and preventing new uploads during this operation. [dtor@mail.ru: fix logic that ensures we don't submit new requests to the device that is being destroyed.] Signed-off-by: Aristeu Rozanski Signed-off-by: Dmitry Torokhov commit a2bd40d215b0997e21a0cfd06c1aa474ec3a0944 Author: Hartley Sweeten Date: Mon May 4 19:09:25 2009 +0100 [ARM] 5504/1: ep93xx: Merge all edb93xx platforms The Cirrus Logic EDB93xx development board platform init files share redundant code. The only differences are in the flash memory configuration, MACH_TYPE, and additional on-board I2C devices. This patch merges all of them into one file. Cc: Lennert Buytenhek Cc: Herbert Valerio Riedel Cc: Toufeeq Hussain Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 28e43a519b9edb8277fc6b490ad17aa38c45a02b Author: Roel Kluin Date: Fri May 15 10:16:45 2009 -0700 RDMA/nes: Fix off-by-one bugs in reset_adapter_ne020() and init_serdes() With a postfix increment, i is incremented one past 10K/5K before the loop ends, so the error messages will be displayed too soon if the test succeeds on the last iteration. Fix the comparisons to be > instead of >=. Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit 748285ccf7ea76d3d76d0d5f2945ad6fb91f5329 Author: David Teigland Date: Fri May 15 10:50:57 2009 -0500 dlm: use more NOFS allocation Change some GFP_KERNEL allocations to use either GFP_NOFS or ls_allocation (when available) which the fs sets to GFP_NOFS. The point is to prevent allocations from going back into the cluster fs in places where that might lead to deadlock. Signed-off-by: David Teigland commit 52650257ea06bb15c2e2bbe854cbdf463726141a Author: Jaswinder Singh Rajput Date: Thu May 14 12:35:46 2009 +0530 x86, mtrr: replace MTRRdefType_MSR with msr-index's MSR_MTRRdefType Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit ba5673ff1ff5f428256db4cedd4b05b7be008bb6 Author: Jaswinder Singh Rajput Date: Thu May 14 12:29:25 2009 +0530 x86, mtrr: replace MTRRfix4K_C0000_MSR with msr-index's MSR_MTRRfix4K_C0000 Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 654ac05801ae806661c8fdeb3b5c420a31cbc5b1 Author: Jaswinder Singh Rajput Date: Thu May 14 12:21:54 2009 +0530 x86, mtrr: remove mtrr MSRs double declaration Removed MTRR MSR from mtrr/mtrr.h as these are already declared in msr-index.h and nobody is using them: MTRRfix16K_A0000_MSR MTRRfix4K_C8000_MSR MTRRfix4K_D0000_MSR MTRRfix4K_D8000_MSR MTRRfix4K_E0000_MSR MTRRfix4K_E8000_MSR MTRRfix4K_F0000_MSR MTRRfix4K_F8000_MSR Use standard msr-index.h's MSR declaration and no need to declare again [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 7d9d55e449089df8463bca2045d702ae6cda64a2 Author: Jaswinder Singh Rajput Date: Thu May 14 12:15:32 2009 +0530 x86, mtrr: replace MTRRfix16K_80000_MSR with msr-index's MSR_MTRRfix16K_80000 Use standard msr-index.h's MSR declaration and no need to declare again [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit a036c7a358cc9d7ed28a188480b9a4d709e09b24 Author: Jaswinder Singh Rajput Date: Thu May 14 12:10:43 2009 +0530 x86, mtrr: replace MTRRfix64K_00000_MSR with msr-index's MSR_MTRRfix64K_00000 Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit d9bcc01d58d18ed287091707b0b45c6ac888a11a Author: Jaswinder Singh Rajput Date: Thu May 14 12:06:12 2009 +0530 x86, mtrr: replace MTRRcap_MSR with msr-index's MSR_MTRRcap Use standard msr-index.h's MSR declaration and no need to declare again. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput Signed-off-by: H. Peter Anvin commit 0bbd0d4be8d5d3676c126e06e3c75c16def00441 Author: Paul Mackerras Date: Thu May 14 13:31:48 2009 +1000 perf_counter: powerpc: supply more precise information on counter overflow events This uses values from the MMCRA, SIAR and SDAR registers on powerpc to supply more precise information for overflow events, including a data address when PERF_RECORD_ADDR is specified. Since POWER6 uses different bit positions in MMCRA from earlier processors, this converts the struct power_pmu limited_pmc5_6 field, which only had 0/1 values, into a flags field and defines bit values for its previous use (PPMU_LIMITED_PMC5_6) and a new flag (PPMU_ALT_SIPR) to indicate that the processor uses the POWER6 bit positions rather than the earlier positions. It also adds definitions in reg.h for the new and old positions of the bit that indicates that the SIAR and SDAR values come from the same instruction. For the data address, the SDAR value is supplied if we are not doing instruction sampling. In that case there is no guarantee that the address given in the PERF_RECORD_ADDR subrecord will correspond to the instruction whose address is given in the PERF_RECORD_IP subrecord. If instruction sampling is enabled (e.g. because this counter is counting a marked instruction event), then we only supply the SDAR value for the PERF_RECORD_ADDR subrecord if it corresponds to the instruction whose address is in the PERF_RECORD_IP subrecord. Otherwise we supply 0. [ Impact: support more PMU hardware features on PowerPC ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <18955.37028.48861.555309@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 9d23a90a67261e73b2fcac04d8ca963c6b496afb Author: Paul Mackerras Date: Thu May 14 21:48:08 2009 +1000 perf_counter: allow arch to supply event misc flags and instruction pointer At present the values we put in overflow events for the misc flags indicating processor mode and the instruction pointer are obtained using the standard user_mode() and instruction_pointer() functions. Those functions tell you where the performance monitor interrupt was taken, which might not be exactly where the counter overflow occurred, for example because interrupts were disabled at the point where the overflow occurred, or because the processor had many instructions in flight and chose to complete some more instructions beyond the one that caused the counter overflow. Some architectures (e.g. powerpc) can supply more precise information about where the counter overflow occurred and the processor mode at that point. This introduces new functions, perf_misc_flags() and perf_instruction_pointer(), which arch code can override to provide more precise information if available. They have default implementations which are identical to the existing code. This also adds a new misc flag value, PERF_EVENT_MISC_HYPERVISOR, for the case where a counter overflow occurred in the hypervisor. We encode the processor mode in the 2 bits previously used to indicate user or kernel mode; the values for user and kernel mode are unchanged and hypervisor mode is indicated by both bits being set. [ Impact: generalize perfcounter core facilities ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <18956.1272.818511.561835@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit ef923214a4816c289e4af2d67a9ebb1a31e4ac61 Author: Paul Mackerras Date: Thu May 14 13:29:14 2009 +1000 perf_counter: powerpc: use u64 for event codes internally Although the perf_counter API allows 63-bit raw event codes, internally in the powerpc back-end we had been using 32-bit event codes. This expands them to 64 bits so that we can add bits for specifying threshold start/stop events and instruction sampling modes later. This also corrects the return value of can_go_on_limited_pmc; we were returning an event code rather than just a 0/1 value in some circumstances. That didn't particularly matter while event codes were 32-bit, but now that event codes are 64-bit it might, so this fixes it. [ Impact: extend PowerPC perfcounter interfaces from u32 to u64 ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <18955.36874.472452.353104@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 391fbdc5d527149578490db2f1619951d91f3561 Author: Christine Caulfield Date: Thu May 7 10:54:16 2009 -0500 dlm: connect to nodes earlier Make network connections to other nodes earlier, in the context of dlm_recoverd. This avoids connecting to nodes from dlm_send where we try to avoid allocations which could possibly deadlock if memory reclaim goes into the cluster fs which may try to do a dlm operation. Signed-off-by: Christine Caulfield Signed-off-by: David Teigland commit f0bca459829fd33d659c8cd0369ac86a3924a9bc Author: Sergey Belyashov Date: Fri May 15 16:05:57 2009 +0200 HID: autocentering support for Logitech Force 3D Pro This patch adds autocentering support for Logitech Force 3D Pro. Signed-off-by: Sergey Belyashov Signed-off-by: Jiri Kosina commit b04b4f7862de8d6e8b536853aaf66a6c1bb05cbd Author: Alexander Beregalov Date: Fri May 15 18:00:38 2009 +0400 ALSA: parisc/harmony: fix printk format warning Fix this warning: sound/parisc/harmony.c:938: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Alexander Beregalov Signed-off-by: Takashi Iwai commit 0f6f4319a72a2b32d19643ff811f25633d8b0207 Author: Jiri Kosina Date: Fri May 15 15:46:44 2009 +0200 HID: fix hid-ff drivers so that devices work even without ff support Currently, the hid-*ff force feedback drivers, which claim the blacklisted device on a HID bus, are only compiled in if the user selects force feedback support. However we want the device to be supported even when the kernel is configured without force feedback. This patch fixes the drivers in a way that they get compiled even if force feedback is turned off; all the force feedback support code is compiled out in such case, and the driver works as a usual driver on HID bus, claiming and initializing the device, making it operational without FF effects. Reported-by: Jussi Kivilinna Signed-off-by: Jiri Kosina commit 2e569d36729c8105ae066a9b105068305442cc77 Author: Peter Zijlstra Date: Fri May 15 15:37:47 2009 +0200 perf_counter: frequency based adaptive irq_period, 32-bit fix fix: kernel/built-in.o: In function `perf_counter_alloc': perf_counter.c:(.text+0x7ddc7): undefined reference to `__udivdi3' [ Impact: build fix on 32-bit systems ] Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo Cc: Thomas Gleixner LKML-Reference: <1242394667.6642.1887.camel@laptop> Signed-off-by: Ingo Molnar commit 2fc998907947f92b1b9113faad531d7f5a857987 Author: Nickolas Lloyd Date: Fri May 15 15:33:30 2009 +0200 ALSA: hda - add controls to toggle DC bias on mic ports This patch adds a mixer control for the STAC92XX boards to control the DC bias of mic ports, allowing recording from both powered and non-powered sources. It replaces the "Mic Output Switch" with "Mic Jack Mode" to switch between Mic, Line In, and Line Out. Signed-off-by: Nickolas Lloyd Signed-off-by: Takashi Iwai commit 2d02494f5a90f2e4b3c4c6acc85ec94674cdc431 Author: Thomas Gleixner Date: Sat May 2 20:08:52 2009 +0200 sched, timers: cleanup avenrun users avenrun is an rough estimate so we don't have to worry about consistency of the three avenrun values. Remove the xtime lock dependency and provide a function to scale the values. Cleanup the users. [ Impact: cleanup ] Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra commit dce48a84adf1806676319f6f480e30a6daa012f9 Author: Thomas Gleixner Date: Sat Apr 11 10:43:41 2009 +0200 sched, timers: move calc_load() to scheduler Dimitri Sivanich noticed that xtime_lock is held write locked across calc_load() which iterates over all online CPUs. That can cause long latencies for xtime_lock readers on large SMP systems. The load average calculation is an rough estimate anyway so there is no real need to protect the readers vs. the update. It's not a problem when the avenrun array is updated while a reader copies the values. Instead of iterating over all online CPUs let the scheduler_tick code update the number of active tasks shortly before the avenrun update happens. The avenrun update itself is handled by the CPU which calls do_timer(). [ Impact: reduce xtime_lock write locked section ] Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra commit f5456a6b056b709282e87a68b4c1b81ac2e866fa Author: Peter Zijlstra Date: Fri May 15 15:19:29 2009 +0200 perf top: update to use the new freq interface Provide perf top -F as alternative to -c. [ Impact: new 'perf top' feature ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.707922166@chello.nl> Signed-off-by: Ingo Molnar commit 60db5e09c13109b13830cc9dcae688003fd39e79 Author: Peter Zijlstra Date: Fri May 15 15:19:28 2009 +0200 perf_counter: frequency based adaptive irq_period Instead of specifying the irq_period for a counter, provide a target interrupt frequency and dynamically adapt the irq_period to match this frequency. [ Impact: new perf-counter attribute/feature ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.646195868@chello.nl> Signed-off-by: Ingo Molnar commit 789f90fcf6b0b54e655740e9396c954378542c79 Author: Peter Zijlstra Date: Fri May 15 15:19:27 2009 +0200 perf_counter: per user mlock gift Instead of a per-process mlock gift for perf-counters, use a per-user gift so that there is less of a DoS potential. [ Impact: allow less worst-case unprivileged memory consumption ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.496182835@chello.nl> Signed-off-by: Ingo Molnar commit 548e1ddf255b4ebfb4ef20c08936fd8d4deb3bd9 Author: Peter Zijlstra Date: Fri May 15 15:19:26 2009 +0200 perf_counter: remove perf_disable/enable exports Now that ACPI idle doesn't use it anymore, remove the exports. [ Impact: remove dead code/data ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090515132018.429826617@chello.nl> Signed-off-by: Ingo Molnar commit f1a11e0576c7a73d759d05d776692b2b2d37172b Author: Thomas Gleixner Date: Tue May 5 19:21:40 2009 +0200 futex: remove the wait queue The waitqueue which is used in struct futex_q is a leftover from the futexfd implementation. There is no need to use a waitqueue at all, as the waiting task is the only user of it. The waitqueue just adds additional locking and a loop in the wake up path which both can be avoided. We have already a task reference in struct futex_q which is used for PI futexes. Use it for normal futexes as well and just wake up the task directly. The logic of signalling the futex wakeup via setting q->lock_ptr to NULL is kept with the difference that we set it NULL before doing the wakeup. This opens an exit race window vs. a non futex wake up of the to be woken up task, which we prevent with get_task_struct / put_task_struct on the waiter. [ Impact: simplification ] Signed-off-by: Thomas Gleixner commit fac733f029251a393c42a8313432f2d9fe43bb83 Author: Jussi Kivilinna Date: Wed May 13 11:54:38 2009 +0300 HID: force feedback support for SmartJoy PLUS PS2/USB adapter This driver adds force feedback support for SmartJoy PLUS PS2/USB adapter. I made this driver one device spesific instead of making generic 'wisegroup-ff' because I have another Wisegroup PS2/USB adapter that doesn't work same way as SmartJoy PLUS. If another device that is compatible pops up, this driver could be then renamed to something more generic. Signed-off-by: Jussi Kivilinna Signed-off-by: Jiri Kosina commit 6e03a201bbe8137487f340d26aa662110e324b20 Author: David Woodhouse Date: Thu Apr 9 22:04:07 2009 -0700 firmware: speed up request_firmware(), v3 Rather than calling vmalloc() repeatedly to grow the firmware image as we receive data from userspace, just allocate and fill individual pages. Then vmap() the whole lot in one go when we're done. A quick test with a 337KiB iwlagn firmware shows the time taken for request_firmware() going from ~32ms to ~5ms after I apply this patch. [v2: define PAGE_KERNEL_RO as PAGE_KERNEL where necessary, use min_t()] [v3: kunmap() takes the struct page *, not the virtual address] Signed-off-by: David Woodhouse Tested-by: Sachin Sant commit 2bf2778e0fb38255e55ab5e10022132b0a72420e Author: Takashi Iwai Date: Fri May 15 12:20:52 2009 +0200 ASoC: Optimize switch/case in magician.c Use default to optimize the switch/case in magicial_playback_hw_params(), which also fixes the compile warnings below: sound/soc/pxa/magician.c:89: warning: 'acds' may be used uninitialized in this function sound/soc/pxa/magician.c:89: warning: 'acps' may be used uninitialized in this function Signed-off-by: Takashi Iwai commit 2baaec28068d07db3d4ae6ba885fa07255b2ad79 Author: Takashi Iwai Date: Fri May 15 12:18:47 2009 +0200 ASoC: Add missing __devexit in wm8940.c Signed-off-by: Takashi Iwai commit 58d7e993b16b62d30f8ef27757614056fe4def11 Author: Ingo Molnar Date: Fri May 15 11:03:23 2009 +0200 perf stat: handle Ctrl-C Before this change, if a long-running perf stat workload was Ctrl-C-ed, the utility exited without displaying statistics. After the change, the Ctrl-C gets propagated into the workload (and causes its early exit there), but perf stat itself will still continue to run and will display counter results. This is useful to run open-ended workloads, let them run for a while, then Ctrl-C them to get the stats. [ Impact: extend perf stat with new functionality ] Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 5f592bb99b2634b2c515bb75d92cae14b1e22c51 Merge: dd4a416 81a4275 Author: Takashi Iwai Date: Fri May 15 10:30:21 2009 +0200 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 81a4275bff16b0a63074669541be6eb4d5279f26 Merge: 63c26ba f492ec9 Author: Mark Brown Date: Fri May 15 08:59:52 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 251e8e3c7235f5944805a64f24c79fc4696793f1 Author: Ingo Molnar Date: Thu May 14 05:16:59 2009 +0200 perf_counter: Remove ACPI quirk We had a disable/enable around acpi_idle_do_entry() due to an erratum in an early prototype CPU i had access to. That erratum has been fixed in the BIOS so remove the quirk. The quirk also kept us from profiling interrupts that hit the ACPI idle instruction - so this is an improvement as well, beyond a cleanup and a micro-optimization. [ Impact: improve profiling scope, cleanup, micro-optimization ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 9029a5e3801f1cc7cdaab80169d82427acf928d8 Author: Ingo Molnar Date: Fri May 15 08:26:20 2009 +0200 perf_counter: x86: Protect against infinite loops in intel_pmu_handle_irq() intel_pmu_handle_irq() can lock up in an infinite loop if the hardware does not allow the acking of irqs. Alas, this happened in testing so make this robust and emit a warning if it happens in the future. Also, clean up the IRQ handlers a bit. [ Impact: improve perfcounter irq/nmi handling robustness ] Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 1c80f4b598d9b075a2a0be694e28be93a6702bcc Author: Ingo Molnar Date: Fri May 15 08:25:22 2009 +0200 perf_counter: x86: Disallow interval of 1 On certain CPUs i have observed a stuck PMU if interval was set to 1 and NMIs were used. The PMU had PMC0 set in MSR_CORE_PERF_GLOBAL_STATUS, but it was not possible to ack it via MSR_CORE_PERF_GLOBAL_OVF_CTRL, and the NMI loop got stuck infinitely. [ Impact: fix rare hangs during high perfcounter load ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit a4016a79fcbd139e7378944c0d86a39fdbc70ecc Author: Peter Zijlstra Date: Thu May 14 14:52:17 2009 +0200 perf_counter: x86: Robustify interrupt handling Two consecutive NMIs could daze and confuse the machine when the first would handle the overflow of both counters. [ Impact: fix false-positive syslog messages under multi-session profiling ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 9e35ad388bea89f7d6f375af4c0ae98803688666 Author: Peter Zijlstra Date: Wed May 13 16:21:38 2009 +0200 perf_counter: Rework the perf counter disable/enable The current disable/enable mechanism is: token = hw_perf_save_disable(); ... /* do bits */ ... hw_perf_restore(token); This works well, provided that the use nests properly. Except we don't. x86 NMI/INT throttling has non-nested use of this, breaking things. Therefore provide a reference counter disable/enable interface, where the first disable disables the hardware, and the last enable enables the hardware again. [ Impact: refactor, simplify the PMU disable/enable logic ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 962bf7a66edca4d36a730a38ff8410a67f560e40 Author: Peter Zijlstra Date: Wed May 13 13:21:36 2009 +0200 perf_counter: x86: Fix up the amd NMI/INT throttle perf_counter_unthrottle() restores throttle_ctrl, buts its never set. Also, we fail to disable all counters when throttling. [ Impact: fix rare stuck perf-counters when they are throttled ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 53020fe81eecd0b7be295868ce5850ef8f41074e Author: Peter Zijlstra Date: Wed May 13 21:26:19 2009 +0200 perf_counter: Fix perf_output_copy() WARN to account for overflow The simple reservation test in perf_output_copy() failed to take unsigned int overflow into account, fix this. [ Impact: fix false positive warning with more than 4GB of profiling data ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit a026dfecc035f213c1cfa0bf6407ce3155f6a9df Author: Peter Zijlstra Date: Wed May 13 10:02:57 2009 +0200 perf_counter: x86: Allow unpriviliged use of NMIs Apply sysctl_perf_counter_priv to NMIs. Also, fail the counter creation instead of silently down-grading to regular interrupts. [ Impact: allow wider perf-counter usage ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit f5a5a2f6e69e88647ae12da39f0ff3a510bcf0a6 Author: Ingo Molnar Date: Wed May 13 12:54:01 2009 +0200 perf_counter: x86: Fix throttling If counters are disabled globally when a perfcounter IRQ/NMI hits, and if we throttle in that case, we'll promote the '0' value to the next lapic IRQ and disable all perfcounters at that point, permanently ... Fix it. [ Impact: fix hung perfcounters under load ] Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit ec3232bdf8518bea8410f0027f870b24d3aa8753 Author: Peter Zijlstra Date: Wed May 13 09:45:19 2009 +0200 perf_counter: x86: More accurate counter update Take the counter width into account instead of assuming 32 bits. In particular Nehalem has 44 bit wide counters, and all arithmetics should happen on a 44-bit signed integer basis. [ Impact: fix rare event imprecision, warning message on Nehalem ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: Signed-off-by: Ingo Molnar commit 1a853e36871b533ccc3f3c5bdd5cd0d867043a00 Author: Arnaldo Carvalho de Melo Date: Thu May 14 22:50:46 2009 -0300 perf record: Allow specifying a pid to record Allow specifying a pid instead of always fork+exec'ing a command. Because the PERF_EVENT_COMM and PERF_EVENT_MMAP events happened before we connected, we must synthesize them so that 'perf report' can get what it needs. [ Impact: add new command line option ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Clark Williams Cc: John Kacur Cc: Peter Zijlstra LKML-Reference: <20090515015046.GA13664@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 103f7033bd0f7b65ff3e0a5ea72449d08010b031 Author: Borislav Petkov Date: Sun Apr 26 10:39:07 2009 +0200 ide: unify interrupt reason checking Add ide_check_ireason() function that handles all ATAPI devices. Reorganize all unlikely cases in ireason checking further down in the code path. In addition, add PFX for printks originating from ide-atapi. Finally, remove ide_cd_check_ireason. Signed-off-by: Borislav Petkov commit 239f7e25346e22c4a94bde004d845e7397947c01 Author: Borislav Petkov Date: Thu Apr 23 08:30:29 2009 +0200 ide-cd: use whole request_sense buffer in EH Now that we use a static request_sense buffer, use it instead of the first 18 bytes only. Also, remove sense-arg to cdrom_analyze_sense_data and cdrom_log_sense since we can access it through drive->sense_data now. Signed-off-by: Borislav Petkov commit 19f52a784f7ecb5b51cd73cc4514614b600b995a Author: Borislav Petkov Date: Mon May 4 09:53:03 2009 +0200 ide-atapi: remove pc->buf Now after all users of pc->buf have been converted, remove the 64B buffer embedded in each packet command. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 55ce3a129ea2e8faba4a11bb5dbc305590d1c20c Author: Borislav Petkov Date: Mon May 4 09:38:15 2009 +0200 ide-tape: fix READ POSITION cmd handling ide-tape used to issue READ POSITION in several places and the evaluation of the returned READ POSITION data was done in the ->pc_callback. Convert it to use local buffer and move that evaluation chunk in the idetape_read_position(). Additionally, fold idetape_create_read_position_cmd() into it, too, thus concentrating READ POSITION handling in one method only and making all places call that. Finally, mv {idetape,ide_tape}_read_position. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 837272b4f9393df40d16cc2ac731221027048ba6 Author: Borislav Petkov Date: Mon May 4 09:48:57 2009 +0200 ide-tape/ide_tape_get_bsize_from_bdesc: use local buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 60cfab85da965035c7baf66a63f048155bb302b1 Author: Borislav Petkov Date: Tue May 12 08:59:49 2009 +0200 ide-floppy/ide_floppy_get_format_progress: use local sense buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit ae3a8387be529e632eac69b342524c25b892fc63 Author: Borislav Petkov Date: Sat May 2 10:58:17 2009 +0200 ide-atapi: use local sense buffer Access the sense buffer through the bio in ->pc_callback method thus alleviating the need for the pc->buf pointer. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 5122e5174f872c9f3120c8aff71c448f84b6f038 Author: Borislav Petkov Date: Sat May 2 10:53:10 2009 +0200 ide-floppy/ide_floppy_format_unit: use local buffer Pass the buffer into ide_floppy_create_format_unit_cmd instead of using pc->buf. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 802e663427b16c77368a4fb2f77c105fbfffd68c Author: Borislav Petkov Date: Sat May 2 10:45:17 2009 +0200 ide-floppy/ide_floppy_get_sfrp_bit: use local buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit d9a683076412924ca03c8b6cb766964425cf822e Author: Borislav Petkov Date: Sat May 2 10:43:11 2009 +0200 ide-floppy/ide_floppy_get_flexible_disk_page: use local buffer There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit b13345f39dadbabdabaf8819cf6df26913da9e8d Author: Borislav Petkov Date: Sat May 2 10:26:12 2009 +0200 ide-atapi: add a buffer-arg to ide_queue_pc_tail This is in preparation of removing ide_atapi_pc. Expose the buffer as an argument to ide_queue_pc_tail with later replacing it with local buffer or even kmalloc'ed one if needed due to stack usage constraints. Also, add the possibility of passing a NULL-ptr buffer for cmds which don't transfer data besides the cdb. While at it, switch to local buffer in idetape_get_mode_sense_results(). There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 5a0e43b5e2ee9a295f864c38f0e853b1a4fc3892 Author: Borislav Petkov Date: Fri May 1 23:27:11 2009 +0200 ide-atapi: add a len-parameter to ide_queue_pc_tail This is in preparation for removing ide_atapi_pc. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 077e6dba20e74a455a0452379d2a965c7e1b01ad Author: Borislav Petkov Date: Fri May 1 21:21:02 2009 +0200 ide-atapi: switch to rq->resid_len Now that we have rq->resid_len, use it to account partial completion amount during the lifetime of an rq, decrementing it on each successful transfer. As a result, get rid of now unused pc->xferred. While at it, remove noisy debug call in ide_prep_sense. Signed-off-by: Borislav Petkov commit dfb7e621fa12c0579e88560ab176c5768f9e0bfb Author: Borislav Petkov Date: Fri May 1 20:35:21 2009 +0200 ide-atapi: switch to blk_rq_bytes() on do_request() path After the recent struct request cleanups, blk_rq_bytes() is guaranteed to be valid and is the current total length of the rq's bio. Use that instead of pc->req_xfer in the do_request() path after the command has been queued The remaining usage of pc->req_xfer now is only until we map the rq to a bio. While at it: - remove local caching of rq completion length in ide_tape_issue_pc() Signed-off-by: Borislav Petkov commit 10c0b3437c4dc0d14ac254bbe71e54ea5f238d97 Author: Borislav Petkov Date: Fri May 1 20:29:53 2009 +0200 ide-tape: fix potential fs requests bug ide-tape had a potential bug for fs requests when preparing the command packet: it was writing the transfer length as a number of fixed blocks. However, the block layer implies 512 byte blocks and ide-tape can have other block sizes so account for that too. ide-floppy does this calculation properly with the block size factor (floppy->bs_factor). Signed-off-by: Borislav Petkov commit 5872144f64b34a5942f6b4acedc90b02de72c58b Author: Li Zefan Date: Fri May 15 11:07:56 2009 +0800 tracing/filters: fix off-by-one bug We should leave the last slot for the ending '\0'. [ Impact: fix possible crash when the length of an operand is 128 ] Signed-off-by: Li Zefan LKML-Reference: <4A0CDC8C.30602@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 8cd995b6deedf98b7694ed32a786ee7f793d1eec Author: Li Zefan Date: Fri May 15 11:07:27 2009 +0800 tracing/filters: add missing unlock in a failure path [ Impact: fix deadlock in a rare case we fail to allocate memory ] Signed-off-by: Li Zefan LKML-Reference: <4A0CDC6F.7070200@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 1ec7c4849c214fc78b023230264399836ea3b245 Author: Steven Rostedt Date: Thu May 14 23:40:06 2009 -0400 tracing: stop stack trace on first empty entry The stack tracer stores eight entries in the ring buffer when an event traces the stack. The output outputs all eight entries regardless of how many entries were recorded. This patch breaks out of the loop when a null entry is discovered. [ Impact: only print the stack that is recorded ] Signed-off-by: Steven Rostedt commit 29a679754b1a2581ee456eada6c2de7ce95068bb Author: Steven Rostedt Date: Thu May 14 23:19:09 2009 -0400 x86/stacktrace: return 0 instead of -1 for stack ops If we return -1 in the ops->stack for the stacktrace saving, we end up breaking out of the loop if the stack we are tracing is in the exception stack. This causes traces like: -0 [002] 34263.745825: raise_softirq_irqoff <-__blk_complete_request -0 [002] 34263.745826: <= 0 <= 0 <= 0 <= 0 <= 0 <= 0 <= 0 By returning "0" instead, the irq stack is saved as well, and we see: -0 [003] 883.280992: raise_softirq_irqoff <-__hrtimer_star t_range_ns -0 [003] 883.280992: <= hrtimer_start_range_ns <= tick_nohz_restart_sched_tick <= cpu_idle <= start_secondary <= <= 0 <= 0 [ Impact: record stacks from interrupts ] Signed-off-by: Steven Rostedt commit 639138a991aaf1a3f65cc66700d097edc5f602fe Author: Magnus Damm Date: Fri May 15 12:07:17 2009 +0900 sound: oss: sh_dac_audio timer fixes. This patch modifies sh_dac_audio in the following ways: - use high resolution timer instead of TMU1 - fix cpu/dac.h include - add future rewrite comment Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bec36eca6f5d1d83a9c3733fc40ba173ad849df2 Author: Paul Mundt Date: Fri May 15 12:03:04 2009 +0900 sh: hd64461: Fix up I/O base register offsets. hd64461 is mapped in a fixed location, so the I/O base itself is fairly meaningless as a configuration item. Additionally, this makes it impossible to share hd64461 code alongside generic drivers (in the case of sh_dac_audio), so simply make it commonly defined and permit the mach_is_foo() logic to work out the proper semantics. Signed-off-by: Paul Mundt commit c3d20103d08e5c0b6738fbd0acf3ca004e5356c5 Author: Eric Paris Date: Tue May 12 15:14:23 2009 -0400 IMA: do not measure everything opened by root by default The IMA default policy measures every single file opened by root. This is terrible for most users. Consider a system (like mine) with virtual machine images. When those images are touched (which happens at boot for me) those images are measured. This is just way too much for the default case. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit f850a7c040d9faafb41bceb0a05d6bb7432c8c7a Author: Eric Paris Date: Tue May 12 15:13:55 2009 -0400 IMA: remove read permissions on the ima policy file The IMA policy file does not implement read. Trying to just open/read/close the file will load a blank policy and you cannot then change the policy without a reboot. This removes the read permission from the file so one must at least be attempting to write... Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 63c26baa2aa624b023892d66ed696525fc787560 Author: Marek Vasut Date: Thu May 14 20:52:46 2009 +0100 ASoC: Support AC97 link off by default on WM9712 The WM9712 can be configured by resistor strapping GPIO4 to behave like the WM9713 and default to leaving the AC97 link disabled after cold reset until a warm reset occurs. In this configuration we need to issue a warm reset after cold to bring the link up so do so. The warm reset will be harmless on systems that don't need it. [Changelog rewritten to document the reasoning. -- broonie] Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit c13cb78ace34ef9e4cfa2a2fae9a7772d90d6ace Merge: d34c430 916465a Author: Mark Brown Date: Thu May 14 20:35:51 2009 +0100 Merge branch 'pxa2xx-i2s' into for-2.6.31 commit 916465a841937a60baac6144ae3f41b0d1560f3b Author: Karl Beldan Date: Wed May 13 22:16:59 2009 +0200 ASoC: pxa2xx-i2s: Fix suspend/resume pxa2xx_i2s_resume is : - unconditionnaly setting SACR0_ENB - unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr0 fix these. In pxa2xx_i2s_{resume,suspend}, save/restore registers even when !dai->active. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 9bc04fd1677a956fdd7c5645a09de34ca9a8f1a6 Author: Karl Beldan Date: Wed May 13 22:16:52 2009 +0200 ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown. Now we 'get' i2s_clk at probe and 'put' it at driver removal or when probe fails. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 34555c1077ac8f4854e0db9ad11b989a6908d210 Author: Karl Beldan Date: Wed May 13 22:16:46 2009 +0200 ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately - hw_params enables both RPL and REC functions each time : Enable the appropriate function in pxa2xx_i2s_trigger. - pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function is off : Turn it off only when both functions are off. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit b243b77c708665d7af8c5e42611c27c89f918788 Author: Karl Beldan Date: Thu May 14 10:25:42 2009 +0200 ASoC: pxa2xx-i2s: Proper hw initialization Make sure we are in a know good state at end of probe : Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled (SACR0_RST enables REC and RPL). Resetting loses current settings so remove reset from stream startup. Now reset occurs only at probe. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 2ac3b6e00acb46406c993d57921f86a594aafe08 Author: Theodore Ts'o Date: Thu May 14 13:57:08 2009 -0400 ext4: Clean up ext4_get_blocks() so it does not depend on bh_result->b_state The ext4_get_blocks() function was depending on the value of bh_result->b_state as an input parameter to decide whether or not update the delalloc accounting statistics by calling ext4_da_update_reserve_space(). We now use a separate flag, EXT4_GET_BLOCKS_UPDATE_RESERVE_SPACE, to requests this update, so that all callers of ext4_get_blocks() can clear map_bh.b_state before calling ext4_get_blocks() without worrying about any consistency issues. Signed-off-by: "Theodore Ts'o" commit 7442f9dadb8626bd9e7e01445560499560b99f5d Author: Takashi Iwai Date: Thu May 14 18:20:33 2009 +0200 ALSA: hda - Add a quirk entry for Macbook Pro 5,1 Added the codec SSID for MacBook Pro 5,1 as compatible as MP51. However, the headphone auto-muting function doesn't work. So, this is just a tentative solution. Signed-off-by: Takashi Iwai commit dd7264355a203c3456dbba04db471947d3b55e7e Author: Chris Wright Date: Wed May 13 15:55:52 2009 -0700 intel-iommu: dmar_set_interrupt return error value dmar_set_interrupt feigns success when arch_setup_dmar_msi fails, return error value. Signed-off-by: Chris Wright Signed-off-by: David Woodhouse commit 2fa3cdfb319055fd8b25abdafa413e16f00ad493 Author: Theodore Ts'o Date: Thu May 14 09:29:45 2009 -0400 ext4: Merge ext4_da_get_block_write() into mpage_da_map_blocks() The static function ext4_da_get_block_write() was only used by mpage_da_map_blocks(). So to simplify the code, merge that function into mpage_da_map_blocks(). Signed-off-by: "Theodore Ts'o" commit b3e0afe61e8271a8d082478752a67e5c279c8f23 Author: Takashi Iwai Date: Thu May 14 15:19:30 2009 +0200 ALSA: ctxfi - Add prefix to debug prints Added ctxfi: prefix to each debug print. Signed-off-by: Takashi Iwai commit 35b053becb64eba13f3ea5c8c51023997169ff34 Author: Takashi Iwai Date: Thu May 14 15:17:16 2009 +0200 ALSA: ctxfi - Avoid unneeded pci_read_config_*() calls Use struct pci subsystem_device and revision fields instead of unneeded calls of pci_read_config_*(). Signed-off-by: Takashi Iwai commit 9fc20f030ba457d20eb994e1def7e2ce7d5ae1a8 Author: Takashi Iwai Date: Thu May 14 15:14:18 2009 +0200 ALSA: ctxfi - Move PCI ID definitions to linux/pci_ids.h Signed-off-by: Takashi Iwai commit 903dba1eae49270a8c2275636071c3a238c8104d Author: Jean Delvare Date: Thu May 14 14:37:21 2009 +0200 ALSA: keywest: Get rid of useless i2c_device_name() macro The i2c_device_name() macro is used only once and doesn't have much value, it hurts redability more than it helps. Get rid of it. Signed-off-by: Jean Delvare Cc: Benjamin Herrenschmidt Signed-off-by: Takashi Iwai commit d34c43078236b41146877c49af341ab85b5fb8db Author: Jon Smirl Date: Wed May 13 21:59:14 2009 -0400 ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format Signed-off-by: Jon Smirl Signed-off-by: Mark Brown commit 14610ce711a363028ffffad98947d57f21fa5372 Author: Anuj Aggarwal Date: Thu May 14 13:59:19 2009 +0530 ASoC: Added OMAP3 EVM support in ASoC. Resending the patch after fixing the minor issues. Signed-off-by: Anuj Aggarwal Signed-off-by: Mark Brown commit d0da727e025da8b443a4a614dbb7a031b89857d0 Author: Takashi Iwai Date: Thu May 14 10:56:04 2009 +0200 ALSA: ctxfi - Add missing inclusion of linux/delay.h Signed-off-by: Takashi Iwai commit 9304d0ccf1922b9b954b6e9223d1b2bc83198ad2 Author: Magnus Damm Date: Thu May 14 07:53:39 2009 +0000 sh: intc tables for sh7770 This patch adds INTC tables for sh7770, thanks goes to Paul for the first prototype version. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ad3256e361663923342bff7f292dd289f794aa33 Author: Paul Mundt Date: Thu May 14 17:40:08 2009 +0900 sh: Provide FORCE_MAX_ZONEORDER. Several platforms want to be able to do large physically contiguous allocations (primarily nommu and video codecs on SH-Mobile), provide a MAX_ORDER override for those cases. Tested-by: Conrad Parker Signed-off-by: Paul Mundt commit 549b5e358d17a8c04953ed80896ce07d37722451 Author: Paul Mundt Date: Thu May 14 17:38:46 2009 +0900 sh: clkfwk: Add MSTP bits to SH7785 clock framework. This plugs in all of the MSTP functions in to the clock framework, and hands them off to the platform devices that want them. Signed-off-by: Paul Mundt commit 77f6bf57ba9d2c50173536dbfdacdab27cb867ca Author: Andrew Morton Date: Thu May 14 09:49:44 2009 +0200 splice: fix error return code fs/splice.c: In function 'default_file_splice_read': fs/splice.c:566: warning: 'error' may be used uninitialized in this function which is sort-of true. The code will in fact return -ENOMEM instead of the kernel_readv() return value. Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 8cc72361481f00253f1e468ade5795427386d593 Author: Wai Yew CHAY Date: Thu May 14 08:05:58 2009 +0200 ALSA: SB X-Fi driver merge The Sound Blaster X-Fi driver supports Creative solutions based on 20K1 and 20K2 chipsets. Supported hardware : Creative Sound Blaster X-Fi Titanium Fatal1ty® Champion Series Creative Sound Blaster X-Fi Titanium Fatal1ty Professional Series Creative Sound Blaster X-Fi Titanium Professional Audio Creative Sound Blaster X-Fi Titanium Creative Sound Blaster X-Fi Elite Pro Creative Sound Blaster X-Fi Platinum Creative Sound Blaster X-Fi Fatal1ty Creative Sound Blaster X-Fi XtremeGamer Creative Sound Blaster X-Fi XtremeMusic Current release features: * ALSA PCM Playback * ALSA Record * ALSA Mixer Note: * External I/O modules detection not included. Signed-off-by: Wai Yew CHAY Singed-off-by: Ryan RICHARDS Signed-off-by: Takashi Iwai commit 5b891a9332dc4212bf166a4506092fbcd60f2319 Author: Jack Stone Date: Wed May 13 16:53:39 2009 -0700 infiniband: Remove void casts Remove uneeded casts of void *. Signed-off-by: Jack Stone Signed-off-by: Roland Dreier commit bde2cfaf8ff5511b4f434078554f89ff6cb677f2 Author: Stefan Roscher Date: Wed May 13 16:52:43 2009 -0700 IB/ehca: Increment version number Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 1988d1fa1a9d642c5714a6afc9775fba0627f3ed Author: Stefan Roscher Date: Wed May 13 16:52:43 2009 -0700 IB/ehca: Remove unnecessary memory operations for userspace queue pairs The queue map for flush completion circumvention is only used for kernel space queue pairs. This patch skips the allocation of the queue maps in case the QP is created for userspace. In addition, this patch does not iomap the galpas for kernel usage if the queue pair is only used in userspace. These changes will improve the performance of creation of userspace queue pairs. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit c94f156f63c835ffc02b686f9d4238b106f31a5d Author: Stefan Roscher Date: Wed May 13 16:52:42 2009 -0700 IB/ehca: Fall back to vmalloc() for big allocations In case of large queue pairs there is the possibillity of allocation failures due to memory fragmentation when using kmalloc(). To ensure the memory is allocated even if kmalloc() can not find chunks which are big enough, we fall back to allocating the memory with vmalloc(). Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit bf31a1a02eb28d9bda0bb74345df7889faeb7335 Author: Anton Blanchard Date: Wed May 13 16:52:40 2009 -0700 IB/ehca: Replace vmalloc() with kmalloc() for queue allocation To improve performance of driver resource allocation, replace vmalloc() calls with kmalloc(). Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit b103387037cea2ba0f04b44d408d54c53f678061 Author: Eric Paris Date: Wed May 13 12:50:40 2009 -0400 TPM: get_event_name stack corruption get_event_name uses sprintf to fill a buffer declared on the stack. It fills the buffer 2 bytes at a time. What the code doesn't take into account is that sprintf(buf, "%02x", data) actually writes 3 bytes. 2 bytes for the data and then it nul terminates the string. Since we declare buf to be 40 characters long and then we write 40 bytes of data into buf sprintf is going to write 41 characters. The fix is to leave room in buf for the nul terminator. Signed-off-by: Eric Paris Signed-off-by: James Morris commit dd4dc82d4c129babca9b48b219cff0add5ff4132 Author: Randy Dunlap Date: Tue May 12 13:28:09 2009 -0700 lockd: fix FILE_LOCKING=n build error lockd/svclock.c is missing a header file . is missing a definition of locks_release_private() for the config case of FILE_LOCKING=n, causing a build error: fs/lockd/svclock.c:330: error: implicit declaration of function 'locks_release_private' lockd without FILE_LOCKING doesn't make sense, so make LOCKD and LOCKD_V4 depend on FILE_LOCKING, and make NFS depend on FILE_LOCKING. Signed-off-by: Randy Dunlap Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit d3707d9918d47c0997a6b1e4ae24e7ab55e43796 Author: Johannes Berg Date: Tue May 12 22:05:40 2009 +0200 mac80211: make noack test available There's this internal wifi_wme_noack_test variable that we use to set the QoS control if set. For one, it is unlikely that it is set. Secondly, if set it needs to influence the IEEE80211_TX_CTL_NO_ACK TX control flag, and finally we should also be able to set it at all, so make it available in debugfs. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b59066a291ca7c12a1e5b58f3ada5ab6e32cb6bd Author: Johannes Berg Date: Tue May 12 21:18:38 2009 +0200 mac80211: IBSS supported rate fixes Currently mac80211 announces a rate set with no basic rates, this fixes it to use 1/2 or 6/9 Mbit as basic rates by default. Additionally, mac80211 will currently adopt the peer's entire rate set, rather than just the basic rate set; fix that too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0d61887c2ee19bb63f6a8c0e2c149184e879501 Author: Johannes Berg Date: Tue May 12 20:47:32 2009 +0200 mac80211: don't connect to IBSS network with different privacy Even when we find an IBSS with the SSID we're looking for, we may not be able to connect to it because it has a key and we don't, or vice versa. Avoid such situations by checking the privacy capability bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0502de6fe85b66ee51647eb75bc5af3c885d712 Author: Johannes Berg Date: Tue May 12 20:11:26 2009 +0200 mac80211: split out and decrease probe wait time The time we wait for a probe response after probing an AP due to beacon loss is currently the same as the monitoring interval, 2s. This is far too long, APs should respond to probes within a fraction of that time. To be able to adjust both values, add a new constant IEEE80211_PROBE_WAIT, use it for checking the probe response, and adjust it down to 200ms instead of 2 seconds. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 34bfc411f63c8b0efb328b7574fc97bc1714cb29 Author: Johannes Berg Date: Tue May 12 19:58:12 2009 +0200 mac80211: respond to beacon loss report only once The driver might keep reporting beacon loss until we disassociate -- catch that and don't respond to any subsequent events until the probe is either successful or we disassociate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7eef3563cb3f05e7f0db992716c514af6f4d089 Author: Johannes Berg Date: Tue May 12 08:36:43 2009 +0200 wext: remove seq_start/stop sparse annotations Even though they are true, they cause sparse to complain because it doesn't see the __acquires(dev_base_lock) on dev_seq_start() because it is only added to the function in net/core/dev.c, not the header file. To keep track of the nesting correctly we should probably annotate those functions publically, but for now let's just remove the annotation I added to wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit faa8fdc85347cc76d87b43ea718785661c54f656 Author: Jouni Malinen Date: Mon May 11 21:57:58 2009 +0300 nl80211: Add RSC configuration for new keys When setting a key with NL80211_CMD_NEW_KEY, we should allow the key sequence number (RSC) to be set in order to allow replay protection to work correctly for group keys. This patch documents this use for nl80211 and adds the couple of missing pieces in nl80211/cfg80211 and mac80211 to support this. In addition, WEXT SIOCSIWENCODEEXT compat processing in cfg80211 is extended to handle the RSC (this was already specified in WEXT, but just not implemented in cfg80211/mac80211). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 3f77316c6b99f596bfbf72c0542f47f7230b702e Author: Jouni Malinen Date: Mon May 11 21:57:57 2009 +0300 nl80211: Add IEEE 802.1X PAE control for station mode Add a new NL80211_ATTR_CONTROL_PORT flag for NL80211_CMD_ASSOCIATE to allow user space to indicate that it will control the IEEE 802.1X port in station mode. Previously, mac80211 was always marking the port authorized in station mode. This was enough when drop_unencrypted flag was set. However, drop_unencrypted can currently be controlled only with WEXT and the current nl80211 design does not allow fully secure configuration. Fix this by providing a mechanism for user space to control the IEEE 802.1X port in station mode (i.e., do the same that we are already doing in AP mode). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit eccb8e8f0c3af47aeb6dbe4012eb8d4fc888767a Author: Johannes Berg Date: Mon May 11 21:57:56 2009 +0300 nl80211: improve station flags handling It is currently not possible to modify station flags, but that capability would be very useful. This patch introduces a new nl80211 attribute that contains a set/mask for station flags, and updates the internal API (and mac80211) to mirror that. The new attribute is parsed before falling back to the old so that userspace can specify both (if it can) to work on all kernels. Signed-off-by: Johannes Berg Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0e46724a48fcc3bac1fecea413d20af64a75844f Author: Jouni Malinen Date: Mon May 11 21:57:55 2009 +0300 nl80211: Validate MFP flag type when parsing STA flags NL80211_STA_FLAG_MFP was forgotten from sta_flags_policy. The previous version added the flag due to the loop used in parse_station_flags, but the proper behavior would be to allow nla_parse_nested() to go through the policy for all flags. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 08645126dd24872c2e27014f93968f7312e29176 Author: Johannes Berg Date: Mon May 11 13:54:58 2009 +0200 cfg80211: implement wext key handling Move key handling wireless extension ioctls from mac80211 to cfg80211 so that all drivers that implement the cfg80211 operations get wext compatibility. Note that this drops the SIOCGIWENCODE ioctl support for getting IW_ENCODE_RESTRICTED/IW_ENCODE_OPEN. This means that iwconfig will no longer report "Security mode:open" or "Security mode:restricted" for mac80211. However, what we displayed there (the authentication algo used) was actually wrong -- linux/wireless.h states that this setting is meant to differentiate between "Refuse non-encoded packets" and "Accept non-encoded packets". (Combined with "cfg80211: fix a couple of bugs with key ioctls". -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bb74a6e5c5535ddd977aa161c72bef738e566daa Author: Mark Brown Date: Wed May 13 17:23:54 2009 +0100 ASoC: Point at kernel.org git The Wolfson git is not currently tracking bleeding edge ASoC so change to my kernel.org git which is doing so. Signed-off-by: Mark Brown commit 8c10dc4f54d315ce801dc9ef4018aab8d0d75a7b Author: Karl Beldan Date: Mon May 11 23:49:41 2009 +0200 ASoC: pxa2xx-i2s: Proper initialization Reset FIFO logic and registers, and make sure REC and RPL functions along with FIFO service are disabled at probe. Signed-off-by: Karl Beldan Signed-off-by: Mark Brown commit 334034c132017fa662716b70591b2297ed7f238c Author: Thomas Gleixner Date: Tue May 12 13:37:11 2009 -0700 avr32: remove obsolete hw_interrupt_type The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. After more than two years it's time to remove them finally. This patch cleans up one of the remaining users. When all such patches hit mainline we can remove the defines and typedefs finally. Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Haavard Skinnemoen commit eea08f32adb3f97553d49a4f79a119833036000a Author: Arun R Bharadwaj Date: Thu Apr 16 12:16:41 2009 +0530 timers: Logic to move non pinned timers * Arun R Bharadwaj [2009-04-16 12:11:36]: This patch migrates all non pinned timers and hrtimers to the current idle load balancer, from all the idle CPUs. Timers firing on busy CPUs are not migrated. While migrating hrtimers, care should be taken to check if migrating a hrtimer would result in a latency or not. So we compare the expiry of the hrtimer with the next timer interrupt on the target cpu and migrate the hrtimer only if it expires *after* the next interrupt on the target cpu. So, added a clockevents_get_next_event() helper function to return the next_event on the target cpu's clock_event_device. [ tglx: cleanups and simplifications ] Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit cd1bb94b4a0531e8211a3774f17de831f8285f76 Author: Arun R Bharadwaj Date: Thu Apr 16 12:15:34 2009 +0530 timers: /proc/sys sysctl hook to enable timer migration * Arun R Bharadwaj [2009-04-16 12:11:36]: This patch creates the /proc/sys sysctl interface at /proc/sys/kernel/timer_migration Timer migration is enabled by default. To disable timer migration, when CONFIG_SCHED_DEBUG = y, echo 0 > /proc/sys/kernel/timer_migration Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit 5c333864a6ba811052d52ef14fbed056b9ac3512 Author: Arun R Bharadwaj Date: Thu Apr 16 12:14:37 2009 +0530 timers: Identifying the existing pinned timers * Arun R Bharadwaj [2009-04-16 12:11:36]: The following pinned hrtimers have been identified and marked: 1)sched_rt_period_timer 2)tick_sched_timer 3)stack_trace_timer_fn [ tglx: fixup the hrtimer pinned mode ] Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit 597d0275736dad9c3bda6f0a00a1c477dc0f37b1 Author: Arun R Bharadwaj Date: Thu Apr 16 12:13:26 2009 +0530 timers: Framework for identifying pinned timers * Arun R Bharadwaj [2009-04-16 12:11:36]: This patch creates a new framework for identifying cpu-pinned timers and hrtimers. This framework is needed because pinned timers are expected to fire on the same CPU on which they are queued. So it is essential to identify these and not migrate them, in case there are any. For regular timers, the currently existing add_timer_on() can be used queue pinned timers and subsequently mod_timer_pinned() can be used to modify the 'expires' field. For hrtimers, new modes HRTIMER_ABS_PINNED and HRTIMER_REL_PINNED are added to queue cpu-pinned hrtimer. [ tglx: use .._PINNED mode argument instead of creating tons of new functions ] Signed-off-by: Arun R Bharadwaj Signed-off-by: Thomas Gleixner commit 9582d41135c0d362f04ed6bf3dc8d693a7eafee2 Author: Steven Whitehouse Date: Wed May 13 15:06:25 2009 +0100 GFS2: Remove a couple of unused sysfs entries These two tunables are pointless and would never need to be changed anyway. There is also a race between them and umount as the deamons which they refer to might have gone away. The easiest way to fix the race is to remove the interface. Signed-off-by: Steven Whitehouse commit 48c2b613616235d7c97fda5982f50100a6c79166 Author: Steven Whitehouse Date: Wed May 13 14:49:48 2009 +0100 GFS2: Add commit= mount option It has always been possible to adjust the gfs2 log commit interval, but only from the sysfs interface. This adds a mount option, commit=, which will be familar to ext3 users. The sysfs interface continues to be available as well, although this might be removed in the future. Also this patch cleans up some duplicated structures in the GFS2 sysfs code. Signed-off-by: Steven Whitehouse commit cedcf3366f2191885aff92d33d6078ef08203e52 Author: Paul Mundt Date: Wed May 13 21:51:28 2009 +0900 sh: clkfwk: Map tree hierarchy in debugfs. This adopts the OMAP clock framework debugfs bits and replaces the aging procfs bits. The procfs clocks entry was primarily a debugging aid, and used to be tied in to cpuinfo before the clock list grew too unweildly. Signed-off-by: Paul Mundt commit cc96eace48fdf0f8925a74c6c1f7ffa512e458d2 Author: Paul Mundt Date: Wed May 13 20:28:15 2009 +0900 sh: clkfwk: rate table construction and rounding for SH7785. This adds support for constructing a rate table by looking at potential divisors for a specified clock. Each FQRMR clock is given its own table. Presently each table is rebuilt when the parent propagates down a new rate, so some more logic needs to be added to do this more intelligently. Additionally, a fairly generic round_rate() implementation is then layered on top of it, which subsequently provides us with cpufreq support. Signed-off-by: Paul Mundt commit a1c0643ff9f360a30644f6e3cd643ca2a5083aea Author: Steven Whitehouse Date: Wed May 13 10:56:52 2009 +0100 GFS2: Move journal live test at transaction start There seems little point grabbing the transaction glock only to have to release it again if the journal isn't live. This moves the test earlier to avoid grabbing the lock when we don't need it in the first place. Signed-off-by: Steven Whitehouse commit ca2dcd40f54c8928b3994712a6cadd2078a087fa Author: Bastien Nocera Date: Mon May 11 17:18:12 2009 +0200 HID: Wacom Graphire Bluetooth driver Based on the work by Andrew Zabolotny, an HID driver for the Bluetooth Wacom tablet. This is required as it uses a slightly different protocols from what's currently support by the drivers/input/wacom* driver, and those only support USB. A user-space patch is required to activate mode 2 of the Wacom tablet, as hidp does not support hid_output_raw_report. Signed-off-by: Bastien Nocera Signed-off-by: Jiri Kosina commit 92e0d896ce3087112602449efd87c6d7f4eae8d0 Author: Sergey Belyashov Date: Mon May 4 13:01:02 2009 +0400 HID: autocentering support for Logitech G25 Racing Wheel Some months ago I send patch which adds autocentering for Logitech MOMO Wheel. Now I have access to Logitech G25 Racing Wheel and test autocentering for it. I write patch for current kernel to support autocentering for G25 in legacy mode (this device supports other modes, but after switching device reconnects with ID 0xc299 and FF support comes out) and others Logitech (Driving Force, Formula Force Ex etc) wheels with ID 046d:c294. Signed-off-by: Sergey Belyashov Signed-off-by: Jiri Kosina commit 22b530e0287724f00dde9a15a94d408c3334e86c Author: Takashi Iwai Date: Wed May 13 11:32:52 2009 +0200 ALSA: hda - Disable fallback to model=acer for Acer laptops The model=acer for ALC883/889 doesn't work well for the recent Acer Aspire laptops. Since model=auto works better nowadays, it's safer to use the default fallback instead of the Acer specific one. Signed-off-by: Takashi Iwai commit a77b5ac0ea8e47c77008d3a9a9976dcfbc01c42a Author: Paul Mundt Date: Wed May 13 17:55:00 2009 +0900 sh: clkfwk: Update SH7785 for refactored clock framework. This updates the SH7785 CPU code as well as the SH7785LCR board support code for making use of the newly refactored clock framework. Support for the legacy CPG clocks is dropped at this point, with the extal frequency fed in from the board code. Signed-off-by: Paul Mundt commit 253b0887b3736160feac9ccdcf146a2073e41463 Author: Paul Mundt Date: Wed May 13 17:38:11 2009 +0900 sh: clkfwk: Rework legacy CPG clock handling. This moves out the old legacy CPG clocks to their own file, and converts over the existing users. With these clocks going away and each CPU dealing with them on their own, CPUs can gradually move over to the new interface. Signed-off-by: Paul Mundt commit 100890c55e326a9acb4429593c5ad2012c194564 Author: Paul Mundt Date: Wed May 13 17:05:51 2009 +0900 sh: clkfwk: Provide a generic clk_set_rate_ex() path for root clocks. In the case of root clocks (such as clkin oscillators, extal, etc.), the rate information is entirely platform dependent and needs to be lazily set and propagated from the platform code. This provides a method for establishing the rate update on these types of clocks that define no set_rate() op of their own. Signed-off-by: Paul Mundt commit d672fef02738582bdeae6e77176e141eeb9169bc Author: Paul Mundt Date: Wed May 13 17:03:09 2009 +0900 sh: clkfwk: Handle NULL clkops for root clocks. root clocks may simply be placeholders for rate and ancestry information, and have no real associated operations of their own. Account for this, so we are still able to use these sorts of clocks for rate propagation. Signed-off-by: Paul Mundt commit af777ce42d3d51cdef353ce296d6f99dc503feef Author: Paul Mundt Date: Wed May 13 16:59:40 2009 +0900 sh: clkfwk: module_clk -> peripheral_clk rename. For consistenct naming, and to allow us to fix up some confusion in the SH-Mobile clock framework, amongst other places. Signed-off-by: Paul Mundt commit c8a4fb472c5101ec52f94b1e1277b8fde4b823cf Author: Guennadi Liakhovetski Date: Tue May 12 21:41:03 2009 +0200 FB: fix unsafe use of disable_irq() in mx3fb.c mx3fb.c calls disable_irq() from a DMA callback, i.e., in an IRQ-handler context, which has always been unsafe, and became deadly after the merge of threaded interrupt handler support. Use disable_irq_nosync() instead. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 4f23122858a27ba97444b9b37a066d83edebd4c8 Author: Jens Axboe Date: Wed May 13 08:35:35 2009 +0200 splice: fix repeated kmap()'s in default_file_splice_read() We cannot reliably map more than one page at the time, or we risk deadlocking. Just allocate the pages from low mem instead. Reported-by: Andrew Morton Signed-off-by: Jens Axboe commit 5bb9efe33ea4001a17ab98186a40a134a3061d67 Author: Peter Zijlstra Date: Wed May 13 08:12:51 2009 +0200 perf_counter: fix print debug irq disable inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. bash/15802 [HC0[0]:SC0[0]:HE1:SE1] takes: (sysrq_key_table_lock){?.....}, Don't unconditionally enable interrupts in the perf_counter_print_debug() path. [ Impact: fix potential deadlock pointed out by lockdep ] LKML-Reference: Reported-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 7971687094ef48695aa56a0c03416b609bd4d1fd Author: Paul Walmsley Date: Tue May 12 17:50:30 2009 -0600 OMAP2xxx clock: rename clk_init_one() to clk_preinit() Rename clk_init_one() to clk_preinit() to distinguish its function from clk_init() and the individual struct clk init functions. Signed-off-by: Paul Walmsley commit 0db4e8259792202060b962ad1a8715f030268c8b Author: Artem Bityutskiy Date: Tue May 12 17:34:40 2009 -0600 OMAP3 clock: lessen amount of noisy messages On our system we see the following messages: Disabling unused clock "gpt2_ick" Disabling unused clock "gpt3_ick" Disabling unused clock "gpt4_ick" Disabling unused clock "gpt5_ick" ... The messages have KERN_INFO level and if you have serial console, they normally go there. I do not think it is good idea to print that much stuff there. Moreover, messages are not properly prefixed and for mortals it is not immeadietly clear where they come from. Let's give them debugging level instead. Signed-off-by: Artem Bityutskiy Signed-off-by: Paul Walmsley [paul@pwsan.com: trimmed debugging output in patch description] commit b7aee4bfa7cad909220491214037731c1edb510a Author: Paul Walmsley Date: Tue May 12 17:27:10 2009 -0600 OMAP3 clock: use pr_debug() rather than pr_info() in some clock change code The CORE DPLL M2 frequency change code should use pr_debug(), not pr_info(), for its debug messages. Same with omap2_clksel_round_rate_div(). While here, convert a few printk(KERN_ERR .. into pr_err(). Signed-off-by: Paul Walmsley commit 4519c2bf433b97d091635eb51e4ba8ffa1c84d62 Author: Paul Walmsley Date: Tue May 12 17:26:32 2009 -0600 OMAP3 clock: only unlock SDRC DLL if SDRC clk < 83MHz According to the 34xx TRM Rev. K section 11.2.4.4.11.1 "Purpose of the DLL/CDL Module," the SDRC delay-locked-loop can be locked at any SDRC clock frequency from 83MHz to 166MHz. CDP code unconditionally unlocked the DLL whenever shifting to a lower SDRC speed, but this seems unnecessary and error-prone, as the DLL is no longer able to compensate for process, voltage, and temperature variations. Instead, only unlock the DLL when the SDRC clock rate would be less than 83MHz. Signed-off-by: Paul Walmsley commit b2abb271a5705bc80478e79d95fc9f3babc2605c Author: Paul Walmsley Date: Tue May 12 17:27:10 2009 -0600 OMAP3 SRAM: renumber registers to make space for argument passing Renumber registers in omap3_sram_configure_core_dpll() assembly code to make space for additional parameters. Signed-off-by: Paul Walmsley commit 98cfe5abf24c6d2f06b70fa8a8a111681bed3ed9 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SDRC: initialize SDRC_POWER at boot Initialize SDRC_POWER to a known-good setting when the kernel boots. Necessary since some bootloaders don't initialize SDRC_POWER properly. Signed-off-by: Paul Walmsley commit fa0406a8d8c3a4a302085ccd031d999161405f70 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SRAM: clear the SDRC PWRENA bit during SDRC frequency change Clear the SDRC_POWER.PWRENA bit before putting the SDRAM into self-refresh mode. This prevents the SDRC from attempting to power off the SDRAM, which can cause the system to hang. Signed-off-by: Paul Walmsley commit d75d9e73cd59127a4d926a2bf5e9cdcc90f033d6 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 clock: add interconnect barriers to CORE DPLL M2 change Where necessary, add interconnect barriers to force posted writes to complete before continuing. Signed-off-by: Paul Walmsley commit 69d4255b139274f71faca28bc93bb49da8eb1a91 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SRAM: add ARM barriers to omap3_sram_configure_core_dpll Add more barriers in the SRAM CORE DPLL M2 divider change code. - Add a DSB SY after the function's entry point to flush all cached and buffered writes and wait for the interconnect to claim that they have completed[1]. The idea here is to force all delayed write traffic going to the SDRAM to at least post to the L3 interconnect before continuing. If these writes are allowed to occur after the SDRC is idled, the writes will not be acknowledged and the ARM will stall. Note that in this case, it does not matter if the writes actually complete to the SDRAM - it is only necessary for the writes to leave the ARM itself. If the writes are posted by the interconnect when the SDRC goes into idle, the writes will be delayed until the SDRC returns from idle[2]. If the SDRC is in the middle of a write when it is requested to enter idle, the SDRC will not acknowledge the idle request until the writes complete to the SDRAM.[3] The old-style DMB in sdram_in_selfrefresh is now superfluous, so, remove it. - Add an ISB before the function's exit point to prevent the ARM from speculatively executing into SDRAM before the SDRAM is enabled[4]. ... 1. ARMv7 ARM (DDI 0406A) A3-47, A3-48. 2. Private communication with Richard Woodruff . 3. Private communication with Richard Woodruff . 4. ARMv7 ARM (DDI 0406A) A3-48. Signed-off-by: Paul Walmsley Cc: Richard Woodruff commit d9295746c0ed3991bdec18c6a5890d71d88904b4 Author: Paul Walmsley Date: Tue May 12 17:27:09 2009 -0600 OMAP3 SRAM: mark OCM RAM as Non-cacheable Normal memory Mark the SRAM (aka OCM RAM) as Non-cacheable Normal memory[1]. This is to prevent the ARM from evicting existing cache lines to SDRAM while code is executing from the SRAM. Necessary since one of the primary uses for the SRAM is to hold the code and data for the CORE DPLL M2 divider reprogramming code, which must execute while the SDRC is idled. If the ARM attempts to write cache lines back to the while the SRAM code is running, the ARM will stall[2]. TI deals with this problem in the CDP kernel by marking the SRAM as Strongly-ordered memory. Tero Kristo caught a bug in an earlier version of this patch - thanks Tero. ... 1. ARMv7 ARM (DDI 0406A) pp. A3-30, A3-31, B3-32. 2. Private communication with Richard Woodruff Signed-off-by: Paul Walmsley Cc: Tero Kristo Cc: Richard Woodruff commit 39a2eddb9b62959dc55c6978b5eaeb3dd57c5ff2 Author: Steven Rostedt Date: Tue May 12 14:35:54 2009 -0400 genirq: fix comment to say IRQ_WAKE_THREAD Trying to implement a driver to use threaded irqs, I was confused when the return value to use that was described in the comment above request_threaded_irq was not defined. Turns out that the enum is IRQ_WAKE_THREAD where as the comment said IRQ_THREAD_WAKE. [Impact: do not confuse developers with wrong comments ] Signed-off-by: Steven Rostedt LKML-Reference: Signed-off-by: Thomas Gleixner commit c4f68236e41641494f9c8a418ccc0678c335bbb5 Author: H. Peter Anvin Date: Tue May 12 11:37:34 2009 -0700 x86-64: align __PHYSICAL_START, remove __KERNEL_ALIGN Handle the misconfiguration where CONFIG_PHYSICAL_START is incompatible with CONFIG_PHYSICAL_ALIGN. This is a configuration error, but one which arises easily since Kconfig doesn't have the smarts to express the true relationship between these two variables. Hence, align __PHYSICAL_START the same way we align LOAD_PHYSICAL_ADDR in . For non-relocatable kernels, this would cause the boot to fail. [ Impact: fix boot failures for non-relocatable kernels ] Reported-by: Ingo Molnar Signed-off-by: H. Peter Anvin commit 7ed42a28b269f8682eefae27f5c11187eb56e63b Author: H. Peter Anvin Date: Tue May 12 11:33:08 2009 -0700 x86, boot: correct sanity checks in boot/compressed/misc.c arch/x86/boot/compressed/misc.c contains several sanity checks on the output address. Correct constraints that are no longer correct: - the alignment test should be MIN_KERNEL_ALIGN on both 32 and 64 bits. - the 64 bit maximum address was set to 2^40, which was the limit of one specific x86-64 implementation. Change the test to 2^46, the current Linux limit, and at least try to test the end rather than the beginning. - for non-relocatable kernels, test against LOAD_PHYSICAL_ADDR on both 32 and 64 bits. [ Impact: fix potential boot failure due to invalid tests ] Signed-off-by: H. Peter Anvin commit a2dc52b5d1d8cc280b3e795abf1c80ac8c49f30c Author: Theodore Ts'o Date: Tue May 12 13:51:29 2009 -0400 ext4: Add BUG_ON debugging checks to noalloc_get_block_write() Enforce that noalloc_get_block_write() is only called to map one block at a time, and that it always is successful in finding a mapping for given an inode's logical block block number if it is called with create == 1. Signed-off-by: "Theodore Ts'o" commit b920c75502cb2c48654ef196d647c8eb81ab608a Author: Theodore Ts'o Date: Thu May 14 00:54:29 2009 -0400 ext4: Add documentation to the ext4_*get_block* functions This adds more documentation to various internal functions in fs/ext4/inode.c, most notably ext4_ind_get_blocks(), ext4_da_get_block_write(), ext4_da_get_block_prep(), ext4_normal_get_block_write(). In addition, the static function ext4_normal_get_block_write() has been renamed noalloc_get_block_write(), since it is used in many places far beyond ext4_normal_writepage(). Plenty of warnings have been added to the noalloc_get_block_write() function, since the way it is used is amazingly fragile. Signed-off-by: "Theodore Ts'o" commit c21770573319922e3f3fcb331cfaa290c49f1c81 Author: Theodore Ts'o Date: Thu May 14 00:58:52 2009 -0400 ext4: Define a new set of flags for ext4_get_blocks() The functions ext4_get_blocks(), ext4_ext_get_blocks(), and ext4_ind_get_blocks() used an ad-hoc set of integer variables used as boolean flags passed in as arguments. Use a single flags parameter and a setandard set of bitfield flags instead. This saves space on the call stack, and it also makes the code a bit more understandable. Signed-off-by: "Theodore Ts'o" commit 12b7ac176831df1aa58a787e67c3e5d698b30163 Author: Theodore Ts'o Date: Thu May 14 00:57:44 2009 -0400 ext4: Rename ext4_get_blocks_wrap() to be ext4_get_blocks() Another function rename for clarity's sake. The _wrap prefix simply confuses people, and didn't add much people trying to follow the code paths. Signed-off-by: "Theodore Ts'o" commit 7537d81aa7b7cd31b0caeac8091456e93d96fa8d Author: Abhijith Das Date: Tue May 12 11:16:20 2009 -0500 GFS2: Fix timestamps on write This patch copies the timestamps from the vfs inode into gfs2 and syncs it to the disk inode during writes. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit b5710ce92a8cf8e3fc0ffc230cfdbfa23463f1c8 Author: Cyrill Gorcunov Date: Tue May 12 18:51:28 2009 +0400 x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector(), fix Fix trivial typo in the drivers/pci/hotplug/ibmphp_core.c changes. [ Impact: build fix ] Signed-off-by: Cyrill Gorcunov CC: Yinghai Lu Cc: eswierk@aristanetworks.com LKML-Reference: <20090512145128.GA10220@lenovo> Signed-off-by: Ingo Molnar commit e758a33d6fc5b9d6a3ae489863d04fcecad8120b Author: Paul Mackerras Date: Tue May 12 21:59:01 2009 +1000 perf_counter: call hw_perf_save_disable/restore around group_sched_in I noticed that when enabling a group via the PERF_COUNTER_IOC_ENABLE ioctl on the group leader, the counters weren't enabled and counting immediately on return from the ioctl, but did start counting a little while later (presumably after a context switch). The reason was that __perf_counter_enable calls group_sched_in which calls hw_perf_group_sched_in, which on powerpc assumes that the caller has called hw_perf_save_disable already. Until commit 46d686c6 ("perf_counter: put whole group on when enabling group leader") it was true that all callers of group_sched_in had called hw_perf_save_disable first, and the powerpc hw_perf_group_sched_in relies on that (there isn't an x86 version). This fixes the problem by putting calls to hw_perf_save_disable / hw_perf_restore around the calls to group_sched_in and counter_sched_in in __perf_counter_enable. Having the calls to hw_perf_save_disable/restore around the counter_sched_in call is harmless and makes this call consistent with the other call sites of counter_sched_in, which have all called hw_perf_save_disable first. [ Impact: more precise counter group disable/enable functionality ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18953.25733.53359.147452@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit fd5b12458b25a88eb6f6b56464846d98a45e8928 Merge: 9fe5ee0 8be5f1a Author: Paul Mundt Date: Tue May 12 19:54:36 2009 +0900 Merge branch 'master' into sh/clkfwk commit 8be5f1a68f2c14082939dd54e7037dcee2eb54f8 Author: Paul Mundt Date: Tue May 12 19:53:55 2009 +0900 sh: Kill off the remnants of the old timer code. Now with all of the TMU users moved over to the new TMU driver, and the old TMU driver killed off, the left-over infrastructure can go along with it. Signed-off-by: Paul Mundt commit f19900b2e608b604777a74d6d711bbf744657756 Author: Magnus Damm Date: Tue May 12 10:25:54 2009 +0000 sh: remove old TMU driver This patch removes the old TMU driver (CONFIG_SH_TMU/timer-tmu.c) As replacement, select the sh_tmu driver with CONFIG_SH_TIMER_TMU and configure timer channel using platform data. If multiple TMU channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_tmu.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2b23a8826a60268ec52302729911dd7ac6b10776 Author: Magnus Damm Date: Tue May 12 10:21:11 2009 +0000 sh: CMT platform data for sh7720/sh7721 This patch adds CMT platform data for sh7720 and sh7721. All 5 32-bit CMT channels unfortunately share a single IRQ. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a1a5a2f60ceabc026ba28cdbf81d7d47603b480 Author: Magnus Damm Date: Tue May 12 10:17:52 2009 +0000 sh: TMU platform data for sh7720/sh7721 This patch adds TMU platform data for sh7720 and sh7721. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e5ad00896a381937326ac55fc173630fe731d041 Author: Magnus Damm Date: Tue May 12 10:15:30 2009 +0000 sh: TMU platform data for sh7710/sh7712 This patch adds TMU platform data for sh7710 and sh7712. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c8a9011bce6c43f4988cbcf1db8fc31433e69964 Author: Magnus Damm Date: Tue May 12 10:04:49 2009 +0000 sh: TMU platform data for sh7706/sh7707/sh7708/sh7709 Add TMU platform data for sh7706/sh7707/sh7708/sh7709. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit acd664ab54a449a7257dcb3c7ef9cd1e310b4c4f Author: Magnus Damm Date: Tue May 12 10:01:01 2009 +0000 sh: TMU platform data for sh7705 This patch adds TMU platform data for sh7705. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6a3501b63d30643120566cc1efba5acd0e64b12d Author: Magnus Damm Date: Tue May 12 09:50:46 2009 +0000 sh: TMU platform data for sh7724 This patch adds TMU platform data for sh7724. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f2710ebcd0a0404ccca3bbad68fd3639fe87ba6f Author: Magnus Damm Date: Tue May 12 09:48:21 2009 +0000 sh: TMU platform data for sh7366 This patch adds TMU platform data for sh7366. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e37677a429a67cb45004b060ea3376e500bc73c4 Author: Magnus Damm Date: Tue May 12 09:39:06 2009 +0000 sh: TMU platform data for sh7343 This patch adds TMU platform data for sh7343. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 67d889bd828a3cbf36ef27bd4a5c5f7ec76e20b9 Author: Magnus Damm Date: Tue May 12 09:34:26 2009 +0000 sh: add sh4-202 INTC tables This patch adds INTC tables for sh4-202 with support for HUDI, TMU0, TMU1, TMU2, RTC, SCIF and WDT. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5f8a29ba39d52b2eaaed907b3cb3016b949a8f9b Author: Magnus Damm Date: Tue May 12 09:28:25 2009 +0000 sh: TMU platform data for sh4-202 This patch adds TMU platform data for sh4-202. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f251935e02e89aa203e0729bfd727175018cec6f Author: Magnus Damm Date: Tue May 12 09:20:08 2009 +0000 sh: TMU platform data for sh7770 This patch adds TMU platform data for sh7770. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5d8728a71f416fd38a0945271c71cb2933fc5734 Author: Magnus Damm Date: Tue May 12 09:18:13 2009 +0000 sh: add sh7770_generic_defconfig This patch adds a generic sh7770 defconfig file. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ee8b4d7c7d39d9a9913e27686ef786642c3ccbb Author: Magnus Damm Date: Tue May 12 09:13:59 2009 +0000 sh: TMU platform data for sh7763 This patch adds TMU platform data for sh7763. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit dd4a416442a2fb4bd761163277d37ab6ce75ee4e Merge: ddc4097 13e2c86 Author: Takashi Iwai Date: Tue May 12 12:32:07 2009 +0200 Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit 9fe5ee0efb1b1d4a0939bc4252a8427e3337d96a Author: Paul Mundt Date: Tue May 12 19:29:04 2009 +0900 sh: clkfwk: Use arch_clk_init() for on-chip clock registration. CPUs registering on-chip clocks should be using arch_clk_init() with the new scheme so that the CPUs have the opportunity to establish the topology prior to the initial root clock rate propagation. This ensures that CPUs with on-chip clocks that use CLK_ENABLE_ON_INIT are properly enabled at the initial propagation time, without having to further poke the root clocks. Signed-off-by: Paul Mundt commit 4797f6b021a3fa399942245d07a1feb30df81bb8 Author: Yinghai Lu Date: Sat May 2 10:40:57 2009 -0700 x86: read apic ID in the !acpi_lapic case Ed found that on 32-bit, boot_cpu_physical_apicid is not read right, when the mptable is broken. Interestingly, actually three paths use/set it: 1. acpi: at that time that is already read from reg 2. mptable: only read from mptable 3. no madt, and no mptable, that use default apic id 0 for 64-bit, -1 for 32-bit so we could read the apic id for the 2/3 path. We trust the hardware register more than we trust a BIOS data structure (the mptable). We can also avoid the double set_fixmap() when acpi_lapic is used, and also need to move cpu_has_apic earlier and call apic_disable(). Also when need to update the apic id, we'd better read and set the apic version as well - so that quirks are applied precisely. v2: make path 3 with 64bit, use -1 as apic id, so could read it later. v3: fix whitespace problem pointed out by Ed Swierk v5: fix boot crash [ Impact: get correct apic id for bsp other than acpi path ] Reported-by: Ed Swierk Signed-off-by: Yinghai Lu Acked-by: Cyrill Gorcunov LKML-Reference: <49FC85A9.2070702@kernel.org> [ v4: sanity-check in the ACPI case too ] Signed-off-by: Ingo Molnar commit 6cda3eb62ef42aa5acd649bf99c8db544e0f4051 Merge: b9c61b70 cec6be6 Author: Ingo Molnar Date: Tue May 12 12:17:30 2009 +0200 Merge branch 'x86/apic' into irq/numa Merge reason: both topics modify the APIC code but were able to do it in parallel so far. An upcoming patch generates a conflict so merge them to avoid the conflict. Signed-off-by: Ingo Molnar commit ddc4097b77bbb227851a44287acb2fb8a9896cc1 Merge: bec4c99 ae31c1f Author: Takashi Iwai Date: Tue May 12 11:57:09 2009 +0200 Merge branch 'topic/drvdata-fix' into topic/asoc commit 511b4c171a8054506e8898c40833e31270689b8b Author: Takashi Iwai Date: Tue May 12 11:51:46 2009 +0200 ALSA: hdsp - Add a comment about external firmwares for hdsp When the hdsp driver is built in kernel, the corresponding firmware files have to be built into the kernel as well (otherwise the boot will hang up for fairly long time), but there is no way to control it in Kconfig yet, unfortunately. Instead, show a comment for user just to make sure. Signed-off-by: Takashi Iwai commit 13e2c86c20f5d07b20d5a6dee24bcdd2b30b859f Merge: 97b8096 1ffafeb Author: Mark Brown Date: Tue May 12 10:53:33 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 97b8096dc92ae62b1d40e6bec7e7b257d2b30161 Author: Joonyoung Shim Date: Mon May 11 20:36:08 2009 +0900 ASoC: TWL4030: change DAPM for analog microphone selection The inputs of the twl4030 codec can be mixed, so we will use the mixer DAPM for the analog microphone registers(0x05, 0x06), but if we enable more than one input at the same time, the input impedance of the input amplifier will be reduced. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 7de0a0aee5cf24639c14b17ab4077f5dba0d7cb9 Author: Mark Brown Date: Mon May 11 20:05:57 2009 +0100 ASoC: Enforce symmetric rates for PXA2xx I2S There is a single I2S_SYNC pin on the chip. Signed-off-by: Mark Brown commit eaaa5328835d8085d24221a0e5ceaacbe14a7523 Author: Mike Rapoport Date: Mon May 11 15:05:29 2009 +0300 ASoC: em-x270: make the driver support also eXeda and CM-X300 machines Signed-off-by: Mike Rapoport Signed-off-by: Mark Brown commit 8e365f9b6e583e82dff96ff415ff9cc2106f5b3c Author: Raphael Doursenaud Date: Tue May 12 11:49:39 2009 +0200 ALSA: hdsp: allow firmware loading from inside the kernel Allow the use of the FIRMWARE_IN_KERNEL option with hdsp cards and in-kernel driver. Also corrected a typo in the comment. Signed-off-by: Raphael Doursenaud Signed-off-by: Takashi Iwai commit ed077b58f6146684069975122b1728a9d248a501 Author: Shaohua Li Date: Tue May 12 16:40:00 2009 +0800 x86: make sparse mem work in non-NUMA mode With sparse memory, holes should not be marked present for memmap. This patch makes sure sparsemem really works on SMP mode (!NUMA). [ Impact: use less memory to map fragmented RAM, avoid boot-OOM/crash ] Signed-off-by: Shaohua Li Signed-off-by: Sheng Yang LKML-Reference: <1242117600.22431.0.camel@sli10-desk.sh.intel.com> Signed-off-by: Ingo Molnar commit bf78ad69cd351798b9447a269c6bd41ce1f111f4 Author: Amerigo Wang Date: Mon May 11 23:29:09 2009 -0400 x86: process.c, remove useless headers is not needed by these files, remove them. [ Impact: cleanup ] Signed-off-by: WANG Cong Cc: akpm@linux-foundation.org LKML-Reference: <20090512032956.5040.77055.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 9d62dcdfa6f6fc843f7d9b494bcd48f00b94f883 Author: Amerigo Wang Date: Mon May 11 22:05:28 2009 -0400 x86: merge process.c a bit Merge arch_align_stack() and arch_randomize_brk(), since they are the same. Tested on x86_64. [ Impact: cleanup ] Signed-off-by: Amerigo Wang Signed-off-by: Ingo Molnar commit 2b1ccc0ee918a653d0483fdad9dd6112ce8e9043 Author: Jens Axboe Date: Tue May 12 11:11:48 2009 +0200 splice: fix misleading comment Splice is tied to pipes by design, it'll not change. And now that the splice stuff is in splice.h (and note pipe.h), the rest of the comment is out-of-date as well. Signed-off-by: Jens Axboe commit 871b72dd1e12afc3f024479531d25a9339d2e3f9 Author: Dmitry Adamushko Date: Mon May 11 23:48:27 2009 +0200 x86: microcode: use smp_call_function_single instead of set_cpus_allowed, cleanup of synchronization logic * Solve issues described in 6f66cbc63081fd70e3191b4dbb796746780e5ae1 in a way that doesn't resort to set_cpus_allowed(); * in fact, only collect_cpu_info and apply_microcode callbacks must run on a target cpu, others will do just fine on any other. smp_call_function_single() (as suggested by Ingo) is used to run these callbacks on a target cpu. * cleanup of synchronization logic of the 'microcode_core' part The generic 'microcode_core' part guarantees that only a single cpu (be it a full-fledged cpu, one of the cores or HT) is being updated at any particular moment of time. In general, there is no need for any additional sync. mechanism in arch-specific parts (the patch removes existing spinlocks). See also the "Synchronization" section in microcode_core.c. * return -EINVAL instead of -1 (which is translated into -EPERM) in microcode_write(), reload_cpu() and mc_sysdev_add(). Other suggestions for an error code? * use 'enum ucode_state' as return value of request_microcode_{fw, user} to gain more flexibility by distinguishing between real error cases and situations when an appropriate ucode was not found (which is not an error per-se). * some minor cleanups Thanks a lot to Hugh Dickins for review/suggestions/testing! Reference: http://marc.info/?l=linux-kernel&m=124025889012541&w=2 [ Impact: refactor and clean up microcode driver locking code ] Signed-off-by: Dmitry Adamushko Acked-by: Hugh Dickins Cc: Andrew Morton Cc: Rusty Russell Cc: Andreas Herrmann Cc: Peter Oruba Cc: Arjan van de Ven LKML-Reference: <1242078507.5560.9.camel@earth> [ did some more cleanups ] Signed-off-by: Ingo Molnar arch/x86/include/asm/microcode.h | 25 ++ arch/x86/kernel/microcode_amd.c | 58 ++---- arch/x86/kernel/microcode_core.c | 326 +++++++++++++++++++++----------------- arch/x86/kernel/microcode_intel.c | 92 +++------- 4 files changed, 261 insertions(+), 240 deletions(-) (~20 new comment lines) commit e13cf6e04ebc231653e03ebde4799dc55bf62849 Author: john stultz Date: Mon May 11 18:13:13 2009 -0700 ntp: fix comment typos Bernhard Schiffner noticed I had a few comment typos in this patch, (note: to save embarrassment, when making typos, avoid copying and pasting them) so this patch corrects them. [ Impact: cleanup ] Reported-by: Bernhard Schiffner Signed-off-by: John Stultz Cc: riel@redhat.com Cc: akpm@linux-foundation.org LKML-Reference: <1242090794.7214.131.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit ae31c1fbdbb18d917b0a1139497c2dbd35886989 Author: Greg Kroah-Hartman Date: Mon May 4 12:40:54 2009 -0700 sound: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit f3f8290cb3fa4aa627321530bb85d5f35e487433 Author: Paul Mundt Date: Tue May 12 16:07:40 2009 +0900 sh: clkfwk: Handle clk_get_sys() returning an ERR_PTR. clk_get() needs to also perform an IS_ERR() check to see whether clk_get_sys() failed or not. Signed-off-by: Paul Mundt commit e458824f9d32e9bf7700d1eb0d201749af48eee0 Author: Tejun Heo Date: Tue May 12 08:49:32 2009 +0200 scsi: fix resid_len mis-conversion in scsi_end_request() Commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f introduced rq->data_len and converted residual count users to it. While converting, it mistakenly converted scsi_end_request() to finish requests with residual count when it wants to do is fully complete the request. Fix it by using blk_end_request_all() instead. This bug was spotted by Boaz Harrosh. Signed-off-by: Tejun Heo Spotted-by: Boaz Harrosh Cc: FUJITA Tomonori Cc: James Bottomley Signed-off-by: Jens Axboe commit 9541ba1d665542c96f7c0b5b836bbc1fd9d961b6 Author: Chris Pockelé Date: Tue May 12 08:08:53 2009 +0200 ALSA: hda - Add support of Samsung NC10 mini notebook Add specific configuration for Samsung NC10 mini notebook. Internal mic/speakers will be correctly muted when plugging in external ones. Mixer controls are added for speakers, headphones and PC beep. "Boost" is added for the microphones. Signed-off-by: Chris Pockelé Signed-off-by: Takashi Iwai commit e4d996ca806e93dddb5d76c0d3d859b494c559f6 Author: Theodore Ts'o Date: Tue May 12 00:25:28 2009 -0400 ext4: Rename ext4_get_blocks_handle() to be ext4_ind_get_blocks() The static function ext4_get_blocks_handle() is badly named. Of *course* it takes a handle. Since its counterpart for extent-based file is ext4_ext_get_blocks(), rename it to be ext4_ind_get_blocks(). Signed-off-by: "Theodore Ts'o" commit f888e652d758bfe0c04c209b72a05972daeba386 Author: Theodore Ts'o Date: Tue May 12 00:21:29 2009 -0400 ext4: Simplify function signature for ext4_da_get_block_write() The function ext4_da_get_block_write() is called in exactly one write, and the last argument, create, is always 1. Remove it to simplify the code slightly. Signed-off-by: "Theodore Ts'o" commit bc8e67409ccdcff72c3f1656b1fb1aad7ff396db Author: Vincent Minet Date: Fri May 15 08:33:18 2009 -0400 ext4: Fix spinlock assertions on UP systems On UP systems without DEBUG_SPINLOCK, ext4_is_group_locked always fails which triggers a BUG_ON() call. This patch fixes it by using assert_spin_locked instead. Signed-off-by: Vincent Minet Signed-off-by: "Theodore Ts'o" commit 168b6b1d0594c7866caa73b12f3b8d91075695f2 Author: Steven Rostedt Date: Mon May 11 22:11:05 2009 -0400 ring-buffer: move code around to remove some branches This is a bit of micro-optimizations. But since the ring buffer is used in tracing every function call, it is an extreme hot path. Every nanosecond counts. This change shows over 5% improvement in the ring-buffer-benchmark. [ Impact: more efficient code ] Signed-off-by: Steven Rostedt commit 88eb0125362f2ab272cbaf84252cf101ddc2dec9 Author: Steven Rostedt Date: Mon May 11 16:28:23 2009 -0400 ring-buffer: use internal time stamp function The ring_buffer_time_stamp that is exported adds a little more overhead than is needed for using it internally. This patch adds an internal timestamp function that can be inlined (a single line function) and used internally for the ring buffer. [ Impact: a little less overhead to the ring buffer ] Signed-off-by: Steven Rostedt commit 0f0c85fc80adbbd2265d89867d743f929d516805 Author: Steven Rostedt Date: Mon May 11 16:08:00 2009 -0400 ring-buffer: small optimizations Doing some small changes in the fast path of the ring buffer recording saves over 3% in the ring-buffer-benchmark test. [ Impact: a little faster ring buffer recording ] Signed-off-by: Steven Rostedt commit d93e4c940f51ae06b59c14523c4d55947f9597d6 Author: Eric Paris Date: Mon May 11 20:47:15 2009 -0400 securityfs: securityfs_remove should handle IS_ERR pointers Both of the securityfs users (TPM and IMA) can call securityfs_remove and pass an IS_ERR(dentry) in their failure paths. This patch handles those rather than panicing when it tries to start deferencing some negative memory. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1a62e958fa4aaeeb752311b4f5e16b2a86737b23 Author: Eric Paris Date: Mon May 11 13:59:22 2009 -0400 IMA: open all files O_LARGEFILE If IMA tried to measure a file which was larger than 4G dentry_open would fail with -EOVERFLOW since IMA wasn't passing O_LARGEFILE. This patch passes O_LARGEFILE to all IMA opens to avoid this problem. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit f06dd16a03f6f7f72fab4db03be36e28c28c6fd6 Author: Eric Paris Date: Mon May 11 13:59:16 2009 -0400 IMA: Handle dentry_open failures Currently IMA does not handle failures from dentry_open(). This means that we leave a pointer set to ERR_PTR(errno) and then try to use it just a few lines later in fput(). Oops. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 37bcbf13d32e4e453e9def79ee72bd953b88302f Author: Eric Paris Date: Mon May 11 13:59:10 2009 -0400 IMA: use current_cred() instead of current->cred Proper invocation of the current credentials is to use current_cred() not current->cred. This patches makes IMA use the new method. Signed-off-by: Eric Paris Acked-by: Mimi Zohar Signed-off-by: James Morris commit 5031296c57024a78ddad4edfc993367dbf4abb98 Author: H. Peter Anvin Date: Thu May 7 16:54:11 2009 -0700 x86: add extension fields for bootloader type and version A long ago, in days of yore, it all began with a god named Thor. There were vikings and boats and some plans for a Linux kernel header. Unfortunately, a single 8-bit field was used for bootloader type and version. This has generally worked without *too* much pain, but we're getting close to flat running out of ID fields. Add extension fields for both type and version. The type will be extended if it the old field is 0xE; the version is a simple MSB extension. Keep /proc/sys/kernel/bootloader_type containing (type << 4) + (ver & 0xf) for backwards compatiblity, but also add /proc/sys/kernel/bootloader_version which contains the full version number. [ Impact: new feature to support more bootloaders ] Signed-off-by: H. Peter Anvin commit fe83fcc0a14dcf71996de5eb84771b2369ba7abc Author: H. Peter Anvin Date: Mon May 11 16:23:16 2009 -0700 x86, defconfig: update kernel position parameters Update CONFIG_RELOCATABLE, CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to reflect the current defaults. [ Impact: make defconfig match Kconfig defaults ] Signed-off-by: H. Peter Anvin commit c4a994645d04d5fa6bfa52a3204af87dd92168d5 Author: H. Peter Anvin Date: Mon May 11 16:20:12 2009 -0700 x86, defconfig: update to current, no material changes Update defconfigs to reflect current configuration files. No other changes. [ Impact: updates defconfigs to match what "make defconfig" generates ] Signed-off-by: H. Peter Anvin commit 26717808f93a27c22d4853c4fb17fa225f4ccc68 Author: H. Peter Anvin Date: Thu May 7 14:19:34 2009 -0700 x86: make CONFIG_RELOCATABLE the default Remove the EXPERIMENTAL tag from CONFIG_RELOCATABLE and make it the default. Relocatable kernels have been used for a while now, and should now have identical semantics to non-relocatable kernels when loaded by a non-relocating bootloader. Signed-off-by: H. Peter Anvin commit ceefccc93932b920a8ec6f35f596db05202a12fe Author: H. Peter Anvin Date: Mon May 11 16:12:16 2009 -0700 x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB Default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN each to 16 MB, so that both non-relocatable and relocatable kernels are loaded at 16 MB by a non-relocating bootloader. This is somewhat hacky, but it appears to be the only way to do this that does not break some some set of existing bootloaders. We want to avoid the bottom 16 MB because of large page breakup, memory holes, and ZONE_DMA. Embedded systems may need to reduce this, or update their bootloaders to be aware of the new min_alignment field. [ Impact: performance improvement, avoids problems on some systems ] Signed-off-by: H. Peter Anvin commit d297366ba692faf1f0384811a6ff0b20c3470b1b Author: H. Peter Anvin Date: Mon May 11 16:06:23 2009 -0700 x86: document new bzImage fields Document the new bzImage fields for kernel memory placement. [ Impact: adds documentation ] Signed-off-by: H. Peter Anvin commit 37ba7ab5e33cebc25c68fffe33e9f21e7c2014e8 Author: H. Peter Anvin Date: Mon May 11 15:56:08 2009 -0700 x86, boot: make kernel_alignment adjustable; new bzImage fields Make the kernel_alignment field adjustable; this allows us to set it to a large value (intended to be 16 MB to avoid ZONE_DMA contention, memory holes and other weirdness) while a smart bootloader can still force a loading at a lesser alignment if absolutely necessary. Also export pref_address (preferred loading address, corresponding to the link-time address) and init_size, the total amount of linear memory the kernel will require during initialization. [ Impact: allows better kernel placement, gives bootloader more info ] Signed-off-by: H. Peter Anvin commit 99aa45595f45603526513d5e29fc00f8afbf3913 Author: H. Peter Anvin Date: Mon May 11 16:02:10 2009 -0700 x86, boot: remove dead code from boot/compressed/head_*.S Remove a couple of lines of dead code from arch/x86/boot/compressed/head_*.S; all of these update registers that are dead in the current code. [ Impact: cleanup ] Signed-off-by: H. Peter Anvin commit 2ff799d3cff1ecb274049378b28120ee5c1c5e5f Author: Vaidyanathan Srinivasan Date: Mon May 11 20:09:14 2009 +0530 sched: Don't export sched_mc_power_savings on multi-socket single core system Fix to prevent sched_mc_power_saving from being exported through sysfs for multi-scoket single core system. Max cores should be always greater than one (1). My earlier patch that introduced fix for not exporting 'sched_mc_power_saving' on laptops broke it on multi-socket single core system. This fix addresses issue on both laptop and multi-socket single core system. Below are the Test results: 1. Single socket - multi-core Before Patch: Does not export 'sched_mc_power_saving' After Patch: Does not export 'sched_mc_power_saving' Result: Pass 2. Multi Socket - single core Before Patch: exports 'sched_mc_power_saving' After Patch: Does not export 'sched_mc_power_saving' Result: Pass 3. Multi Socket - Multi core Before Patch: exports 'sched_mc_power_saving' After Patch: exports 'sched_mc_power_saving' [ Impact: make the sched_mc_power_saving control available more consistently ] Signed-off-by: Mahesh Salgaonkar Cc: Suresh B Siddha Cc: Venkatesh Pallipadi Cc: Peter Zijlstra LKML-Reference: <20090511143914.GB4853@dirshya.in.ibm.com> Signed-off-by: Ingo Molnar commit 40b387a8a9a821878ecdf9fb117958c426fc1385 Author: H. Peter Anvin Date: Mon May 11 14:41:55 2009 -0700 x86, boot: use LOAD_PHYSICAL_ADDR on 64 bits Use LOAD_PHYSICAL_ADDR instead of CONFIG_PHYSICAL_START in the 64-bit decompression code, for equivalence with the 32-bit code. [ Impact: cleanup, increases code similarity ] Signed-off-by: H. Peter Anvin commit 77d1a4999502c260df0eb2de437d320bf8c64b36 Author: H. Peter Anvin Date: Mon May 11 14:21:12 2009 -0700 x86, boot: make symbols from the main vmlinux available Make symbols from the main vmlinux, as opposed to just compressed/vmlinux, available to header.S. Also, export a few additional symbols. This will be used in a subsequent patch to export the total memory footprint of the kernel. [ Impact: enable future enhancement ] Signed-off-by: H. Peter Anvin commit 0dae89572cbcd5f676ea52a9448d9639d97a53d6 Author: Paul Mundt Date: Tue May 12 06:18:09 2009 +0900 sh: clkfwk: Wire up clk_get_sys() support. This stubs in clk_get_sys() from the ARM clkdev implementation. Tentatively conver the clk_get() lookup code to use this, and once the rest of the in-tree users are happy with this, it can replace the fallback lookups. Signed-off-by: Paul Mundt commit 31cb31f76e030ae05ed45f409ce5eb68ef2987f6 Author: Roel Kluin Date: Mon May 11 21:57:08 2009 +0200 ASoC: remove driver_data direct access of struct device Signed-off-by: Mark Brown commit 007e8363b656768fe3f59c180824ff704680bb25 Author: Paul Mundt Date: Tue May 12 06:05:32 2009 +0900 sh: clkfwk: Kill off clk_recalc_rate(). The only user for this is the SH-Mobile r_clk, which is now added as a root clock and can be kicked via propagate_rate() as usual. Given that, there is no longer any need for the special clk_recalc_rate(), so we kill it off. Signed-off-by: Paul Mundt commit f5c84cf50812c80133e64683d0500b2416d55cb3 Author: Paul Mundt Date: Tue May 12 05:59:27 2009 +0900 sh: clkfwk: Tidy up on-chip clock registration and rate propagation. This tidies up the set_rate hack that the on-chip clocks were abusing to trigger rate propagation, which is now handled generically. Additionally, now that CLK_ENABLE_ON_INIT is wired up where it needs to be for these clocks, the clk_enable() can go away. In some cases this was bumping up the refcount higher than it should have been. Signed-off-by: Paul Mundt commit aa87aa343f2cd236b5eccd643abd4df918ed5c4f Author: Paul Mundt Date: Tue May 12 05:51:05 2009 +0900 sh: clkfwk: Improve the generic clk_set_parent() implementation. This causes the generic clk_set_parent() implementation to be a bit more intelligent. A clk_reparent() is added to move the clock over to the new parent's sibling list, which then allows the generic rate propagation code to succeed. This also becomes a nop if the new and old parents are unchanged. Signed-off-by: Paul Mundt commit ae891a4264c91246c0b4c22be68b9838747ae48d Author: Paul Mundt Date: Tue May 12 05:30:10 2009 +0900 sh: clkfwk: Fix up the clk_enable() error path. There are a couple of instances where a clk_enable() can fail, which the SH-Mobile code presently handles, but doesn't get reported all the way back up. This fixes up the return type so the errors make it all the way down to the drivers. Additionally, we now also error out properly if the parent enable fails. Prep work for aggressively turning off unused clocks on boot. Signed-off-by: Paul Mundt commit 154502e160e02dee7b00ec2149762ae5d48e0bb4 Author: Paul Mundt Date: Tue May 12 05:18:13 2009 +0900 sh: clkfwk: Convert SH-Mobile CPUs to use CLK_ENABLE_ON_INIT. Kill off all of the clk_always_enabled leftovers and use the new flag directly. Signed-off-by: Paul Mundt commit 4ff29ff8e8723a41e7defd8bc78a7b16cbf940a2 Author: Paul Mundt Date: Tue May 12 05:14:53 2009 +0900 sh: clkfwk: Consolidate the ALWAYS_ENABLED / NEEDS_INIT mess. There is no real distinction here in behaviour, either a clock needs to be enabled on initialiation or not. The ALWAYS_ENABLED flag was always intended to only apply to clocks that were physically always on and could simply not be disabled at all from software. Unfortunately over time this was abused and the meaning became a bit blurry. So, we kill off both of all of those paths now, as well as the newer NEEDS_INIT flag, and consolidate on a CLK_ENABLE_ON_INIT. Clocks that need to be enabled on initialization can set this, and it will purposely enable them and bump the refcount up. Signed-off-by: Paul Mundt commit b1f6cfe48c3cb1dfa77db3d2f42f765febaef9bc Author: Paul Mundt Date: Tue May 12 04:27:43 2009 +0900 sh: clkfwk: refactor rate propagation. This resyncs the rate propagation strategy with the scheme used by the OMAP clock framework. Child clocks are tracked on a list under each parent and propagation happens there specifically rather than constantly iterating over the global clock list. Signed-off-by: Paul Mundt commit 7be69c0b9aa93ef655db4d46e5654996489d62f5 Author: Johannes Berg Date: Mon May 11 16:06:36 2009 +0200 wext: fix get_wireless_stats locking Currently, get_wireless_stats is racy by _design_. This is because it returns a buffer, which needs to be statically allocated since it cannot be freed if it was allocated dynamically. Also, SIOCGIWSTATS and /proc/net/wireless use no common lock, and /proc/net/wireless accesses are not synchronised against each other. This is a design flaw in get_wireless_stats since the beginning. This patch fixes it by wrapping /proc/net/wireless accesses with the RTNL so they are protected against each other and SIOCGIWSTATS. The more correct method of fixing this would be to pass in the buffer instead of returning it and have the caller take care of synchronisation of the buffer, but even then most drivers probably assume that their callback is protected by the RTNL like all other wext callbacks. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e80cf8537ae54ec96c389055d6e9b0ef630c042d Author: Johannes Berg Date: Mon May 11 14:43:13 2009 +0200 cfg80211: disallow interfering with stations on non-AP On non-AP interfaces userspace has no business interfering with the station management, this can confuse mac80211 (and other drivers probably wouldn't support it anyway). Allow adding and removing stations only on AP interfaces. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 528769cf1e422d932052be1487459262f3d75333 Author: Jouni Malinen Date: Mon May 11 10:20:35 2009 +0300 mac80211: Robust Action frame categories for MFP IEEE 802.11w/D9.0 introduces a mechanism for Action field Category values to be used to select which Action frames are Robust. Public and Vendor-specific categories are marked as not Robust in IEEE 802.11w; HT will be marked not Robust in IEEE 802.11n. A new Vendor-specific Protected category is allocated for Robust vendor-specific Action frames. Another new category, Protected Dual of Action, is introduced for protecting some existing Public Action frames (e.g., IEEE 802.11y protected enablement). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit cbe8fa9c5e88fd5f554ebc519af3b0ed17dde0dd Author: Johannes Berg Date: Sat May 9 20:09:03 2009 +0200 cfg80211: put wext data into substructure To make it more apparent in the code what is for wext only (and needs to be #ifdef'ed) put all the info for wext into a substruct in each wireless_dev. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4e943900fb9675d3a5ebdabc2cd4a9a54edace97 Author: Johannes Berg Date: Sat May 9 20:06:47 2009 +0200 cfg80211: constify key mac address in ops The address pointed to by mac_addr can be marked as const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8fbff4b838c53945d6baeafe609c627000f85cd6 Author: Vasanthakumar Thiagarajan Date: Fri May 8 17:54:51 2009 -0700 ath9k: Cleanup ineffective return values This patch makes the return type of some of the functions void as those functions always return true Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 19eddca67628e5fb722e4ebbbba8c307a884d0e8 Author: Vasanthakumar Thiagarajan Date: Fri May 8 17:54:50 2009 -0700 ath9k: Remove bogus break after return Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f2c95b04aba3510323381fe49a0539c23da2e8f4 Author: Wey-Yi Guy Date: Fri May 8 13:44:45 2009 -0700 iwlwifi: default WMM AC parameters Set the default WMM AC parameters for BK/BE/VI/VO parameters: AC CWmin CW max AIFSN TXOP Limit TXOP Limit (802.11b) (802.11a/g) AC_BK 15 1023 7 0 0 AC_BE 15 1023 3 0 0 AC_VI 7 15 2 188 94 (6.016ms) (3.008ms) AC_VO 3 7 2 102 47 (3.264ms) (1.504ms) Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0b4d0ab44fa2f7bda7b14312741ba3f337a02d5a Author: Wey-Yi Guy Date: Fri May 8 13:44:44 2009 -0700 iwlwifi: show qos AC parameters Show current qos AC parameters in sysfs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 38167459da50e3fe9a10635308bfb0048cc36e8e Author: Wey-Yi Guy Date: Fri May 8 13:44:43 2009 -0700 iwlagn: show current rate scale data in debugfs Add "rate_scale_data" debugfs file to show current bit rate (HT and Legacy), plus additional information (rssi, noise, tsf, beacon time stamp). Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fff7a4346c07c30a39910c3b627434fc0e7ccc33 Author: Wey-Yi Guy Date: Fri May 8 13:44:42 2009 -0700 iwlwifi: use #define instead of hard coded value Instead of hard coded value, use the define in iwl-commands.h for better code maintenance Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 43121432e2d3a9018c40e820b1e44f3f180aa0d6 Author: Abhijeet Kolekar Date: Fri May 8 13:44:41 2009 -0700 iwl3945: read rev id in nic config Read rev id in nic_config instead of nic_init. Nic_config has some checking for rev_id but we actually don't read the rev_id in there. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9906a07e1607e86957ac8780c35a9acf425c4c95 Author: Reinette Chatre Date: Fri May 8 13:44:40 2009 -0700 iwlwifi: more descriptive unsupported hardware message Somehow these pre-production cards are showing up in the community. With this message we hope that it will be clear that the hardware is not supported. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d6e933993fdad4a270c557fa5317f668bef1d824 Author: Mohamed Abbas Date: Fri May 8 13:44:39 2009 -0700 iwlagn: improve rate scale table search iwlagn rate scaling will periodically search other rate scale tables to switch to the best table regarding performance. In the past the number of search tables were 3. Every time the rate scale algorithm goes through these available tables in will stay in current table for some time before start searching again. Recent driver support more feature and antenna, so we have more tables to search. This patch make sure we go through all available tables. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7af2c460789a78d9c0d4dc7776fcb87acdc71052 Author: Johannes Berg Date: Fri May 8 13:44:38 2009 -0700 iwlwifi: clean up PS code This removes all the dead code that tries to adjust the power saving level based on the system AC state (inacceptable policy in the kernel) or based on overtemp conditions (unused). Also, pass _all_ policy wrt. enabling PS to mac80211, since we do not use the power_disabled internally I now use that to mirror the mac80211 CONF_PS setting. When mac80211 turns off CONF_PS we follow suit. This means that the user power level (which can currently only be set from sysfs) is not touched for mac80211 powersave changes. This means no "association status" checks are necessary since mac80211 will not allow power save to be enabled when not associated. Signed-off-by: Johannes Berg Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f0f74a0e65a69d4cc579e60f76a30b38ad7dbe06 Author: Johannes Berg Date: Fri May 8 13:44:37 2009 -0700 iwlwifi: fix PS disable status race iwlwifi internally needs to keep track of whether PS is enabled in the firmware or not. To do this, it keeps a bit in the status flags, called STATUS_POWER_PMI. The code to set this bit looks as follows: static int iwl_set_power(struct iwl_priv *priv, void *cmd) { return iwl_send_cmd_pdu_async(priv, POWER_TABLE_CMD, sizeof(struct iwl_powertable_cmd), cmd, NULL); } int iwl_power_update_mode(...) { [...] if (final_mode != IWL_POWER_MODE_CAM) set_bit(STATUS_POWER_PMI, &priv->status); iwl_update_power_cmd(priv, &cmd, final_mode); cmd.keep_alive_beacons = 0; if (final_mode == IWL_POWER_INDEX_5) cmd.flags |= IWL_POWER_FAST_PD; ret = iwl_set_power(priv, &cmd); if (final_mode == IWL_POWER_MODE_CAM) clear_bit(STATUS_POWER_PMI, &priv->status); else set_bit(STATUS_POWER_PMI, &priv->status); if (priv->cfg->ops->lib->update_chain_flags && update_chains) priv->cfg->ops->lib->update_chain_flags(priv); [...] } Now, this bit really needs to track what the _firmware_ thinks, not what the driver thinks. Therefore, there is a race condition here -- the driver sets the bit before it knows that the async command sent to the card in the iwl_set_power function has been processed. As a result, the call to update_chain_flags() may think that the card has been woken up (PMI bit cleared) while in reality it hasn't processed the async POWER_TABLE_CMD yet. This leads to bugs -- any commands the update_chain_flags function sends can get stuck and subsequent commands also fail. The fix is almost trivial: since there's no reason to send an async command here (in fact, there almost never should be since many mac80211 callbacks can sleep) just make the function wait for the card to process the command and then return and clear the PMI bit. Signed-off-by: Johannes Berg Acked-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19cc10870ece942d287241937944c237130f50f4 Author: Johannes Berg Date: Fri May 8 13:44:36 2009 -0700 iwlwifi: do proper hw restart When the microcode fails for any reason, ask mac80211 to recover instead of trying ourselves and failing at it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 44033f80cefd1d7b474efdabc412476d4bafb8f4 Author: Johannes Berg Date: Fri May 8 21:21:41 2009 +0200 mac80211: remove ieee80211_ht_bss_info This struct is no longer used (and hasn't been for a while). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 413ad50a5c15f3bae8075c15b101679f05c37a69 Author: Johannes Berg Date: Fri May 8 21:21:06 2009 +0200 mac80211: properly track HT operation_mode When we disassociate, we set the channel to non-HT which obviously invalidates any ht_operation_mode setting. But when we then associate with the next AP again, we might still have the ht_operation_mode from the previous AP cached and fail to configure the hardware with the new (but unchanged) operation mode. This patch fixes it by separately tracking whether our cache is valid. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ed6bcce77f75d98af6ee07069deac6041948bee Author: Johannes Berg Date: Fri May 8 20:47:39 2009 +0200 mac80211: move HT operation mode BSS info There really is no need to have a separate struct for a single variable. The fact that it exists is due to the code legacy, but we can remove that now. Very simple. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5a9940118a616266183c53a9ee4352feadb9c2e8 Author: Ivo van Doorn Date: Fri May 8 18:30:43 2009 +0200 rt2x00: Fix chipset detection for rt73usb The lower 4 bytes of the chipset revision must contain a non-zero value. This bug was introduced by "rt2x00: Simplify rt2x00_check_rev". Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 99c84cb0692729088788d8e1d1cee670154176e4 Author: Johannes Berg Date: Fri May 8 14:12:21 2009 +0200 mac80211: improve scan timing The call to ieee80211_hw_config() is supposed to apply changes synchronously, so once it returns the parameters are applied to the hardware. Thus, there really is no need to delay the probing by the channel switch time again since the channel switch has already happened once we get to this code. Additionally, there is no need to wait for a NAV update (probe delay) when the channel is passively scanned. Remove that extra time too. This cuts scanning time from over 7 seconds to under 4 on ar9170, which is due to the number of channels scanned and ar9170's switch time being advertised as 135ms (my test now indicates it is about 77ms with the current driver, but the difference might also be due to using a different machine with different USB controllers). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f2ca3ea484a51dc7ea5b738510fd03cb6ca7e2e2 Author: Jouni Malinen Date: Fri May 8 12:36:03 2009 +0300 mac80211: MFP - Drop unprotected Action frames prior key setup When management frame protection (IEEE 802.11w) is used, unprotected Robust Action frames are not allowed prior to key configuration. However, unprotected Deauthentication and Disassociation frames are allowed at that point, but not after key configuration. Make ieee80211_drop_unencrypted() handle the special cases for MFP by separating the basic Data frame case from Management frame processing and handle the Management frames only if MFP has been negotiated. In addition, do not use sdata->drop_unencrypted for Management frames since the decision on whether to accept the frame depends on the key being configured. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0c7c10c7cc6bc890d23c8c62b81b4feccd92124b Author: Jouni Malinen Date: Fri May 8 12:34:10 2009 +0300 mac80211: Drop unencrypted frames based on key setup When using nl80211, we do not have a mechanism to set sdata->drop_unencrypted. Currently, this breaks code that is supposed to drop unencrypted frames when protection is expected since ieee80211_rx_h_decrypt() is optimized to not set rx->key when the frame is not protected. This patch modifies ieee80211_rx_h_decrypt() to set rx->key for all frames and only skip decryption if the frame is not protected. This allows ieee80211_drop_unencrypted() to correctly drop frames even if drop_unencrypted is not set. The changes here are not enough to handle all cases, though. Additional patches will be needed to implement proper IEEE 802.1X PAE for station mode (currently, this is only used for AP mode) and some additional rules are needed for MFP to drop unprotected Robust Action frames prior to having PTK and IGTK configured. In theory, the unprotected frames could and should be dropped in ieee80211_rx_h_decrypt(). However, due to the special case with EAPOL frames that have to be allowed to be received unprotected even when keys are set, it is simpler to only set rx->key and allow the ieee80211_frame_allowed() function to handle the actual dropping of data frames after 802.11->802.3 header conversion. In addition, unprotected robust management frames are dropped before they are processed. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 782571f46fc7d2bbb0288ab0d676c47a88449a5c Author: Johannes Berg Date: Fri May 8 19:31:42 2009 +0200 iwlwifi: make iwl_set_rate static It's not needed outside iwl-core.c Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 0b258582fef3a9b15b2372d99164859361faa8db Author: Johannes Berg Date: Fri May 8 09:42:33 2009 +0200 cfg80211: fix wext iw_freq parsing The function to parse a struct iw_freq has a stupid bug, it returns NULL when the channel cannot be found at all, but NULL is supposed to mean "auto". Fix this by checking the return value of ieee80211_get_channel() and returning ERR_PTR(-EINVAL) if it returned NULL (channel not found). This fixes an issue where you could say (in IBSS mode) iwconfig wlan0 channel 21 and it would use channel 1 instead because that's the first available channel with IBSS allowed (which is what the "auto" setting uses). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aa837e1d6bd1a71b3c30c7738b6c29d41512fe7d Author: Johannes Berg Date: Thu May 7 16:16:24 2009 +0200 mac80211: set default QoS values according to spec We've never really cared about the default QoS (WMM) values, but we really should if the AP doesn't send any. This patch makes mac80211 use the default values according to 802.11-2007, and additionally syncs the default values when we disassociate so whatever the last AP said gets "unconfigured". Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 58905ca5b11a0ff3860f55b789cbbf052f7158a7 Author: Johannes Berg Date: Thu May 7 14:23:01 2009 +0200 mac80211: fix scan channel race When a software scan starts, it first sets sw_scanning, but leaves the scan_channel "unset" (it currently actually gets initialised to a default). Now, when something else tries to (re)configure the hardware in the window between these two events (after sw_scanning = true, but before scan_channel is set), the current code switches to the (unset!) scan_channel. This causes trouble, especially when switching bands and sending frames on the wrong channel. To work around this, leave scan_channel initialised to NULL and use it to determine whether or not a switch to a different channel should occur (and also use the same condition to check whether to adjust power for scan or not). Additionally, avoid reconfiguring the hardware completely when recalculating idle resulted in no changes, this was the problem that originally led us to discover the race condition in the first place, which was helpfully bisected by Pavel. This part of the patch should not be necessary with the other fixes, but not calling the ieee80211_hw_config function when we know it to be unnecessary is certainly a correct thing to do. Unfortunately, this patch cannot and does not fix the race condition completely, but due to the way the scan code is structured it makes the particular problem Pavel discovered (race while changing channel at the same time as transmitting frames) go away. To fix it completely, more work especially with locking configuration is needed. Bisected-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 02018b39a75057541c7946a9173561d1a76a0bfe Author: Geert Uytterhoeven Date: Wed May 6 22:35:58 2009 +0200 wireless: WL12XX should depend on GENERIC_HARDIRQS m68k allmodconfig: | drivers/net/wireless/wl12xx/main.c: In function 'wl12xx_probe': | drivers/net/wireless/wl12xx/main.c:1273: error: implicit declaration of function 'set_irq_type' | make[1]: *** [drivers/net/wireless/wl12xx/main.o] Error 1 Signed-off-by: Geert Uytterhoeven Acked-by: Kalle Valo Signed-off-by: John W. Linville commit dc6382ced07d6bad61d0b591fb12ab5da7ca632c Author: Jouni Malinen Date: Wed May 6 22:09:37 2009 +0300 nl80211 : Add support for configuring MFP NL80211_CMD_ASSOCIATE request must be able to indicate whether management frame protection (IEEE 802.11w) is being used. mac80211 was able to use MFP in client mode only with WEXT, but the new NL80211_ATTR_USE_MFP attribute will allow this to be done with nl80211, too. Since we are currently using nl80211 for MFP only with drivers that use user space SME, only MFP disabled and required values are used. However, the NL80211_ATTR_USE_MFP attribute is an enum that can be extended with MFP optional in the future, if that is needed with some drivers (e.g., if the RSN IE is generated by the driver). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit a02cb230bb4fca04f091746c593de720a0e3a94a Author: Paul Mundt Date: Tue May 12 03:50:44 2009 +0900 sh: clkfwk: Add a followparent_recalc() helper. This adds a followparent_recalc() helper for clocks that just follow the parent's rate. Switch over the few CPUs that use this scheme for some of their clocks. Signed-off-by: Paul Mundt commit b68d8201433a91cabbcbeae48b53d8c1c426433a Author: Paul Mundt Date: Tue May 12 03:45:08 2009 +0900 sh: clkfwk: Make recalc return an unsigned long. This is prep work for cleaning up some of the rate propagation bits. Trivial conversion. Signed-off-by: Paul Mundt commit be957c447f7233a67904a1b11eb3ab61e702bf4d Author: Steven Rostedt Date: Mon May 11 14:42:53 2009 -0400 ring-buffer: move calculation of event length The event length is calculated and passed in to rb_reserve_next_event in two different locations. Having rb_reserve_next_event do the calculations directly makes only one location to do the change and causes the calculation to be inlined by gcc. Before: text data bss dec hex filename 16538 24 12 16574 40be kernel/trace/ring_buffer.o After: text data bss dec hex filename 16490 24 12 16526 408e kernel/trace/ring_buffer.o [ Impact: smaller more efficient code ] Signed-off-by: Steven Rostedt commit 1cd8d7358948909ab80b254eb14bcebc555ad417 Author: Steven Rostedt Date: Mon May 11 14:08:09 2009 -0400 ring-buffer: remove type parameter from rb_reserve_next_event The rb_reserve_next_event is only called for the data type (type = 0). There is no reason to pass in the type to the function. Before: text data bss dec hex filename 16554 24 12 16590 40ce kernel/trace/ring_buffer.o After: text data bss dec hex filename 16538 24 12 16574 40be kernel/trace/ring_buffer.o [ Impact: cleaner, smaller and slightly more efficient code ] Signed-off-by: Steven Rostedt commit d988ff94c1074c4c914235c8591bcceafb585ecf Author: Steven Rostedt Date: Fri May 8 11:03:57 2009 -0400 ring-buffer: check for divide by zero in ring-buffer-benchmark Although we check if "missed" is not zero, we divide by hit + missed, and the addition can possible overflow and become a divide by zero. This patch checks for this case, and will report it when it happens then modify "hit" to make the calculation be non zero. [ Impact: prevent possible divide by zero in ring-buffer-benchmark ] Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 5a772b2b3c68e7e0b503c5a48469113bb0634314 Author: Steven Rostedt Date: Fri May 8 10:56:33 2009 -0400 ring-buffer: replace constants with time macros in ring-buffer-benchmark The use of numeric constants is discouraged. It is cleaner and more descriptive to use macros for constant time conversions. This patch also removes an extra new line. [ Impact: more descriptive time conversions ] Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 0c23590f00f85467b318ad0c20c36796a5bd4c60 Author: Alexey Dobriyan Date: Mon May 4 03:30:15 2009 +0400 x86, 64-bit: ifdef out struct thread_struct::ip struct thread_struct::ip isn't used on x86_64, struct pt_regs::ip is used instead. kgdb should be reading 0 always, but I can't check it. [ Impact: (potentially) reduce thread_struct size on 64-bit ] Signed-off-by: Alexey Dobriyan Cc: containers@lists.linux-foundation.org LKML-Reference: <20090503233015.GJ16631@x200.localdomain> Signed-off-by: Ingo Molnar commit d756f4adb9d8a86e347a2d5435bb5cc95744733e Author: Alexey Dobriyan Date: Mon May 4 03:29:52 2009 +0400 x86, 32-bit: ifdef out struct thread_struct::fs After commit 464d1a78fbf8cf6c7fd970e7b3e2db50a320ce28 aka "[PATCH] i386: Convert i386 PDA code to use %fs" %fs saved during context switch moved from thread_struct to pt_regs and value on thread_struct became unused. [ Impact: reduce thread_struct size on 32-bit ] Signed-off-by: Alexey Dobriyan Cc: containers@lists.linux-foundation.org LKML-Reference: <20090503232952.GI16631@x200.localdomain> Signed-off-by: Ingo Molnar commit cec6be6d1069d697beb490bbb40a290d5ff554a2 Author: Cyrill Gorcunov Date: Mon May 11 17:41:40 2009 +0400 x86: apic: Fixmap apic address even if apic disabled In case if apic were disabled by boot option we still need read_apic operation. So fixmap a fake apic area if needed. [ Impact: fix boot crash ] Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org Cc: eswierk@aristanetworks.com LKML-Reference: <20090511134140.GH4624@lenovo> Signed-off-by: Ingo Molnar commit ccc195655fb25d7d967b278c4a4725dc5e7a6bf4 Author: Magnus Damm Date: Mon May 11 11:37:16 2009 +0000 sh: TMU platform data for sh7780 This patch adds TMU platform data for sh7780. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 50e2d0d3b4ffc945a6c27f16d4e5e557e725ec67 Author: Magnus Damm Date: Mon May 11 11:34:16 2009 +0000 sh: r7780 highlander clock fixes Update the r7780 highlander defconfig to fix PCLK value, while at it fix cmdline on r7785. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3d6ad460214cc72b93333f51f498441a56d622e9 Author: Magnus Damm Date: Mon May 11 09:01:08 2009 +0000 sh: multiple vectors per irq - sh7760 Update intc tables and platform data to use one linux irq per maskable interrupt source instead of keeping the one-to-one mapping between vectors and linux irqs. This fixes potential irq masking issues for sh7760 hardware blocks such as DMAC/TMU2/REF. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 41fb454ebe6024f5c1e3b3cbc0abc0da762e7b51 Merge: 19c1a6f 091bf76 Author: Ingo Molnar Date: Mon May 11 14:44:27 2009 +0200 Merge commit 'v2.6.30-rc5' into core/iommu Merge reason: core/iommu was on an .30-rc1 base, update it to .30-rc5 to refresh. Signed-off-by: Ingo Molnar commit 97a52714658cd959a3cfa35c5b6f489859f0204b Author: Andreas Herrmann Date: Fri May 8 18:23:50 2009 +0200 x86: display extended apic registers with print_local_APIC and cpu_debug code Both print_local_APIC (used when apic=debug kernel param is set) and cpu_debug code missed support for some extended APIC registers that I'd like to see. This adds support to show: - extended APIC feature register - extended APIC control register - extended LVT registers [ Impact: print more debug info ] Signed-off-by: Andreas Herrmann Cc: Jaswinder Singh Rajput Cc: Cyrill Gorcunov LKML-Reference: <20090508162350.GO29045@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0b0a47f5c4a30b58432e20ae1706a27baea91a88 Author: Miklos Szeredi Date: Thu May 7 15:37:37 2009 +0200 splice: implement default splice_write method If f_op->splice_write() is not implemented, fall back to a plain write. Use vfs_writev() to write from the pipe buffers. This will allow splice on all filesystems and file types. This includes "direct_io" files in fuse which bypass the page cache. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 6818173bd658439b83896a2a7586f64ab51bf29c Author: Miklos Szeredi Date: Thu May 7 15:37:36 2009 +0200 splice: implement default splice_read method If f_op->splice_read() is not implemented, fall back to a plain read. Use vfs_readv() to read into previously allocated pages. This will allow splice and functions using splice, such as the loop device, to work on all filesystems. This includes "direct_io" files in fuse which bypass the page cache. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 7c77f0b3f9208c339a4b40737bb2cb0f0319bb8d Author: Miklos Szeredi Date: Thu May 7 15:37:35 2009 +0200 splice: implement pipe to pipe splicing Allow splice(2) to work when both the input and the output is a pipe. Based on the impementation of the tee(2) syscall, but instead of duplicating the buffer references move the buffers from the input pipe to the output pipe. Moving the whole buffer only succeeds if the full length of the buffer is spliced. Otherwise duplicate the buffer, just like tee(2), set the length of the output buffer and advance the offset on the input buffer. Since splice is operating on two pipes, special care needs to be taken with locking to prevent AN ABBA deadlock. Again this is done similarly to the tee(2) syscall, first preparing the input and output pipes so there's data to consume and space for that data, and then doing the move operation while holding both locks. If other processes are doing I/O on the same pipes parallel to the splice, then by the time both inodes are locked there might be no buffers left to move, or no space to move them to. In this case retry the whole operation, including the preparation phase. This could lead to starvation, but I'm not sure if that's serious enough to worry about. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 48bf2b1711dc498494e77705c415ee46bb508fd9 Author: Steven Whitehouse Date: Wed Apr 29 13:59:35 2009 +0100 GFS2: Something nonlinear this way comes! For some reason GFS2 has been missing support for non-linear mappings. This patch fixes that, and also avoids taking any locks for mmap in the O_NOATIME case. In fact we don't actually need to take the lock here at all - just doing file_accessed() would be enough, but we have to take the lock eventually and this helps it hit disk (and thus be seen by other nodes) faster. Signed-off-by: Steven Whitehouse commit 4a0f9a321a113392b448e477018311d14fba2b34 Author: Steven Whitehouse Date: Mon Apr 20 08:16:26 2009 +0100 GFS2: Optimise writepage for metadata This adds a GFS2 specific writepage for metadata, rather than continuing to use the VFS function. As a result we now tag all our metadata I/O with the correct flag so that blktraces will now be less confusing. Also, the generic function was checking for a number of corner cases which cannot happen on the metadata address spaces so that this should be faster too. Signed-off-by: Steven Whitehouse commit c969f58ca43fc403c75f5d3da4cf1e21de7afaa0 Author: Steven Whitehouse Date: Tue Apr 7 14:13:01 2009 +0100 GFS2: Update the rw flags After Jens recent updates: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a1f242524c3c1f5d40f1c9c343427e34d1aadd6e et al. this is a patch to bring gfs2 uptodate with the core code. Also I've managed to squash another call to ll_rw_block() along the way. There is still one part of the GFS2 I/O paths which are not correctly annotated and that is due to the sharing of the writeback code between the data and metadata address spaces. I would like to change that too, but this patch is still worth doing on its own, I think. Signed-off-by: Steven Whitehouse commit 79c5d3ce614d8fe706545c7bca2158b63db6bb5e Author: Li Zefan Date: Mon May 11 15:06:46 2009 +0800 blktrace: from-sector redundant in trace_block_remap, cleanup The last argument of block_remap prober is the original sector before remap, so it should be 'from', not 'to'. [ Impact: clean up ] Signed-off-by: Li Zefan Cc: "Alan D. Brunelle" Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: KOSAKI Motohiro LKML-Reference: <4A07CE86.5090301@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7961386fe9596e6bf03d09948a73c5df9653325b Merge: aa47b7e 091bf76 Author: Ingo Molnar Date: Mon May 11 12:59:32 2009 +0200 Merge commit 'v2.6.30-rc5' into sched/core Merge reason: sched/core was on .30-rc1 before, update to latest fixes Signed-off-by: Ingo Molnar commit 049862579333cc6cd9e6edfd6987cd0addfd8c59 Author: Li Zefan Date: Mon May 11 14:33:23 2009 +0800 blktrace: pdu_buf of pc events should be unsigned I got this: 8,0 1 305.417782332 2037 I R 32 (ffffff9e 10 00 ...) [bash] It should be: 8,0 1 305.417782332 2037 I R 32 (9e 10 00 ...) [bash] [ Impact: fix output of pc events ] Signed-off-by: Li Zefan Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A07C6B3.9080802@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 615a3f1e055ac9b0ae74e1f935a12ea2cfe2a2ad Author: Paul Mackerras Date: Mon May 11 15:50:21 2009 +1000 perf_counter: call atomic64_set for counter->count A compile warning triggered because we are calling atomic_set(&counter->count). But since counter->count is an atomic64_t, we have to use atomic64_set. So the count can be set short, resulting in the reset ioctl only resetting the low word. [ Impact: clear counter properly during the reset ioctl ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18951.48285.270311.981806@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit a08b159fc243dbfe415250466d24cfc5010deee5 Author: Paul Mackerras Date: Mon May 11 15:46:10 2009 +1000 perf_counter: don't count scheduler ticks as context switches The context-switch software counter gives inflated values at present because each scheduler tick and each process-wide counter enable/disable prctl gets counted as a context switch. This happens because perf_counter_task_tick, perf_counter_task_disable and perf_counter_task_enable all call perf_counter_task_sched_out, which calls perf_swcounter_event to record a context switch event. This fixes it by introducing a variant of perf_counter_task_sched_out with two underscores in front for internal use within the perf_counter code, and makes perf_counter_task_{tick,disable,enable} call it. This variant doesn't record a context switch event, and takes a struct perf_counter_context *. This adds the new variant rather than changing the behaviour or interface of perf_counter_task_sched_out because that is called from other code. [ Impact: fix inflated context-switch event counts ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18951.48034.485580.498953@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 6751b71ea2c7ab8c0d65f01973a3fc8ea16992f4 Author: Paul Mackerras Date: Mon May 11 12:08:02 2009 +1000 perf_counter: Put whole group on when enabling group leader Currently, if you have a group where the leader is disabled and there are siblings that are enabled, and then you enable the leader, we only put the leader on the PMU, and not its enabled siblings. This is incorrect, since the enabled group members should be all on or all off at any given point. This fixes it by adding a call to group_sched_in in __perf_counter_enable in the case where we're enabling a group leader. To avoid the need for a forward declaration this also moves group_sched_in up before __perf_counter_enable. The actual content of group_sched_in is unchanged by this patch. [ Impact: fix bug in counter enable code ] Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Corey Ashford LKML-Reference: <18951.34946.451546.691693@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 8823392360dc4992f87bf4c623834d315f297493 Author: Mike Galbraith Date: Sun May 10 10:53:05 2009 +0200 perf_counter, x86: clean up throttling printk s/PERFMON/perfcounters for perfcounter interrupt throttling warning. 'perfmon' is the CPU feature name that is Intel-only, while we do throttling in a generic way. [ Impact: cleanup ] Signed-off-by: Mike Galbraith Cc: Robert Richter Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: Signed-off-by: Ingo Molnar commit 087fa4e964e04371a67f340e1f6ac92c5db5e0a6 Author: Pekka Enberg Date: Thu May 7 15:35:42 2009 +0300 x86: use sparse_memory_present_with_active_regions() on UMA There's no need to use call memory_present() manually on UMA because initmem_init() sets up early_node_map by calling e820_register_active_regions(). [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1241699742.17846.31.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 3551f88f6439cf4da3f5a3747b320280e30500de Author: Pekka Enberg Date: Thu May 7 15:35:41 2009 +0300 x86: unify 64-bit UMA and NUMA paging_init() 64-bit UMA and NUMA versions of paging_init() are almost identical. Therefore, merge the copy in mm/numa_64.c to mm/init_64.c to remove duplicate code. [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1241699741.17846.30.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit c42f32dca3855d8f867387ec6993d9b62516a00e Author: Magnus Damm Date: Mon May 11 09:06:24 2009 +0000 sh: TMU platform data for sh7760 This patch adds TMU platform data for sh7760. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 03f408f1aad8d0f5eb6380732bffc0f72b250fa7 Author: Magnus Damm Date: Mon May 11 08:54:54 2009 +0000 sh: TMU platform data for sh775x This patch adds TMU platform data for sh775x. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 53c0054c3f11b49fc09f24e46f58661def952728 Author: Magnus Damm Date: Mon May 11 08:45:27 2009 +0000 sh: include empty_zero_page in text Include empty_zero_page in _text. This fixes a problem introduced by c3e2586b794b12ffcdf69b4e547030b51e18e6d9 which results in broken boot on R2D-Plus. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0964b0562bb9c93194e852b47bab2397b9e11c18 Author: Yinghai Lu Date: Fri May 8 00:37:34 2009 -0700 x86: Allow 1MB of slack between the e820 map and SRAT, not 4GB It is expected that there might be slight differences between the e820 map and the SRAT table and the intention was that 1MB of slack be allowed. The calculation comparing e820ram and pxmram assumes the units are bytes, when they are in fact pages. This means 4GB of slack is being allowed, not 1MB. This patch makes the correct comparison. comment is from Mel. [ Impact: don't accept buggy SRATs that could dump up to 4G of RAM ] Signed-off-by: Yinghai Lu Acked-by: Mel Gorman Cc: Andrew Morton LKML-Reference: <4A03E13E.6050107@kernel.org> Signed-off-by: Ingo Molnar commit b37ab91907e9002925f4217e3bbd496aa12c2fa3 Author: Yinghai Lu Date: Fri May 8 00:36:44 2009 -0700 x86: Sanity check the e820 against the SRAT table using e820 map only node_cover_memory() sanity checks the SRAT table by ensuring that all PXMs cover the memory reported in the e820. However, when calculating the size of the holes in the e820, it uses the early_node_map[] which contains information taken from both SRAT and e820. If the SRAT is missing an entry, then it is not detected that the SRAT table is incorrect and missing entries. This patch uses the e820 map to calculate the holes instead of early_node_map[]. comment is from Mel. [ Impact: reject incorrect SRAT tables ] Signed-off-by: Yinghai Lu Acked-by: Mel Gorman Cc: Andrew Morton LKML-Reference: <4A03E10C.60906@kernel.org> Signed-off-by: Ingo Molnar commit 4401da6111ac58f94234417427d06a72c4048c74 Author: Yinghai Lu Date: Sat May 2 10:40:57 2009 -0700 x86: read apic ID in the !acpi_lapic case Ed found that on 32-bit, boot_cpu_physical_apicid is not read right, when the mptable is broken. Interestingly, actually three paths use/set it: 1. acpi: at that time that is already read from reg 2. mptable: only read from mptable 3. no madt, and no mptable, that use default apic id 0 for 64-bit, -1 for 32-bit so we could read the apic id for the 2/3 path. We trust the hardware register more than we trust a BIOS data structure (the mptable). We can also avoid the double set_fixmap() when acpi_lapic is used, and also need to move cpu_has_apic earlier and call apic_disable(). Also when need to update the apic id, we'd better read and set the apic version as well - so that quirks are applied precisely. v2: make path 3 with 64bit, use -1 as apic id, so could read it later. v3: fix whitespace problem pointed out by Ed Swierk [ Impact: get correct apic id for bsp other than acpi path ] Reported-by: Ed Swierk Signed-off-by: Yinghai Lu Acked-by: Cyrill Gorcunov LKML-Reference: <49FC85A9.2070702@kernel.org> [ v4: sanity-check in the ACPI case too ] Signed-off-by: Ingo Molnar commit 80989ce0643c1034822f3e339ed8d790b649abe1 Author: Yinghai Lu Date: Sat May 9 23:47:42 2009 -0700 x86: clean up and and print out initial max_pfn_mapped Do this so we can check the range that is mapped before init_memory_mapping(). To be able to print out meaningful info, we first have to fix 64-bit to have max_pfn_mapped assigned before that call. This also unifies the code-path a bit. [ Impact: print more debug info, cleanup ] Signed-off-by: Yinghai Lu LKML-Reference: <49BF0978.40605@kernel.org> Signed-off-by: Ingo Molnar commit b1f744937f1be3e6d3009382a755679133cf782d Author: FUJITA Tomonori Date: Mon May 11 17:56:09 2009 +0900 block: move completion related functions back to blk-core.c Let's put the completion related functions back to block/blk-core.c where they have lived. We can also unexport blk_end_bidi_request() and __blk_end_bidi_request(), which nobody uses. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit e6bb7a96c2c36f20c05ef648f15bd3c2b1834c78 Author: FUJITA Tomonori Date: Mon May 11 17:56:08 2009 +0900 scsi: simplify the bidi completion Let's use blk_end_request_all() instead of blk_end_bidi_request(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 1822952ba2b9f22f79019d07ebbeca31dc14b718 Author: FUJITA Tomonori Date: Mon May 11 17:56:07 2009 +0900 block: let blk_end_request_all handle bidi requests blk_end_request_all() and __blk_end_request_all() should finish all bytes including bidi, by definition. That's what all bidi users need , bidi requests must be complete as a whole (partial completion is impossible). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 3e0c373749d7eb5b354ac0b043f2b2cdf84eefef Author: Yinghai Lu Date: Sat May 9 23:47:42 2009 -0700 x86: clean up and fix setup_clear/force_cpu_cap handling setup_force_cpu_cap() only have one user (Xen guest code), but it should not reuse cleared_cpu_cpus, otherwise it will have problems on SMP. Need to have a separate cpu_cpus_set array too, for forced-on flags, beyond the forced-off flags. Also need to setup handling before all cpus caps are combined. [ Impact: fix the forced-set CPU feature flag logic ] Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Yinghai Lu LKML-Reference: Signed-off-by: Ingo Molnar commit 61fe91e1319556f32bebfd7ed2c68ef02e2c17f7 Author: Yinghai Lu Date: Sat May 9 23:47:42 2009 -0700 x86: apic: Check rev 3 fadt correctly for physical_apic bit Impact: fix fadt version checking FADT2_REVISION_ID has value 3 aka rev 3 FADT. So need to use >= instead of >, as other places in the code do. [ Impact: extend scope of APIC boot quirk ] Signed-off-by: Yinghai Lu LKML-Reference: Signed-off-by: Ingo Molnar commit b9c61b70075c87a8612624736faf4a2de5b1ed30 Author: Yinghai Lu Date: Wed May 6 10:10:06 2009 -0700 x86/pci: update pirq_enable_irq() to setup io apic routing So we can set io apic routing only when enabling the device irq. This is advantageous for IRQ descriptor allocation affinity: if we set up the IO-APIC entry later, we have a chance to allocate the IRQ descriptor later and know which device it is on and can set affinity accordingly. [ Impact: standardize/enhance irq-enabling sequence for mptable irqs ] Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Len Brown Cc: Andrew Morton LKML-Reference: <4A01C46E.8000501@kernel.org> Signed-off-by: Ingo Molnar commit 5ef2183768bb7d64b85eccbfa1537a61cbefa97c Author: Yinghai Lu Date: Wed May 6 10:08:50 2009 -0700 x86/acpi: move setup io apic routing out of CONFIG_ACPI scope So we could set io apic routing when ACPI is not enabled. [ Impact: prepare for new functionality ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C422.5070400@kernel.org> Signed-off-by: Ingo Molnar commit e20c06fd6950265a899edd96a02dc2e6ae2d1ce5 Author: Yinghai Lu Date: Wed May 6 10:08:22 2009 -0700 x86/pci: add 4 more return parameters to IO_APIC_get_PCI_irq_vector() To prepare those params for pcibios_irq_enable() to call setup_io_apic_routing(). [ Impact: extend function call API to prepare for new functionality ] Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Len Brown Cc: Andrew Morton LKML-Reference: <4A01C406.2040303@kernel.org> Signed-off-by: Ingo Molnar commit bdfe8ac153546537ed24de69610ea781a734f785 Author: Yinghai Lu Date: Wed May 6 10:07:41 2009 -0700 x86/acpi: move pin_programmed bit map to io_apic.c Prepare to call setup_io_apic_routing() in pcibios_irq_enable() also remove not needed member apic_id. [ Impact: clean up, prepare for future change ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C3DD.3050104@kernel.org> Signed-off-by: Ingo Molnar commit a31f82057ce6f7ced578d64c07a72ccbdc7336e4 Author: Yinghai Lu Date: Wed May 6 10:06:15 2009 -0700 x86/acpi: call mp_config_acpi_gsi() in mp_register_gsi() The patch to call mp_config_acpi_gsi() from the ACPI IRQ registration code never got mainline because there were open discussions about it. This call is needed to properly update the kernel's copy of the mptable, when the update_mptable boot parameter is needed. Now that the dust has settled with the APIC unification, and since there were no objections when the patch was re-submitted, try this again. [ Impact: fix the update_mptable boot parameter ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C387.7090103@kernel.org> Signed-off-by: Ingo Molnar commit ee214558c2e959781a406e76c5b34364da638e1d Author: Yinghai Lu Date: Wed May 6 10:07:07 2009 -0700 x86: fix alloc_mptable() Fix the conditions when we stop updating the mptable due to running out of slots. [ Impact: fix memory corruption / non-working update_mptable boot parameter ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C3BB.1000609@kernel.org> Signed-off-by: Ingo Molnar commit b9e0353fc85dab4ef5ebcef2bd09ebc4ce6d5a7b Author: Yinghai Lu Date: Wed May 6 10:05:32 2009 -0700 x86/acpi: remove irq-compression trick on 32-bit We already have a per cpu vector on 32-bit via recent changes, and don't need this trick any more (which trick obfuscates the real GSI mappings and which only triggers on larger systems to begin with): On 3 ioapic system (24 per ioapic) before patch I got: ACPI: PCI Interrupt Link [ILSB] enabled at IRQ 71 IOAPIC[2]: Set routing entry (10-23 -> 0xa9 -> IRQ 64 Mode:1 Active:1) pci 0000:80:01.1: PCI INT A -> Link[ILSB] -> GSI 71 (level, low) -> IRQ 64 ACPI: PCI Interrupt Link [LE5B] enabled at IRQ 67 IOAPIC[2]: Set routing entry (10-19 -> 0xb1 -> IRQ 65 Mode:1 Active:1) pci 0000:83:00.0: PCI INT B -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 65 ACPI: PCI Interrupt Link [LE5A] enabled at IRQ 66 IOAPIC[2]: Set routing entry (10-18 -> 0xb9 -> IRQ 66 Mode:1 Active:1) pci 0000:83:00.1: PCI INT A -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 ACPI: PCI Interrupt Link [LE5D] enabled at IRQ 65 IOAPIC[2]: Set routing entry (10-17 -> 0xc1 -> IRQ 67 Mode:1 Active:1) pci 0000:84:00.0: PCI INT B -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 67 ACPI: PCI Interrupt Link [LE5C] enabled at IRQ 64 IOAPIC[2]: Set routing entry (10-16 -> 0xc9 -> IRQ 68 Mode:1 Active:1) pci 0000:84:00.1: PCI INT A -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 68 pci 0000:87:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:87:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 67 pci 0000:88:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 68 pci 0000:88:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 65 pci 0000:8b:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:8b:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 67 pci 0000:8c:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 68 pci 0000:8c:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 65 after the patch we get: ACPI: PCI Interrupt Link [ILSB] enabled at IRQ 71 IOAPIC[2]: Set routing entry (10-23 -> 0xa9 -> IRQ 71 Mode:1 Active:1) pci 0000:80:01.1: PCI INT A -> Link[ILSB] -> GSI 71 (level, low) -> IRQ 71 ACPI: PCI Interrupt Link [LE5B] enabled at IRQ 67 IOAPIC[2]: Set routing entry (10-19 -> 0xb1 -> IRQ 67 Mode:1 Active:1) pci 0000:83:00.0: PCI INT B -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 67 ACPI: PCI Interrupt Link [LE5A] enabled at IRQ 66 IOAPIC[2]: Set routing entry (10-18 -> 0xb9 -> IRQ 66 Mode:1 Active:1) pci 0000:83:00.1: PCI INT A -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 ACPI: PCI Interrupt Link [LE5D] enabled at IRQ 65 IOAPIC[2]: Set routing entry (10-17 -> 0xc1 -> IRQ 65 Mode:1 Active:1) pci 0000:84:00.0: PCI INT B -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 65 ACPI: PCI Interrupt Link [LE5C] enabled at IRQ 64 IOAPIC[2]: Set routing entry (10-16 -> 0xc9 -> IRQ 64 Mode:1 Active:1) pci 0000:84:00.1: PCI INT A -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 64 pci 0000:87:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:87:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 65 pci 0000:88:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 64 pci 0000:88:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 67 pci 0000:8b:00.0: PCI INT B -> Link[LE5A] -> GSI 66 (level, low) -> IRQ 66 pci 0000:8b:00.1: PCI INT A -> Link[LE5D] -> GSI 65 (level, low) -> IRQ 65 pci 0000:8c:00.0: PCI INT B -> Link[LE5C] -> GSI 64 (level, low) -> IRQ 64 pci 0000:8c:00.1: PCI INT A -> Link[LE5B] -> GSI 67 (level, low) -> IRQ 67 As it can be seen that GSIs now get mapped lineary. [ Impact: simplify irq number mapping on bigger 32-bit systems ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes Cc: Len Brown LKML-Reference: <4A01C35C.7060207@kernel.org> Signed-off-by: Ingo Molnar commit fa1285b3d1955c3719413d950224977a900f91f9 Merge: 01f2bd4 9da2927 Author: Takashi Iwai Date: Mon May 11 10:23:36 2009 +0200 Merge branch 'topic/hda-vt-spdif' into topic/hda commit 7bce6c2740fab36708233e998a9e53115649b193 Author: Yoshihiro Shimoda Date: Mon May 11 06:51:28 2009 +0000 sh: sh7785lcr: fix I2C device address map for 32-bit mode This fixes up the broken I2C offset in 32-bit mode. The cause is because the board datasheet had a mistake. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 9934c8c04561413609d2bc38c6b9f268cba774a4 Author: Tejun Heo Date: Fri May 8 11:54:16 2009 +0900 block: implement and enforce request peek/start/fetch Till now block layer allowed two separate modes of request execution. A request is always acquired from the request queue via elv_next_request(). After that, drivers are free to either dequeue it or process it without dequeueing. Dequeue allows elv_next_request() to return the next request so that multiple requests can be in flight. Executing requests without dequeueing has its merits mostly in allowing drivers for simpler devices which can't do sg to deal with segments only without considering request boundary. However, the benefit this brings is dubious and declining while the cost of the API ambiguity is increasing. Segment based drivers are usually for very old or limited devices and as converting to dequeueing model isn't difficult, it doesn't justify the API overhead it puts on block layer and its more modern users. Previous patches converted all block low level drivers to dequeueing model. This patch completes the API transition by... * renaming elv_next_request() to blk_peek_request() * renaming blkdev_dequeue_request() to blk_start_request() * adding blk_fetch_request() which is combination of peek and start * disallowing completion of queued (not started) requests * applying new API to all LLDs Renamings are for consistency and to break out of tree code so that it's apparent that out of tree drivers need updating. [ Impact: block request issue API cleanup, no functional change ] Signed-off-by: Tejun Heo Cc: Rusty Russell Cc: James Bottomley Cc: Mike Miller Cc: unsik Kim Cc: Paul Clements Cc: Tim Waugh Cc: Geert Uytterhoeven Cc: David S. Miller Cc: Laurent Vivier Cc: Jeff Garzik Cc: Jeremy Fitzhardinge Cc: Grant Likely Cc: Adrian McMenamin Cc: Stephen Rothwell Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Cc: Alex Dubov Cc: Pierre Ossman Cc: David Woodhouse Cc: Markus Lidel Cc: Stefan Weinhuber Cc: Martin Schwidefsky Cc: Pete Zaitcev Cc: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2343046826a8ca426b07601d9593ee046c298b68 Author: Tejun Heo Date: Fri May 8 11:54:14 2009 +0900 gdrom: dequeue in-flight request gdrom already dequeues and fully completes requests on normal path and the error paths can be easily converted to do so too. Clean it up and dequeue requests on error paths too. While at it remove superflous blk_fs_request() && !blk_rq_sectors() condition check. [ Impact: dequeue in-flight request, cleanup ] Signed-off-by: Tejun Heo Cc: Adrian McMenamin Signed-off-by: Jens Axboe commit 296b2f6ae654581adc27f0d6f0af454c7f3d06ee Author: Tejun Heo Date: Fri May 8 11:54:15 2009 +0900 block: convert to dequeueing model (easy ones) plat-omap/mailbox, floppy, viocd, mspro_block, i2o_block and mmc/card/queue are already pretty close to dequeueing model and can be converted with simple changes. Convert them. While at it, * xen-blkfront: !fs check moved downwards to share dequeue call with normal path. * mspro_block: __blk_end_request(..., blk_rq_cur_byte()) converted to __blk_end_request_cur() * mmc/card/queue: loop of __blk_end_request() converted to __blk_end_request_all() [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Stephen Rothwell Cc: Alex Dubov Cc: Markus Lidel Cc: Pierre Ossman Signed-off-by: Jens Axboe commit fb3ac7f6b811eac8e0aafa3df1c16ed872e898a8 Author: Tejun Heo Date: Fri May 8 11:54:13 2009 +0900 z2ram: dequeue in-flight request z2ram processes requests one-by-one synchronously and can be easily converted to dequeueing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 6b0bf407b586b6ba8e060ad9979cb2bc3370b7eb Author: Tejun Heo Date: Fri May 8 11:54:12 2009 +0900 jsflash: dequeue in-flight request jsflash processes requests one-by-one synchronously from a kthread and can be easily converted to dequeueing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Pete Zaitcev Signed-off-by: Jens Axboe commit 1498ada7a8e80afe324f2b8d86158925d0096ec9 Author: Tejun Heo Date: Fri May 8 11:54:11 2009 +0900 mtd_blkdevs: dequeue in-flight request mtd_blkdevs processes requests one-by-one synchronously from a kthread and can be easily converted to dequeueing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: David Woodhouse Signed-off-by: Jens Axboe commit bab2a807a489822ded0c9d4a5344c80bcac10b0a Author: Tejun Heo Date: Fri May 8 11:54:10 2009 +0900 xd: dequeue in-flight request xd processes requests one-by-one synchronously and can be easily converted to dequeueing model. Convert it. While at it, use rq_cur_bytes instead of rq_bytes when checking for sector overflow. This is for for consistency and better behavior for merged requests. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 06b0608e2b46465e8e663214e7db982ddb000346 Author: Tejun Heo Date: Fri May 8 11:54:09 2009 +0900 swim: dequeue in-flight request swim processes requests one-by-one synchronously and can easily be converted to dequeuing model. Convert it. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Laurent Vivier Signed-off-by: Jens Axboe commit 9e31bebee2d8b5f8abe9677f2a29b90cba848657 Author: Tejun Heo Date: Fri May 8 11:54:08 2009 +0900 amiflop: dequeue in-flight request Request processing in amiflop is done sequentially in redo_fd_request() proper and redo_fd_request() can easily be converted to track in-flight request. Remove CURRENT, track in-flight request directly and dequeue it when processing starts. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 10e1e629b386aef97bf66de6ef28d450bec06ee3 Author: Tejun Heo Date: Fri May 8 11:54:07 2009 +0900 ps3disk: dequeue in-flight request Other than in issue error paths, ps3disk always completely finishes fetched requests. With full completion on error paths, it can be easily converted to dequeueing model. * After L1 r/w call failure, ps3disk_submit_request_sg() now fails the whole request. Issue failure isn't likely to benefit from partial retry anyway and ps3disk uses full failure in completion error path too, so I don't think this amounts to any meaningful functionality loss. * flush completion is converted to _all for consistency. It doesn't make any functional difference. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Geert Uytterhoeven Signed-off-by: Jens Axboe commit b12d4f82c1a3cdcb2441c803a3368a9426f2f47f Author: Tejun Heo Date: Fri May 8 11:54:06 2009 +0900 paride: dequeue in-flight request pd/pf/pcd have track in-flight request by pd/pf/pcd_req. They can be converted to dequeueing model by updating fetching and completion paths. Convert them. Note that removal of elv_next_request() call from pf_next_buf() doesn't make any functional difference. The path is traveled only during partial completion of a request and elv_next_request() call must return the same request anyway. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Tim Waugh Signed-off-by: Jens Axboe commit 2d75ce084eec2a8154225c7e978191b364029003 Author: Tejun Heo Date: Fri May 8 11:54:05 2009 +0900 xsysace: dequeue in-flight request xsysace already tracks in-flight request using ace->req. Converting to dequeueing model is mostly a matter of adding dequeueing call after request fetching. The only tricky part is handling CF removal which should complete both in flight and on queue requests. Convert to dequeueing model. While at it, remove explicit blk_rq_cur_bytes() and use __blk_end_request_cur() instead. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Grant Likely Signed-off-by: Jens Axboe commit f4bd4b90bfa86e867111aa182895cb5ac203aa7a Author: Tejun Heo Date: Fri May 8 11:54:04 2009 +0900 swim3: dequeue in-flight request swim3 has at most single request in flight and already tracks it using fd_req. Convert it to dequeuing model by updating request fetching and wrapping completion function. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a336ca6fe6e0c46b2eef0e520951acb4e6cb2976 Author: Tejun Heo Date: Fri May 8 11:54:03 2009 +0900 ataflop: dequeue and track in-flight request ataflop has single request in flight. Till now, whenever it needs to access the in-flight request it called elv_next_request(). This patch makes ataflop track the in-flight request directly and dequeue it when processing starts. The added complexity is minimal and this will help future block layer changes. [ Impact: dequeue in-flight request, one elv_next_request() per request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 8a12c4a456c7ee261a85c2cbec835601e6aae05a Author: Tejun Heo Date: Fri May 8 11:54:02 2009 +0900 hd: dequeue and track in-flight request hd has at most single request in flight. Till now, whenever it needs to access the in-flight request it called elv_next_request(). This patch makes hd track the in-flight request directly and dequeue it when processing starts. The added complexity is minimal and this will help future block layer changes. [ Impact: dequeue in-flight request, one elv_next_request() per request ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 5b36ad6000ddea390aca3c3b67ead7616ace2ffc Author: Tejun Heo Date: Fri May 8 11:54:01 2009 +0900 mg_disk: dequeue and track in-flight request mg_disk has at most single request in flight per device. Till now, whenever it needs to access the in-flight request it called elv_next_request(). This patch makes mg_disk track the in-flight request directly using mg_host->req and dequeue it when processing starts. q->queuedata is set to mg_host so that mg_host can be determined without fetching request from the queue. [ Impact: dequeue in-flight request, one elv_next_request() per request ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit 9a8d23d8855e554fc5887f14cb008b55c4300ccc Author: Tejun Heo Date: Fri May 8 11:54:00 2009 +0900 mg_disk: fix queue hang / infinite retry on !fs requests Both request functions in mg_disk simply return when they encounter a !fs request, which means the request will never be cleared from the queue causing queue hang and indefinite retry of the request. Fix it. While at it, flatten condition checks and add unlikely to !fs tests. [ Impact: fix possible queue hang / infinite retry of !fs requests ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit 8f6205cd572fece673da0255d74843680f67f879 Author: Tejun Heo Date: Fri May 8 11:53:59 2009 +0900 ide: dequeue in-flight request ide generally has single request in flight and tracks it using hwif->rq and all state handlers follow the following convention. * ide_started is returned if the request is in flight. * ide_stopped is returned if the queue needs to be restarted. The request might or might not have been processed fully or partially. * hwif->rq is set to NULL, when an issued request completes. So, dequeueing model can be implemented by dequeueing after fetch, requeueing if hwif->rq isn't NULL on ide_stopped return and doing about the same thing on completion / port unlock paths. These changes can be made in ide-io proper. In addition to the above main changes, the following updates are necessary. * ide-cd shouldn't dequeue a request when issuing REQUEST SENSE for it as the request is already dequeued. * ide-atapi uses request queue as stack when issuing REQUEST SENSE to put the REQUEST SENSE in front of the failed request. This now needs to be done using requeueing. [ Impact: dequeue in-flight request ] Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Signed-off-by: Jens Axboe commit 1011c1b9f2e45ce7c6e38888d2b83936aec38771 Author: Tejun Heo Date: Thu May 7 22:24:45 2009 +0900 block: blk_rq_[cur_]_{sectors|bytes}() usage cleanup With the previous changes, the followings are now guaranteed for all requests in any valid state. * blk_rq_sectors() == blk_rq_bytes() >> 9 * blk_rq_cur_sectors() == blk_rq_cur_bytes() >> 9 Clean up accessor usages. Notable changes are * nbd,i2o_block: end_all used instead of explicit byte count * scsi_lib: unnecessary conditional on request type removed [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Paul Clements Cc: Pete Zaitcev Cc: Alex Dubov Cc: Markus Lidel Cc: David Woodhouse Cc: James Bottomley Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit a2dec7b36364a5cc564c4d76cf16d2e7d33f5c05 Author: Tejun Heo Date: Thu May 7 22:24:44 2009 +0900 block: hide request sector and data_len Block low level drivers for some reason have been pretty good at abusing block layer API. Especially struct request's fields tend to get violated in all possible ways. Make it clear that low level drivers MUST NOT access or manipulate rq->sector and rq->data_len directly by prefixing them with double underscores. This change is also necessary to break build of out-of-tree codes which assume the previous block API where internal fields can be manipulated and rq->data_len carries residual count on completion. [ Impact: hide internal fields, block API change ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 34b7d2c957199834c474c9d46739265643f4d9c7 Author: Tejun Heo Date: Thu May 7 22:24:43 2009 +0900 ide: cleanup rq->data_len usages With recent unification of fields, it's now guaranteed that rq->data_len always equals blk_rq_bytes(). Convert all direct users to accessors. [ Impact: convert direct rq->data_len usages to blk_rq_bytes() ] Signed-off-by: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Signed-off-by: Jens Axboe commit b0790410300abaaf4f25f702803beff701baebf1 Author: Tejun Heo Date: Thu May 7 22:24:42 2009 +0900 block: cleanup rq->data_len usages With recent unification of fields, it's now guaranteed that rq->data_len always equals blk_rq_bytes(). Convert all non-IDE direct users to accessors. IDE will be converted in a separate patch. Boaz: spotted incorrect data_len/resid_len conversion in osd. [ Impact: convert direct rq->data_len usages to blk_rq_bytes() ] Signed-off-by: Tejun Heo Acked-by: Sergei Shtylyov Cc: Pete Zaitcev Cc: Eric Moore Cc: Markus Lidel Cc: Darrick J. Wong Cc: James Bottomley Cc: Eric Moore Cc: Boaz Harrosh Cc: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2e46e8b27aa57c6bd34b3102b40ee4d0144b4fab Author: Tejun Heo Date: Thu May 7 22:24:41 2009 +0900 block: drop request->hard_* and *nr_sectors struct request has had a few different ways to represent some properties of a request. ->hard_* represent block layer's view of the request progress (completion cursor) and the ones without the prefix are supposed to represent the issue cursor and allowed to be updated as necessary by the low level drivers. The thing is that as block layer supports partial completion, the two cursors really aren't necessary and only cause confusion. In addition, manual management of request detail from low level drivers is cumbersome and error-prone at the very least. Another interesting duplicate fields are rq->[hard_]nr_sectors and rq->{hard_cur|current}_nr_sectors against rq->data_len and rq->bio->bi_size. This is more convoluted than the hard_ case. rq->[hard_]nr_sectors are initialized for requests with bio but blk_rq_bytes() uses it only for !pc requests. rq->data_len is initialized for all request but blk_rq_bytes() uses it only for pc requests. This causes good amount of confusion throughout block layer and its drivers and determining the request length has been a bit of black magic which may or may not work depending on circumstances and what the specific LLD is actually doing. rq->{hard_cur|current}_nr_sectors represent the number of sectors in the contiguous data area at the front. This is mainly used by drivers which transfers data by walking request segment-by-segment. This value always equals rq->bio->bi_size >> 9. However, data length for pc requests may not be multiple of 512 bytes and using this field becomes a bit confusing. In general, having multiple fields to represent the same property leads only to confusion and subtle bugs. With recent block low level driver cleanups, no driver is accessing or manipulating these duplicate fields directly. Drop all the duplicates. Now rq->sector means the current sector, rq->data_len the current total length and rq->bio->bi_size the current segment length. Everything else is defined in terms of these three and available only through accessors. * blk_recalc_rq_sectors() is collapsed into blk_update_request() and now handles pc and fs requests equally other than rq->sector update. This means that now pc requests can use partial completion too (no in-kernel user yet tho). * bio_cur_sectors() is replaced with bio_cur_bytes() as block layer now uses byte count as the primary data length. * blk_rq_pos() is now guranteed to be always correct. In-block users converted. * blk_rq_bytes() is now guaranteed to be always valid as is blk_rq_sectors(). In-block users converted. * blk_rq_sectors() is now guaranteed to equal blk_rq_bytes() >> 9. More convenient one is used. * blk_rq_bytes() and blk_rq_cur_bytes() are now inlined and take const pointer to request. [ Impact: API cleanup, single way to represent one property of a request ] Signed-off-by: Tejun Heo Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit 9780e2dd8254351f6cbe11304849126b51dbd561 Author: Tejun Heo Date: Thu May 7 22:24:40 2009 +0900 ide: convert to rq pos and nr_sectors accessors ide doesn't manipulate request fields anymore and thus all hard and their soft equivalents are always equal. Convert all references to accessors. [ Impact: use pos and nr_sectors accessors ] Signed-off-by: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Signed-off-by: Jens Axboe commit 83096ebf1263b2c1ee5e653ba37d993d02e3eb7b Author: Tejun Heo Date: Thu May 7 22:24:39 2009 +0900 block: convert to pos and nr_sectors accessors With recent cleanups, there is no place where low level driver directly manipulates request fields. This means that the 'hard' request fields always equal the !hard fields. Convert all rq->sectors, nr_sectors and current_nr_sectors references to accessors. While at it, drop superflous blk_rq_pos() < 0 test in swim.c. [ Impact: use pos and nr_sectors accessors ] Signed-off-by: Tejun Heo Acked-by: Geert Uytterhoeven Tested-by: Grant Likely Acked-by: Grant Likely Tested-by: Adrian McMenamin Acked-by: Adrian McMenamin Acked-by: Mike Miller Cc: James Bottomley Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Cc: Eric Moore Cc: Alan Stern Cc: FUJITA Tomonori Cc: Pete Zaitcev Cc: Stephen Rothwell Cc: Paul Clements Cc: Tim Waugh Cc: Jeff Garzik Cc: Jeremy Fitzhardinge Cc: Alex Dubov Cc: David Woodhouse Cc: Martin Schwidefsky Cc: Dario Ballabio Cc: David S. Miller Cc: Rusty Russell Cc: unsik Kim Cc: Laurent Vivier Signed-off-by: Jens Axboe commit 5b93629b4509c03ffa87a9316412fedf6f58cb37 Author: Tejun Heo Date: Thu May 7 22:24:38 2009 +0900 block: implement blk_rq_pos/[cur_]sectors() and convert obvious ones Implement accessors - blk_rq_pos(), blk_rq_sectors() and blk_rq_cur_sectors() which return rq->hard_sector, rq->hard_nr_sectors and rq->hard_cur_sectors respectively and convert direct references of the said fields to the accessors. This is in preparation of request data length handling cleanup. Geert : suggested adding const to struct request * parameter to accessors Sergei : spotted error in patch description [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: Geert Uytterhoeven Acked-by: Stephen Rothwell Tested-by: Grant Likely Acked-by: Grant Likely Ackec-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: James Bottomley Signed-off-by: Jens Axboe commit c3a4d78c580de4edc9ef0f7c59812fb02ceb037f Author: Tejun Heo Date: Thu May 7 22:24:37 2009 +0900 block: add rq->resid_len rq->data_len served two purposes - the length of data buffer on issue and the residual count on completion. This duality creates some headaches. First of all, block layer and low level drivers can't really determine what rq->data_len contains while a request is executing. It could be the total request length or it coulde be anything else one of the lower layers is using to keep track of residual count. This complicates things because blk_rq_bytes() and thus [__]blk_end_request_all() relies on rq->data_len for PC commands. Drivers which want to report residual count should first cache the total request length, update rq->data_len and then complete the request with the cached data length. Secondly, it makes requests default to reporting full residual count, ie. reporting that no data transfer occurred. The residual count is an exception not the norm; however, the driver should clear rq->data_len to zero to signify the normal cases while leaving it alone means no data transfer occurred at all. This reverse default behavior complicates code unnecessarily and renders block PC on some drivers (ide-tape/floppy) unuseable. This patch adds rq->resid_len which is used only for residual count. While at it, remove now unnecessasry blk_rq_bytes() caching in ide_pc_intr() as rq->data_len is not changed anymore. Boaz : spotted missing conversion in osd Sergei : spotted too early conversion to blk_rq_bytes() in ide-tape [ Impact: cleanup residual count handling, report 0 resid by default ] Signed-off-by: Tejun Heo Cc: James Bottomley Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov Cc: Sergei Shtylyov Cc: Mike Miller Cc: Eric Moore Cc: Alan Stern Cc: FUJITA Tomonori Cc: Doug Gilbert Cc: Mike Miller Cc: Eric Moore Cc: Darrick J. Wong Cc: Pete Zaitcev Cc: Boaz Harrosh Signed-off-by: Jens Axboe commit 9720aef2539c10e3a872e9a92beec225030d99db Author: Tejun Heo Date: Thu May 7 22:24:36 2009 +0900 ide-tape: don't initialize rq->sector for rw requests rq->sector is set to the tape->first_frame but it's never actually used and not even in the correct unit (512 byte sectors). Don't set it. [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: Borislav Petkov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 53d6979ab6747e758207e8ac861b96d0da0d3332 Author: Tejun Heo Date: Thu May 7 22:24:35 2009 +0900 nbd: don't clear rq->sector and nr_sectors unnecessarily There's no reason to clear rq->sector and nr_sectors after calling blk_rq_init(). They're guaranteed to be clear. Drop unnecessary clearing. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Paul Clements Signed-off-by: Jens Axboe commit 7a309490da98981558a07183786201f02a6341e2 Merge: 9a8709d 091bf76 Author: Ingo Molnar Date: Mon May 11 09:33:06 2009 +0200 Merge commit 'v2.6.30-rc5' into x86/apic Merge reason: this branch was on a .30-rc2 base - sync it up with all the latest fixes. Signed-off-by: Ingo Molnar commit 5d423ccd7ba4285f1084e91b26805e1d0ae978ed Author: Yinghai Lu Date: Wed May 6 08:07:52 2009 -0700 x86/pci: remove rounding quirk from e820_setup_gap() Now that the e820 code explicitly reserves 'potentially dangerous' free physical memory address space to protect ACPI stolen RAM, there's no need for the rounding quirk in the PCI allocator anymore. Also, this quirk was open-ended iteration that could end up reserving a lot of free space and potentially breaking drivers - such as the one reported by Yannick Roehlly where there's a PCI device with a large memory resource. So remove it. [ Impact: make more of the PCI hole available for assigning pci devices ] Reported-by: Yannick Roehlly Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Ivan Kokshaysky Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <4A01A7C8.5090701@kernel.org> Signed-off-by: Ingo Molnar commit 45fbe3ee01b8e463b28c2751b5dcc0cbdc142d90 Author: Linus Torvalds Date: Wed May 6 08:06:44 2009 -0700 x86, e820, pci: reserve extra free space near end of RAM The point is to take all RAM resources we have, and _after_ we've added all the resources we've seen in the E820 tree, we then _also_ try to add fake reserved entries for any "round up to X" at the end of the RAM resources. [ Impact: improve PCI mem-resource allocation robustness, protect "stolen RAM" ] Reported-by: Yannick Roehlly Acked-by: Jesse Barnes Signed-off-by: Yinghai Lu Cc: Ivan Kokshaysky Cc: Andrew Morton Cc: yannick.roehlly@free.fr LKML-Reference: <4A01A784.2050407@kernel.org> Signed-off-by: Ingo Molnar commit 134cbf35c739bf89c51fd975a33a6b87507482c4 Merge: 2feceef 091bf76 Author: Ingo Molnar Date: Mon May 11 09:33:06 2009 +0200 Merge commit 'v2.6.30-rc5' into x86/mm Merge reason: this branch was on a .30-rc2 base - sync it up with all the latest fixes. Signed-off-by: Ingo Molnar commit 3d5cb60ef3042ac479dab82e5a945966a0d54d53 Author: Thadeu Lima de Souza Cascardo Date: Sat May 9 16:08:04 2009 -0700 Input: simplify name handling for certain input handles For evdev, joydev and mousedev, instead of having a separate character array holding name of the handle, use struct devce's name which is the same. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Dmitry Torokhov commit 7303f240981888884412a97ac742772527356880 Author: Wu Fengguang Date: Mon May 11 09:59:34 2009 +0300 slob: use PG_slab for identifying SLOB pages For the sake of consistency. Signed-off-by: Wu Fengguang Cc: KOSAKI Motohiro Cc: Andi Kleen Acked-by: Matt Mackall Cc: Alexey Dobriyan Cc: Ingo Molnar Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Pekka Enberg commit 01f2bd48d08c6bbde12d86b66c760612e33e49a9 Author: Takashi Iwai Date: Mon May 11 08:12:43 2009 +0200 ALSA: hda - Add missing models for Realtek codecs Added the missing descriptions and the model names for Realtek codecs to the documentation and the config table. Signed-off-by: Takashi Iwai commit 780f98ff1fa9cfcab177f6b5ab09b11321f1e5c8 Author: Paul Mundt Date: Mon May 11 12:15:14 2009 +0900 sh: Account for INITIAL_JIFFIES when using jiffies clocksource. In the case where we fall back on the generic jiffies clocksource, INITIAL_JIFFIES needs to be accounted for so that printk times aren't completely skewed. Signed-off-by: Paul Mundt commit d9d674e50007362567edb5df65c05dd56a5964bf Author: Paul Mundt Date: Mon May 11 12:12:38 2009 +0900 sh: Fix up typo in arch/sh/kernel/vmlinux.lds.S .init_ramfs ought to be .init.ramfs, fix it up. Signed-off-by: Paul Mundt commit 107db7c7dd137aeb7361b8c2606ac936c0be58ff Author: David Howells Date: Fri May 8 13:55:27 2009 +0100 CRED: Guard the setprocattr security hook against ptrace Guard the setprocattr security hook against ptrace by taking the target task's cred_guard_mutex around it. The problem is that setprocattr() may otherwise note the lack of a debugger, and then perform an action on that basis whilst letting a debugger attach between the two points. Holding cred_guard_mutex across the test and the action prevents ptrace_attach() from doing that. Signed-off-by: David Howells Signed-off-by: James Morris commit 5e751e992f3fb08ba35e1ca8095ec8fbf9eda523 Author: David Howells Date: Fri May 8 13:55:22 2009 +0100 CRED: Rename cred_exec_mutex to reflect that it's a guard against ptrace Rename cred_exec_mutex to reflect that it's a guard against foreign intervention on a process's credential state, such as is made by ptrace(). The attachment of a debugger to a process affects execve()'s calculation of the new credential state - _and_ also setprocattr()'s calculation of that state. Signed-off-by: David Howells Signed-off-by: James Morris commit c416daa98a584596df21ee2c26fac6579ee58f57 Author: David Woodhouse Date: Sun May 10 20:30:58 2009 +0100 intel-iommu: Tidy up iommu->gcmd handling Signed-off-by: David Woodhouse commit 462b60f6ccc685f7e8aa04ff430e6b4ffedf629f Author: David Woodhouse Date: Sun May 10 20:18:18 2009 +0100 intel-iommu: Fix tiny theoretical race in write-buffer flush. In iommu_flush_write_buffer() we read iommu->gcmd before taking the register_lock, and then we mask in the WBF bit and write it to the register. There is a tiny chance that something else could have _changed_ iommu->gcmd before we take the lock, but after we read it. So we could be undoing that change. Never actually going to have happened in practice, since nothing else changes that register at runtime -- aside from the write-buffer flush it's only ever touched at startup for enabling translation, etc. But worth fixing anyway. Signed-off-by: David Woodhouse commit 1f0ef2aa18802a8ce7eb5a5164aaaf4d59073801 Author: David Woodhouse Date: Sun May 10 19:58:49 2009 +0100 intel-iommu: Clean up handling of "caching mode" vs. IOTLB flushing. As we just did for context cache flushing, clean up the logic around whether we need to flush the iotlb or just the write-buffer, depending on caching mode. Fix the same bug in qi_flush_iotlb() that qi_flush_context() had -- it isn't supposed to be returning an error; it's supposed to be returning a flag which triggers a write-buffer flush. Remove some superfluous conditional write-buffer flushes which could never have happened because they weren't for non-present-to-present mapping changes anyway. Signed-off-by: David Woodhouse commit 4c25a2c1b90bf785fc2e2f0f0c74a80b3e070d39 Author: David Woodhouse Date: Sun May 10 17:16:06 2009 +0100 intel-iommu: Clean up handling of "caching mode" vs. context flushing. It really doesn't make a lot of sense to have some of the logic to handle caching vs. non-caching mode duplicated in qi_flush_context() and __iommu_flush_context(), while the return value indicates whether the caller should take other action which depends on the same thing. Especially since qi_flush_context() thought it was returning something entirely different anyway. This patch makes qi_flush_context() and __iommu_flush_context() both return void, removes the 'non_present_entry_flush' argument and makes the only call site which _set_ that argument to 1 do the right thing. Signed-off-by: David Woodhouse commit fa3b6dcd5298db2e7b63c17795c9e5570d3df8d9 Author: Yu Zhao Date: Fri May 8 10:33:38 2009 +0800 VT-d: fix invalid domain id for KVM context flush The domain->id is a sequence number associated with the KVM guest and should not be used for the context flush. This patch replaces the domain->id with a proper id value for both bare metal and KVM. Signed-off-by: Yu Zhao Acked-by: Weidong Han Signed-off-by: David Woodhouse commit 82afae6016b672acb90ceb8e773bba0bd977d2a3 Author: Erdem Aktas Date: Sun May 10 02:13:19 2009 -0400 perf_counter tools: fix buffer overwrite problem for perf top command There is a buffer overwrite problem in builtin-top.c line 526, When I tried to use ./perf top command, it was giving memory corruption problem. [ Impact: fix 'perf top' crash ] LKML-Reference: <3fee128b0905092313x608e65e0l7b1116d86914114f@mail.gmail.com> Signed-off-by: Ingo Molnar commit 980c9e8ceeb69ac4c921173d0d06323f5c678647 Author: David Woodhouse Date: Sat May 9 22:54:21 2009 -0700 tun: add tun_flags, owner, group attributes in sysfs This patch adds three attribute files in /sys/class/net/$dev/ for tun devices; allowing userspace to obtain the information which TUNGETIFF offers, and more, but without having to attach to the device in question (which may not be possible if it's in use). It also fixes a bug which has been present in the TUNGETIFF ioctl since its inception, where it would never set IFF_TUN or IFF_TAP according to the device type. (Look carefully at the code which I remove from tun_get_iff() and how the new tun_flags() helper is subtly different). Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 567bb8fd47624cb9f894c64ce9530d43d5862a71 Author: Paul Mundt Date: Sun May 10 14:25:39 2009 +0900 sh: Fix up R0 dependence in __arch_swab16/32. There is nothing in these routines that inherently depends on R0 use. Given that these routines are inlined, it is rather easy to blow up the compiler by exhausting the spill class when performing a 64-bit swab. This presently manifests itself as the following: CC fs/ocfs2/suballoc.o fs/ocfs2/suballoc.c: In function 'ocfs2_reserve_suballoc_bits': fs/ocfs2/suballoc.c:638: error: unrecognizable insn: (insn 2793 1230 1231 103 arch/sh/include/asm/swab.h:33 (set (reg:HI 853) (subreg:HI (reg:SI 149 macl) 2)) -1 (expr_list:REG_DEAD (reg:SI 149 macl) (nil))) fs/ocfs2/suballoc.c:638: internal compiler error: in extract_insn, at recog.c:1991 This patch switches over to using an arbitrarily assigned register instead. While the same issue does not exist in the SH-5 case, there is likewise no harm in having an alternate register used for the byterev/shari pair. Signed-off-by: Paul Mundt commit 7e044e056a6aa0dc695db50461d7b326fde15e8b Author: Dmitry Torokhov Date: Sat May 9 16:08:05 2009 -0700 Input: serio - do not use deprecated dev.power.power_state Signed-off-by: Dmitry Torokhov commit ed9b58bc443a1210b5be1ded6421b17e015bf985 Author: Richard Genoud Date: Sat May 9 06:59:16 2009 +0000 Remove duplicate slow protocol define in bond_3ad.h ETH_P_SLOW is already defined in include/linux/if_ether.h. There's no need to define BOND_ETH_P_LACPDU in drivers/net/bonding/bond_3ad.h Signed-off-by: Richard Genoud Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit ab9c73ccb52f40576ce017528d542eda3c6ae766 Author: Jiri Pirko Date: Fri May 8 13:30:17 2009 +0000 net: check retval of dev_addr_init() Add missed checking of dev_addr_init return value in alloc_netdev_mq. Signed-off-by: Jiri Pirko net/core/dev.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) Signed-off-by: David S. Miller commit 9948bb6a6db6ad6a8bf2ccaaceb780404f1f43df Author: Steven Whitehouse Date: Fri May 8 06:30:25 2009 +0000 decnet: Use data ready call back, rather than hand coding it Signed-off-by: Steven Whitehouse Signed-off-by: David S. Miller commit 23b6cc425d718fce2501d5f60e368cfa44ef7d86 Author: Dhananjay Phadke Date: Fri May 8 22:02:30 2009 +0000 netxen: trivial register access cleanup Remove unnecessary length parameter since it's always 4 bytes. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit b0b3a75b36afe3b1ed2c12b8817b6326db8ed003 Author: Dhananjay Phadke Date: Fri May 8 22:02:29 2009 +0000 netxen: disable msi-x for NC512m adapter This board doesn't suppot msi-x well due to msi-x table mapping (hardware) issue. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit be339aee634d5cb98a8df8d6febe04002ec497f3 Author: Dhananjay Phadke Date: Fri May 8 22:02:28 2009 +0000 netxen: fix irq tear down and msix leak. o Fix the order of irq and hardware context teardown. Also synchronize the interrupt in dev close() before releasing tx buffers. o Fix possible msi-x vector leak if available vectors are less than requested. o Request multiple msix vectors only if hardware supports multiple rx queues. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7a2469ce4d8984722d65628969ad6f8b09da136f Author: Dhananjay Phadke Date: Fri May 8 22:02:27 2009 +0000 netxen: cache msi register offset Store msi target status register offset in adapter struct. This avoids contention on msi_tgt_status table from interrupt hadlers of different pci function. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 457daa2b66e07bbd2280b9f8d2b03e800f357243 Author: Paul Mundt Date: Sun May 10 01:28:01 2009 +0900 sh: Hook up cc-cross-prefix support. This implements a simple case that just iterates through the common cases, looking at UTS_MACHINE for hints. Signed-off-by: Paul Mundt commit b412a49af970e703124fa3259bf24165c0c74024 Author: Paul Mundt Date: Sun May 10 01:23:25 2009 +0900 sh: Consolidate the boot link and entry offset definitions. Consolidate these in a single place in the Kconfig menus. At the same time, disable their interactivity and set them according to the board config defaults. Signed-off-by: Paul Mundt commit 1eca133cc9f978a8c44788fc5b2fe54219f9425c Author: Paul Mundt Date: Sun May 10 00:58:21 2009 +0900 sh: Merge the split arch/sh/boot/compressed/ Makefiles. This kills off the _64 variant and moves the _32 one over as the generic one to use. Signed-off-by: Paul Mundt commit b20883562455060272126c36563a7d8edafc30d3 Author: Paul Mundt Date: Sun May 10 00:55:45 2009 +0900 sh: Provide a BITS definition, use it in the arch/sh/boot/ Makefiles. This introduces a BITS export that can handily be picked up by Makefiles for cleaner sharing. Reflect its use in arch/sh/boot/compressed/ in preparation for unifying the Makefiles. Signed-off-by: Paul Mundt commit a2e76c80d93ec3c59a030b6ca37b9087033565c1 Author: Paul Mundt Date: Sun May 10 00:54:39 2009 +0900 sh: Provide a tighter BOOT_LINK_OFFSET definition for the Cayman board. Signed-off-by: Paul Mundt commit 20b27fa33743c6ef77a1248421fab51e8bf21a25 Author: Paul Mundt Date: Sun May 10 00:36:22 2009 +0900 sh: Fix up the sh64 zImage build. Signed-off-by: Paul Mundt commit 151ab22cf71b7a1b9dd696d65a1a41e13d90cd00 Author: Mark Brown Date: Sat May 9 16:22:58 2009 +0100 ASoC: Fix up CODEC DAI formats for big endian CPUs ASoC uses the standard ALSA data format definitions to specify the wire format used between the CPU and CODEC. Since the ALSA data formats all include the endianess of the data but this information is not relevant by the time the data has been encoded onto the serial link to the CODEC this means that either all the CODEC drivers need to declare both big and little endian variants or the core needs to fix up the format constraints specified by CODEC drivers. For now take the latter approach - this will need to be revisited if any CODECs are endianness dependant. Signed-off-by: Mark Brown commit 7b022d07a0fd2ce02d4456b732c674ff1d16f5ce Author: Paul Mundt Date: Sun May 10 00:25:08 2009 +0900 sh: Tidy up the ldscript output format specifier. Tie this in to the Makefile directly, where we already know what we are running on. This tidies up the linker script a bit, and is prep work for unifying the arch/sh/boot/compressed linker scripts. Signed-off-by: Paul Mundt commit dce97c8cb2ad365fa87dc6924d99528c21c63912 Author: Paul Mundt Date: Sat May 9 23:36:10 2009 +0900 sh: Move the unified linker script in place, kill off old _64 one. Just forcefully rename the _32 variant overtop, and kill off the now unused _64 version. Signed-off-by: Paul Mundt commit c3e2586b794b12ffcdf69b4e547030b51e18e6d9 Author: Paul Mundt Date: Sat May 9 23:33:02 2009 +0900 sh: Integrate sh64 bits in vmlinux_32.lds.S. This adds all of the requisite bits from vmlinux_64.lds.S in to the _32 variant, resulting in a unified and generic linker script that can be shared across both. Signed-off-by: Paul Mundt commit 7cd0378ef4c0d7b05e7dcb1daa115b841ffdc31a Author: Paul Mundt Date: Sat May 9 18:03:37 2009 +0900 sh: Fix up SHmedia module ELF relocations. This fixes up the LSB setting for SHmedia branching in updated symbols when processing module relocations. Signed-off-by: Paul Mundt commit 1031a3a57ed76f5cb8754a89ddb22f3d9ebe8861 Author: Paul Mundt Date: Sat May 9 17:57:21 2009 +0900 sh: Provide an __sdivsi3_2 export for sh64. Newer code paths that are heavier in 64-bit math manage to get this generated by newer compilers, provide a definition and export accordingly. This is trivially wrapped around the existing __sdivsi3 code. Signed-off-by: Paul Mundt commit f15b18d0755b3ee4b29991fc2fde535ee41df53c Author: Ingo Molnar Date: Sat May 9 10:04:22 2009 +0200 perf_counter tools: remove debug code from builtin-stat.c Signed-off-by: Ingo Molnar commit 2bcfffa42309b6f73042c62459bf5207762a271d Author: Paul Mundt Date: Sat May 9 16:02:08 2009 +0900 sh: Rename opcode_t to insn_size_t. This is now clashing with a driver, so just rename it. Signed-off-by: Paul Mundt commit 6dbe47a170f80159f23c856ad4e02f2685c6f6cb Author: Paul Mundt Date: Sat May 9 14:44:30 2009 +0900 sh: Provide __read_{read,write}sl() definitions for sh64. These are presently only defined for sh32, use the plain unoptimized versions for sh64. Fixes up smsc911x build. Signed-off-by: Paul Mundt commit 2fedaacdc07e053d93e0607047a96d282f62aca2 Author: Paul Mundt Date: Sat May 9 14:38:49 2009 +0900 sh: Cleanup irqflags size mismatch on SH-5 build. Signed-off-by: Paul Mundt commit e9e8b1fb995543c4cc3930f465923a552b2e48b7 Author: Paul Mundt Date: Sat May 9 14:31:37 2009 +0900 sh: Fix up the sh64 earlyprintk build. sci_rxd_in() on SH-5 wants to be using SCSPTR, not SCSPTR2. Signed-off-by: Paul Mundt commit b30505c81a9d4adea8b70ecff512b0216929b797 Author: Darren Hart Date: Thu May 7 15:40:14 2009 -0700 futex: add requeue-pi documentation Add Documentation/futex-requeue-pi.txt describing the motivation for the newly added FUTEX_*REQUEUE_PI op codes and their implementation. [ Impact: add documentation ] Signed-off-by: Darren Hart Cc: Sripathi Kodi Cc: Peter Zijlstra Cc: John Stultz Cc: Steven Rostedt Cc: Dinakar Guniguntala Cc: Ulrich Drepper Cc: Eric Dumazet Cc: Jakub Jelinek LKML-Reference: <4A03634E.3080609@us.ibm.com> [ reformatted the file ] Signed-off-by: Ingo Molnar commit 778dedae0cb76a441145f3a0c5d59fcb3ba296d5 Author: Huang Weiyi Date: Sat May 9 12:54:34 2009 +0800 x86: mce: remove duplicated #include Remove duplicated #include in arch/x86/kernel/cpu/mcheck/mce_intel_64.c. [ Impact: cleanup ] Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 6f660f12d703fa23069317f0a64c6b75d08c15c2 Author: Ping Cheng Date: Fri May 8 18:30:33 2009 -0700 Input: wacom - add support for Intuos4 tablets Signed-oof-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 9b771ac442a640999247314e8cdafd8943611700 Author: Dmitry Torokhov Date: Fri May 8 18:30:32 2009 -0700 Input: lifebook - don't send incomplete events When we get a relative packet from trackpoint (when we deal with touchscreen/trackpoint combo) we should not send events for the device corresponding to touchscreen as it confuses evtouch driver (it looks like it keeps previously reported absolute coordinates and the cursor stays in the same place). Reported-by: Marcin Drewka Signed-off-by: Dmitry Torokhov commit af27a69aaba2feaeb0b9eebdde2f0b71350c4789 Author: Dmitry Torokhov Date: Fri May 8 18:30:33 2009 -0700 Input: ALPS - Dell Latitude D630/D800 have DualPoint Dell Latitude D630/D800 have DualPoint (touchpad plus trackpoint) instead of a simple touchpad and a pass-through port for external PS/2 mouse. Signed-off-by: Dmitry Torokhov commit d585a021c0b10b0477d6b608c53e1feb8cde0507 Merge: 84e5b0d 091bf76 Author: Dmitry Torokhov Date: Fri May 8 18:29:27 2009 -0700 Merge commit 'v2.6.30-rc5' into next commit 02a884c0fe7ec8459d00d34b7d4101af21fc4a86 Author: H. Peter Anvin Date: Fri May 8 17:42:16 2009 -0700 x86, boot: determine compressed code offset at compile time Determine the compressed code offset (from the kernel runtime address) at compile time. This allows some minor optimizations in arch/x86/boot/compressed/head_*.S, but more importantly it makes this value available to the build process, which will enable a future patch to export the necessary linear memory footprint into the bzImage header. [ Impact: cleanup, future patch enabling ] Signed-off-by: H. Peter Anvin commit 36d3793c947f1ef7ba3d24eeeddc1be41adc5ab4 Author: H. Peter Anvin Date: Fri May 8 16:45:15 2009 -0700 x86, boot: use appropriate rep string for move and clear In the pre-decompression code, use the appropriate largest possible rep movs and rep stos to move code and clear bss, respectively. For reverse copy, do note that the initial values are supposed to be the address of the first (highest) copy datum, not one byte beyond the end of the buffer. rep strings are not necessarily the fastest way to perform these operations on all current processors, but are likely to be in the future, and perhaps more importantly, we want to encourage the architecturally right thing to do here. This also fixes a couple of trivial inefficiencies on 64 bits. [ Impact: trivial performance enhancement, increase code similarity ] Signed-off-by: H. Peter Anvin commit 97541912785369925723b6255438ad9fce2ddf04 Author: H. Peter Anvin Date: Wed May 6 17:56:51 2009 -0700 x86, boot: zero EFLAGS on 32 bits The 64-bit code already clears EFLAGS as soon as it has a stack. This seems like a reasonable precaution, so do it on 32 bits as well. [ Impact: extra paranoia ] Signed-off-by: H. Peter Anvin commit 0a137736704ef9af719409933b3c33e138461786 Author: H. Peter Anvin Date: Fri May 8 16:27:41 2009 -0700 x86, boot: set up the decompression stack as early as possible Set up the decompression stack as soon as we know where it needs to go. That way we have a full-service stack as soon as possible, rather than relying on the BP_scratch field. Note that the stack does need to be empty during bss zeroing (or else the stack needs to be moved out of the bss segment, which is also an option.) [ Impact: cleanup, minor paranoia ] Signed-off-by: H. Peter Anvin commit 5b11f1cee5797b38d16b94d8745b12b6727a8373 Author: H. Peter Anvin Date: Fri May 8 16:20:34 2009 -0700 x86, boot: straighten out ranges to copy/zero in compressed/head*.S Both on 32 and 64 bits, we copy all the way up to the end of bss, except that on 64 bits there is a hack to avoid copying on top of the page tables. There is no point in copying bss at all, especially since we are just about to zero it all anyway. To clean up and unify the handling, we now do: - copy from startup_32 to _bss. - zero from _bss to _ebss. - the _ebss symbol is aligned to an 8-byte boundary. - the page tables are moved to a separate section. Use _bss as the copy endpoint since _edata may be misaligned. [ Impact: cleanup, trivial performance improvement ] Signed-off-by: H. Peter Anvin commit b40d68d5b5b799caaf99d2e073e62962e6d917ce Author: H. Peter Anvin Date: Fri May 8 15:59:13 2009 -0700 x86, boot: stylistic cleanups for boot/compressed/head_64.S Clean up style issues in arch/x86/boot/compressed/head_64.S. This file had a lot fewer style issues than its 32-bit cousin, but the ones it has are worth fixing, especially since it makes the two files more similar. [ Impact: cleanup, no object code change ] Signed-off-by: H. Peter Anvin commit 5f64ec64e7f9b246c0a94f34cdf7782f98a6e55d Author: H. Peter Anvin Date: Fri May 8 15:45:17 2009 -0700 x86, boot: stylistic cleanups for boot/compressed/head_32.S Reformat arch/x86/boot/compressed/head_32.S to be closer to currently preferred kernel assembly style, that is: - opcode and operand separated by tab - operands separated by ", " - C-style comments This also makes it more similar to head_64.S. [ Impact: cleanup, no object code change ] Signed-off-by: H. Peter Anvin commit bd2a36984c50bb546a7d04cb395fddcf98a1092c Author: H. Peter Anvin Date: Tue May 5 23:24:50 2009 -0700 x86, boot: use BP_scratch in arch/x86/boot/compressed/head_*.S Use the BP_scratch symbol from asm-offsets.h instead of hard-coding the location. [ Impact: cleanup ] Signed-off-by: H. Peter Anvin commit 283ab1c0bd462dd0b179393fb081a626f6687413 Author: H. Peter Anvin Date: Fri May 8 15:32:47 2009 -0700 x86, boot: follow standard Kbuild style for compression suffix When generating the compression suffix in arch/x86/boot/compressed/Makefile, follow standard Kbuild conventions, that is: - Use a dash not underscore before y/m/n endings - Use := whenever possible. Requested-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit 5f11e02019ef44f041e6e38a1363fa2fd4b8785d Author: H. Peter Anvin Date: Tue May 5 22:53:11 2009 -0700 x86, boot: simplify arch/x86/boot/compressed/Makefile Simplify the arch/x86/boot/compressed/Makefile, by using the new capability of specifying multiple inputs to a compressor, and the CONFIG_X86_NEED_RELOCS Kconfig symbol. Signed-off-by: H. Peter Anvin Acked-by: Sam Ravnborg commit 845adf7266a7ba6970bf982ffd96abc60d2018ab Author: H. Peter Anvin Date: Tue May 5 21:20:51 2009 -0700 x86: add a Kconfig symbol for when relocations are needed We only need to build relocations when we are building a 32-bit relocatable kernel. Rather than unnecessarily complicating the Makefiles, make an explicit Kbuild symbol for this. [ Impact: permits future cleanup ] Signed-off-by: H. Peter Anvin Cc: Sam Ravnborg commit d3dd3b5a29bb9582957451531fed461628dfc834 Author: H. Peter Anvin Date: Tue May 5 21:17:15 2009 -0700 kbuild: allow compressors (gzip, bzip2, lzma) to take multiple inputs Allow the compression commands in Kbuild (i.e. gzip, bzip2, lzma) to take multiple input files and emit the concatenated compressed output. This avoids an intermediate step when a kernel image is built from multiple components, such as the relocatable x86-32 kernel. Sam Ravnborg integrated the bin_size script into the Makefile. [ Impact: new build feature, not yet used ] Signed-off-by: H. Peter Anvin Acked-by: Sam Ravnborg commit 0b4eb462da10f832b28d518abffa4d77805928a0 Author: H. Peter Anvin Date: Thu Apr 30 17:59:36 2009 -0700 x86, boot: align the .bss section in the decompressor Aligning the .bss section makes it trivial to use large operation sizes for moving the initialized sections and clearing the .bss. The alignment chosen (L1 cache) is somewhat arbitrary, but should be large enough to avoid all known performance traps and small enough to not cause troubles. [ Impact: trivial performance enhancement, future patch prep ] Signed-off-by: H. Peter Anvin commit a789ed5fb6d0256c4177c2cc27e06520ddbe4d4c Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:26:50 2009 -0700 xen: cache cr0 value to avoid trap'n'emulate for read_cr0 stts() is implemented in terms of read_cr0/write_cr0 to update the state of the TS bit. This happens during context switch, and so is fairly performance critical. Rather than falling back to a trap-and-emulate native read_cr0, implement our own by caching the last-written value from write_cr0 (the TS bit is the only one we really care about). Impact: optimise Xen context switches Signed-off-by: Jeremy Fitzhardinge commit b80119bb35a49a4e8dbfb9708872adfd5cf38dee Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:22:08 2009 -0700 xen/x86-64: clean up warnings about IST-using traps Ignore known IST-using traps. Aside from the debugger traps, they're low-level faults which Xen will handle for us, so the kernel needn't worry about them. Keep warning in case unknown trap starts using IST. Impact: suppress spurious warnings Signed-off-by: Jeremy Fitzhardinge commit 6cac5a924668a56c7ccefc345805f1fe0536a90e Author: Jeremy Fitzhardinge Date: Sun Mar 29 19:56:29 2009 -0700 xen/x86-64: fix breakpoints and hardware watchpoints Native x86-64 uses the IST mechanism to run int3 and debug traps on an alternative stack. Xen does not do this, and so the frames were being misinterpreted by the ptrace code. This change special-cases these two exceptions by using Xen variants which run on the normal kernel stack properly. Impact: avoid crash or bad data when IST trap is invoked under Xen Signed-off-by: Jeremy Fitzhardinge commit 61de71c67caec39df0a854a1ef5be0c6be385c2a Author: John Dykstra Date: Fri May 8 14:57:01 2009 -0700 Network Drop Monitor: Fix skb_kill_datagram Commit ead2ceb0ec9f85cff19c43b5cdb2f8a054484431 ("Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs") established new conventions for identifying dropped packets. Align skb_kill_datagram() with these conventions so that packets that get dropped just before the copy to userspace are properly tracked. Signed-off-by: John Dykstra Acked-by: Neil Horman Signed-off-by: David S. Miller commit 17cb4006bc40eea949f62adbbad99d8b980c0678 Author: Stanislaw Gruszka Date: Tue May 5 23:22:12 2009 +0000 bnx2x: do not return negative number of received packages Signed-off-by: Stanislaw Gruszka Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit dd21ca6de703230785b755c8290365fc1640200e Author: Stanislaw Gruszka Date: Tue May 5 23:22:01 2009 +0000 bnx2x: free workqueue when driver fail to register Signed-off-by: Stanislaw Gruszka Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4671c79408a3f8a5a6a45e39c4c164dada3a5678 Author: Steven Rostedt Date: Fri May 8 16:27:41 2009 -0400 tracing: add trace_set_clr_event to export event enabling function Other parts of the kernel may need to be able to enable or disable specific events. Especially parts that create trace events. [ Impact: allow enabling of trace events by those that create the event ] Signed-off-by: Steven Rostedt commit 29f93943d1916d1a3faa3f10f4a06994347ac990 Author: Steven Rostedt Date: Fri May 8 16:06:47 2009 -0400 tracing: initialize return value for __ftrace_set_clr_event Commit 8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2 tracing/events: clean up for ftrace_set_clr_event() Moved out the code for ftrace_set_clr_event into a helper funciton but did not initialize the return value. As a result, we do not warn about a typo in the echoing of events in set_event. This patch restores the old warning: # echo foobar > set_event -bash: echo: write error: Invalid argument [ Impact: restore warning of invalid entries to set_event ] Signed-off-by: Steven Rostedt commit a8679be2073392cf22a910bc25da0c7d36459845 Merge: 22f6dac 9dfd6ba Author: David S. Miller Date: Fri May 8 12:46:17 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit f370e1e2f195ec1e6420e26fc83e0319595db578 Author: Peter Zijlstra Date: Fri May 8 18:52:24 2009 +0200 perf_counter: add PERF_RECORD_CPU Allow recording the CPU number the event was generated on. RFC: this leaves a u32 as reserved, should we fill in the node_id() there, or leave this open for future extention, as userspace can already easily do the cpu->node mapping if needed. [ Impact: extend perfcounter output record format ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090508170029.008627711@chello.nl> Signed-off-by: Ingo Molnar commit a85f61abe11a46553c4562e74edb27ebc782aeb7 Author: Peter Zijlstra Date: Fri May 8 18:52:23 2009 +0200 perf_counter: add PERF_RECORD_CONFIG Much like CONFIG_RECORD_GROUP records the hw_event.config to identify the values, allow to record this for all counters. [ Impact: extend perfcounter output record format ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090508170028.923228280@chello.nl> Signed-off-by: Ingo Molnar commit 3df5edad87a998273aa5a9a8c728c05d855ad00e Author: Peter Zijlstra Date: Fri May 8 18:52:22 2009 +0200 perf_counter: rework ioctl()s Corey noticed that ioctl()s on grouped counters didn't work on the whole group. This extends the ioctl() interface to take a second argument that is interpreted as a flags field. We then provide PERF_IOC_FLAG_GROUP to toggle the behaviour. Having this flag gives the greatest flexibility, allowing you to individually enable/disable/reset counters in a group, or all together. [ Impact: fix group counter enable/disable semantics ] Reported-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090508170028.837558214@chello.nl> Signed-off-by: Ingo Molnar commit 7fc23a5380797012e92a9633169440f2f4a21253 Author: Peter Zijlstra Date: Fri May 8 18:52:21 2009 +0200 perf_counter: optimize perf_counter_task_tick() perf_counter_task_tick() does way too much work to find out there's nothing to do. Provide an easy short-circuit for the normal case where there are no counters on the system. [ Impact: micro-optimization ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090508170028.750619201@chello.nl> Signed-off-by: Ingo Molnar commit b4df0a6c9d88cfff77c73d33873cd60f9ab909b6 Author: Sergey Lapin Date: Fri May 8 19:19:41 2009 +0400 ASoC: AFEB9260 driver ASoC driver for AT91SAM9260-based AFEB9260 board Signed-off-by: Sergey Lapin Signed-off-by: Mark Brown commit bf8b9a63c18a1a7777571650de0c9f4fd4368ca0 Author: Jaswinder Singh Rajput Date: Fri May 8 20:53:58 2009 +0530 x86: msr-index.h remove duplicate MSR C001_0015 declaration MSRC001_0015 Hardware Configuration Register (HWCR) is already defined as MSR_K7_HWCR. And HWCR is available for >= K7. So MSR_K8_HWCR is not required and no-one is using it. [ Impact: cleanup, no object code change ] Signed-off-by: Jaswinder Singh Rajput commit cd89436e54b29a07a383ee82f2f718d8c9d24cc4 Author: Peter Griffin Date: Fri May 8 15:51:51 2009 +0100 sh: Add UBC trap vector for SH2A Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit ba0d474082dfa37fb0efd439b4d0c0234ceb1e80 Author: Peter Griffin Date: Fri May 8 15:50:54 2009 +0100 sh: Add ptrace support for NOMMU debugging Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit e73173dbe55e5b4c2306728aad50c8e42194f6d5 Author: Kieran Bingham Date: Fri May 8 15:49:50 2009 +0100 sh: Fix UBC setup and registers for SH2A Signed-off-by: Kieran Bingham Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit be6514c6295cc79498eeb9a8f933451082ca9e69 Author: Kieran Bingham Date: Fri May 8 15:48:15 2009 +0100 sh: Add in some ptrace definitions from GDB. Plugs in PT_TEXT_END_ADDR/PT_TEXT_ADDR/PT_DATA_ADDR/PT_TEXT_LEN definitions. Signed-off-by: Kieran Bingham Signed-off-by: Peter Griffin Signed-off-by: Paul Mundt commit 168f36237b16e2b3159e24c7d3b658e3c912d149 Author: Yoshinori Sato Date: Tue Apr 28 04:40:15 2009 +0000 serial: sh-sci: Fix up h8300 support. - Dummy SCIF functions define. - h8300 specific header include. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 54507f6ee99778a727ff1b38a1f4050fe6479835 Author: Paul Mundt Date: Fri May 8 23:48:33 2009 +0900 serial: sh-sci: Fix up section mismatch in error path. The sci_probe_single() path attempts to use sci_remove() for the error path, while sci_remove() is still flagged as __devexit. So, we simply discard the section annotation. Signed-off-by: Paul Mundt commit 3b226e15beb5ecf068738e796811afd1e5b3f81f Author: Paul Mundt Date: Fri May 8 23:28:54 2009 +0900 sh: Add clock id to sh-sci platform data on SH-Mobile CPUs. This adds the clock specifier to all of the SH-Mobile sh-sci ports. Impacted CPUs are SH7343/SH7366/SH7722/SH7723/SH7724. Signed-off-by: Paul Mundt commit 501b825d01efb93766c87d29f299851152cf4eb0 Author: Magnus Damm Date: Wed Jan 21 15:14:30 2009 +0000 sh-sci: improve clock framework support Use enable/disable hooks for clock framework integration. Make sure we control the clock for the serial console as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 08f8cb315fdf9195b472aeb440ae65b189b151da Author: Magnus Damm Date: Wed Jan 21 15:14:22 2009 +0000 sh-sci: ioremap() in a single place Handle ioremap() in sci_config_port only. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7ed7e0711b3ff85b3e15591081b42f2af96d584b Author: Magnus Damm Date: Wed Jan 21 15:14:14 2009 +0000 sh-sci: replace sci_init_ports() Replace sci_init_ports() with sci_init_single(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0ee70712922c15252183db8b50a7e369c96017c0 Author: Magnus Damm Date: Wed Jan 21 15:13:50 2009 +0000 sh-sci: allow single port platform devices Allow registration of single port sh-sci platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a5660adae85918f2ab6b10ab58e2f574c1bd5ce1 Author: Magnus Damm Date: Wed Jan 21 15:14:38 2009 +0000 sh-sci: use to_sci_port() if possible Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 22e336b776f743cbabfc5c946bff9ccf7ccc756b Merge: a9fd4f3 5dd17cb Author: Takashi Iwai Date: Fri May 8 16:03:20 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dc8e6f5bfcd6a307a8196d3e41fd9798be5a1c76 Author: Magnus Damm Date: Wed Jan 21 15:14:06 2009 +0000 sh-sci: rework serial console support Rework sh-sci serial console code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a9fd4f3fcdc7e5757424f7e5888f660cf34bb1a9 Author: Takashi Iwai Date: Fri May 8 15:57:59 2009 +0200 ALSA: hda - Clean up Realtek auto-mute unsol routines Most of unsol handlers defined in patch_realtek.c can be classified to two types, mute via amp of pins and mute via ctl bits of pins. Thus there are a big room to generalize each implementation. This patch creates two generic functions, alc_automute_amp() and alc_automute_pin(). The latter is actually changed from the previous alc_sku_automute(). Each caller needs to initialize hp_pins and speaker_pins properly at own init_hook. Signed-off-by: Takashi Iwai commit 9080b72819650c3a757d173a19bc930d603b79d6 Author: Magnus Damm Date: Wed Jan 21 15:13:58 2009 +0000 sh-sci: remove early_sci_setup() Remove unused early_sci_setup() function from sh-sci. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e552de2413edad1a7b0c7f82a2f2753e4f905d93 Author: Magnus Damm Date: Wed Jan 21 15:13:42 2009 +0000 sh-sci: add platform device private data This patch adds per-platform private data to the sh-sci driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b72519b518211ecb7c4c7b5e660ac6235ca7d1b7 Author: Takashi Iwai Date: Fri May 8 14:31:55 2009 +0200 ALSA: hda - Clean up for ALC262 HP model auto-mute functions Just clean up, no functional changes. Signed-off-by: Takashi Iwai commit 7b551f9daa9bd9533ba4ce31622ed4be1dd97d3e Author: Paul Mundt Date: Fri May 8 22:14:01 2009 +0900 sh: Kill off the GENERIC_CALIBRATE_DELAY ifndef. Now that everyone is using the clock framework directly and we unconditionally provide our own calibrate_delay() function, having it wrapped in an ifndef is no longer useful. So, kill it off. Signed-off-by: Paul Mundt commit ccdaeb4c8f982900a2abf722e34b60131394d8eb Author: Paul Mundt Date: Fri May 8 22:09:30 2009 +0900 sh: TMU platform data for SH-X3 proto CPU. Signed-off-by: Paul Mundt commit c3d480ded1584dc17f6e82f49af4155380a51dda Author: Paul Mundt Date: Fri May 8 21:57:04 2009 +0900 sh: TMU platform data for SH7786. Wires up all 12 TMU channels, with TMU0 and 1 used as clockevent and clocksource respectively. Signed-off-by: Paul Mundt commit 42171c17f267d7fdc5167ad7b6b5fb9edfd04186 Author: Takashi Iwai Date: Fri May 8 14:11:43 2009 +0200 ALSA: hda - Fix and clean up hippo-compat HP auto-muting The speaker auto-muting per HP plugging for ALC262 HIPPO and compatible devices is slightly buggy as the "Master" or "Front" mixer control can still toggle the speaker output even if the headphone is plugged. This patch fixes the issue, and clean up the hippo-related codes together with fixes of some inconsistent mixer names. Signed-off-by: Takashi Iwai commit c142b15dc56ee6d55cb97a062e3c8e9c61e384c0 Author: Li Zefan Date: Fri May 8 10:32:05 2009 +0800 tracing/events: simplify system_enable_read() A smarter way to figure out the output of an enable file. [ Impact: clean up ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A0399A5.2080603@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8f31bfe538ebafac187d2d4465a92e1d9ee6d8c2 Author: Li Zefan Date: Fri May 8 10:31:42 2009 +0800 tracing/events: clean up for ftrace_set_clr_event() Add a helper function __ftrace_set_clr_event(), and replace some ftrace_set_clr_event() calls with this helper, thus we don't need any kstrdup() or kmalloc(). As a side effect, this patch fixes an issue in self tests code, which is similar to the one fixed in commit d6bf81ef0f7474434c2a049e8bf3c9146a14dd96 ("tracing: append ":*" to internal setting of system events") It's a small issue and won't cause any bug in fact, but we should do things right anyway. [ Impact: prevent spurious event-enabling in tracing self-tests ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A03998E.3020503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c29418c2ae15ee9171bc136ad261c497b95a46fc Author: Paul Mundt Date: Fri May 8 20:32:56 2009 +0900 sh: Always fixup unaligned userspace accesses on sh64. sh64 has traditionally had this configurable via a Kconfig option (CONFIG_SH64_USER_MISALIGNED_FIXUP). In practice it has never really been terribly useful to turn this off, so just get rid of the option entirely. We leave the sysctl around so we don't end up breaking existing root file systems, and to allow folks that really want this off to do so at their own risk. Signed-off-by: Paul Mundt commit 30d88cf52f229c3e0c90b8d71036960ccc2db4e2 Author: Paul Mundt Date: Fri May 8 20:20:56 2009 +0900 sh: Kill off extra cflags Kconfig entry. There is no real reason to use this anymore, as the build system generally knows what it is doing with regards to cflags mangling. Signed-off-by: Paul Mundt commit bec4c99e8637b5b8bd4b0513eacb51da25885e3b Author: Mark Brown Date: Wed May 6 10:36:34 2009 +0100 ASoC: Fix file patterns for PXA sound drivers The file matches for PXA sound drivers missed the generic AC97 support and were overly specific within sound/soc/pxa, omitting all machine drivers and the SSP driver. Signed-off-by: Mark Brown commit c198d811812417961582d4e25360372ca1eccdae Author: Peter Ujfalusi Date: Thu May 7 14:32:00 2009 +0300 ASoC: TWL4030: Fix typo in twl4030_codec_mute function Copy-paste error: TWL4030_PRECKL_GAIN >> TWL4030_PRECKR_GAIN It has not caused problems, since TWL4030_PRECKL_GAIN == TWL4030_PRECKR_GAIN == 0x30 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 6eac1af01112d1919b1c432f6591e6368e8d538f Author: Paul Mundt Date: Fri May 8 19:48:47 2009 +0900 sh: Always select RTC_LIB, not just for SUPERH32. The RTC_LIB helpers are used in arch/sh/kernel/time.c, which was previously only the case for the 32-bit variant. Now that this has become the common implementation, move the RTC_LIB select to reflect that. Fixes up the sh64 build. Signed-off-by: Paul Mundt commit 22f6dacdfcfdc792d068e9c41234808860498d04 Merge: 928f308 9b05126 Author: David S. Miller Date: Fri May 8 02:48:30 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: include/net/tcp.h commit 7e4e0bd50e80df2fe5501f48f872448376cdd997 Author: Robert Richter Date: Wed May 6 12:10:23 2009 +0200 oprofile: introduce module_param oprofile.cpu_type This patch removes module_param oprofile.force_arch_perfmon and introduces oprofile.cpu_type=archperfmon instead. This new parameter can be reused for other models and architectures. Currently only archperfmon is supported. Cc: Andi Kleen Signed-off-by: Robert Richter commit 6adf406f0a0eaf37251018d15f51e93f5b538ee6 Author: Andi Kleen Date: Mon Apr 27 17:44:13 2009 +0200 oprofile: add support for Core i7 and Atom The registers are about the same as other Family 6 CPUs so we only need to add detection. I'm not completely happy with calling Nehalem Core i7 because there will be undoubtedly other Nehalem based CPUs in the future with different marketing names, but it's the best we got for now. Requires updated oprofile userland for the new event files. If you don't want to update right now you can also use oprofile.force_arch_perfmon=1 (added in the next patch) with 0.9.4 Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit 1f3d7b60691993d8d368d8dd7d5d85871d41e8f5 Author: Andi Kleen Date: Mon Apr 27 17:44:12 2009 +0200 oprofile: remove undocumented oprofile.p4force option There are no new P4s and the oprofile code knows about all existing ones, so we don't really need the p4force option anymore. Remove it. Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit 1dcdb5a9e7c235e6e80f1f4d5b8247b3e5347e48 Author: Andi Kleen Date: Mon Apr 27 17:44:11 2009 +0200 oprofile: re-add force_arch_perfmon option This re-adds the force_arch_perfmon option that was in the original arch perfmon patchkit. Originally this was rejected in favour of a generalized perfmon=name option, but it turned out implementing the later in a reliable way is hard (and it would have been easy to crash the kernel if a user gets it wrong) But now Atom and Core i7 support being readded a user would need to update their oprofile userland to beyond 0.9.4 to use oprofile again on Atom or Core i7. To avoid this problem readd the force_arch_perfmon option. Signed-off-by: Andi Kleen Signed-off-by: Robert Richter commit b366328335b98373325977e116d2423f500708ac Author: Paul Mundt Date: Fri May 8 18:01:03 2009 +0900 sh: Drop dead rules from arch/sh/kernel/Makefile_64. Several of these options are specific to the SHcompact ISA and will need to be rewritten for SHmedia if they are to be supported at all. Drop the impossible rules for now. Signed-off-by: Paul Mundt commit 6b2e8523df148c15ea5abf13075026fb8bdb3f86 Author: Jeremy Fitzhardinge Date: Thu May 7 11:56:49 2009 -0700 xen: reserve Xen start_info rather than e820 reserving Use reserve_early rather than e820 reservations for Xen start info and mfn->pfn table, so that the memory use is a bit more self-documenting. [ Impact: cleanup ] Signed-off-by: Jeremy Fitzhardinge Cc: Xen-devel Cc: Linus Torvalds LKML-Reference: <4A032EF1.6070708@goop.org> Signed-off-by: Ingo Molnar commit f066a155334642b8a206eec625b1925d88c48aeb Merge: e7c0648 33df4db Author: Ingo Molnar Date: Fri May 8 10:50:00 2009 +0200 Merge branch 'x86/urgent' into x86/xen Conflicts: arch/frv/include/asm/pgtable.h arch/x86/include/asm/required-features.h arch/x86/xen/mmu.c Merge reason: x86/xen was on a .29 base still, move it to a fresher branch and pick up Xen fixes as well, plus resolve conflicts Signed-off-by: Ingo Molnar commit 47dd6f4439811c6c83d9abf2f364bcb6d2684640 Author: Magnus Damm Date: Fri May 8 08:32:18 2009 +0000 sh: TMU platform data for sh7723 This patch adds TMU platform data for sh7723. Both clockevent and clocksource support is enabled. While at it, adjust the CMT clocksource rating to prioritize the TMU. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 583d1d549ff107500481461cec0325189c5349ec Author: Magnus Damm Date: Fri May 8 08:27:19 2009 +0000 sh: enable TMU clocksource on sh7722 This patch enables the TMU clocksource on sh7722. To prioritize TMU over CMT we also adjust the CMT clock source rating. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4f5ecaa05493dfddf155b40224b951592bfce325 Author: Magnus Damm Date: Fri May 8 08:23:29 2009 +0000 sh: clock framework update, fix count and kill off kref This patch updates the clock framework use count code. With this patch the enable() and disable() callbacks only get called when counting from and to zero. While at it the kref stuff gets replaced with an int. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7d170b1bc540a1d83098a9f27cf4939e026fda81 Author: Paul Mundt Date: Fri May 8 17:41:59 2009 +0900 sh: Move out cayman-specific panic handler code to its own file. This moves out the cayman-specific panic handler code to a better location, and leaves the generic implementation a simple stub that is still used under emulation. Signed-off-by: Paul Mundt commit ef9f89996e450e9686816b6fc1e34d7b9a65766c Author: Paul Mundt Date: Fri May 8 17:36:57 2009 +0900 sh: Kill off unused sh64 debug code. None of the print_page() code and associated helpers are presently used by anything in-tree, so just kill it off. Signed-off-by: Paul Mundt commit 451853645f3cb804b523227eca054701e4cbc589 Author: Jan Engelhardt Date: Sun Apr 5 10:43:09 2009 +0200 netfilter: xtables: print hook name instead of mask Users cannot make anything of these numbers. Let's just tell them directly. Signed-off-by: Jan Engelhardt commit bb70dfa5f8ab4a0f1c699ddb3ef0276d91219b7c Author: Jan Engelhardt Date: Wed Apr 15 21:40:13 2009 +0200 netfilter: xtables: consolidate comefrom debug cast access Signed-off-by: Jan Engelhardt commit 7a6b1c46e28ab0511be26c238d552c00b51b88c5 Author: Jan Engelhardt Date: Wed Apr 15 21:35:33 2009 +0200 netfilter: xtables: remove another level of indent Signed-off-by: Jan Engelhardt commit 9452258d8173806f67b1be5b3b00c39b052060c8 Author: Jan Engelhardt Date: Wed Apr 15 21:31:32 2009 +0200 netfilter: xtables: remove some goto Combining two ifs, and goto is easily gone. Signed-off-by: Jan Engelhardt commit a1ff4ac84e58503691058e88d55fa48949822683 Author: Jan Engelhardt Date: Wed Apr 15 21:28:39 2009 +0200 netfilter: xtables: reduce indent level by one Cosmetic only. Transformation applied: -if (foo) { long block; } else { short block; } +if (!foo) { short block; continue; } long block; Signed-off-by: Jan Engelhardt commit 98e86403162d08a30b03426c54c2a8fca1f695d1 Author: Jan Engelhardt Date: Wed Apr 15 21:06:05 2009 +0200 netfilter: xtables: consolidate open-coded logic Signed-off-by: Jan Engelhardt commit 4f2f6f236af484ada595ff37d0ee1902aa56221f Author: Jan Engelhardt Date: Wed Apr 15 20:31:13 2009 +0200 netfilter: xtables: fix const inconsistency Signed-off-by: Jan Engelhardt commit ccf5bd8c27daa4184004438273e03d3812b14d75 Author: Jan Engelhardt Date: Wed Apr 15 20:27:03 2009 +0200 netfilter: xtables: remove redundant casts Signed-off-by: Jan Engelhardt commit 4ba351cf866257de3da3fbc8d2bcc3907ee9460f Author: Jan Engelhardt Date: Tue Apr 14 14:28:48 2009 +0200 netfilter: xtables: use NFPROTO_ in standard targets Signed-off-by: Jan Engelhardt commit 4b1e27e99f354ad90a1cbdda352b84763e70ac78 Author: Jan Engelhardt Date: Tue Apr 14 14:26:49 2009 +0200 netfilter: queue: use NFPROTO_ for queue callsites af is an nfproto. Signed-off-by: Jan Engelhardt commit 383ca5b874fad082a61af0f47610a1af83e6bb44 Author: Jan Engelhardt Date: Tue Apr 14 14:24:21 2009 +0200 netfilter: xtables: use NFPROTO_ for xt_proto_init callsites Signed-off-by: Jan Engelhardt commit cb3a86c89ebdf917b88665f70e06863986fbab5c Author: Paul Mundt Date: Fri May 8 17:25:35 2009 +0900 sh: Kill off sh64's hand-rolled syscall tracer. This is no longer necessary, as there are now sufficient generic alternatives available. Signed-off-by: Paul Mundt commit 1af2fe45fec15bdba446c22b9b602699cdabfc9f Author: Paul Mundt Date: Fri May 8 16:59:05 2009 +0900 sh: Kill off the global rtc_lock with extreme prejudice. Now that all of the possible users for rtc_lock have gone away, it is no longer necessary to keep this lock definition around. This follows several other architectures that have either recently dropped it or never supported it in the first place. Signed-off-by: Paul Mundt commit cd1408f22d2fd8f0d09c082b07cf0b9bcfb6eac9 Author: Paul Mundt Date: Fri May 8 16:57:35 2009 +0900 sh: mach-sh03: Give the sh03 rtc its own spinlock. This converts the sh03 rtc code off of using the global rtc_lock and on to its own spinlock. There are no other possible users of the rtc_lock, so serializing with it is not necessary. Signed-off-by: Paul Mundt commit d254117099d711f215e62427f55dfb8ebd5ad011 Merge: 07ff7a0 8c9ed89 Author: James Morris Date: Fri May 8 17:56:47 2009 +1000 Merge branch 'master' into next commit 6459d7bb72e9767bc7d22f2ee44aab35188e4b8a Author: Paul Mundt Date: Fri May 8 16:47:48 2009 +0900 sh: Kill off dead timer sysclass pm hooks. With the conversion to generic clockevents these are completely unused, so just kill it off. Signed-off-by: Paul Mundt commit 5ac5496411b30d41945a996fe7a7fb5abccf2aaa Author: Paul Mundt Date: Fri May 8 16:44:00 2009 +0900 sh: Kill off dead handle_timer_tick() code. Nothing is using this anymore now that we have fully converted to generic time, so kill it off completely. Signed-off-by: Paul Mundt commit 6d134b9e8d3f32331ad2faca2db8186f54198931 Author: Paul Mundt Date: Fri May 8 16:36:13 2009 +0900 sh: Wire up GENERIC_CMOS_UPDATE for the platforms that need it. Now that everything has converted over to generic timekeeping, we need an alternate method for keeping the RTC updated for those platforms that are still using the rtc_sh_get/set_time pairs, presently limited to SH-03 and the Dreamcast. This wires up the GENERIC_CMOS_UPDATE hooks for those to maintain the same behaviour. Signed-off-by: Paul Mundt commit b179b72fad5c88c3b616fb88a9ae7cbbc1a750d3 Author: Paul Mundt Date: Fri May 8 16:17:36 2009 +0900 sh: Rename arch/sh/kernel/time_32.c to arch/sh/kernel/time.c. This is now fully generic, and used both by _32 and _64 variants. Rename it accordingly. Signed-off-by: Paul Mundt commit add47067a8ca324e9d26c4373350dc3cce7f1e7f Author: Paul Mundt Date: Fri May 8 16:12:17 2009 +0900 sh: Finish the sh64 migration off of ARCH_USES_GETTIMEOFFSET. This adds sh_tmu support to the SH-5 subtypes, which subsequently allows us to kill off time_64.c and use the now generic time_32.c. As a bonus, SH-5 now supports highres timers and tickless for the first time. Signed-off-by: Paul Mundt commit c2ecb4c4a7da16288062a057b693b7b1e16aaf88 Author: Paul Mundt Date: Fri May 8 15:39:25 2009 +0900 sh: Move out rtc-sh registration from time_64.c to setup-sh5.c Now that the onchip_remap() mess is sorted out, the rtc-sh support code for SH-5 can follow the same approach as the other CPUs. Signed-off-by: Paul Mundt commit 4fa48e1774992fd03a4cd83a0f2adecb288c46f8 Author: Paul Mundt Date: Fri May 8 15:28:15 2009 +0900 sh: Enable new TMU driver support for all SH-3 and SH-4 CPUs. The TMU block is supported on all SH-3 and SH-4 subtypes, so just select it there, rather than conditionalizing it per subtype. Signed-off-by: Paul Mundt commit 9da29271bea5d831d745f3ceb7f6f6b2def13a5b Author: Takashi Iwai Date: Thu May 7 16:31:14 2009 +0200 ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codecs VIA VT1708S and VT1702 codecs can have two SPDIF outputs. One of them should have been handled as the extra digital out, but it's not properly accessed. This patch fixes the handling of the secondary SPDIF on these codecs with the slave dig-out as found in patch_sigmatel.c. This makes the use of such a device easier (for normal users). Signed-off-by: Takashi Iwai commit ec91d1335f478c5cd089d82ffbf936075c5f24c8 Author: Felix Blyakher Date: Thu May 7 19:49:45 2009 -0500 xfs: fix double unlock in xfs_swap_extents() Regreesion from commit ef8f7fc, which rearranged the code in xfs_swap_extents() leading to double unlock of xfs inode ilock. That resulted in xfs_fsr deadlocking itself on platforms, which don't handle double unlock of rw_semaphore nicely. It caused the count go negative, which represents the write holder, without really having one. ia64 is one of the platforms where deadlock was easily reproduced and the fix was tested. Signed-off-by: Eric Sandeen Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit e367592cc93ac653e7bc0bebbc9bb713a77e2696 Author: Magnus Damm Date: Thu May 7 10:55:37 2009 +0000 sh: TMU platform data for sh7785 This patch adds TMU platform data for sh7785. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 06ee846a25642c434c55209151c633f538c12022 Author: Magnus Damm Date: Thu May 7 10:44:55 2009 +0000 sh: r7785 highlander clock fixes Update the r7785 highlander defconfig to fix PCLK value and that mode4 is set high. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b3cacf318172757783d8272fc333284dd4f50140 Author: Magnus Damm Date: Thu May 7 10:31:39 2009 +0000 sh: call clock framework init() callback once Make sure that clk->ops->init() only gets called once in the case of CLK_ALWAYS_ENABLED. Without this patch the init() callback may be called multiple times. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5dafc91fca9135a7b0acb76d9709f4abfad92d6e Author: Magnus Damm Date: Thu May 7 10:17:44 2009 +0000 sh: sh7785 early scif fix This patch moves the SH4 case of EARLY_SCIF_CONSOLE_PORT so the SH7785 default value gets used. Without this patch the value for SH7785 is set to 0xffe80000. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 74f4fd21664148b8c454cc07bfe74e4dd51cf07b Author: Steven Rostedt Date: Thu May 7 19:58:55 2009 -0400 ring-buffer: change WARN_ON from checking preempt_count to preemptible There's a WARN_ON in the ring buffer code that makes sure preemption is disabled. It checks "!preempt_count()". But when CONFIG_PREEMPT is not enabled, preempt_count() is always zero, and this will trigger the warning. [ Impact: prevent false warning on non preemptible kernels ] Signed-off-by: Steven Rostedt commit 7da3046d6ce6ea97494020081c509b642b7016af Author: Steven Rostedt Date: Thu May 7 19:52:20 2009 -0400 ring-buffer: add total count in ring-buffer-benchmark It is nice to see the overhead of the benchmark test when tracing is disabled. That is, we turn off the ring buffer just to see what the cost of running the loop that calls into the ring buffer is. Currently, if no entries wer made, we get 0. This is not informative. This patch changes it to check if we had any "missed" (non recorded) events. If so, a total count is also reported. [ Impact: evaluate the over head of the ring buffer benchmark test ] Signed-off-by: Steven Rostedt commit 928f308f556f4943e50c5064b546f47bce301f02 Author: Matthias Ludwig Date: Thu May 7 15:00:12 2009 -0700 smsc911x: fix calculation of res_size for ioremap fix size of remaped iomem, which is 1 byte to small (e.g. mappes only 0xff bytes instead of 0x100) Signed-off-by: Matthias Ludwig Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit c2d5ab4973bfaa72cbb677801825ce56c8f69b56 Author: Jesse Brandeburg Date: Thu May 7 11:07:35 2009 +0000 e1000/e1000e/igb/ixgb: don't txhang after link down after the recent changes to wired drivers to use only netif_carrier_off the driver can have outstanding tx work to complete that will never complete once link is down. Since the intel hardware will hold this tx work forever, the driver notices a tx timeout condition internally and might try to instigate printk and reset of the part with a netif_stop_queue, which doesn't work because link is down. Don't bother arming to tx hang detection when link is down. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c9c7d2e5a06cd3a26b6be096949e3371ec2aa123 Author: Nelson, Shannon Date: Thu May 7 10:40:15 2009 +0000 ixgbe: Typecase '1' for 64 bit shift Make sure we don't get any sign-extend issues when we shift a 1 into bit 31. Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf069c9726b592432ed646e72b910ac3c098d025 Author: Don Skidmore Date: Thu May 7 10:39:54 2009 +0000 ixgbe: fix failing to log fan failures We weren't logging the 82598AT fan failure if it occurred before (ixgbe_open) as we hadn't sent up to catch the interrupt that event caused. This patch checks for this failure in: ixgbe_probe - So we can log the failure asap. We check right after we set up the adapter->flags, which is when we know that we have a fan. ixgbe_up_complete - To catch failures that may have happened between probe and when we set up the interrupt that would normally detect the fan failure. To enable all of this we need to initialize the adapter flag with IXGBE_FLAG_FAN_FAIL_CAPABLE when the NIC contained a fan. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dfa12f05f60eb23b1670f3a7756ed814f886a7fb Author: Yi Zou Date: Thu May 7 10:39:35 2009 +0000 ixgbe: Enable L2 header split in 82599 This enables L2 header split when packet split is enabled for 82599. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 163de42e240623694562656542adedbca369beaf Author: Alexander Duyck Date: Thu May 7 10:39:16 2009 +0000 ixgbe: set queue0 for srrctl configuration correctly for DCB The current configuration is not setting queue 0 correctly for DCB configurations. As a result unconfigured queues are being used to setup the SRRCTL register rx buffer len sizes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit afafd5b020a60b72d064e89244cb44a975eb2407 Author: Alexander Duyck Date: Thu May 7 10:38:56 2009 +0000 ixgbe: always set header length in SRRCTL As per the documentation for 82599 in order to support hardware RSC the header size must be set. This is only currently done for packet split mode. This patch sets the header buffer length for all modes. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7aedec2ad5314b173e78ca3f4edb4ceaa02248bb Author: Eric Dumazet Date: Thu May 7 07:20:39 2009 +0000 tcp: tcp_prequeue() can use keyed wakeups We can avoid waking up tasks not interested in receive notifications, using wake_up_interruptible_poll() instead of wake_up_interruptible() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f5f8d86b231e0489c33542c42afbb14d32411ee8 Author: Eric Dumazet Date: Thu May 7 07:08:38 2009 +0000 tcp: tcp_prequeue() cleanup Small cleanup patch to reduce line lengths, before a change in tcp_prequeue(). Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0574ea421b90e0e45a72c447dd3c2c79ffd8c153 Author: Steven Rostedt Date: Thu May 7 14:20:28 2009 -0400 ring-buffer: only periodically call cond_resched to ring-buffer-benchmark Calling cond_resched at every iteration of the loop adds a bit of overhead to the benchmark. This patch does two things. 1) only calls cond-resched when CONFIG_PREEMPT is not enabled 2) only calls cond-resched after so many traces has been performed. [ Impact: less overhead to the ring-buffer-benchmark ] Signed-off-by: Steven Rostedt commit 65b77242043f74bca6a0d733c0e48ef03a8c9893 Author: Steven Rostedt Date: Thu May 7 12:49:27 2009 -0400 tracing: have menu default enabled when kernel debug is configured Tracing can be very helpful to debug the kernel. When DEBUG_KERNEL is enabled it is nice to enable the trace menu as well. This patch only make the tracing menu enabled by default, it does not make any of the tracers enabled. And the menu is only enabled by default if DEBUG_KERNEL is enabled. [ Impact: show tracing options to those debugging the kernel ] Signed-off-by: Steven Rostedt commit d6bf81ef0f7474434c2a049e8bf3c9146a14dd96 Author: Steven Rostedt Date: Thu May 7 11:49:35 2009 -0400 tracing: append ":*" to internal setting of system events The system enabling of events uses the same code as the set_event file. It passes in the name of the system to the parser and that will enable all the events that has that system as a name. The problem is that it will also enable events with the same name as the system. If you have system name foo, and system name bar, but within the system bar, there exists an event called foo. By setting the system name foo, you will also be enabling the event foo in the system bar. This is not an expected result. The solution is to pass in "foo:*", which will only enable the system foo and not events called foo. [ Impact: prevent accidental enabling of events with same name as a system ] Reported-by: Li Zefan Signed-off-by: Steven Rostedt commit 29c8000ee7da3a6756d26143991e573eaaf2a9f6 Author: Steven Rostedt Date: Thu May 7 11:13:42 2009 -0400 ring-buffer: remove complex calculations in ring-buffer-test Ingo Molnar thought that the code to calculate the time in cond_resched is a bit too ugly and is not needed. This patch removes it and replaces it with a simple call to cond_resched. I kept the comment that explains the reason for the cond_resched. [ Impact: remove ugly code ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 8511a2728ab82cab398e39d019f5cf1246021c1c Author: David Teigland Date: Wed Apr 8 15:38:43 2009 -0500 dlm: fix use count with multiple joins When a lockspace was joined multiple times, the global dlm use count was incremented when it should not have been. This caused the global dlm threads to not be stopped when all lockspaces were eventually be removed. Signed-off-by: David Teigland commit 08ce4c91e44d51bb6c946f2756825a462d53c545 Author: Geert Uytterhoeven Date: Tue Apr 7 23:40:39 2009 +0200 dlm: Make name input parameter of {,dlm_}new_lockspace() const | fs/gfs2/lock_dlm.c:207: warning: passing argument 1 of 'dlm_new_lockspace' discards qualifiers from pointer target type Signed-off-by: Geert Uytterhoeven Signed-off-by: David Teigland commit b4380b8e5888e5ef5872e43b610c9dac4bf253ac Author: dmitry pervushin Date: Sun May 3 16:49:26 2009 +0100 [ARM] 5501/1: Freescale STMP: fix compilation warning To avoid compile-time warning, added parameter to the stmp3xxx_clock_read Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 21dbe15f7dd0f0511bc0178d142213c3fadfcb99 Author: wanzongshun Date: Sat May 2 15:41:14 2009 +0100 [ARM] 5499/1: Add Usb register controller header file dfine Add Usb register controller header file dfine. w90p910 usb ip is standard,but some mutifunction controll pin must be special define in w90p910 Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 4e3f48e590330a1fd880ab96e52bc095e94c25e3 Author: wanzongshun Date: Sat May 2 15:39:09 2009 +0100 [ARM] 5498/1: w90p910 Clock register controller header file dfine Add Clock register controller header file dfine. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 604f766f5f2fd4791ce898cd04d1f0dcb32b94a7 Author: wanzongshun Date: Fri May 1 16:14:54 2009 +0100 [ARM] 5497/1: Add usb and ts relevant kernel maping option Add drivers relevant kernel maping option. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 432818f08fa5cf983e13b0ac32ec59b0951882b9 Author: wanzongshun Date: Fri May 1 16:13:05 2009 +0100 [ARM] 5496/1: Add w90p910 touch screen driver relevant kernel parts[2/2]. Add this touch screen driver relevant kernel parts. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 177dd6bb8c70885bfe3c269bf21dab1c4aeaf5c3 Author: wanzongshun Date: Fri May 1 16:11:46 2009 +0100 [ARM] 5495/1: Add w90p910 usb host driver relevant kernel parts[1/2] Add this usb host driver relevant kernel parts. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 7f7810e2db70589c6695f9994c10258b09b1f93c Author: wanzongshun Date: Fri May 1 15:18:11 2009 +0100 [ARM] 5494/1: Add w90p910 irq number define Add irq number define for driver will be submitted. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 3679e38a832360d6d96efb4721742d81195594a0 Author: wanzongshun Date: Fri May 1 15:15:44 2009 +0100 [ARM] 5493/1: Add w90p910 IC interface controller regester map Add w90p910 IC other interface controller regester map for driver will be submitted. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c2e5307b902426247afa48d3f1ed4fa5409dcb49 Author: Valentin Longchamp Date: Wed May 6 11:54:48 2009 +0200 mx31: changed CONSISTENT_DMA_SIZE to 8M for mx31 video Signed-off-by: Valentin Longchamp Acked-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 9c70e227e00fcc3b210b11c96652ddcc0b6194f3 Author: Valentin Longchamp Date: Thu May 7 11:51:42 2009 +0200 mx31: add camera device This adds the camera device based on Guennadi's soc_camera architecture for the mx31. The proposed init by Guennadi was removed and must be implemented in the board init file as it contains a lot of board specific info (memory size, clock speed). Signed-off-by: Valentin Longchamp Reviewed-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 03c13ecc0d27d6c566afdb9624848fa0e0efe316 Author: Valentin Longchamp Date: Wed May 6 11:45:36 2009 +0200 mx31moboard: add support for usb OTG device (v3) This is used on all board of our system, so again this is done in the mx31moboard.c file. changes since v2: call to gpio_request added in platform code, and moved device initialization in baseboard files. changes since v1: pins are claimed in another patch Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4f163eb8811e8ea760d9fe654ecc6f17feecb477 Author: Sascha Hauer Date: Wed May 6 12:55:50 2009 +0200 mx31: calls to gpio_request moved into platform code In order to use the gpiolib, we now have to call gpio_request in the plaform code since it is not done in iomux code anymore. Signed-off-by: Sascha Hauer commit ef754d635820102ec7719486d40ede3c94ba44c8 Author: Valentin Longchamp Date: Wed May 6 11:44:20 2009 +0200 mx31: remove gpio_request calls from iomux code Since iomux code is not directly related to gpio on mx31, the calls to gpio_request are removed from iomux.c file. These calls have to be done in platform initialization files. The name of the singe pin call for iomux is also changed to mxc_iomux_alloc_pin. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 35c82da0bfa04b26cc642814d3e9557f93b7b365 Author: Sascha Hauer Date: Tue May 5 11:13:23 2009 +0200 MXC qonq: mxc_map_io is now mx31_map_io Signed-off-by: Sascha Hauer commit 81ec1f929fe5be3f6464edf7939a9b65fc8223ca Author: Sascha Hauer Date: Wed Apr 29 13:55:13 2009 +0200 mxc: fix wrong register access in timer code Signed-off-by: Sascha Hauer commit 74fe030e63bd9e4adc5a67128d4c8359b37df55d Author: Sascha Hauer Date: Wed Apr 29 13:41:40 2009 +0200 mx1ads: rename mxc_map_io to mx1_map_io Signed-off-by: Sascha Hauer commit 345569a2ed84478ce860a32555edd71bb321e48b Author: Sascha Hauer Date: Wed Apr 29 13:41:06 2009 +0200 mx1: add missing include Signed-off-by: Sascha Hauer commit 5ae07daa488e78994db731d0fd133967a5cf0ceb Author: Sascha Hauer Date: Wed Apr 29 13:17:21 2009 +0200 mx1ads: setup iomux pins at once Signed-off-by: Sascha Hauer commit 5b68421f41b47dd9311b81d9e0d7e9781c2983f3 Author: Sascha Hauer Date: Wed Apr 29 13:14:19 2009 +0200 mx1ads: remove ifdefs, reorder include alphabetically header is part of the kernel now. Signed-off-by: Sascha Hauer commit eb05bbeb65cc1015bdd5c4cb72fd1694a3288e97 Author: Guennadi Liakhovetski Date: Mon May 4 13:13:52 2009 +0200 ARM: add USB device support to pcm037 Add OTG device definition and resources to i.MX31 and a pure USB device mode support to the pcm037 board. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit bff0b53bd77df7e44a1d6b1a13162e26def5d17a Author: Sascha Hauer Date: Wed Apr 29 09:17:03 2009 +0200 PCM038: Remove unnecessary ifdefs, reorder includes alphabetically Signed-off-by: Sascha Hauer commit f231ea441a6e4b025d971b023ff010094626fdb0 Author: Sascha Hauer Date: Thu Apr 16 15:45:45 2009 +0200 pcm038: Setup all iomux pins at once Also, remove usage of set_irq_type after request_irq. Signed-off-by: Sascha Hauer commit 60c24dc79f01edfaa14290ada39a9074050ffbcc Author: Vladimir Barinov Date: Thu Apr 30 15:31:20 2009 +0400 MX27ADS: Add SDHC support Add SDHC support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 9366d8f67c234815e99bc8518a92da7f0fa3e026 Author: Vladimir Barinov Date: Wed Apr 29 04:00:52 2009 +0400 MX27ADS: Add 1-wire support Add 1-wire support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 11cda13d48a29ff81fe7bc2e0b767e164991c094 Author: Vladimir Barinov Date: Wed Apr 29 04:00:51 2009 +0400 MX27ADS: Add framebuffer support Add Sharp-QVGA panel support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit c981214ac4a304d784a290b3714cc73a39589af0 Author: Vladimir Barinov Date: Wed Apr 29 04:00:50 2009 +0400 MX27ADS: Add I2C support Add I2C support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 8d4fd258f9b0bee1ef5f1508bfed4d138a252891 Author: Vladimir Barinov Date: Wed Apr 29 04:00:49 2009 +0400 MX27ADS: Add NAND support Add NAND support for MX27ADS board Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit c1a6f12383c79b28dd7c40a4e7293c80db265f59 Author: Vladimir Barinov Date: Wed Apr 29 04:00:48 2009 +0400 MX27ADS: setup all pins at once in one table Setup all pins at once in one table Signed-off-by: Vladimir Barinov Signed-off-by: Sascha Hauer commit 3211705f76cccd52cd3f3c2744aef798bf705702 Author: Magnus Lilja Date: Tue Apr 14 22:00:07 2009 +0200 i.MX31: Add ethernet support to i.MX31 Litekit board. This patch adds the SMSC platform device to the Litekit board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit c1332616315584d45776a5e664382888513c0fa0 Author: Magnus Lilja Date: Tue Apr 14 22:00:06 2009 +0200 i.MX31: Correct comments on CONFIG_DEBUG_LL. Several comments in board config files stated "mandatory for CONFIG_LL_DEBUG" but the correct name is CONFIG_DEBUG_LL. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 3b7b8db1226fd2abf70f252b78f32198ef93c216 Author: Magnus Lilja Date: Tue Apr 14 22:00:05 2009 +0200 i.MX31: Removed unused items from board-mx31lite.h. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit a854b8ab987b29fd3b1ae286f41f04973f9edbac Author: Magnus Lilja Date: Tue Apr 14 22:00:03 2009 +0200 i.MX31: Add UART1 device to Litekit board. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit 45b131a78ceeb3bc776db08c8eaa67d4676b6cd7 Author: Valentin Longchamp Date: Tue Apr 21 10:24:56 2009 +0200 mx31moboard: add sdhc support (v3) This support both sdhc1 and sdhc2 with WP and CD for the marxbot and devboard mx31moboard baseboards. sdhc2 is present on both, but is not directly included in the mx31moboard file because a third baseboard (not supported yet) without sdhc2 is planned. Changes since v1: removed pin initialization from init/exit function and taken different comments into account Changes since v2: pin initialiation now is done in another patch for all current mx31moboard pins Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4ec6ecc77872a57b471b60dce298ed25556944f0 Author: Valentin Longchamp Date: Tue Apr 21 10:24:22 2009 +0200 mx31moboard: add i2c support (v2) Changes since v1: all the pins needed for the drivers are claimed in another patch Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 56c7a45bee7313d49dd58465492cdbd49fea8e16 Author: Valentin Longchamp Date: Wed Apr 22 10:55:50 2009 +0200 mx31moboard: setup all pins (v2) As suggested by Sascha, here we setup all the pins that we are using in the current (and currently reviewed) drivers for mx31moboard system. changes since v1: changed I2C1 pin names Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit f801079b2b8790a9f096151e2ca1d1239a24d9e4 Author: Valentin Longchamp Date: Wed Apr 22 10:54:14 2009 +0200 mx31: define various pins used on mx31moboard (v2) As suggested by Sascha, I regroup them in a single patch so that the other patches become more orthogonal. changes since v1: changed I2C1 pin names Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 45001e92d0249a8c4b9f6c3695215652e8e8493d Author: Alan Carvalho de Assis Date: Thu Apr 2 12:38:41 2009 -0300 i.MX31: Add hw-random for RNGA This hw-random driver add support to RNGA hardware found on some i.MX processors. Signed-off-by: Alan Carvalho de Assis Acked-by: Matt Mackall Signed-off-by: Sascha Hauer commit 220bbcea278b4fef7ef0a45ce754222f8ed9d134 Author: Valentin Longchamp Date: Fri Apr 17 15:20:25 2009 +0200 mx31moboard: clean-up of board support Various improvements (includes in alphabetical order, platform devices declaration order change, ...) The pins now are claimed in a single function call from a main table for every board for a better clarity and to adopt the current agreement for mx31 devices. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit ec9be0debd822d5bd1d5bfdf297144396d56ac6b Author: Fabio Estevam Date: Thu Apr 16 12:45:01 2009 -0700 MX27: Add basic support to MX27PDK This patch adds basic support to MX27PDK board http://www.freescale.com/imx27pdk ). Signed-off-by: Fabio Estevam Signed-off-by: Sascha Hauer commit 5ed7449a26bf5336ba9828025f54407227e4f379 Author: Ivo Clarysse Date: Wed Apr 15 10:45:19 2009 +0200 MXC: mx2_defconfig file Adds a defconfig file for the i.MX21 SoC, targeting the Freescale i.MX21ADS (M9328MX21ADSE) Application Development System. Signed-off-by: Ivo Clarysse Signed-off-by: Sascha Hauer commit c010dba89bc0f5585550877b1693d11d24063b6b Author: Holger Schurig Date: Tue Apr 14 12:50:20 2009 +0200 imx: re-work of PWM, add i.MX21 support * Kconfig enables now HAVE_PWM (this enables in turn the selection of CONFIG_BACKLIGHT_PWM) * changes CONFIG_ARCH_MXyy to CONFIG_MACH_MXyy * fix some register names to match those of the reference manual * write a stub code so that the PWM can be used to program the LCD backlight * convert from #ifdef CONFIG_ARCH_MXxx to cpu_is_mxXX() * remove unneeded defines and fix 80-column "violations" of checkpatch.pl Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 6b91edde09fadde2657b11b454b88ae89c5b4cae Author: Ivo Clarysse Date: Wed Apr 15 15:39:27 2009 +0200 MXC: mx21ads base support [PATCH v6] MXC: mx21ads base support Base machine support for the Freescale i.MX21ADS (M9328MX21ADSE) Application Development System. Signed-off-by: Ivo Clarysse Signed-off-by: Sascha Hauer commit a8df0ee8d89dc1bdbec7415be620b159b5b0177b Author: Guennadi Liakhovetski Date: Wed Apr 15 14:32:52 2009 +0200 ARM: framebuffer support for pcm037 Add support for a QVGA Sharp LCD on pcm037. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit 910862ec092c156023b8a6e726e8c793da0a03f7 Author: Guennadi Liakhovetski Date: Thu Mar 12 12:46:41 2009 +0100 mxc: emulate GPIO interrupt on both-edges MXC GPIO controller does not support generation of interrupts on both edges. Emulate this mode in software by reconfiguring the irq trigger polarity on each interrupt. This follows an example of drivers/mfd/asic3.c. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit fde364742a1afec9e71e705e863d029295282fe5 Author: Holger Schurig Date: Mon Mar 30 14:35:39 2009 +0100 imx: exit functions can/should be void Signed-off-by: Holger Schurig Signed-off-by: Sascha Hauer commit 1341d34ffc296f98dc84876f35f3151525dc02a2 Author: Sascha Hauer Date: Wed Apr 1 12:41:21 2009 +0200 [ARM] remove arch-imx arch-imx is superseeded by the MXC architecture support. This patch removes arch/arm/mach-imx from the kernel. Signed-off-by: Sascha Hauer commit 8c8fdbc9bd9718b21146065de61c0cafdff11ecb Author: Sascha Hauer Date: Wed Apr 1 12:40:15 2009 +0200 [ARM] Remove arch-imx from build system arch-imx is superseeded by the MXC architecture support. This patch removes arch-imx from the build system. Signed-off-by: Sascha Hauer commit 84c9fa43040af08126326ac8b2a2b18f804eb1e8 Author: Sascha Hauer Date: Wed Feb 18 20:59:04 2009 +0100 mxc irq: make architecture runtime dependent Currently we depend on hardcoded base addresses for the interrupt controller. This prevents us from compiling in more than one i.MX architecture at a time. This patch changes the base address to a runtime calculated one. Signed-off-by: Sascha Hauer commit ec996ba9b5cc2a085ca6938678317c4ff9c954d1 Author: Sascha Hauer Date: Wed Feb 18 20:58:40 2009 +0100 mxc timer: make compile time independent Currently we depend on hardcoded base addresses for the timer. This prevents us from compiling in more than one i.MX architecture at a time. This patch changes the base address to a runtime calculated one. Signed-off-by: Sascha Hauer commit cd4a05f9df859e7cd2efa96e035444a3decb427a Author: Sascha Hauer Date: Thu Apr 2 22:32:10 2009 +0200 MXC: rename mxc_map_io to architecture specific versions This allows us to have more mapping functions for more than one i.MX architecture in the kernel. As this is the earliest board specific hook we have, also use it to set the cpu type. Signed-off-by: Sascha Hauer commit 13e9f61235616966f9f6caefd533046c19d35c92 Author: Sascha Hauer Date: Mon Mar 30 15:04:38 2009 +0200 pcm037: Add support for UART2 Signed-off-by: Sascha Hauer commit 76b6ea0aaa19fe94338bf2cd49a90d14976595ca Author: Sascha Hauer Date: Wed Apr 1 10:09:18 2009 +0200 MX35: Fix IPU/Framebuffer clock names Signed-off-by: Sascha Hauer commit dddd4a493dfa9ff2640ff683f04d0f3c8c287111 Author: Sascha Hauer Date: Tue Mar 10 11:56:10 2009 +0100 pcm037: add SDHC card detection Signed-off-by: Sascha Hauer commit 01ac7d584d7299c787bb64067231a06d3b5e52e3 Author: Sascha Hauer Date: Fri Mar 13 19:52:41 2009 +0100 pcm037: setup all pins at once and not in init functions Signed-off-by: Sascha Hauer commit d16caf69ce26dbd2ec3ae4e0072c2a60f1896c89 Author: Sascha Hauer Date: Mon Mar 23 10:07:48 2009 +0100 i.MX35 clock support: remove automotive path It is no longer present in newer cores. Unfortunately Freescale decided to put the bit which decides between automotive clock path and consumer clock path in the automotive clock path direction. With current code we cannot detect the core revision, so just remove automotive path completely. Signed-off-by: Sascha Hauer commit 54df526819d3bfbc1af3f13aed7a3f9b9fdbdd04 Author: Sascha Hauer Date: Fri Feb 6 15:42:26 2009 +0100 [ARM] MX35: Add PCM043 board support The PCM043 is a i.MX35 based board from Phytec also known as the phyCORE-i.MX35. Signed-off-by: Sascha Hauer commit 218deaa743fde30033caeb91fa211063620399de Author: Sascha Hauer Date: Wed Apr 1 11:13:22 2009 +0200 MX35: Add iomux pin defintions Signed-off-by: Sascha Hauer commit bca6ef1e53b601ece59250f41b9817eba3afa490 Author: Sascha Hauer Date: Wed Apr 1 11:11:48 2009 +0200 MXC: Add iomux support for MX35 SoCs This iomux is called iomux-v3 in the tree because it is the third known incarnation of MXC iomuxers. It is not only found on the MX35 but also on the MX51 and probably others. Signed-off-by: Sascha Hauer commit 01eb1753fcafd25304ec9392e0d9d2acb649931b Author: Sascha Hauer Date: Tue Mar 31 20:51:52 2009 +0200 MXC irq: remove unused defines Signed-off-by: Sascha Hauer commit 0ad5d703c6c0fcd385d956555460df95dff7eb7e Merge: 44347d9 1cb81b1 Author: Ingo Molnar Date: Thu May 7 11:18:34 2009 +0200 Merge branch 'tracing/hw-branch-tracing' into tracing/core Merge reason: this topic is ready for upstream now. It passed Oleg's review and Andrew had no further mm/* objections/observations either. Signed-off-by: Ingo Molnar commit 41d5545d23d2ccf4d34725094dccebd37f15c1c4 Author: Kacper Szczesniak Date: Thu May 7 12:47:43 2009 +0200 ALSA: hda - Add support for MacBook 5.1 (Aluminium) Signed-off-by: Kacper Szczesniak Signed-off-by: Takashi Iwai commit 496a3f0927197ca155a604478bf6e7db3eca3bbd Author: Ben Dooks Date: Sat May 2 13:48:53 2009 +0100 [ARM] S3C64XX: Add ARM clock Add ARM clock to provide 'arm' from the APLL to the ARM core. Signed-off-by: Ben Dooks commit 8f1ecf1d965f4e1842b32af5dd40f3d7b6d407ed Author: Mark Brown Date: Tue Apr 28 16:06:24 2009 +0100 [ARM] S3C64XX: Configure clocks for DMA controller Add missing DMA controller block clocks. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit a03f7daf6df31b4d849031c51a3c10b8ba78ce67 Author: Werner Almesberger Date: Thu Mar 5 11:43:13 2009 +0800 [ARM] S3C64XX: Add HCLKx2 Add doubled HCLK to S3C64xx. Signed-off-by: Werner Almesberger Signed-off-by: Ben Dooks commit e2c977dca2901012ddabdc2a7b3c47a80c94d431 Author: Werner Almesberger Date: Thu Mar 5 11:43:14 2009 +0800 [ARM] S3C6410: Add CAMIF clock Add camera interface clock to S3C6410. Signed-off-by: Werner Almesberger Signed-off-by: Ben Dooks commit a19339f430d8ba5fc2ca840ae95f8aa7c49ea9d7 Merge: 19e3f48 e3980b6 Author: Ben Dooks Date: Thu May 7 11:06:32 2009 +0100 [ARM] Merge next-s3c-s3c6410 into for-rmk-devel Merge branch 'next-s3c-s3c6410' into for-rmk-devel commit 19e3f4858d4a2863ad66b2c92d0f9270879eac04 Author: Ben Dooks Date: Thu Apr 23 17:26:15 2009 +0100 [ARM] SMDK6400: Fix WM8753 i2c board definition Signed-off-by: Ben Dooks commit 4faf6867638cc21aa43b4ca4ed0bdf14a2d29762 Author: Ben Dooks Date: Wed Mar 25 11:01:24 2009 +0000 [ARM] S3C64XX: Add S3C6400 SDHCI setup support Add support for S3C6400 SDHCI channels 0 and 1, making the GPIO code common to both S3C6400 and S3C6410. Signed-off-by: Ben Dooks commit e074f9803227236252c8e7be16d836d709abff57 Author: Ben Dooks Date: Tue Mar 24 17:31:42 2009 +0000 [ARM] S3C64XX: Add S3C6400 CPU detection. Add detection support for the S3C6400 SoC which has it's id register in a different place to the S3C6410. Signed-off-by: Ben Dooks commit a6925c1c515513e22b0419e1a41155c88d22b1f4 Author: Ben Dooks Date: Tue Mar 24 17:25:40 2009 +0000 [ARM] S3C6400: Core support for S3C6400 SoC Add the core support files for the Samsung S3C6400 SoC. Signed-off-by: Ben Dooks commit 2ab408e8759ad4b2a9bad3647838acd648d2c10c Author: Ben Dooks Date: Tue Mar 24 16:09:06 2009 +0000 [ARM] SMDK6400: Initial machine support for SMDK6400 Add minimial support for the SMDK6400 board to test the S3C6400 support. Signed-off-by: Ben Dooks commit c07f87f22ecc94201893b7a25430b7f5d5fd6de8 Author: Ben Dooks Date: Tue Mar 24 15:30:07 2009 +0000 [ARM] VIC: Add power management device Add power management support to the VIC by registering each VIC as a system device to get suspend/resume events going. Since the VIC registeration is done early, we need to record the VICs in a static array which is used to add the system devices later once the initcalls are run. This means there is now a configuration value for the number of VICs in the system. Signed-off-by: Ben Dooks commit d87964c46005ccb04754f6309df0fd8f67b08c6d Author: Ben Dooks Date: Fri Dec 12 00:24:30 2008 +0000 [ARM] S3C: GPIO PM core GPIOlib integration Move the GPIO suspend/resume support inline with the gpiolib support so that it will work with both the S3C24XX and S3C64XX series. The s3c_gpio_chip is extended to have a pm callback and a save block to keep the state of the GPIO over suspend, and the code from the s3c24xx implementation is added to a new common file. The suspend process now uses the list of registered chips to go through saving and restoring each one as appropriate, using the pm callback to select the appropriate routine depending on the type of control register present. This change also means that any additional GPIO added should not require changes to the PM. Signed-off-by: Ben Dooks commit 966bcc14386000e8b4dc7bbb426910bcb55a8588 Author: Ben Dooks Date: Fri Dec 12 00:24:32 2008 +0000 [ARM] S3C64XX: Add IRQ PM code Add support for saving the state of the IRQ registers over suspend. This requires moving the S3C64XX UART registers into and adding irq-pm.c which saves the state of all the IRQ registers. The irq-pm.c saves all the IRQ registers, including the IRQ_EINT and IRQ_EINT_GROUP registers as it was easier than adding three different files. Also ensuring that all the registers are restored to the same state as before suspend is considered to be the best thing to do. Note, we do not suspend the VIC here, this is done by the VIC driver itself. Signed-off-by: Ben Dooks commit 1deb507dc7612e6c81b7953e827d1c859c1d8c0b Author: Ben Dooks Date: Fri Dec 12 00:24:31 2008 +0000 [ARM] S3C64XX: Add generic s3c64xx sys device. Add an s3c64xx_sysclass and device for items that currently want to bind to any s3c64xx processor. The first user of this will be parts of the s3c64xx suspend support which need to save device state over suspend/resume. Signed-off-by: Ben Dooks commit 0abfe9aab1867abd96b44a425ad27ce021891e4f Author: Ben Dooks Date: Fri Dec 12 00:24:28 2008 +0000 [ARM] S3C64XX: Add s3c6410_sysclass export Add definition for s3c6410_sysclass which was missing from arch/arm/plat-s3c/include/plat/cpu.h. Signed-off-by: Ben Dooks commit bd117bd161ea99826494983aef8c8e236ac129bd Author: Ben Dooks Date: Tue Mar 10 18:19:35 2009 +0000 [ARM] S3C64XX: Initial support for PM (suspend to RAM) Add the initial support for the S3C64XX based systems to use suspend-to-RAM to sleep. Includes basic debugging for use with the SMDK6410 usign the LEDs on the baseboard. Signed-off-by: Ben Dooks commit 4b637dc231a96a151ea70c27d86b35c7891e2a7c Author: Ben Dooks Date: Fri Dec 12 00:24:24 2008 +0000 [ARM] S3C: PM save UART UDIVSLOT if doing PM Add the facility to save the UART UDIVSLOT register if the UART state is being saved over suspend. Signed-off-by: Ben Dooks commit 57699e9adf1b44f281d808609b47816804763bfa Author: Ben Dooks Date: Fri Dec 12 00:24:23 2008 +0000 [ARM] S3C: Add debug to UART save and a per-arch callback pre-restore Add a simple debug message on saving the UART state and add a per-arch pre-restore function to be used by the s3c64xx restore code to ensure the UARTs control registers do not go through any illegal state changes. Signed-off-by: Ben Dooks commit 67b3e542ab1cf9f2fe3c1d4ae2aa16dd3b4a7e24 Author: Ben Dooks Date: Fri Mar 6 19:51:51 2009 +0000 [ARM] S3C64XX: Add USB OHCI support Add USB OHCI host definitions. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit e6a2a9ce69400a8109e01030aec0d5e1e2bc73c2 Author: Ben Dooks Date: Fri Mar 6 19:51:50 2009 +0000 [ARM] S3C: Rename S3C24XX_PA_USBHOST to S3C_PA_USBHOST The USB host base address is available on both the S3C24XX and S3C64XX ranges. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 98fd63ba61450151a3b6d18a8264156996d86411 Author: Ben Dooks Date: Fri Mar 6 19:49:49 2009 +0000 [ARM] SMDK6410: Add USB OHCI host Add USB OHCI host capability to the SMDK6410 for either USB OtG or a single/double USB host port. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit eca8655ffa1ffb23c8f6f1485c1315a3087c8f38 Author: Ben Dooks Date: Fri Mar 6 19:49:48 2009 +0000 [ARM] S3C: Add common USB OHCI device definition Add common definition for USB OHCI platform device, add a Kconfig to selectively compile it and add update all the users. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 44347d947f628060b92449702071bfe1d31dfb75 Merge: d94fc52 413f81e Author: Ingo Molnar Date: Thu May 7 11:17:13 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: tracing/core was on a .30-rc1 base and was missing out on on a handful of tracing fixes present in .30-rc5-almost. Signed-off-by: Ingo Molnar commit c51279ec0d2d959e13831ae84b714301f0494f27 Author: Paul Mundt Date: Thu May 7 18:17:20 2009 +0900 sh: Kill off unused SH-5 irq_describe cruft. Signed-off-by: Paul Mundt commit 0fb849b9d743a20056f2418cd955e5c650658663 Author: Paul Mundt Date: Thu May 7 18:10:27 2009 +0900 sh: Integrate the SH-5 onchip_remap() more coherently. Presently this is special-cased for early initialization. While there are situations where these static early initializations are still necessary, with minor changes it is possible to use this for the regular ioremap implementation as well. This allows us to kill off the special-casing for the remap completely and to start tidying up all of the SH-5 special-casing in drivers. Signed-off-by: Paul Mundt commit ae318a148e4d255dfbc87d963fdd6031c2af9c46 Author: Paul Mundt Date: Thu May 7 17:55:09 2009 +0900 sh: sh64 still needs ARCH_USES_GETTIMEOFFSET temporarily. sh64 is still using this, so re-enable it temporarily while SH-5 gets converted to use the generic code. Signed-off-by: Paul Mundt commit d94fc523f3c35bd8013f04827e94756cbc0212f4 Author: Li Zefan Date: Thu May 7 15:11:15 2009 +0800 tracing/events: fix concurrent access to ftrace_events list, fix In filter_add_subsystem_pred() we should release event_mutex before calling filter_free_subsystem_preds(), since both functions hold event_mutex. [ Impact: fix deadlock when writing invalid pred into subsystem filter ] Signed-off-by: Li Zefan Cc: tzanussi@gmail.com Cc: a.p.zijlstra@chello.nl Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org LKML-Reference: <4A028993.7020509@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5928c3cc0ffcb6894bbab6be591b7ae1786b2d87 Author: Frederic Weisbecker Date: Sun May 3 03:03:57 2009 +0200 tracing/filters: support for operator reserved characters in strings When we set a filter for an event, such as: echo "name == my_lock_name" > \ /debug/tracing/events/lockdep/lock_acquired/filter then the following order of token type is parsed: - space - operator - parentheses - operand Because the operators and parentheses have a higher precedence than the operand characters, which is normal, then we can't use any string containing such special characters: ()=<>!&| To get this support and also avoid ambiguous intepretation from the parser or the human, we can do it using double quotes so that we keep the usual languages habits. Then after this patch you can still declare string condition like before: echo name == myname But if you want to compare against a string containing an operator character, you can use double quotes: echo 'name == "&myname"' Don't forget to include the whole expression into single quotes or the double ones will be eaten by echo. [ Impact: support strings with special characters for tracing filters ] Cc: Tom Zanussi Cc: Steven Rostedt Cc: Li Zefan Cc: Zhaolei Signed-off-by: Frederic Weisbecker commit e8808c1019b048a43686dbd25c188a035842c2e2 Author: Frederic Weisbecker Date: Sun May 3 02:48:52 2009 +0200 tracing/filters: support for filters of dynamic sized arrays Currently the filtering infrastructure supports well the numeric types and fixed sized array types. But the recently added __string() field uses a specific indirect offset mechanism which requires a specific predicate. Until now it wasn't supported. This patch adds this support and implies very few changes, only a new predicate is needed, the management of this specific field can be done through the usual string helpers in the filtering infrastructure. [ Impact: support all kinds of strings in the tracing filters ] Cc: Tom Zanussi Cc: Steven Rostedt Cc: Li Zefan Cc: Zhaolei Signed-off-by: Frederic Weisbecker commit 5e7c03442574ed0376c0621bfb0c477d79c12c71 Author: Daniel Mack Date: Wed May 6 01:26:01 2009 +0200 ASoC: cs4270: add power management support Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit ee1acbfabd5270b40ce2cfdc202070b7ca91cdff Author: Paul Mundt Date: Thu May 7 16:38:16 2009 +0900 sh: Handle shm_align_mask also for HAVE_ARCH_UNMAPPED_AREA_TOPDOWN. Presently shm_align_mask is only looked at for the bottom up case, but we still want this for proper colouring constraints in the topdown case. Signed-off-by: Paul Mundt commit aa47b7e0f89b9998dad4d1667447e8cb7703ff4e Author: David Rientjes Date: Mon May 4 01:38:05 2009 -0700 sched: emit thread info flags with stack trace When a thread is oom killed and fails to exit, it's helpful to know which threads have access to memory reserves if the machine livelocks. This is done by testing for the TIF_MEMDIE thread info flag and should be displayed alongside stack traces to identify tasks that have access to such reserves but are still stuck allocating pages, for instance. It would probably be helpful in other cases as well, so all thread info flags are emitted when showing a task. ( v2: fix warning reported by Stephen Rothwell ) [ Impact: extend debug printout info ] Signed-off-by: David Rientjes Cc: Peter Zijlstra Cc: Stephen Rothwell LKML-Reference: Signed-off-by: Ingo Molnar commit 643bec956544d376b7c2a80a3d5c3d0bf94da8d3 Author: Ingo Molnar Date: Thu May 7 09:12:50 2009 +0200 x86: clean up arch/x86/kernel/tsc_sync.c a bit - remove unused define - make the lock variable definition stand out some more - convert KERN_* to pr_info() / pr_warning() [ Impact: cleanup ] LKML-Reference: Signed-off-by: Ingo Molnar commit 40c8bca76ecaa6b663d403d34f0fcd422bbdbffd Author: Paul Mundt Date: Thu May 7 15:24:36 2009 +0900 sh: Flag IRQSTACKS as BROKEN for now. There still seems to be some stack corruption to sort out here, so flag this as BROKEN until this issue is sorted out. Signed-off-by: Paul Mundt commit 975e5f45500dff6d15c0001bb662e9aac0ce0076 Author: Samuel Bronson Date: Wed May 6 22:27:55 2009 -0400 x86: use symbolic name for VM86_SIGNAL when used as vm86 default return This code has apparently used "0" and not VM86_SIGNAL since Linux 1.1.9, when Linus added VM86_SIGNAL to vm86.h. This patch changes the code to use the symbolic name. The magic 0 tripped me up in trying to extend the vm86(2) manpage to actually explain vm86()'s interface -- my greps for VM86_SIGNAL came up fruitless. [ Impact: cleanup; no object code change ] Signed-off-by: Samuel Bronson Signed-off-by: H. Peter Anvin commit 8ae79a138e88aceeeb07077bff2883245fb7c218 Author: Steven Rostedt Date: Wed May 6 22:52:15 2009 -0400 tracing: add hierarchical enabling of events With the current event directory, you can only enable individual events. The file debugfs/tracing/set_event is used to be able to enable or disable several events at once. But that can still be awkward. This patch adds hierarchical enabling of events. That is, each directory in debugfs/tracing/events has an "enable" file. This file can enable or disable all events within the directory and below. # echo 1 > /debugfs/tracing/events/enable will enable all events. # echo 1 > /debugfs/tracing/events/sched/enable will enable all events in the sched subsystem. # echo 1 > /debugfs/tracing/events/enable # echo 0 > /debugfs/tracing/events/irq/enable will enable all events, but then disable just the irq subsystem events. When reading one of these enable files, there are four results: 0 - all events this file affects are disabled 1 - all events this file affects are enabled X - there is a mixture of events enabled and disabled ? - this file does not affect any event Signed-off-by: Steven Rostedt commit 9456f0fa6d3cb944d3b9fc31c9a244e0362c26ea Author: Steven Rostedt Date: Wed May 6 21:54:09 2009 -0400 tracing: reset ring buffer when removing modules with events Li Zefan found that there's a race using the event ids of events and modules. When a module is loaded, an event id is incremented. We only have 16 bits for event ids (65536) and there is a possible (but highly unlikely) race that we could load and unload a module that registers events so many times that the event id counter overflows. When it overflows, it then restarts and goes looking for available ids. An id is available if it was added by a module and released. The race is if you have one module add an id, and then is removed. Another module loaded can use that same event id. But if the old module still had events in the ring buffer, the new module's call back would get bogus data. At best (and most likely) the output would just be garbage. But if the module for some reason used pointers (not recommended) then this could potentially crash. The safest thing to do is just reset the ring buffer if a module that registered events is removed. [ Impact: prevent unpredictable results of event id overflows ] Reported-by: Li Zefan LKML-Reference: <49FEAFD0.30106@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 71e1c8ac42ae4038ddb1367cce7097ab868dc532 Author: Steven Rostedt Date: Wed May 6 21:20:39 2009 -0400 tracing: update sample with TRACE_INCLUDE_FILE When creating trace events for ftrace, the header file with the TRACE_EVENT macros must also have a macro called TRACE_SYSTEM. This macro describes the name of the system the TRACE_EVENTS are defined for. It also doubles as a way for the define_trace.h file to include the file that included it. For example: in irq.h #define TRACE_SYSTEM irq [...] #include The define_trace will use TRACE_SYSTEM to include irq.h. But if the name of the trace system does not match the name of the trace header file, one can override it with: Which will change define_trace.h to inclued foo_trace.h instead of foo.h The sample comments this, but people that use the sample code will more likely use the code and not read the comments. This patch changes the sample code to use the TRACE_INCLUDE_FILE to better show developers how to use it. [ Impact: make sample less confusing to developers ] Reported-by: Christoph Hellwig Signed-off-by: Steven Rostedt commit 4d5b78c055c76bb563c4a43d2adb92735b3b9405 Author: David S. Miller Date: Wed May 6 16:52:51 2009 -0700 net: Add missing rculist.h include to netdevice.h Otherwise list_for_each_entry_rcu() et al. aren't visible and we get build failures in some configurations. Signed-off-by: David S. Miller commit 4dbc8ef7e1123bb8a591d75a2b84413aa261a9f4 Author: Arnaldo Carvalho de Melo Date: Wed May 6 16:50:52 2009 -0700 net: Make inet_twsk_put similar to sock_put By separating the freeing code from the refcounting decrementing. Probably reducing icache pressure when we still have reference counts to go. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3e07a4f680adc66dfa175aa5021aedf340251b12 Author: Steven Rostedt Date: Wed May 6 18:36:59 2009 -0400 ring-buffer: change test to be more latency friendly The ring buffer benchmark/test runs a producer for 10 seconds. This is done with preemption and interrupts enabled. But if the kernel is not compiled with CONFIG_PREEMPT, it basically stops everything but interrupts for 10 seconds. Although this is just a test and is not for production, this attribute can be quite annoying. It can also spawn badness elsewhere. This patch solves the issues by calling "cond_resched" when the system is not compiled with CONFIG_PREEMPT. It also keeps track of the time spent to call cond_resched such that it does not go against the time calculations. That is, if the task schedules away, the time scheduled out is removed from the test data. Note, this only works for non PREEMPT because we do not know when the task is scheduled out if we have PREEMPT enabled. [ Impact: prevent test from stopping the world for 10 seconds ] Signed-off-by: Steven Rostedt commit 9ce77666da48513058e330634a766d4752324f8e Author: gouji-new Date: Wed May 6 10:44:45 2009 +0000 ixgbe: Proposed PARCH PCIE legacy I/O port free intel 10Gb NIC driver Traditionally Intel based NIC drivers request I/O port even though it doesn't need that really. Intel PCIE 10Gb driver (ixgbe) also requests I/O port but it doesn't need it either. This is a little inconvenient situation because sometimes we have to handle those cards on the slots where any I/O space is not attached. So we made pach which makes ixgbe driver legacy I/O port free. Signed-off-by: Masayuki Gouji Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3044b8d1ff8c05237652a692fb572a34e4d70146 Author: Breno Leitao Date: Wed May 6 10:44:26 2009 +0000 ixgbe: Return PCI_ERS_RESULT_DISCONNECT when bus is disabled According to the "PCI Error Recovery" document, if after a recovery, the bus is disabled, the error_detected function should return PCI_ERS_RESULT_DISCONNECT. Actually ixgbe error_detected function is always returning PCI_ERS_RESULT_NEED_RESET, even if the bus is in failure. This patch just check if the bus is disabled and then returns PCI_ERS_RESULT_DISCONNET. Signed-off-by: Breno Leitao Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2012bdc8a5553fc864e78f582c8ce79e762dec42 Author: Alexander Duyck Date: Wed May 6 10:44:07 2009 +0000 ixgbe: remove ixgbe_napi_add/del_all references There were still some references to napi_add/del_all left after the dynamic vector allocation patch. This patch removes those references since the ixgbe_napi_add/del_all calls are no longer needed as the napi struct is added when the vector is created, and deleted when the vector is freed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fdaff1ceac32e1748353e91a420c18141ea153c0 Author: Alexander Duyck Date: Wed May 6 10:43:47 2009 +0000 ixgbe: skb_record_rx_queue should record rx queue instead of vector currently ixgbe_receive_skb is passing the vector index to skb_record_rx_queue instead of the queue index. This patch changes that so that the ring index is passed instead. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7a921c93626e7481b5d8788d8511995aa2d2b591 Author: Alexander Duyck Date: Wed May 6 10:43:28 2009 +0000 ixgbe: make q_vectors dynamic to reduce netdev size Currently the q_vectors are being allocated statically inside of the adapter struct. This increases the overall size of the adapter struct when we can easily allocate the vectors dynamically. This patch changes that behavior so that the q_vectors are allocated dynamically and the napi structures are automatically allocated inside of the q_vectors as needed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dcb4ea2ea2ba990a59db5a4cc402df3c2bd389b3 Author: Alexander Duyck Date: Wed May 6 10:25:42 2009 +0000 pci: update 82576 sr-iov quirk with latest device IDs The current quirk doesn't include all 82576 device IDs. This update resolves that. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7beb0146fc965ffee928eff53525aac0173b0b07 Author: Alexander Duyck Date: Wed May 6 10:25:23 2009 +0000 igb/igbvf: set rx csum always enabled in hw, disable via sw An issue was found in which rx checksum could not be enabled without resetting the interface. The issue was the hardware enable was not being done via ethtool. To resolve this issue and prevent conflicts with VF configuration we will leave the feature always enabled in hardware, and then in software we will choose to ignore the results via a sw flag. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0364d6fd2c353d2d82da865a6f093f97c69b669c Author: Alexander Duyck Date: Wed May 6 10:25:01 2009 +0000 igbvf: cleanup flags and allow for rx checksum to be disabled This patch cleans up a number of unused or unneeded feature flags. As a result of these changes the user should now be able to enable or disable rx checksumming via ethtool. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e0ca84105bca8691f39ef7ff221a88046ba11f23 Author: Saeed Bishara Date: Wed May 6 03:02:01 2009 +0000 mv643xx_eth: only unmask RX and TX_END interrupts for available queues It is not a good idea to blindly unmask the RX and TX_END interrupts for all eight queues on all mv643xx_eth hardware, since some variations of the hardware have less than eight transmit/receive queues, and the RX/TX_END interrupts for the queues they don't have can be in use by other interrupt sources. Signed-off-by: Saeed Bishara Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 7fd96ce47ff83fc17ab78d465d8e067467a7f51e Author: Lennert Buytenhek Date: Wed May 6 03:01:22 2009 +0000 mv643xx_eth: rework receive skb cache alignment On the platforms that mv643xx_eth is used on, the manual skb->data alignment logic in mv643xx_eth can be simplified, as the only case we need to handle is where NET_SKB_PAD is not a multiple of the cache line size. If this is the case, the extra padding we need can be computed at compile time, while if NET_SKB_PAD _is_ a multiple of the cache line size, the code can be optimised out entirely. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit becfad979d1875aca15ef2a1eda68782e7ac7769 Author: Lennert Buytenhek Date: Wed May 6 03:01:17 2009 +0000 mv643xx_eth: minor register definition cleanup Move the definitions for the SDMA and port serial configuration register values to where all the other register definitions live, and expand the shifts to 32 bit constants. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 26ef1f17d4741756763d1a399968ce17f236e2fb Author: Lennert Buytenhek Date: Wed May 6 03:01:10 2009 +0000 mv643xx_eth: count handling a link event as one unit of napi work Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 7eaa2b20ca0a471e1c73f72d8c6a0eac2c7838a7 Author: Lennert Buytenhek Date: Wed May 6 03:00:59 2009 +0000 mv643xx_eth: fix variable shadowing sparse warning Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 3d0a3cc9d72047e4baa76021c897f64fc84cc543 Author: Dhananjay Phadke Date: Tue May 5 19:05:08 2009 +0000 netxen: fix bonding support o Pause traffic during mac addr change. o Enable setting mac address for NX3031. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5cf4d323f8864dab818d500ec74f2fcb9ad5bf89 Author: Dhananjay Phadke Date: Tue May 5 19:05:07 2009 +0000 netxen: fix mac list management o use standard linked list api for mac addr list management in NX3031. o release mac addresses in firmware in dev close(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 22527864ed7ee6c50f3c4d4b03c83c963caf5c0b Author: Dhananjay Phadke Date: Tue May 5 19:05:06 2009 +0000 netxen: fix race in tx ring acccess Fix the distance check between tx ring producer and consumer that could lead to tx ring wrap around. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 02cb2858dbfe216bd4a91c4afb4e259ef3b9e151 Author: Wang Chen Date: Fri Apr 24 15:41:57 2009 +0800 nfsd: nfs4_stat_init cleanup Save some loop time. Signed-off-by: Wang Chen Signed-off-by: J. Bruce Fields commit 6634ff26cce2da04e5c2a5481bcb8888e7d01786 Author: Steven Rostedt Date: Wed May 6 15:30:07 2009 -0400 ring-buffer: make moving the tail page a separate function Ingo Molnar thought the code would be cleaner if we used a function call instead of a goto for moving the tail page. After implementing this, it seems that gcc still inlines the result and the output is pretty much the same. Since this is considered a cleaner approach, might as well implement it. [ Impact: code clean up ] Signed-off-by: Steven Rostedt commit 9dfd6ba353b993d648dcda72480c7ce92cd27c7e Author: Jouni Malinen Date: Wed May 6 20:34:10 2009 +0300 mac80211: Update SA Query transaction id length IEEE 802.11w/D8.0 changed the length of the SA Query transaction identifier from 16 to 2 octets. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit f9dd6b52873ad9fda51a3881c80c96d06ee6a57d Author: Gabor Juhos Date: Wed May 6 09:47:30 2009 +0200 ath9k: remove redundant AR9285 checks The AR_SREV_9285_1[12]_OR_LATER macros already contains the AR_SREV_9285 check. Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 4f0fc7c39f2a224b939f22d4dca552b266319525 Author: Luis R. Rodriguez Date: Wed May 6 02:20:00 2009 -0400 ath9k: make private driver rate tables const On x86 this allows us to do the following small savings: shave off 23 % off of the module's data, and shave off 6 % off of the module's text. We save 456 bytes, for those counting. $ size ath9k.ko text data bss dec hex filename 250794 3628 1600 256022 3e816 ath9k.ko $ size ath9k-old.ko text data bss dec hex filename 239114 15308 1600 256022 3e816 ath9k-old.ko $ du -b ath9k.ko 4034244 ath9k.ko $ du -b ath9k-old.ko 4033788 ath9k-old.ko Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7c5a189dc6a43def594fedc7cd8f6886596b65de Author: Max Filippov Date: Wed May 6 01:47:02 2009 +0400 p54: call p54_wake_free_queues on every p54_free_skb and p54_rx_frame_sent Currently queues are stopped when their length reaches their length limit, but are restarted only when the size of freed range of packet buffer is not less than the size of the largest possible packet. This causes permanent queue stop on radio visibility loss in the middle of ping series: there is plenty of room in the packet buffer, but it is never freed more than 3 (size of 'best effort' queue) * 288 (ping packet plus headers) bytes at once. Signed-off-by: Max Filippov Signed-off-by: John W. Linville commit aec6795210db6ba3f4592056d41ac5b1ab41e980 Author: Jouni Malinen Date: Tue May 5 20:35:15 2009 +0300 mac80211: Comment the order of HT RX reorder handler vs. RX handlers We are currently processing block ack reordering as a separate task before all other RX handlers. In theory, this is wrong since this step should be done only after duplicate removal (see Figure 6-1 in IEEE 802.11n). However, moving this needs some work and the current situation is not too bad. Add a comment here so that this small detail does not get forgotten and who knows, maybe someone has some extra time to take a look at cleaning this up. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 4d050f1daed3babf6fcc337f862a245d31af4452 Author: Jouni Malinen Date: Tue May 5 20:35:14 2009 +0300 mac80211: Add a timeout for frames in the RX reorder buffer This patch allows skbs to be released from the RX reorder buffer in case they have been there for an unexpectedly long time without us having received the missing frames before them. Previously, these frames were only released when the reorder window moved and that could take very long time unless new frames were received constantly (e.g., TCP connections could be killed more or less indefinitely). This situation should not happen very frequently, but it looks like there are some scenarious that trigger it for some reason. As such, this should be considered mostly a workaround to speed up recovery from unexpected siutation that could result in connections hanging for long periods of time. The changes here will only check for timeout situation when adding new RX frames to the reorder buffer. It does not handle all possible cases, but seems to help for most cases that could result from common network usage (e.g., TCP retrying at least couple of times). For more completely coverage, a timer could be used to periodically check whether there are any frames remaining in the reorder buffer if no new frames are received. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2d3babd11f91501f49c6af212e6795bd8954f4d4 Author: Jouni Malinen Date: Tue May 5 20:35:13 2009 +0300 mac80211: Use a shared function to release frames from RX reorder buf No need to duplicate the same code in two places (and that would be three after the followup patch). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 358623c22c9fd837b3b1b444377037f72553dc9f Author: Ivo van Doorn Date: Tue May 5 19:46:08 2009 +0200 rt2x00: Simplify rt2x00_check_rev rt2x00_check_rev() was too specific for rt2500usb and rt73usb, by adding the mask argument (instead of hardcoding it into the function itself) we can use the function in rt2800usb as well. v2: Fix revision mask for rt2800usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6cfe62cd58da862db04d4eb61f218f65b0cedbb3 Author: Luis R. Rodriguez Date: Tue May 5 15:48:39 2009 -0400 mac80211: Fix sparse warning for ssid_len on ieee80211_sta_config_auth() net/mac80211/mlme.c:2079:28: warning: symbol 'ssid_len' shadows an earlier one net/mac80211/mlme.c:2022:12: originally declared here ssid_len is already being declared and checked above so there is no need for it again. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 83f8b478ff5ed7d7df0bf91336bbede7b4714771 Author: John W. Linville Date: Wed May 6 14:16:15 2009 -0400 p54: correct merge damage from "p54: more SoftLED updates" Ooops... Signed-off-by: John W. Linville commit 8a7130404948b966e98b1285e777972b4b3f2fa2 Author: Alexander Beregalov Date: Mon May 4 20:46:25 2009 +0400 ar9170: fix build when !CONFIG_PM Fix this build error when CONFIG_PM is not set: drivers/net/wireless/ath/ar9170/usb.c: In function 'ar9170_usb_probe': drivers/net/wireless/ath/ar9170/usb.c:692: error: 'struct usb_device' has no member named 'reset_resume' Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 7738231f98578c8cd5b367441b4aa79ce864856f Author: Johannes Berg Date: Mon May 4 17:52:10 2009 +0200 mac80211: report operating frequency rather than current It's not very helpful to see, in iwconfig, the current frequency the card is tuned to if that frequency is currently somewhere across the board because we're scanning. Since we keep track of the frequency the user wants, display that instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1b06bb4087d195d8289919df2f4d95ec3b89769e Author: Luis R. Rodriguez Date: Sat May 2 00:34:48 2009 -0400 cfg80211: make nl80211_send_mlme_timeout() static Fixes sparse complaint: CHECK net/wireless/nl80211.c net/wireless/nl80211.c:3694:6: warning: symbol 'nl80211_send_mlme_timeout' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 13792578c88961256dd30e3a5d3fa1ac1ec9a7e0 Author: Hauke Mehrtens Date: Fri May 1 13:12:36 2009 +0200 p54usb: Fixes compile error with CONFIG_PM=n /drivers/net/wireless/p54/p54usb.c: In function 'p54u_probe': /drivers/net/wireless/p54/p54usb.c:923: error: 'struct usb_device' has no member named 'reset_resume' In the struct usb_device the reset_resume attribute is only available when CONFIG_PM is defined. Signed-off-by: Hauke Mehrtens Signed-off-by: John W. Linville commit 928841b1538df117658ec5977bcf336c27f7747b Author: Greg Kroah-Hartman Date: Thu Apr 30 23:02:47 2009 -0700 Wireless: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: John W. Linville Cc: linux-wireless@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: John W. Linville commit 8bce6121706dd82c266c3f527e592abfb3e164d1 Author: Bob Copeland Date: Fri May 1 08:20:07 2009 -0400 wl12xx: correct printk format warnings Fixes warnings: drivers/net/wireless/wl12xx/main.c:87: warning: int format, different type arg (arg 2) drivers/net/wireless/wl12xx/main.c: In function `wl12xx_fetch_nvs': drivers/net/wireless/wl12xx/main.c:125: warning: int format, different type arg (arg 2) drivers/net/wireless/wl12xx/wl1251.c: In function 'wl1251_upload_firmware': drivers/net/wireless/wl12xx/wl1251.c:94: warning: int format, different type arg (arg 2) drivers/net/wireless/wl12xx/wl1251.c:141: warning: int format, different type arg (arg 2) Signed-off-by: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 4e8e2c824027ed433be3c599294bf093a120ad9d Author: Tomas Winkler Date: Thu Apr 30 13:56:29 2009 -0700 iwlwifi: replace test_and_set_bit by set_bit in clear stations function This patch replaces test_and_set_bit by set_bit since the bit is not tested anyway Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a30199f129e17998f802d3307907560431e78493 Author: Wey-Yi Guy Date: Thu Apr 30 13:56:28 2009 -0700 iwlwifi: "is_fat" bit in rate scale match RXON flag This patch change the "is_fat" checking in rate scale to use iwl_is_fat_tx_allowed() to match the sta and RX_ON command setting. Signed-off-by: Wey-Yi Guy Tested-by: Conrad Kostecki Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 286d94906587901851906a5e2ddc09bc1a7ba1d9 Author: Reinette Chatre Date: Thu Apr 30 13:56:27 2009 -0700 iwlagn: disable PS support for iwlagn Some issues in PS prevent us from supporting it reliably. When 4965 goes to sleep it stores some data in host DRAM, reads it back when device wakes up. In 4965 there is a problem that the data is not correct when ucode starts using it upon wakeup. For all iwlagn devices there is a problem where command is sent when PS is enabled. At the moment there is a locking problem with priv->lock not being held and thus not requesting nic access correctly. We disable PS until these issues have been resolved. Signed-off-by: Reinette Chatre Signed-off-by: Mohamed Abbas Signed-off-by: John W. Linville commit 722404983b9deb21e4f786224201ca2ab27a1c48 Author: Abhijeet Kolekar Date: Thu Apr 30 13:56:26 2009 -0700 iwl3945: fix lock dependency Patch seperates rx_used and rx_free into two different atomic contexts. We can now avoid using GFP_ATOMIC for skb allocation and use GFP_KERNEL. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 84379cba44042a4caf793f821be8bd1a9b8235c2 Author: Paride Legovini Date: Thu Apr 30 15:55:52 2009 -0400 Add LED support for AR5BXB6 IBM Thinkpad PCIe adapters Add LED support on the IBM ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6), found on the IBM/Lenovo Thinkpad X60/T60/Z60 series. Signed-off-by: Paride Legovini Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6752ee90aa7c933294a10dbd9ea51f12dece7eb1 Author: Bob Copeland Date: Thu Apr 30 15:55:51 2009 -0400 ath5k: use ctl settings based on current regdomain Update ath5k to use the ctl settings for tx power based on current regulatory domain. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 57e6c56dbb52d680f61dd629759fe2974840ed93 Author: Nick Kossifidis Date: Thu Apr 30 15:55:50 2009 -0400 ath5k: Add Spur filter support on newer chips * Add spur filter support for RF5413 and later chips Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 2bed03ebf62f9d013a455209bf30d7e086120443 Author: Nick Kossifidis Date: Thu Apr 30 15:55:49 2009 -0400 ath5k: Implement antenna control * Add code to support the various antenna scenarios supported by hw * For now hardcode the default scenario (single or dual omnis with tx/rx diversity working and tx antenna handled by session -hw keeps track on which antenna it got ack from each ap/station and maps each ap/station to one of the antennas-). Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 6f5f39c95af519c24c0187950147eb79d07d1940 Author: Jiri Slaby Date: Thu Apr 30 15:55:48 2009 -0400 ath5k: Enable AP mode After some debuging we were hitting the following bugs so far... * Due to huge channel list hostapd couldn't get infos from the driver and couldn't set the channel. If we manualy set the channel after hostapd starts (by setting channel to 0 -auto), beacons are sent but they wont show up on scan because they are malformed (they have channel = 0 because hostapd doesn't update the channel info -this is probably a hostapd bug so i'm CCing Jouni) and they get dropped. Bob fixed this by only allowing standard channels to be registered so now hostapd works as expected. * Docs (and HAL source) say that we must write 0 on timer0 when operating on AP mode to start TSF increment but this seems to mess with DBA in many cases and beacon queue never gets started. We fixed that on the previous patch. We have some more things to deal with... * For some reason (hw bug or something else) after restarting hostapd a few times, beacon inteval seems to change from 100ms to a sec (we get one beacon per sec). * We need to set sleep timers on STA mode and enable power saving + support PCF. ...but i think it's time we enable AP support "officialy" so that we can get more feedback from users. I ran ath5k with the mentioned patches + hostapd 0.6.8 and AP mode worked fine (it had some less throughput on my tests than IBSS but it worked). Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 428cbd4ff4d0f2423f49e499f499f04a636cb152 Author: Nick Kossifidis Date: Thu Apr 30 15:55:47 2009 -0400 ath5k: Beaconing fixes * Write next beacon timer even on AP mode since without this we get no beacons + ath9k does it too. Docs say that we must write 0 on this register on AP mode to start TSF increment, we do both to be on the safe side. * Fix num_tx_pending function, we never read the register :P that's why we got all those "beacon queue 7 didn't stop messages". * Put full prioriy on beacon queue, lock all queues with lower priority using the arblock and also bypass any arblock by seting the arblock ignore flag. * For the CAB queue (do we need this thing ?, it seems crap) since it's supposed to fire up after each beacon (we don't use it on driver part, ath9k/MadWiFi does), don't make it DBA gated but instead make it fire after each beacon by using the beacon sent gated flag. * Increase bmiss threshold to 10, that's what we used on MadWiFi for a long time. Also when we have pending frames on the beacon queue (we got a beacon that didn't make it on the air) it's more likely that the beacon queue never started, probably due to faulty DBA setting, so change that "beacon queue didn't stop" message. Tested this with AP mode and IBSS mode and seems to work fine ;-) Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 1889ba0a48688b639c2b2e9e1b0fd8f84e2c37d1 Author: Nick Kossifidis Date: Thu Apr 30 15:55:46 2009 -0400 ath5k: Put remaining EEPROM data on ee struct * Put remaining EEPROM information on ee struct and remove is_hb63 function. Now we also have rfkill stuff available. Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cd417519086b223562b50c364d7beab12ef4c62c Author: Nick Kossifidis Date: Thu Apr 30 15:55:45 2009 -0400 ath5k: Read Spur channels from EEPROM * Read Spur channel information from EEPROM and use default channels for RF5413 compatible chips that don't have this info on EEPROM. Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit a082381044ce026e83dbd17f8837722b028fc07d Author: Nick Kossifidis Date: Thu Apr 30 15:55:44 2009 -0400 ath5k: Allow user/driver to set txpower * Now that we have regulatory control enable the driver to set txpower on hw * Also use txpower table offset so that we can match power range set by user/driver with indices on power table. Tested 2 different cards (a CM9 and an RF5112-based ubnt) and got the same output using a remote machine to measure per-packet rssi (conected the cards using attenuators). I also switched between various tx power levels and i saw an equal power change on the remote machine (so txpower changes as expected) and verified that we have the same output on each rate. Signed-off-by: Nick Kossifidis Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 15e469284d5e89c9113379b68566b0e059a97704 Author: Ivo van Doorn Date: Tue Apr 28 20:14:58 2009 +0200 rt2x00: Synchronize initialization with rt2870 driver Ralink released a new rt2870 driver, these are the obvious differences I could find. It doesn't same to make my device work better, but neither does it seem to regress... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e430d6074dede3b4d7d87e30296fe3894cb4709c Author: Ivo van Doorn Date: Mon Apr 27 23:58:31 2009 +0200 rt2x00: Add new USB ID for rt2800usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2f01a1f58889fbfeb68b1bc1b52e4197f3333490 Author: Kalle Valo Date: Wed Apr 29 23:33:31 2009 +0300 wl12xx: add driver wl12xx is a driver for TI wl1251 802.11 chipset designed for embedded devices, supporting both SDIO and SPI busses. Currently the driver supports only SPI. Adding support 1253 (the 5 GHz version) should be relatively easy. More information here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=4711&navigationId=12494&templateId=6123 (Collapsed original sequence of pre-merge patches into single commit for initial merge. -- JWL) Signed-off-by: Kalle Valo Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit d53d9e67b55f6a9fc3f836c5c392eb41ce5676f4 Author: Ivo van Doorn Date: Sun Apr 26 15:47:48 2009 +0200 rt2x00: Implement support for rt2800usb Add support for the rt2800usb chipset. Current problems: * Cannot scan 11n AP's * No TX during first minute after association * Broken Hardware encryption Includes various patches from Mattias, Felix, Xose and Axel. Signed-off-by: Mattias Nissler Signed-off-by: Felix Fietkau Signed-off-by: Xose Vazquez Perez Signed-off-by: Axel Kollhofer Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 206eade5a68f7a06adbe7c65e47fd88843ad0546 Author: Alban Browaeys Date: Wed Apr 29 22:00:23 2009 +0200 rt2x00: Style fix for interval defines Extra parenthesis are not needed in these 2 cases, all other defines in rt2x00 are done without parenthesis so just fixup these 2 cases. Signed-off-by: Alban Browaeys Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fb4a3d35a26aa8ef5049f10666e6a163b4c32855 Author: Gabor Juhos Date: Wed Apr 29 13:01:58 2009 +0200 ath9k: uninline ath9k_io{read,write}32 routines The spin_lock handling uses lots of instructions on some archs. With this patch the size of the ath9k module will be significantly smaller. Signed-off-by: Gabor Juhos Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5cff20e6c5a6591a79d3b027af222870f52bb550 Author: Johannes Berg Date: Wed Apr 29 12:26:17 2009 +0200 mac80211: tell driver when idle When we aren't doing anything in mac80211, we can turn off much of the hardware, depending on the driver/hw. Not doing anything, aka being idle, means: * no monitor interfaces * no AP/mesh/wds interfaces * any station interfaces are in DISABLED state * any IBSS interfaces aren't trying to be in a network * we aren't trying to scan By creating a new function that verifies these conditions and calling it at strategic points where the states of those conditions change, we can easily make mac80211 tell the driver when we are idle to save power. Additionally, this fixes a small quirk where a recalculated powersave state is passed to the driver even if the hardware is about to stopped completely. This patch intentionally doesn't touch radio_enabled because that is currently implemented to be a soft rfkill which is inappropriate here when we need to be able to wake up with low latency. One thing I'm not entirely sure about is this: phy0: device no longer idle - in use wlan0: direct probe to AP 00:11:24:91:07:4d try 1 wlan0 direct probe responded wlan0: authenticate with AP 00:11:24:91:07:4d wlan0: authenticated > phy0: device now idle > phy0: device no longer idle - in use wlan0: associate with AP 00:11:24:91:07:4d wlan0: RX AssocResp from 00:11:24:91:07:4d (capab=0x401 status=0 aid=1) wlan0: associated Is it appropriate to go into idle state for a short time when we have just authenticated, but not associated yet? This happens only with the userspace SME, because we cannot really know how long it will wait before asking us to associate. Would going idle after a short timeout be more appropriate? We may need to revisit this, depending on what happens. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9955151df7c6452cae2ed9649f53d265c91cf155 Author: Gábor Stefanik Date: Thu Apr 23 19:36:14 2009 +0200 mac80211: Warn if the rate controller requests retries for a NO_ACK frame To deter future rate scaling algorithm writers from requesting NO_ACK packets to be retried, throw a WARN_ON_ONCE if the algorithm hands us a try count over 1 for NO_ACK packet. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 97d3f458a1e3350dfcbdc3b6aefa75d20d59ee17 Author: Gábor Stefanik Date: Thu Apr 23 19:36:11 2009 +0200 ath9k: Fix handling of retry count of NO_ACK frames Check for IEEE80211_TX_CTL_NO_ACK instead of is_multicast_ether_addr when determining whether to use lowest rate without retries. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 514d65c18ee3595f7f9c9132895ed449f911ecd4 Author: Gábor Stefanik Date: Thu Apr 23 19:36:08 2009 +0200 iwlwifi: Fix handling of retry count of NO_ACK frames in iwl-{3945|agn}-rs Make iwl-{3945|agn}-rs check for IEEE80211_TX_CTL_NO_ACK instead of is_multicast_ether_addr when determining whether to use the lowest rate, and set the retry count to 0 (total try count = 1) if IEEE80211_TX_CTL_NO_ACK is set. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 922368414e5700d1ed51510e54137359297d78e7 Author: Gábor Stefanik Date: Thu Apr 23 20:06:06 2009 +0200 mac80211: Fix handling of retry count of NO_ACK frames in PID Make PID check for IEEE80211_TX_CTL_NO_ACK instead of is_multicast_ether_addr when determining whether to use the lowest rate, and set the retry count to 0 (total try count = 1) if IEEE80211_TX_CTL_NO_ACK is set. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4edf040afc9237aa8cc90bcf54b521ac47d1ed78 Author: Gábor Stefanik Date: Thu Apr 23 19:36:00 2009 +0200 mac80211: Fix handling of retry count of NO_ACK frames in minstrel Make the retry count zero (total try count = 1) for frames with IEEE80211_TX_CTL_NO_ACK set. Also remove the check for is_multicast_ether_addr in use_low_rate, which is redundant because all multicasts have IEEE80211_TX_CTL_NO_ACK set. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 2516baa63bc7d05a6573a0f584135484ed182a87 Author: Bob Copeland Date: Mon Apr 27 22:18:10 2009 -0400 ath5k: correct interrupt storm warning Ben Greear points out that the "too many interrupts" message will never print in the intended case since the interrupt counter will be -1 after the loop. Change it to pre-decrement so it will be 0 on the thousandth iteration. Cc: Ben Greear Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 35f00cfcc06bb85e0659f9847400518008d78145 Author: Ivo van Doorn Date: Sun Apr 26 16:09:32 2009 +0200 rt2x00: Implement support for 802.11n Extend rt2x00lib capabilities to support 802.11n, it still lacks aggregation support, but that can be added in the future. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9f1661718c7fcf82e25c6aed20b729ee372d9d65 Author: Ivo van Doorn Date: Sun Apr 26 16:08:50 2009 +0200 rt2x00: Add support for L2 padding during TX/RX Some hardware require L2 padding between header and payload because both must be aligned to a 4-byte boundary. This hardware also is easier during the RX path since we no longer need to move the entire payload but rather only the header to remove the padding (mac80211 only wants the payload to be 4-byte aligned). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9eb4e21e289beba9cfe34f24920eee83c144e62f Author: Ivo van Doorn Date: Sun Apr 26 16:08:30 2009 +0200 rt2x00: Move iv_len into tx descriptor data By placing the iv_len into the tx descriptor data and by passing this data to the crypto IV handlers we can save multiple calls to ieee80211_get_hdrlen_from_skb() and some if-statements when copying/removing the IV data from the outgoing frame. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bbb33881ae5bfe4197a005dc03b29b7dcc07fa28 Author: Tobias Klauser Date: Sun Apr 26 14:58:40 2009 +0200 ath5k: Storage class should be before const qualifier commit 8e218fb24faef0bfe95bc91b3c05261e20439527 reverted the previous patch (commit 925be8a3077351edbf2b59ca689105df214a0792). The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Acked-by: Jiri Slaby Signed-off-by: John W. Linville commit ba5101d098d6a8471d1a3147fb610b2ee3dbb397 Author: Roel Kluin Date: Sun Apr 26 14:40:59 2009 +0200 ar9170: wrong test on outlen in ar9170_usb_exec_cmd() ? remove redundant test: outlen is unsigned Signed-off-by: Roel Kluin Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 44e1b98f733e48bb781e4229120e1de5e0c9fdbb Author: Michael Buesch Date: Sun Apr 26 11:27:33 2009 +0200 cfg80211: Use the correct IE buffer pointer If the IE buffer was allocated, the pub.information_elements pointer was also changed to the allocated space. So we must not assume anymore that the pointer points at the "found" tail. So if it was allocated previously, take the codebranch that grows the buffer size (if necessary) and put the data into the allocated buffer. Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 273de92c8461776aaac7b32f8d5889a72b38ea10 Author: Michael Buesch Date: Sat Apr 25 22:28:55 2009 +0200 cfg80211: Remove unnecessary ksize() call This removes an unnecessary ksize() call. krealloc() will do this test internally and won't perform any allocation if the space is already sufficient to hold the data. So remove the redundant check. Signed-off-by: Michael Buesch Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 90ccda9baccec8223ca5456fbe49adf7264d1543 Author: Christian Lamparter Date: Sat Apr 25 21:32:09 2009 +0200 ar9170usb: reset device on resume This patch takes care of an outstanding comment in "[PATCH] ar9170usb: fix hang on resume" commit message. >However, the device does not accept the firmware on resume. >and it will exit with: > >> firmware part 1 upload failed (-71). >> device is in a bad state. please reconnect it! Reported-by: Johannes Berg Signed-off-by: Christian Lamparter Tested-by: Johannes Berg Signed-off-by: John W. Linville commit 1ca5f2e94c40b04d5dec437cd41fd5ba12aaac31 Author: Christian Lamparter Date: Sat Apr 25 21:12:09 2009 +0200 p54usb: rework driver for resume This patch redo the driver code so that p54usb no longer hangs the kernel on resume. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a406ac0dc15b22807b65f5a6590b9cb34d99d4ab Author: Christian Lamparter Date: Sat Apr 25 21:11:55 2009 +0200 p54usb: remove some dead code Since "p54: prevent upload of wrong firmwares" we no longer allow outdated LM86 firmwares to be uploaded on ISL3887 (LM87) devices. Therefore we can purge this buggy legacy code altogether. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ded7a7eaab2a39b7b5c36a2ec3be46f6ebcedba5 Author: Jiri Slaby Date: Sat Apr 25 14:09:23 2009 +0200 ath5k: 5211, don't crypt every protected frame Set null key type even on ar5211, otherwise it en/decrypts every frame with protected bit set which renders the card unusable on encrypted networks. Signed-off-by: Jiri Slaby Cc: Luis R. Rodriguez Cc: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit aeca78b9b094d00cccca39e9a1055c74ad83ea69 Author: Andrew Morton Date: Fri Apr 24 15:26:02 2009 -0700 net/rfkill/rfkill.c: fix build with CONFIG_RFKILL_LEDS=n net/rfkill/rfkill.c: In function 'update_rfkill_state': net/rfkill/rfkill.c:99: error: implicit declaration of function 'rfkill_led_trigger' Caused by : commit 492301fb5d12e4a77a1010ad2b6f1ed306014123 : Author: Larry Finger : Date: Thu Apr 9 22:14:19 2009 -0500 : : rfkill: Fix broken rfkill LED in 2.6.30-rc1 Cc: Henrique de Moraes Holschuh Cc: Ivo van Doorn Cc: Michael Buesch Cc: David S. Miller Cc: Larry Finger Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 0ef9ccdd9ec7f2cf28d0605c216d853687f5291d Author: Chris Wright Date: Fri Apr 24 14:09:31 2009 -0700 cfg80211: remove superfluous !last_request check in reg_device_remove() Commit 0ad8acaf "cfg80211: fix NULL pointer deference in reg_device_remove()" added a check that last_request is non-NULL, rendering the 2nd check superfluous. While there, rearrange the code a bit so it's a little more straight forward. Signed-off-by: Chris Wright Signed-off-by: John W. Linville commit 2cfb1f5e20f260e6ff306ba181efee956ba48f54 Author: Christian Lamparter Date: Fri Apr 24 21:41:18 2009 +0200 ar9170: uncomment powermgt case handle This patch uncomment a few lines that survived the RFCs. However, there is not much to worry about, since AP mode is not officially advertised and supported. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 083c4687bc3abc315c73830b9c74ad67e005d8c2 Author: Christian Lamparter Date: Fri Apr 24 21:35:57 2009 +0200 ar9170: handle otus' A-MPDU density definitions Otus uses slightly different set of "Minimum MPDU Start Spacing" values than the 802.11n D2.0 specifies. (the whole table is shifted by one and therefore the 16us spacing is not officially available!) And while we're at it, we also initialize our MAC's density register. So, this annoying _feature_ will not break TX A-MPDU later. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 16cf438a1eca2b7206bd7ac7763637c2a87c00c6 Author: Johannes Berg Date: Fri Apr 24 15:15:25 2009 +0200 mac80211: fix probe response processing Due to the use of a _REQ_DIRECT_PROBE bit, which is unnecessary (and I wonder why it was done that way), an interesting situation can arise: 1) we try to probe an access point 2) the AP doesn't response in time 3) we tell userspace that we gave up 4) the AP suddenly responds 5) we auth/assoc with the AP I've seen 4) happen in testing with hostapd SIGSTOPped, and when SIGCONTinued it processes the probe requests that came in and send responses. But 5) is not supposed to happen after we tell everybody we've given up on the AP. To fix this, remove the _REQ_DIRECT_PROBE request bit, and process probe responses when we're in the relevant MLME state, namely IEEE80211_STA_MLME_DIRECT_PROBE. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d91f190c412aff940a46cabaccf114361c133605 Author: Johannes Berg Date: Fri Apr 24 15:13:54 2009 +0200 mac80211_hwsim: fix bogus warning A typo slipped into my patch to configure beacon intervals properly -- this warning is supposed to trigger when the beacon interval is zero, not non-zero. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e61f234079b49c7e075b12551797fc4954704019 Author: Jouni Malinen Date: Fri Apr 24 00:00:00 2009 +0300 nl80211: Send timeout event on failed direct probe If the direct probe times out, we need to send the authentication timeout event to notify SME in the same way as we notify on timeout with authentication frames since the direct probe is run as part of the authentication attempt. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 2448798133d747ad339e57099e32a1d1e68aca1c Author: Johannes Berg Date: Thu Apr 23 18:52:52 2009 +0200 mac80211: add driver ops wrappers In order to later add tracing or verifications to the driver calls mac80211 makes, this patch adds static inline wrappers for all operations. All calls are now written as drv_(local, ...); instead of local->ops->(&local->hw, ...); Where necessary, the wrappers also do existence checking and return default values as appropriate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2d0ddec5b2b859f06116f631fc0ffe94fbceb556 Author: Johannes Berg Date: Thu Apr 23 16:13:26 2009 +0200 mac80211: unify config_interface and bss_info_changed The config_interface method is a little strange, it contains the BSSID and beacon updates, while bss_info_changed contains most other BSS information for each interface. This patch removes config_interface and rolls all the information it previously passed to drivers into bss_info_changed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 57c4d7b4c4986037be51476b8e3025d5ba18d8b8 Author: Johannes Berg Date: Thu Apr 23 16:10:04 2009 +0200 mac80211: clean up beacon interval settings We currently have two beacon interval configuration knobs: hw.conf.beacon_int and vif.bss_info.beacon_int. This is rather confusing, even though the former is used when we beacon ourselves and the latter when we are associated to an AP. This just deprecates the hw.conf.beacon_int setting in favour of always using vif.bss_info.beacon_int. Since it touches all the beaconing IBSS code anyway, we can also add support for the cfg80211 IBSS beacon interval configuration easily. NOTE: The hw.conf.beacon_int setting is retained for now due to drivers still using it -- I couldn't untangle all drivers, some are updated in this patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f3b85252f081581a8f257545ed748062dce7798b Author: Johannes Berg Date: Thu Apr 23 16:01:47 2009 +0200 mac80211: fix scan races and rework scanning There are some places marked /* XXX maybe racy? */ and they really are racy because there's no locking. This patch reworks much of the scan code, and introduces proper locking for the scan request as well as the internal scanning (which is necessary for IBSS/managed modes). Helper functions are added to call the scanning code whenever necessary. The scan deferring is changed to simply queue the scanning work instead of trying to start the scan in place, the scanning work will then take care of the rest. Also, currently when internal scans are requested for an interface that is trying to associate, we reject such scans. This was not intended, the mlme code has provisions to scan twice when it can't find the BSS to associate with right away; this has never worked properly. Fix this by not rejecting internal scan requests for an interface that is associating. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2d72289095e9621158acf1d59a830cfe920fa93b Author: Johannes Berg Date: Thu Apr 23 10:38:26 2009 +0200 mac80211: internally clear failed scans properly When the IBSS code wants to scan, but that fails, we can get stuck in a situation where you can never scan again. Fix this by properly notifying ourselves when the scan request has failed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ccebe6148bcb0aba2d89743df2ff182ced505ec Author: Johannes Berg Date: Thu Apr 23 10:32:36 2009 +0200 mac80211: rename max_sleep_interval to max_sleep_period Kalle points out that max_sleep_interval is somewhat confusing because the value is measured in beacon intervals, and not in TU. Rename it to max_sleep_period to be consistent with things like DTIM period that are also measured in beacon intervals. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d5edaedc16ebd0635435dec068d49e07a76ba7d9 Author: Johannes Berg Date: Wed Apr 22 23:02:51 2009 +0200 mac80211: fix PS vs. scan race When somebody changes the PS parameters while scanning is in progress, we enable PS -- during the scan. This is clearly not desirable, and we can just abort enabling PS when scanning since when the scan finishes it will be taken care of. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 0e41f715c04f85a40ae6531d660be2241717be1c Author: Johannes Berg Date: Thu Apr 23 11:48:56 2009 +0200 mac80211: fix various problems in ibss code There are a few problems in the IBSS code: a) it tries to activate interfaces that are down after scanning b) it crashes after scanning on an IBSS iface that isn't active c) since the ssid_len is used as a flag, need to make it visible only after all other settings are set, this helps protect against b) For b), we get a system crash: wlan0: Creating new IBSS network, BSSID ce:f9:88:76:1e:4d BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<...>] ieee80211_sta_find_ibss+0x294/0x37d [mac80211] Call Trace: [<...>] ieee80211_ibss_notify_scan_completed+0x0/0x88 [mac80211] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 00c81a58c5b4e0de14ee33bfbc3d71c90f69f9ea Author: Steven Rostedt Date: Wed May 6 12:40:51 2009 -0400 ring-buffer: check for failed allocation in ring buffer benchmark The result of the allocation of the ring buffer read page in the ring buffer bench mark does not check the return to see if a page was actually allocated. This patch fixes that. [ Impact: avoid NULL dereference ] Signed-off-by: Steven Rostedt commit 8e7abf1c62941ebb7a1416cbc62392c8a0902625 Author: Steven Rostedt Date: Wed May 6 10:26:45 2009 -0400 ring-buffer: remove unneeded conditional in rb_reserve_next The code in __rb_reserve_next checks on page overflow if it is the original commiter and then resets the page back to the original setting. Although this is fine, and the code is correct, it is a bit fragil. Some experimental work I did breaks it easily. The better and more robust solution is to have all commiters that overflow the page, simply subtract what they added. [ Impact: more robust ring buffer account management ] Signed-off-by: Steven Rostedt commit 72cbfd45fac627de4bd38c203baaac40cd26477c Author: Takashi Iwai Date: Wed May 6 17:33:19 2009 +0200 ALSA: ice1724 - Add ESI Maya44 support Added the support for ESI Maya44 board to ice1724 driver. Signed-off-by: Takashi Iwai commit 2bf864ac963c5126a9c7c3dce0958390fb612270 Author: Takashi Iwai Date: Wed May 6 17:30:17 2009 +0200 ALSA: ice1724 - Allow spec driver to create own routing controls Added a new flag, own_routing, to allow spec drivers to create own routing controls. Also, the basic get/put calls are changed to be external for later use by maya44 driver. Signed-off-by: Takashi Iwai commit d82b64f4764755d765038cf95b1dbe7db039592a Author: Takashi Iwai Date: Wed May 6 17:25:42 2009 +0200 ALSA: ice1724 - Add PCI postint to reset sequence Add the PCI posting to ensure the reset sequence in snd_vt1724_chip_reset(). Signed-off-by: Takashi Iwai commit a5b7b5c1d05387ffeaf0487482806ec6c5968ac7 Author: Takashi Iwai Date: Wed May 6 17:22:07 2009 +0200 ALSA: ice1724 - Clean up definitions of DMA records Rename some vt1724_pcm_reg records to more generic and consistent ones. Signed-off-by: Takashi Iwai commit 92d71005e2f305d6dca126d8b8497e885b842dba Author: Takashi Iwai Date: Wed May 6 17:18:34 2009 +0200 ALSA: ice1724 - Check error in set_rate function The set_rate might return error but the current code doesn't check it. This patch adds a proper error check. Signed-off-by: Takashi Iwai commit 35cf723e99c0e26ddf51f037dffaa4ff2c2c9106 Author: Christoph Hellwig Date: Wed May 6 12:33:38 2009 +0200 tracing: small trave_events sample Makefile cleanup Use -I$(src) to add the current directory the include path. [ Impact: cleanup ] Signed-off-by: Christoph Hellwig Acked-by: Steven Rostedt LKML-Reference: Signed-off-by: Ingo Molnar commit 48dd0fed90e2b1f1ba87401439b85942181c6df3 Author: Jaswinder Singh Rajput Date: Wed May 6 15:45:45 2009 +0530 tracing: trace_output.c, fix false positive compiler warning This compiler warning: CC kernel/trace/trace_output.o kernel/trace/trace_output.c: In function ‘register_ftrace_event’: kernel/trace/trace_output.c:544: warning: ‘list’ may be used uninitialized in this function Is wrong as 'list' is always initialized - but GCC (4.3.2) does not recognize this relationship properly. Work around the warning by initializing the variable to NULL. [ Impact: fix false positive compiler warning ] Signed-off-by: Jaswinder Singh Rajput Acked-by: Steven Rostedt LKML-Reference: Signed-off-by: Ingo Molnar commit 22a7c31a9659deaddafbbcec6562d44141e84474 Author: Alan D. Brunelle Date: Mon May 4 16:35:08 2009 -0400 blktrace: from-sector redundant in trace_block_remap Remove redundant from-sector parameter: it's /always/ the bio's sector passed in. [ Impact: cleanup ] Signed-off-by: Alan D. Brunelle Reviewed-by: Li Zefan Reviewed-by: KOSAKI Motohiro Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <49FF517C.7000503@hp.com> Signed-off-by: Ingo Molnar commit a42aaa3bbce85ac487ad4fad5db99e8e91b7aac1 Author: Alan D. Brunelle Date: Mon May 4 16:27:26 2009 -0400 blktrace: correct remap names This attempts to clarify names utilized during block I/O remap operations (partition, volume manager). It correctly matches up the /from/ information for both device & sector. This takes in the concept from Kosaki Motohiro and extends it to include better naming for the "device_from" field. [ Impact: cleanup ] Signed-off-by: Alan D. Brunelle Reviewed-by: Li Zefan Reviewed-by: KOSAKI Motohiro Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo LKML-Reference: <49FF4FAE.3000301@hp.com> Signed-off-by: Ingo Molnar commit de1d7286060430e79a1d50ad6e5fee8fe863c5f6 Author: Mathieu Desnoyers Date: Tue May 5 16:49:59 2009 +0800 tracepoint: trace_sched_migrate_task(): remove parameter The orig_cpu parameter in trace_sched_migrate_task() is not necessary, it can be got by using task_cpu(p) in the probe. [ Impact: micro-optimization ] Signed-off-by: Mathieu Desnoyers [ modified from Mathieu's patch. The original patch is at: http://marc.info/?l=linux-kernel&m=123791201716239&w=2 ] Signed-off-by: Xiao Guangrong Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: Li Zefan Cc: zhaolei@cn.fujitsu.com Cc: laijs@cn.fujitsu.com LKML-Reference: <49FFFDB7.1050402@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 22cfbbfd9f67b67fe073010f51cb71d3632387d5 Author: john stultz Date: Wed May 6 11:43:57 2009 +0200 ntp: adjust SHIFT_PLL to improve NTP convergence The conversion to the ntpv4 reference model f19923937321244e7dc334767eb4b67e0e3d5c74 ("ntp: convert to the NTP4 reference model") in 2.6.19 added nanosecond resolution the adjtimex interface, but also changed the "stiffness" of the frequency adjustments, causing NTP convergence time to greatly increase. SHIFT_PLL, which reduces the stiffness of the freq adjustments, was designed to be inversely linked to HZ, and the reference value of 4 was designed for Unix systems using HZ=100. However Linux's clock steering code mostly independent of HZ. So this patch reduces the SHIFT_PLL value from 4 to 2, which causes NTPd behavior to match kernels prior to 2.6.19, greatly reducing convergence times, and improving close synchronization through environmental thermal changes. The patch also changes some l's to L's in nearby code to avoid misreading 50l as 501. [ Impact: tweak NTP algorithm for faster convergence ] Signed-off-by: John Stultz Acked-by: Rik van Riel Cc: zippel@linux-m68k.org Signed-off-by: Andrew Morton LKML-Reference: <200905051956.n45JuVo9025575@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit 20c8928abe70e204bd077ab6cfe23002d7788983 Author: Li Zefan Date: Wed May 6 10:33:45 2009 +0800 tracing/events: fix concurrent access to ftrace_events list A module will add/remove its trace events when it gets loaded/unloaded, so the ftrace_events list is not "const", and concurrent access needs to be protected. This patch thus fixes races between loading/unloding modules and read 'available_events' or read/write 'set_event', etc. Below shows how to reproduce the race: # for ((; ;)) { cat /mnt/tracing/available_events; } > /dev/null & # for ((; ;)) { insmod trace-events-sample.ko; rmmod sample; } & After a while: BUG: unable to handle kernel paging request at 0010011c IP: [] t_next+0x1b/0x2d ... Call Trace: [] ? seq_read+0x217/0x30d [] ? seq_read+0x0/0x30d [] ? vfs_read+0x8f/0x136 [] ? sys_read+0x40/0x65 [] ? sysenter_do_call+0x12/0x36 [ Impact: fix races when concurrent accessing ftrace_events list ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker Cc: Tom Zanussi Cc: Peter Zijlstra LKML-Reference: <4A00F709.3080800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2df75e415709ad12862028916c772c1f377f6a7c Author: Li Zefan Date: Wed May 6 10:33:04 2009 +0800 tracing/events: fix memory leak when unloading module When unloading a module, memory allocated by init_preds() and trace_define_field() is not freed. [ Impact: fix memory leak ] Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <4A00F6E0.3040503@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 96d17980fabeb757706d2d6db5a28580a6156bfc Author: Li Zefan Date: Wed May 6 10:32:32 2009 +0800 tracing/events: make SAMPLE_TRACE_EVENTS default to n Normally a config should be default to n. This patch also makes the sample module-only, like SAMPLE_MARKERS and SAMPLE_TRACEPOINTS. [ Impact: don't build trace event sample by default ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A00F6C0.8090803@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fd6da10a617f483348ee32bcfe53fd20c302eca1 Author: Li Zefan Date: Wed May 6 10:32:13 2009 +0800 tracing/events: don't say hi when loading the trace event sample The sample is useful for testing, and I'm using it. But after loading the module, it keeps saying hi every 10 seconds, this may be disturbing. Also Steven said commenting out the "hi" helped in causing races. :) [ Impact: make testing a bit easier ] Signed-off-by: Li Zefan Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker LKML-Reference: <4A00F6AD.2070008@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6d6cb0d688d0f262cb4fd5771648b0ac01d4f82c Author: Adrian Hunter Date: Wed Apr 8 14:07:57 2009 +0200 UBIFS: reset no_space flag after inode deletion When UBIFS runs out of space it spends a lot of time trying to find more space before returning ENOSPC. As there is no point repeating that unless something has changed, UBIFS has an optimization to record that the file system is 100% full and not try to find space. That flag was not being reset when a pending deletion was finally done. Signed-off-by: Adrian Hunter Reviewed-by: Artem Bityutskiy commit 3611dfb8eda847c1c8e1a052f57206f7fddc6a7c Merge: 16c8a10 a511e3f Author: Ingo Molnar Date: Wed May 6 08:46:27 2009 +0200 Merge branch 'core/locking' into perfcounters/core Merge reason: we moved a mutex.h commit that originated from the perfcounters tree into core/locking - but now merge back that branch to solve a merge artifact and to pick up cleanups of this commit that happened in core/locking. Signed-off-by: Ingo Molnar commit b2e5d8588de0b5341eddad87dbe48d2185eaa3dd Author: Ingo Molnar Date: Wed May 6 07:55:33 2009 +0200 irq: change ->set_affinity() to return status, fix This build failure: arch/powerpc/sysdev/mpic.c:810: error: conflicting types for 'mpic_set_affinity' arch/powerpc/sysdev/mpic.h:39: error: previous declaration of 'mpic_set_affinity' was here make[2]: *** [arch/powerpc/sysdev/mpic.o] Error 1 make[2]: *** Waiting for unfinished jobs.... Triggers because the function prototype was not updated when the function call signature got changed by: d5dedd4: irq: change ->set_affinity() to return status [ Impact: build fix on powerpc ] Cc: Benjamin Herrenschmidt Cc: Yinghai Lu Cc: Andrew Morton Cc: Rusty Russell Cc: linux-arch@vger.kernel.org LKML-Reference: <49F654E9.4070809@kernel.org> Signed-off-by: Ingo Molnar commit 5092dbc96f3acdac5433b27c06860352dc6d23b9 Author: Steven Rostedt Date: Tue May 5 22:47:18 2009 -0400 ring-buffer: add benchmark and tester This patch adds code that can benchmark the ring buffer as well as test it. This code can be compiled into the kernel (not recommended) or as a module. A separate ring buffer is used to not interfer with other users, like ftrace. It creates a producer and a consumer (option to disable creation of the consumer) and will run for 10 seconds, then sleep for 10 seconds and then repeat. While running, the producer will write 10 byte loads into the ring buffer with just putting in the current CPU number. The reader will continually try to read the buffer. The reader will alternate from reading the buffer via event by event, or by full pages. The output is a pr_info, thus it will fill up the syslogs. Starting ring buffer hammer End ring buffer hammer Time: 9000349 (usecs) Overruns: 12578640 Read: 5358440 (by events) Entries: 0 Total: 17937080 Missed: 0 Hit: 17937080 Entries per millisec: 1993 501 ns per entry Sleeping for 10 secs Starting ring buffer hammer End ring buffer hammer Time: 9936350 (usecs) Overruns: 0 Read: 28146644 (by pages) Entries: 74 Total: 28146718 Missed: 0 Hit: 28146718 Entries per millisec: 2832 353 ns per entry Sleeping for 10 secs Time: is the time the test ran Overruns: the number of events that were overwritten and not read Read: the number of events read (either by pages or events) Entries: the number of entries left in the buffer (the by pages will only read full pages) Total: Entries + Read + Overruns Missed: the number of entries that failed to write Hit: the number of entries that were written The above example shows that it takes ~353 nanosecs per entry when there is a reader, reading by pages (and no overruns) The event by event reader slowed the producer down to 501 nanosecs. [ Impact: see how changes to the ring buffer affect stability and performance ] Signed-off-by: Steven Rostedt commit 2feceeff1e771850e49f9074307f071964fd9e3e Author: H. Peter Anvin Date: Tue May 5 19:07:07 2009 -0700 x86: fix typo in address space documentation Fix a trivial typo in Documentation/x86/x86_64/mm.txt. [ Impact: documentation only ] Signed-off-by: H. Peter Anvin Cc: Rik van Riel commit c898faf91b3ec6b0f6efa35831b3984fa3331db0 Author: Rik van Riel Date: Tue May 5 17:28:56 2009 -0400 x86: 46 bit physical address support on 64 bits Extend the maximum addressable memory on x86-64 from 2^44 to 2^46 bytes. This requires some shuffling around of the vmalloc and virtual memmap memory areas, to keep them away from the direct mapping of up to 64TB of physical memory. This patch also introduces a guard hole between the vmalloc area and the virtual memory map space. There's really no good reason why we wouldn't have a guard hole there. [ Impact: future hardware enablement ] Signed-off-by: Rik van Riel LKML-Reference: <20090505172856.6820db22@cuia.bos.redhat.com> Signed-off-by: H. Peter Anvin commit aa20ae8444fc6c318272c643f856d8d8ad3e198d Author: Steven Rostedt Date: Tue May 5 21:16:11 2009 -0400 ring-buffer: move big if statement down In the hot path of the ring buffer "__rb_reserve_next" there's a big if statement that does not even return back to the work flow. code; if (cross to next page) { [ lots of code ] return; } more code; The condition is even the unlikely path, although we do not denote it with an unlikely because gcc is fine with it. The condition is true when the write crosses a page boundary, and we need to start at a new page. Having this if statement makes it hard to read, but calling another function to do the work is also not appropriate, because we are using a lot of variables that were set before the if statement, and we do not want to send them as parameters. This patch changes it to a goto: code; if (cross to next page) goto next_page; more code; return; next_page: [ lots of code] This makes the code easier to understand, and a bit more obvious. The output from gcc is practically identical. For some reason, gcc decided to use different registers when I switched it to a goto. But other than that, the logic is the same. [ Impact: easier to read code ] Signed-off-by: Steven Rostedt commit 07ff7a0b187f3951788f64ae1f30e8109bc8e9eb Author: Mimi Zohar Date: Tue May 5 13:13:10 2009 -0400 integrity: remove __setup auditing msgs Remove integrity audit messages from __setup() Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit e5e520a715dcea6b72f6b9417b203a4b1e813a8b Author: Mimi Zohar Date: Tue May 5 13:13:00 2009 -0400 integrity: use audit_log_string Based on a request from Eric Paris to simplify parsing, replace audit_log_format statements containing "%s" with audit_log_string(). Signed-off-by: Mimi Zohar Acked-by: Eric Paris Signed-off-by: James Morris commit 53fc0e2259f261602a2750dcc82b8d7bf04d3c35 Author: Mimi Zohar Date: Tue May 5 13:12:48 2009 -0400 integrity: lsm audit rule matching fix An audit subsystem change replaced AUDIT_EQUAL with Audit_equal. Update calls to security_filter_rule_init()/match() to reflect the change. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 94487d6d53af5acae10cf9fd52f74498994d46b1 Author: Steven Rostedt Date: Tue May 5 19:22:53 2009 -0400 tracing: use proper export symbol for tracing api When adding the EXPORT_SYMBOL to some of the tracing API, I accidently used EXPORT_SYMBOL instead of EXPORT_SYMBOL_GPL. This patch fixes that mistake. [ Impact: export the tracing code only for GPL modules ] Reported-by: Christoph Hellwig Signed-off-by: Steven Rostedt commit 31b6e76e21b2ffd3cb2f6fe4149790a9fdadce2d Author: Tim Abbott Date: Thu Apr 30 20:06:11 2009 -0400 ftrace: use .sched.text, not .text.sched in recordmcount.pl The only references in the kernel to the .text.sched section are in recordmcount.pl. Since the code it has is intended to be example code it should refer to real kernel sections. So change it to .sched.text instead. [ Impact: consistency in comments ] Signed-off-by: Tim Abbott LKML-Reference: <1241136371-10768-1-git-send-email-tabbott@mit.edu> Acked-by: Sam Ravnborg Signed-off-by: Steven Rostedt commit 2b53bc7bff17341d8b5ac12115f5c2363638e628 Author: Coly Li Date: Tue May 5 20:03:28 2009 +0800 ocfs2: update comments in masklog.h In the mainline ocfs2 code, the interface for masklog is in files under /sys/fs/o2cb/masklog, but the comments in fs/ocfs2/cluster/masklog.h reference the old /proc interface. They are out of date. This patch modifies the comments in cluster/masklog.h, which also provides a bash script example on how to change the log mask bits. Signed-off-by: Coly Li Signed-off-by: Joel Becker commit a46fa684fcb7001d79c97f2968696997b3b79064 Author: Tao Ma Date: Mon May 4 05:18:09 2009 +0800 ocfs2: Don't printk the error when listing too many xattrs. Currently the kernel defines XATTR_LIST_MAX as 65536 in include/linux/limits.h. This is the largest buffer that is used for listing xattrs. But with ocfs2 xattr tree, we actually have no limit for the number. If filesystem has more names than can fit in the buffer, the kernel logs will be pollluted with something like this when listing: (27738,0):ocfs2_iterate_xattr_buckets:3158 ERROR: status = -34 (27738,0):ocfs2_xattr_tree_list_index_block:3264 ERROR: status = -34 So don't print "ERROR" message as this is not an ocfs2 error. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 41ede23eded40832c955d98d4b71bc244809abb3 Author: Steven Rostedt Date: Fri May 1 20:26:54 2009 -0400 ring-buffer: disable writers when resetting buffers As a precaution, it is best to disable writing to the ring buffers when reseting them. [ Impact: prevent weird things if write happens during reset ] Signed-off-by: Steven Rostedt commit afbab76a62b69ea6197e19727d4b8a8aef8deb25 Author: Steven Rostedt Date: Fri May 1 19:40:05 2009 -0400 ring-buffer: have read page swap increment counter with page entries In the swap page ring buffer code that is used by the ftrace splice code, we scan the page to increment the counter of entries read. With the number of entries already in the page we simply need to add it. [ Impact: speed up reading page from ring buffer ] Signed-off-by: Steven Rostedt commit 78a658d9720ce1b3dd71af3ee6d207ca751a48f5 Author: Alexander Beregalov Date: Tue May 5 01:03:32 2009 +0000 lasi_82596: fix printk format warning drivers/net/lasi_82596.c:164: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' drivers/net/lasi_82596.c:169: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit ae8d7f884a24ee920e417077b2615c6862be687f Author: Shan Wei Date: Tue May 5 01:01:29 2009 +0000 tcp:fix the code indent Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit ba1cd541ecdaa659c5bf952659c4ad0d0707394d Author: Florian Fainelli Date: Mon May 4 20:30:45 2009 +0000 r6040: bump version to 0.23 and date to 05May2009 Bump version to 0.23 and date to 05May2009. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit c8014fe1d4548da8b9ea54730852c48a7117b03f Author: Florian Fainelli Date: Mon May 4 20:30:01 2009 +0000 r6040: check for absent PHY Some devices have two R6040 MACs but the second one is not wired to any PHY, therefore the interface is just unusable. Warn the user about that and prevent device from registering. Tested-by: bifferos Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit aee64faf236815e0f337408892c01b373cd340f3 Author: Jiri Pirko Date: Tue May 5 06:20:51 2009 +0000 bonding: get rid of CONFIG_PROC_FS ifdefs Remove CONFIG_PROC_FS ifdefs from the code by adding void functions. Signed-off-by: Jiri Pirko drivers/net/bonding/bond_main.c | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 deletions(-) Signed-off-by: David S. Miller commit f001fde5eadd915f4858d22ed70d7040f48767cf Author: Jiri Pirko Date: Tue May 5 02:48:28 2009 +0000 net: introduce a list of device addresses dev_addr_list (v6) v5 -> v6 (current): -removed so far unused static functions -corrected dev_addr_del_multiple to call del instead of add v4 -> v5: -added device address type (suggested by davem) -removed refcounting (better to have simplier code then safe potentially few bytes) v3 -> v4: -changed kzalloc to kmalloc in __hw_addr_add_ii() -ASSERT_RTNL() avoided in dev_addr_flush() and dev_addr_init() v2 -> v3: -removed unnecessary rcu read locking -moved dev_addr_flush() calling to ensure no null dereference of dev_addr v1 -> v2: -added forgotten ASSERT_RTNL to dev_addr_init and dev_addr_flush -removed unnecessary rcu_read locking in dev_addr_init -use compare_ether_addr_64bits instead of compare_ether_addr -use L1_CACHE_BYTES as size for allocating struct netdev_hw_addr -use call_rcu instead of rcu_synchronize -moved is_etherdev_addr into __KERNEL__ ifdef This patch introduces a new list in struct net_device and brings a set of functions to handle the work with device address list. The list is a replacement for the original dev_addr field and because in some situations there is need to carry several device addresses with the net device. To be backward compatible, dev_addr is made to point to the first member of the list so original drivers sees no difference. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit b6907b0c705b6db221f937b4d343e2a6b280c8c5 Author: Daniel Mack Date: Tue May 5 12:22:53 2009 -0700 net: smsc911x: add power management functions This adds a power management implementation for smsc911x.c which assumes the chips remains powered during suspend. The device is put in its D1 power saving mode. Signed-off-by: Daniel Mack Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 778c55d44eb4f5f658915ed631d68ed9d1ac3ad1 Author: Steven Rostedt Date: Fri May 1 18:44:45 2009 -0400 ring-buffer: record page entries in buffer page descriptor Currently, when the ring buffer writer overflows the buffer and must write over non consumed data, we increment the overrun counter by reading the entries on the page we are about to overwrite. This reads the entries one by one. This is not very effecient. This patch adds another entry counter into each buffer page descriptor that keeps track of the number of entries on the page. Now on overwrite, the overrun counter simply needs to add the number of entries that is on the page it is about to overwrite. [ Impact: speed up of ring buffer in overwrite mode ] Signed-off-by: Steven Rostedt commit 41c51c98f588edcdf6141cff1895df738e03ddd4 Author: Oleg Nesterov Date: Sun May 3 23:11:18 2009 +0200 rcu: rcu_sched_grace_period(): kill the bogus flush_signals() As a kernel thread, rcu_sched_grace_period() runs with all signals ignored. It can never receive a signal even if it sleeps in TASK_INTERRUPTIBLE, it needs the explicit allow_signal() to be visible for signals. [ Impact: reduce kernel size, remove dead code ] Signed-off-by: Oleg Nesterov Reviewed-by: Paul E. McKenney Cc: Andrew Morton LKML-Reference: <20090503211118.GA22973@redhat.com> Signed-off-by: Ingo Molnar commit e4906eff9e6fbd2d311abcbcc53d5a531773c982 Author: Steven Rostedt Date: Thu Apr 30 20:49:44 2009 -0400 ring-buffer: convert cpu buffer entries to local_t The entries counter in cpu buffer is not atomic. It can be updated by other interrupts or from another CPU (readers). But making entries into "atomic_t" causes an atomic operation that can hurt performance. Instead we convert it to a local_t that will increment a counter with a local CPU atomic operation (if the arch supports it). Instead of fighting with readers and overwrites that decrement the counter, I added a "read" counter. Every time a reader reads an entry it is incremented. We already have a overrun counter and with that, the entries counter and the read counter, we can calculate the total number of entries in the buffer with: (entries - overrun) - read As long as the total number of entries in the ring buffer is less than the word size, this will work. But since the entries counter was previously a long, this is no different than what we had before. Thanks to Andrew Morton for pointing out in the first version that atomic_t does not replace unsigned long. I switched to atomic_long_t even though it is signed. A negative count is most likely a bug. [ Impact: keep accurate count of cpu buffer entries ] Signed-off-by: Steven Rostedt commit 16c8a10932aef971292c9570eb5f60b5d4e83ed2 Author: Peter Zijlstra Date: Tue May 5 17:50:27 2009 +0200 perf_counter: tools: update the tools to support process and inherited counters "perf record": - per task counter - inherit switch - nmi switch "perf report": - userspace/kernel filter "perf stat": - userspace/kernel filter Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.389163017@chello.nl> Signed-off-by: Ingo Molnar commit 2023b359214bbc5bad31571cf50d7fb83b535c0a Author: Peter Zijlstra Date: Tue May 5 17:50:26 2009 +0200 perf_counter: inheritable sample counters Redirect the output to the parent counter and put in some sanity checks. [ Impact: new perfcounter feature - inherited sampling counters ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.331556171@chello.nl> Signed-off-by: Ingo Molnar commit 22c1558e51c210787c6cf75d8905246fc91ec030 Author: Peter Zijlstra Date: Tue May 5 17:50:25 2009 +0200 perf_counter: fix the output lock Use -1 instead of 0 as unlocked, since 0 is a valid cpu number. ( This is not an issue right now but will be once we allow multiple counters to output to the same mmap area. ) [ Impact: prepare code for multi-counter profile output ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.232686598@chello.nl> Signed-off-by: Ingo Molnar commit c5078f78b455fbf67ea71442c7e7ca8acf9ff095 Author: Peter Zijlstra Date: Tue May 5 17:50:24 2009 +0200 perf_counter: provide an mlock threshold Provide a threshold to relax the mlock accounting, increasing usability. Each counter gets perf_counter_mlock_kb for free. [ Impact: allow more mmap buffering ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090505155437.112113632@chello.nl> Signed-off-by: Ingo Molnar commit 6de6a7b95705b859b61430fa3afa1403034eb3e6 Author: Peter Zijlstra Date: Tue May 5 17:50:23 2009 +0200 perf_counter: add ioctl(PERF_COUNTER_IOC_RESET) Provide a way to reset an existing counter - this eases PAPI libraries around perfcounters. Similar to read() it doesn't collapse pending child counters. [ Impact: new perfcounter fd ioctl method to reset counters ] Suggested-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090505155437.022272933@chello.nl> Signed-off-by: Ingo Molnar commit c66de4a5be7913247bd83d79168f8e4420c9cfbc Author: Peter Zijlstra Date: Tue May 5 17:50:22 2009 +0200 perf_counter: uncouple data_head updates from wakeups Keep data_head up-to-date irrespective of notifications. This fixes the case where you disable a counter and don't get a notification for the last few pending events, and it also allows polling usage. [ Impact: increase precision of perfcounter mmap-ed fields ] Suggested-by: Corey Ashford Signed-off-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <20090505155436.925084300@chello.nl> Signed-off-by: Ingo Molnar commit 80ab8817bf9b740df1f0778c41875e93151409bf Author: Daniel Mack Date: Tue May 5 11:25:00 2009 +0200 ASoC: cs4270: introduce CS4270_I2C_INCR Replace the magic 0x80 value with a suitable macro definition. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 60aa605dfce2976e54fa76e805ab0f221372d4d9 Author: Peter Zijlstra Date: Tue May 5 17:50:21 2009 +0200 sched: rt: document the risk of small values in the bandwidth settings Thomas noted that we should disallow sysctl_sched_rt_runtime == 0 for (!RT_GROUP) since the root group always has some RT tasks in it. Further, update the documentation to inspire clue. [ Impact: exclude corner-case sysctl_sched_rt_runtime value ] Reported-by: Thomas Gleixner Signed-off-by: Peter Zijlstra LKML-Reference: <20090505155436.863098054@chello.nl> Signed-off-by: Ingo Molnar commit c8d771835e18c938dae8690611d65fe98ad30f58 Author: Steven Rostedt Date: Wed Apr 29 18:03:45 2009 -0400 tracing: export stats of ring buffers to userspace This patch adds stats to the ftrace ring buffers: # cat /debugfs/tracing/per_cpu/cpu0/stats entries: 42360 overrun: 30509326 commit overrun: 0 nmi dropped: 0 Where entries are the total number of data entries in the buffer. overrun is the number of entries not consumed and were overwritten by the writer. commit overrun is the number of entries dropped due to nested writers wrapping the buffer before the initial writer finished the commit. nmi dropped is the number of entries dropped due to the ring buffer lock being held when an nmi was going to write to the ring buffer. Note, this field will be meaningless and will go away when the ring buffer becomes lockless. [ Impact: let userspace know what is happening in the ring buffers ] Signed-off-by: Steven Rostedt commit f0d2c681ac0a85142fc8abe65fc33fcad35cb9b7 Author: Steven Rostedt Date: Wed Apr 29 13:43:37 2009 -0400 ring-buffer: add counters for commit overrun and nmi dropped entries The WARN_ON in the ring buffer when a commit is preempted and the buffer is filled by preceding writes can happen in normal operations. The WARN_ON makes it look like a bug, not to mention, because it does not stop tracing and calls printk which can also recurse, this is prone to deadlock (the WARN_ON is not in a position to recurse). This patch removes the WARN_ON and replaces it with a counter that can be retrieved by a tracer. This counter is called commit_overrun. While at it, I added a nmi_dropped counter to count any time an NMI entry is dropped because the NMI could not take the spinlock. [ Impact: prevent deadlock by printing normal case warning ] Signed-off-by: Steven Rostedt commit d6ce96dabe2c4409fd009ec14250a1fdbab4b133 Author: Steven Rostedt Date: Tue May 5 01:15:24 2009 -0400 ring-buffer: export symbols I'm adding a module to do a series of tests on the ring buffer as well as benchmarks. This module needs to have more of the ring buffer API exported. There's nothing wrong with reading the ring buffer from a module. [ Impact: allow modules to read pages from the ring buffer ] Signed-off-by: Steven Rostedt commit e6e55122a54db87e22c67477de2a9978a3e4c81b Author: Mark Brown Date: Tue May 5 11:10:24 2009 +0100 ASoC: Add headers to match patterns in MAINTAINERS Signed-off-by: Mark Brown commit ae1ec5e1e97f67d41e641a73380129e5905e41cc Author: Takashi Iwai Date: Mon Oct 13 03:08:53 2008 +0200 ALSA: usbaudio - Add delay account Manage the PCM delay account based on the queued URBs. Signed-off-by: Takashi Iwai commit 4bbe1ddf89a5ba3ec30fe5980912d8bda3a3cbb2 Author: Takashi Iwai Date: Mon Oct 13 03:07:14 2008 +0200 ALSA: Add extra delay count in PCM Added runtime->delay field to adjust the delayed samples for snd_pcm_delay(). Typically a hardware FIFO length is stored in this field, so that the extra delay between hwptr and applptr can be computed. Signed-off-by: Takashi Iwai commit 2bcb573343dbd7d913cb62b81463960644a3737f Author: Hiroshi DOYU Date: Mon Jan 26 15:13:45 2009 +0200 omap iommu: omap2 architecture specific functions The structure 'arch_mmu' accommodates the difference between omap1 and omap2/3. This patch provides omap2/3 specific functions Signed-off-by: Hiroshi DOYU commit a9dcad5e375800fcb07f7617dba23b3aade8f09d Author: Hiroshi DOYU Date: Mon Jan 26 15:13:40 2009 +0200 omap iommu: tlb and pagetable primitives This patch provides: - iotlb_*() : iommu tlb operations - iopgtable_*() : iommu pagetable(twl) operations - iommu_*() : the other generic operations and the entry points to register and acquire iommu object. Signed-off-by: Hiroshi DOYU commit bbd993077d788589a86a718ba7a7895ba5e71a17 Author: Mark Brown Date: Tue May 5 10:27:38 2009 +0100 ASoC: Remove redundant codec pointer from DAIs The DAI structure has two pointers to the codec, one in the body of the DAI and one in a union for a parent pointer. Drop the parent pointer version. Signed-off-by: Mark Brown commit b290750172b97cb48497a277b3e628083e7246cb Merge: f3831a5 97a775c Author: Mark Brown Date: Tue May 5 10:13:01 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit f3831a592fe4332a70baad64a860b345398885b7 Merge: 376f783 8560b93 Author: Mark Brown Date: Tue May 5 10:12:55 2009 +0100 Merge commit 'takashi/topic/asoc' into for-2.6.31 commit 376f7839b72ec526173cafb5d8eadfc61e2effdf Author: Peter Ujfalusi Date: Tue May 5 08:55:47 2009 +0300 ASoC: TWL4030: Add VIBRA output This patch adds support for the VIBRA output on TWL4030 codec. The VIBRA output can be driven with audio data or with local vibrator driver. Add the needed DAPM elements and routes for the VIBRA output and controls for the VIBRA driver configuration. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a195b51bc5abc745f12b7b2fe0e3422f55c1953f Author: Jonathan Cameron Date: Mon May 4 14:54:11 2009 +0000 ASoC: IMote2 ASoC Support This patch adds the ASoC side of the board support for the Crossbow IMB400 daughter board. Thanks to Crossbow for considerable assistance. Signed-off-by: Jonathan Cameron Signed-off-by: Mark Brown commit ee8f6894f358b6a04d8190fd78990749de98a498 Author: Lopez Cruz, Misael Date: Thu Apr 30 21:48:08 2009 -0500 ASoC: TWL4030: Add voice digital loopback: sidetone This patch add voice digital loopback (sidetone) to the twl4030 driver. It mixes voice uplink attenuated (by sidetone gain) with voice downlink when the codec is working in option2 (voice/audio mode). Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit fcd274a345875b05c348ba19bc6b3dd48ecbb7d0 Author: Lopez Cruz, Misael Date: Thu Apr 30 21:47:22 2009 -0500 ASoC: TWL4030: Add VDL analog bypass This patch adds voice downlink analog bypass switch. It follows the same approach as in other analog bypass switches. DAC switch is moved from 'DAC Voice' to 'Analog Voice Playback Mixer', that will also allow voice DAC to be powered in digital voice loopback (sidetone). Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c7ae011dc8306d982c25fb4f679752e790a08dc4 Author: Greg Kroah-Hartman Date: Mon May 4 21:33:19 2009 -0700 net: remove driver_data direct access of struct device from more drivers In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 066d7dea32c9bffe6decc0abe465627656cdd84e Author: Ingo Molnar Date: Mon May 4 19:04:09 2009 +0200 perf_counter: fix fixed-purpose counter support on v2 Intel-PERFMON Fixed-purpose counters stopped working in a simple 'perf stat ls' run: cache references cache misses Due to: ef7b3e0: perf_counter, x86: remove vendor check in fixed_mode_idx() Which made x86_pmu.num_counters_fixed matter: if it's nonzero, the fixed-purpose counters are utilized. But on v2 perfmon this field is not set (despite there being fixed-purpose PMCs). So add a quirk to set the number of fixed-purpose counters to at least three. [ Impact: add quirk for three fixed-purpose counters on certain Intel CPUs ] Cc: Robert Richter Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1241002046-8832-28-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 088eb2d905de9518dad913995bb8aef493d4a7c5 Author: Alexey Dobriyan Date: Mon May 4 11:12:14 2009 -0700 netns 2/2: extract net_create() net_create() will be used by C/R to create fresh netns on restart. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: David S. Miller commit 4a84822c60afa2b0e2d3370041f69f9526a34757 Author: Alexey Dobriyan Date: Mon May 4 11:11:38 2009 -0700 netns 1/2: don't get/put old netns on CLONE_NEWNET copy_net_ns() doesn't copy anything, it creates fresh netns, so get/put of old netns isn't needed. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: David S. Miller commit 6e8cf5c069c6cb7b316e9b1715eac38873dd5cab Author: Thomas Petazzoni Date: Mon May 4 11:08:41 2009 -0700 macb: Add support of the netpoll API With this patch in place, I'm successfully able to use the netconsole mechanism with the Calao USB-A9263 board, which uses the AT91SAM9263 CPU, which in terms of Ethernet controller is supported by the macb driver. Signed-off-by: Thomas Petazzoni [haavard.skinnemoen@atmel.com: disable_irq() -> local_irq_save()] [haavard.skinnemoen@atmel.com: convert to net_device_ops] Signed-off-by: Haavard Skinnemoen Signed-off-by: David S. Miller commit 255cac91c3c9ce7dca7713b93ab03c75b7902e0e Author: Ilpo Järvinen Date: Mon May 4 11:07:36 2009 -0700 tcp: extend ECN sysctl to allow server-side only ECN This should be very safe compared with full enabled, so I see no reason why it shouldn't be done right away. As ECN can only be negotiated if the SYN sending party is also supporting it, somebody in the loop probably knows what he/she is doing. If SYN does not ask for ECN, the server side SYN-ACK is identical to what it is without ECN. Thus it's quite safe. The chosen value is safe w.r.t to existing configs which choose to currently set manually either 0 or 1 but silently upgrades those who have not explicitly requested ECN off. Whether to just enable both sides comes up time to time but unless that gets done now we can at least make the servers aware of ECN already. As there are some known problems to occur if ECN is enabled, it's currently questionable whether there's any real gain from enabling clients as servers mostly won't support it anyway (so we'd hit just the negative sides). After enabling the servers and getting that deployed, the client end enable really has some potential gain too. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1dce8d99b85aba6eddb8b8260baea944922e6fe7 Author: Ingo Molnar Date: Mon May 4 19:23:18 2009 +0200 perf_counter: convert perf_resource_mutex to a spinlock Now percpu counters can be initialized very early. But the init sequence uses mutex_lock(). Fortunately, perf_resource_mutex should be a spinlock anyway, so convert it. [ Impact: fix crash due to early init mutex use ] LKML-Reference: Signed-off-by: Ingo Molnar commit 0d905bca23aca5c86a10ee101bcd3b1abbd40b25 Author: Ingo Molnar Date: Mon May 4 19:13:30 2009 +0200 perf_counter: initialize the per-cpu context earlier percpu scheduling for perfcounters wants to take the context lock, but that lock first needs to be initialized. Currently it is an early_initcall() - but that is too late, the task tick runs much sooner than that. Call it explicitly from the scheduler init sequence instead. [ Impact: fix access-before-init crash ] LKML-Reference: Signed-off-by: Ingo Molnar commit ba77813a2a22d631fe5bc0bf1ec0d11350544b70 Author: Peter Zijlstra Date: Mon May 4 18:47:44 2009 +0200 perf_counter: x86: fixup nmi_watchdog vs perf_counter boo-boo Invert the atomic_inc_not_zero() test so that we will indeed detect the first activation. Also rename the global num_counters, since its easy to confuse with x86_pmu.num_counters. [ Impact: fix non-working perfcounters on AMD CPUs, cleanup ] Signed-off-by: Peter Zijlstra LKML-Reference: <1241455664.7620.4938.camel@twins> Signed-off-by: Ingo Molnar commit b82914ce33146186d554b0f5c41e4e13693614ce Author: Ingo Molnar Date: Mon May 4 18:54:32 2009 +0200 perf_counter: round-robin per-CPU counters too This used to be unstable when we had the rq->lock dependencies, but now that they are that of the past we can turn on percpu counter RR too. [ Impact: handle counter over-commit for per-CPU counters too ] LKML-Reference: Signed-off-by: Ingo Molnar commit 8560b9321f9050968f393ce1ec67e47c1a0bd5cf Merge: 72e3198 6574612 Author: Takashi Iwai Date: Mon May 4 16:05:23 2009 +0200 Merge branch 'fix/asoc' into topic/asoc commit b0ec3a30bc01c15cc6277b223fae136f7b71e90c Author: Krzysztof Helt Date: Sun May 3 10:39:19 2009 +0200 ALSA: sc6000: enable joystick port Add module parameter to enable or disable joystick port (gameport) on the SC6600 and later cards. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 514bf54cd8c7f172816d3c003a6d022e9165a29b Author: James Gardiner Date: Sun May 3 04:00:44 2009 -0400 ALSA: hda - Addition for HP dv4-1222nr laptop support Signed-off-by: James Gardiner Signed-off-by: Takashi Iwai commit 513de11bba246b7a67df4c314d9fc936b6a75d0e Author: David S. Miller Date: Sun May 3 14:43:10 2009 -0700 net: Avoid modulus in skb_tx_hash() for forwarding case. Based almost entirely upon a patch by Eric Dumazet. The common case is to have num-tx-queues <= num_rx_queues and even if num_tx_queues is larger it will not be significantly larger. Therefore, a subtraction loop is always going to be faster than modulus. Signed-off-by: David S. Miller commit accc5b4f902b0ba83b2c6c48f2d9e7c204cef4a8 Author: Rami Rosen Date: Sun May 3 08:58:48 2009 +0000 ipv4: remove unused macro (FIB_RES_RESET) from ip_fib.h. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit eb457f36929da6d78c1f03cbb9038ef62646d79d Author: Jiri Pirko Date: Sat May 2 23:55:06 2009 +0000 ne2k-pci: use dev->addr_len instead of "6" Spotted a tiny ugliness in a recently posted patch. This patch cuts it out. Jirka Signed-off-by: Jiri Pirko drivers/net/ne2k-pci.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: David S. Miller commit 698960a081bfcc3e2e0f556342d86405346d2edc Merge: d252a5e 379b026 Author: David S. Miller Date: Sun May 3 14:18:53 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d252a5e7b73026b3ba3c49940724292099e634f0 Merge: f0a3a15 1824a98 Author: David S. Miller Date: Sun May 3 14:07:43 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 9064caae8f47bb7ed5d91712e81f01c1aba2fa3c Author: Randy Dunlap Date: Tue Apr 28 16:48:25 2009 -0700 nfsd: use C99 struct initializers Eliminate 56 sparse warnings like this one: fs/nfsd/nfs4xdr.c:1331:15: warning: obsolete array initializer, use C99 syntax Signed-off-by: Randy Dunlap Cc: Neil Brown Signed-off-by: J. Bruce Fields commit 63e4863fabc6e165a6ca813051305be58966da45 Author: J. Bruce Fields Date: Fri May 1 22:36:55 2009 -0400 nfsd4: make recall callback an asynchronous rpc As with the probe, this removes the need for another kthread. Signed-off-by: J. Bruce Fields commit 25483efeb2e56521e418a59fa93401be156dc3bb Author: Paul Mundt Date: Sun May 3 18:29:27 2009 +0900 sh: Move dummy clockevents broadcast timer to its new home. The old arch/sh/kernel/timers/ directly will be going away completely once the rest of the TMU users are migrated, so move the dummy broadcast driver up a level in preparation. Signed-off-by: Paul Mundt commit dec56e6312434b2536fedf9d7e9e73d666aaf0a8 Author: Paul Mundt Date: Sun May 3 18:18:14 2009 +0900 sh: Kill off the now unused ARCH_USES_GETTIMEOFFSET code. Now that the stragglers (MTU2/CMT/etc.) have been rewritten and we are selecting both GENERIC_TIME and GENERIC_CLOCKEVENTS, the get_offset() timer op is completely unused. As a result, we are now able to kill off the ARCH_USES_GETTIMEOFFSET references. Signed-off-by: Paul Mundt commit 938edae11ee3a7b20b6d754074a0f2c2edc4534b Author: Paul Mundt Date: Sun May 3 18:12:26 2009 +0900 sh: select both GENERIC_TIME and GENERIC_CLOCKEVENTS. Now that the rest of the timers that didn't support clockevents have been rewritten, both of these can be enabled by default. Signed-off-by: Paul Mundt commit d1fcc0a8db5e47c1abaa783a3e83dbf5f2184969 Author: Paul Mundt Date: Sun May 3 18:05:42 2009 +0900 clocksource: sh_mtu2/cmt_register() should be static. Neither of these need to be exported, so just make them static. Signed-off-by: Paul Mundt commit 46a12f7426d71cabc08972cf8d3ffdd441d26a3a Author: Paul Mundt Date: Sun May 3 17:57:17 2009 +0900 sh: Consolidate MTU2/CMT/TMU timer platform data. All of the SH timers use a roughly identical structure for platform data, which presently is broken out for each block. Consolidate all of these definitions, as there is no reason for them to be broken out in the first place. Signed-off-by: Paul Mundt commit 9a8709d44139748fe2e0ab56d20d8c384c8b65ad Author: Cyrill Gorcunov Date: Sat May 2 00:25:11 2009 +0400 x86: uv - prevent NULL dereference in uv_system_init() We may reach NULL dereference oops if kmalloc failed. Prevent it with explicit BUG_ON. [ Impact: more controlled assert in 'impossible' scenario ] Signed-off-by: Cyrill Gorcunov Acked-by: Jack Steiner LKML-Reference: <20090501202511.GE4633@lenovo> Signed-off-by: Ingo Molnar commit d43a41bf8b504a1d9f0b4ce7e17d803f4ef39d84 Author: Magnus Damm Date: Fri May 1 06:58:52 2009 +0000 sh: TMU platform data for sh7722 This patch adds TMU platform data for sh7722. Only clockevent mode is enabled for now, clocksource requires this patch: "clocksource: setup mult_orig in clocksource_enable()" Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9570ef20423b549757aa484ad388f9a7d5bdc4d9 Author: Magnus Damm Date: Fri May 1 06:51:00 2009 +0000 clocksource: SuperH TMU Timer driver This patch adds a TMU driver for the SuperH architecture. The TMU driver is a platform driver with early platform support to allow using a TMU channel as clockevent or clocksource during system bootup or later. Clocksource or clockevent can be selected. Both periodic and oneshot clockevents are supported. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3969c52d4d2fef5a4b9e3ab0e51b3901e1cc8b83 Author: Jaswinder Singh Rajput Date: Sun May 3 11:11:35 2009 +0530 x86: cpufeature.h fix name for X86_FEATURE_MCE X86_FEATURE_MCE = Machine Check Exception X86_FEATURE_MCA = Machine Check Architecture [ Impact: cleanup ] Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1241329295.6321.1.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 3280c8865e1b738604bacdea54738acef31e8c12 Author: Magnus Damm Date: Thu Apr 30 07:12:09 2009 +0000 sh: remove old MTU2 driver This patch removes the old MTU2 driver (CONFIG_SH_MTU2/timer-mtu2.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_MTU2 and configure timer channel using platform data. If multiple MTU channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_mtu2.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1cbac972ba28e706fa9ce4d4c81830040bc811ee Author: Cyrill Gorcunov Date: Sat May 2 13:39:56 2009 +0400 x86: uv io-apic - use BUILD_BUG_ON instead of BUG_ON The expression is known to be true/false at compilation time so we're allowed to use build-time instead of run-time check. Also align 'entry' items assignment. [ Impact: shrink kernel a bit, cleanup ] Signed-off-by: Cyrill Gorcunov Cc: Jack Steiner LKML-Reference: <20090502093956.GB4791@lenovo> Signed-off-by: Ingo Molnar commit da107c6ef919b3afd9c9b405a4f71e03b5725b04 Author: Magnus Damm Date: Thu Apr 30 07:06:26 2009 +0000 sh: sh2a MTU2 platform data This patch adds MTU2 platform data for the following cpus: - sh7201 (3/5 channels) - sh7203/sh7263 (2/4 channels) - sh7206 (3/5 channels) - MXG (3/5 channels) Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d5ed4c2e5ce9f5f6fd6a5a39ee1196a1f8a46eed Author: Magnus Damm Date: Thu Apr 30 07:02:49 2009 +0000 clocksource: SuperH MTU2 Timer driver This patch adds a MTU2 driver for the SuperH architecture. The MTU2 driver is a platform driver with early platform support to allow using a MTU2 channel as only clockevent during system bootup. Clocksource on sh2a is currently unsupported due to code generation issues with 64-bit math, so at this point only periodic clockevent support is in place. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7563431107f6debf57c1dbecfb9498cf31a1c036 Author: john stultz Date: Fri May 1 13:10:28 2009 -0700 time: sh: convert to use arch_getoffset() infrastructure Convert sh to use GENERIC_TIME via the arch_getoffset() infrastructure. Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit d80498398276ca8eee7ebdbe0d47e06d01317439 Author: Thomas Gleixner Date: Sat May 2 20:01:20 2009 +0000 sh: remove obsolete hw_interrupt_type Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner Signed-off-by: Paul Mundt commit 0cd5f7b0c7fd96f9f00187ef2ad2328de28ae326 Author: Thomas Gleixner Date: Sat May 2 20:00:44 2009 +0000 sh: remove obsolete no_irq_type Impact: cleanup convert the last remaining users to no_irq_chip Signed-off-by: Thomas Gleixner Signed-off-by: Paul Mundt commit 66fdc951720406deb3b0f17094cb16ec623f525d Merge: f425752 7d27558 Author: Paul Mundt Date: Sun May 3 17:24:55 2009 +0900 Merge branch 'timers/clocksource' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip commit a454ab3110175d710f4f9a96226a26ce4d5d5de2 Author: Ingo Molnar Date: Sun May 3 10:09:03 2009 +0200 x86, mm: fault.c, use printk_once() in is_errata93() Andrew pointed out that the 'once' variable has a needlessly function-global scope. We can in fact eliminate it completely, via the use of printk_once(). [ Impact: cleanup ] Reported-by: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit dab6f6a3401f596fe934f41fc5da3f401adfdfb1 Author: Mike Galbraith Date: Sat May 2 08:02:36 2009 +0200 perf_counter tools: fix build error ctype.h crawled out of the bit bucket :) Signed-off-by: Ingo Molnar commit 955ce5f5be67dfe0d1d096b543af33fe8a1ce3dd Author: Aneesh Kumar K.V Date: Sat May 2 20:35:09 2009 -0400 ext4: Convert ext4_lock_group to use sb_bgl_lock We have sb_bgl_lock() and ext4_group_info.bb_state bit spinlock to protech group information. The later is only used within mballoc code. Consolidate them to use sb_bgl_lock(). This makes the mballoc.c code much simpler and also avoid confusion with two locks protecting same info. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit eefd7f03b86b8a319890e7fac5a6fcc7f8694b76 Author: Theodore Ts'o Date: Sat May 2 19:05:37 2009 -0400 ext4: fix the length returned by fiemap for an unallocated extent If the file's blocks have not yet been allocated because of delayed allocation, the length of the extent returned by fiemap is incorrect. This commit fixes this bug. Signed-off-by: "Theodore Ts'o" commit 4072604b9dd18f25a98cc0f4d3d4553ed1ad4152 Author: Mark Brown Date: Sat May 2 12:28:25 2009 +0100 ASoC: Remove unused DAI format defines The defines for TDM and synchronous clocks are not used - they are mostly a legacy of the automatic clocking configuration. TDM will require configuration of the number of timeslots and which ones to use so can't be fit into the DAI format and synchronous mode is handled by symmetric_rates (and needs to be done by constraints rather than when the DAI format is being configured). Signed-off-by: Mark Brown commit 33f503c96c976fd585dedb76514ca6cb286e60d9 Author: Mark Brown Date: Sat May 2 12:24:55 2009 +0100 ASoC: Use a shared define for AC97 CODEC data formats The AC97 wire format is completely fixed so CODECs don't have any choice about the formats they accept but controllers accept a variety of data formats and render them down onto the bus. Have a shared define so all the CODEC drivers will interoperate with any of our controller drivers. Signed-off-by: Mark Brown commit c81fc2c331b8514ad112054cd2d87e6ec132286b Author: Magnus Damm Date: Fri May 1 14:52:47 2009 +0900 clockevent: export register_device and delta2ns Export the following symbols using EXPORT_SYMBOL_GPL: - clockevent_delta2ns - clockevents_register_device This allows us to build SuperH clockevent and clocksource drivers as modules, see drivers/clocksource/sh_*.c [ Impact: allow modular build of clockevent drivers ] Signed-off-by: Magnus Damm LKML-Reference: <20090501055247.8286.64067.sendpatchset@rx1.opensource.se> Signed-off-by: Thomas Gleixner commit 7d27558c4138ac6b3684dea35c2f4379b940a7dd Author: john stultz Date: Fri May 1 13:10:26 2009 -0700 timekeeping: create arch_gettimeoffset infrastructure Some arches don't supply their own clocksource. This is mainly the case in architectures that get their inter-tick times by reading the counter on their interval timer. Since these timers wrap every tick, they're not really useful as clocksources. Wrapping them to act like one is possible but not very efficient. So we provide a callout these arches can implement for use with the jiffies clocksource to provide finer then tick granular time. [ Impact: ease the migration to generic time keeping ] Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit a25cbd045a2ffc42787d4dbcbb9c7118f5f42732 Author: Magnus Damm Date: Fri May 1 14:45:46 2009 +0900 clocksource: setup mult_orig in clocksource_enable() Setup clocksource mult_orig in clocksource_enable(). Clocksource drivers can save power by using keeping the device clock disabled while the clocksource is unused. In practice this means that the enable() and disable() callbacks perform clk_enable() and clk_disable(). The enable() callback may also use clk_get_rate() to get the clock rate from the clock framework. This information can then be used to calculate the shift and mult variables. Currently the mult_orig variable is setup from mult at registration time only. This is conflicting with the above case since the clock is disabled and the mult variable is not yet calculated at the time of registration. Moving the mult_orig setup code to clocksource_enable() allows us to both handle the common case with no enable() callback and the mult-changed-after-enable() case. [ Impact: allow dynamic clock source usage ] Signed-off-by: Magnus Damm LKML-Reference: <20090501054546.8193.10688.sendpatchset@rx1.opensource.se> Signed-off-by: Thomas Gleixner commit a04198887658e1d8ae25f5420035c057cb170e67 Author: Jon Hunter Date: Fri May 1 13:10:23 2009 -0700 timers: allow deferrable timers for intervals tv2-tv5 to be deferred In the current kernel implementation only kernel timers for time interval tv1 are being deferred. This patch allows any timer that is configured as deferrable to be defer regardless of time interval. This patch was previously discussed in http://marc.info/?l=linux-kernel&m=123196343531966&w=2 and was acked by Venki Pallipadi, the author of the original deferrable timer patch. Signed-off-by: Jon Hunter Acked-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit a52f5c5620673c292cb159205bf0e1eb5af1985b Author: Dmitri Vorobiev Date: Fri May 1 13:10:21 2009 -0700 clockevents: tick_broadcast_device can become static The variable tick_broadcast_device is not used outside of the file where it is defined, so let's make it static. Signed-off-by: Dmitri Vorobiev Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c9877b205f6ce7943bb95281342f4001cc1c00ec Author: Eric Sandeen Date: Fri May 1 23:32:06 2009 -0400 ext4: fix for fiemap last-block test Carl Henrik Lunde reported and debugged this; the test for the last allocated block was comparing bytes to blocks in this test: if (logical + length - 1 == EXT_MAX_BLOCK || ext4_ext_next_allocated_block(path) == EXT_MAX_BLOCK) flags |= FIEMAP_EXTENT_LAST; so any extent which ended right at 4G was stopping the extent walk. Just replacing these values with the extent block & length should fix it. Also give blksize_bits a saner type, and reverse the order of the tests to make the more likely case tested first. Signed-off-by: Eric Sandeen Reported-by: Carl Henrik Lunde Tested-by: Carl Henrik Lunde Signed-off-by: "Theodore Ts'o" commit 19ba0559f9ce104171ab16706893ce01f03ef116 Author: Aneesh Kumar K.V Date: Wed May 13 18:12:05 2009 -0400 vfs: Enable FS_IOC_FIEMAP and FIGETBSZ for all filetypes The fiemap and get_blk_size ioctls should be enabled even for directories. So move it outisde file_ioctl. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit abc8746eb91fb01e8d411896f80f7687c0d8372e Author: Aneesh Kumar K.V Date: Sat May 2 22:54:32 2009 -0400 ext4: hook fiemap operation for directories Add fiemap callback for directories Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit f0a3a1538d57dfb51c73d012cbb72f985cd419aa Author: Ken Kawasaki Date: Fri May 1 19:21:26 2009 -0700 3c589_cs: add cis(firmware) of 3Com multifunction pcmcia card 3c589_cs,3c574_cs,serial_cs: (1)add cis(firmware) of 3Com lan&modem mulitifunction pcmcia card. (2)load correct configuration register for 3Com card Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit f40339031b04279c3fdde7ac5fe97db33b2a7694 Author: Curt Wohlgemuth Date: Fri May 1 20:27:20 2009 -0400 ext4: Make the length of the mb_history file tunable In memory-constrained systems with many partitions, the ~68K for each partition for the mb_history buffer can be excessive. This patch adds a new mount option, mb_history_length, as well as a way of setting the default via a module parameter (or via a sysfs parameter in /sys/module/ext4/parameter/default_mb_history_length). If the mb_history_length is set to zero, the mb_history facility is disabled entirely. Signed-off-by: Curt Wohlgemuth Signed-off-by: "Theodore Ts'o" commit 3aea09dc9106407d8bc18e593fbffda9ad632844 Author: J. Bruce Fields Date: Fri May 1 20:11:12 2009 -0400 nfsd4: track recall retries in nfs4_delegation Move this out of a local variable into the nfs4_delegation object in preparation for making this an async rpc call (at which point we'll need any state like this in a common object that's preserved across function calls). Signed-off-by: J. Bruce Fields commit 6707bd3d420f53ae8f090dac871843f6f43c9980 Author: J. Bruce Fields Date: Fri May 1 19:57:46 2009 -0400 nfsd4: remove unused dl_trunc There's no point in keeping this field around--it's always zero. (Background: the protocol allows you to tell the client that the file is about to be truncated, as an optimization to save the client from writing back dirty pages that will just be discarded. We don't implement this hint. If we do some day, adding this field back in will be the least of the work involved.) Signed-off-by: J. Bruce Fields commit b53d40c5070bffde1b2bcaf848412a50d8894794 Author: J. Bruce Fields Date: Fri May 1 19:50:00 2009 -0400 nfsd4: eliminate struct nfs4_cb_recall The nfs4_cb_recall struct is used only in nfs4_delegation, so its pointer to the containing delegation is unnecessary--we could just use container_of(). But there's no real reason to have this a separate struct at all--just move these fields to nfs4_delegation. Signed-off-by: J. Bruce Fields commit bb23c20a851a5038b255a3c0d0aa56093c1da3f8 Author: Theodore Ts'o Date: Fri May 1 19:44:44 2009 -0400 ext4: Move fs/ext4/group.h into ext4.h Move the function prototypes in group.h into ext4.h so they are all defined in one place. Signed-off-by: "Theodore Ts'o" commit 88d7d8b00cdc3117150faab4c4ace6d464b71c22 Author: Ayaz Abdulla Date: Fri May 1 01:41:50 2009 +0000 forcedeth: add clock gating feature This patch adds new logic to support a clock gating feature found on the latest set of chipsets. The clock gating is performed on the tx/rx engines when the link is disconnected. Clock gating helps in reducing power consumption. * modified based on comments from netdev Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 1aec5bdfed91b50aedbcad43393bcb05033c7ef3 Author: Greg Kroah-Hartman Date: Thu Apr 30 12:19:31 2009 +0000 net: remove driver_data direct access of struct device In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Cc: netdev@vger.kernel.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit c237dc0303bcf6f4cc2e0efe4fe4e341c6f34dac Author: J. Bruce Fields Date: Wed Apr 29 19:09:19 2009 -0400 nfsd4: rename callback struct to cb_conn I want to use the name for a struct that actually does represent a single callback. (Actually, I've never been sure it helps to a separate struct for the callback information. Some day maybe those fields could just be dumped into struct nfs4_client. I don't know.) Signed-off-by: J. Bruce Fields commit 6f0aced639d346e5f54eea9fcb2784b633493d09 Author: Cyrill Gorcunov Date: Fri May 1 23:54:25 2009 +0400 x86, apic: use pr_ macro Replace recenly appeared printk with pr_ macro (the file already use a lot of them). [ Impact: cleanup ] Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090501195425.GB4633@lenovo> Signed-off-by: Ingo Molnar commit 596397b77c895d0fa3674f579c94ad5ea88ef01d Author: Theodore Ts'o Date: Fri May 1 13:49:15 2009 -0400 ext4: Move fs/ext4/namei.h into ext4.h The fs/ext4/namei.h header file had only a single function declaration, and should have never been a standalone file. Move it into ext4.h, where should have been from the beginning. Signed-off-by: "Theodore Ts'o" commit ca0faba0e8ac844dc0279825eb8db876b5962ea5 Author: Theodore Ts'o Date: Sun May 3 16:33:44 2009 -0400 ext4: Move the ext4_sb.h header file into ext4.h There is no longer a reason for a separate ext4_sb.h header file, so move it into ext4.h just to make life easier for developers to find the relevant data structures and typedefs. Should also speed up compiles slightly, too. Signed-off-by: "Theodore Ts'o" commit d444c3c38189b3f18337a213855ac1c07af4e2d9 Author: Theodore Ts'o Date: Fri May 1 13:44:33 2009 -0400 ext4: Move the ext4_i.h header file into ext4.h There is no longer a reason for a separate ext4_i.h header file, so move it into ext4.h just to make life easier for developers to find the relevant data structures and typedefs. Should also speed up compiles slightly, too. Signed-off-by: "Theodore Ts'o" commit 4420471f14b79f2a42e4603be7794ea49b68bca4 Merge: 15e957d e0e4214 Author: Ingo Molnar Date: Fri May 1 19:02:50 2009 +0200 Merge branch 'x86/apic' into irq/numa Conflicts: arch/x86/kernel/apic/io_apic.c Merge reason: non-trivial interaction between ongoing work in io_apic.c and the NUMA migration feature in the irq tree. Signed-off-by: Ingo Molnar commit 15e957d08dd4a841359cfec59ecb74041e0097aa Author: Yinghai Lu Date: Thu Apr 30 01:17:50 2009 -0700 x86/irq: use move_irq_desc() in create_irq_nr() move_irq_desc() will try to move irq_desc to the home node if the allocated one is not correct, in create_irq_nr(). ( This can happen on devices that are on different nodes that are using MSI, when drivers are loaded and unloaded randomly. ) v2: fix non-smp build v3: add NUMA_IRQ_DESC to eliminate #ifdefs [ Impact: improve irq descriptor locality on NUMA systems ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F95EAE.2050903@kernel.org> Signed-off-by: Ingo Molnar commit 75507efb1372b6acf1aa6bf00ebd49ce196fd994 Author: Theodore Ts'o Date: Fri May 1 12:58:36 2009 -0400 ext4: Don't avoid using BLOCK_UNINIT block groups in mballoc By avoiding the use of not-yet-used block groups (i.e., block groups with the BLOCK_UNINIT flag), mballoc had a tendency to create large files with large non-contiguous gaps. In addition avoiding the use of new block groups had a tendency to push regular file data into the first block group in a flex_bg group, which slows down the speed of e2fsck pass 2, since it has a tendency to seek much more. For example: Before Patch After Patch Time in seconds Time in seconds Real / User/ Sys MB/s Real / User/ Sys MB/s Pass 1 8.52 / 2.21 / 0.46 20.43 8.84 / 4.97 / 1.11 19.68 Pass 2 21.16 / 1.02 / 1.86 11.30 6.54 / 1.77 / 1.78 36.39 Pass 3 0.01 / 0.00 / 0.00 139.00 0.01 / 0.01 / 0.00 128.90 Pass 4 0.16 / 0.15 / 0.00 0.00 0.17 / 0.17 / 0.00 0.00 Pass 5 2.52 / 1.99 / 0.09 0.79 2.31 / 1.78 / 0.06 0.86 Total 32.40 / 5.11 / 2.49 12.81 17.99 / 8.75 / 2.98 23.01 This was on a sample 80 gig root filesystem which was approximately 50% full. Note the improved e2fsck pass 2 performance, by over a factor of 3, due to a decreased number of seeks. (The total amount of I/O in pass 2 was unchanged; the layout of the directory blocks was simply much better from e2fsck's's perspective.) Other changes as a result of this patch on this sample filesystem: Before Patch After Patch # of non-contig files 762 779 # of non-contig directories 571 570 # of BLOCK_UNINIT bg's 307 293 # of INODE_UNINIT bg's 503 503 Out of 640 block groups, of which 333 were in use, this patch caused an extra 14 block groups to be utilized. The number of non-contiguous files did go up slightly, but when measured against the 99.9% of the files (603,154) which were contiguously allocated, this is pretty insignificant. Signed-off-by: "Theodore Ts'o" Signed-off-by: Andreas Dilger commit 4ba67c1d48aeedcc31630bb40b6179fc7d360f90 Author: Thomas Gleixner Date: Fri May 1 18:48:06 2009 +0200 perfcounter tools: get the syscall number from arch/*/include/asm/unistd.h Avoid further confusion during development Signed-off-by: Thomas Gleixner commit 7bd5469cd938eec6a76b3135e6becd9b5e096e98 Author: Thomas Gleixner Date: Fri May 1 18:42:47 2009 +0200 perfcounter tools: fix pointer mismatch Neither process_options nor execvp take an const **char as argument. Signed-off-by: Thomas Gleixner commit a92e70237c8abbd1c3241133bf72f2cd07c90eae Author: Thomas Gleixner Date: Fri May 1 18:39:47 2009 +0200 perfcounter tools: make rdclock an inline function Signed-off-by: Thomas Gleixner commit 6eda5838bc5771578986429cde4a0870e1e5f5e1 Author: Thomas Gleixner Date: Fri May 1 18:29:57 2009 +0200 perfcounter tools: move common defines ... to local header file No change, move of duplicated stuff only. Signed-off-by: Thomas Gleixner commit aed5d5f4c5ea5da01a774e42cff08c4b4fa59072 Author: Fenghua Yu Date: Thu Apr 30 17:57:11 2009 -0700 Fix !CONFIG_DMAR build failure introduced by Intel IOMMU Pass Through Support This updated patch should fix the compiling errors and remove the extern iommu_pass_through from drivers/pci/intel-iommu.c file. Signed-off-by: Fenghua Yu Signed-off-by: David Woodhouse commit 3666932bf2212a8fa77e344c5d946e86787bdbbe Author: Thomas Gleixner Date: Fri May 1 17:37:51 2009 +0200 perf_counter tools: remove build generated files These files are generated during the build process. No need to have them in the git repository. Signed-off-by: Thomas Gleixner commit e0202f56a82cd1170c6f1c520db669431cf26ddc Author: Ingo Molnar Date: Fri May 1 16:51:44 2009 +0200 perf_counter tools: fix x86 syscall numbers Signed-off-by: Ingo Molnar commit e3980b6a03e4c81e0e8d2cfcd7ab18082bbe92a5 Author: Mark Brown Date: Wed Apr 15 17:11:53 2009 +0100 [ARM] SMDK6410: Hook regulator control of VDDARM up for WM1190-EV1 This allows the S3C CPUfreq driver to do DVFS. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 84e5b0d00f8f84c4ae226be131d4bebbcee88bd3 Author: Greg Kroah-Hartman Date: Fri May 1 06:41:58 2009 -0700 Input: wm97xx - do not access dev->driver_data directly In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit 9ee1983c9aa18f12388ef660d0c76a23dc112959 Author: Jason Baron Date: Thu Apr 30 13:29:47 2009 -0400 tracing: add irq tracepoint documentation Document irqs for the newly created docbook. [ Impact: add documentation ] Signed-off-by: Jason Baron Acked-by: Randy Dunlap Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: <73ff42be3420157667ec548e9b0e409c3cfad05f.1241107197.git.jbaron@redhat.com> Signed-off-by: Ingo Molnar commit a76f8c6da1e48fd4ef025f42c736389532ff30ba Author: Jason Baron Date: Thu Apr 30 13:29:42 2009 -0400 tracing: add new tracepoints docbook Add tracepoint docbook. This will help us document and understand what tracepoints are in the kernel. Since there are multiple macros, and files that contain tracepoints. [ Impact: add documentation ] Signed-off-by: Jason Baron Acked-by: Randy Dunlap Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: <84160b6bd94aff02455da7e12bad054d34c579a0.1241107197.git.jbaron@redhat.com> Signed-off-by: Ingo Molnar commit 56afb0f8823650f53a5f0e96d69a282e8892c61b Author: Jason Baron Date: Thu Apr 30 13:29:36 2009 -0400 kerneldoc, tracing: make kernel-doc understand TRACE_EVENT() macro (take #2) Add support to kernel-doc for tracepoint comments above TRACE_EVENT() macro definitions. Paves the way for tracepoint docbook. [ Impact: extend DocBook infrastructure ] Signed-off-by: Jason Baron Acked-by: Randy Dunlap Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Cc: fweisbec@gmail.com Cc: mathieu.desnoyers@polymtl.ca Cc: wcohen@redhat.com LKML-Reference: Signed-off-by: Ingo Molnar commit e5791a808ae91a9e7e1b65ea9b8de0f96a043d88 Author: Peter Zijlstra Date: Fri May 1 12:23:19 2009 +0200 perf_counter: documentation update Update the documentation to reflect the current state of affairs [ Impact: documentation update ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.296727903@chello.nl> Signed-off-by: Ingo Molnar commit 585e3374d9d29376c2c37d821c8b7637dd48ca95 Author: Peter Zijlstra Date: Fri May 1 12:23:18 2009 +0200 perf_counter: tool: handle 0-length data files Avoid perf-report barfing on 0-length data files. [ Impact: fix perf-report SIGBUS ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.196245693@chello.nl> Signed-off-by: Ingo Molnar commit 63a809a2dc53b91268dd915bbcbd425063893676 Author: Peter Zijlstra Date: Fri May 1 12:23:17 2009 +0200 perf_counter: fix nmi-watchdog interaction When we don't have any perf-counters active, don't act like we know what the NMI is for. [ Impact: fix hard hang with nmi_watchdog=2 ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.109867793@chello.nl> Signed-off-by: Ingo Molnar commit c33a0bc4e41ef169d6e807d8abb9502544b518e5 Author: Peter Zijlstra Date: Fri May 1 12:23:16 2009 +0200 perf_counter: fix race in perf_output_* When two (or more) contexts output to the same buffer, it is possible to observe half written output. Suppose we have CPU0 doing perf_counter_mmap(), CPU1 doing perf_counter_overflow(). If CPU1 does a wakeup and exposes head to user-space, then CPU2 can observe the data CPU0 is still writing. [ Impact: fix occasionally corrupted profiling records ] Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090501102533.007821627@chello.nl> Signed-off-by: Ingo Molnar commit 97c1b145231730e62dd71921ec653315a1da3aad Author: Ben Dooks Date: Thu Mar 19 15:02:39 2009 +0000 [ARM] S3C: Move DMA channel management code to plat-s3c Change the name of S3C2410_DMA_CHANNELS to S3C_DMA_CHANNELS in the process. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 20934cdbaae9c26a31d7f593c6a747c687ae79a1 Author: Ben Dooks Date: Thu Mar 19 15:02:38 2009 +0000 [ARM] S3C24XX: dma.h should not include The dma.h header does not need to include as there is nothing it depends on. Remove the include and fixup the couple of places where was not explicitly included (dragged in via ) Note, we have to fix arch/arm/plat-s3c24xx/pm.c which seems to rely on having included by this method. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit c133c290118bfc99cd7a23b5a00b5252d2be90c8 Author: Ben Dooks Date: Thu Mar 19 15:02:37 2009 +0000 [ARM] S3C: Make common header Move the common information from the header into a new shareable header for re-use on the s3c64xx. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 023b40cd1018915beb5a519b55ea174683215f16 Author: Ben Dooks Date: Thu Mar 19 15:02:36 2009 +0000 [ARM] S3C24XX: Fix indentation in The pre-date the invention of the TAB character, so fix the indentation of the register defines. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 44dc94045f6ddbc07db3e0eb3448c2efc13ac2cf Author: Ben Dooks Date: Thu Mar 19 15:02:35 2009 +0000 [ARM] S3C24XX: DMA: Split hardware regs out of The is for the driver API for the DMA system and should not have anything relying on the CPU specific registers. Remove the registers to for the code that really needs to know about them. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 8970ef47d56fd3db28ee798b9d400caf08abd924 Author: Ben Dooks Date: Thu Mar 19 15:02:34 2009 +0000 [ARM] S3C24XX: Remove hardware specific registers from DMA calls The S3C24XX DMA API channel configuration registers are being passed values comprised of register values which makes it hard to move the API to cover both the S3C24XX and S3C64XX. These values can be calculated from knowing which device the channel is connected to, so remove them from the two calls s3c2410_dma_config and s3c2410_dma_devconfig. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 5a9eb8da8b95fce21eb2dd39fe71b2b7882ce89a Author: Ben Dooks Date: Thu Mar 19 15:02:33 2009 +0000 [ARM] S3C24XX: Move plat/dma.h Move the platform dma.h to dma-plat.h to ensure it doen't get confused with plat/dma.h Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 1f26a8a0fd6d067237f87a95d96ddfe263b96a94 Author: Kwangwoo Lee Date: Tue Apr 28 10:35:57 2009 +0900 [PATCH] S3C64XX: Basic A&W6410 board support patch V2 A&W6410 board uses Samsung S3C6410 SoC and it is registered with 2183. Framebuffer and ethernet devices are supported currently. Unnecessary header file is removed. Fix to use __raw_writel() and __raw_readl() for accessing mapped address. Thank you for your comments. Signed-off-by: Kwangwoo Lee Signed-off-by: Ben Dooks commit f53aee29bef09070e4ab14488e43433b371844ce Author: Mark Brown Date: Thu Apr 9 16:30:40 2009 +0100 [ARM] SMDK6410: Mark all supplies as always_on Since no consumers are currently configured for the SMDK6410 mark all the supplies on the board as being always_on, ensuring interoperability with future regulator API changes to disable unused regulators. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit db9256f33c1b9ce72d2a126d51c7fe0de65f0f8c Author: Mark Brown Date: Thu Apr 9 19:00:19 2009 +0100 [ARM] SMDK6410: Use active high IRQ for the WM8350 on the WM1190-EV1 Using an active high IRQ ensures that the WM8350 interrupt handling does not spin when used with a SMDK6410 which has not had R20 removed and R21 fitted to connect EINT12 to the PMIC module rather thant the fixed regulators on the CPU module. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 87c4122f1714f96faa1b1c9449f762b9c56f77e4 Author: Kyungmin Park Date: Wed Mar 11 11:05:55 2009 +0900 [ARM] S3C6410: Basic support for NCP board (v2) This is a basic support for NCP board based on s3c6410. Only enables the serial. also remove empty i2c device. Signed-off-by: Kyungmin Park Signed-off-by: Ben Dooks commit ecc558acaba9ca1c6e2e7b54a1edb73ee391ae17 Author: Mark Brown Date: Tue Feb 17 15:59:38 2009 +0000 [ARM] SMDK6410: Support WM1190-EV1 PMIC board The SMDK6410 supports pluggable PMIC boards. One such board is the Wolfson Microelectronics 1190-EV1 for the WM8350 PMICs. This patch introduces initial support for this module. Further patches will add additional integration with the system as support for the S3C6410 and other devices on the system improves. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 3056ea0afba83d19af5f1f3daf6ed7211f0717da Author: Mark Brown Date: Tue Jan 27 16:18:01 2009 +0000 [ARM] SMDK6410: Add support for SMSC9115 ethernet controller Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit d6662c351a827264706bf880a36cdd376808ba1c Author: Ben Dooks Date: Fri Dec 12 00:24:40 2008 +0000 [ARM] SMDK6410: Ensure LCD settings are setup Ensure that the LCD output type is RGB and that the modem interface is not bypassing the LCD block. This ensures the LCD interface output gets to the pins in the correct format. Signed-off-by: Ben Dooks commit 78a3d9d5654a7fd99cf8b2ab06b9497b9c7aad64 Author: Oleg Nesterov Date: Wed Apr 29 18:01:23 2009 +0200 do_wait: do take security_task_wait() into account I was never able to understand what should we actually do when security_task_wait() fails, but the current code doesn't look right. If ->task_wait() returns the error, we update *notask_error correctly. But then we either reap the child (despite the fact this was forbidden) or clear *notask_error (and hide the securiy policy problems). This patch assumes that "stolen by ptrace" doesn't matter. If selinux denies the child we should ignore it but make sure we report -EACCESS instead of -ECHLD if there are no other eligible children. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: James Morris commit 3c56999eec7acc105a31b4546c94aad2fb844b13 Merge: bad7600 12d1611 Author: Thomas Gleixner Date: Thu Apr 30 21:12:13 2009 +0200 Merge branch 'core/signal' into perfcounters/core This is necessary to avoid the conflict of syscall numbers. Conflicts: arch/x86/ia32/ia32entry.S arch/x86/include/asm/unistd_32.h arch/x86/include/asm/unistd_64.h Fixes up the borked syscall numbers of perfcounters versus preadv/pwritev as well. Signed-off-by: Thomas Gleixner commit 420118caa32c8ccdf9fce5a623b9de3f951573c5 Author: Louis Rilling Date: Wed Jan 28 19:18:33 2009 +0100 configfs: Rework configfs_depend_item() locking and make lockdep happy configfs_depend_item() recursively locks all inodes mutex from configfs root to the target item, which makes lockdep unhappy. The purpose of this recursive locking is to ensure that the item tree can be safely parsed and that the target item, if found, is not about to leave. This patch reworks configfs_depend_item() locking using configfs_dirent_lock. Since configfs_dirent_lock protects all changes to the configfs_dirent tree, and protects tagging of items to be removed, this lock can be used instead of the inodes mutex lock chain. This needs that the check for dependents be done atomically with CONFIGFS_USET_DROPPING tagging. Now lockdep looks happy with configfs. [ Lifted the setting of s_type into configfs_new_dirent() to satisfy the atomic setting of CONFIGFS_USET_CREATING -- Joel ] Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit e74cc06df3b05e2b2c1611a043f6e6dcadaab1eb Author: Louis Rilling Date: Wed Jan 28 19:18:32 2009 +0100 configfs: Silence lockdep on mkdir() and rmdir() When attaching default groups (subdirs) of a new group (in mkdir() or in configfs_register()), configfs recursively takes inode's mutexes along the path from the parent of the new group to the default subdirs. This is needed to ensure that the VFS will not race with operations on these sub-dirs. This is safe for the following reasons: - the VFS allows one to lock first an inode and second one of its children (The lock subclasses for this pattern are respectively I_MUTEX_PARENT and I_MUTEX_CHILD); - from this rule any inode path can be recursively locked in descending order as long as it stays under a single mountpoint and does not follow symlinks. Unfortunately lockdep does not know (yet?) how to handle such recursion. I've tried to use Peter Zijlstra's lock_set_subclass() helper to upgrade i_mutexes from I_MUTEX_CHILD to I_MUTEX_PARENT when we know that we might recursively lock some of their descendant, but this usage does not seem to fit the purpose of lock_set_subclass() because it leads to several i_mutex locked with subclass I_MUTEX_PARENT by the same task. >From inside configfs it is not possible to serialize those recursive locking with a top-level one, because mkdir() and rmdir() are already called with inodes locked by the VFS. So using some mutex_lock_nest_lock() is not an option. I am proposing two solutions: 1) one that wraps recursive mutex_lock()s with lockdep_off()/lockdep_on(). 2) (as suggested earlier by Peter Zijlstra) one that puts the i_mutexes recursively locked in different classes based on their depth from the top-level config_group created. This induces an arbitrary limit (MAX_LOCK_DEPTH - 2 == 46) on the nesting of configfs default groups whenever lockdep is activated but this limit looks reasonably high. Unfortunately, this also isolates VFS operations on configfs default groups from the others and thus lowers the chances to detect locking issues. Nobody likes solution 1), which I can understand. This patch implements solution 2). However lockdep is still not happy with configfs_depend_item(). Next patch reworks the locking of configfs_depend_item() and finally makes lockdep happy. [ Note: This hides a few locking interactions with the VFS from lockdep. That was my big concern, because we like lockdep's protection. However, the current state always dumps a spurious warning. The locking is correct, so I tell people to ignore the warning and that we'll keep our eyes on the locking to make sure it stays correct. With this patch, we eliminate the warning. We do lose some of the lockdep protections, but this only means that we still have to keep our eyes on the locking. We're going to do that anyway. -- Joel ] Signed-off-by: Louis Rilling Signed-off-by: Joel Becker commit bf293c17b26b8854241df08b9b63f7270cbde012 Author: Remis Lima Baima Date: Thu Apr 30 18:36:23 2009 +0200 x86: added 'ifndef _ASM_X86_IOMAP_H' to iomap.h iomap.h misses the include guards. [ Impact: cleanup ] Signed-off-by: Remis Lima Baima Signed-off-by: Arnd Bergmann LKML-Reference: <200904301836.23885.arnd@arndb.de> Signed-off-by: Ingo Molnar commit 12d161147f828192b5bcc33166f468a827832767 Author: Thomas Gleixner Date: Sat Apr 4 21:01:10 2009 +0000 x86: hookup sys_rt_tgsigqueueinfo Make the new sys_rt_tgsigqueueinfo available for x86. Signed-off-by: Thomas Gleixner commit 62ab4505e3efaf67784f84059e0fb9cedb1728ea Author: Thomas Gleixner Date: Sat Apr 4 21:01:06 2009 +0000 signals: implement sys_rt_tgsigqueueinfo sys_kill has the per thread counterpart sys_tgkill. sigqueueinfo is missing a thread directed counterpart. Such an interface is important for migrating applications from other OSes which have the per thread delivery implemented. Signed-off-by: Thomas Gleixner Reviewed-by: Oleg Nesterov Acked-by: Roland McGrath Acked-by: Ulrich Drepper commit 30b4ae8a4498543863501f707879b7220b649602 Author: Thomas Gleixner Date: Sat Apr 4 21:01:01 2009 +0000 signals: split do_tkill Split out the code from do_tkill to make it reusable by the follow up patch which implements sys_rt_tgsigqueueinfo Signed-off-by: Thomas Gleixner Reviewed-by: Oleg Nesterov commit 03682411b1ccd38cbde2e9a6ab43884ff34fbefc Author: Anton Vorontsov Date: Thu Apr 30 18:38:01 2009 +0200 alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC Some time ago we had to disable init_hwif callback for PowerPC builds. That was because of a historical IRQ overwrite in the driver, which was causing IDE malfunction on the MPC8610HPCD PowerPC boards. It's unclear whether this overwrite is still useful, but it is proven to cause a bit of harm, and today some PowerPC targets (Xilinx ML510, as reported by Roderick Colenbrander) need the init_hwif, so we have to re-enable it and remove the overwrite. Reported-by: Roderick Colenbrander Suggested-by: Bartlomiej Zolnierkiewicz Cc: Benjamin Herrenschmidt Signed-off-by: Anton Vorontsov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23a39eede5f04eb8c4e8d6622231d98fe46bdc65 Merge: b656eba 96c1674 Author: Bartlomiej Zolnierkiewicz Date: Thu Apr 30 18:28:35 2009 +0200 Merge branch 'for-linus' into for-next commit 71437552f2564c0d0c5cc4995045683051c5fe62 Author: Mark Brown Date: Thu Apr 30 13:42:04 2009 +0100 ASoC: Use platform device resource for S3C64xx IISv2 Signed-off-by: Mark Brown commit abbc82466967064e4eaafa367fc225a8c803569c Author: Mark Brown Date: Thu Apr 30 13:21:52 2009 +0100 ASoC: Staticise txctrl and rxctrl for S3C IISv2 They aren't used by anything external and aren't prototyped; if any users appear they can be exported again for them. Also report what modes we have a problem with when we encounter invalid mode configurations. Signed-off-by: Mark Brown commit 38e43c81a07de8ee8a757a9c93dd3a4937dd35e0 Author: Mark Brown Date: Thu Apr 30 13:14:38 2009 +0100 ASoC: Display S3C IISv2 mode and MS errors by default Signed-off-by: Mark Brown commit af3ea7bdc77be000f69a41e7c41060f72b5a7111 Author: Mark Brown Date: Thu Apr 30 13:13:55 2009 +0100 ASoC: Display the clock rate used as the basis for rate calculation Aids debugging. Signed-off-by: Mark Brown commit c86bde54062a4d02c1b58203b7802797e4007a8a Author: Mark Brown Date: Thu Apr 30 13:09:33 2009 +0100 ASoC: Allow use of resource from the platform device for S3C IISv2 Signed-off-by: Mark Brown commit 07736d48051869c37838635b41850618aa63b9a7 Author: Mark Brown Date: Thu Apr 30 13:13:14 2009 +0100 ASoC: Fix boot warnings from S3C IISv2 On startup we try to make sure that the port is quiesced but if the port is already stopped then this will generate a warning about the RX/TX mode configuration. Configure the mode before doing the teardown to suppress these warnings. Signed-off-by: Mark Brown commit 553b1dd58c5cf1abd6d0965041169400a3cff1ad Author: Mark Brown Date: Wed Apr 29 20:29:25 2009 +0100 ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit The data format configuration for S3C64xx IISv2 is completely different to that for S3C24xx. Instead of a single bit configuration in bit 0 of IISMOD we have format selection in bits 13 and 14 and bit clock rate selection in bits 1 and 2. While we're here add support for 24 bit samples in S3C64xx. At some point it may be desirable to expose the bit clock rate selection to users but given the limited configuration options that may not be required. Signed-off-by: Mark Brown commit 51438449e717db54550b4676f38208092eb654da Author: Mark Brown Date: Wed Apr 29 20:30:39 2009 +0100 ASoC: Make S3C64xx clock export function to return struct clk This makes the interface usable with the s3c-iis-v2 rate calculator and consistent with S3C2412. Signed-off-by: Mark Brown commit 8a0f62b842e2f189e36d9f4c575ee15da9c605ff Author: Mark Brown Date: Wed Apr 29 20:28:47 2009 +0100 ASoC: Check for supported CPUs when building s3c-i2s-v2 Signed-off-by: Mark Brown commit 09aa60df92a9c5ff00e156c0dbc79f166d406a7f Author: Mark Brown Date: Wed Apr 29 18:51:48 2009 +0100 ASoC: Fix error message formatting in s3c64xx-i2s driver Signed-off-by: Mark Brown commit bad760089c1ef7fe525c0f268a4078b9cb483903 Author: Ingo Molnar Date: Thu Apr 30 14:14:37 2009 +0200 perf_counter tools: fix infinite loop in perf-report on zeroed event records Bail out early if a record has zero size - we have no chance to make reliable progress in that case. Print out the offset where this happens, and print the number of bytes we missed out on. Signed-off-by: Ingo Molnar commit 66cf782996f3d57d3cc199f0a2d47a54e2aa5991 Author: Ingo Molnar Date: Thu Apr 30 13:53:33 2009 +0200 perf_counter tools: perf stat: make -l default-on Turn on scaling display by default - this is less confusing. Signed-off-by: Ingo Molnar commit aac3f3c2c41ce49a6dbb98d9145265c00a964dc2 Author: Ingo Molnar Date: Thu Apr 30 13:52:19 2009 +0200 perf_counter tools: add perf-report to the Makefile Build it explicitly until it's a proper builtin command. Signed-off-by: Ingo Molnar commit 83c4832683bc8ebcd1687b3c0bf3ba1ab253dd4f Author: Sam Ravnborg Date: Thu Apr 30 12:03:16 2009 +0200 x86: boot/compressed/vmlinux.lds.S: fix build of bzImage with 64 bit compiler Jesper reported that he saw following build issue: > ld:arch/x86/boot/compressed/vmlinux.lds:9: syntax error > make[2]: *** [arch/x86/boot/compressed/vmlinux] Error 1 > make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2 > make: *** [bzImage] Error 2 CPP defines the symbol "i386" to "1". Undefine this to fix it. [ Impact: build fix with certain tool chains ] Reported-by: Jesper Dangaard Brouer Signed-off-by: Sam Ravnborg Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit ba9c22f2c01cf5c88beed5a6b9e07d42e10bd358 Author: Darren Hart Date: Mon Apr 20 22:22:22 2009 -0700 futex: remove FUTEX_REQUEUE_PI (non CMP) The new requeue PI futex op codes were modeled after the existing FUTEX_REQUEUE and FUTEX_CMP_REQUEUE calls. I was unaware at the time that FUTEX_REQUEUE was only around for compatibility reasons and shouldn't be used in new code. Ulrich Drepper elaborates on this in his Futexes are Tricky paper: http://people.redhat.com/drepper/futex.pdf. The deprecated call doesn't catch changes to the futex corresponding to the destination futex which can lead to deadlock. Therefor, I feel it best to remove FUTEX_REQUEUE_PI and leave only FUTEX_CMP_REQUEUE_PI as there are not yet any existing users of the API. This patch does change the OP code value of FUTEX_CMP_REQUEUE_PI to 12 from 13. Since my test case is the only known user of this API, I felt this was the right thing to do, rather than leave a hole in the enumeration. I chose to continue using the _CMP_ modifier in the OP code to make it explicit to the user that the test is being done. Builds, boots, and ran several hundred iterations requeue_pi.c. Signed-off-by: Darren Hart LKML-Reference: <49ED580E.1050502@us.ibm.com> Signed-off-by: Thomas Gleixner commit 9518e0e4350a5ea8ca200ce320b28d6284a7b0ce Author: Pekka Enberg Date: Tue Apr 28 16:00:50 2009 +0300 x86: move per-cpu mmu_gathers to mm/init.c [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1240923650.1982.22.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 2b72394e4089643f11669d9610907a1442fe044a Author: Pekka Enberg Date: Tue Apr 28 16:00:49 2009 +0300 x86: move max_pfn_mapped and max_low_pfn_mapped to setup.c This patch moves the max_pfn_mapped and max_low_pfn_mapped global variables to kernel/setup.c where they're initialized. [ Impact: cleanup ] Signed-off-by: Pekka Enberg LKML-Reference: <1240923649.1982.21.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit a511e3f968c462a55ef58697257f5347c73d306e Author: Andrew Morton Date: Wed Apr 29 15:59:58 2009 -0700 mutex: add atomic_dec_and_mutex_lock(), fix include/linux/mutex.h:136: warning: 'mutex_lock' declared inline after being called include/linux/mutex.h:136: warning: previous declaration of 'mutex_lock' was here uninline it. [ Impact: clean up and uninline, address compiler warning ] Signed-off-by: Andrew Morton Cc: Al Viro Cc: Christoph Hellwig Cc: Eric Paris Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <200904292318.n3TNIsi6028340@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit c5dd016cdf0a040e1de0b691e274fbfe642b2cdc Author: Paul Mackerras Date: Thu Apr 30 09:48:16 2009 +1000 perf_counter: update copyright notice This adds my name to the list of copyright holders on the core perf_counter.c, since I have contributed a significant amount of the code in there. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra Cc: Robert Richter LKML-Reference: <18936.59200.888049.746658@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit f425752fc66acf1d4e47970ea704ed7d31c14173 Author: Magnus Damm Date: Thu Apr 30 04:09:26 2009 +0000 sh: remove old CMT driver This patch removes the old CMT driver (CONFIG_SH_CMT/timer-cmt.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_CMT and configure timer channel using platform data. If multiple CMT channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_cmt.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 698aa99da5f5e2b4c666fd21ab77306f0225b8f5 Author: Magnus Damm Date: Thu Apr 30 04:08:18 2009 +0000 sh: sh2/sh2a 16-bit CMT platform data This patch adds 16-bit cmt platform data for the following cpus: - sh7619 (2 channels) - sh7203/sh7263 (2 channels) - sh7206 (2 channels) Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3014f47460ecfb13d4169daae51f26a20bacfa17 Author: Magnus Damm Date: Wed Apr 29 14:50:37 2009 +0000 clocksource: sh_cmt 16-bit fixes This patch contains various fixes for 16-bit cmt hardware. With this applied periodic clockevents work fine on sh7203. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e6be3a25861429166f945499c7ee616875bc3db9 Author: Magnus Damm Date: Thu Apr 30 12:56:37 2009 +0900 sh: pass through ioremap() for non-mmu processors. All 32-bit SuperH processors currently go through __ioremap_mode() and check for IO_TRAPPED and directly mapped segments. With this patch we simplify the MMU less case with a pass through version of __ioremap_mode() which just returns the physical address. The effects of this is change are: - fix non-MMU ioremap() of high address hardware blocks (sh7203 CMT) - make sure IO_TRAPPED is not selected Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit aba7453037c3a90714caae77a622dceaf1173786 Merge: a4fe91e 93af7ac Author: David S. Miller Date: Wed Apr 29 20:30:35 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: Documentation/isdn/00-INDEX drivers/net/wireless/iwlwifi/iwl-scan.c drivers/net/wireless/rndis_wlan.c net/mac80211/main.c commit a4fe91ee711f4e955ea85ab05b092cfe384b073e Author: David S. Miller Date: Wed Apr 29 17:53:20 2009 -0700 Revert "vxge: use max() instead of VXGE_HW_SET_LEVEL" This reverts commit 011983048a120e520147361be1067dd82343038e. Causes warnings in the build as reported by Stephen Rothwell. So this change is worse than what it's curing. Signed-off-by: David S. Miller commit 5974700c288aa160fd02b1cb9294173664bcc172 Author: Ben Hutchings Date: Wed Apr 29 08:34:44 2009 +0000 mii: Rewrite mii_ethtool_gset() to report mdio_support and lp_advertising Ignore link partner advertising flags while AN is not complete. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 894b19a6b343ce3589237167a56e6df0fe72ef0d Author: Ben Hutchings Date: Wed Apr 29 08:25:57 2009 +0000 ethtool/mdio: Support backplane mode negotiation Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0c09c1a49cc7b819b33566a49d9901f7cfdd6889 Author: Ben Hutchings Date: Wed Apr 29 08:21:53 2009 +0000 ethtool/mdio: Report MDIO mode support and link partner advertising Add mdio_support and lp_advertising fields to ethtool_cmd. Set these in mdio45_ethtool_gset{,_npage}(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 3f926da82f128c68c479247b1771729b9487502a Author: Ben Hutchings Date: Wed Apr 29 08:20:37 2009 +0000 sfc: Use generic MDIO flow control auto-negotiation functions Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit af2a3eac2fe6a6d8e9fdf6927284b34466a7d808 Author: Ben Hutchings Date: Wed Apr 29 08:19:36 2009 +0000 mdio: Add mdio45_ethtool_spauseparam_an() This implements the ETHTOOL_SPAUSEPARAM operation for MDIO (clause 45) PHYs with auto-negotiation MMDs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a8c30832b5b12e5d4e9d1c20cdac3cc2880e08b8 Author: Ben Hutchings Date: Wed Apr 29 08:19:03 2009 +0000 mii: Add mii_advertise_flowctrl() This converts flow control capabilites to an advertising mask and can be useful in combination with mii_resolve_flowctrl_fdx(). Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 44c22ee91b56d7cad3b48c439dd96aad2e910fbc Author: Ben Hutchings Date: Wed Apr 29 08:15:05 2009 +0000 mii: Simplify mii_resolve_flowctrl_fdx() This is a shorter and more comprehensible formulation of the conditions for each flow control mode. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 4023939667a906f0c02022ce7ec06d6512470211 Author: Ben Hutchings Date: Wed Apr 29 08:13:29 2009 +0000 s2io: Use generic MDIO definitions Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit cdbf0eb478dd4c76aa665c80976837dc58367f52 Author: Ben Hutchings Date: Wed Apr 29 08:11:05 2009 +0000 ixgb: Use generic MDIO definitions Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6b73e10d2d89f9ce773f9b47d61b195936d059ba Author: Ben Hutchings Date: Wed Apr 29 08:08:58 2009 +0000 ixgbe: Use generic MDIO definitions and functions Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0f07c4ee8c800923ae7918c231532a9256233eed Author: Ben Hutchings Date: Wed Apr 29 08:07:20 2009 +0000 cxgb3: Use generic MDIO definitions and mdio_mii_ioctl() Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 23c3320cb039debfb94b27e8e9bfe26dd47692c3 Author: Ben Hutchings Date: Wed Apr 29 08:06:34 2009 +0000 chelsio: Use generic MDIO definitions and mdio_mii_ioctl() Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 68e7f45e118f98b77cfa007aa2d97b5dac69fe6b Author: Ben Hutchings Date: Wed Apr 29 08:05:08 2009 +0000 sfc: Use generic MDIO functions and definitions Make use of the newly-added generic MDIO clause 45 support and remove redundant definitions. Add an 'efx_' prefix to the remaining driver-specific MDIO functions and remove arguments which are redundant with efx->mdio.prtad. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1b1c2e95103ce391c2ea39a9460968fcb73deb30 Author: Ben Hutchings Date: Wed Apr 29 08:04:46 2009 +0000 mdio: Add generic MDIO (clause 45) support functions These roughly mirror many of the MII library functions and are based on code from the sfc driver. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 52c94dfae11d9ffd70b7bd003a36a4e210f2866a Author: Ben Hutchings Date: Wed Apr 29 08:04:14 2009 +0000 mdio: Add register definitions for MDIO (clause 45) IEEE 802.3 clause 45 specifies the MDIO interface and registers for use in 10G and other PHYs, similar to the MII management interface. PHYs may have up to 32 MMDs corresponding to different sub-layers and functions, each with up to 65536 registers. These are addressed by PRTAD (similar to the MII PHY address) and DEVAD. Define a mapping for specifying PRTAD and DEVAD through the existing MII ioctls. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 0821c71751ef88f4251d7206e76ce497ee267a2d Author: Ben Hutchings Date: Wed Apr 29 08:02:59 2009 +0000 ethtool: Add port type PORT_OTHER Add a PORT_OTHER to represent all other physical port types. Current NICs generally do not allow switching between multiple port types in software so specific types should not be needed. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ce105a082371570effb71541f299b1dc2771ee03 Author: John Dykstra Date: Wed Apr 29 17:22:30 2009 -0700 pcnet32: Remove pointless memory barriers These two memory barriers in performance-critical paths are not needed on x86. Even if some other architecture does buffer PCI I/O space writes, the existing memory-mapped I/O barriers are unlikely to be what is needed. Signed-off-by: John Dykstra Acked-by: Don Fry Signed-off-by: David S. Miller commit ecd6de3c88e8cbcad175b2eab48ba05c2014f7b6 Author: Oleg Nesterov Date: Wed Apr 29 16:02:24 2009 +0200 selinux: selinux_bprm_committed_creds() should wake up ->real_parent, not ->parent. We shouldn't worry about the tracer if current is ptraced, exec() must not succeed if the tracer has no rights to trace this task after cred changing. But we should notify ->real_parent which is, well, real parent. Also, we don't need _irq to take tasklist, and we don't need parent's ->siglock to wake_up_interruptible(real_parent->signal->wait_chldexit). Since we hold tasklist, real_parent->signal must be stable. Otherwise spin_lock(siglock) is not safe too and can't help anyway. Signed-off-by: Oleg Nesterov Signed-off-by: James Morris commit 3bcac0263f0b45e67a64034ebcb69eb9abb742f4 Author: David Howells Date: Wed Apr 29 13:45:05 2009 +0100 SELinux: Don't flush inherited SIGKILL during execve() Don't flush inherited SIGKILL during execve() in SELinux's post cred commit hook. This isn't really a security problem: if the SIGKILL came before the credentials were changed, then we were right to receive it at the time, and should honour it; if it came after the creds were changed, then we definitely should honour it; and in any case, all that will happen is that the process will be scrapped before it ever returns to userspace. Signed-off-by: David Howells Signed-off-by: Oleg Nesterov Signed-off-by: James Morris commit 88c48db9788862d0290831d081bc3c64e13b592f Author: Eric Paris Date: Wed Apr 29 14:00:25 2009 -0400 SELinux: drop secondary_ops->sysctl We are still calling secondary_ops->sysctl even though the capabilities module does not define a sysctl operation. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 23b94b967f118bef941369238f33c8140be46539 Author: Luis Henriques Date: Wed Apr 29 21:54:51 2009 +0100 locking, rtmutex.c: Documentation cleanup Two minor updates on functions documentation: - Updated documentation for function rt_mutex_unlock(), which contained an incorrect name - Removed extra '*' from comment in function rt_mutex_destroy() [ Impact: cleanup ] Signed-off-by: Luis Henriques Cc: Steven Rostedt LKML-Reference: <20090429205451.GA23154@hades.domain.com> Signed-off-by: Ingo Molnar commit e300a63ce4ccec073d254d883a3638d5dca1d771 Author: J. Bruce Fields Date: Thu Mar 5 15:01:11 2009 -0500 nfsd4: replace callback thread by asynchronous rpc We don't really need a synchronous rpc, and moving to an asynchronous rpc allows us to do without this extra kthread. Signed-off-by: J. Bruce Fields commit 3cef9ab266a932899e756f7e1ea7a988a97bf3b2 Author: J. Bruce Fields Date: Mon Feb 23 21:42:10 2009 -0800 nfsd4: lookup up callback cred only once Lookup the callback cred once and then use it for all subsequent callbacks. Signed-off-by: J. Bruce Fields commit ecdd03b7914c91ef849e49c4d466c87f4981b5cd Author: J. Bruce Fields Date: Mon Feb 23 19:35:22 2009 -0800 nfsd4: create rpc callback client from server thread The code is a little simpler, and it should be easier to avoid races, if we just do all rpc client creation/destruction from nfsd or laundromat threads and do only the rpc calls themselves asynchronously. The rpc creation doesn't involve any significant waiting (it doesn't call the client, for example), so there's no reason not to do this. Also don't bother destroying the client on failure of the rpc null probe. We may want to retry the probe later anyway. Signed-off-by: J. Bruce Fields commit e1cab5a5896e142190cd66a8287099b52e5855a7 Author: J. Bruce Fields Date: Mon Feb 23 10:45:27 2009 -0800 nfsd4: set cb_client inside setup_callback_client This is just a minor code simplification. Signed-off-by: J. Bruce Fields commit 595947acaaef373445131471a78650003f5d8e7d Author: J. Bruce Fields Date: Thu Mar 5 17:18:10 2009 -0500 nfsd4: set shorter timeout We tried to do something overly complicated with the callback rpc timeouts here. And they're wrong--the result is that by the time a single callback times out, it's already too late to tell the client (using the cb_path_down return to RENEW) that the callback is down. Use a much shorter, simpler timeout. Signed-off-by: J. Bruce Fields commit f64f79ea5f5e02ba8585f35a10b4a3bcab0cea52 Author: J. Bruce Fields Date: Wed Apr 29 13:45:36 2009 -0400 nfsd4: setclientid_confirm callback-change fixes This setclientid_confirm case should allow the client to change callbacks, but it currently has a dummy implementation that just turns off callbacks completely. That dummy implementation isn't completely correct either, though: - There's no need to remove any client recovery directory in this case. - New clientid confirm verifiers should be generated (and returned) in setclientid; there's no need to generate a new one here. Signed-off-by: J. Bruce Fields commit 43f6201a22dbf1c5abe1cab96b49bd56fa9df8f4 Author: Robert Richter Date: Wed Apr 29 16:55:56 2009 +0200 perf_counter, x86: rename bitmasks to ->used_mask and ->active_mask Standardize on explicitly mentioning '_mask' in fields that are not plain flags but masks. This avoids typos like: if (cpuc->used) (which could easily slip through review unnoticed), while if a typo looks like this: if (cpuc->used_mask) it might get noticed during review. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1241016956-24648-1-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 0c8b946e3ebb3846103486420ea7430a4b5e5b1b Author: Frederic Weisbecker Date: Wed Apr 15 17:48:18 2009 +0200 vsprintf: introduce %pf format specifier A printf format specifier which would allow us to print a pure function name has been suggested by Andrew Morton a couple of months ago. The current %pF is very convenient to print a function symbol, but often we only want to print the name of the function, without its asm offset. That's what %pf does in this patch. The lowecase f has been chosen for its intuitive meaning of a 'weak kind of %pF'. The support for this new format would be welcome by the tracing code where the need to print pure function names is often needed. This is also true for other parts of the kernel: $ git-grep -E "kallsyms_lookup\(.+?\)" arch/blackfin/kernel/traps.c: symname = kallsyms_lookup(address, &symsize, &offset, &modname, namebuf); arch/powerpc/xmon/xmon.c: name = kallsyms_lookup(pc, &size, &offset, NULL, tmpstr); arch/sh/kernel/cpu/sh5/unwind.c: sym = kallsyms_lookup(pc, NULL, &offset, NULL, namebuf); arch/x86/kernel/ftrace.c: kallsyms_lookup((unsigned long) syscall, NULL, NULL, NULL, str); kernel/kprobes.c: sym = kallsyms_lookup((unsigned long)p->addr, NULL, kernel/lockdep.c: return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup((unsigned long)rec->ops->func, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); kernel/trace/ftrace.c: kallsyms_lookup(rec->ip, NULL, NULL, &modname, str); kernel/trace/ftrace.c: kallsyms_lookup(*ptr, NULL, NULL, NULL, str); kernel/trace/trace_functions.c: kallsyms_lookup(ip, NULL, NULL, NULL, str); kernel/trace/trace_output.c: kallsyms_lookup(address, NULL, NULL, NULL, str); Changes in v2: - Add the explanation of the %pf role for vsnprintf() and bstr_printf() - Change the comments by dropping the "asm offset" notion and only define the %pf against the actual function offset notion. Signed-off-by: Frederic Weisbecker Acked-by: Mike Frysinger Cc: Linus Torvalds Cc: Zhaolei Cc: Tom Zanussi Cc: Li Zefan Cc: Andrew Morton Cc: Steven Rostedt LKML-Reference: <20090415154817.GC5989@nowhere> Signed-off-by: Ingo Molnar commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba Author: Christoph Hellwig Date: Tue Feb 24 08:39:02 2009 -0500 xfs: fix getbmap vs mmap deadlock xfs_getbmap (or rather the formatters called by it) copy out the getbmap structures under the ilock, which can deadlock against mmap. This has been reported via bugzilla a while ago (#717) and has recently also shown up via lockdep. So allocate a temporary buffer to format the kernel getbmap structures into and then copy them out after dropping the locks. A little problem with this is that we limit the number of extents we can copy out by the maximum allocation size, but I see no real way around that. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit b8fd47aefa5f13df1edacbc7e68d9874635109e5 Author: J. Bruce Fields Date: Wed Apr 29 11:36:17 2009 -0400 nfsd: quiet compile warning Stephen Rothwell said: "Today's linux-next build (powerpc ppc64_defconfig) produced this new warning: fs/nfsd/nfs4state.c: In function 'EXPIRED_STATEID': fs/nfsd/nfs4state.c:2757: warning: comparison of distinct pointer types lacks a cast Caused by commit 78155ed75f470710f2aecb3e75e3d97107ba8374 ("nfsd4: distinguish expired from stale stateids")." Signed-off-by: J. Bruce Fields Reported-by: Stephen Rothwell commit c654b8a9cba6002aad1c01919e4928a79a4a6dcf Author: J. Bruce Fields Date: Thu Apr 16 17:33:25 2009 -0400 nfsd: support ext4 i_version ext4 supports a real NFSv4 change attribute, which is bumped whenever the ctime would be updated, including times when two updates arrive within a jiffy of each other. (Note that although ext4 has space for nanosecond-precision ctime, the real resolution is lower: it actually uses jiffies as the time-source.) This ensures clients will invalidate their caches when they need to. There is some fear that keeping the i_version up-to-date could have performance drawbacks, so for now it's turned on only by a mount option. We hope to do something better eventually. Signed-off-by: J. Bruce Fields Cc: Theodore Tso commit 3352d2c2d0540955a7bbb3421a28330af7f9d79c Author: J. Bruce Fields Date: Tue Apr 7 17:03:19 2009 -0700 nfsd4: delete obsolete xdr comments We don't need comments to tell us these macros are ugly. And we're long past trying to share any of this code with the BSD's. Signed-off-by: J. Bruce Fields commit bc749ca4c405d507e6ec6e3f3e5475e9a09faf0a Author: J. Bruce Fields Date: Tue Apr 7 16:55:27 2009 -0700 nfsd: eliminate ENCODE_HEAD macro This macro doesn't serve any useful purpose. Signed-off-by: J. Bruce Fields commit 4be4a00fb55879ef44b5914c189aecffa828deb4 Author: Christoph Hellwig Date: Wed Apr 29 10:50:48 2009 -0400 xfs: a couple getbmap cleanups - reshuffle various conditionals for data vs attr fork to make the code more readable - do fine-grainded goto-based error handling - exit early from conditionals instead of keeping a long else branch around - allow kmem_alloc to fail Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit b1fca26631f76a5e8b18435a43f5d82b8734da4b Author: Eric Paris Date: Mon Mar 23 18:22:09 2009 +0100 mutex: add atomic_dec_and_mutex_lock() Much like the atomic_dec_and_lock() function in which we take an hold a spin_lock if we drop the atomic to 0 this function takes and holds the mutex if we dec the atomic to 0. Signed-off-by: Eric Paris Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.410913479@chello.nl> Signed-off-by: Ingo Molnar commit 2ac00af7a6d2e65013e6f28bd1f37c0cd98ba134 Author: Olaf Weber Date: Fri Apr 17 16:12:45 2009 -0500 xfs: add more checks to superblock validation There had been reports where xfs filesystem was randomly corrupted with fsfuzzer, and xfs failed to handle it gracefully. This patch fixes couple of reported problem by providing additional checks in the superblock validation routine. Signed-off-by: Olaf Weber Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit f25181f598cf4a8ccc40a51d8b74f8b555ecddee Author: Lachlan McIlroy Date: Thu Apr 23 22:18:00 2009 -0400 xfs_file_last_byte() needs to acquire ilock We had some systems crash with this stack: [] ia64_leave_kernel+0x0/0x280 [] xfs_bmbt_get_startoff+0x0/0x20 [xfs] [] xfs_bmap_last_offset+0x210/0x280 [xfs] [] xfs_file_last_byte+0x70/0x1a0 [xfs] [] xfs_itruncate_start+0xc0/0x1a0 [xfs] [] xfs_inactive_free_eofblocks+0x290/0x460 [xfs] [] xfs_release+0x1b0/0x240 [xfs] [] xfs_file_release+0x70/0xa0 [xfs] [] __fput+0x1a0/0x420 [] fput+0x40/0x60 The problem here is that xfs_file_last_byte() does not acquire the inode lock and can therefore race with another thread that is modifying the extext list. While xfs_bmap_last_offset() is trying to lookup what was the last extent some extents were merged and the extent list shrunk so the index we lookup is now beyond the end of the extent list and potentially in a freed buffer. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ab7ef2e50a557af92f4f90689f51fadadafc16b2 Author: Paul Mackerras Date: Wed Apr 29 22:38:51 2009 +1000 perf_counter: powerpc: allow use of limited-function counters POWER5+ and POWER6 have two hardware counters with limited functionality: PMC5 counts instructions completed in run state and PMC6 counts cycles in run state. (Run state is the state when a hardware RUN bit is 1; the idle task clears RUN while waiting for work to do and sets it when there is work to do.) These counters can't be written to by the kernel, can't generate interrupts, and don't obey the freeze conditions. That means we can only use them for per-task counters (where we know we'll always be in run state; we can't put a per-task counter on an idle task), and only if we don't want interrupts and we do want to count in all processor modes. Obviously some counters can't go on a limited hardware counter, but there are also situations where we can only put a counter on a limited hardware counter - if there are already counters on that exclude some processor modes and we want to put on a per-task cycle or instruction counter that doesn't exclude any processor mode, it could go on if it can use a limited hardware counter. To keep track of these constraints, this adds a flags argument to the processor-specific get_alternatives() functions, with three bits defined: one to say that we can accept alternative event codes that go on limited counters, one to say we only want alternatives on limited counters, and one to say that this is a per-task counter and therefore events that are gated by run state are equivalent to those that aren't (e.g. a "cycles" event is equivalent to a "cycles in run state" event). These flags are computed for each counter and stored in the counter->hw.counter_base field (slightly wonky name for what it does, but it was an existing unused field). Since the limited counters don't freeze when we freeze the other counters, we need some special handling to avoid getting skew between things counted on the limited counters and those counted on normal counters. To minimize this skew, if we are using any limited counters, we read PMC5 and PMC6 immediately after setting and clearing the freeze bit. This is done in a single asm in the new write_mmcr0() function. The code here is specific to PMC5 and PMC6 being the limited hardware counters. Being more general (e.g. having a bitmap of limited hardware counter numbers) would have meant more complex code to read the limited counters when freezing and unfreezing the normal counters, with conditional branches, which would have increased the skew. Since it isn't necessary for the code to be more general at this stage, it isn't. This also extends the back-ends for POWER5+ and POWER6 to be able to handle up to 6 counters rather than the 4 they previously handled. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Robert Richter LKML-Reference: <18936.19035.163066.892208@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 98144511427c192e4249ff66a3f9debc55c59411 Author: Ingo Molnar Date: Wed Apr 29 14:52:50 2009 +0200 perf_counter: add/update copyrights Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 38105f0234d4795c77c7c6845916caf3a395c451 Author: Robert Richter Date: Wed Apr 29 12:47:26 2009 +0200 perf_counter: update 'perf top' documentation The documentation about the perf-top build was outdated after perfstat has been implemented. This updates it. [ Impact: update documentation ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-30-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 19d84dab55a383d75c885b5c1a618f5ead96f2f6 Author: Robert Richter Date: Wed Apr 29 12:47:25 2009 +0200 perf_counter, x86: remove unused function argument in intel_pmu_get_status() The mask argument is unused and thus can be removed. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-29-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit ef7b3e09ffdcd5200aea9523f6b56d331d1c4fc0 Author: Robert Richter Date: Wed Apr 29 12:47:24 2009 +0200 perf_counter, x86: remove vendor check in fixed_mode_idx() The function fixed_mode_idx() is used generically. Now it checks the num_counters_fixed value instead of the vendor to decide if fixed counters are present. [ Impact: generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-28-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit c619b8ffb1cec6a431687a35695dc6fd292a79e6 Author: Robert Richter Date: Wed Apr 29 12:47:23 2009 +0200 perf_counter, x86: introduce max_period variable In x86 pmus the allowed counter period to programm differs. This introduces a max_period value and allows the generic implementation for all models to check the max period. [ Impact: generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-27-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4b7bfd0d276da3a006d37e85d3cf900d7a14ae2a Author: Robert Richter Date: Wed Apr 29 12:47:22 2009 +0200 perf_counter, x86: return raw count with x86_perf_counter_update() To check on AMD cpus if a counter overflows, the upper bit of the raw counter value must be checked. This value is already internally available in x86_perf_counter_update(). Now, the value is returned so that it can be used directly to check for overflows. [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-26-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit a29aa8a7ff93e4196d558036928597e68337dd8d Author: Robert Richter Date: Wed Apr 29 12:47:21 2009 +0200 perf_counter, x86: implement the interrupt handler for AMD cpus This patch implements the interrupt handler for AMD performance counters. In difference to the Intel pmu, there is no single status register and also there are no fixed counters. This makes the handler very different and it is useful to make the handler vendor specific. To check if a counter is overflowed the upper bit of the counter is checked. Only counters where the active bit is set are checked. With this patch throttling is enabled for AMD performance counters. This patch also reenables Linux performance counters on AMD cpus. [ Impact: re-enable perfcounters on AMD CPUs ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-25-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 85cf9dba92152bb4edec118b2f4f0be1ae7fdcab Author: Robert Richter Date: Wed Apr 29 12:47:20 2009 +0200 perf_counter, x86: change and remove pmu initialization checks Some functions are only called if the pmu was proper initialized. That initalization checks can be removed. The way to check initialization changed too. Now, the pointer to the interrupt handler is checked. If it exists the pmu is initialized. This also removes a static variable and uses struct x86_pmu as only data source for the check. [ Impact: simplify code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-24-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit d43698918bd46c71d494555fb92195fbea1fcb6c Author: Robert Richter Date: Wed Apr 29 12:47:19 2009 +0200 perf_counter, x86: rework counter disable functions As for the enable function, this patch reworks the disable functions and introduces x86_pmu_disable_counter(). The internal function i/f in struct x86_pmu changed too. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-23-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 7c90cc45f89af4dd4617f97d452740ad95b800d5 Author: Robert Richter Date: Wed Apr 29 12:47:18 2009 +0200 perf_counter, x86: rework counter enable functions There is vendor specific code in generic x86 code, and there is vendor specific code that could be generic. This patch introduces x86_pmu_enable_counter() for x86 generic code. Fixed counter code for Intel is moved to Intel only functions. In the end, checks and calls via function pointers were reduced to the necessary. Also, the internal function i/f changed. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-22-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 6f00cada07bb5da7f751929d3173494dcc5446cc Author: Robert Richter Date: Wed Apr 29 12:47:17 2009 +0200 perf_counter, x86: consistent use of type int for counter index The type of counter index is sometimes implemented as unsigned int. This patch changes this to have a consistent usage of int. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-21-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 095342389e2ed8deed07b3076f990260ce3c7c9f Author: Robert Richter Date: Wed Apr 29 12:47:16 2009 +0200 perf_counter, x86: generic use of cpuc->active cpuc->active will now be used to indicate an enabled counter which implies also valid pointers of cpuc->counters[]. In contrast, cpuc->used only locks the counter, but it can be still uninitialized. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-20-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 93904966934193204ad08e951f806d5631c29eb3 Author: Robert Richter Date: Wed Apr 29 12:47:15 2009 +0200 perf_counter, x86: rename cpuc->active_mask This is to have a consistent naming scheme with cpuc->used. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-19-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit bb775fc2d1dcd1aa6eafde37a8289ba2d80783aa Author: Robert Richter Date: Wed Apr 29 12:47:14 2009 +0200 perf_counter, x86: make x86_pmu_read() static inline [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-18-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit faa28ae018ed004a22aa4a7704e04ccdde4a941e Author: Robert Richter Date: Wed Apr 29 12:47:13 2009 +0200 perf_counter, x86: make pmu version generic This makes the use of the version variable generic. Also, some debug messages have been generalized. [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-17-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 0933e5c6a680ba8d8d786a6f7fa377b7ec0d1e49 Author: Robert Richter Date: Wed Apr 29 12:47:12 2009 +0200 perf_counter, x86: move counter parameters to struct x86_pmu [ Impact: refactor and generalize code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-16-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4a06bd8508f65ad1dd5cd2046b85694813fa36a2 Author: Robert Richter Date: Wed Apr 29 12:47:11 2009 +0200 perf_counter, x86: make x86_pmu data a static struct Instead of using a pointer to reference to the x86 pmu we now have one single data structure that is initialized at the beginning. This saves the pointer access when using this memory. [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-15-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 72eae04d3a3075c26d39e1e685acfc8e8c29db64 Author: Robert Richter Date: Wed Apr 29 12:47:10 2009 +0200 perf_counter, x86: modify initialization of struct x86_pmu This patch adds an error handler and changes initialization of struct x86_pmu. No functional changes. Needed for follow-on patches. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-14-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 55de0f2e57994b525324bf0d04d242d9358a2417 Author: Robert Richter Date: Wed Apr 29 12:47:09 2009 +0200 perf_counter, x86: rename intel only functions [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-13-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 26816c287e13eedc67bc4ed0cd40c138314b7c7d Author: Robert Richter Date: Wed Apr 29 12:47:08 2009 +0200 perf_counter, x86: rename __hw_perf_counter_set_period into x86_perf_counter_set_period [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-12-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit dee5d9067ca78b317538fd67930be4e09a83dbc5 Author: Robert Richter Date: Wed Apr 29 12:47:07 2009 +0200 perf_counter, x86: remove ack_status() from struct x86_pmu This function is Intel only and not necessary for AMD cpus. [ Impact: simplify code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-11-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit b7f8859a8ed1937e2139c17b84878f1d413fa659 Author: Robert Richter Date: Wed Apr 29 12:47:06 2009 +0200 perf_counter, x86: remove get_status() from struct x86_pmu This function is Intel only and not necessary for AMD cpus. [ Impact: simplify code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-10-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 39d81eab2374d71b2d9c82f66258a1a4f57ddd2e Author: Robert Richter Date: Wed Apr 29 12:47:05 2009 +0200 perf_counter, x86: make interrupt handler model specific This separates the perfcounter interrupt handler for AMD and Intel cpus. The AMD interrupt handler implementation is a follow-on patch. [ Impact: refactor and clean up code ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-9-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 5f4ec28ffe77c840354cce1820a3436106e9e0f1 Author: Robert Richter Date: Wed Apr 29 12:47:04 2009 +0200 perf_counter, x86: rename struct pmc_x86_ops into struct x86_pmu This patch renames struct pmc_x86_ops into struct x86_pmu. It introduces a structure to describe an x86 model specific pmu (performance monitoring unit). It may contain ops and data. The new name of the structure fits better, is shorter, and thus better to handle. Where it was appropriate, names of function and variable have been changed too. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-8-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4aeb0b4239bb3b67ed402cb9cef3e000c892cadf Author: Robert Richter Date: Wed Apr 29 12:47:03 2009 +0200 perfcounters: rename struct hw_perf_counter_ops into struct pmu This patch renames struct hw_perf_counter_ops into struct pmu. It introduces a structure to describe a cpu specific pmu (performance monitoring unit). It may contain ops and data. The new name of the structure fits better, is shorter, and thus better to handle. Where it was appropriate, names of function and variable have been changed too. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-7-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 527e26af3741a2168986d8b82653ffe173891324 Author: Robert Richter Date: Wed Apr 29 12:47:02 2009 +0200 perf_counter, x86: protect per-cpu variables with compile barriers only Per-cpu variables needn't to be protected with cpu barriers (smp_wmb()). Protection is only needed for preemption on the same cpu (rescheduling or the nmi handler). This can be done using a compiler barrier only. [ Impact: micro-optimization ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-6-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4295ee62660b13ddb87d41539f49b239e6e7d56f Author: Robert Richter Date: Wed Apr 29 12:47:01 2009 +0200 perf_counter, x86: rework pmc_amd_save_disable_all() and pmc_amd_restore_all() MSR reads and writes are expensive. This patch adds checks to avoid its usage where possible. [ Impact: micro-optimization on AMD CPUs ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-5-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 4138960a9251a265002b5cf07e671a49f8495381 Author: Robert Richter Date: Wed Apr 29 12:47:00 2009 +0200 perf_counter, x86: add default path to cpu detection This quits hw counter initialization immediately if no cpu is detected. [ Impact: cleanup ] Signed-off-by: Robert Richter Cc: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <1241002046-8832-4-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit 829b42dd395c5801f6ae87da87ecbdcfd5ef1a6c Author: Robert Richter Date: Wed Apr 29 12:46:59 2009 +0200 perf_counter, x86: declare perf_max_counters only for CONFIG_PERF_COUNTERS This is only needed for CONFIG_PERF_COUNTERS enabled. [ Impact: cleanup ] Signed-off-by: Robert Richter Acked-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1241002046-8832-3-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit da1a776be1ac7f78bb30ececbec4c1383163b079 Author: Robert Richter Date: Wed Apr 29 12:46:58 2009 +0200 perf_counter, x86: remove X86_FEATURE_ARCH_PERFMON flag for AMD cpus X86_FEATURE_ARCH_PERFMON is an Intel hardware feature that does not work on AMD CPUs. The flag is now only used in Intel specific code (especially initialization). [ Impact: refactor code ] Signed-off-by: Robert Richter Acked-by: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1241002046-8832-2-git-send-email-robert.richter@amd.com> Signed-off-by: Ingo Molnar commit e7fd5d4b3d240f42c30a9e3d20a4689c4d3a795a Merge: 1130b02 56a50ad Author: Ingo Molnar Date: Wed Apr 29 14:46:59 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: This brach was on -rc1, refresh it to almost-rc4 to pick up the latest upstream fixes. Signed-off-by: Ingo Molnar commit 50fa610a3b6ba7cf91d7a92229177dfaff2b81a1 Author: David Howells Date: Tue Apr 28 15:01:38 2009 +0100 sched: Document memory barriers implied by sleep/wake-up primitives Add a section to the memory barriers document to note the implied memory barriers of sleep primitives (set_current_state() and wrappers) and wake-up primitives (wake_up() and co.). Also extend the in-code comments on the wake_up() functions to note these implied barriers. [ Impact: add documentation ] Signed-off-by: David Howells Cc: Oleg Nesterov Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <20090428140138.1192.94723.stgit@warthog.procyon.org.uk> Signed-off-by: Ingo Molnar commit a0e39ed378fb6ba916522764cd508fa7d42ad495 Author: Heiko Carstens Date: Wed Apr 29 13:51:39 2009 +0200 tracing: fix build failure on s390 "tracing: create automated trace defines" causes this compile error on s390, as reported by Sachin Sant against linux-next: kernel/built-in.o: In function `__do_softirq': (.text+0x1c680): undefined reference to `__tracepoint_softirq_entry' This happens because the definitions of the softirq tracepoints were moved from kernel/softirq.c to kernel/irq/handle.c. Since s390 doesn't support generic hardirqs handle.c doesn't get compiled and the definitions are missing. So move the tracepoints to softirq.c again. [ Impact: fix build failure on s390 ] Reported-by: Sachin Sant Signed-off-by: Heiko Carstens Cc: Steven Rostedt Cc: fweisbec@gmail.com LKML-Reference: <20090429135139.5fac79b8@osiris.boeblingen.de.ibm.com> Signed-off-by: Ingo Molnar commit 8b3725621074040d380664964ffbc40610aef8c6 Author: Tom Zanussi Date: Tue Apr 28 03:04:59 2009 -0500 tracing/filters: a better event parser Replace the current event parser hack with a better one. Filters are no longer specified predicate by predicate, but all at once and can use parens and any of the following operators: numeric fields: ==, !=, <, <=, >, >= string fields: ==, != predicates can be combined with the logical operators: &&, || examples: "common_preempt_count > 4" > filter "((sig >= 10 && sig < 15) || sig == 17) && comm != bash" > filter If there was an error, the erroneous string along with an error message can be seen by looking at the filter e.g.: ((sig >= 10 && sig < 15) || dsig == 17) && comm != bash ^ parse_error: Field not found Currently the caret for an error always appears at the beginning of the filter; a real position should be used, but the error message should be useful even without it. To clear a filter, '0' can be written to the filter file. Filters can also be set or cleared for a complete subsystem by writing the same filter as would be written to an individual event to the filter file at the root of the subsytem. Note however, that if any event in the subsystem lacks a field specified in the filter being set, the set will fail and all filters in the subsytem are automatically cleared. This change from the previous version was made because using only the fields that happen to exist for a given event would most likely result in a meaningless filter. Because the logical operators are now implemented as predicates, the maximum number of predicates in a filter was increased from 8 to 16. [ Impact: add new, extended trace-filter implementation ] Signed-off-by: Tom Zanussi Acked-by: Steven Rostedt Cc: fweisbec@gmail.com Cc: Li Zefan LKML-Reference: <1240905899.6416.121.camel@tropicana> Signed-off-by: Ingo Molnar commit a118e4d1402f1349fe3d953493e4168a300a752d Author: Tom Zanussi Date: Tue Apr 28 03:04:53 2009 -0500 tracing/filters: distinguish between signed and unsigned fields The new filter comparison ops need to be able to distinguish between signed and unsigned field types, so add an is_signed flag/param to the event field struct/trace_define_fields(). Also define a simple macro, is_signed_type() to determine the signedness at compile time, used in the trace macros. If the is_signed_type() macro won't work with a specific type, a new slightly modified version of TRACE_FIELD() called TRACE_FIELD_SIGN(), allows the signedness to be set explicitly. [ Impact: extend trace-filter code for new feature ] Signed-off-by: Tom Zanussi Acked-by: Steven Rostedt Cc: fweisbec@gmail.com Cc: Li Zefan LKML-Reference: <1240905893.6416.120.camel@tropicana> Signed-off-by: Ingo Molnar commit 30e673b230f9d556eb81ef68a7b1a08c8b3b142c Author: Tom Zanussi Date: Tue Apr 28 03:04:47 2009 -0500 tracing/filters: move preds into event_filter object Create a new event_filter object, and move the pred-related members out of the call and subsystem objects and into the filter object - the details of the filter implementation don't need to be exposed in the call and subsystem in any case, and it will also help make the new parser implementation a little cleaner. [ Impact: refactor trace-filter code to prepare for new features ] Signed-off-by: Tom Zanussi Acked-by: Steven Rostedt Cc: fweisbec@gmail.com Cc: Li Zefan LKML-Reference: <1240905887.6416.119.camel@tropicana> Signed-off-by: Ingo Molnar commit fd0731944333db6e9e91b6954c6ef95f4b71ab04 Author: Ingo Molnar Date: Wed Apr 29 12:56:58 2009 +0200 x86, vmlinux.lds: fix relocatable symbols __init_begin/_end symbols should be inside sections as well, otherwise the relocatable kernel gets confused when freeing init sections in the wrong place. [ Impact: fix bootup crash ] Cc: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <20090429105056.GA28720@uranus.ravnborg.org> Signed-off-by: Ingo Molnar commit 0f9a623dd6c9b5b4dd00c232f29525bfc7a8ecf2 Author: Stuart Bennett Date: Tue Apr 28 20:17:51 2009 +0100 tracing: x86, mmiotrace: only register for die notifier when tracer active Follow up to afcfe024aebd74b0984a41af9a34e009cf5badaf in Linus' tree ("x86: mmiotrace: quieten spurious warning message") Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-5-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 46e91d00b1165b14b484aa33800e1bba0794ae1a Author: Stuart Bennett Date: Tue Apr 28 20:17:50 2009 +0100 tracing: x86, mmiotrace: refactor clearing/restore of page presence * change function names to clear_* from set_*: in reality we only clear and restore page presence, and never unconditionally set present. Using clear_*({true, false}, ...) is therefore more honest than set_*({false, true}, ...) * upgrade presence storage to pteval_t: doing user-space tracing will require saving and manipulation of the _PAGE_PROTNONE bit, in addition to the existing _PAGE_PRESENT changes, and having multiple bools stored and passed around does not seem optimal [ Impact: refactor, clean up mmiotrace code ] Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-4-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 0492e1bb8fe7d122901c9f3af75e537d4129712e Author: Stuart Bennett Date: Tue Apr 28 20:17:49 2009 +0100 tracing: x86, mmiotrace: code consistency/legibility improvement kmmio_probe being *p and kmmio_fault_page being sometimes *f and sometimes *p is not helpful. [ Impact: cleanup ] Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-3-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 91fd7fe809bdf4d8aa56559d17b9f25a1a6fe732 Author: Ingo Molnar Date: Wed Apr 29 10:58:38 2009 +0200 x86, vmlinux.lds: add copyright Acked-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-2-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 091e52c3551d3031343df24b573b770b4c6c72b6 Author: Sam Ravnborg Date: Wed Apr 29 09:47:29 2009 +0200 x86, vmlinux.lds: unify remaining parts 32 bit: - explicit page align .bss - move ALING() out of .brk output section - discard *(.eh_frame) 64 bit: - move ALIGN() out of .bss output section - move ALIGN() out of .brk output section - use a dedicated section to define _end [ Impact: unify and fix section alignments in linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-13-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 9d16e78318f174fd4b07916a93e41749d5199267 Author: Sam Ravnborg Date: Wed Apr 29 09:47:28 2009 +0200 x86, vmlinux.lds: unify percpu 32 bit: - move __init_end outside the .bss output section It really did not belong in there [ Impact: 64-bit: cleanup, 32-bit: refactor linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-12-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit bf6a57418d5445c98047edbec022c9e54d1526e6 Author: Sam Ravnborg Date: Wed Apr 29 09:47:27 2009 +0200 x86, vmlinux.lds: unify .exit.* and .init.ramfs [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-11-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit ae61836289a415351caa524d328110aaeae100d4 Author: Sam Ravnborg Date: Wed Apr 29 09:47:26 2009 +0200 x86, vmlinux.lds: unify parainstructions 32 bit: - increase alignment from 4 to 8 for .parainstructions - increase alignment from 4 to 8 for .altinstructions 64 bit: - move ALIGN() outside output section for .altinstructions None of the above should result in any functional change. [ Impact: refactor and unify linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-10-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit e58bdaa8f810332e5c1760ce496b01e07d51642c Author: Sam Ravnborg Date: Wed Apr 29 09:47:25 2009 +0200 x86, vmlinux.lds: unify first part of initdata 32-bit: - Move definition of __init_begin outside output_section because it covers more than one section - Move ALIGN() for end-of-section inside .smp_locks output section. Same effect but the intent is better documented that we need both start and end aligned. 64-bit: - Move ALIGN() outside output section in .init.setup - Deleted unused __smp_alt_* symbols None of the above should result in any functional change. [ Impact: refactor and unify linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-9-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit ff6f87e1626e10beef675084c9b5384a9477e3d5 Author: Sam Ravnborg Date: Wed Apr 29 09:47:24 2009 +0200 x86, vmlinux.lds: move vsyscall output sections [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-8-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 1f6397bac55040cd520d9eaf299e155a7aa01d5f Author: Sam Ravnborg Date: Wed Apr 29 09:47:23 2009 +0200 x86, vmlinux.lds: unify data output sections For 64 bit the following functional changes are introduced: - .data.page_aligned has moved - .data.cacheline_aligned has moved - .data.read_mostly has moved - ALIGN() moved out of output section for .data.cacheline_aligned - ALIGN() moved out of output section for .data.page_aligned Notice that 32 bit and 64 bit has different location of _edata. .data_nosave is 32 bit only as 64 bit is special due to PERCPU. [ Impact: 32-bit: cleanup, 64-bit: use 32-bit linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-7-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 448bc3ab0d03e77fee8e4264de0d001fc87bc164 Author: Sam Ravnborg Date: Wed Apr 29 09:47:22 2009 +0200 x86, vmlinux.lds: unify exception table [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-6-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit dfc20895d944cfa81d8ff00809b68ecb8f72cbb0 Author: Sam Ravnborg Date: Wed Apr 29 09:47:21 2009 +0200 x86, vmlinux.lds: unify .text output sections 32 bit x86 had a dedicated .text.head output section, whereas 64 bit had it all in a single output section. In the unified version the dedicated .text.head output section was kept to have full control over the head code. 32 bit: - Moved definition of _stext to the linker script. The definition is located _after_ .text.page_aligned as this is what 32 bit did before. The ALIGN(8) was introduced so we hit the exact same address (on the tested config) before and after the move. I assume that it is a bug that _stext did not cover the .text.page_aligned section - if this is true it can be fixed in a follow-up patch (and the ugly ALIGN() can be dropped). [ Impact: 64-bit: cleanup, 32-bit: use the 64-bit linker script ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-5-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 444e0ae4831f99ba25062d9a5ccb7117c62841a0 Author: Sam Ravnborg Date: Wed Apr 29 09:47:20 2009 +0200 x86, vmlinux.lds: unify start/end of SECTIONS [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-4-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit afb8095a7eab32e5760613fa73d2f80a39cc45bf Author: Sam Ravnborg Date: Wed Apr 29 09:47:19 2009 +0200 x86, vmlinux.lds: unify PHDRS PHDRS are not equal for the two - so use ifdefs to cover up for that. On the assumption that they may become equal the ifdef is inside the PHDRS definiton. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-3-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit 17ce265d6a1789eae5eb739a3bb7fcffdb3e87c5 Author: Sam Ravnborg Date: Wed Apr 29 09:47:18 2009 +0200 x86, vmlinux.lds: unify header/footer Merge everything except PHDRS and SECTIONS into vmlinux.lds.S. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-2-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit aee6a166a5401dcfcb17fcdc055e5edf2a4f4042 Author: Sam Ravnborg Date: Wed Apr 29 09:47:17 2009 +0200 x86: beautify vmlinux_32.lds.S Beautify vmlinux_32.lds.S: - Use tabs for indent - Located curly braces like in C code - Rearranged a few comments To see actual differences use "git diff -b" which ignore 'whitespace' changes. The beautification is done to prepare a unification of the _32 and _64 variants of the linker scripts. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <1240991249-27117-1-git-send-email-sam@ravnborg.org> Signed-off-by: Ingo Molnar commit dd4d8ca6446538a904127838cb6c9a4cffe690f7 Author: Don Skidmore Date: Wed Apr 29 00:22:31 2009 -0700 ixgbe: Use pci_wake_from_d3() instead of multiple pci_enable_wake() We were calling pci_enable_wake() twice in a row for both D3_hot and D3_cold. This replaces those calls with a call to pci_wake_from_d3() to avoid issues with PCI PM vs ordering constraints. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4ed0d3e6c64cfd9ba4ceb2099b10d1cf8ece4320 Author: Fenghua Yu Date: Fri Apr 24 17:30:20 2009 -0700 Intel IOMMU Pass Through Support The patch adds kernel parameter intel_iommu=pt to set up pass through mode in context mapping entry. This disables DMAR in linux kernel; but KVM still runs on VT-d and interrupt remapping still works. In this mode, kernel uses swiotlb for DMA API functions but other VT-d functionalities are enabled for KVM. KVM always uses multi level translation page table in VT-d. By default, pass though mode is disabled in kernel. This is useful when people don't want to enable VT-d DMAR in kernel but still want to use KVM and interrupt remapping for reasons like DMAR performance concern or debug purpose. Signed-off-by: Fenghua Yu Acked-by: Weidong Han Signed-off-by: David Woodhouse commit f7185c71234434d48b96f9a0387737df1759a4af Author: Dhananjay Phadke Date: Tue Apr 28 15:29:11 2009 +0000 netxen: fix firmware download o hold the firmware in memory across suspend, since filesystem may not be up after resuming. o reset the chip after requesting firmware, to minimize downtime for NC-SI. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4ea528a151549df795c984649d75860ea40390bd Author: Dhananjay Phadke Date: Tue Apr 28 15:29:10 2009 +0000 netxen: refactor netxen_recv_context struct o move related fields into netxen_recv_context struct. o allocate rx buffer and descriptor rings dynamically. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5103c9f7874506cb40fc3c8d3f22486d3c4d91aa Author: Dhananjay Phadke Date: Tue Apr 28 15:29:09 2009 +0000 netxen: fix link event handling Firmware starting 4.0.402 started supporting link events, disable it for older firmwares. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7d7d2b803159d4edeb051b0e5efbc1a8d9ef1c67 Author: Steven Rostedt Date: Mon Apr 27 12:37:49 2009 -0400 ring-buffer: fix printk output The warning output in trace_recursive_lock uses %d for a long when it should be %ld. [ Impact: fix compile warning ] Signed-off-by: Steven Rostedt commit f2957f1f196b0217644a17c1379855a118a37d72 Author: Steven Rostedt Date: Wed Apr 29 00:26:30 2009 -0400 tracing: have splice only copy full pages Splice works with pages, it is much more effecient to use an entire page than to copy bits over several pages. Using logdev to trace the internals of the splice mechanism, I was able to see that splice can be very aggressive. When tracing is occurring, and the reader caught up to the writer, and the writer is on the reader page, the reader will copy what is there into the splice page. Splice may iterate over several pages and if the writer is still writing to the page, the reader will keep copying bits to new pages to pass to userspace. This patch changes it to only pass data to userspace if the page is full (the writer has left the page). This has a small side effect that splice can not read a partial page, and must wait for the page to fill. This should not be an issue. If tracing has stopped, then a use of "read" will still read all of the page. [ Impact: better performance for ring buffer splice code ] Signed-off-by: Steven Rostedt commit 93459c6cb9816c52200993d29dd18cea1daee335 Author: Steven Rostedt Date: Wed Apr 29 00:23:13 2009 -0400 tracing: only add splice page if entries exist The splice code allocates a page even when the ring buffer is empty. It detects the ring buffer being empty when it it fails to copy anything from the ring buffer into the page. This patch adds a check to see if there is anything in the ring buffer before allocating a page. Thanks to logdev for letting me trace the tracer to find this. [ Impact: speed up due to removing unnecessary allocation ] Signed-off-by: Steven Rostedt commit 5beae6efd1004b44c3e257dc96087978e4c763c1 Author: Steven Rostedt Date: Wed Apr 29 00:16:21 2009 -0400 tracing: fix ref count in splice pages The pages allocated for the splice binary buffer did not initialize the ref count correctly. This caused pages not to be freed and causes a drastic memory leak. Thanks to logdev I was able to trace the tracer to find where the leak was. [ Impact: stop memory leak when using splice ] Signed-off-by: Steven Rostedt commit 6d0485a99366d4e0e7e725f14995c74cb7ca4499 Author: Nicolas Ferre Date: Tue Mar 31 17:13:15 2009 +0100 [ARM] 5438/1: AT91: manage clock by functionality instead of CPUs In clock.c file the clock management is grouped by cpu with cpu_is_xxx() function. This lead to some kind of difficulties to read this file and maintainability issues as the number of AT91 cpus & PLLs/clocks is growing. In this patch, I try to group clock functionality together and match cpus with this functionality set. An update to at91_pmc.h is needed to cover some new PMC possibilities (and some update in comments). Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit d98aac7592114241f378bc8d5b3e424cced7ded2 Author: Linus Walleij Date: Mon Apr 27 10:21:46 2009 +0100 [ARM] 5480/1: U300-v5 integrate into the ARM architecture This hooks the U300 support into Kbuild and makes a small hook in mmu.c for supporting an odd memory alignment with shared memory on these systems. This is rebased to RMK:s GIT HEAD. This patch tries to add the Kconfig option in alphabetic order by option text and the Makefile entry after config symbol. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bb3cee2b35d2b9edab71997bd06040ff37483e08 Author: Linus Walleij Date: Thu Apr 23 10:22:13 2009 +0100 [ARM] 5473/1: U300 core machine support This adds core support for the ST-Ericsson U300 series platforms: U300, U330, U335 and U365. Supports memory mappings, interrupt controller, system timer (clocksource and clockevents), and binds to the existing drivers for the PrimeCells used in this design: PL190 (VIC), PL180 (MMC/SD host) and PL011 (UART). This is intented to serve as starting point for our mainling work, more patches to follow. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit cd27e485410aa7e7464b0126d968fe8c2a5c045b Author: Linus Walleij Date: Thu Apr 23 10:21:30 2009 +0100 [ARM] 5474/1: U300 clocking framework This adds the clocking framework and hooks into the clkdevice for U300 series platforms. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit bd41b99d4661e775ff152f2842782c43dbb30a59 Author: Linus Walleij Date: Thu Apr 23 21:15:04 2009 +0100 [ARM] 5471/2: U300 GPIO and PADMUX support This adds GPIO and PADMUX headers and implementation for the U300 platform. This is an implementation in isolation that depend on later patches in this series to plug into the framework. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit fa59440d0c7b5a2bcdc9e35f25fdac693e54c86a Author: Linus Walleij Date: Thu Apr 23 10:19:58 2009 +0100 [ARM] 5470/1: U300 register definitions This adds registers, interrupt numbers and IO mappings for the U300 series platforms core support, including basic block offsets and registers definitions for the system controller. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 72e31981a4e91f84c5b5e8994f5d25b1cf22b6cf Merge: 6be01cf 18cc8d8 Author: Mark Brown Date: Tue Apr 28 19:33:45 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit e06b64050ebea1220bca3c291d0431f5206b5c95 Author: Chuck Lever Date: Thu Apr 23 19:33:25 2009 -0400 NFSD: Stricter buffer size checking in fs/nfsd/nfsctl.c Clean up: For consistency, handle output buffer size checking in a other nfsctl functions the same way it's done for write_versions(). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 261758b5c3dfeac73ca364c47ed538f5ce4250ee Author: Chuck Lever Date: Thu Apr 23 19:33:18 2009 -0400 NFSD: Stricter buffer size checking in write_versions() While it's not likely today that there are enough NFS versions to overflow the output buffer in write_versions(), we should be more careful about detecting the end of the buffer. The number of NFS versions will only increase as NFSv4 minor versions are added. Note that this API doesn't behave the same as portlist. Here we attempt to display as many versions as will fit in the buffer, and do not provide any indication that an overflow would have occurred. I don't have any good rationale for that. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 3d72ab8fdd44c872633b210dd1a4afd2910d0bbb Author: Chuck Lever Date: Thu Apr 23 19:33:10 2009 -0400 NFSD: Stricter buffer size checking in write_recoverydir() While it's not likely a pathname will be longer than SIMPLE_TRANSACTION_SIZE, we should be more careful about just plopping it into the output buffer without bounds checking. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 017cb47f46722f29d101a709a2094d151111ed6d Author: Chuck Lever Date: Thu Apr 23 19:33:03 2009 -0400 SUNRPC: Clean up one_sock_name() Clean up svc_one_sock_name() by setting up automatic variables for frequently used expressions. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 58de2f86585dd8fc785aca6625adee32af84b8d7 Author: Chuck Lever Date: Thu Apr 23 19:32:55 2009 -0400 SUNRPC: Support PF_INET6 in one_sock_name() Add an arm to the switch statement in svc_one_sock_name() so it can construct the name of PF_INET6 sockets properly. Signed-off-by: Chuck Lever Cc: Aime Le Rouzic Signed-off-by: J. Bruce Fields commit e7942b9f2586fb15e1b898acc7c198ffd60aee4e Author: Chuck Lever Date: Thu Apr 23 19:32:48 2009 -0400 SUNRPC: Switch one_sock_name() to use snprintf() Use snprintf() in one_sock_name() to prevent overflowing the output buffer. If the name doesn't fit in the buffer, the buffer is filled in with an empty string, and -ENAMETOOLONG is returned. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 8435d34dbbe75678c3cdad3d53b1e7996a79b3bf Author: Chuck Lever Date: Thu Apr 23 19:32:40 2009 -0400 SUNRPC: pass buffer size to svc_sock_names() Adjust the synopsis of svc_sock_names() to pass in the size of the output buffer. Add a documenting comment. This is a cosmetic change for now. A subsequent patch will make sure the buffer length is passed to one_sock_name(), where the length will actually be useful. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit bfba9ab4c64f0e5c33930711e6c073c285e01fcf Author: Chuck Lever Date: Thu Apr 23 19:32:33 2009 -0400 SUNRPC: pass buffer size to svc_addsock() Adjust the synopsis of svc_addsock() to pass in the size of the output buffer. Add a documenting comment. This is a cosmetic change for now. A subsequent patch will make sure the buffer length is passed to one_sock_name(), where the length will actually be useful. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 335c54bdc4d3bacdbd619ec95cd0b352435bd37f Author: Chuck Lever Date: Thu Apr 23 19:32:25 2009 -0400 NFSD: Prevent a buffer overflow in svc_xprt_names() The svc_xprt_names() function can overflow its buffer if it's so near the end of the passed in buffer that the "name too long" string still doesn't fit. Of course, it could never tell if it was near the end of the passed in buffer, since its only caller passes in zero as the buffer length. Let's make this API a little safer. Change svc_xprt_names() so it *always* checks for a buffer overflow, and change its only caller to pass in the correct buffer length. If svc_xprt_names() does overflow its buffer, it now fails with an ENAMETOOLONG errno, instead of trying to write a message at the end of the buffer. I don't like this much, but I can't figure out a clean way that's always safe to return some of the names, *and* an indication that the buffer was not long enough. The displayed error when doing a 'cat /proc/fs/nfsd/portlist' is "File name too long". Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit ea068bad27cefc71ab03230dbf01a8f8d98da5ba Author: Chuck Lever Date: Thu Apr 23 19:32:18 2009 -0400 NFSD: move lockd_up() before svc_addsock() Clean up. A couple of years ago, a series of commits, finishing with commit 5680c446, swapped the order of the lockd_up() and svc_addsock() calls in __write_ports(). At that time lockd_up() needed to know the transport protocol of the passed-in socket to start a listener on the same transport protocol. These days, lockd_up() doesn't take a protocol argument; it always starts both a UDP and TCP listener. It's now more straightforward to try the lockd_up() first, then do a lockd_down() if the svc_addsock() fails. Careful review of this code shows that the svc_sock_names() call is used only to close the just-opened socket in case lockd_up() fails. So it is no longer needed if lockd_up() is done first. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 0a5372d8a13c3f670bf7c9c4a68ab04c3664fa28 Author: Chuck Lever Date: Thu Apr 23 19:32:10 2009 -0400 NFSD: Finish refactoring __write_ports() Clean up: Refactor transport name listing out of __write_ports() to make it easier to understand and maintain. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c71206a7b4e829601e44c49d8a0f4df0fdfe9302 Author: Chuck Lever Date: Thu Apr 23 19:32:03 2009 -0400 NFSD: Note an additional requirement when passing TCP sockets to portlist User space must call listen(3) on SOCK_STREAM sockets passed into /proc/fs/nfsd/portlist, otherwise that listener is ignored. Document this. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 0b7c2f6fc7e06867885c7b0f256ff5bd494e0653 Author: Chuck Lever Date: Thu Apr 23 19:31:55 2009 -0400 NFSD: Refactor socket creation out of __write_ports() Clean up: Refactor the socket creation logic out of __write_ports() to make it easier to understand and maintain. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 82d565919aa4138bc481a7473491b71385af4018 Author: Chuck Lever Date: Thu Apr 23 19:31:48 2009 -0400 NFSD: Refactor portlist socket closing into a helper Clean up: Refactor the socket closing logic out of __write_ports() to make it easier to understand and maintain. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 4eb68c266cb1754ffa0040e882882680ece8cf34 Author: Chuck Lever Date: Thu Apr 23 19:31:40 2009 -0400 NFSD: Refactor transport addition out of __write_ports() Clean up: Refactor transport addition out of __write_ports() to make it easier to understand and maintain. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 4cd5dc751a5889b5b37aa88752e33a58d8f6b624 Author: Chuck Lever Date: Thu Apr 23 19:31:32 2009 -0400 NFSD: Refactor transport removal out of __write_ports() Clean up: Refactor transport removal out of __write_ports() to make it easier to understand and maintain. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit abc5c44d6284fab8fb21bcfc52c0f16f980637df Author: Chuck Lever Date: Thu Apr 23 19:31:25 2009 -0400 SUNRPC: Fix error return value of svc_addr_len() The svc_addr_len() helper function returns -EAFNOSUPPORT if it doesn't recognize the address family of the passed-in socket address. However, the return type of this function is size_t, which means -EAFNOSUPPORT is turned into a very large positive value in this case. The check in svc_udp_recvfrom() to see if the return value is less than zero therefore won't work at all. Additionally, handle_connect_req() passes this value directly to memset(). This could cause memset() to clobber a large chunk of memory if svc_addr_len() has returned an error. Currently the address family of these addresses, however, is known to be supported long before handle_connect_req() is called, so this isn't a real risk. Change the error return value of svc_addr_len() to zero, which fits in the range of size_t, and is safer to pass to memset() directly. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit dcf1a3573eae69937fb14462369c4d3e6f4a37f1 Author: H Hartley Sweeten Date: Wed Apr 22 20:18:19 2009 -0400 net/sunrpc/svc_xprt.c: fix sparse warnings Fix the following sparse warnings in net/sunrpc/svc_xprt.c. warning: symbol 'svc_recv' was not declared. Should it be static? warning: symbol 'svc_drop' was not declared. Should it be static? warning: symbol 'svc_send' was not declared. Should it be static? warning: symbol 'svc_close_all' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten Signed-off-by: J. Bruce Fields commit 4ba170c2bb77713e999ac6fb9ffe6ddd99d2f25a Author: Benny Halevy Date: Tue Apr 7 21:45:37 2009 +0300 update Documentation/filesystems/00-INDEX with new nfsd related docs. Signed-off-by: Benny Halevy Cc: James Lentini Signed-off-by: J. Bruce Fields commit edc953fa4ebc0265ef3b1754fe116a9fd4264e15 Author: Mathieu Desnoyers Date: Tue Apr 28 11:13:46 2009 -0400 x86: clean up alternative.h Alternative header duplicates assembly that could be merged in one single macro. Merging this into this macro also allows to directly declare ALTERNATIVE() statements within assembly code. Uses a __stringify() of the feature bits rather than passing a "i" operand. Leave the old %0 operand as-is (set to 0), unused to stay compatible with API. (v2: tab alignment fixes) [ Impact: cleanup ] Signed-off-by: Mathieu Desnoyers LKML-Reference: <20090428151346.GA31212@Krystal> Signed-off-by: Ingo Molnar commit cd891ae0305601bdb4d2e7e85282961c4ff256cd Author: Steven Rostedt Date: Tue Apr 28 11:39:34 2009 -0400 tracing: convert ftrace_dump spinlocks to raw ftrace_dump is used for printing out the contents of the ftrace ring buffer to the console on failure. Currently it uses a spinlock to synchronize the output from multiple failures on different CPUs. This spin lock currently is a normal spinlock and can cause issues with lockdep and lock tracing. This patch converts it to raw since it is for error handling only. The lock is local to the ftrace_dump and is not used by any other infrastructure. [ Impact: prevent ftrace_dump from locking up by internal tracing ] Signed-off-by: Steven Rostedt commit 6c31d55f755ff2bc1f7dc3b45c500032fe90aff8 Author: Kumar Gala Date: Tue Apr 28 08:04:10 2009 -0700 gianfar: Use memset instead of cacheable_memzero cacheable_memzero() is completely overkill for the clearing out the FCB block which is only 8-bytes. The compiler should easily optimize this with memset. Additionally, cacheable_memzero() only exists on ppc32 and thus breaks builds of gianfar on ppc64. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit ac5978e7f83a6cbd9a70282d6e39bd936a31b2bc Author: Arnaldo Carvalho de Melo Date: Tue Apr 28 08:03:26 2009 -0700 inet_diag: Remove dup assignments These are later assigned to other values without being used meanwhile. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 08cbf542bf24fb0481a54526b177347ae4046f5e Author: Tejun Heo Date: Tue Apr 14 10:54:53 2009 +0900 fuse: export symbols to be used by CUSE Export the following symbols for CUSE. fuse_conn_put() fuse_conn_get() fuse_conn_kill() fuse_send_init() fuse_do_open() fuse_sync_release() fuse_direct_io() fuse_do_ioctl() fuse_file_poll() fuse_request_alloc() fuse_get_req() fuse_put_request() fuse_request_send() fuse_abort_conn() fuse_dev_release() fuse_dev_operations Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit a325f9b92273d6c64ec56167905b951b9827ec33 Author: Tejun Heo Date: Tue Apr 14 10:54:52 2009 +0900 fuse: update fuse_conn_init() and separate out fuse_conn_kill() Update fuse_conn_init() such that it doesn't take @sb and move bdi registration into a separate function. Also separate out fuse_conn_kill() from fuse_put_super(). These will be used to implement cuse. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 797759aaf31351a1ab1b9130c4f180ce496f46c5 Author: Miklos Szeredi Date: Tue Apr 28 16:56:41 2009 +0200 fuse: don't use inode in fuse_file_poll Use ff->fc and ff->nodeid instead of file->f_dentry->d_inode in the fuse_file_poll() implementation. This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit d36f248710c05714f37d921258b630bd1456b99f Author: Miklos Szeredi Date: Tue Apr 28 16:56:39 2009 +0200 fuse: don't use inode in fuse_do_ioctl() helper Create a helper for sending an IOCTL request that doesn't use a struct inode. This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit 8b0797a4984de4406de25808e1a424344de543e4 Author: Miklos Szeredi Date: Tue Apr 28 16:56:39 2009 +0200 fuse: don't use inode in fuse_sync_release() Make fuse_sync_release() a generic helper function that doesn't need a struct inode pointer. This makes it suitable for use by CUSE. Change return value of fuse_release_common() from int to void. Signed-off-by: Miklos Szeredi commit 91fe96b403f8a0a4a8a045a39b1bd549b0da7941 Author: Miklos Szeredi Date: Tue Apr 28 16:56:37 2009 +0200 fuse: create fuse_do_open() helper for CUSE Create a helper for sending an OPEN request that doesn't need a struct inode pointer. Signed-off-by: Miklos Szeredi commit c7b7143c6342b8751d47b03a025ac5c0ac1ae809 Author: Miklos Szeredi Date: Tue Apr 28 16:56:37 2009 +0200 fuse: clean up args in fuse_finish_open() and fuse_release_fill() Move setting ff->fh, ff->nodeid and file->private_data outside fuse_finish_open(). Add ->open_flags member to struct fuse_file. This simplifies the argument passing to fuse_finish_open() and fuse_release_fill(), and paves the way for creating an open helper that doesn't need an inode pointer. Signed-off-by: Miklos Szeredi commit 2106cb18930312af9325d3418e138569c5b903cc Author: Miklos Szeredi Date: Tue Apr 28 16:56:37 2009 +0200 fuse: don't use inode in helpers called by fuse_direct_io() Use ff->fc and ff->nodeid instead of passing down the inode. This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit da5e4714578ff323f7a61af490fc3539e68f188b Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: add members to struct fuse_file Add new members ->fc and ->nodeid to struct fuse_file. This will aid in converting functions for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit d09cb9d7f6e4cb1dd0cf12ee0d352440291c74cf Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: prepare fuse_direct_io() for CUSE Move code operating on the inode out from fuse_direct_io(). This prepares this function for use by CUSE, where the inode is not owned by a fuse filesystem. Signed-off-by: Miklos Szeredi commit 2d698b070382442f817813b9dd0103034e5bca81 Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: clean up fuse_write_fill() Move out code from fuse_write_fill() which is not common to all callers. Remove two function arguments which become unnecessary. Also remove unnecessary memset(), the request is already initialized to zero. Signed-off-by: Miklos Szeredi commit b0be46ebf72ca7478c1c4bd0153c42f90e768a03 Author: Miklos Szeredi Date: Tue Apr 28 16:56:36 2009 +0200 fuse: use struct path in release structure Use struct path instead of separate dentry and vfsmount in req->misc.release. Signed-off-by: Miklos Szeredi commit 6b2db28a7a2da1064df9e179d9b6d07b0bfe156a Author: Tejun Heo Date: Tue Apr 14 10:54:49 2009 +0900 fuse: misc cleanups * fuse_file_alloc() was structured in weird way. The success path was split between else block and code following the block. Restructure the code such that it's easier to read and modify. * Unindent success path of fuse_release_common() to ease future changes. Signed-off-by: Tejun Heo Signed-off-by: Miklos Szeredi commit 1130b0296184bc21806225fd06d533515a99d2db Author: Peter Zijlstra Date: Tue Apr 28 14:56:18 2009 +0200 perf_counter tools: fix Documentation/perf_counter build error Mike Galbraith reported: > marge:..Documentation/perf_counter # make > CC builtin-stat.o > In file included from builtin-stat.c:71: > /usr/include/ctype.h:102: error: expected expression before ‘]’ token Remove the ctype.h include. Signed-off-by: Ingo Molnar commit 4278600644dee621bd50d7498e244b135612e0f6 Author: Paul Mundt Date: Tue Apr 28 23:12:10 2009 +0900 sh: register the rtc-generic platform device properly. The device registration was accidentally omitted, add it back in. Do some basic device probing as well, so this doesn't show up for platforms that tie in to the RTC interface properly. Signed-off-by: Paul Mundt commit 6a321cb370ad3db4ba6e405e638b3a42c41089b0 Author: Eric Dumazet Date: Tue Apr 28 04:43:42 2009 -0700 net: netif_tx_queue_stopped too expensive netif_tx_queue_stopped(txq) is most of the time false. Yet its cost is very expensive on SMP. static inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue) { return test_bit(__QUEUE_STATE_XOFF, &dev_queue->state); } I saw this on oprofile hunting and bnx2 driver bnx2_tx_int(). We probably should split "struct netdev_queue" in two parts, one being read mostly. __netif_tx_lock() touches _xmit_lock & xmit_lock_owner, these deserve a separate cache line. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cb6605c1e4d2a2eaffdde433fbfe1567ca688458 Author: Takashi Iwai Date: Tue Apr 28 13:03:19 2009 +0200 ALSA: hda - Fix a typo in patch_realtek.c again The commmit dfed0ef9b3ff9e37903920b6938ed33344ad0b3d was reverted accidentally by the merge of auto-detection fix patch. Fixed again now. Signed-off-by: Takashi Iwai commit 2a2ed0dfc9ec44a899c7d4672f73f2c045099118 Author: Takashi Iwai Date: Tue Apr 28 13:01:26 2009 +0200 ALSA: hda - Don't enable auto-mute but for speakers in patch_realtek.c Enable auto-muting in model=auto only for devices with HP and speakers. For devices with HP and line-outs, don't enable the auto-muting. Also, add a debug print to show the auto-mute feature. Signed-off-by: Takashi Iwai commit 56b581ea9591b5767b1e0204c6a06c7d0c49396e Author: Yinghai Lu Date: Mon Apr 27 18:02:46 2009 -0700 irq: make ht irq_desc more numa aware Try to get irq_desc on the same node as create_irq_nr(). [ Impact: optimization, make HT IRQs more NUMA-aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F655B6.8020109@kernel.org> Signed-off-by: Ingo Molnar commit d047f53a2ecce37e3bdf79eac5a326fbaadb3628 Author: Yinghai Lu Date: Mon Apr 27 18:02:23 2009 -0700 x86/irq: change MSI irq_desc to be more numa aware Try to get irq_desc on the home node in create_irq_nr(). v2: don't check if we can move it when sparse_irq is not used v3: use move_irq_des, if that node is not what we want [ Impact: optimization, make MSI IRQ descriptors more NUMA aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F6559F.7070005@kernel.org> Signed-off-by: Ingo Molnar commit 024154cfdd802654cb236a18c78b6e37351e2c49 Author: Yinghai Lu Date: Mon Apr 27 18:01:50 2009 -0700 irq: change io_apic_set_pci_routing() to use device parameter Make actual use of the device parameter passed down to io_apic_set_pci_routing() - to have the IRQ descriptor on the home node of the device. If no device has been passed down, we assume it's a platform device and use the boot node ID for the IRQ descriptor. [ Impact: optimization, make IO-APIC code more NUMA aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F6557E.3080101@kernel.org> Signed-off-by: Ingo Molnar commit a2f809b08ae4dddc1015c7dcd8659e5729e45b3e Author: Yinghai Lu Date: Mon Apr 27 18:01:20 2009 -0700 irq: change ACPI GSI APIs to also take a device argument We want to use dev_to_node() later on, to be aware of the 'home node' of the GSI in question. [ Impact: cleanup, prepare the IRQ code to be more NUMA aware ] Signed-off-by: Yinghai Lu Acked-by: Len Brown Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell Cc: Len Brown Cc: Bjorn Helgaas Cc: Tony Luck Cc: linux-acpi@vger.kernel.org Cc: linux-ia64@vger.kernel.org LKML-Reference: <49F65560.20904@kernel.org> Signed-off-by: Ingo Molnar commit 85ac16d033370caf6f48d743c8dc8103700f5cc5 Author: Yinghai Lu Date: Mon Apr 27 18:00:38 2009 -0700 x86/irq: change irq_desc_alloc() to take node instead of cpu This simplifies the node awareness of the code. All our allocators only deal with a NUMA node ID locality not with CPU ids anyway - so there's no need to maintain (and transform) a CPU id all across the IRq layer. v2: keep move_irq_desc related [ Impact: cleanup, prepare IRQ code to be NUMA-aware ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell Cc: Jeremy Fitzhardinge LKML-Reference: <49F65536.2020300@kernel.org> Signed-off-by: Ingo Molnar commit 57b150cce8e004ddd36330490a68bfb59b7271e9 Author: Yinghai Lu Date: Mon Apr 27 17:59:53 2009 -0700 irq: only update affinity if ->set_affinity() is sucessfull irq_set_affinity() and move_masked_irq() try to assign affinity before calling chip set_affinity(). Some archs are assigning it in ->set_affinity() again. We do something like: cpumask_cpy(desc->affinity, mask); desc->chip->set_affinity(mask); But in the failure path, affinity should not be touched - otherwise we'll end up with a different affinity mask despite the failure to migrate the IRQ. So try to update the afffinity only if set_affinity returns with 0. Also call irq_set_thread_affinity accordingly. v2: update after "irq, x86: Remove IRQ_DISABLED check in process context IRQ move" v3: according to Ingo, change set_affinity() in irq_chip should return int. v4: update comments by removing moving irq_desc code. [ Impact: fix /proc/irq/*/smp_affinity setting corner case bug ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F65509.60307@kernel.org> Signed-off-by: Ingo Molnar commit d5dedd4507d307eb3f35f21b6e16f336fdc0d82a Author: Yinghai Lu Date: Mon Apr 27 17:59:21 2009 -0700 irq: change ->set_affinity() to return status according to Ingo, change set_affinity() in irq_chip should return int, because that way we can handle failure cases in a much cleaner way, in the genirq layer. v2: fix two typos [ Impact: extend API ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell Cc: linux-arch@vger.kernel.org LKML-Reference: <49F654E9.4070809@kernel.org> Signed-off-by: Ingo Molnar commit fcef5911c7ea89b80d5bfc727f402f37c9eefd57 Author: Yinghai Lu Date: Mon Apr 27 17:58:23 2009 -0700 x86/irq: remove leftover code from NUMA_MIGRATE_IRQ_DESC The original feature of migrating irq_desc dynamic was too fragile and was causing problems: it caused crashes on systems with lots of cards with MSI-X when user-space irq-balancer was enabled. We now have new patches that create irq_desc according to device numa node. This patch removes the leftover bits of the dynamic balancer. [ Impact: remove dead code ] Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" Cc: Rusty Russell LKML-Reference: <49F654AF.8000808@kernel.org> Signed-off-by: Ingo Molnar commit 9ec4fa271faf2db3b8e1419c998da1ca6b094eb6 Author: Yinghai Lu Date: Mon Apr 27 17:57:18 2009 -0700 irq, cpumask: correct CPUMASKS_OFFSTACK typo and fix fallout CPUMASKS_OFFSTACK is not defined anywhere (it is CPUMASK_OFFSTACK). It is a typo and init_allocate_desc_masks() is called before it set affinity to all cpus... Split init_alloc_desc_masks() into all_desc_masks() and init_desc_masks(). Also use CPUMASK_OFFSTACK in alloc_desc_masks(). [ Impact: fix smp_affinity copying/setup when moving irq_desc between CPUs ] Signed-off-by: Yinghai Lu Acked-by: Rusty Russell Cc: Andrew Morton Cc: Suresh Siddha Cc: "Eric W. Biederman" LKML-Reference: <49F6546E.3040406@kernel.org> Signed-off-by: Ingo Molnar commit 8555a5948467e941acc34e8b1c30df4c1f2f5862 Author: Grant Likely Date: Tue Apr 28 02:11:53 2009 -0700 net: Fix ucc_geth.c handling of fixed-link w/o phy-connection-type property. Previous rework to ucc_geth.c to add of_mdio support (net: Rework ucc_geth driver to use of_mdio infrastructure) added a block of code which broke older openfirmware device trees which this case. This patch removes the offending blurb. Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 1d58ea30b141c95bd21fb39021d4b602f48b30be Author: Kumar Gala Date: Tue Apr 28 02:05:21 2009 -0700 fs_enet: Remove dead code CONFIG_DUET doesn't exist anymore, remove all the code that exists to support it. [ Simplify fs_init() even further -DaveM ] Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 8e0b842948156e3463879caed12b4ce51bed772e Author: Magnus Damm Date: Tue Apr 28 08:19:50 2009 +0000 sh: setup timers in late_time_init() This patch moves the SuperH timer setup code from time_init() to late_time_init(). Good things about this change: - interrupts: they are enabled at late_time_init() - mm: regular kmalloc() can be used at late_time_init() Together with moving to late_time_init() this patch changes the sh_cmt driver to always allocate with kmalloc(). This simplifies the code a bit and also fixes section mismatches. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5b644c7a218702668d7b610994e7dcbc3d4705d3 Author: Magnus Damm Date: Tue Apr 28 08:17:54 2009 +0000 clocksource: improve sh_cmt clocksource overflow handling This patch improves the sh_cmt clocksource handling. Currently the counter value is ignored in the case of overflow. With this patch the overflow flag is read before and after reading the counter, removing any counter value and overflow flag mismatch issues. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bc59fcda671ee15362986a902bbd90e218fe84c4 Author: Nelson, Shannon Date: Mon Apr 27 22:43:12 2009 +0000 ixgbe: Clear out stray tx work on link down Ayyappan at VMware noticed that we're missing this check from ixgbe which is in our other drivers. The difference with this implementation from our other drivers is that this checks all the tx queues rather than just tx[0]. Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 835462fc5d69adc948e8afb2073264888aaa0e2f Author: Nelson, Shannon Date: Mon Apr 27 22:42:54 2009 +0000 ixgbe: Interrupt management update for 82599 Update the interrupt management to correctly handle greater than 16 queue vectors. Signed-off-by: Shannon Nelson Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f8212f979f777af2a8e3a9deb0c11a9fcf35e305 Author: Alexander Duyck Date: Mon Apr 27 22:42:37 2009 +0000 ixgbe: enable HW RSC for 82599 This patch enables hardware receive side coalescing for 82599 hardware. 82599 can merge multiple frames from the same TCP/IP flow into a single structure that can span one ore more descriptors. The accumulated data is arranged similar to how jumbo frames are arranged with the exception that other packets can be interlaced inbetween. To overcome this issue a next pointer is included in the written back descriptor which indicates the next descriptor in the writeback sequence. This feature sets the NETIF_F_LRO flag and clearing it via the ethtool set flags operation will also disable hardware RSC. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 45a5ead0220cc7cc70f6961879decffbd0a54cc0 Author: Jesse Brandeburg Date: Mon Apr 27 22:36:35 2009 +0000 ixgbe: enable hardware offload for sctp Inspired by: Vlad Yasevich This is the code to enable ixgbe for hardware offload support of CRC32c on both transmit and receive of SCTP traffic. only 82599 supports this offload, not 82598. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b9473560c6d882e0fbd3a8817e906c847b11c722 Author: Jesse Brandeburg Date: Mon Apr 27 22:36:13 2009 +0000 igb: Enable SCTP checksum offloading Originally from: Vlad Yasevich This patch, both the driver portion and the sctp code was modified by Jesse Brandeburg and is Copyright(c) 2009 Intel Corporation. Thanks go to Vlad for starting this work. Intel 82576 chipset supports SCTP checksum offloading. This patch enables this functionality in the driver. A new NETIF feature is introduced for SCTP checksum offload. If the driver supports CRC32c checksum, it can set this feature flag. The hardware can offload both transmit and receive. Signed-off-by: Jesse Brandeburg Signed-off-by: Vlad Yasevich Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8dc92f7e2ecfd93f5c57da78594a7a5482e2c15e Author: Jesse Brandeburg Date: Mon Apr 27 22:35:52 2009 +0000 sctp: add feature bit for SCTP offload in hardware this is the sctp code to enable hardware crc32c offload for adapters that support it. Originally by: Vlad Yasevich modified by Jesse Brandeburg Signed-off-by: Jesse Brandeburg Signed-off-by: Vlad Yasevich Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 182ff8dfdb63e66ca81e4d3a4c746f8d578e5687 Author: Alexander Duyck Date: Mon Apr 27 22:35:33 2009 +0000 igb/ixgbe: remove unecessary checks for CHECKSUM_UNNECESSARY Both of these drivers do a check to verify ip_summed is set to CHECKSUM_UNNECESSARY prior to passing the packet to GRO. GRO itself already does such a check so it is redundant and can be removed as this will likely cause out of order issues when receiving a packet that didn't pass checksum validation. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2844f7975837d47fe7f20aa96c1df3bcecf91935 Author: Alexander Duyck Date: Mon Apr 27 22:35:14 2009 +0000 igb: make rxcsum configuration seperate from multiqueue The igb driver was being incorrectly setup to only allow disabling receive checksum if multiqueue was disabled. This change corrects that so that RXCSUM is configured regardless of queue configuration. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3935358ebcb8320965478c0e8ee070e1d65851c8 Author: Alexander Duyck Date: Mon Apr 27 22:34:54 2009 +0000 igb: reconfigure mailbox timeout logic This change updates the timeout logic so that it is not possible to have a sucessful check for message and still return an error if countdown = 0. Signed-off-by: Alexander Duyck Reported-by: Juha Leppanen Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 833cc67c7722e35863c6aaee9df56b442ef957ae Author: Magnus Damm Date: Mon Apr 27 21:32:16 2009 +0000 smsc911x: add fifo byteswap support V2 This is V2 of the smsc911x fifo byteswap patch. The smsc911x hardware supports both big and little and endian hardware configurations, and the linux smsc911x driver currently detects word order. For correct operation on big endian platforms lacking swapped byte lanes the following patch is needed. Only fifo data is swapped, register data does not require any swapping. Signed-off-by: Magnus Damm Acked-by: Steve Glendinning Signed-off-by: David S. Miller commit 52fbc1007eb071c40a367462476eee695b412578 Author: Jie Yang Date: Mon Apr 27 19:42:03 2009 +0000 atl1c: disable L1/L0s when link detected Disable L1/L0s when link detected. We enable L1/L0s when link connected before, but there is some hareware error on some platform. So just diable this feature when link connected. This feature is about power saving. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit 299f293b3428ae6d73406642cd7d41f08d524c83 Merge: 1103f9b 4a79ba3 Author: Takashi Iwai Date: Tue Apr 28 09:51:57 2009 +0200 Merge branch 'topic/hda-realtek-amp' into topic/hda commit 1103f9b241447845e63d798e6ba652b4d55b700c Merge: 3b1db01 7315613 Author: Takashi Iwai Date: Tue Apr 28 09:51:49 2009 +0200 Merge branch 'fix/hda' into topic/hda commit f68adec3c7155a8bbf32a90cb4c4d0737df045d9 Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 28 13:06:17 2009 +0900 mg_disk: use defines from While at it: - remove MG_REG_HEAD_MUST_BE_ON define - remove MG_REG_CTRL_INTR_ENABLE define - remove MG_REG_HEAD_LBA_MODE define - remove unused defines Cc: unsik Kim Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 8a11a789c39cd6f61de4243234cf44a46c23ffd0 Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 28 13:06:16 2009 +0900 mg_disk: fix dependency on libata Add local copies of ata_id_string() and ata_id_c_string() to mg_disk so there is no need for the driver to depend on ATA and SCSI. [ Impact: break dependency on libata by copying ata id string functions ] Cc: unsik Kim Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a03bb5a32fff4aa23f081a3cff7e98d4084104cd Author: Tejun Heo Date: Tue Apr 28 13:06:15 2009 +0900 mg_disk: clean up request completion paths mg_disk implements its own partial completion. Convert to standard block layer partial completion. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit eec9462088a26c046d4db3100796a340a50890b8 Author: Tejun Heo Date: Tue Apr 28 13:06:14 2009 +0900 mg_disk: fold mg_disk.h into mg_disk.c include/linux/mg_disk.h is used only by drivers/block/mg_disk.c. No reason to put it in a separate header. Fold it into mg_disk.c. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: unsik Kim Signed-off-by: Jens Axboe commit e138b4e08ef65771000fbe6d93d67e3960ff862b Author: Tejun Heo Date: Tue Apr 28 13:06:13 2009 +0900 swim: clean up request completion paths swim curiously tries to update request parameters before calling __blk_end_request() when __blk_end_request() will do it anyway and unnecessarily checks whether current_nr_sectors is zero right after fetching. Drop unnecessary stuff and use standard block layer mechanisms. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Laurent Vivier Signed-off-by: Jens Axboe commit 467ca759fc83fc35cb7d15aec0d74c62cffc4481 Author: Tejun Heo Date: Tue Apr 28 13:06:12 2009 +0900 swim3: clean up request completion paths swim3 curiously tries to update request parameters before calling __blk_end_request() when __blk_end_request() will do it anyway, and it updates request for partial completion manually instead of using blk_update_request(). Also, it does some spurious checks on rq such as testing whether rq->sector is negative or current_nr_sectors is zero right after fetching. Drop unnecessary stuff and use standard block layer mechanisms. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Benjamin Herrenschmidt Signed-off-by: Jens Axboe commit e091eb67af957bac4e4f7410c5d1aa263ee483a4 Author: Tejun Heo Date: Tue Apr 28 13:06:11 2009 +0900 hd: clean up request completion paths hd read/write_intr() functions manually manipulate request to incrementally complete it, which block layer already supports. Simply use block layer completion routines instead of manual partial completion. While at it, clear unnecessary elv_next_request() check at the tail of read_intr(). This also makes read and write_intr() more consistent. [ Impact: cleanup ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f81f2f7c9fee307e371f37424577d46f9eaf8692 Author: Tejun Heo Date: Tue Apr 28 13:06:10 2009 +0900 ubd: drop unnecessary rq->sector manipulation ubd curiously updates rq->sector while issuing the request in multiple pieces. Don't do it and simply use local copy of sector. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Jeff Dike Signed-off-by: Jens Axboe commit 4d6c84d91d1a539ebc47d1a36a35e9390ba11fdc Author: Tejun Heo Date: Tue Apr 28 13:06:09 2009 +0900 ubd: cleanup completion path ubd had its own block request partial completion mechanism, which is unnecessary as block layer already does it. Kill ubd_end_request() and ubd_finish() and replace them with direct call to blk_end_request(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Jeff Dike Signed-off-by: Jens Axboe commit 044208506d35bd62396c4673176e2c12393905b8 Author: Tejun Heo Date: Tue Apr 28 13:06:08 2009 +0900 sunvdc: kill vdc_end_request() vdc_end_request() is a thin silly wrapper on top of __blk_end_request(). Kill it. [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: David S. Miller Signed-off-by: Jens Axboe commit cd4c34ebec155e5c10f897d9bebf618248121e70 Author: Tejun Heo Date: Tue Apr 28 13:06:07 2009 +0900 ps3disk: simplify request completion ps3disk_interrupt() always completes requests fully but it uses rq->hard_cur_sectors for FLUSH requests for some reason. Drop them and simply use __blk_end_request_all(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 5b5c5d12b91cb6b2a2967f06aef35d59008dc2e7 Author: Tejun Heo Date: Tue Apr 28 13:06:06 2009 +0900 amiflop,ataflop,xd,mg_disk: clean up unnecessary stuff from block drivers rq_data_dir() can only be READ or WRITE and rq->sector and nr_sectors are always automatically updated after partial request completion. Don't worry about rq_data_dir() not being either READ or WRITE or manually update sector and nr_sectors. [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Jörg Dorchain Cc: Geert Uytterhoeven Cc: unsik Kim Signed-off-by: Jens Axboe commit 4c94dece1baf320d925cedb231489c4e0358ac5a Author: Tejun Heo Date: Tue Apr 28 13:06:05 2009 +0900 block: don't init rq fields unnecessarily blk_get_request() always returns properly zeroed requests. Don't set fields to zero/NULL unnecessarily. [ Impact: cleanup ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 9fd8d0e1bcb848257968d9a7d73ca4d890ea8bd1 Author: Tejun Heo Date: Tue Apr 28 13:06:04 2009 +0900 block: make blk_end_request_cur() return bool In the process of mindlessly copying [__]blk_end_request_all(), [__]blk_end_request_cur() ended up returning void even though they're partial completion functions. Fix it. [ Impact: fix braindead API ] Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 9eb55b030c4b3227334ee4482402096cd1d1a6fe Author: Nikanth Karthikesan Date: Mon Apr 27 14:53:54 2009 +0200 block: catch trying to use more bits than request->cmd_flags has Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit c69d48540c201394d08cb4d48b905e001313d9b8 Author: Jens Axboe Date: Fri Apr 24 08:12:19 2009 +0200 block: include discard requests in IO accounting We currently don't do merging on discard requests, but we potentially could. If we do, then we need to include discard requests in the IO accounting, or merging would end up decrementing in_flight IO counters for an IO which never incremented them. So enable accounting for discard requests. Problem found by Nikanth Karthikesan Signed-off-by: Jens Axboe commit c2553b5844b06910435e40cfab9e6f384840cb97 Author: Jens Axboe Date: Fri Apr 24 08:10:11 2009 +0200 block: make blk_do_io_stat() do the full "is this rq accountable" checks We currently check for file system requests outside of blk_do_io_stat(rq), but we may as well just include it. Signed-off-by: Jens Axboe commit 731ec497e5888c6792ad62613ae9be97eebcd7ca Author: Tejun Heo Date: Thu Apr 23 11:05:20 2009 +0900 block: kill rq->data Now that all block request data transfer is done via bio, rq->data isn't used. Kill it. While at it, make the roles of rq->special and buffer clear. [ Impact: drop now unncessary field from struct request ] Signed-off-by: Tejun Heo Cc: Boaz Harrosh commit ec24751a6b57e1373a12361e581b2458bc9bb791 Author: Tejun Heo Date: Thu Apr 23 11:05:20 2009 +0900 arm-omap: don't abuse rq->data omap mailbox uses rq->data as the second opaque pointer to carry mbox_msg_t and rq->special message argument which is needed only for tx. Add and use omap_msg_tx_data struct for tx and use rq->special for mbox_msg_t for rx such that only rq->special is used as opaque pointer. [ Impact: cleanup rq->data usage, extra kmalloc in msg_send ] Signed-off-by: Tejun Heo Cc: Russell King commit f06d9a2b52e246a66b606130cea3f0d7b7be17a7 Author: Tejun Heo Date: Thu Apr 23 11:05:19 2009 +0900 block: replace end_request() with [__]blk_end_request_cur() end_request() has been kept around for backward compatibility; however, it's about time for it to go away. * There aren't too many users left. * Its use of @updtodate is pretty confusing. * In some cases, newer code ends up using mixture of end_request() and [__]blk_end_request[_all](), which is way too confusing. So, add [__]blk_end_request_cur() and replace end_request() with it. Most conversions are straightforward. Noteworthy ones are... * paride/pcd: next_request() updated to take 0/-errno instead of 1/0. * paride/pf: pf_end_request() and next_request() updated to take 0/-errno instead of 1/0. * xd: xd_readwrite() updated to return 0/-errno instead of 1/0. * mtd/mtd_blkdevs: blktrans_discard_request() updated to return 0/-errno instead of 1/0. Unnecessary local variable res initialization removed from mtd_blktrans_thread(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Acked-by: Joerg Dorchain Acked-by: Geert Uytterhoeven Acked-by: Grant Likely Acked-by: Laurent Vivier Cc: Tim Waugh Cc: Stephen Rothwell Cc: Paul Mackerras Cc: Jeremy Fitzhardinge Cc: Markus Lidel Cc: David Woodhouse Cc: Pete Zaitcev Cc: unsik Kim commit 40cbbb781d3eba5d6ac0860db078af490e5c7c6b Author: Tejun Heo Date: Thu Apr 23 11:05:19 2009 +0900 block: implement and use [__]blk_end_request_all() There are many [__]blk_end_request() call sites which call it with full request length and expect full completion. Many of them ensure that the request actually completes by doing BUG_ON() the return value, which is awkward and error-prone. This patch adds [__]blk_end_request_all() which takes @rq and @error and fully completes the request. BUG_ON() is added to to ensure that this actually happens. Most conversions are simple but there are a few noteworthy ones. * cdrom/viocd: viocd_end_request() replaced with direct calls to __blk_end_request_all(). * s390/block/dasd: dasd_end_request() replaced with direct calls to __blk_end_request_all(). * s390/char/tape_block: tapeblock_end_request() replaced with direct calls to blk_end_request_all(). [ Impact: cleanup ] Signed-off-by: Tejun Heo Cc: Russell King Cc: Stephen Rothwell Cc: Mike Miller Cc: Martin Schwidefsky Cc: Jeff Garzik Cc: Rusty Russell Cc: Jeremy Fitzhardinge Cc: Alex Dubov Cc: James Bottomley commit b243ddcbe9be146172baa544dadecebf156eda0e Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: move rq->start_time initialization to blk_rq_init() rq->start_time was initialized in init_request_from_bio() so special requests didn't have start_time set. This has been okay as start_time has been used only for fs requests; however, there is no indication of this actually is the case or not. Set rq->start_time in blk_rq_init() and guarantee that all initialized rq's have its start_time set. This improves consistency at virtually no cost and future changes will make use of the timestamp for !bio requests. [ Impact: rq->start_time is valid for all requests ] Signed-off-by: Tejun Heo commit 2e60e02297cf54e367567f2d85b2ca56b1c4a906 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: clean up request completion API Request completion has gone through several changes and became a bit messy over the time. Clean it up. 1. end_that_request_data() is a thin wrapper around end_that_request_data_first() which checks whether bio is NULL before doing anything and handles bidi completion. blk_update_request() is a thin wrapper around end_that_request_data() which clears nr_sectors on the last iteration but doesn't use the bidi completion. Clean it up by moving the initial bio NULL check and nr_sectors clearing on the last iteration into end_that_request_data() and renaming it to blk_update_request(), which makes blk_end_io() the only user of end_that_request_data(). Collapse end_that_request_data() into blk_end_io(). 2. There are four visible completion variants - blk_end_request(), __blk_end_request(), blk_end_bidi_request() and end_request(). blk_end_request() and blk_end_bidi_request() uses blk_end_request() as the backend but __blk_end_request() and end_request() use separate implementation in __blk_end_request() due to different locking rules. blk_end_bidi_request() is identical to blk_end_io(). Collapse blk_end_io() into blk_end_bidi_request(), separate out request update into internal helper blk_update_bidi_request() and add __blk_end_bidi_request(). Redefine [__]blk_end_request() as thin inline wrappers around [__]blk_end_bidi_request(). 3. As the whole request issue/completion usages are about to be modified and audited, it's a good chance to convert completion functions return bool which better indicates the intended meaning of return values. 4. The function name end_that_request_last() is from the days when it was a public interface and slighly confusing. Give it a proper internal name - blk_finish_request(). 5. Add description explaning that blk_end_bidi_request() can be safely used for uni requests as suggested by Boaz Harrosh. The only visible behavior change is from #1. nr_sectors counts are cleared after the final iteration no matter which function is used to complete the request. I couldn't find any place where the code assumes those nr_sectors counters contain the values for the last segment and this change is good as it makes the API much more consistent as the end result is now same whether a request is completed using [__]blk_end_request() alone or in combination with blk_update_request(). API further cleaned up per Christoph's suggestion. [ Impact: cleanup, rq->*nr_sectors always updated after req completion ] Signed-off-by: Tejun Heo Reviewed-by: Boaz Harrosh Cc: Christoph Hellwig commit 0b302d5aa7975006fa2ec3d66386610b9b36c669 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: kill blk_end_request_callback() With recent IDE updates, blk_end_request_callback() doesn't have any user now. Kill it. [ Impact: removal of unused convoluted interface ] Signed-off-by: Tejun Heo commit 158dbda0068e63c7cce7bd47c123bd1dfa5a902c Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: reorganize request fetching functions Impact: code reorganization elv_next_request() and elv_dequeue_request() are public block layer interface than actual elevator implementation. They mostly deal with how requests interact with block layer and low level drivers at the beginning of rqeuest processing whereas __elv_next_request() is the actual eleveator request fetching interface. Move the two functions to blk-core.c. This prepares for further interface cleanup. Signed-off-by: Tejun Heo commit 5efccd17ceb0fc43837a331297c2c407969d7201 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: reorder request completion functions Reorder request completion functions such that * All request completion functions are located together. * Functions which are used by only one caller is put right above the caller. * end_request() is put after other completion functions but before blk_update_request(). This change is for completion function cleanup which will follow. [ Impact: cleanup, code reorganization ] Signed-off-by: Tejun Heo commit 2eef33e439ba9ae387cdc3f1abcef2f3f6c4e7a8 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: clean up misc stuff after block layer timeout conversion * In blk_rq_timed_out_timer(), else { if } to else if * In blk_add_timer(), simplify if/else block [ Impact: cleanup ] Signed-off-by: Tejun Heo commit 10732f5661fb7adf62e20733b0030fc0fc93b0c4 Author: Tejun Heo Date: Thu Apr 23 11:05:18 2009 +0900 block: cleanup REQ_SOFTBARRIER usages blk_insert_request() doesn't need to worry about REQ_SOFTBARRIER. Don't set it. Combined with recent ide updates, REQ_SOFTBARRIER is now only used in elevator proper and for discard requests. [ Impact: cleanup ] Signed-off-by: Tejun Heo commit e4025f6c21f1389696c069be2dc647f364925c45 Author: Tejun Heo Date: Thu Apr 23 11:05:17 2009 +0900 block: don't set REQ_NOMERGE unnecessarily RQ_NOMERGE_FLAGS already clears defines which REQ flags aren't mergeable. There is no reason to specify it superflously. It only adds to confusion. Don't set REQ_NOMERGE for barriers and requests with specific queueing directive. REQ_NOMERGE is now exclusively used by the merging code. [ Impact: cleanup ] Signed-off-by: Tejun Heo commit a7f557923441186a3cdbabc54f1bcacf42b63bf5 Author: Tejun Heo Date: Thu Apr 23 11:05:17 2009 +0900 block: kill blk_start_queueing() blk_start_queueing() is identical to __blk_run_queue() except that it doesn't check for recursion. None of the current users depends on blk_start_queueing() running request_fn directly. Replace usages of blk_start_queueing() with [__]blk_run_queue() and kill it. [ Impact: removal of mostly duplicate interface function ] Signed-off-by: Tejun Heo commit a538cd03be6f363d039daa94199c28cfbd508455 Author: Tejun Heo Date: Thu Apr 23 11:05:17 2009 +0900 block: merge blk_invoke_request_fn() into __blk_run_queue() __blk_run_queue wraps blk_invoke_request_fn() such that it additionally removes plug and bails out early if the queue is empty. Both extra operations have their own pending mechanisms and don't cause any harm correctness-wise when they are done superflously. The only user of blk_invoke_request_fn() being blk_start_queue(), there isn't much reason to keep both functions around. Merge blk_invoke_request_fn() into __blk_run_queue() and make blk_start_queue() use __blk_run_queue() instead. [ Impact: merge two subtly different internal functions ] Signed-off-by: Tejun Heo commit db2dbb12dc47a50c7a4c5678f526014063e486f6 Author: Jeff Moyer Date: Wed Apr 22 14:08:13 2009 +0200 block: implement blkdev_readpages Doing a proper block dev ->readpages() speeds up the crazy dump(8) approach of using interleaved process IO. Signed-off-by: Jeff Moyer Signed-off-by: Jens Axboe commit db29a6b49674085f136331014ba0eee249c16a2c Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 21 09:27:03 2009 +0200 block: enable by default support for large devices and files on 32-bit archs Enable by default support for large devices and files (CONFIG_LBD): - With 1TB disks being a commodity hardware it is quite easy to hit 2TB limitation while building RAIDs etc. and many distros have been using CONFIG_LBD=y by default already (at least Fedora 10 and openSUSE 11.1). - This should also prevent a subtle ext4 filesystem compatibility issue: mke2fs.ext4 defaults to creating filesystems with huge_files feature enabled and such filesystems cannot be later mounted read-write on machines with CONFIG_LBD=n (it should be quite easy to hit this issue when trying to use filesystem created using distro kernel on system running the self-build kernel, think about USB disk enclosures & co.). While at it: - Clarify config option help text w.r.t. mounting ext4 filesystems (they can be mounted with CONFIG_LBD=n but in the read-only mode). Cc: "Theodore Ts'o" Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 586cf2681f527ce8b85b9bd57c8b9f7945fbe051 Author: Tejun Heo Date: Tue Apr 21 12:16:56 2009 +0900 ide-dma: don't reset request fields on dma_timeout_retry() Impact: drop unnecessary code Now that everything uses bio and block operations, there is no need to reset request fields manually when retrying a request. Every field is guaranteed to be always valid. Drop unnecessary request field resetting from ide_dma_timeout_retry(). Signed-off-by: Tejun Heo commit 5ad960fe8d0e4f99fe2b8dded45e8251137293c9 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide: drop rq->data handling from ide_map_sg() Impact: remove code path which is no longer necessary All IDE data transfers now use rq->bio. Simplify ide_map_sg() accordingly. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 29d1a4371035e01b0d079bc5aa88b50f5af7a566 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-atapi: kill unused fields and callbacks Impact: remove fields and code paths which are no longer necessary Now that ide-tape uses standard mechanisms to transfer data, special case handling for bh handling can be dropped from ide-atapi. Drop the followings. * pc->cur_pos, b_count, bh and b_data * drive->pc_update_buffers() and pc_io_buffers(). Signed-off-by: Tejun Heo commit 4344d07fb8dbf0cbfec1f7d7c1afeccaceaaa120 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: simplify read/write functions Impact: cleanup idetape_chrdev_read/write() functions are unnecessarily complex when everything can be handled in a single loop. Collapse idetape_add_chrdev_read/write_request() into the rw functions and simplify the implementation. Signed-off-by: Tejun Heo commit 71294cf93d22ceaa75448cc6ebee2c65897be8c2 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: use byte size instead of sectors on rw issue functions Impact: cleanup Byte size is what most issue functions deal with, make idetape_queue_rw_tail() and its wrappers take byte size instead of sector counts. idetape_chrdev_read() and write() functions are converted to use tape->buffer_size instead of ctl from tape->cap. This cleans up code a little bit and will ease the next r/w reimplementation. Signed-off-by: Tejun Heo commit 3596b66452491a3cff26256a5e6e6061a66c4142 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: unify r/w init paths Impact: cleanup Read and write init paths are almost identical. Unify them into idetape_init_rw(). Signed-off-by: Tejun Heo commit 6cf3d545f7d71b183e5b89960d4cc850a42c410d Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: kill idetape_bh Impact: kill now unnecessary idetape_bh With everything using standard mechanisms, there is no need for idetape_bh anymore. Kill it and use tape->buf, cur and valid to describe data buffer instead. Changes worth mentioning are... * idetape_queue_rq_tail() now always queue tape->buf and and adjusts buffer state properly before completion. * idetape_pad_zeros() clears the buffer only once. Signed-off-by: Tejun Heo commit e998f30b45efb99a3c3ce7b5483f76317a17abed Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use standard data transfer mechanism Impact: use standard way to transfer data ide-tape uses rq in an interesting way. For r/w requests, rq->special is used to carry a private buffer management structure idetape_bh and rq->nr_sectors and current_nr_sectors are initialized to the number of idetape blocks which isn't necessary 512 bytes. Also, rq->current_nr_sectors is used to report back the residual count in units of idetape blocks. This peculiarity taxes both block layer and ide. ide-atapi has different paths and hooks to accomodate it and what a rq means becomes quite confusing and making changes at the block layer becomes quite difficult and error-prone. This patch makes ide-tape use bio instead. With the previous patch, ide-tape currently is using single contiguos buffer so replacing it isn't difficult. Data buffer is mapped into bio using blk_rq_map_kern() in idetape_queue_rw_tail(). idetape_io_buffers() and idetape_update_buffers() are dropped and pc->bh is set to null to tell ide-atapi to use standard data transfer mechanism and idetape_bh byte counts are updated by the issuer on completion using the residual count. This change also nicely removes the FIXME in ide_pc_intr() where ide-tape rqs need to be completed using ide_rq_bytes() instead of blk_rq_bytes() (although this didn't really matter as the request didn't have bio). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 7b13354eeaabaf6283b8c669a7d67d104ce7c638 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use single continuous buffer Impact: simpler buffer allocation and handling, kills OOM, fix DMA transfers ide-tape has its own multiple buffer mechanism using struct idetape_bh. It allocates buffer with decreasing order-of-two allocations so that it results in minimum number of segments. However, the implementation is quite complex and works in a way that no other block or ide driver works necessitating a lot of special case handling. The benefit this complex allocation scheme brings is questionable as PIO or DMA the number of segments (16 maximum) doesn't make any noticeable difference and it also doesn't negate the need for multiple order allocation which can fail under memory pressure or high fragmentation although it does lower the highest order necessary by one when the buffer size isn't power of two. As the first step to remove the custom buffer management, this patch makes ide-tape allocate single continous buffer. The maximum order is four. I doubt the change would cause any trouble but if it ever matters, it should be converted to regular sg mechanism like everyone else and even in that case dropping custom buffer handling and moving to standard mechanism first make sense as an intermediate step. This patch makes the first bh to contain the whole buffer and drops multi bh handling code. Following patches will make further changes. This patch has the side effect of killing OOM triggered by allocation path and fixing DMA transfers. Previously, bug in alloc path triggered OOM on command issue and commands were passed to DMA engine without DMA-mapping all the segments. Signed-off-by: Tejun Heo commit eb6a61bb9543aa54d62595e27206b3d3c0293bcc Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len Impact: allow residual count implementation in ->pc_callback() rq->data_len has two duties - carrying the number of input bytes on issue and carrying residual count back to the issuer on completion. ide-atapi completion callback ->pc_callback() is the right place to do this but currently ide-atapi depends on rq->data_len carrying the original request size after calling ->pc_callback() to complete the pc request. This patch makes ide_pc_intr(), ide_tape_issue_pc() and ide_floppy_issue_pc() cache length to complete before calling ->pc_callback() so that it can modify rq->data_len as necessary. Note: As using rq->data_len for two purposes can make cases like this incorrect in subtle ways, future changes will introduce separate field for residual count. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 08f370f0a2fb223bf48d0bfa2a173be0393c19dc Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape,floppy: fix failed command completion after request sense Impact: fix infinite retry loop After a command failed, ide-tape and floppy inserts REQUEST_SENSE in front of the failed command and according to the result, sets pc->retries, flags and errors. After REQUEST_SENSE is complete, the failed command is again at the front of the queue and if the verdict was to terminate the request, the issue functions tries to complete it directly by calling drive->pc_callback() and returning ide_stopped. However, drive->pc_callback() doesn't complete a request. It only prepares for completion of the request. As a result, this creates an infinite loop where the failed request is retried perpetually. Fix it by actually ending the request by calling ide_complete_rq(). Signed-off-by: Tejun Heo commit 765139ef5f1a4b1d5cb1f1a7a12de7ee61f6500f Author: Tejun Heo Date: Sun Apr 19 07:00:43 2009 +0900 ide-pm: don't abuse rq->data Impact: cleanup rq->data usage ide-pm uses rq->data to carry pointer to struct request_pm_state through request queue and rq->special is used to carray pointer to local struct ide_cmd, which isn't necessary. Use rq->special for request_pm_state instead and use local ide_cmd in ide_start_power_step(). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 02e7cf8f848841ca21864ccd019e480b73c323b7 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd,atapi: use bio for internal commands Impact: unify request data buffer handling rq->data is used mostly to pass kernel buffer through request queue without using bio. There are only a couple of places which still do this in kernel and converting to bio isn't difficult. This patch converts ide-cd and atapi to use bio instead of rq->data for request sense and internal pc commands. With previous change to unify sense request handling, this is relatively easily achieved by adding blk_rq_map_kern() during sense_rq prep and PC issue. If blk_rq_map_kern() fails for sense, the error is deferred till sense issue and aborts the failed command which triggered the sense. Note that this is a slim possibility as sense prep is done on each command issue, so for the above condition to actually trigger, all preps since the last sense issue till the issue of the request which would require a sense should fail. * do_request functions might sleep now. This should be okay as ide request_fn - do_ide_request() - is invoked only from make_request and plug work. Make sure this is the case by adding might_sleep() to do_ide_request(). * Functions which access the read sense data before the sense request is complete now should access bio_data(sense_rq->bio) as the sense buffer might have been copied during blk_rq_map_kern(). * ide-tape updated to map sg. * cdrom_do_block_pc() now doesn't have to deal with REQ_TYPE_ATA_PC special case. Simplified. * tp_ops->output/input_data path dropped from ide_pc_intr(). Signed-off-by: Tejun Heo commit 068753203e6cd085664a62e0fc0636e19b148a12 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer Since we're issuing REQ_TYPE_SENSE now we need to allow those types of rqs in the ->do_request callbacks. As a future improvement, sense_len assignment might be unified across all ATAPI devices. Borislav to check with specs and test. As a result, get rid of ide_queue_pc_head() and drive->request_sense_rq. tj: * Init request sense ide_atapi_pc from sense request. In the longer timer, it would probably better to fold ide_create_request_sense_cmd() into its only current user - ide_floppy_get_format_progress(). * ide_retry_pc() no longer takes @disk. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit c457ce874a0f3dfa3d5e9f2309789f6f34e24325 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: convert to using generic sense request Preallocate a sense request in the ->do_request method and reinitialize it only on demand, in case it's been consumed in the IRQ handler path. The reason for this is that we don't want to be mapping rq to bio in the IRQ path and introduce all kinds of unnecessary hacks to the block layer. tj: * Both user and kernel PC requests expect sense data to be stored in separate storage other than drive->sense_data. Copy sense data to rq->sense on completion if rq->sense is not NULL. This fixes bogus sense data on PC requests. As a result, remove cdrom_queue_request_sense. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit e69d800f7e8797a8e3423380ee9d8ca1cb90c388 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide: add helpers for preparing sense requests This is in preparation of removing the queueing of a sense request out of the IRQ handler path. Use struct request_sense as a general sense buffer for all ATAPI devices ide-{floppy,tape,cd}. tj: * blk_get_request(__GFP_WAIT) can't be called from do_request() as it can cause deadlock. Converted to use inline struct request and blk_rq_init(). * Added xfer / cdb len selection depending on device type. * All sense prep logics folded into ide_prep_sense() which never fails. * hwif->rq clearing and sense_rq used handling moved into ide_queue_sense_rq(). * blk_rq_map_kern() conversion is moved to later patch. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit 1f181d2b1569dfb88a584a6e1847e9e1c7645951 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-cd uses rq->buffer to carry pointer to the original request when issuing REQUEST_SENSE. Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit ac0b0113ddbab3ed2388132d368c97292f9f3c84 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-atapi uses rq->buffer as private opaque value for internal special requests. rq->special isn't used for these cases (the only case where rq->special is used is for ide-tape rw requests). Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit d868ca24302e99a0e8a86071ca2c66273edf97d9 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-taskfile: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide_raw_taskfile() directly uses rq->buffer to carry pointer to the data buffer. This complicates both block interface and ide backend request handling. Use blk_rq_map_kern() instead and drop special handling for REQ_TYPE_ATA_TASKFILE from ide_map_sg(). Note that REQ_RW setting is moved upwards as blk_rq_map_kern() uses it to initialize bio rw flag. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 8968932e54db35cf9d69cfbbd50c26dfaaa586c7 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-floppy: block pc always uses bio Impact: remove unnecessary code path Block pc requests always use bio and rq->data is always NULL. No need to worry about !rq->bio cases in idefloppy_block_pc_cmd(). Note that ide-atapi uses ide_pio_bytes() for bio PIO transfer which handle sg fine. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 59a4f6f355fc718581ddcf1bb45a469d4756c035 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-cd: clear sense buffer before issuing request sense Impact: code simplification ide_cd_request_sense_fixup() clears the tail of the sense buffer if the device didn't completely fill it. This patch makes cdrom_queue_request_sense() clear the sense buffer before issuing the command instead of clearing it afterwards. This simplifies code and eases future changes. Signed-off-by: Tejun Heo commit 214ae19104141404f18ad6651752eb38e3dd584e Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide kill unused ide_cmd->special Impact: removal of unused field No one uses ide_cmd->special anymore. Kill it. Signed-off-by: Tejun Heo commit b2963ac1738542d30305d7e12c8c078a383a425c Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: don't set REQ_SOFTBARRIER ide doesn't have to worry about REQ_SOFTBARRIER. Don't set it. Signed-off-by: Tejun Heo commit 220d06b5531e7b8a6226b2fdfb21198c3ccc4f76 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: use blk_run_queue() instead of blk_start_queueing() blk_start_queueing() is being phased out in favor of [__]blk_run_queue(). Switch. Signed-off-by: Tejun Heo commit 0de57fb93b1daaeaecb658a98b3299ae460c02e9 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-tape: remove back-to-back REQUEST_SENSE detection Impact: fix an oops which always triggers ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when checking for back-to-back request sense issues but drive->pc can be NULL and even when it's not NULL, it's not safe to dereference it once the previous command is complete because pc could have been freed or was on stack. Kill back-to-back REQUEST_SENSE detection. Signed-off-by: Tejun Heo commit 924cec7789f65ab7f022256f6533ecba0747b5f3 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 block: clear req->errors on bio completion only for fs requests Impact: subtle behavior change For fs requests, rq is only carrier of bios and rq error status as a whole doesn't mean much. This is the reason why rq->errors is being cleared on each partial completion of a request as on each partial completion the error status is transferred to the respective bios. For pc requests, rq->errors is used to carry error status to the issuer and thus __end_that_request_first() doesn't clear it on such cases. The condition was fine till now as only fs and pc requests have used bio and thus the bio completion path. However, future changes will unify data accesses to bio and all non fs users care about rq error status. Clear rq->errors on bio completion only for fs requests. In general, the implicit clearing is a bit too subtle especially as the meaning of rq->errors is completely dependent on low level drivers. Unifying / cleaning up rq->errors usage and letting llds manage it would be better. TODO comment added. Signed-off-by: Tejun Heo Acked-by: Jens Axboe commit e686307fdc84f249490e6c9da92fcb2424491f14 Author: Akinobu Mita Date: Fri Apr 17 08:41:21 2009 +0200 loop: use BIO list management functions Now that the bio list management stuff is generic, convert loop to use bio lists instead of its own private bio list implementation. Cc: Jens Axboe Cc: Christoph Hellwig Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit e93b9fb7d85da4fd9d5171649e5ddcac1dd572bf Author: Tejun Heo Date: Tue Apr 28 12:38:33 2009 +0900 hd: fix locking hd dance around local irq and HD_IRQ enable without achieving much. It ends up transferring data from irq handler with both local irq and HD_IRQ disabled. The only place it actually does something is while transferring the first block of a request which it does with HD_IRQ disabled but local irq enabled. Unfortunately, the dancing is horribly broken from locking POV. IRQ and timeout handlers access block queue without grabbing the queue lock and running the driver in SMP configuration crashes the whole machine pretty quickly. Remove meaningless irq enable/disable dancing and add proper locking in issue, irq and timeout paths. Signed-off-by: Tejun Heo commit 7090a0a97f55cbf47547a140fcc5a349f32c598c Author: Bartlomiej Zolnierkiewicz Date: Tue Apr 28 12:38:33 2009 +0900 mg_disk: fix CONFIG_LBD=y warning drivers/block/mg_disk.c: In function ‘mg_dump_status’: drivers/block/mg_disk.c:265: warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘sector_t’ [ Impact: kill build warning ] Cc: unsik Kim Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo commit ac2ff946a53e7bd0ae98f4e5d1d6c1b1dced82e5 Author: Tejun Heo Date: Tue Apr 28 12:38:32 2009 +0900 mg_disk: fix locking IRQ and timeout handlers call functions which expect locked queue lock without locking it. Fix it. While at it, convert 0s used as null pointer constant to NULLs. [ Impact: fix locking, cleanup ] Signed-off-by: Tejun Heo Cc: unsik Kim commit 8b0f9e8f78bd0a65fa001bf18f2c47eef2893a10 Author: Theodore Ts'o Date: Mon Apr 27 17:33:23 2009 -0400 ext4: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext4 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. (This commit was ported from a patch originally authored by Linus for ext3.) Signed-off-by: "Theodore Ts'o" commit 96159f25112595386c56e09eca90284e85e7ecbf Author: Linus Torvalds Date: Mon Apr 27 17:24:22 2009 -0400 ext3: avoid unnecessary spinlock in critical POSIX ACL path If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem to do POSIX ACL checks on any files not owned by the caller, and it does this for every single pathname component that it looks up. That obviously can be pretty expensive if the filesystem isn't careful about it, especially with locking. That's doubly sad, since the common case tends to be that there are no ACL's associated with the files in question. ext3 already caches the ACL data so that it doesn't have to look it up over and over again, but it does so by taking the inode->i_lock spinlock on every lookup. Which is a noticeable overhead even if it's a private lock, especially on CPU's where the serialization is expensive (eg Intel Netburst aka 'P4'). For the special case of not actually having any ACL's, all that locking is unnecessary. Even if somebody else were to be changing the ACL's on another CPU, we simply don't care - if we've seen a NULL ACL, we might as well use it. So just load the ACL speculatively without any locking, and if it was NULL, just use it. If it's non-NULL (either because we had a cached entry, or because the cache hasn't been filled in at all), it means that we'll need to get the lock and re-load it properly. This is noticeable even on Nehalem, which does locking quite well (much better than P4). From lmbench: Processor, Processes - times in microseconds - smaller is better -------------------------------------------------------------------- Host OS Mhz null null open slct fork exec sh call I/O stat clos TCP proc proc proc --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- - before: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.45 2.18 69.1 273. 1141 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.48 2.28 69.9 253. 1140 nehalem.l Linux 2.6.30- 3193 0.04 0.10 0.95 1.42 2.19 68.6 284. 1141 - after: nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.44 2.12 68.3 282. 1094 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.20 67.0 308. 1123 nehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.36 67.4 293. 1148 where you can see what appears to be a roughly 3% improvement in stat and open/close latencies from just the removal of the locking overhead. Of course, this only matters for files you don't own (the owner never needs to do the ACL checks), but that's the common case for libraries, header files, and executables. As well as for the base components of any absolute pathname, even if you are the owner of the final file. [ At some point we probably want to move this ACL caching logic entirely into the VFS layer (and only call down to the filesystem when uncached), but in the meantime this improves ext3 a bit. A similar fix to btrfs makes a much bigger difference (15x improvement in lmbench) due to broken caching. ] Signed-off-by: Linus Torvalds Signed-off-by: "Theodore Ts'o" Acked-by: Jan Kara Cc: Al Viro commit 9bffad1ed2a003a355ed1b42424a0ae3575275ed Author: Theodore Ts'o Date: Wed Jun 17 11:48:11 2009 -0400 ext4: convert instrumentation from markers to tracepoints Signed-off-by: "Theodore Ts'o" commit 879c5e6b7cb4c689d08ca9b2e353d8ab3dc425d5 Author: Theodore Ts'o Date: Wed Jun 17 11:47:48 2009 -0400 jbd2: convert instrumentation from markers to tracepoints Signed-off-by: "Theodore Ts'o" commit 6be01cfb854818298753bfce65543dbc81d51d5a Author: Mark Brown Date: Mon Apr 27 20:57:42 2009 +0100 ASoC: Staticise TLV values in WM8940 Signed-off-by: Mark Brown commit 2625240d0732ac259591ed54371bc01e7bbfdd14 Merge: 1a4ba05 0c95de7 Author: Mark Brown Date: Mon Apr 27 20:47:35 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 1a4ba05ec8369d62c10155a8931e81267bfbd31c Author: Daniel Mack Date: Fri Apr 24 16:37:45 2009 +0200 ASoC: cs4270: add Master Playback Switch This adds a new control named 'Master Playback Switch' for cs4270 codecs. It is implemented using the new SOC_DOUBLE_EXT macro to catch the put function and store the information about manually set mute controls from userspace. When a manual mute is set, we don't want the soc core to un-mute the outputs. Renamed cs4270_mute() to cs4270_dai_mute() to avoid confusion. Signed-off-by: Daniel Mack Acked-by: Timur Tabi Signed-off-by: Mark Brown commit 9c935386512a3faa1be1c3d81cba38b7259a43f5 Author: Daniel Mack Date: Fri Apr 24 15:00:25 2009 +0200 ASoC: cs4270: fix Master Capture Switch polarity The control modifies the MUTE register, hence the polarity must be inverted. Signed-off-by: Daniel Mack Acked-By: Timur Tabi Signed-off-by: Mark Brown commit 0b5e92c5e020ee7437fa5304a8451d6dd08d1a26 Author: Jonathan Cameron Date: Mon Apr 27 13:49:44 2009 +0000 ASoC WM8940 Driver Signed-off-by: Jonathan Cameron Signed-off-by: Mark Brown commit a7be4d92d989fc53d840d24cba2ebea9e5ad8480 Author: Mark Brown Date: Mon Apr 27 20:24:15 2009 +0100 ASoC: Use our registration function for S3C64xx Make sure we get the DAI operations initialised. Signed-off-by: Mark Brown commit 5c556a6e190897a0f1ff14e13722591828412031 Author: Mark Brown Date: Mon Apr 27 20:23:19 2009 +0100 ASoC: s3c-i2s-v2 diagnostic improvements Say what invalid values we're seeing when we see an invalid value and ensure that errors are displayed by default. Signed-off-by: Mark Brown commit 008db442efa542357314593c71ab9966be909855 Author: Mark Brown Date: Mon Apr 27 19:17:08 2009 +0100 ASoC: Include WM8350 register definitions in CODEC header It's expected behaviour for the CODEC header to provide them but the WM8350 doesn't due to having all the registers together under drivers/mfd. Signed-off-by: Mark Brown commit 4bc4d8998a472cd64aa66a4abad3d833be901028 Author: Mark Brown Date: Mon Apr 27 14:28:44 2009 +0100 ASoC: Enforce symmetric rates for S3C64xx I2S interface There is only one LRCLK pin on each interface. Signed-off-by: Mark Brown commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51 Author: Takashi Iwai Date: Wed Apr 22 16:31:35 2009 +0200 ALSA: hda - Add amp initialization for realtek auto mode In the realtek auto-probing mode, the initialization of amp with some magic COEF or EAPD verbs is applied only when the codec SSID has valid values to satisfy the realtek's definition. However, many devices don't provide in that way, thus the device doesn't work as is. This patch allows the same initialization code even if the SSID doesn't pass the bit test. Also, alc_subsystem_id() is changed just to check and define the type, so that it's called in the parser, instead of the initializer. Signed-off-by: Takashi Iwai commit 36e7b1b8dac1a785abca3a121b6b0b79f1a8d7df Author: Herbert Xu Date: Mon Apr 27 05:44:45 2009 -0700 gro: Fix COMPLETE checksum handling On a brand new GRO skb, we cannot call ip_hdr since the header may lie in the non-linear area. This patch adds the helper skb_gro_network_header to handle this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit edbd9e30306067c3a45c035eb95a6f49daaa2337 Author: Herbert Xu Date: Mon Apr 27 05:44:29 2009 -0700 gro: Fix handling of headers that extend over the tail The skb_gro_* code fails to handle the case where a header starts in the linear area but ends in the frags area. Since the goal of skb_gro_* is to optimise the case of completely non-linear packets, we can simply bail out if we have anything in the linear area. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7bd0f2f5fc5f51d351228488dfef5e33d28e8d0c Author: dmitry pervushin Date: Mon Apr 27 10:35:04 2009 +0100 [ARM] 5483/1: Freescale STMP: add Kconfig/Makefile entries Added Kconfig/Makefile entries for STMP platform Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 56ed4351c2604c221a82276f51e5dfd467921bf3 Author: Vladislav Zolotarov Date: Mon Apr 27 03:28:25 2009 -0700 bnx2x: driver version 1.48.105-1 Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 29b35dd868e9442914a44ff8e8be739c3d65cc9d Author: Vladislav Zolotarov Date: Mon Apr 27 03:28:03 2009 -0700 bnx2x: Removed blob file Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 94a78b79cb5f14c09a42522738d6694c6a1cdd20 Author: Vladislav Zolotarov Date: Mon Apr 27 03:27:43 2009 -0700 bnx2x: Separated FW from the source. >From now on FW will be downloaded from the binary file using request_firmware. There will be different files for every supported chip. Currently 57710 (e1) and 57711 (e1h). File names have the following format: bnx2x--.fw. ihex versions of current FW files are submitted in the next patch. Each binary file has a header in the following format: struct bnx2x_fw_file_section { __be32 len; __be32 offset; } struct bnx2x_fw_file_hdr { struct bnx2x_fw_file_section init_ops; struct bnx2x_fw_file_section init_ops_offsets; struct bnx2x_fw_file_section init_data; struct bnx2x_fw_file_section tsem_int_table_data; struct bnx2x_fw_file_section tsem_pram_data; struct bnx2x_fw_file_section usem_int_table_data; struct bnx2x_fw_file_section usem_pram_data; struct bnx2x_fw_file_section csem_int_table_data; struct bnx2x_fw_file_section csem_pram_data; struct bnx2x_fw_file_section xsem_int_table_data; struct bnx2x_fw_file_section xsem_pram_data; struct bnx2x_fw_file_section fw_version; } Each bnx2x_fw_file_section contains the length and the offset of the appropriate section in the binary file. Values are stored in the big endian format. Data types of arrays: init_data __be32 init_ops_offsets __be16 XXsem_pram_data u8 XXsem_int_table_data u8 init_ops struct raw_op { u8 op; __be24 offset; __be32 data; } fw_version u8 >From now boundaries of a specific initialization stage are stored in init_ops_offsets array instead of being defined by separate macroes. The index in init_ops_offsets is calculated by BLOCK_OPS_IDX macro: #define BLOCK_OPS_IDX(block, stage, end) \ (2*(((block)*STAGE_IDX_MAX) + (stage)) + (end)) Security: In addition to sanity check of array boundaries bnx2x will check a FW version. Additional checks might be added in the future. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ec9323f417e803f07a99a15a9cfb207662ad2c55 Author: Vladislav Zolotarov Date: Mon Apr 27 03:26:13 2009 -0700 bnx2x: FW 4.8.53.0 Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f85ba78068ac137fe9c1f50d25405d2783d75c77 Author: David Woodhouse Date: Mon Apr 27 03:23:54 2009 -0700 tun: add IFF_TUN_EXCL flag to avoid opening a persistent device. When creating a certain types of VPN, NetworkManager will first attempt to find an available tun device by iterating through 'vpn%d' until it finds one that isn't already busy. Then it'll set that to be persistent and owned by the otherwise unprivileged user that the VPN dæmon itself runs as. There's a race condition here -- during the period where the vpn%d device is created and we're waiting for the VPN dæmon to actually connect and use it, if we try to create _another_ device we could end up re-using the same one -- because trying to open it again doesn't get -EBUSY as it would while it's _actually_ busy. So solve this, we add an IFF_TUN_EXCL flag which causes tun_set_iff() to fail if it would be opening an existing persistent tundevice -- so that we can make sure we're getting an entirely _new_ device. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 0456b4f8b742006c2b79fcbe6b0736aa1ad39180 Author: Simon Arlott Date: Mon Apr 27 03:22:15 2009 -0700 cxacru: Fix negative dB output Values of dB between -0.99 and -0.01 will be output with the wrong sign. This converts the negative value to positive and outputs it with a "-" prefix. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit 15b8e19131486856373592e45793a79aefb6fbe7 Author: roel kluin Date: Thu Apr 23 08:53:20 2009 +0000 pasemi_mac: mac_to_intf() error not noticed mac_to_intf() can return -1 when no device or function is found, but when mac->dma_if is unsigned. The error wasn't noticed. Signed-off-by: Roel Kluin Acked-by: Olof Johansson Signed-off-by: David S. Miller commit 683703a26e4677db437a1480682851e27c7a154f Author: Neil Horman Date: Mon Apr 27 03:17:31 2009 -0700 drop_monitor: Update netlink protocol to include netlink attribute header in alert message When I initially implemented this protocol, I disregarded the use of netlink attribute headers, thinking for my purposes they weren't needed. I've come to find out that, as I'm starting to work with sending down messages with associated data (like config messages), the kernel code spits out warnings about trailing data in a netlink skb that doesn't have an associated header on it. As such, I'm going to start including attribute headers in my netlink transaction, and so for completeness, I should likely include them on messages bound from the kernel to user space. This patch adds that header to the kernel, and bumps the protocol version accordingly Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit fa466e91bdf214e6e136e9da9a46a52775a1e884 Author: Waskiewicz Jr, Peter P Date: Thu Apr 23 11:31:37 2009 +0000 ixgbe: Disallow SFP 1G modules in the SFP+ cages for 82598 and 82599 82598 and 82599 do not support SFP 1G modules. Instead of allowing the driver to load, but never get link, rejecting the module and displaying a useful message is more preferrable. The framework for displaying the failure message already exists, now we just need to detect and reject the SFP modules. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 78b1f6070fa16cb442a7c48e8f5364cd84a88b90 Author: Alexander Duyck Date: Thu Apr 23 11:20:29 2009 +0000 igb: always use adapter->itr as EITR value The igb driver was switching between adapter->itr containing the EITR value and the number of interrupts per second. This resulted in high latencies being seen after brining the interface down and then back up. To resolve the issue the itr value will now only contain the value that should be programmed into EITR. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 011983048a120e520147361be1067dd82343038e Author: Alexander Beregalov Date: Thu Apr 23 15:53:21 2009 +0000 vxge: use max() instead of VXGE_HW_SET_LEVEL Signed-off-by: Alexander Beregalov Acked-by: Ram Vepa Signed-off-by: David S. Miller commit 4e204c1000561ddb1a62a9df857cb0457dd868a7 Author: Alexander Beregalov Date: Thu Apr 23 15:31:38 2009 +0000 vxge: fix possible NULL dereference in vxge-traffic.c If vpath is NULL then hldev is NULL also. Signed-off-by: Alexander Beregalov Acked-by: Ram Vepa Signed-off-by: David S. Miller commit 41f8910040639eb106b1a5b5301aab79ecde4940 Author: Jiri Pirko Date: Fri Apr 24 03:57:29 2009 +0000 bonding: ignore updelay param when there is no active slave Pointed out by Sean E. Millichamp. Quote from Documentation/networking/bonding.txt: "Note that when a bonding interface has no active links, the driver will immediately reuse the first link that goes up, even if the updelay parameter has been specified (the updelay is ignored in this case). If there are slave interfaces waiting for the updelay timeout to expire, the interface that first went into that state will be immediately reused. This reduces down time of the network if the value of updelay has been overestimated, and since this occurs only in cases with no connectivity, there is no additional penalty for ignoring the updelay." This patch actually changes the behaviour in this way. Signed-off-by: Jiri Pirko drivers/net/bonding/bond_main.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) Signed-off-by: David S. Miller commit 29112f4e248ca6941f2233f6ed96a7283a67cced Author: Jiri Pirko Date: Fri Apr 24 01:58:23 2009 +0000 bonding: use ethtool for link checking first This patch only changes the order of interfaces to use for checking slave link status in bond_check_dev_link() to priorize ethtool interface. Should safe some troubles as ethtool seems to be more supported. Jirka Signed-off-by: Jiri Pirko drivers/net/bonding/bond_main.c | 26 ++++++++++++-------------- 1 files changed, 12 insertions(+), 14 deletions(-) Signed-off-by: David S. Miller commit 434e7b0d12f4e2de6686841a42bd344325b4d756 Author: Grant Likely Date: Sat Apr 25 12:53:44 2009 +0000 net: fix fsl_pq_mdio driver to use module_init() Modules are not supposed to use any of the *_initcall*() hooks as the entry point. fsl_pq_mdio.c was using subsys_initcall_sync() instead of module_init() to guarantee that the MDIO bus was initialized before the Ethernet driver goes looking for the phy. However, the recent OF helpers rework happens to also make sure PHY connection is deferred to .open time, so using an initcall is no longer necessary. This patch replaces the initcall with a more traditional an accepted module_init() call. Tested on Freescale MPC8349emitxgp eval board. Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 92744989533cbe85e8057935d230e128810168ce Author: Grant Likely Date: Sat Apr 25 12:53:39 2009 +0000 net: add Xilinx ll_temac device driver This patch adds support for the Xilinx ll_temac 10/100/1000 Ethernet device. The ll_temac ipcore is typically used on Xilinx Virtex and Spartan designs attached to either a PowerPC 4xx or Microblaze processor. At the present moment, this driver only works with Virtex5 PowerPC designs because it assumes DCR is used to access the DMA registers. However, the low level access to DMA registers is abstracted and it should be easy to adapt for the other implementations. I'm posting this driver now as an RFC. There are still some things that need to be tightened up, but it does appear to be stable. Derived from driver code written by Yoshio Kashiwagi and David H. Lynch Jr. Tested on Xilinx ML507 eval board with Base System Builder generated FPGA design. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit aa73832c5a80d6c52c69b18af858d88fa595dd3c Author: Grant Likely Date: Sat Apr 25 12:53:33 2009 +0000 net: Rework fs_enet driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit fd84f0ee50d3abedd11454b016823aa3ffcdc919 Author: Grant Likely Date: Sat Apr 25 12:53:28 2009 +0000 powerpc/82xx: Rework Embedded Planet ep8248e platform to use of_mdio This patch modifies the bitbanged MDIO driver in the ep8248e platform code to use the common of_mdio infrastructure. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 0b9da337dca972e7a4144e298ec3adb8f244d4a4 Author: Grant Likely Date: Sat Apr 25 12:53:23 2009 +0000 net: Rework ucc_geth driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 1dd2d06c0459a2f1bffc56765e3cc57427818867 Author: Grant Likely Date: Sat Apr 25 12:53:17 2009 +0000 net: Rework pasemi_mac driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Signed-off-by: Grant Likely Tested-by: Olof Johansson Acked-by: Olof Johansson Acked-by: Andy Fleming Signed-off-by: David S. Miller commit fe192a49118f5b1272317d60c7930ece4e13ae49 Author: Grant Likely Date: Sat Apr 25 12:53:12 2009 +0000 net: Rework gianfar driver to use of_mdio infrastructure. This patch simplifies the driver by making use of more common code. Tested on Freescale MPC8349emitxgp eval board Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 324931ba21858c34787dee7d222388ef3fb41ee0 Author: Grant Likely Date: Sat Apr 25 12:53:07 2009 +0000 net: rework fsl_pq_mdio driver to use of_mdio infrastructure This patch simplifies the driver by making use of more common code. Tested on Freescale MPC8349emitxgp eval board Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit ca816d98170942371535b3e862813b0aba9b7d90 Author: Grant Likely Date: Sat Apr 25 12:53:02 2009 +0000 net: Rework mpc5200 fec driver to use of_mdio infrastructure. The patch reworks the MPC5200 Fast Ethernet Controller (FEC) driver to use the of_mdio infrastructure for registering PHY devices from data out openfirmware device tree, and eliminates the assumption that the PHY for the FEC is always attached to the FEC's own MDIO bus. With this patch, the FEC can use a PHY attached to any MDIO bus if it is described in the device tree. Tested on Freescale Lite5200b eval board Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 8bc487d150b939e69830c39322df4ee486efe381 Author: Grant Likely Date: Sat Apr 25 12:52:56 2009 +0000 openfirmware: Add OF phylib support code Add support for parsing the device tree for PHY devices on an MDIO bus. Currently many of the PowerPC ethernet drivers are open coding a solution for reading data out of the device tree to find the correct PHY device. This patch implements a set of common routines to: a) let MDIO bus drivers register phy_devices described in the tree, and b) let MAC drivers find the correct phy_device via the tree. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit fa94f6d93c5382810ff41f010f12ca8698fc775e Author: Grant Likely Date: Sat Apr 25 12:52:51 2009 +0000 phylib: add *_direct() variants of phy_connect and phy_attach functions Add phy_connect_direct() and phy_attach_direct() functions so that drivers can use a pointer to the phy_device instead of trying to determine the phy's bus_id string. This patch is useful for OF device tree descriptions of phy devices where the driver doesn't need or know what the bus_id value in order to get a phy_device pointer. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 4dea547fef1ba23f9d23f5e7f5218187a7dcf1b3 Author: Grant Likely Date: Sat Apr 25 12:52:46 2009 +0000 phylib: rework to prepare for OF registration of PHYs This patch makes changes in preparation for supporting open firmware device tree descriptions of MDIO busses. Changes include: - Cleanup handling of phy_map[] entries; they are already NULLed when registering and so don't need to be re-cleared, and it is good practice to clear them out when unregistering. - Split phy_device registration out into a new function so that the OF helpers can do two stage registration (separate allocation and registration steps). Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 739649c53d7f78f5bf41bdfd1a858ee90c7a687a Author: Grant Likely Date: Sat Apr 25 12:52:40 2009 +0000 of: add of_parse_phandle() helper for parsing phandle properties of_parse_phandle() is a helper function to read and parse a phandle property and return a pointer to the resulting device_node. Signed-off-by: Grant Likely Acked-by: Andy Fleming Signed-off-by: David S. Miller commit edf391ff17232f097d72441c9ad467bcb3b5db18 Author: Neil Horman Date: Mon Apr 27 02:45:02 2009 -0700 snmp: add missing counters for RFC 4293 The IP MIB (RFC 4293) defines stats for InOctets, OutOctets, InMcastOctets and OutMcastOctets: http://tools.ietf.org/html/rfc4293 But it seems we don't track those in any way that easy to separate from other protocols. This patch adds those missing counters to the stats file. Tested successfully by me With help from Eric Dumazet. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 06bd12c3b861f8ca9e1215428b19dc0026c6268f Author: John Dykstra Date: Mon Apr 27 02:42:20 2009 -0700 pcnet32: Remove redundant set of skb->dev Remove redundant set of skb->dev (now handled for ethernet drivers by eth_type_trans()). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit 92ae3efa53b481ad669d8b85c6cfa37d774bb21e Author: Rami Rosen Date: Mon Apr 27 02:35:32 2009 -0700 ipv4: remove unused member in fib_table. This patch removes an unused parameter (tb_stamp) from fib_table structure in include/net/ip_fib.h. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit bf155f8defdb5be5da0653279327bbd3801a3ca9 Author: dmitry pervushin Date: Thu Apr 23 00:00:01 2009 +0100 [ARM] 5463/1: Freescale STMP platform support [10/10] Default configs for STMP3xxx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit bc19d892a14cbb31d838813b2225e262a6c01341 Author: dmitry pervushin Date: Wed Apr 22 23:57:28 2009 +0100 [ARM] 5464/1: Freescale STMP platform support [7/10] Sources: support for 378x boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 45d9108011b9dfb4fccd6c258290d2185145709b Author: dmitry pervushin Date: Wed Apr 22 23:57:05 2009 +0100 [ARM] 5465/1: Freescale STMP platform support [7/10] Sources: support for 37xx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 5cccd37ea15970846a93b4b01fafd6e043bafe8e Author: dmitry pervushin Date: Thu Apr 23 12:24:13 2009 +0100 [ARM] 5477/1: Freescale STMP platform support [6/10] Sources: common STMP3xxx platform support Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit e317872ac532fd845c597e55ceb5a9bceee878c1 Author: dmitry pervushin Date: Wed Apr 22 23:55:23 2009 +0100 [ARM] 5466/1: Freescale STMP platform support [5/10] Shared (platform) headers Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 07d9714365bcab286389d679f73512e35796847c Author: dmitry pervushin Date: Wed Apr 22 23:54:42 2009 +0100 [ARM] 5467/1: Freescale STMP platform support [4/10] Minimal definition of register set for 378x boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 34acb09025a132943555d0f0ffca6cb05c698cd4 Author: dmitry pervushin Date: Wed Apr 22 23:54:05 2009 +0100 [ARM] 5468/1: Freescale STMP platform support [3/10] Minimal definition of register set for 37xx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 1e3dd535d641a856e913dd8a17a75bd3c36c49e0 Author: dmitry pervushin Date: Wed Apr 22 23:52:45 2009 +0100 [ARM] 5469/1: Freescale STMP platform support [2/10] Headers for STMP378x boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit b4175b89921fefb2f352472fa6dccb0fc4fb37d9 Author: Russell King Date: Sun Apr 26 14:22:29 2009 +0100 [ARM] sort machine- and plat- by CONFIG* name Signed-off-by: Russell King commit 9bef5de1e0f8915547124082e5c27c63cfa5c2fd Author: dmitry pervushin Date: Wed Apr 22 23:51:15 2009 +0100 [ARM] 5461/1: Freescale STMP platform support Header files for STMP37xx boards Signed-off-by: dmitry pervushin Signed-off-by: Russell King commit 788c9700e7855f8a8cc8875e30d2518b57385c20 Author: Russell King Date: Sun Apr 26 14:21:59 2009 +0100 [ARM] Kconfig: sort ARM machine class support choice list by option name Signed-off-by: Russell King commit c2e0090c668fc99f5be65fd9907da781cb6a2ef5 Author: Jean-Christophe PLAGNIOL-VILLARD Date: Mon Apr 27 17:54:41 2009 +0900 sh: mach-r2d: add physmap-flash support for R2D+ boards. The RTS7751R2D_1 boards only support 1MB of socket-mounted MBM29F040 flash, which we just leave alone as it's not terribly interesting. This adds support for the s29gl256p on the r2d+ boards that makes a bit more sense to expose to the user. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Paul Mundt commit 47c8a08bbe77ad3c06f63919a14b0f0b0cd54390 Author: Paul Mundt Date: Mon Apr 27 17:34:39 2009 +0900 sh: rtc-generic support. This adds rtc-generic support for SUPERH32. Signed-off-by: Paul Mundt commit e0e42142bab96404de535cceb85d6533d5ad7942 Author: Yinghai Lu Date: Sun Apr 26 23:39:38 2009 -0700 x86: Use dmi check in apic_is_clustered() on 64-bit to mark the TSC unstable We will have systems with 2 and more sockets 8cores/2thread, but we treat them as multi chassis - while they could have a stable TSC domain. Use DMI check instead. [ Impact: do not turn possibly stable TSCs off incorrectly ] Signed-off-by: Yinghai Lu Cc: Ravikiran Thirumalai LKML-Reference: <49F5532A.5000802@kernel.org> Signed-off-by: Ingo Molnar commit b2ba83ff4f4405cebc10884121ee71338a1a6c94 Author: Yinghai Lu Date: Sun Apr 26 23:38:08 2009 -0700 x86: apic: Remove duplicated macros XAPIC_DEST_* is dupliicated to the one in apicdef.h [ Impact: cleanup ] Signed-off-by: Yinghai Lu LKML-Reference: <49F552D0.5050505@kernel.org> Signed-off-by: Ingo Molnar commit 148be2c15d4a866fbc7a8f55342e4fd4de73be61 Author: Ingo Molnar Date: Mon Apr 27 08:02:14 2009 +0200 perf_counter tools: move helper library to util/* Clean up the top level directory a bit by moving all the helper libraries to util/*.[ch]. Signed-off-by: Ingo Molnar commit 5be7c0a4d3dfe25091f2e4e524103e81d9e7e180 Author: Paul Mundt Date: Mon Apr 27 14:40:47 2009 +0900 sh: select GENERIC_TIME for new CMT driver. Signed-off-by: Paul Mundt commit fc4967b8c6a1540ebce9ac48e44b8d44e7fac971 Author: Paul Mundt Date: Mon Apr 27 14:06:26 2009 +0900 sh: update defconfigs for PCI changes. Signed-off-by: Paul Mundt commit 51b26ada79b605ed709ddcedbb6012e8f8e0ebed Author: Linus Torvalds Date: Sun Apr 26 10:12:47 2009 -0700 x86: unify arch/x86/boot/compressed/vmlinux_*.lds Look at the: diff -u arch/x86/boot/compressed/vmlinux_*.lds output and realize that they're basially exactly the same except for trivial naming differences, and the fact that the 64-bit version has a "pgtable" thing. So unify them. There's some trivial cleanup there (make the output format a Kconfig thing rather than doing #ifdef's for it, and unify both 32-bit and 64-bit BSS end to "_ebss", where 32-bit used to use the traditional "_end"), but other than that it's really very mindless and straigt conversion. For example, I think we should aim to remove "startup_32" vs "startup_64", and just call it "startup", and get rid of one more difference. I didn't do that. Also, notice the comment in the unified vmlinux.lds.S talks about "head_64" and "startup_32" which is an odd and incorrect mix, but that was actually what the old 64-bit only lds file had, so the confusion isn't new, and now that mixing is arguably more accurate thanks to the vmlinux.lds.S file being shared between the two cases ;) [ Impact: cleanup, unification ] Signed-off-by: Linus Torvalds Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit 0a3ec21fcd311b26ab0f249d62960e127bc20ca8 Author: Sam Ravnborg Date: Sun Apr 26 23:07:42 2009 +0200 x86: beautify vmlinux_64.lds.S Beautify vmlinux_64.lds.S: - Use tabs for indent - Located curly braces like in C code - Rearranged a few comments There is no functional changes in this patch The beautification is done to prepare a unification of the _32 and the _64 variants of the linker scripts. [ Impact: cleanup ] Signed-off-by: Sam Ravnborg Cc: Tim Abbott Cc: Linus Torvalds LKML-Reference: <20090426210742.GA3464@uranus.ravnborg.org> Signed-off-by: Ingo Molnar commit 339b042bb408877dcb734d896cdb52dd20600aab Merge: 19bdc9d 6b34808 3e98f9f Author: Paul Mundt Date: Mon Apr 27 09:45:43 2009 +0900 Merge branches 'sh/stable-updates' and 'sh/pci-rework' commit 38f7b009a6ae1708fcf0f208aba9a9a4364bcfcf Author: Hartley Sweeten Date: Wed Apr 15 23:18:26 2009 +0100 [ARM] 5452/1: ep93x: rtc: use ioremap'ed addresses Update the rtc-ep93xx driver to use ioremap'ed addresses. This removes the dependency on and properly reports the memory addresses used by the driver in /proc/iomem. In addition, ep93xx_rtc_init() is updated to use platform_driver_probe() instead of platform_driver_register(). Also, the device_create_file() calls are now properly checked for error conditions. The created sysfs files are also now removed when the driver is removed. The version number for the driver has been bumped at the request of Alessandro Zummo. Signed-off-by: H Hartley Sweeten Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 924a158a12c7e732179dd85ddd20848039e7bd71 Author: Russell King Date: Sun Apr 26 13:14:52 2009 +0100 [ARM] Convert pmd_page() to be highmem safe In the long run, we may want to place page tables in highmem. However, pmd_page() has traditionally been coded to convert the physical address to a virtual one, which won't work with highmem pages. Instead, translate the physical address to a PFN, and then convert the PFN to a struct page instead. Signed-off-by: Russell King commit 701970b3a83cc639c1ec8fc6f40a7871cb99426f Author: Steven Rostedt Date: Fri Apr 24 23:11:22 2009 -0400 tracing/events: make modules have their own file_operations structure For proper module reference counting, the file_operations that modules use must have the "owner" field set to the module. Unfortunately, the trace events use share file_operations. The same file_operations are used by all both kernel core and all modules. This patch makes the modules allocate their own file_operations and copies the functions from the core kernel. This allows those file operations to be owned by the module. Care is taken to free this code on module unload. Thanks to Greg KH for reminding me that file_operations must be owned by the module to have reference counting take place. [ Impact: fix modular tracepoints / potential crash ] Signed-off-by: Steven Rostedt Acked-by: Greg Kroah-Hartman commit 32ed5058ce90024efcd811254b4b1de0468099df Author: Theodore Ts'o Date: Sat Apr 25 22:53:39 2009 -0400 ext4: Replace lock/unlock_super() with an explicit lock for resizing Use a separate lock to protect s_groups_count and the other block group descriptors which get changed via an on-line resize operation, so we can stop overloading the use of lock_super(). Signed-off-by: "Theodore Ts'o" commit 3b9d4ed26680771295d904a6b83e88e620780893 Author: Theodore Ts'o Date: Sat Apr 25 22:54:04 2009 -0400 ext4: Replace lock/unlock_super() with an explicit lock for the orphan list Use a separate lock to protect the orphan list, so we can stop overloading the use of lock_super(). Signed-off-by: "Theodore Ts'o" commit a63c9eb2ce6f5028da90f282798232c4f398ceb8 Author: Theodore Ts'o Date: Fri May 1 01:59:42 2009 -0400 ext4: ext4_mark_recovery_complete() doesn't need to use lock_super The function ext4_mark_recovery_complete() is called from two call paths: either (a) while mounting the filesystem, in which case there's no danger of any other CPU calling write_super() until the mount is completed, and (b) while remounting the filesystem read-write, in which case the fs core has already locked the superblock. This also allows us to take out a very vile unlock_super()/lock_super() pair in ext4_remount(). Signed-off-by: "Theodore Ts'o" commit 495a1b4eff1a216a3ea171ac137f1807e6555f52 Merge: ad8affd d3feaf5 Author: David S. Miller Date: Sat Apr 25 16:36:46 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 Conflicts: net/mac80211/pm.c commit 114e9fc90703bd6aac0229fb559e97caa6c49770 Author: Theodore Ts'o Date: Sat Apr 25 15:48:07 2009 -0400 ext4: Remove outdated comment about lock_super() ext4_fill_super() is no longer called by read_super(), and it is no longer called with the superblock locked. The unlock_super()/lock_super() is no longer present, so this comment is entirely superfluous. Signed-off-by: "Theodore Ts'o" commit 8df9675f8b498d0bfa1f0b5b06f56bf1ff366dd5 Author: Theodore Ts'o Date: Fri May 1 08:50:38 2009 -0400 ext4: Avoid races caused by on-line resizing and SMP memory reordering Ext4's on-line resizing adds a new block group and then, only at the last step adjusts s_groups_count. However, it's possible on SMP systems that another CPU could see the updated the s_group_count and not see the newly initialized data structures for the just-added block group. For this reason, it's important to insert a SMP read barrier after reading s_groups_count and before reading any (for example) the new block group descriptors allowed by the increased value of s_groups_count. Unfortunately, we rather blatently violate this locking protocol documented in fs/ext4/resize.c. Fortunately, (1) on-line resizes happen relatively rarely, and (2) it seems rare that the filesystem code will immediately try to use just-added block group before any memory ordering issues resolve themselves. So apparently problems here are relatively hard to hit, since ext3 has been vulnerable to the same issue for years with no one apparently complaining. Signed-off-by: "Theodore Ts'o" commit 9ca92389c5312a51e819c15c762f0abdc7f3129b Author: Theodore Ts'o Date: Fri May 1 12:52:25 2009 -0400 ext4: Use separate super_operations structure for no_journal filesystems By using a separate super_operations structure for filesystems that have and don't have journals, we can simply ext4_write_super() --- which is only needed when no journal is present --- and ext4_freeze(), ext4_unfreeze(), and ext4_sync_fs(), which are only needed when the journal is present. Signed-off-by: "Theodore Ts'o" commit 7234ab2a55e77784b44cf2d862136d9e41b8d98a Author: Theodore Ts'o Date: Thu Apr 30 21:24:04 2009 -0400 ext4: Fix and simplify s_dirt handling The s_dirt flag wasn't completely handled correctly, but it didn't really matter when journalling was enabled. It turns out that when ext4 runs without a journal, we don't clear s_dirt in places where we should have, with the result that the high-level write_super() function was writing the superblock when it wasn't necessary. So we fix this by making ext4_commit_super() clear the s_dirt flag, and removing many of the other places where s_dirt is manipulated. When journalling is enabled, the s_dirt flag might be left set more often, but s_dirt really doesn't matter when journalling is enabled. Signed-off-by: "Theodore Ts'o" commit e2d670523c6c4ccb0fca9f3ab1b8f066d9aa57d6 Author: Theodore Ts'o Date: Fri May 1 00:33:44 2009 -0400 ext4: Simplify ext4_commit_super()'s function signature The ext4_commit_super() function took both a struct super_block * and a struct ext4_super_block *, but the struct ext4_super_block can be derived from the struct super_block. Signed-off-by: "Theodore Ts'o" commit f7c439504ccba0cca43271e651013ab97a221c62 Author: Theodore Ts'o Date: Fri Apr 24 23:31:59 2009 -0400 ext4: Use is_power_of_2() for clarity Signed-off-by: Robert P. J. Day Signed-off-by: "Theodore Ts'o" commit c5ca7c7636fa689a9746b6032f83aa7fffec31c6 Author: Theodore Ts'o Date: Mon Apr 27 22:48:48 2009 -0400 ext4: Fallback to vmalloc if kmalloc can't allocate s_flex_groups array For very large filesystems, the s_flex_groups array can get quite big. For example, a filesystem that can be resized up to 16TB will have 8192 flex groups (assuming the default flex_bg size of 16), so the array is 96k, which is *very* marginal for kmalloc(). On the other hand, a 160GB filesystem without the resize_inode feature will only require 960 bytes. So we try to allocate the array first using kmalloc(), and if that fails, we'll try to use vmalloc() instead. Signed-off-by: "Theodore Ts'o" commit 29fa89d088941d79765d60f22d5ccdd6b8696e11 Author: Aneesh Kumar K.V Date: Tue May 12 16:30:27 2009 -0400 ext4: Mark the unwritten buffer_head as mapped during write_begin Setting BH_Unwritten buffer_heads as BH_Mapped avoids multiple (unnecessary) calls to get_block() during the call to the write(2) system call. Setting BH_Unwritten buffer heads as BH_Mapped requires that the writepages() functions can handle BH_Unwritten buffer_heads. After this commit, things work as follows: ext4_ext_get_block() returns unmapped, unwritten, buffer head when called with create = 0 for prealloc space. This makes sure we handle the read path and non-delayed allocation case correctly. Even though the buffer head is marked unmapped we have valid b_blocknr and b_bdev values in the buffer_head. ext4_da_get_block_prep() called for block resrevation will now return mapped, unwritten, new buffer_head for prealloc space. This avoids multiple calls to get_block() for write to same offset. By making such buffers as BH_New, we also assure that sub-block zeroing of buffered writes happens correctly. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 8fb0e342481c4d80040670fec915f0b9c7c6499a Author: Aneesh Kumar K.V Date: Tue May 12 16:22:37 2009 -0400 vfs: Add BUG_ON for delayed and unwritten flags in submit_bh() The BH_Delay and BH_Unwritten flags should never leak out to submit_bh(). So add some BUG_ON() checks to submit_bh so we can get a stack trace and determine how and why this might have happened. (Note that only XFS and ext4 use these buffer head flags, and XFS does not use submit_bh(). So this patch should only modify behavior for ext4.) Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org commit 79ffab34391933ee3b95dac7f25c0478fa2f8f1e Author: Aneesh Kumar K.V Date: Wed May 13 15:13:42 2009 -0400 ext4: Properly initialize the buffer_head state These struct buffer_heads are allocated on the stack (and hence are initialized with stack garbage). They are only used to call a get_blocks() function, so that's mostly OK, but b_state must be initialized to be 0 so we don't have any unexpected BH_* flags set by accident, such as BH_Unwritten or BH_Delay. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 060fa5c83e67901ba47ab484cfcdb32737d630ba Author: Steven Rostedt Date: Fri Apr 24 12:20:52 2009 -0400 tracing/events: reuse trace event ids after overflow With modules being able to add trace events, and the max trace event counter is 16 bits (65536) we can overflow the counter easily with a simple while loop adding and removing modules that contain trace events. This patch links together the registered trace events and on overflow searches for available trace event ids. It will still fail if over 65536 events are registered, but considering that a typical kernel only has 22000 functions, 65000 events should be sufficient. Reported-by: Li Zefan Signed-off-by: Steven Rostedt commit 78155ed75f470710f2aecb3e75e3d97107ba8374 Author: Bian Naimeng Date: Wed Apr 22 18:25:37 2009 +0800 nfsd4: distinguish expired from stale stateids If we encode the time of client creation into the stateid instead of the time of server boot, then we can determine whether that stateid is from a previous instance of the a server, or from a client that has expired, and return an appropriate error to the client. Signed-off-by: Bian Naimeng Signed-off-by: J. Bruce Fields commit a9e61e25f9d2e7e43bf17625f5cb56c9e0a89b17 Author: Felix Blyakher Date: Tue Mar 31 15:12:56 2009 -0500 lockd: call locks_release_private to cleanup per-filesystem state For every lock request lockd creates a new file_lock object in nlmsvc_setgrantargs() by copying the passed in file_lock with locks_copy_lock(). A filesystem can attach it's own lock_operations vector to the file_lock. It has to be cleaned up at the end of the file_lock's life. However, lockd doesn't do it today, yet it asserts in nlmclnt_release_lockargs() that the per-filesystem state is clean. This patch fixes it by exporting locks_release_private() and adding it to nlmsvc_freegrantargs(), to be symmetrical to creating a file_lock in nlmsvc_setgrantargs(). Signed-off-by: Felix Blyakher Signed-off-by: J. Bruce Fields commit d3feaf5ad12259927039a675cfb25dc342b403ab Author: John W. Linville Date: Fri Apr 24 15:35:42 2009 -0400 wireless: remove some (bogus?) 'may be used uninitialized' warnings net/mac80211/tx.c: In function ‘ieee80211_tx_h_select_key’: net/mac80211/tx.c:448: warning: ‘key’ may be used uninitialized in this function drivers/net/wireless/ath/ath9k/rc.c: In function ‘ath_rc_rate_getidx’: drivers/net/wireless/ath/ath9k/rc.c:815: warning: ‘nextindex’ may be used uninitialized in this function drivers/net/wireless/hostap/hostap_plx.c: In function ‘prism2_plx_probe’: drivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_index’ may be used uninitialized in this function drivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_offset’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 9b171ffe1b3004587f4a90ef293531a4a262e538 Author: John W. Linville Date: Fri Apr 24 15:30:28 2009 -0400 libertas: fix format warning drivers/net/wireless/libertas/if_spi.c: In function ‘if_spi_c2h_data’: drivers/net/wireless/libertas/if_spi.c:733: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ Signed-off-by: John W. Linville commit 008bec397cdabd22a6f4e4c16a746a86a046f8af Author: Mark Brown Date: Fri Apr 24 16:27:09 2009 +0100 ASoC: S3C2412: Failing to get the I2S clock is an error Signed-off-by: Mark Brown commit 172fd9e26200668ebaf3e1d6d09b36d5d531bfa6 Author: Mark Brown Date: Fri Apr 24 16:33:10 2009 +0100 ASoC: Fix S3C64xx IIS device registration and support both ports The S3C64xx IIS code had a number of problems with device registration. The hardware has two IIS ports of which the driver supported only one at once via a single exported DAI, attempting to identify the DAI to use based on the dev->id of the ASoC platform device. As well as limiting the driver to only supporting one IIS port at once this also meant that the ID of the soc-audio device (or in future the card device) had to match the IIS ID. Fix both problems by converting the driver to register the DAIs based on probing of platform devices registered by the arch/arm code, using those platform devices to interact with the clock API. Signed-off-by: Mark Brown commit 7629ad24f2b3df95c8b4cd8869e3c04e1df6c442 Author: Daniel Mack Date: Fri Apr 24 16:37:44 2009 +0200 ASoC: add SOC_DOUBLE_EXT macro Add a macro for double controls with special callback functions. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown commit a8353a57299f965ca8747b1b062490aef2c9ca50 Author: Peter Ujfalusi Date: Fri Apr 24 11:03:21 2009 +0300 ASoC: Beagle: Add support for 4 channel This patch adds support for the four channel TDM mode on Beagle board. Depending on the channel count, the interface needs to be configured differently (I2S for stereo DSP_A for four channels) Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit b8e65554d80b4c560d201362d0e8fa02109d89fd Author: Steven Rostedt Date: Fri Apr 24 11:50:39 2009 -0400 tracing: remove deprecated TRACE_FORMAT The TRACE_FORMAT macro has been deprecated by the TRACE_EVENT macro. There are no more users. All new users must use the TRACE_EVENT macro. [ Impact: remove old functionality ] Cc: Peter Zijlstra Signed-off-by: Steven Rostedt commit 160031b556e93590fa8635210d73d93c3d3853a9 Author: Steven Rostedt Date: Fri Apr 24 11:26:55 2009 -0400 tracing/irq: convert irq traces to use TRACE_EVENT macro The TRACE_FORMAT will soon be deprecated. This patch converts it to the TRACE_EVENT macro. Note, this change should also speed up the tracing. [ Impact: remove a user of deprecated TRACE_FORMAT ] Cc: Jason Baron Signed-off-by: Steven Rostedt commit 39517091f88fae32b52254b561ced78da1eaf0a7 Author: Steven Rostedt Date: Fri Apr 24 11:05:52 2009 -0400 tracing/lockdep: convert lockdep to use TRACE_EVENT macro The TRACE_FORMAT will soon be deprecated. This patch converts it to the TRACE_EVENT macro. Note, this change should also speed up the tracing. [ Impact: remove a user of deprecated TRACE_FORMAT ] Cc: Peter Zijlstra Signed-off-by: Steven Rostedt commit ad8affd972a705a38e769859c50ee8e749b631da Author: Alexander Beregalov Date: Fri Apr 24 04:45:33 2009 -0700 8390p: fix build breakage Fix this build error caused by 362b76edb789 "8390p: Get rid of init_module/cleanup_module" drivers/net/8390p.c:94:19: error: invalid suffix "p_init_module" on integer constant drivers/net/8390p.c:94: error: expected identifier or '(' before numeric constant drivers/net/8390p.c:99:20: error: invalid suffix "p_cleanup_module" on integer constant Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 1cb81b143fa8f0e4629f10690862e2e52ca792ff Author: Markus Metzger Date: Fri Apr 24 09:51:43 2009 +0200 x86, bts, mm: clean up buffer allocation The current mm interface is asymetric. One function allocates a locked buffer, another function only refunds the memory. Change this to have two functions for accounting and refunding locked memory, respectively; and do the actual buffer allocation in ptrace. [ Impact: refactor BTS buffer allocation code ] Signed-off-by: Markus Metzger Acked-by: Andrew Morton Cc: Peter Zijlstra LKML-Reference: <20090424095143.A30265@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 7e0bfad24d85de7cf2202a7b0ce51de11a077b21 Author: Markus Metzger Date: Fri Apr 24 09:44:48 2009 +0200 x86, bts: reenable ptrace branch trace support The races found by Oleg Nesterov have been fixed. Reenable branch trace support. Signed-off-by: Markus Metzger Acked-by: Oleg Nesterov LKML-Reference: <20090424094448.A30216@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 782cc5ae6331d63b4febaa312c9d14493aafa9b8 Author: Markus Metzger Date: Fri Apr 24 09:43:09 2009 +0200 x86, ds: fix buffer alignment in debug store selftest The debug store selftest code uses a stack-allocated buffer, which is not necessarily correctly aligned. For tests using a buffer to hold a single entry, the buffer that is passed to ds_request must already be suitably aligned. Pass a suitably aligned portion of the bigger buffer. [ Impact: fix hw-branch-tracer self-test failure ] Signed-off-by: Markus Metzger Cc: markus.t.metzger@gmail.com LKML-Reference: <20090424094309.A30145@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 416dfdcdb894432547ead4fcb9fa6a36b396059e Merge: 56449f4 0910697 Author: Ingo Molnar Date: Fri Apr 24 10:11:18 2009 +0200 Merge commit 'v2.6.30-rc3' into tracing/hw-branch-tracing Conflicts: arch/x86/kernel/ptrace.c Merge reason: fix the conflict above, and also pick up the CONFIG_BROKEN dependency change from upstream so that we can remove it here. Signed-off-by: Ingo Molnar commit 3e98f9f15e916c48dfc5231d7e6a59be7f122764 Author: Paul Mundt Date: Fri Apr 24 15:39:39 2009 +0900 sh: pci: Fix up the build for CONFIG_PCI=n. Signed-off-by: Paul Mundt commit 0cfcdedaddf2468cb53e3cff9c3abfef14b4d784 Author: Krzysztof Helt Date: Thu Apr 23 21:46:19 2009 +0200 ALSA: sc6000: fix older card initialization The last patch to handle newer cards like SC7000 broke initialization of the SC6000. Fix this. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 334d4169a6592d3fcd863bbe822a8f6985ffa9af Author: Lai Jiangshan Date: Fri Apr 24 11:27:05 2009 +0800 ring_buffer: compressed event header RB_MAX_SMALL_DATA = 28bytes is too small for most tracers, it wastes an 'u32' to save the actually length for events which data size > 28. This fix uses compressed event header and enlarges RB_MAX_SMALL_DATA. [ Impact: saves about 0%-12.5%(depends on tracer) memory in ring_buffer ] Signed-off-by: Lai Jiangshan LKML-Reference: <49F13189.3090000@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit c2518c4366f087ebc10b3919cb2461bbe4f42d0c Author: Steven Rostedt Date: Thu Apr 23 23:26:18 2009 -0400 tracing: fix cut and paste macro error In case a module uses the TRACE_EVENT macro for creating automated events in ftrace, it may choose to use a different file name than the defined system name, or choose to use a different path than the default "include/trace/events" include path. If this is done, then before including trace/define_trace.h the header would define either "TRACE_INCLUDE_FILE" for the file name or "TRACE_INCLUDE_PATH" for the include path. If it does not define these, then the define_trace.h defines them instead. If define trace defines them, then define_trace.h should also undefine them before exiting. To do this a macro is used to note this: #ifndef TRACE_INCLUDE_FILE # define TRACE_INCLUDE_FILE TRACE_SYSTEM # define UNDEF_TRACE_INCLUDE_FILE #endif [...] #ifdef UNDEF_TRACE_INCLUDE_FILE # undef TRACE_INCLUDE_FILE # undef UNDEF_TRACE_INCLUDE_FILE #endif The UNDEF_TRACE_INCLUDE_FILE acts as a CPP variable to know to undef the TRACE_INCLUDE_FILE before leaving define_trace.h. Unfortunately, due to cut and paste errors, the macros between FILE and PATH got mixed up. [ Impact: undef TRACE_INCLUDE_FILE and/or TRACE_INCLUDE_PATH when needed ] Signed-off-by: Steven Rostedt commit d7285c6b5c54397fdf112c2fb98ee43193173aa9 Author: Chris Wright Date: Thu Apr 23 10:21:38 2009 -0700 x86: use native register access for native tlb flushing currently these are paravirtulaized, doesn't appear any callers rely on this (no pv_ops backends are using native_tlb and overriding cr3/4 access). [ Impact: fix lockdep warning with paravirt and function tracer ] Signed-off-by: Chris Wright LKML-Reference: <20090423172138.GR3036@sequoia.sous-sol.org> Signed-off-by: Steven Rostedt commit 75db37d2f4c0ad9466ead57d467277d097b4105c Author: Steven Rostedt Date: Thu Mar 26 11:43:36 2009 -0400 tracing: add size checks for exported ftrace internal structures The events exported by TRACE_EVENT are automated and are guaranteed to be correct when used. The internal ftrace structures on the other hand are more manually exported. These require the ftrace maintainer to make sure they are up to date. This patch adds a size check to help flag when a type changes in an internal ftrace data structure, and the update needs to be reflected in the export. If a export is incorrect, then the only harm is that the user space tools will not know how to correctly read the internal structures of ftrace. [ Impact: help prevent inconsistent ftrace format print outs ] Signed-off-by: Steven Rostedt commit 89ec0dee9eba6275d47be0b878cf5f6d5c2fb6eb Author: Steven Rostedt Date: Thu Mar 26 11:03:29 2009 -0400 tracing: increase size of number of possible events With the new event tracing registration, we must increase the number of events that can be registered. Currently the type field is only one byte, which leaves us only 256 possible events. Since we do not save the CPU number in the tracer anymore (it is determined by the per cpu ring buffer that is used) we have an extra byte to use. This patch increases the size of type from 1 byte (256 events) to 2 bytes (65,536 events). It also adds a WARN_ON_ONCE if we exceed that limit. [ Impact: allow more than 255 events ] Signed-off-by: Steven Rostedt commit 9be24414aad047dcf9d8d2a9a929321536c7ebec Author: Steven Rostedt Date: Thu Mar 26 10:25:24 2009 -0400 tracing/wakeup: move access to wakeup_cpu into spinlock The code had the following outside the lock: if (next != wakeup_task) return; pc = preempt_count(); /* The task we are waiting for is waking up */ data = wakeup_trace->data[wakeup_cpu]; On initialization, wakeup_task is NULL and wakeup_cpu -1. This code is not under a lock. If wakeup_task is set on another CPU as that task is waking up, we can see the wakeup_task before wakeup_cpu is set. If we read wakeup_cpu while it is still -1 then we will have a bad data pointer. This patch moves the reading of wakeup_cpu within the protection of the spinlock used to protect the writing of wakeup_cpu and wakeup_task. [ Impact: remove possible race causing invalid pointer dereference ] Reported-by: Maneesh Soni Signed-off-by: Steven Rostedt commit eb990b5533cfbddfac6efe783a349525907d1c26 Author: David Brownell Date: Thu Apr 23 19:25:29 2009 -0700 Input: add dm355evm_keys driver Simple input driver support for the events reported by the MSP430 firmware on the DM355 EVM. Verified using the RC5 remote included with the kit; docs weren't quite right. Some of the keycode selections might need improvement; they can be remapped, so there's at least a runtime workaround. (I also suspect Linux may someday merit more generic support for RC5 based remote controls.) These events don't distinguish key press vs release events, so this reports both and then skips the next event if it's identical. The RC5 remote codes include a "toggle" bit that can help detect autorepeated keys; but this driver doesn't bother with those nuances. This driver relies on the drivers/mfd/dm355evm_msp.c code for core features, including sharing I2C access to this firmware with GPIO, LED, and RTC support. [dtor@mail.ru: fix error unwindng path in probe()] Signed-off-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Dmitry Torokhov commit 80492e7d49bee0a280a84a39075a7857b92836b2 Author: Roel Kluin Date: Tue Apr 21 16:08:39 2009 +0200 rpcgss: remove redundant test on unsigned Signed-off-by: Roel Kluin Signed-off-by: J. Bruce Fields commit b656eba122929881c52d38ae16637167aaa5b88b Merge: 24fc484 b930f96 Author: Bartlomiej Zolnierkiewicz Date: Thu Apr 23 22:56:58 2009 +0200 Merge branch 'for-linus' into for-next commit 8a1f936acdfd53cb0a981f3f80483863dcd84fa9 Author: Peter Ujfalusi Date: Thu Apr 23 14:36:49 2009 +0300 ASoC: TWL4030: Add 4 channel TDM support Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl4030 codec. The channel allocations are: Playback: TDM i2s TWL RX Channel 1 Left SDRL2 Channel 3 Right SDRR2 Channel 2 -- SDRL1 Channel 4 -- SDRR1 Capture: TDM i2s TWL TX Channel 1 Left TXL1 Channel 3 Right TXR1 Channel 2 -- TXL2 Channel 4 -- TXR2 Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 31a00c6b7c0c4f01be49f02660de920c8b82b613 Author: Peter Ujfalusi Date: Thu Apr 23 14:36:48 2009 +0300 ASoC: OMAP: Add 4 channel support to mcbsp Add 4 channel support to omap-mcbsp. This mode is going to be used by the twl4030 codec, when it is configured in Option1 mode. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit b933453f1965c1e3136cb5fd69abd6e6927fb5d7 Merge: 8eb9fea a396e32 Author: Mark Brown Date: Thu Apr 23 16:09:52 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit d93fe1a144c1a4312972bedbefc2213aa8b88612 Author: Ursula Braun Date: Thu Apr 23 06:37:16 2009 -0700 af_iucv: Fix merge. From: Ursula Braun net/iucv/af_iucv.c in net-next-2.6 is almost correct. 4 lines should still be deleted. These are the remaining changes: Signed-off-by: David S. Miller commit 5802b140ed52957ad150eaf40239a95f5f45fbd3 Merge: 09488e2 29fe1b4 Author: David S. Miller Date: Thu Apr 23 04:08:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/iucv/af_iucv.c commit 09488e2e0fab14ebe41135f0d066cfe2c56ba9e5 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:27 2009 +0000 af_iucv: New socket option for setting IUCV MSGLIMITs The SO_MSGLIMIT socket option modifies the message limit for new IUCV communication paths. The message limit specifies the maximum number of outstanding messages that are allowed for connections. This setting can be lowered by z/VM when an IUCV connection is established. Expects an integer value in the range of 1 to 65535. The default value is 65535. The message limit must be set before calling connect() or listen() for sockets. If sockets are already connected or in state listen, changing the message limit is not supported. For reading the message limit value, unconnected sockets return the limit that has been set or the default limit. For connected sockets, the actual message limit is returned. The actual message limit is assigned by z/VM for each connection and it depends on IUCV MSGLIMIT authorizations specified for the z/VM guest virtual machine. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 802788bf90f78e7f248e78d4d0510bb00e976db8 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:26 2009 +0000 af_iucv: cleanup and refactor recvmsg() EFAULT handling If the skb cannot be copied to user iovec, always return -EFAULT. The skb is enqueued again, except MSG_PEEK flag is set, to allow user space applications to correct its iovec pointer. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit aa8e71f58ab8e01d63c33df40ff1bcb997c9df92 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:25 2009 +0000 af_iucv: Provide new socket type SOCK_SEQPACKET This patch provides the socket type SOCK_SEQPACKET in addition to SOCK_STREAM. AF_IUCV sockets of type SOCK_SEQPACKET supports an 1:1 mapping of socket read or write operations to complete IUCV messages. Socket data or IUCV message data is not fragmented as this is the case for SOCK_STREAM sockets. The intention is to help application developers who write applications or device drivers using native IUCV interfaces (Linux kernel or z/VM IUCV interfaces). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 44b1e6b5f9a93cc2ba024e09cf137d5f1b5f8426 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:24 2009 +0000 af_iucv: Modify iucv msg target class using control msghdr Allow 'classification' of socket data that is sent or received over an af_iucv socket. For classification of data, the target class of an (native) iucv message is used. This patch provides the cmsg interface for iucv_sock_recvmsg() and iucv_sock_sendmsg(). Applications can use the msg_control field of struct msghdr to set or get the target class as a "socket control message" (SCM/CMSG). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b8942e3b6c4b35dda5e8ca75aec5e2f027fe39a9 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:23 2009 +0000 af_iucv: Support data in IUCV msg parameter lists (IPRMDATA) The patch allows to send and receive data in the parameter list of an iucv message. The parameter list is an arry of 8 bytes that are used by af_iucv as follows: 0..6 7 bytes for socket data and 7 1 byte to store the data length. Instead of storing the data length directly, the difference between 0xFF and the data length is used. This convention does not interfere with the existing use of PRM messages for shutting down the send direction of an AF_IUCV socket (shutdown() operation). Data lenghts greater than 7 (or PRM message byte 8 is less than 0xF8) denotes to special messages. Currently, the special SEND_SHUTDOWN message is supported only. To use IPRM messages, both communicators must set the IUCV_IPRMDATA flag during path negotiation, i.e. in iucv_connect() and path_pending(). To be compatible to older af_iucv implementations, sending PRM messages is controlled by the socket option SO_IPRMDATA_MSG. Receiving PRM messages does not depend on the socket option (but requires the IUCV_IPRMDATA path flag to be set). Sending/Receiving data in the parameter list improves performance for small amounts of data by reducing message_completion() interrupts and memory copy operations. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9d5c5d8f4105dc56ec10864b195dd1714f282c22 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:22 2009 +0000 af_iucv: add sockopt() to enable/disable use of IPRM_DATA msgs Provide the socket operations getsocktopt() and setsockopt() to enable/disable sending of data in the parameter list of IUCV messages. The patch sets respective flag only. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit af88b52def76679c8c5bcdbed199fbe62b6a16d4 Author: Hendrik Brueckner Date: Tue Apr 21 23:26:21 2009 +0000 af_iucv: sync sk shutdown flag if iucv path is quiesced If the af_iucv communication partner quiesces the path to shutdown its receive direction, provide a quiesce callback implementation to shutdown the (local) send direction. This ensures that both sides are synchronized. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 42e1b4c2c6c823ae26e64c557addf5329a7735b7 Author: Ursula Braun Date: Tue Apr 21 23:26:20 2009 +0000 iucv: provide second per-cpu IUCV command parameter block Some of the IUCV commands can be invoked in interrupt context. Those commands need a different per-cpu IUCV command parameter block, otherwise they might overwrite an IUCV command parameter of a not yet finished IUCV command invocation in process context. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 8eb9feabe566d8272510d5fb33f55a72e3ab3ce4 Author: Eric Miao Date: Thu Apr 23 17:57:46 2009 +0800 ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp The original idea came from pHilipp, and this makes the code looks more consistent. Signed-off-by: Eric Miao Signed-off-by: Mark Brown commit 049da6393fb30b62e418beb59a74dfcad513fc6d Merge: 2d7e71f 19ab054 Author: Mark Brown Date: Thu Apr 23 10:37:17 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 2d7e71fa231035d69faffbfe506ef23638385994 Author: Eric Miao Date: Thu Apr 23 17:05:38 2009 +0800 ASoC: simplify the SSP DMA parameters settings by run-time generation The SSP DMA parameters can actually be easily generated at run-time since they are almost similar except for the FIFO width and direction. Another benefit is the re-use of information from 'struct ssp_device', like SSDR physical FIFO address and DRCMR register index for both directions. Signed-off-by: Eric Miao Signed-off-by: Mark Brown Reviewed-by: pHilipp Zabel commit 1a787e7ad242312af0afb2156596d42ee5e0c6bc Author: Joonyoung Shim Date: Wed Apr 22 13:13:34 2009 +0900 ASoC: TWL4030: Add VDL path support Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we have to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headset Left/Right, Carkit Left/Right) from mux to mixer. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1965c85331ed29dc4fd32479ff31663e3e9a518f Author: Jouni Malinen Date: Wed Apr 22 21:38:25 2009 +0300 nl80211: Add event for authentication/association timeout SME needs to be notified when the authentication or association attempt times out and MLME has stopped processing in order to allow the SME to decide what to do next. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit ff2ba188fc5eaae529cb2ef9b127c3ca2a7df4b9 Author: John W. Linville Date: Wed Apr 22 13:27:08 2009 -0400 rndis_wlan: select CFG80211 in Kconfig Signed-off-by: John W. Linville commit 04fe20372e70685d9f15966216cdffd3795fe590 Author: Johannes Berg Date: Wed Apr 22 18:44:37 2009 +0200 mac80211: calculate maximum sleep interval The maximum sleep interval, for powersave purposes, is determined by the DTIM period (it may not be larger) and the required networking latency (it must be small enough to fulfil those constraints). This makes mac80211 calculate the maximum sleep interval based on those constraints, and pass it to the driver. Then the driver should instruct the device to sleep at most that long. Note that the device is responsible for aligning the maximum sleep interval between DTIMs, we make sure it's not longer but it needs to make sure it's between them. Also, group some powersave documentation together and make it more explicit that we support managed mode only, and no IBSS powersaving (yet). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8e30bc55de98c000b0b836cb42525c82f605f191 Author: Johannes Berg Date: Wed Apr 22 17:45:38 2009 +0200 nl80211: allow configuring IBSS beacon interval Make the JOIN_IBSS command look at the beacon interval attribute to see if the user requested a specific beacon interval, if not default to 100 TU (wext too). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e255d5eb2b478eec1416b46aea03798b64355402 Author: Johannes Berg Date: Wed Apr 22 12:40:07 2009 +0200 mac80211: remove IEEE80211_CONF_CHANGE_DYNPS_TIMEOUT Just setting IEEE80211_CONF_CHANGE_PS should be sufficient for changes in the power saving things. The driver already tells us whether it wants notification of dynps via the "have dynps support" hw flag. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 1d4df3a50f40a731fc03c86a76535ed141b0e4bc Author: Johannes Berg Date: Wed Apr 22 11:25:43 2009 +0200 mac80211: fix variable truncation on 32-bit Stephen Rothwell reported these warnings from a 32-bit build: net/mac80211/mlme.c:1771: warning: left shift count >= width of type net/mac80211/mlme.c:1772: warning: left shift count >= width of type net/mac80211/mlme.c:1773: warning: left shift count >= width of type net/mac80211/mlme.c:1774: warning: left shift count >= width of type net/mac80211/mlme.c:1775: warning: left shift count >= width of type This shows a bug in my code -- BIT(X) uses just "1 << X" which means a 32-bit integer on 32-bit platforms, but the code here needs a u64 on all platforms. Fix this by using "1ULL << X" instead of BIT(X). Thanks Stephen! Reported-by: Stephen Rothwell Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eb1a685e07310b5137c561e25ab738292db2c8a5 Author: Jussi Kivilinna Date: Tue Apr 21 19:48:15 2009 +0300 rndis_wlan: free priv correctly when rndis_wext_bind fails Private structure is allocated by wiphy_new now, so use wiphy_free instead of kfree. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8d4d99ae89a8845a1d63b0529dd98da28dc0ff65 Author: Jussi Kivilinna Date: Tue Apr 21 19:48:07 2009 +0300 rndis_wlan: fix initialization order for workqueue&workers rndis_wext_link_change() might be called from rndis_command() at initialization stage and priv->workqueue/priv->work have not been initialized yet. This causes invalid opcode at rndis_wext_bind on some brands of bcm4320. Fix by initializing workqueue/workers in rndis_wext_bind() before rndis_command is used. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit caa6dfadebee2098e9c5ece1d5efae96a6926d0f Author: Johannes Berg Date: Tue Apr 21 10:55:10 2009 +0200 rndis_wlan: make some symbols static sparse complains, correctly, about these: drivers/net/wireless/rndis_wlan.c:418:21: warning: symbol 'rndis_config_ops' was not declared. Should it be static? drivers/net/wireless/rndis_wlan.c:423:6: warning: symbol 'rndis_wiphy_privid' was not declared. Should it be static? Fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 29b4a4f7c7b588b5568edd0da42f38623b81fc66 Author: Johannes Berg Date: Tue Apr 21 00:30:49 2009 +0200 mac80211: fix IBSS code to not sleep while atomic With the RCU locking here we sleep while in an atomic context, since we can sleep just use mutex locking for the interface list instead of RCU. Sorry, seems I didn't get that in my UML test. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0cf4c01ebe2ccf4487fe9301bab905365dca06c3 Author: Mohamed Abbas Date: Mon Apr 20 14:37:04 2009 -0700 iwlwifi: allow config if device not ready Allow user to config the device all the time but only allow commiting these changes to card if the card is up and running. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 09f9bf79b7870ac017a94f7f9b603c2e28ac73f7 Author: Abhijeet Kolekar Date: Mon Apr 20 14:37:03 2009 -0700 iwlwifi: remove radio disable parameter. Patch removes the "manual radio disable" parameter as there is no usage scenario of disabling radio using this module parameter. User can use iwconfig's txpower to enable and disable radio. This module parameter also does not work as expected. During module load the status of radio is set, the radio is not actually disabled. Even so, the moment mac80211 requests the interface to be up the radio will be enabled again. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 447fee700f6cb7ada906c5db61c6c045741893e8 Author: Mohamed Abbas Date: Mon Apr 20 14:37:02 2009 -0700 iwlcore: Fix stay in table function. Function rs_stay_in_table was flushing the rate scale table way to early. time_after macro in expecting long value and was failing because we passing u32 value. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 279b05d4362472ae9269f982f00e644265bdbf94 Author: Wey-Yi Guy Date: Mon Apr 20 14:37:00 2009 -0700 iwlwifi: clean up unused NL80211_IFTYPE_MONITOR for Monitor mode This patch clean up the code for NL80211_IFTYPE_MONITOR mode, priv->iw_mode is set in add_interface, but add_interface is never called for monitor mode. The only way mac80211 informs us about monitor mode is through configuring filter; since iw_mode will never set to NL80211_IFTYPE_MONITOR, modify and remove all the code refer to NL80211_IFTYPE_MONITOR and replace with iwl_is_monitor_mode() function call. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 86ddbf62c2daefebba13e3c79f88cbdfde766176 Author: Abhijeet Kolekar Date: Mon Apr 20 14:36:59 2009 -0700 iwl3945: calculate debugfs isr statistics This patch calculates interrupt statistics for debugfs. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a75fbe8d68ceace836b27c216a5eda1c4687be4b Author: Abhijeet Kolekar Date: Mon Apr 20 14:36:58 2009 -0700 iwl3945: add debugfs to 3945 Patch adds debugfs to 3945. Also fix debugfs registration in iwlagn to return error code if it fails. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b097ad29752f909ec1121ac3dc57d348f08dd8d7 Author: Johannes Berg Date: Mon Apr 20 14:36:57 2009 -0700 iwlwifi: support truly passive scanning If passive scanning is requested we should not ask the microcode to do active scanning after detecting traffic on a channel -- that should only be used when an active scan is requested but some channels are marked passive. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1ecf9fc1317f8df91eb1d74360f408558d657478 Author: Johannes Berg Date: Mon Apr 20 14:36:56 2009 -0700 iwlwifi: improve scan support This modifies iwlwifi to * no longer build its own probe request, but use mac80211's * therefore, support arbitrary scan IEs (up to the max len) * support multiple scan SSIDs * support passive scanning Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9b3bf06abad70db820c74c90118ea49358549d22 Author: Johannes Berg Date: Mon Apr 20 14:36:55 2009 -0700 iwlwifi: rename PROBE_OPTION_MAX_API1 to PROBE_OPTION_MAX_3945 This limit applies to current (APIv1 and APIv2) 3945 firmware only, not supported firmware of any of the other cards. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cca84799dfe9f5201ae9c69eb8ed15fd26b72b37 Author: Christian Lamparter Date: Sun Apr 19 01:28:12 2009 +0200 ar9170: rework rxstream code With this patch ar9170 is capable of receiving aggregated 802.11n frames and sniffing on most networks without having a "debug message overhead". (Includes phy initialization requested by Johannes Berg -- JWL) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e7ec86f54e519e8e86f1cf328db13263f3ef8bd4 Author: Johannes Berg Date: Sat Apr 18 17:33:24 2009 +0200 mac80211: validate TIM IE length (redux) The TIM IE must not be shorter than 4 bytes, so verify that when parsing it and use the proper type. To ease that adjust struct ieee80211_tim_ie to have a virtual bitmap of size at least 1. Also check that the TIM IE is actually present before trying to parse it! Because other people may need the function, make it a static inline in ieee80211.h. (The original "mac80211: validate TIM IE length" was a minimal fix for 2.6.30. This purports to be the full, correct fix. -- JWL) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ba44cb7226afd4e19308c1d8a90e8b7c566c0d8b Author: Johannes Berg Date: Mon Apr 20 18:49:39 2009 +0200 cfg80211: mark all WEXT handlers _GPL The fact that these are exported is a technical detail of the conversion period -- we don't want anybody to start relying on these. Ultimately we want things to use cfg80211 only, and once everything that is in wext is converted to cfg80211 drivers will not need to touch wext _at all_. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9d308429a9fd0fa644f0b748f6241631f74a6cda Author: Johannes Berg Date: Mon Apr 20 18:43:46 2009 +0200 cfg80211: clear WEXT SSID when clearing IBSS When we leave an IBSS, we should clear the SSID and not just the BSSID, but since WEXT allows configuring while the interface is down we must not clear it when leaving due to taking the iface down, so some complications are needed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b9a5f8cab751d362f7c2d94899ca788c22fcd1ef Author: Jouni Malinen Date: Mon Apr 20 18:39:05 2009 +0200 nl80211: Add set/get for frag/rts threshold and retry limits Add new nl80211 attributes that can be used with NL80211_CMD_SET_WIPHY and NL80211_CMD_GET_WIPHY to manage fragmentation/RTS threshold and retry limits. Since these values are stored in struct wiphy, remove the local copy from mac80211 where feasible (frag & rts threshold). The retry limits are currently needed in struct ieee80211_conf, but these could be eventually removed since the driver should have access to the values in struct wiphy. Signed-off-by: Jouni Malinen Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9e52b0623c6eb49c3f23a326c1fb97bdecc49ba1 Author: Johannes Berg Date: Mon Apr 20 18:27:04 2009 +0200 ar9170: support HT receive and channel config This patch adds support for configuring HT40 channels and receiving HT40 to ar9170. Receiving aggregation doesn't seem to work right now, so it's not enabled. Same goes for TX aggregation, but that probably needs even more work. With this, I can receive roughly 33 Mbits/sec. The HT capabilities are a little odd, I tried following otus here -- in particular having SGI_40 but not SGI_20 is a little weird but afaict that's what otus does. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 314bd7503b1e96841931311f28a8925dab66ed83 Author: Johannes Berg Date: Mon Apr 20 15:17:01 2009 +0200 rndis_wlan: remove nickname support Supporting wireless extension nickname is pointless and no other modern driver supports this, so remove it. Signed-off-by: Johannes Berg Acked-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d323655372590c533c275b1d798f9d1221efb5c6 Author: Johannes Berg Date: Mon Apr 20 14:31:42 2009 +0200 cfg80211: clean up includes Trying to separate header files into net/wireless.h and net/cfg80211.h has been a source of confusion. Remove net/wireless.h (because there also is the linux/wireless.h) and subsume everything into net/cfg80211.h -- except the definitions for regulatory structures which get moved to a new header net/regulatory.h. The "new" net/cfg80211.h is now divided into sections. There are no real changes in this patch but code shuffling and some very minor documentation fixes. I have also, to make things reflect reality, put in a copyright line for Luis to net/regulatory.h since that is probably exclusively written by him but was formerly in a file that only had my copyright line. Signed-off-by: Johannes Berg Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit af8cdcd828ad751fae8e6cbfe94eef9f2f23b14b Author: Johannes Berg Date: Sun Apr 19 21:25:43 2009 +0200 mac80211: convert to cfg80211 IBSS API This converts mac80211 to the new cfg80211 IBSS API, the wext handling functions are called where appropriate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 04a773ade0680d862b479d7219973df60f7a3834 Author: Johannes Berg Date: Sun Apr 19 21:24:32 2009 +0200 cfg80211/nl80211: add IBSS API This adds IBSS API along with (preliminary) wext handlers. The wext handlers can only do IBSS so you need to call them from your own wext handlers if the mode is IBSS. The nl80211 API requires * an SSID * a channel (frequency) for the case that a new IBSS has to be created It optionally supports * a flag to fix the channel * a fixed BSSID The cfg80211 code also takes care to leave the IBSS before the netdev is set down. If wireless extensions are used, it also caches values when the interface is down and instructs the driver to join when the interface is set up. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 691597cb26f236ac7471f1adf925a134c86799d6 Author: Johannes Berg Date: Sun Apr 19 19:57:45 2009 +0200 cfg80211/mac80211: move wext SIWMLME into cfg80211 Since we have ->deauth and ->disassoc we can support the wext SIWMLME call directly without driver wext handlers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d726405af6c8c81d2ee5e6a29301c68b9d4c574f Author: Johannes Berg Date: Sun Apr 19 16:23:20 2009 +0200 nl80211: send wiphy along with netdev When listing all wireless netdevs in the system this is useful to print which wiphy they belong to. Just add the attribute, any program that doesn't care will just ignore it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fef99929cd6b409a67a35e41f7c177bade5bca34 Author: Christian Lamparter Date: Sat Apr 18 19:39:15 2009 +0200 mac80211: set CLEAR_PS for pspolled frames This patch sets IEEE80211_TX_CTL_CLEAR_PS_FILT for outgoing frames for a half-wake station. this is necessary if one wants to get ps-poll working properly with a p54 ap. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d577e7cdb1be027bc51ee1030bc7fd647ea6d0da Author: Christian Lamparter Date: Sat Apr 18 18:30:13 2009 +0200 p54: fix ps-poll delivery in ap mode PS-Polled frames must be sent with OUT_NOCANCEL flag set, or the firmware will reject all of them, at the station is still blacklisted. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a027087a6b4c7d985b872cac3e19ce023670792e Author: Larry Finger Date: Thu Apr 16 19:56:38 2009 -0500 rtl8187: Implement TX/RX blink for LED The following patch implements some control over the LED on RTL8187B and RTL8187L devices. Triggers are registered for TX and RX. Whenever the trigger event occurs, the LED is turned off for 1/20 second, then turned back on. Note: For those RTL8187X devices that are built into the computer and have a LED that is expected to be controlled with a radio switch, this patch will not operate that LED. That will take a separate patch to be prepared later. Signed-off-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Tested-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 357303e2b61272b191f2e5d782d94fdd8f50fd71 Author: Jouni Malinen Date: Thu Apr 16 18:44:53 2009 +0300 mac80211: Allow scan to be requested in AP mode We can allow scan requests in AP mode as long as the interface has not yet been configured to send out Beacon frames (or if beaconing has been disabled prior to the scan request). This makes it easier to scan for neighboring BSSes during AP initialization and makes it possible to run a scan without setting the interface down, if needed. Without this change, the only available option would be to set the interface down, move into station mode, and set the interface up, prior to requesting the scan. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 955394c98c9cb79bdb3e6b479695af3a90ea0623 Author: Johannes Berg Date: Thu Apr 16 17:04:25 2009 +0200 mac80211: document powersaving/beacon filter future Document what mac80211 will do in the future to help save power. We're not quite there yet, but a plan helps. Also, while at it, fix the docs wrt. multicast traffic. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit bbbdff9e00449928f228867076a07bdfecd3dca8 Author: Johannes Berg Date: Thu Apr 16 13:27:42 2009 +0200 mac80211: enable PS by default Enable PS by default (depending on Kconfig) -- rely on drivers to control the level using pm_qos. Due to the previous patch we turn off PS when necessary due to latency requirements. This has a Kconfig symbol so people can, if they really want, configure the default in their kernels. We may want to keep it at "default y" only in wireless-testing for a while. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d91f36db51661018f6d54ff5966e283bcec4c545 Author: Johannes Berg Date: Thu Apr 16 13:17:26 2009 +0200 mac80211: implement beacon filtering in software Regardless of whether the hardware implements beacon filtering, there's no need to process all beacons in software all the time throughout the stack (mac80211 does a lot, then cfg80211, then in the future possibly userspace). This patch implements the "best possible" beacon filtering in mac80211. "Best possible" means that it can look for changes in all requested information elements, and distinguish vendor IEs by their OUI. In the future, we will add nl80211 API for userspace to request information elements and vendor IE OUIs to watch -- drivers can then implement the best they can do while software implements it fully. It is unclear whether or not this actually saves CPU time, but the data is all in the cache already so it should be fairly cheap. The additional _testing_, however, has great benefit; Without this, and on hardware that doesn't implement beacon filtering, wrong assumptions about, for example, scan result updates could quickly creep into code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10f644a47b76d3e61b98f2d02ce9690b94c51ee5 Author: Johannes Berg Date: Thu Apr 16 13:17:25 2009 +0200 mac80211: disable powersave if pm_qos asks for low latency When an application asks for a latency lower than the beacon interval there's nothing we can do -- we need to stay awake and not have the AP buffer frames for us. Add code to automatically calculate this constraint in mac80211 so drivers need not concern themselves with it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 965bedadc01d34027455d5d5b67063ef0209c955 Author: Johannes Berg Date: Thu Apr 16 13:17:24 2009 +0200 mac80211: improve powersave implementation When you have multiple virtual interfaces the current implementation requires setting them up properly from userspace, which is undesirable when we want to default to power save mode. Keep track of powersave requested from userspace per managed mode interface, and only enable powersave globally when exactly one managed mode interface is active and has powersave turned on. Second, only start the dynPS timer when PS is turned on, and properly turn it off when PS is turned off. Third, fix the scan_sdata abuse in the dynps code. Finally, also reorder the code and refactor the code that enables PS or the dynps timer instead of having it copied in two places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dc7d243d75b906cc964c12caa3b2eebe953a69be Author: Marek Vasut Date: Tue Mar 24 21:33:43 2009 +0100 Add support for CF8381 WiFi card. A detection function was added for identifying CF8381. Signed-off-by: Marek Vasut Acked-by: Dan Williams Signed-off-by: John W. Linville commit fade5db4f227bf59874efd6023f39d345e17e2a4 Author: Christian Lamparter Date: Fri Apr 17 15:14:22 2009 +0200 p54: deactivate broken powersave function (part 2) This patch deactivates powersave in station mode. It does not work correctly yet, so the code does more harm than good. (I split the original patch and sent part of it for 2.6.30, which didn't have the IEEE80211_HW_BEACON_FILTER flag. -- JWL) Reported-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 85efc86eb7c6cbb1c8ce8d99b10b948be033fbb9 Author: Luis R. Rodriguez Date: Mon Apr 13 21:41:46 2009 -0400 atheros: fix propagation of bad EEPROM on regulatory init When the EEPROM is not in good condition we cannot continue so we currently bail out but only ath5k is bailing out properly. Both ath9k and ar9170 were proceeding and if a user were to run into this they'd see an obscure panic. Lets propagate the error as intended and make sure we inform the user by lifting the error message from debug to a kernel error. Stable note: You can find a port of this page here: http://bombadil.infradead.org/~mcgrof/patches/ath9k/ath9k-fix-eeprom.patch.txt Cc: stable@kernel.org Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 26925042b6b105995ee54c6015e95f0caf9632d6 Author: Bob Copeland Date: Wed Apr 15 07:57:36 2009 -0400 ath5k: manipulate rxlink and descriptor address under rxbuf lock Grabbing an ath5k_buf then dropping the lock is racy because the referenced descriptor can be obtained in another thread and released before the buffer is handed to the hardware. Likewise, manipulating sc->rxlink without the lock can lead to having multiple self-linked hardware descriptors. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit c57ca81576e7ca0369ea52c9ac5f35d0f6ca1270 Author: Bob Copeland Date: Wed Apr 15 07:57:35 2009 -0400 ath5k: use rx hw descriptor pointer for self-linked check This patch simplifies the code used to detect when the self-linked DMA buffer is still in use by hardware, by checking the hardware's rxdp register instead of looking at the software buffer list. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 46802a4f07cd2367d584bb1a2e6998d22d4d4f3a Author: Bob Copeland Date: Wed Apr 15 07:57:34 2009 -0400 ath5k: use bool for modparams Current code uses int types, but both modparams are boolean values. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 56d2ac763829d2443075e8266dd00166ee11c80d Author: Bob Copeland Date: Wed Apr 15 07:57:33 2009 -0400 ath5k: use tasklet_hi_schedule for beacon queue For embedded platforms, beacon transmission can be starved when flooded with data packets. Prioritize beacons by giving the beacon queue the first shot when the isr completes. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 77ded01cc25744245c58a369d24e251833e995bd Author: Bob Copeland Date: Wed Apr 15 07:57:32 2009 -0400 ath5k: fix initvals errors This patch corrects a few errors in the initvals tables to match those in the HAL tables. Namely, remove a couple of repetitions, fix some turbo mode errors, and correct a register for the CCK rate power table. Changes-licensed-under: ISC Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 45f483c00299807a1635d6ee327957b796b60076 Author: Christian Lamparter Date: Tue Apr 14 22:19:29 2009 +0200 p54: remove module_ stubs Christoph Hellwig pointed out that these stubs are unnecessary. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 882b709230246de3359b04b195ad3e80b93b73ef Author: Vivek Natarajan Date: Tue Apr 14 16:21:01 2009 +0530 ath9k: Disable autosleep feature for AR9285 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f2753ddbadb0873a98421415882318251bbd9eaa Author: Johannes Berg Date: Tue Apr 14 10:09:24 2009 +0200 mac80211: add hardware restart function Some hardware defects may require the hardware to be re-initialised completely from scratch. Drivers would need much information (for instance the current MAC address, crypto keys, beaconing information, etc.) stored duplicated from mac80211 to be able to do this, so let mac80211 help them. The new ieee80211_restart_hw() function requires the same code as resuming, so move that code into a new ieee80211_reconfig() function in util.c and leave only the suspend code in pm.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a1c555802a62c845520d2486d783c9bb1d5e68a9 Author: Christian Lamparter Date: Tue Apr 14 22:11:20 2009 +0200 ath: add module information This patch adds licensing, author information and a description to the module. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 06bfd0d3dbe965de4f60079955cca19d7e853c60 Author: Gábor Stefanik Date: Mon Apr 13 21:54:27 2009 +0200 rtl8187: Remove the "8187B chip detected" message when probing RTL8187B cards This message appears to be nothing more than a leftover of the experimental-8187B era. Also, we print the HW type in the hwaddr line, making this message reduntant. And it's definitely not important enough to be a KERN_WARNING. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 386aeacfa8912e1accffc47e30ffe0c0ecfe71e5 Author: Sujith Date: Mon Apr 13 21:57:01 2009 +0530 ath9k: Remove CHANNEL_CW_INT handling in ath9k_hw_calibrate It is already handled properly in ath9k_hw_getnf. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 04d19ddd254b404703151ab25aa5041e50ff40f7 Author: Sujith Date: Mon Apr 13 21:56:59 2009 +0530 ath9k: Fix bug in calibration initialization This patch fixes a bug in ath9k_hw_init_cal() where the wrong calibration was being done for non-AR9285 chipsets. Also add a few helpful comments. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit cbfe946860ffc718c5d99a6b740e33ac95fe8b8d Author: Sujith Date: Mon Apr 13 21:56:56 2009 +0530 ath9k: Use a consistent naming convention This patch replaces old 'hal_' prefixes with 'ath9k_'. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 379f04407c92d84f2506385b66fb9fc89ecd96c3 Author: Sujith Date: Mon Apr 13 21:56:48 2009 +0530 ath9k: Cleanup calibration interface This patch cleans up the functions dealing with calibration, using proper return values. ath9k_hw_per_calibration(), ath9k_hw_calibrate now return bool values instead of setting error values in the function arguments. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 415f738ecf41b427921b503ecfd427e26f89dc23 Author: Sujith Date: Mon Apr 13 21:56:46 2009 +0530 ath9k: Initialize ANI timers The various ANI timers have to be initialized properly when starting the calibration timer. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit a451aa66dcb14efcb7addf1d8edcac8df76a97b6 Author: Sujith Date: Mon Apr 13 21:56:43 2009 +0530 ath9k: Fix bug in determining calibration support ADC gain calibration has to be done for all non 2GHZ-HT20 channels. Regression from "ath9k: use ieee80211_conf on ath9k_hw_iscal_supported()" Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit db2f63f60a087ed29ae04310c1076c61f77a5d20 Author: Sujith Date: Mon Apr 13 21:56:41 2009 +0530 ath9k: Fix bug in checking HT flag The operating HT mode is stored in chanmode and not channelFlags. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit 822b0dfc135cf205379ea62aae7a5b393811b238 Author: Sujith Date: Mon Apr 13 21:56:38 2009 +0530 ath9k: Remove unused channel flags Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9c07a7777f44c7e39accec5ad8c4293d6a9b2a47 Author: Sujith Date: Mon Apr 13 21:56:36 2009 +0530 ath9k: Fix bug in scan termination A full HW reset needs to be done on termination of a scan run. Not setting SC_OP_FULL_RESET resulted in doing a fast channel change. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit 675902ef822c114c0dac17ed10eed43eb8f5c9ec Author: Sujith Date: Mon Apr 13 21:56:34 2009 +0530 ath9k: Fix memleak on TX DMA failure The driver-specific region has to be freed in case of a DMA mapping failure. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville commit d2f5b3a6778ae86fd93cb01ccac16aa0b079e441 Author: Sujith Date: Mon Apr 13 21:56:25 2009 +0530 ath9k: Handle ASPM properly for RFKILL Radio enable/disable have to handle ASPM state properly. This patch fixes it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a89bff9a78b2bf51e21a961b473b5be94b22f12e Author: Steven Luo Date: Sun Apr 12 02:57:54 2009 -0700 ath9k: reset after PCI FATAL/PERR interrupts ath9k_hw_getisr() doesn't appear to set anything in the status mask for PCI FATAL or PERR interrupts (AR_INTR_SYNC_HOST1_FATAL/PERR), which the open-source HAL seems to do. This means that the card isn't reset after these interrupts. This patch seems to fix a problem where the wireless drops out with an "ath9k: received PCI FATAL interrupt" in dmesg after some time; the hardware is an AR5416 in an ASUS WL-500W running 2.6.28.7 (OpenWRT) and compat-wireless 2009-03-31. Signed-off-by: Steven Luo Signed-off-by: John W. Linville commit 2d1f96dd90a20c25243cc3b13e9f21d72f00aba0 Author: Larry Finger Date: Sat Apr 11 11:26:01 2009 -0500 b43legacy: Clean up beacon IRQ This patch ports commit c97a4ccc1fad35d3 "b43: Fix beacon BH update" to b43legacy. It fixes beacon updating in the bottomhalf. In case the device is busy, we will defer to later in the IRQ handler. Signed-off-by: Larry Finger Acked-by: Michael Buesch Tested-by: David Ellingsworth Signed-off-by: John W. Linville commit 7858e07b7ccf1d2fd5898a405c93d022d3f1f42d Author: Larry Finger Date: Sat Apr 11 11:25:24 2009 -0500 b43legacy: Fixes for beaconing This patch ports the beaconing fixes from commit a82d992261f "b43: Beaconing fixes" to b43legacy. Basically it prevents the card from triggering the beacon IRQ over and over again. Signed-off-by: Larry Finger Acked-by: Michael Buesch Tested-by: David Ellingsworth Signed-off-by: John W. Linville commit 7edfab7adef45a09b459cb7f5957f476108f5e77 Author: Johannes Berg Date: Sat Apr 11 13:32:46 2009 +0200 cfg80211: convert mutex assert to macro That will make the various cases where the WARN_ON can happen distinguishable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4312a86b6840bca503603e918996b139fa3293ba Author: Christian Lamparter Date: Sat Apr 11 03:58:14 2009 +0200 p54: remove obsolet signal quality calculation The signal quality percentage is now calculated by mac80211 stack. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6dfe9a884fec67070fc7502ad82f7eb328950b72 Author: Christian Lamparter Date: Sat Apr 11 03:58:01 2009 +0200 p54: utilize all available key slots for decryption offload This patch takes care of outstanding TODOs: /* TODO: some devices have 4 more free slots for rx keys */ Now the driver can utilize all available key slots instead of just 4. Obviously, this helps most in AP/IBSS(/MESH) mode, when we have to use more different keys. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 492301fb5d12e4a77a1010ad2b6f1ed306014123 Author: Larry Finger Date: Thu Apr 9 22:14:19 2009 -0500 rfkill: Fix broken rfkill LED in 2.6.30-rc1 The rfkill system fails to issue a LED trigger event when the rfkill state changes. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 137907287789607f2a2586ad625e7b8c646b3425 Author: Michael Buesch Date: Wed Apr 8 21:26:27 2009 +0200 b43: Remove unnecessary MMIO in interrupt hotpath This removes unnecessary MMIO accesses in the interrupt hotpath. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a2caba6b5fc4e046edfefb1db82f52b939b526a5 Author: John W. Linville Date: Tue Apr 14 11:45:57 2009 -0400 libertas: fix warning about %zd: drivers/net/wireless/libertas/rx.c: In function ‘lbs_process_rxed_packet’: drivers/net/wireless/libertas/rx.c:184: warning: format ‘%zd’ expects type ‘signed size_t’, but argument 4 has type ‘__le32’ drivers/net/wireless/libertas/rx.c:184: warning: format ‘%zd’ expects type ‘signed size_t’, but argument 5 has type ‘unsigned int’ Signed-off-by: John W. Linville commit a83b9141b540f96dd59409c6487828e880113a29 Author: Wey-Yi Guy Date: Wed Apr 8 11:39:32 2009 -0700 iwlwifi: adding interrupt counter in debugfs for debugging This patch adds interrupt statistics report to debugfs, this can help to understand number of interrupts happened which including HW/SW error for easier and better debugging. in /sys/kernel/debug/ieee80211/phyN/iwlagn/data directory use "cat interrupt" to view the current interrupt counter use "echo 0 > interrupt" to clear interrupt counter Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1620108910b07bc41f4ad462ca56e899faf7e61a Author: Mohamed Abbas Date: Wed Apr 8 11:39:31 2009 -0700 iwlcore: fix channel display in debugfs Fix displaying of wrong channel information when user query channel through debugfs Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2105fa7b68547a414095cfbf59bf513a9aae3ce Author: Daniel C Halperin Date: Wed Apr 8 11:39:30 2009 -0700 iwlwifi: check triple_stream_basic_rates in iwl_full_rxon_required For completeness, we should also make sure that the 3x3 MIMO rates are also checked when seeing if one rxon struct matches another. Signed-off-by: Daniel C Halperin Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a6502927f763f05069d1b84af3a05b38eb1a818 Author: Mohamed Abbas Date: Wed Apr 8 11:39:29 2009 -0700 iwlagn: Sync rxon active with changes We need to sync rxon_active with changes after we commit rxon_assoc, without rxon_active will still have the old data that cause iwl_send_rxon_assoc to fail with no change in rxon command. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ddfcf999274838a8dfb0ccf8e69fc1e50eea3341 Author: Daniel C Halperin Date: Wed Apr 8 11:39:28 2009 -0700 iwlwifi: do not set dual_stream_ant_msk for 3 streams This patch fixes a bug introduced by commit "iwlwifi: adding MIMO3 support in rate scaling". We should not set the dual_stream_ant_msk (for 2x2 MIMO) when using a 3x3 rate, this will cause a SYSASSERT in uCode. Note: there is no triple_stream_ant_msk, because all three antennas are used. Signed-off-by: Daniel C Halperin Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 12b9681721adb34b7ec42aa973ab96692998153d Author: Wey-Yi Guy Date: Wed Apr 8 11:39:27 2009 -0700 iwlwifi: Display decoded rate/mcs information This patch adding MCS information in rate_scale_table, it help for debugging rate scaling algorithm, easy to understand what is the current rate scale table and matching modulation, plus the last mcs used for tx. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bd564261d7dd3660f7a5ba308a867c6bb23de6a2 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:52 2009 -0700 iwl3945: use iwl_mac_reset_tsf from iwlwifi 3945 can now use iwl_mac_reset_tsf from iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aa89f31e708d469f5dd824c59c98e4856a2e3572 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:51 2009 -0700 iwl3945: use iwl_mac_get_tx_stats from iwlwifi 3945 can now use iwl_mac_get_tx_stats from iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5ee5811e24b20d49ea553fda568433effbab7a62 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:50 2009 -0700 iwl3945: use iwl_mac_config_interface from iwlwifi 3945 can now use iwl_mac_config_interface from iwlwifi. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 60690a6a38cc03142a0c5aaed64cf043e707457d Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:49 2009 -0700 iwlwifi: add config_ap lib op add config_ap lib op to iwlwifi and iwl3945 in preparation of future 3945 porting actions. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4808368dad3263ac46e71f037c0dcd2dcf082525 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:48 2009 -0700 iwl3945: use iwl_mac_config from iwlwifi 3945 can now use iwl_mac_config from iwlwifi Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d8052319f2a7d1ee86248df00193110ad1946a33 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:47 2009 -0700 iwl3945: use iwl_mac_remove_interface from iwlwifi 3945 can now use iwl_mac_remove_interface from iwlwifi Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cbb6ab94b66cfb7136e640191a9628c5a71220a3 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:46 2009 -0700 iwl3945: use iwl_mac_add_interface from iwlwifi Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 727882d62477ed45d248e8cd6d53cf794537b073 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:45 2009 -0700 iwl3945: use iwl_set_mode in 3945 3945 can now use iwl_set_mode from iwlcore library. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 45823531662028a8cbd68906c20e887bb287c85e Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:44 2009 -0700 iwlwifi: add set_rxon_chain op add set_rxon_chain op to iwlwifi cfg ops in preparation of future 3945 porting work. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f5d3026683da45e00c49a24999ad0d256e4651d5 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:43 2009 -0700 iwl3945: use iwl_get_sta_id from iwlwifi iwl3945 can now use iwl_get_sta_id. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 06fd3d86a426848dbd8db27b7257a4eb4be8cfae Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:42 2009 -0700 iwl3945/iwlwifi: unify add_station function Patch unifies the add_station function for 3945 and iwlwifi drivers. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e11bc0286a4ff8f4e5cdefbcce0878d29c03c630 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:41 2009 -0700 iwlwifi: use station management ops Patch replaces station management functions with ops declared. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 40ace5b385ccf8a4d4d096b353b7f1baac1d014b Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:40 2009 -0700 iwl3945: replace station function with station ops Patch replaces station function used in driver by station management ops in 3945. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 79fa455a995057b6559fcd2a02e8b089b2e2e288 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:39 2009 -0700 iwlwifi: add station management ops This patch adds declarations for station management ops to iwlwifi drivers. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f45c271493c37d2d80177582191acc1a4e446297 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:38 2009 -0700 iwl3945: delay mode setting Delay mode setting till uCode is ready. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e0158e61108bdadd70865c2149dc829a5c84dd73 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:37 2009 -0700 iwlwifi: add commit_rxon lib Patch adds commit_rxon lib operation to iwlwifi and iwl3945 drivers. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9944b938f23fdd1ce2f5da190f771f176bb51eef Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:36 2009 -0700 iwl3945: use iwl_mac_beacon_update 3945 can use iwl_mac_beacon_update. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5bbe233b9bafabc08a5404d54b9fa086e8390fc7 Author: Abhijeet Kolekar Date: Wed Apr 8 11:26:35 2009 -0700 iwl3945: use iwl_bss_info_changed 3945 can use iwl_bss_info_changed. A new lib op is created for post_assoicate to distinguish between 3945 and iwlwifi's post_associate operations. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit de2b3e864aa908e613dd9912def88af7877d85f3 Author: Johannes Berg Date: Wed Apr 8 12:54:41 2009 +0200 mac80211: update injection documentation We don't currently support antenna or rate setting, so remove that. Also update the link -- the current one is dead and the wiki can be kept updated easier. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4499b23933b44bf9e56d1a29b51d9a62941f9fa4 Author: Johannes Berg Date: Wed Apr 8 02:55:34 2009 +0200 mac80211: re-upload keys only after telling driver about association In the normal WPA or RSN case keys are only configured after associating, so we should do that in that order when resuming as well. It shouldn't really matter since we do not send any data at either point, but iwlwifi prefers it this way and it does seem more natural. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e45d8e534b67580eedd9b4910ccc16d6dd3cceff Author: Bing Zhao Date: Mon Apr 6 15:50:56 2009 -0700 libertas: add support for Marvell SD8688 chip libertas: add support for Marvell SD8688 chip Use RxPD->pkt_ptr to locate eth803 header in the packet received since SD8688/v10 firmware allows a gap between RxPD and eth803 header. Set SDIO block size to 256 for CMD53. The maximum block size for SD8688 WLAN function is set to 512 in TPLFE_MAX_BLK_SIZE. But using 512 as block size results upto 2K bytes data (4 blocks) being transferred and causes buffer overflow in firmware. Both changes above are backward compatible with earlier firmware versions for SD8385/SD8686. The SDIO_DEVICE_IDs for SD8688 chip are added in include/linux/mmc/sdio_ids.h Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 87cbfd06889256cac945b37c7f62f4ce7f44b34a Author: Max Filippov Date: Mon Apr 6 01:03:09 2009 +0400 p54spi: get rid of busy-wait loops p54spi_wakeup and p54spi_tx_frame used busy-waiting loop to poll for 'ready' bits in SPI_ADRS_HOST_INTERRUPTS register. With this change in place 'WR_READY timeout' messages do not show anymore. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 6a362bb1c9f900f7e6daeee52ff2d538badae49b Author: Bob Copeland Date: Sun Apr 5 11:01:20 2009 -0400 ath5k: add support for Fukato Datacask Jupiter LEDs This adds support for the LEDs on the Jupiter netbook. Reported-by: Martin Bammer Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit b26ed97c75e1538176c09f29c423a3f8a75868a7 Author: Anna Neal Date: Thu Apr 2 14:44:09 2009 -0700 libertas: increase spi driver thread priority Currently, the libertas main thread contends with the spi driver thread in the TX path. To improve throughput, ensure that the driver thread has higher scheduling priority than the libertas main thread. Do this by making the libertas spi driver thread a low priority real time thread. We measured an average throughput improvement of 13%. Signed-off-by: Anna Neal Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 25e47c18ac4d8ad09c2ed4b99c1dbbcb7e3d2c51 Author: Johannes Berg Date: Thu Apr 2 20:14:06 2009 +0200 cfg80211: add cipher capabilities This adds the necessary code and fields to let drivers specify their cipher capabilities and exports them to userspace. Also update mac80211 to export the ciphers it has. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6bad8766620a3c8b64afa981502fdb543e3cfd6c Author: Luis R. Rodriguez Date: Thu Apr 2 14:08:09 2009 -0400 cfg80211: send regulatory beacon hint events to userspace This informs userspace when a change has occured on a world roaming wiphy's channel which has lifted some restrictions due to a regulatory beacon hint. Because this is now sent to userspace through the regulatory multicast group we remove the debug prints we used to use as they are no longer necessary. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5dab3b8a68cc97a7e6b9f79f5de05803c8e55a3c Author: Luis R. Rodriguez Date: Thu Apr 2 14:08:08 2009 -0400 cfg80211: add netlink channel put helper This adds a netlink channel put helper, nl80211_msg_put_channel(), which we will also make use of later for the beacon hints events. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a4ed90d60c39c5aef9a170d7693f61175acb22e0 Author: Luis R. Rodriguez Date: Thu Apr 2 14:08:07 2009 -0400 cfg80211: respect API on orig_flags on channel for beacon hint As part of our documented API we always respect the orig_flag settings on a channel. We forgot to follow this for the beacon hints. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3eb9296970e70902593b15ed3080e389954cf5f5 Author: Wey-Yi Guy Date: Wed Apr 1 14:33:25 2009 -0700 iwlwifi: add debug messages when start aggregation queue This patch adding few more debug messages if encounter error when driver try to start tx aggregation queue. Also change from IWL_ERR to IWL_DEBUG_HT is the HW legacy queue is empty when driver request to move to aggregation queue. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 584a0f00636d34f71a80f5b550a305f1a1620693 Author: Wey-Yi Guy Date: Wed Apr 1 14:33:24 2009 -0700 iwlwifi: adding MIMO3 support in rate scaling Separated the MIMO tpt matrix into MIMO2 and MIMO3, adding MIMO3 support in rate scaling algorithm. If the device support 3x3, then utilize all three antenna (A/B/C) for tx to improve throughput. Adding rs_switch_to_mimo3() function to allow switch to mimo3 modulation mode from other modes(legacy/siso/mimo2). Adding rs_move_mimo3_to_other() function to allow switch from mimo3 modulation mode to either siso or mimo2; also support toggle between SGI and NGI. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 11397a656f14466421bac503f0f3aaadf9486120 Author: Wey-Yi Guy Date: Wed Apr 1 14:33:23 2009 -0700 iwlwifi: adding triple stream rate support for MIMO3 Adding ht triple_stream_basic_rates for MIMO3 supports Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 64cdb0e3b8a5e5393cb64328ce0c844b7cf3a40e Author: Fabio Rossi Date: Wed Apr 1 20:37:50 2009 +0200 ath5k: fix interpolation with equal power levels When the EEPROM contains weird values for the power levels we have to fix the interpolation process. Signed-off-by: Fabio Rossi Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 910cfee363feda81cd5af4939ed9e0d27677b43f Author: Larry Finger Date: Wed Apr 1 10:42:36 2009 -0500 b43legacy: Do not select HW_RANDOM Auto-depend on HW_RANDOM, rather than "select"ing it. This way the user has the choice to enable or disable HWRNG support. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 66174bbea0b9c5bd4b7d060fed26bf5ec912c422 Author: Jouni Malinen Date: Wed Apr 1 17:23:54 2009 +0300 mac80211: Report rejected association to user space SME When using nl80211 association, we need to send association response with a failure code to user space SME instead of just internally trying to send out the same (re)association request again couple of times. This fixes problems in association process getting stuck on a failure when user space is not notified in any way that something actually failed. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5ef2d41afb7fce2315d12a8aaebe0c9f1b50755b Author: Johannes Berg Date: Tue Mar 31 12:12:07 2009 +0200 mac80211: include HT capabilities in probe request Include the HT capabilities in the probe request frame. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit de95a54b1aebe5592cae971ca5e5d9ec6a381a17 Author: Johannes Berg Date: Wed Apr 1 11:58:36 2009 +0200 mac80211: pass all probe request IEs to driver Instead of just passing the cfg80211-requested IEs, pass the locally generated ones as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18a8365992a8041aa178ae9ad5f0d951d0457230 Author: Johannes Berg Date: Tue Mar 31 12:12:05 2009 +0200 cfg80211: introduce scan IE limit attribute This patch introduces a new attribute for a wiphy that tells userspace how long the information elements added to a probe request frame can be at most. It also updates the at76 to advertise that it cannot support that, and, for now until I can fix that, iwlwifi too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 75c2148fa5330c6de741fc96e3308f57d846a6b4 Author: Luis R. Rodriguez Date: Mon Mar 30 22:30:35 2009 -0400 ath5k: sparse fix ath5k_led_on needs to be static drivers/net/wireless/ath/ath5k/led.c:81:6: warning: symbol 'ath5k_led_on' was not declared. Should it be static? Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b2b2ffbef7750e51bfa74e92229ecee10b59307 Author: Luis R. Rodriguez Date: Mon Mar 30 22:30:34 2009 -0400 ath: space cleanup Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 203c4805e91786f9a010bc7945a0fde70c9da28e Author: Luis R. Rodriguez Date: Mon Mar 30 22:30:33 2009 -0400 atheros: put atheros wireless drivers into ath/ Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1878f77e13b9d720b78c4f818b94bfd4a7f596e5 Author: Christian Lamparter Date: Mon Mar 30 22:30:32 2009 -0400 Make ar9170 use common ath reg code Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f769c36bd71ebe8d7a5f83764f0428d36ebced35 Author: Bob Copeland Date: Mon Mar 30 22:30:31 2009 -0400 ath5k: use regulatory infrastructure Make ath5k select the ath module and add in the hooks to make the eeprom regulatory hint and reg notifier take effect. Changes to attach.c Changes-licensed-under: ISC Changes to base.c Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit e3bb249be89dd387e78ca382d08fad31745edac9 Author: Bob Copeland Date: Mon Mar 30 22:30:30 2009 -0400 ath: move more setup code into ath_regd_init Setup the wiphy regulatory parameters when first initializing the Atheros regulatory module. We can remove five exported symbols this way and simplify the driver code for both ath5k and ath9k. Signed-off-by: Bob Copeland Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3a702e49c03ba959e3f5bb2b74ec9921a81c8c98 Author: Bob Copeland Date: Mon Mar 30 22:30:29 2009 -0400 atheros: introduce ath module containing common ath5k/ath9k/ar9170 code This change creates a new module, ath.ko, which includes code that can be shared between ath5k, ath9k and ar9170. For now, extract most of the ath9k regulatory code so it can also be used in ath5k. Signed-off-by: Bob Copeland Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c02cf3738c9dbc446c160b9d49a001eb2be316c8 Author: Bob Copeland Date: Mon Mar 30 22:30:28 2009 -0400 ath9k: pass regd structure directly to regulatory functions All regulatory information is encapsulated by the ath9k_regulatory struct, so we can now change all the callers to take that directly instead of struct ath_hw. This in turn will enable us to move the regulatory functions to common code also used by ath5k, since both can use this regulatory struct. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fc2ada30cacc28c96eabc598d3ef294338d8dcf5 Author: Bob Copeland Date: Mon Mar 30 22:30:27 2009 -0400 ath9k: separate ath9k specific code from ath9k_regd_get_ctl() Until ath5k and ath9k share common channel structures, they will have to implement their own get_ctl() function. Split out the portion that only relies on the current band and reg domain so that it can be common code. Signed-off-by: Bob Copeland Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 55a3757a5703ebc58612ffbfbcb7f193dae17df7 Author: Reinette Chatre Date: Fri Mar 27 12:45:30 2009 -0700 iwlwifi: change check triggering device restart after rfkill change The STATUS_ALIVE value cannot be used because it is cleared when interface is brought down and will not be set if rfkill is enabled when interface is started again. The interface can thus not be brought up if rfkill was enabled before stopping the interface and disabled after starting the interface. Change the test to use priv->is_open instead, this will be set when interface is started whether rfkill is enabled or not. Thanks to Helmut Schaa for the suggested fix. Signed-off-by: Reinette Chatre Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 71a7b26d3e6404e43574f80236c00eaa39b2525e Author: Jussi Kivilinna Date: Thu Mar 26 23:40:31 2009 +0200 rndis_wlan: convert scan to cfg80211 Convert scan function to cfg80211. Unlike old scan code new code waits 1 sec before getting scan data from device and passing forward to cfg80211. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 4d2a369ec09167f423c0783b1cf85cee8102544f Author: Jussi Kivilinna Date: Thu Mar 26 23:40:23 2009 +0200 rndis_wlan: convert get range to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 4bd7f03e915b6946307ce57f20718c6547734b5d Author: Jussi Kivilinna Date: Thu Mar 26 23:40:16 2009 +0200 rndis_wlan: change quality level scale Change quality level scale to match cfg80211 CFG80211_SIGNAL_TYPE_UNSPEC. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 06aa7afaaa21a4e7f1bcb196bd3f29193924a603 Author: Jussi Kivilinna Date: Thu Mar 26 23:40:09 2009 +0200 cfg80211: add cfg80211_inform_bss Added cfg80211_inform_bss() for full-mac devices to use. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 964c1d417e4738d359ba263921a7b9c18fa711c4 Author: John W. Linville Date: Thu Mar 26 23:40:01 2009 +0200 rndis_wlan: convert get/set mode to cfg80211 Signed-off-by: John W. Linville [edit: made rndis_change_virtual_intf static] Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5c8fa4f7e7fcceabb3b37d7ec66d3e7115a4bba3 Author: John W. Linville Date: Thu Mar 26 23:39:53 2009 +0200 rndis_wlan: initiate cfg80211 conversion Signed-off-by: John W. Linville Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit f13027af5cd567757c18b85776232e31a2ba55d4 Author: Christian Lamparter Date: Wed Mar 25 03:12:49 2009 +0100 p54: add beacon filtering support This patch adds beacon filtering support to p54. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit dce072580e095d1fb7be59a1be30dc0e8307821b Author: Christian Lamparter Date: Wed Mar 25 03:12:18 2009 +0100 p54: more SoftLED updates This patch hopefully finishes the SoftLED code: - It adds two more LEDs (rx and radio). (the FW claims it can support up to 16 LEDs, but I doubt that any vendor put more than 4 on a board) - update the LEDs in a _delayed_ workqueue. No one reported any more crashes. (see: "PATCH] p54: fix race condition in memory management") So we can stop burning the mm code. Signed-off-by: Christian Lamparter Acked-by: Larry Finger Signed-off-by: John W. Linville commit cf3a9579f61c643c15c172da0baf5429578b0ba3 Author: Christian Lamparter Date: Wed Mar 25 03:11:58 2009 +0100 p54: clean up p54.h's struct p54_common This patch rearrange and regroups most elements in p54_common. Signed-off-by: Christian Lamparter Acked-by: Larry Finger Signed-off-by: John W. Linville commit ae3d2462f89db4592ea71e8f6e326d4b38dc952c Author: Masakazu Mokuno Date: Mon Mar 30 11:04:04 2009 -0700 net/ps3: Update maintainer Update the MAINTAINERS entry for PS3 NETWORK SUPPORT. CC: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: John W. Linville commit 42639fcd443d97a9a471f4b8269620286dd7036b Author: Bob Copeland Date: Mon Mar 30 08:05:29 2009 -0400 ath5k: reduce exported channel list Claiming every available 5 ghz channel has a couple of negative side-effects: scanning takes a long time, and the channel list overflows the available buffer space for netlink commands, resulting in: $ iw phy phy0 info command failed: No buffer space available (-105) This patch adds a modparam so people who want to see all the channels can do so by passing all_channels=1. By default users will see a smaller list of channels. This also halves scan time, from 10 seconds down to less than 5 when using world regulatory. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bob Copeland Reported-by: Simon Farnsworth Tested-By: Simon Farnsworth Signed-off-by: John W. Linville commit d5522e039586fdf72493225a88b944f726b69671 Author: Johannes Berg Date: Mon Mar 30 13:23:35 2009 +0200 mac80211: move ieee80211_enable_ht function to mlme.c It really belongs into that file since it is only relevant for managed mode. Move 1:1, not even whitespace changes, but make it static and remove from header file. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5c38ef06e005705ef87b7a77752c183bacb94cc Author: Sujith Date: Mon Mar 30 15:28:57 2009 +0530 ath9k: Fix bug in determining HT40 mode This patch fixes a bug in checking for HT40 mode. The STA's mode can be determined from the cached HT capabilities, use that and remove the redundant variable 'rc_phy_mode'. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c6483cfe7147534719197c03a99848f49e004308 Author: Sujith Date: Mon Mar 30 15:28:56 2009 +0530 ath9k: Determine number of streams from HT capabilities The number of streams supported by a STA can be determined directly from the HT capabilities. Remove the redundant variable storing the stream cap. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 063d8be37d6f5818976a1185db4af55c5a5ae809 Author: Sujith Date: Mon Mar 30 15:28:49 2009 +0530 ath9k: Clean Interrupt handling routine This patch cleans up the ISR, removing a unnecessary do..while loop, and waking up the chip before getting the pending interrupts. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 87792efc7d20a21844eb7f4247e7b9027e783ec0 Author: Sujith Date: Mon Mar 30 15:28:48 2009 +0530 ath9k: Trivial fix to handle AMPDU params properly Handle aggregation params only when aggregation is supported. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1ffb0610be915650cff44c69dc6728215eae08c0 Author: Sujith Date: Mon Mar 30 15:28:46 2009 +0530 ath9k: Initialize values when setting up the queue parameters Also fix a small typo. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 797fe5cbefdb91f796502677e3a6623262eb9fcd Author: Sujith Date: Mon Mar 30 15:28:45 2009 +0530 ath9k: Remove the useless do..while loops These are unnecessary constructs in a function. This patch removes these from both RX and TX init routines. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 4658b985170d9d0c88304d2d4459938b600f8c0b Author: Sujith Date: Mon Mar 30 15:28:43 2009 +0530 ath9k: Remove TIM from the interrupt mask We never handle TIM, TIM_TIMER is used instead. Remove this and the unnecessary swBeaconProcess variable. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7dd58748592db1e5a77cfbddb8beffcfdb0242fe Author: Sujith Date: Mon Mar 30 15:28:42 2009 +0530 ath9k: Check for root debugfs file Creation of the root debugfs file could have failed for some reason, check properly before proceeding in this case. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 5cc93992cc4cf12ddfe63c8a5be2d509e6678e99 Author: Sujith Date: Mon Mar 30 15:28:41 2009 +0530 ath9k: Remove unused structures struct aggr_rifs_param and ath_tx_stat are not used anywhere. Signed-off-by: Sujith Signed-off-by: John W. Linville commit ae459af12816b507aed3fcb2b9fc933c212ea12e Author: Sujith Date: Mon Mar 30 15:28:40 2009 +0530 ath9k: Remove a couple of unused variables in descriptor handling Signed-off-by: Sujith Signed-off-by: John W. Linville commit a119cc492fc720de7fcaf7c1b9394d6c025d276d Author: Sujith Date: Mon Mar 30 15:28:38 2009 +0530 ath9k: Cleanup buffer status handling Using a u32 to store a single flag is overkill. Use a bool to store whether the buffer is stale or not. Also, use u8 instead of u32 to store the buffer type. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a22be22ab8fe571cce88d0d30b49f297a563c4a7 Author: Sujith Date: Mon Mar 30 15:28:36 2009 +0530 ath9k: Avoid unneeded casts Change the void pointer to struct sk_buff and access bf_mpdu directly, removing all casts in the process. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ef1f168b6bc82b0b157c568e764b75961867970 Author: Sujith Date: Mon Mar 30 15:28:35 2009 +0530 ath9k: Remove redundant variable for Interrupt Mitigation The state is already stored in ath9k_ops_config, so remove the duplicate variable in ath_hw. Signed-off-by: Sujith Signed-off-by: John W. Linville commit eef7a57430c83b0419ba943bb1650ed5c349d454 Author: Sujith Date: Mon Mar 30 15:28:28 2009 +0530 ath9k: Change return value of ath9k_hw_fill_cap_info This routine always return true, checking for false in the return value is invalid. Fix this. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d8baa9392666d1c50ef42e9f6fbbb0cf536327b9 Author: Sujith Date: Mon Mar 30 15:28:25 2009 +0530 ath9k: Cleanup debug messages Clean debug messages to use appropriate levels, remove useless messages, and trim the number of debug levels. Signed-off-by: John W. Linville commit 6ed6a05e5c8061cdcd69a418c90c5f11979ce650 Author: Sujith Date: Mon Mar 30 15:28:24 2009 +0530 ath9k: Remove redundant chainmask check We get the valid chainmasks on HW attach, checking it again during reset is redundant. This patch removes the check. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bdbdf46daa6dccb472f56559854477faddc44de9 Author: Sujith Date: Mon Mar 30 15:28:22 2009 +0530 ath9k: Remove a few unused flags This patch removes unused HW capability flags and HW operation variables, and a chainmask flag that we don't use anywhere. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 8782b41d13c8e5f9a201477d3c15edf9fe7c372c Author: Vivek Natarajan Date: Mon Mar 30 14:17:00 2009 +0530 ath9k: No need to abort Rx path when autosleep is enabled. For chipsets supporting autosleep feature, there is no need to abort Rx engine since they are capable of automatically going back to sleep after receiving a packet. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 616de35da94df8748771a014ef898360d5f4d0c8 Author: Michael Buesch Date: Sun Mar 29 13:19:31 2009 +0200 b43: Do not "select" HW_RANDOM Auto-depend on HW_RANDOM, rather than "select"ing it. This way the user has the choice to enable or disable HWRNG support. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a57e2e84b65d1b89c4b1effeceb27b181226b950 Author: Ivo van Doorn Date: Sat Mar 28 20:51:41 2009 +0100 rt2x00: Fix Sparse warning rt2x00link_reset_qual() is not declared in a header, and is only internally used within rt2x00link.c. It should be declared as static. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 440ddadaee6d0d5e8a7ee53ac913f78a8e5570a1 Author: Ivo van Doorn Date: Sat Mar 28 20:51:24 2009 +0100 rt2x00: Move Move pci_dev specific access to rt2x00pci pci_dev->irq and pci_name(pci_dev) access should be limited to rt2x00pci only. This is more generic and allows a rt2x00 pci driver to be controlled as PCI device but also as platform driver (needed for rt2800pci SoC support). Signed-off-by: Felix Fietkau Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 32c1628f153a5468cf48be5e5c04cd599ae9e01d Author: Christian Lamparter Date: Sat Mar 28 01:46:14 2009 +0100 ar9170: fix hang on stop This patch fixes a locking problem which freezes the network core. The deadlock goes as follows: - ar9170_op_stop - is called 1. change the state to IDLE 2. > take the MUTEX < 3. cancel_SYNC all pending work, which means "block until a work_struct's callback has terminated" => if filter_config_work was queued it tries to get the MUTEX, before checking the device state... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 807e37394b5a1dc23a2908b59f34edbbae67e9ea Author: Pavel Roskin Date: Fri Mar 27 17:47:27 2009 -0400 ath5k: fix scanning in AR2424 AR5K_PHY_PLL_40MHZ_5413 should not be ORed with AR5K_PHY_MODE_RAD_RF5112 for 5 GHz channels. The incorrect PLL value breaks scanning in the countries where 5 GHz channels are allowed. Signed-off-by: Pavel Roskin Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 295936c56672e82369c6d989e27d3a87495808e4 Author: Luis R. Rodriguez Date: Fri Mar 27 17:21:05 2009 -0400 ath9k: Update maintainers for ath9k This has been the case really, we just forgot to update it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3b8b0569fbef725597f05278ec58083321f6e9d Author: Jouni Malinen Date: Fri Mar 27 21:59:49 2009 +0200 nl80211: Add Michael MIC failure event Define a new nl80211 event, NL80211_CMD_MICHAEL_MIC_FAILURE, to be used to notify user space about locally detected Michael MIC failures. This matches with the MLME-MICHAELMICFAILURE.indication() primitive. Since we do not actually have TSC in the skb anymore when mac80211_ev_michael_mic_failure() is called, that function is changed to take in the TSC as an optional parameter instead of as a requirement to include the TSC after the hdr field (which we did not really follow). For now, TSC is not included in the events from mac80211, but it could be added at some point. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 53b46b8444f600cc1744521ea096ea0c5d494dd0 Author: Jouni Malinen Date: Fri Mar 27 20:53:56 2009 +0200 nl80211: Generate deauth/disassoc event for locally generated frames Previously, nl80211 mlme events were generated only for received deauthentication and disassociation frames. We need to do the same for locally generated ones in order to let applications know that we disconnected (e.g., when AP does not reply to a probe). Rename the nl80211 and cfg80211 functions (s/rx_//) to make it clearer that they are used for both received and locally generated frames. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 1778092e1739155acec35a3bccee2fb8a1ae4e91 Author: Jouni Malinen Date: Fri Mar 27 20:52:47 2009 +0200 nl80211: Require auth type for NL80211_CMD_AUTHENTICATE NL80211_ATTR_AUTH_TYPE is a required parameter for NL80211_CMD_AUTHENTICATE. We are currently (by chance) defaulting to open system authentication if the attribute is not specified. It is better to just reject the invalid command. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c0ed418977edf60f1df9933e1ccd48920a28eb66 Author: Huang Weiyi Date: Fri Mar 27 22:21:36 2009 +0800 nl80211: remove duplicated #include Remove duplicated #include in net/wireless/core.h. Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit 07f62d01c1f476a3b328a44faafdfd103a4dedc3 Author: Huang Weiyi Date: Fri Mar 27 22:20:27 2009 +0800 cfg80211: remove duplicated #include Remove duplicated #include in include/net/cfg80211.h. Signed-off-by: Huang Weiyi Signed-off-by: John W. Linville commit fd7fbb17bec7b055fafec4d0ae3bfb4ed60cad8b Author: Johannes Berg Date: Fri Mar 27 14:16:44 2009 +0100 rfkill-input: remove unused code There's a lot of rfkill-input code that cannot ever be compiled and is useless until somebody needs and tests it -- therefore remove it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 621cac85297de5ba655e3430b007dd2e0da91da6 Author: Johannes Berg Date: Fri Mar 27 14:14:31 2009 +0100 rfkill: remove user_claim stuff Almost all drivers do not support user_claim, so remove it completely and always report -EOPNOTSUPP to userspace. Since userspace cannot really drive rfkill _anyway_ (due to the odd restrictions imposed by the documentation) having this code is just pointless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1c6b14b22af0f85d05a70405dc3fba5de840c7b Author: Johannes Berg Date: Mon Mar 30 11:32:46 2009 +0200 rfkill: remove deprecated state constants I only did superficial review, but these constants are stupid to have and without proper warnings nobody will review the code anyway, no amount of shouting will help. Also fix wimax to use correct states. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f4a11bb0c2d5968ea35f95bdbabdd453862f202a Author: Johannes Berg Date: Fri Mar 27 12:40:28 2009 +0100 nl80211: validate some input better This patch changes nl80211 to: * validate that any IE input is a valid IE (stream) * move some validation code before locking * require that a reason code is given for both deauth/disassoc Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b0741a1a2b00d9b4d88ba60016c88e42f176e4d6 Author: Vasanthakumar Thiagarajan Date: Fri Mar 27 13:08:45 2009 +0530 mac80211: Don't access managed mode bits in non-managed mode This fixes a stupid bug introduced in 25f85c31d4f.. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9f201a87831af9458df1eda65941c955f2da87ed Author: Max Filippov Date: Fri Mar 27 07:50:53 2009 +0300 p54spi: compensate firmware alignment bug in p54spi_rx Firmware may insert up to 4 padding bytes after the lmac header, but it does not amend the size of SPI data transfer. Such packets has correct data size in header, thus referencing past the end of allocated skb. Put extra 4 bytes to the end of the received skb to compensate for this case. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 488829f1b141858944a24fd793220fa1d52cd9a6 Author: Abhijeet Kolekar Date: Thu Mar 26 10:14:10 2009 -0700 iwl3945: use iwl_mac_conf_tx 3945 now uses iwl_mac_conf_tx. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6da3a13e4fcab0ff58592087d28bd283caf23d88 Author: Wey-Yi Guy Date: Thu Mar 26 10:14:08 2009 -0700 iwlwifi: merge and better support of suspend/resume for iwlagn and iwl3945 With mac80211's help to call stop() and start() in mac80211 suspend/resume function, both iwlagn and iwl3945 no longer calling stop() and start(); remove un-necessary STATUS_IN_SUSPEND bit from both header files and functions, Move apm_ops.stop() function into pci_suspend() to ensure DMA is stopped before go into suspend mode. iwl3945 has the similar suspend/resume function as iwlagn, so move both functions to iwlcore to be shared by both drivers. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4f5cab969bdbec1ab0c5b690282372b4978123ac Author: Max Filippov Date: Thu Mar 26 06:38:25 2009 +0300 p54spi: fix p54spi_tx_frame DMA transfer initiation and skb cleanup p54spi_tx_frame wasn't waiting for HOST_ALLOWED in SPI_ADRS_DMA_WRITE_CTRL. This resulted in frequent 'WR_READY timeout' on beacon resubmission. Also don't free skb on error path, as it gets freed on p54spi_wq_tx. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 684d6b360222f31b6b9be9a63aa5c6ed5674c890 Author: Bing Zhao Date: Wed Mar 25 09:51:16 2009 -0700 libertas: support mesh for various firmware versions CMD_MESH_CONFIG command ID and a couple of structure members in TxPD, RxPD have been changed in firmware version 10.x.y.z and newer. Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5e3af1d2d3e6c0011b4c22514d39c73dcbc6674f Author: Max Filippov Date: Wed Mar 25 13:45:01 2009 +0100 p54spi: fix p54spi_upload_firmware Instead of firmware itself p54_upload_firmware was sending to the device content of struct firmware and the following random garbage. Notice '&' before priv->firmware->data at p54spi_spi_write. But simple removing of '&' sign triggered BUG_ON at dma_cache_maint. Thus kmemdup - kfree workaround. Signed-off-by: Max Filippov Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit f74d0f5cacb7023422098dd5c98e3ce06787ba56 Author: Max Filippov Date: Wed Mar 25 08:30:15 2009 +0300 p54spi: mask value read from SPI_ADRS_DMA_WRITE_CTRL in p54spi_wait_bit Mask value read from SPI_ADRS_DMA_WRITE_CTRL in p54spi_wait_bit. Without this, 'fw_upload not allowed to DMA write' is observed at both N800 and N810. Signed-off-by: Max Filippov Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 291ce18ceb84aca79368369885eec2d329ae16c5 Author: Mark Brown Date: Wed Apr 22 21:36:14 2009 +0100 ASoC: Implement WM8903 digital sidetone support Signed-off-by: Mark Brown commit 727fb909e541ebd09d5b552afef02a147978c151 Author: Mark Brown Date: Wed Apr 22 21:06:14 2009 +0100 ASoC: Remove redundant rate constraint for WM8903 This is now handled by symmetric_rates. Signed-off-by: Mark Brown commit d7d5c5476a12333a33b7a14ebb10eccc729c01cb Author: Mark Brown Date: Wed Apr 22 21:03:50 2009 +0100 ASoC: Actively manage the DC servo for WM8903 Save a little extra power by enabling the DC servo offset correction for the output channels only when the relevant channels are enabled. Signed-off-by: Mark Brown commit 4dbfe8097157fde1f8054f48f991ea45833852cd Author: Mark Brown Date: Wed Apr 22 20:32:40 2009 +0100 ASoC: Optimise configuration of WM8903 DC servo Modify the default startup sequence in the chip to set the DC servo dither level for optimal performance. Signed-off-by: Mark Brown commit c2aef4ffd24dab5c8e94c66e4042ad39d38bcf39 Author: Mark Brown Date: Wed Apr 22 20:04:44 2009 +0100 ASoC: Support CLK_DSP in WM8903 CLK_DSP provides a master clock for the DAC and ADC related functionality on the device. Signed-off-by: Mark Brown commit 42768a12822c3a0a6d7db69445281db975938294 Author: Mark Brown Date: Wed Apr 22 18:39:39 2009 +0100 ASoC: Use DAPM supply widget for WM8903 charge pump Signed-off-by: Mark Brown commit 24fc484ab2291d242d1d6bfb5ca5b781061a8578 Merge: 2ecf0a5 83cff83 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 22 20:38:45 2009 +0200 Merge branch 'for-linus' into for-next commit 246d0a17f5e09af0794960164269fc8988a8811c Author: Mark Brown Date: Wed Apr 22 18:24:55 2009 +0100 ASoC: Add power supply widget to DAPM Many modern CODECs have shared resources on chip which must be enabled for portions of the chip to work but which can be disabled at other times in order to achieve power savings. Examples of such resources include power supplies and some internal clocks. Since these widgets are dependencies for the audio path but do not carry audio signals they require slightly different handling to most widgets - they do not contribute to the audio path and so should not be counted as either inputs or outputs during path walks. Cases where one supply provides a supply for another will require additional work. There is also room for more optimisation of the graph walking to avoid repeated checks for the same thing. Signed-off-by: Mark Brown commit 1b4246a1fc487370665bf6c55aac8eae379642c0 Author: Joonyoung Shim Date: Wed Apr 22 10:56:50 2009 +0900 ASoC: OMAP: Add checking to detect bufferless pcms Add checking in hw_params and prepare to detect bufferless pcms(i.e. BT <--> codec). Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 6a74aa40907757ec98d8710ff66cd4cfe064e7d8 Author: Frederic Weisbecker Date: Wed Apr 22 00:41:09 2009 +0200 tracing/events: protect __get_str() The __get_str() macro is used in a code part then its content should be protected with parenthesis. [ Impact: make macro definition more robust ] Reported-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 7e7ca9a22dbbc5c91763cd16923c7509918709b6 Author: Frederic Weisbecker Date: Sun Apr 19 04:54:49 2009 +0200 tracing/lock: provide lock_acquired event support for dynamic size string Now that we can support the dynamic sized string, make the lock tracing able to use it, making it safe against modules removal and consuming the right amount of memory needed for each lock name Changes in v2: adapt to the __ending_string() updates and the opening_string() removal. [ Impact: protect lock tracer against module removal ] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Steven Rostedt commit 9cbf117662e24c6d33245666804487f92c21b59d Author: Frederic Weisbecker Date: Sun Apr 19 04:51:29 2009 +0200 tracing/events: provide string with undefined size support This patch provides the support for dynamic size strings on event tracing. The key concept is to use a structure with an ending char array field of undefined size and use such ability to allocate the minimal size on the ring buffer to make one or more string entries fit inside, as opposite to a fixed length strings with upper bound. The strings themselves are represented using fields which have an offset value from the beginning of the entry. This patch provides three new macros: __string(item, src) This one declares a string to the structure inside TP_STRUCT__entry. You need to provide the name of the string field and the source that will be copied inside. This will also add the dynamic size of the string needed for the ring buffer entry allocation. A stack allocated structure is used to temporarily store the offset of each strings, avoiding double calls to strlen() on each event insertion. __get_str(field) This one will give you a pointer to the string you have created. This is an abstract helper to resolve the absolute address given the field name which is a relative address from the beginning of the trace_structure. __assign_str(dst, src) Use this macro to automatically perform the string copy from src to dst. src must be a variable to assign and dst is the name of a __string field. Example on how to use it: TRACE_EVENT(my_event, TP_PROTO(char *src1, char *src2), TP_ARGS(src1, src2), TP_STRUCT__entry( __string(str1, src1) __string(str2, src2) ), TP_fast_assign( __assign_str(str1, src1); __assign_str(str2, src2); ), TP_printk("%s %s", __get_str(src1), __get_str(src2)) ) Of course you can mix-up any __field or __array inside this TRACE_EVENT. The position of the __string or __assign_str doesn't matter. Changes in v2: Address the suggestion of Steven Rostedt: drop the opening_string() macro and redefine __ending_string() to get the size of the string to be copied instead of overwritting the whole ring buffer allocation. Changes in v3: Address other suggestions of Steven Rostedt and Peter Zijlstra with some changes: drop the __ending_string and the need to have only one string field. Use offsets instead of absolute addresses. [ Impact: allow more compact memory usage for string tracing ] Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Li Zefan Cc: Peter Zijlstra commit ff166cb57a17124af75714a9c11f448f56f1a4a3 Author: Suresh Siddha Date: Mon Apr 20 13:02:30 2009 -0700 x86: x2apic, IR: remove reinit_intr_remapped_IO_APIC() When interrupt-remapping is enabled, we are relying on setup_IO_APIC_irqs() to configure remapped entries in the IO-APIC, which comes little bit later after enabling interrupt-remapping. Meanwhile, restoration of old io-apic entries after enabling interrupt-remapping will not make the interrupts through io-apic functional anyway. So remove the unnecessary reinit_intr_remapped_IO_APIC() step. The longer story: When interrupt-remapping is enabled, IO-APIC entries need to be setup in the re-mappable format (pointing to interrupt-remapping table entries setup by the OS). This remapping configuration is happening in the same place where we traditionally configure IO-APIC (i.e., in setup_IO_APIC_irqs()). So when we enable interrupt-remapping successfully, there is no need to restore old io-apic RTE entries before we actually do a complete configuration shortly in setup_IO_APIC_irqs(). Old IO-APIC RTE's may be in traditional format (non re-mappable) or in re-mappable format pointing to interrupt-remapping table entries setup by BIOS. Restoring both of these will not make IO-APIC functional. We have to rely on setup_IO_APIC_irqs() for proper configuration by OS. So I am removing this unnecessary and broken step. [ Impact: remove unnecessary/broken IO-APIC setup step ] Signed-off-by: Suresh Siddha Acked-by: Weidong Han Cc: dwmw2@infradead.org LKML-Reference: <20090420200450.552359000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 7a4f453b6d7379a7c380825949977c5a838aa012 Author: Li Zefan Date: Wed Apr 22 16:53:34 2009 +0800 tracing/events: make struct trace_entry->type to be int type struct trace_entry->type is unsigned char, while trace event's id is int type, thus for a event with id >= 256, it's entry->type is cast to (id % 256), and then we can't see the trace output of this event. # insmod trace-events-sample.ko # echo foo_bar > /mnt/tracing/set_event # cat /debug/tracing/events/trace-events-sample/foo_bar/id 256 # cat /mnt/tracing/trace_pipe <...>-3548 [001] 215.091142: Unknown type 0 <...>-3548 [001] 216.089207: Unknown type 0 <...>-3548 [001] 217.087271: Unknown type 0 <...>-3548 [001] 218.085332: Unknown type 0 [ Impact: fix output for trace events with id >= 256 ] Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Tom Zanussi LKML-Reference: <49EEDB0E.5070207@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 362b76edb78923face033e18e4ffc85df8db0f28 Author: Mateusz Mandera Date: Wed Apr 22 02:24:28 2009 -0700 8390p: Get rid of init_module/cleanup_module This trivial patch just "gets rid of" init_module and cleanup_module from drivers/net/8390p.c Signed-off-by: Mateusz Mandera Signed-off-by: David S. Miller commit 4cb9be7ab47820a1fa747569f5f035a5f628c91b Author: Jesse Brandeburg Date: Tue Apr 21 18:42:05 2009 +0000 e1000/e1000e/igb/ixgb: do not use netif_wake_queue un-necessarily It was pointed out that the Intel wired ethernet drivers do not need to wake the tx queue since netif_carrier_on/off will take care of the qdisc management in order to guarantee the correct handling of the transmit routine enable state. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bf98a82633b97fb638fcee0fae3c0de54d1f7b05 Author: Alexander Beregalov Date: Tue Apr 21 18:12:11 2009 -0700 sa1100_ir: fix build breakage Fix simple typo. Caused by commit a1de966682551debbe690672e760487cc555c05f ("irda/sa1100_ir: convert to net_device_ops"). Reported-by: Stephen Rothwell Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 19bdc9d061bcb71efd2b53083d96b59bbe1a1751 Author: Magnus Damm Date: Fri Apr 17 05:26:31 2009 +0000 clocksource: sh_cmt clocksource support Add clocksource support to the sh_cmt driver. With this in place we can do tickless with a single CMT channel. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 99ce567ba912109c78762246c964327f3f81f27d Merge: 8fb2bae ccc5ff9 Author: Paul Mundt Date: Wed Apr 22 09:27:47 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 3b1db01990f0e533d1ed548dc1796eb84beddc20 Merge: dfed0ef 5bd3729 Author: Takashi Iwai Date: Tue Apr 21 18:37:53 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dfed0ef9b3ff9e37903920b6938ed33344ad0b3d Author: Takashi Iwai Date: Tue Apr 21 18:33:12 2009 +0200 ALSA: hda - Fix a typo in debug print for realtek auto-detection The NID and ASS numbers were swapped... Signed-off-by: Takashi Iwai commit 3554228d4289098a8fe5cfd87512ec32a19bbe5a Author: Steven Rostedt Date: Tue Apr 21 09:41:26 2009 -0400 ring-buffer: only warn on wrap if buffer is bigger than two pages On boot up, to save memory, ftrace allocates the minimum buffer which is two pages. Ftrace also goes through a series of tests (when configured) on boot up. These tests can fill up a page within a single interrupt. The ring buffer also has a WARN_ON when it detects that the buffer was completely filled within a single commit (other commits are allowed to be nested). Combine the small buffer on start up, with the tests that can fill more than a single page within an interrupt, this can trigger the WARN_ON. This patch makes the WARN_ON only happen when the ring buffer consists of more than two pages. [ Impact: prevent false WARN_ON in ftrace startup tests ] Reported-by: Ingo Molnar LKML-Reference: <20090421094616.GA14561@elte.hu> Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6f26c9a7555e5bcca3560919db9b852015077dae Author: Michael S. Tsirkin Date: Mon Apr 20 01:26:11 2009 +0000 tun: fix tun_chr_aio_write so that aio works aio_write gets const struct iovec * but tun_chr_aio_write casts this to struct iovec * and modifies the iovec. As a result, attempts to use io_submit to send packets to a tun device fail with weird errors such as EINVAL. Since tun is the only user of skb_copy_datagram_from_iovec, we can fix this simply by changing the later so that it does not touch the iovec passed to it. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 43b39dcdbdf823a1c0ac1f2aa2d76bd2f210adc8 Author: Michael S. Tsirkin Date: Mon Apr 20 01:25:59 2009 +0000 tun: fix tun_chr_aio_read so that aio works aio_read gets const struct iovec * but tun_chr_aio_read casts this to struct iovec * and modifies the iovec. As a result, attempts to use io_submit to get packets from a tun device fail with weird errors such as EINVAL. Fix by using the new skb_copy_datagram_const_iovec. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 0a1ec07a67bd8b0033dace237249654d015efa21 Author: Michael S. Tsirkin Date: Mon Apr 20 01:25:46 2009 +0000 net: skb_copy_datagram_const_iovec() There's an skb_copy_datagram_iovec() to copy out of a paged skb, but it modifies the iovec, and does not support starting at an offset in the destination. We want both in tun.c, so let's add the function. It's a carbon copy of skb_copy_datagram_iovec() with enough changes to be annoying. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit a3b48c88f2d5a34c0e25aec0a3dab8069e5a9a72 Author: Takashi Iwai Date: Tue Apr 21 13:37:29 2009 +0200 ALSA: hda - minor optimization in hda_set_power_state() Check the target power-state before checking EAPD exception to reduce unneeded verb executions. Signed-off-by: Takashi Iwai commit f66578a7637b87810cbb9041c4e3a77fd2fa4706 Author: Li Zefan Date: Tue Apr 21 17:12:11 2009 +0800 tracing/filters: allow user-input to be integer-like string Suppose we would like to trace all tasks named '123', but this will fail: # echo 'parent_comm == 123' > events/sched/sched_process_fork/filter bash: echo: write error: Invalid argument Don't guess the type of the filter pred in filter_parse(), but instead we check it in __filter_add_pred(). [ Impact: extend allowed filter field string values ] Signed-off-by: Li Zefan Cc: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49ED8DEB.6000700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e8082f3f5a17d7a7bfc7dd1050a3f958dc034e9a Author: Li Zefan Date: Tue Apr 21 17:11:46 2009 +0800 tracing/filters: don't remove old filters when failed to write subsys->filter If writing subsys->filter returns EINVAL or ENOSPC, the original filters in subsys/ and subsys/events/ will be removed. This is definitely wrong. [ Impact: fix filter setting semantics on error condition ] Signed-off-by: Li Zefan Cc: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49ED8DD2.2070700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b97bedcdedb4ae95b2128a4770dfc160e113b174 Merge: 8589407 586be3f Author: Takashi Iwai Date: Tue Apr 21 11:11:54 2009 +0200 Merge branch 'topic/hda-cache' into topic/hda commit 586be3fcf97eec22fbc0ef6d67e823706aea7167 Author: Takashi Iwai Date: Tue Mar 24 07:43:24 2009 +0100 ALSA: hda - Add debug prints for Realtek auto-init Added a couple of debug prints to show the checked id numbers in alc_subsystem_id(). Signed-off-by: Takashi Iwai commit b613291fb21a2d74eb8323d97fe9aa5d281b306c Author: Takashi Iwai Date: Tue Mar 24 07:36:09 2009 +0100 ALSA: hda - Retry codec-verbs at errors The current error-recovery scheme for the codec communication errors doesn't work always well. Especially falling back to the single-command mode causes the fatal problem on many systems. In this patch, the problematic verb is re-issued again after the error (even with polling mode) instead of the single-cmd mode. The single-cmd mode will be used only when specified via the command option explicitly, mainly just for testing. Signed-off-by: Takashi Iwai commit 92c7c8a7d6e03eb4c0a3c5888e35dbc45f24744c Author: Takashi Iwai Date: Tue Mar 24 07:32:14 2009 +0100 ALSA: hda - Cache PCM and STREAM parameters queries Cache quries for PCM and STREAM parameters as well as ampcap and pincap sharing the hash table. This will reduce the superfluous access of the same codec verbs. Signed-off-by: Takashi Iwai commit 0cededf3ffbb775c3716aa1d246338fdc24b1259 Author: Joakim Tjernlund Date: Fri Apr 17 12:03:48 2009 +0000 ucc_geth: Move freeing of TX packets to NAPI context This will make the system alot more responsive while ping flooding the ucc_geth ethernet interface. Also set NAPI weight to 64 as this is a common value. Signed-off-by: Joakim Tjernlund Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit d035fbccc4edd2bd69d9314faf03ba832b85a1d7 Author: Jianjun Kong Date: Mon Apr 20 04:05:34 2009 +0000 rtl8139: unify the struct's name unify the struct's name of "struct rtl8139_private *np" to "struct rtl8139_private *tp" most of them like this: struct rtl8139_private *tp = netdev_priv(dev); Signed-off-by: Amos Kong Signed-off-by: David S. Miller commit b1b67dd45a6b629eb41553856805aaa1614fbb83 Author: Patrick McHardy Date: Mon Apr 20 04:49:28 2009 +0000 net: factor out ethtool invocation of vlan/macvlan drivers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4510d7cb8b4e7d389652b8a4f89fad469a5ecc92 Author: Peter Holik Date: Sat Apr 18 07:24:21 2009 +0000 usb driver for intellon int51x1 based PLC like devolo dlan duo usb driver for intellon int51x1 based PLC like devolo dlan duo with improvements suggested by the guys of the mailinglist: - name and prefix with int51x1 (Florian Fainelli) - use conversion functions cpu_to_le16 / le16_to_cpu (Oliver Neukum) - use pskb_may_pull instead of skb->len (Ilpo Järvinen) - better code in tx_fixup (Ilpo Järvinen) - use gotos for error handling (Ilpo Järvinen) - better description (Jon Smirl) Signed-off-by: Peter Holik Signed-off-by: David S. Miller commit 03ad032bb78b2732b607ed198e951240e1d21e59 Author: Peter Holik Date: Sat Apr 18 07:24:17 2009 +0000 export usbnet_get_ethernet_addr from usbnet and fixed cdc_ether.c because of using the same function get_ethernet_addr as cdc_ether.c i export usbnet_get_ethernet_addr from usbnet and fixed cdc_ether (suggested by Oliver Neukum). Signed-off-by: Peter Holik Signed-off-by: David S. Miller commit 89388913f2c88a2cd15d24abab571b17a2596127 Author: Pekka Enberg Date: Tue Apr 21 11:39:27 2009 +0300 x86: unify noexec handling This patch unifies noexec handling on 32-bit and 64-bit. [ Impact: cleanup ] Signed-off-by: Pekka Enberg [ mingo@elte.hu: build fix ] LKML-Reference: <1240303167.771.69.camel@penberg-laptop> Signed-off-by: Ingo Molnar commit 8ecee4620e76aae418bfa0e8cc830e92cb559bbb Merge: 6424fb3 a939b96 Author: Ingo Molnar Date: Tue Apr 21 10:46:39 2009 +0200 Merge branch 'linus' into x86/mm Merge reason: refresh the topic: there's been 290 non-merges commits upstream to arch/x86 alone. Signed-off-by: Ingo Molnar commit bb9e63e27117b469a151c61fb0045a8ec4cced5d Author: Matt Carlson Date: Mon Apr 20 07:13:31 2009 +0000 tg3: Update version to 3.99 This patch updates the tg3 version to 3.99. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit daba2a631d2b7831b6a021b36d61314a9153526e Author: Matt Carlson Date: Mon Apr 20 06:58:52 2009 +0000 tg3: Restore LAA sooner in shutdown sequence After a shutdown reset, the LAA needs to be restored before posting the post-reset signature in shared memory. If the LAA is not restored before then, the bootcode will assume the factory default MAC address and WOL will not work with the LAA. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9cf74ebb634fe79587cf9a1d5ff971391dd12e1b Author: Matt Carlson Date: Mon Apr 20 06:58:27 2009 +0000 tg3: Limit CLKREQ fix to A[01] of 57780 asic rev This patch restricts the CLKREQ bugfix to the A0 and A1 revisions of 57780 ASIC rev chips. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8d519ab2866c92f5d722085492a124f016f601aa Author: Matt Carlson Date: Mon Apr 20 06:58:01 2009 +0000 tg3: Allow 5761 WOL and LED fixes to 5761S too The 5761 WOL and LED fixes used the PCI device ID to as the activation key. The 5761S requires the same process. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 33466d938f43ab65312466ba5472b9c6ee200cce Author: Matt Carlson Date: Mon Apr 20 06:57:41 2009 +0000 tg3: Prevent send BD corruption On rare occasions, send BD corruptions can occur. This patch fixes the problem by increasing the L1 entry threshold to 4 milliseconds. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df259d8cba7d7880dc04d34c7a6e0ce15fbc9644 Author: Matt Carlson Date: Mon Apr 20 06:57:14 2009 +0000 tg3: Handle NVRAM absent cases Some 57780 ASIC revision parts do not have NVRAM. Code the driver so that it is tolerant of this configuration. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 624f8e5082efd0348ccf7e3d3f4bfc41efead26c Author: Matt Carlson Date: Mon Apr 20 06:55:01 2009 +0000 tg3: Allow screaming interrupt detection The tg3 driver's ISR is coded to accept interrupts as its own if the status block tag does not equal the last tag the driver has seen. The last_tag field is updated from tg3_poll. In a screaming interrupt situation from another device sharing tg3's IRQ, tg3_poll does not get a chance to be called, so the last_tag will always be out of sync with the status block tag. Consequently, the driver will continually declare the screaming interrupts as its own, thus thwarting the screaming interrupt detection logic. This patch solves the problem by creating a new last_irq_tag member and recording the status block tag in the ISR. The ISR then checks the last_irq_tag for interrupt ownership. Many thanks to John Marvin for the detailed bug report and analysis and Michael Chan for the bugfix. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Tested-by: John Marvin Signed-off-by: David S. Miller commit e5e9743bb7429f53c83ad69b432f7b661e74c3f0 Merge: a0f82f6 775d8d9 Author: David S. Miller Date: Tue Apr 21 01:32:26 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/core/dev.c commit 9d6c26e73bd248c286bb3597aaf788716e8fcceb Author: Suresh Siddha Date: Mon Apr 20 13:02:31 2009 -0700 x86: x2apic, IR: Make config X86_UV dependent on X86_X2APIC Instead of selecting X86_X2APIC, make config X86_UV dependent on X86_X2APIC. This will eliminate enabling CONFIG_X86_X2APIC with out enabling CONFIG_INTR_REMAP. [ Impact: cleanup ] Signed-off-by: Suresh Siddha Acked-by: Jack Steiner Cc: dwmw2@infradead.org Cc: Suresh Siddha Cc: Weidong Han LKML-Reference: <20090420200450.694598000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 39d83a5d684a457046aa2a6dac60f105966e78e9 Author: Suresh Siddha Date: Mon Apr 20 13:02:29 2009 -0700 x86: x2apic, IR: Clean up panic() with nox2apic boot option Instead of panic() ignore the "nox2apic" boot option when BIOS has already enabled x2apic prior to OS handover. [ Impact: printk warning instead of panic() when BIOS has enabled x2apic already ] Signed-off-by: Suresh Siddha Cc: dwmw2@infradead.org Cc: Weidong Han LKML-Reference: <20090420200450.425091000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit 25629d810a52176758401184d9b437fbb7f79195 Author: Suresh Siddha Date: Mon Apr 20 13:02:28 2009 -0700 x86: x2apic, IR: Move eoi_ioapic_irq() into a CONFIG_INTR_REMAP section Address the following complier warning: arch/x86/kernel/apic/io_apic.c:2543: warning: `eoi_ioapic_irq' defined but not used By moving that function (and eoi_ioapic_irq()) into an existing #ifdef CONFIG_INTR_REMAP section of the code. [ Impact: cleanup ] Signed-off-by: Suresh Siddha Cc: dwmw2@infradead.org Cc: Weidong Han LKML-Reference: <20090420200450.271099000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar Cc: Weidong Han commit fc1edaf9e7cc4d4696f83dee495b8f158d01c4eb Author: Suresh Siddha Date: Mon Apr 20 13:02:27 2009 -0700 x86: x2apic, IR: Clean up X86_X2APIC and INTR_REMAP config checks Add x2apic_supported() to clean up CONFIG_X86_X2APIC checks. Fix CONFIG_INTR_REMAP checks. [ Impact: cleanup ] Signed-off-by: Suresh Siddha Cc: dwmw2@infradead.org Cc: Suresh Siddha Cc: Weidong Han LKML-Reference: <20090420200450.128993000@linux-os.sc.intel.com> Signed-off-by: Ingo Molnar commit ef9dfa4b1052af23a603de382d4665b2d1fccc61 Author: Takashi Iwai Date: Tue Apr 21 08:53:41 2009 +0200 ALSA: Remove deprecated include/sound/driver.h Signed-off-by: Takashi Iwai commit cd474f2d548af3c0eb932d9d47ec11483861aa6f Author: Takashi Iwai Date: Tue Apr 21 08:53:08 2009 +0200 ALSA: Remove deprecated snd_card_new() Signed-off-by: Takashi Iwai commit 6e29ec5701e9d44fa02b96c1c5c45f7516182b65 Author: Gautham R Shenoy Date: Tue Apr 21 08:40:49 2009 +0530 sched: Replace first_cpu() with cpumask_first() in ILB nomination code Stephen Rothwell reported this build warning: > kernel/sched.c: In function 'find_new_ilb': > kernel/sched.c:4355: warning: passing argument 1 of '__first_cpu' from incompatible pointer type > > Possibly caused by commit f711f6090a81cbd396b63de90f415d33f563af9b > ("sched: Nominate idle load balancer from a semi-idle package") from > the sched tree. Should this call to first_cpu be cpumask_first? For !(CONFIG_SCHED_MC || CONFIG_SCHED_SMT), find_new_ilb() nominates the Idle load balancer as the first cpu from the nohz.cpu_mask. This code uses the older API first_cpu(). Replace it with cpumask_first(), which is the correct API here. [ Impact: cleanup, address build warning ] Reported-by: Stephen Rothwell Signed-off-by: Gautham R Shenoy Cc: Rusty Russell LKML-Reference: <20090421031049.GA4140@in.ibm.com> Signed-off-by: Ingo Molnar commit 858940773ad5f9dfe32ddb34fa1c90638c5a39df Merge: 7670dc4 622e84c Author: Takashi Iwai Date: Tue Apr 21 07:41:12 2009 +0200 Merge branch 'fix/hda' into topic/hda commit e912a30184b2d7fb3ab881120f2dc3e09bb59e1d Author: Dmitry Torokhov Date: Mon Apr 20 21:14:23 2009 -0700 Input: keyboard - remove warning about raw mode not supported This warning made sense when legacy keyboard driver was preferred driver in X, but now that evdev driver is the default we can remove the warning. Signed-off-by: Dmitry Torokhov commit 2ecf0a57c60dcb588f310d94412118e15c510532 Author: Tejun Heo Date: Tue Apr 21 12:16:56 2009 +0900 ide-dma: don't reset request fields on dma_timeout_retry() Impact: drop unnecessary code Now that everything uses bio and block operations, there is no need to reset request fields manually when retrying a request. Every field is guaranteed to be always valid. Drop unnecessary request field resetting from ide_dma_timeout_retry(). Signed-off-by: Tejun Heo commit cb4764a6dbffd9bb3cf759421ae82384071a933d Author: Steven Rostedt Date: Mon Apr 20 18:16:44 2009 -0400 tracing: use nowakeup version of commit for function event trace tests The startup tests for the event tracer also runs with the function tracer enabled. The "wakeup" version of the trace commit was used which can grab spinlocks. If a task was preempted by an NMI that called a function being traced, it could deadlock due to the function tracer trying to grab the same lock. Thanks to Frederic Weisbecker for pointing out where the bug was. Reported-by: Ingo Molnar Reported-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit aa18efb2a2f07e1cf062039848e9d369bb358724 Author: Steven Rostedt Date: Mon Apr 20 16:16:11 2009 -0400 tracing: use recursive counter over irq level Althought using the irq level (hardirq_count, softirq_count and in_nmi) was nice to detect bad recursion right away, but since the counters are not atomically updated with respect to the interrupts, the function tracer might trigger the test from an interrupt handler before the hardirq_count is updated. This will trigger a false warning. This patch converts the recursive detection to a simple counter. If the depth is greater than 16 then the recursive detection will trigger. 16 is more than enough for any nested interrupts. [ Impact: fix false positive trace recursion detection ] Signed-off-by: Steven Rostedt commit ff743345bf7685a207868048a70e23164c4785e5 Author: Peter Zijlstra Date: Fri Mar 13 12:21:26 2009 +0100 sched: remove extra call overhead for schedule() Lai Jiangshan's patch reminded me that I promised Nick to remove that extra call overhead in schedule(). Signed-off-by: Peter Zijlstra LKML-Reference: <20090313112300.927414207@chello.nl> Signed-off-by: Ingo Molnar commit f1f9b3b1795da8625e0e6096813c9d18d4a344ce Author: Ingo Molnar Date: Mon Apr 20 20:38:21 2009 +0200 perfcounters, sched: remove __task_delta_exec() This function was left orphan by the latest round of sw-counter cleanups. [ Impact: remove unused kernel function ] Signed-off-by: Ingo Molnar commit e395898e98119085f666febbc7b631dd69bc637f Author: Steven Rostedt Date: Mon Apr 20 13:32:44 2009 -0400 tracing: remove recursive test from ring_buffer_event_discard The ring_buffer_event_discard is not tied to ring_buffer_lock_reserve. It can be called inside or outside the reserve/commit. Even if it is called inside the reserve/commit the commit part must also be called. Only ring_buffer_discard_commit can be used as a replacement for ring_buffer_unlock_commit. This patch removes the trace_recursive_unlock from ring_buffer_event_discard since it would be the wrong place to do so. [Impact: prevent breakage in trace recursive testing ] Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 17487bfeb6cfb05920e6a9d5a54f345f2917b4e7 Author: Steven Rostedt Date: Mon Apr 20 13:24:21 2009 -0400 tracing: fix recursive test level calculation The recursive tests to detect same level recursion in the ring buffers did not account for the hard/softirq_counts to be shifted. Thus the numbers could be larger than then mask to be tested. This patch includes the shift for the calculation of the irq depth. [ Impact: stop false positives in trace recursion detection ] Signed-off-by: Steven Rostedt commit b75576d76d4be50196773f36709cb7a4f5ac2ab7 Author: Mark Brown Date: Mon Apr 20 17:56:13 2009 +0100 ASoC: Make the DAPM power check an operation on the widget Rather than having switch statements at point of use make the DAPM power check a member of the widget structure and set it when we instantiate the widget. Signed-off-by: Mark Brown commit 6ea31b9f0a0307e16656af27fcda3160e2a64a1b Author: Mark Brown Date: Mon Apr 20 17:15:41 2009 +0100 ASoC: Factor out DAPM power checks for DACs and ADCs This also switches us to using a switch statement for the widget type in dapm_power_widget(). Signed-off-by: Mark Brown commit cd0f2d4736ae8efabc60e54ecc8f677d0eddce02 Author: Mark Brown Date: Mon Apr 20 16:56:59 2009 +0100 ASoC: Factor out generic widget power checks This will form a basis for further power check refactoring: the overall goal of these changes is to allow us to check power separately to applying it, allowing improvements in the power sequencing algorithms. Signed-off-by: Mark Brown commit 23de29de2d8b227943be191d59fb6d983996d55e Author: Steven Rostedt Date: Mon Apr 20 12:59:29 2009 -0400 tracing: remove dangling semicolon Due to a cut and paste error, the trace_seq_putc had a semicolon after the prototype but before the stub function when tracing is disabled. [Impact: fix compile error ] Signed-off-by: Steven Rostedt commit 28d20e2d6e94434827e11c310788b87204b84559 Author: Steven Rostedt Date: Mon Apr 20 12:12:44 2009 -0400 tracing/events: call the correct event trace selftest init function The late_initcall calls a helper function instead of the proper init event selftest function. This update may have been lost due to conflicting merges. [ Impact: fix compiler warning and call extended event trace self tests ] Signed-off-by: Steven Rostedt commit a7abe97fd8e7a6ccabba5a04a9f17be9211d418c Author: Steven Rostedt Date: Mon Apr 20 10:59:34 2009 -0400 tracing: rename EVENT_TRACER config to ENABLE_EVENT_TRACING Currently we have two configs: EVENT_TRACING and EVENT_TRACER. All tracers enable EVENT_TRACING. The EVENT_TRACER is only a convenience to enable the EVENT_TRACING when no other tracers are enabled. The names EVENT_TRACER and EVENT_TRACING are too similar and confusing. This patch renames EVENT_TRACER to ENABLE_EVENT_TRACING to be more appropriate to what it actually does, as well as add a comment in the help menu to explain the option's purpose. [ Impact: rename config option to reduce confusion ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 125e702b09a28a502e145fb434678ee27720fc48 Author: Ingo Molnar Date: Mon Apr 20 16:13:46 2009 +0200 perf_counter tools: fix 'make install' Remove Git leftovers from this area. Signed-off-by: Ingo Molnar commit 6142fdd968c76a0f2ee753c39bd5be8d1bb4ef04 Author: Ingo Molnar Date: Mon Apr 20 16:05:55 2009 +0200 perf_counter tools: add 'perf help' Signed-off-by: Ingo Molnar commit cc13a5913797365b683212f5fca5fb04bb3582eb Author: Ingo Molnar Date: Mon Apr 20 16:01:30 2009 +0200 perf_counter tools: fix --version Hook up the 'perf version' built-in command. Signed-off-by: Ingo Molnar commit e33e0a43736307512422e41aee6e24d5a8c39181 Author: Ingo Molnar Date: Mon Apr 20 15:58:01 2009 +0200 perf_counter tools: add 'perf record' command Move perf-record.c into the perf suite of commands. Signed-off-by: Ingo Molnar commit 1d8c8b209e9351a7de1307d7b9b6df4222b8d742 Author: Ingo Molnar Date: Mon Apr 20 15:52:29 2009 +0200 perf_counter tools: add help texts Add Documentation/perf-stat.txt and Documentation/perf-top.txt. The template that was used for it: Documentation/git-add.txt from Git. Fix up small bugs to make these help texts show up both in the 'perf' common-command summary output screen, and on the individual help screens. Signed-off-by: Ingo Molnar commit ddcacfa0febff6454dba6cea1931f3020a9f6c24 Author: Ingo Molnar Date: Mon Apr 20 15:37:32 2009 +0200 perf_counter tools: separate kerneltop into 'perf top' and 'perf stat' Lets use the Git framework of built-in commands. Signed-off-by: Ingo Molnar commit 6f06ccbc86f8a02aa32271263249657ce484eb25 Author: Ingo Molnar Date: Mon Apr 20 15:22:22 2009 +0200 perf_counter tools: clean up after introduction of the Git command framework Signed-off-by: Ingo Molnar commit 0780060124011b94af55830939c86cc0916be0f5 Author: Ingo Molnar Date: Mon Apr 20 15:00:56 2009 +0200 perf_counter tools: add in basic glue from Git First very raw version at having a central 'perf' command and a list of subcommands: perf top perf stat perf record perf report ... This is done by picking up Git's collection of utility functions, and hacking them to build fine in this new environment. Signed-off-by: Ingo Molnar commit d24e473e5b2ca86d1288b9416227ccc603313d0f Author: Ingo Molnar Date: Mon Apr 20 13:32:07 2009 +0200 perf_counter: copy in Git's top Makefile We'd like to have a similar user-space structure as Git has, for the perfcounter tools - so copy in Git's toplevel makefile as-is. We'll strip it down in subsequent commits to make it fit the perfcounters code. The Git version used: 66996ec: Sync with 1.6.2.4 Signed-off-by: Ingo Molnar commit 4ed9f0716e46bb9646f26e73f4a1b5b24db7947a Author: Steven Rostedt Date: Mon Apr 20 10:47:36 2009 -0400 tracing: create menuconfig for tracing infrastructure During testing we often use randconfig to test various kernels. The current configuration set up does not give an easy way to disable all tracing with a single config. The case where randconfig would test all tracing disabled is very unlikely. This patch adds a config option to enable or disable all tracing. It is hooked into the tracing menu just like other submenus are done. [ Impact: allow randconfig to easily produce all traces disabled ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 9ae5b8790037d05d32746f521af146c32089bfec Author: Steven Rostedt Date: Mon Apr 20 10:27:58 2009 -0400 tracing: change branch profiling to a choice selection This patch makes the branch profiling into a choice selection: None - no branch profiling likely/unlikely - only profile likely/unlikely branches all - profile all branches The all profiler will also enable the likely/unlikely branches. This does not change the way the profiler works or the dependencies between the profilers. What this patch does, is keep the branch profiling from being selected by an allyesconfig make. The branch profiler is very intrusive and it is known to break various architecture builds when selected as an allyesconfig. [ Impact: prevent branch profiler from being selected in allyesconfig ] Reported-by: Heiko Carstens Reported-by: Al Viro Reported-by: Stephen Rothwell Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit cf242007a1eb29dcf93d1cb34713ec9b3f4a0e1b Author: Paul Mundt Date: Mon Apr 20 21:53:33 2009 +0900 sh: pci: Rename pci-new.c to pci.c. pci-new.c is now in a state to replace the old pci.c, rename it accordingly. Signed-off-by: Paul Mundt commit 35bcfffd86aac933205fbf8401e3e7e4dde68264 Author: Paul Mundt Date: Mon Apr 20 21:51:19 2009 +0900 sh: pci: Roll pci-lib in to pci-new. Now that the pci-auto cruft is gone, pci-lib can go away. Roll it back in to pci-new.c where it originally split off from. Signed-off-by: Paul Mundt commit 805fcc88999162b361ef0b0ce25782ef65f147d7 Author: Paul Mundt Date: Mon Apr 20 21:46:42 2009 +0900 sh: pci: Kill off the last remnants of the now unused pci-auto code. Signed-off-by: Paul Mundt commit 2d5efc190eb415dbff79ffab4f8ea731ab0288a9 Author: Paul Mundt Date: Mon Apr 20 21:42:59 2009 +0900 sh: pci: Move the se7751 fixups in to arch/sh/drivers/pci/. The se7751 was still doing the PCI fixups in its own board directory, so we move it over to arch/sh/drivers/pci/ with the rest of the board fixups. It has bitrotted significantly over the years, so will still likely need a bit of work to bring back up to date. Signed-off-by: Paul Mundt commit 951a681bda844491de8699b3bdc6c3899cbd4c9f Author: Paul Mundt Date: Mon Apr 20 21:34:36 2009 +0900 sh: pci: Convert dreamcast to new-style interface. Signed-off-by: Paul Mundt commit 37c8ac361efdbae969eff1a603bc39412d3e873f Author: Paul Mundt Date: Mon Apr 20 21:27:15 2009 +0900 sh: pci: Consolidate lboxre2 and r2d IRQ fixups. Signed-off-by: Paul Mundt commit 84972ec0c206b73ffb74e5114b574186ce6166b8 Author: Paul Mundt Date: Mon Apr 20 21:17:10 2009 +0900 sh: pci: Rename SH7751 platform ops files to fixups. None of these contain pci_ops, only IRQ routing bits, rename them accordingly. Signed-off-by: Paul Mundt commit 757e3c16f8bafa2a470aebf9b04671c5d4d18f49 Author: Paul Mundt Date: Mon Apr 20 21:11:07 2009 +0900 sh: pci: Rewrite SH7751 PCI support to follow SH7780. This follows the similar sort of scheme that the refactored SH7780 code uses, using a 64MB CS3 mapping to handle the window0 case, and simply discarding window1. This vastly simplifies the code, and allows most of the board-specific setup to go die. Signed-off-by: Paul Mundt commit 9b5b0c01598f9782690b09ce6c49f4ba116dde44 Merge: 7154b3e b08f7a6 Author: Mark Brown Date: Mon Apr 20 12:45:40 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 7154b3e80203ee91f9ba7d0a43d3daa05c49d9e9 Author: Joonyoung Shim Date: Mon Apr 20 19:21:35 2009 +0900 ASoC: TWL4030: Add support Voice DAI Add Voice DAI to support the PCM voice interface of the twl4030 codec. The PCM voice interface can be used with 8-kHz(voice narrowband) or 16-kHz(voice wideband) sampling rates, and 16bits, and mono RX and mono TX or stereo TX. The PCM voice interface has two modes - PCM mode1 : This uses the normal FS polarity and the rising edge of the clock signal. - PCM mode2 : This uses the FS polarity inverted and the falling edge of the clock signal. If the system master clock is not 26MHz or the twl4030 codec mode is not option2, the voice PCM interface is not available. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a5b08047129f214af1899bd9088605c7adc21ed5 Author: Paul Mundt Date: Mon Apr 20 20:41:45 2009 +0900 sh: pci: Rename ops-cayman -> fixups-cayman. Now that ops-cayman.c only contains IRQ routing fixups, rename it. Signed-off-by: Paul Mundt commit 48e4237d96fdcb1237b63bcddb37771f97452eec Author: Paul Mundt Date: Mon Apr 20 20:40:48 2009 +0900 sh: pci: Convert the SH-5 code over to the new interface. Signed-off-by: Paul Mundt commit 3444f5ec49bc6cb901ffea38e085db1d76e1189c Author: Paul Mundt Date: Mon Apr 20 20:22:05 2009 +0900 sh: pci: Tidy up the dreamcast PCI support. Signed-off-by: Paul Mundt commit 0db38cea69fc478a5c25b3c915ec680cc5538783 Author: Paul Mundt Date: Mon Apr 20 19:54:47 2009 +0900 sh: pci: Kill off legacy ide quirks. These fixups seem to have bitrotted a bit since their introduction in the 2.4 days. As we never had much use for them in the first place, and nothing is using them any more, kill them off the rest of the way. Signed-off-by: Paul Mundt commit 0e75148108914062cb46ad3dc8f054a628018df7 Author: Paul Mundt Date: Mon Apr 20 19:48:48 2009 +0900 sh: pci: Consolidate pcibios_setup() in pci-lib. This wasn't really being used for anything useful, so just stub it in pci-lib. Signed-off-by: Paul Mundt commit c563bf0965c86cc6087b09c34ca063fe96d6deca Author: Paul Mundt Date: Mon Apr 20 19:39:57 2009 +0900 sh: pci: Kill off dead references to is_pci_ioaddr and friends. Some old boards are still using this in their I/O routines, kill it off. Signed-off-by: Paul Mundt commit d556fcc101c4b0d57ac9742ab806a6bfed78eac1 Author: Paul Mundt Date: Mon Apr 20 19:31:20 2009 +0900 sh: pci: Flag the dreamcast BBA as IORESOURCE_PCI_FIXED. This isn't a real BAR, so prevent any attempts to move it, as we don't wish to encourage a bus luck by overzealous PCI initialization code. Signed-off-by: Paul Mundt commit bb3396477bf46c7cae6bd04b969580277957966e Author: Paul Mundt Date: Mon Apr 20 19:26:45 2009 +0900 sh: pci: Kill off superfluous lboxre2 pci fixups. This is a verbatim copy of the r2d one, use that instead. Signed-off-by: Paul Mundt commit 5ba7205fc49ff72e88784c94fb661f93e7ae7d36 Author: Paul Mundt Date: Mon Apr 20 19:00:32 2009 +0900 sh: pci: Kill off the now unused hose->io_base. Nothing is using this any more, so kill it off. Signed-off-by: Paul Mundt commit 3f8daeacd7ed7a502daf0998e2515cea4f467f21 Author: Paul Mundt Date: Mon Apr 20 18:53:41 2009 +0900 sh: pci: Consolidate the remaining common bits. This moves the remaining common bits in to pci-lib. Thereby reducing pci.c/pci-new.c to simple bus fixups and controller registration. As more platforms are moved over, the old code will disappear completely and the pci-new bits will be rolled in to pci-lib, eventually replacing pci.c completely. Signed-off-by: Paul Mundt commit 5160d3f782a5e0cdb3bdaa8a891a1fb9d9ab83ec Author: Paul Mundt Date: Mon Apr 20 18:47:21 2009 +0900 sh: pci: Consolidate bus<->resource mapping in pci-lib. Now that the io and mem offsets are tracked accordingly, the pci-new version of the bus<->resource mappers can be used generically. This moves them in to pci-lib. Signed-off-by: Paul Mundt commit 09cfeb133e3cac39b8b9a2cb1d8ab4f77e396248 Author: Paul Mundt Date: Mon Apr 20 18:42:00 2009 +0900 sh: pci: Track io and mem_offset per-channel. This implements a per-hose offset for I/O and mem resources. Signed-off-by: Paul Mundt commit e79066a659b893debe19010179d3f3f015d76d1c Author: Paul Mundt Date: Mon Apr 20 18:29:22 2009 +0900 sh: pci: New-style controller registration. This moves off of the board_pci_channels[] approach for bus registration and over to a cleaner register_pci_controller(), all derived from the MIPS code. Signed-off-by: Paul Mundt commit a0f82f64e26929776c58a5c93c2ecb38e3d82815 Author: Florian Westphal Date: Sun Apr 19 09:43:48 2009 +0000 syncookies: remove last_synq_overflow from struct tcp_sock last_synq_overflow eats 4 or 8 bytes in struct tcp_sock, even though it is only used when a listening sockets syn queue is full. We can (ab)use rx_opt.ts_recent_stamp to store the same information; it is not used otherwise as long as a socket is in listen state. Move linger2 around to avoid splitting struct mtu_probe across cacheline boundary on 32 bit arches. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 7eebb0b28f755e297d355a205bb04945b256db6b Author: Eric Dumazet Date: Fri Apr 17 22:03:10 2009 +0000 loopback: packet drops accounting We can in some situations drop packets in netif_rx() loopback driver does not report these (unlikely) drops to its stats, and incorrectly change packets/bytes counts. After this patch applied, "ifconfig lo" can reports these drops as in : # ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:692562900 errors:3228 dropped:3228 overruns:0 frame:0 TX packets:692562900 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2865674174 (2.6 GiB) TX bytes:2865674174 (2.6 GiB) I initialy chose to reflect those errors only in tx_dropped/tx_errors, but David convinced me that it was really RX errors, as loopback_xmit() really starts a RX process. (calling eth_type_trans() for example, that itself pulls the ethernet header) These errors are accounted in rx_dropped/rx_errors. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 99f95f117848088f2708b45c70be73152e78bb8a Author: Paul Mundt Date: Mon Apr 20 18:24:57 2009 +0900 sh: pci: Rework fixed region checks in ioremap(). Not all PCI channels have non-translatable memory windows, this is a special property of the on-chip PCIC with its 0xfd00... mapping, handle this explicitly. Signed-off-by: Paul Mundt commit eb62efd287fe6e12d18083287e38e4a811c28256 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:36 2009 +0000 e1000: init link state correctly As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded. This apparently confused *some* versions of networkmanager. Andy tested this for e1000e and confirmed it was working for him. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 9c563d20671e5fbe3045fd79c18b306ccb77b0b6 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:34 2009 +0000 e1000e: indicate link down at load As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. Andy tested this for e1000e and confirmed it was working for him. see thread: http://marc.info/?l=linux-netdev&m=123946479705636&w=2 Signed-off-by: Jesse Brandeburg Tested-by: Andy Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b168dfc51604ec293db16dc4d558043585578a2d Author: Jesse Brandeburg Date: Fri Apr 17 20:44:32 2009 +0000 igb: fix link down inital state As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3a6d1bc4163fee27c312184d5f1a9cc1e110d300 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:29 2009 +0000 ixgb: fix link down initial state As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. in addition this driver appeared to need a netif_start_queue at the end of open. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5438646724c34c2180664a57f862a1da8dd21db1 Author: Jesse Brandeburg Date: Fri Apr 17 20:44:27 2009 +0000 ixgbe: fix link down initial state As reported by Andrew Lutomirski All the intel wired ethernet drivers were calling netif_carrier_off and netif_stop_queue (or variants) before calling register_netdevice This is incorrect behavior as was pointed out by davem, and causes ifconfig and friends to report a strange state before first link after the driver was loaded, since without a netif_carrier_off, the stack assumes carrier_on, but before register_netdev, netlink messages are not sent out telling link state. This apparently confused *some* versions of networkmanager. Signed-off-by: Jesse Brandeburg Reported-by: Andrew Lutomirski Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f3b9aae16219aaeca2dd5a9ca69f7a10faa063df Author: Frederic Weisbecker Date: Sun Apr 19 23:39:33 2009 +0200 tracing/ring-buffer: Add unlock recursion protection on discard The pair of helpers trace_recursive_lock() and trace_recursive_unlock() have been introduced recently to provide generic tracing recursion protection. They are used in a symetric way: - trace_recursive_lock() on buffer reserve - trace_recursive_unlock() on buffer commit However sometimes, we don't commit but discard on entry to the buffer, ie: in case of filter checking. Then we must also unlock the recursion protection on discard time, otherwise the tracing gets definitely deactivated and a warning is raised spuriously, such as: 111.119821] ------------[ cut here ]------------ [ 111.119829] WARNING: at kernel/trace/ring_buffer.c:1498 ring_buffer_lock_reserve+0x1b7/0x1d0() [ 111.119835] Hardware name: AMILO Li 2727 [ 111.119839] Modules linked in: [ 111.119846] Pid: 5731, comm: Xorg Tainted: G W 2.6.30-rc1 #69 [ 111.119851] Call Trace: [ 111.119863] [] warn_slowpath+0xd8/0x130 [ 111.119873] [] ? __lock_acquire+0x19f/0x1ae0 [ 111.119882] [] ? __lock_acquire+0x19f/0x1ae0 [ 111.119891] [] ? native_sched_clock+0x20/0x70 [ 111.119899] [] ? put_lock_stats+0xe/0x30 [ 111.119906] [] ? lock_release_holdtime+0xa8/0x150 [ 111.119913] [] ring_buffer_lock_reserve+0x1b7/0x1d0 [ 111.119921] [] trace_buffer_lock_reserve+0x30/0x70 [ 111.119930] [] trace_current_buffer_lock_reserve+0x20/0x30 [ 111.119939] [] ftrace_raw_event_sched_switch+0x58/0x100 [ 111.119948] [] __schedule+0x3a7/0x4cd [ 111.119957] [] ? ftrace_call+0x5/0x2b [ 111.119964] [] ? ftrace_call+0x5/0x2b [ 111.119971] [] schedule+0x18/0x40 [ 111.119977] [] preempt_schedule+0x39/0x60 [ 111.119985] [] _read_unlock+0x53/0x60 [ 111.119993] [] sock_def_readable+0x72/0x80 [ 111.120002] [] unix_stream_sendmsg+0x24d/0x3d0 [ 111.120011] [] sock_aio_write+0x143/0x160 [ 111.120019] [] ? ftrace_call+0x5/0x2b [ 111.120026] [] ? sock_aio_write+0x0/0x160 [ 111.120033] [] ? sock_aio_write+0x0/0x160 [ 111.120042] [] do_sync_readv_writev+0xf3/0x140 [ 111.120049] [] ? ftrace_call+0x5/0x2b [ 111.120057] [] ? autoremove_wake_function+0x0/0x40 [ 111.120067] [] ? cap_file_permission+0x9/0x10 [ 111.120074] [] ? security_file_permission+0x16/0x20 [ 111.120082] [] do_readv_writev+0xd4/0x1f0 [ 111.120089] [] ? ftrace_call+0x5/0x2b [ 111.120097] [] ? ftrace_call+0x5/0x2b [ 111.120105] [] vfs_writev+0x48/0x70 [ 111.120111] [] sys_writev+0x55/0xc0 [ 111.120119] [] system_call_fastpath+0x16/0x1b [ 111.120125] ---[ end trace 15605f4e98d5ccb5 ]--- [ Impact: fix spurious warning triggering tracing shutdown ] Signed-off-by: Frederic Weisbecker commit 7670dc41b51983b369f9adfb8694a580e7b0cef2 Author: Takashi Iwai Date: Mon Apr 20 10:51:11 2009 +0200 ALSA: hda - Use snd_hda_codec_get_pincfg() in patch_ca0110.c Use the new function to reduce the access and allow the user setup via sysfs, too. Signed-off-by: Takashi Iwai commit 67667263674663767ddf4250bab2437a00ee780e Author: Takashi Iwai Date: Mon Apr 20 10:49:25 2009 +0200 ALSA: hda - Fix channels_max setting for CA0110 Added the missing definition of max channels for CA0110, which resulted in an error at opening PCM devices. Signed-off-by: Takashi Iwai commit 0bb34a6bf1f71d5ad2abfda582a2c2794957bc7b Author: Paul Mundt Date: Mon Apr 20 16:38:00 2009 +0900 sh: pci: Consolidate pci_iomap() and use the generic I/O base. This consolidates the pci_iomap() definitions and reworks how the I/O port base is handled. PCI channels can register their own I/O map base, or if none is provided, the system-wide generic I/O base is used instead. Functionally nothing changes, while this allows us to kill off lots of I/O address special casing and lookups. Signed-off-by: Paul Mundt commit 394b6d2fe624246e258a218dac68d44fe9a8411f Author: Paul Mundt Date: Mon Apr 20 16:18:46 2009 +0900 sh: pci: Kill off unused pcibios_fixup(). This is left over cruft that hasn't been used by anything in a long time, kill off bits that weren't purged previously. Signed-off-by: Paul Mundt commit a3c0e0d0032d5bbfd7dc04827a257c717d432a5b Author: Paul Mundt Date: Mon Apr 20 16:14:29 2009 +0900 sh: pci: Consolidate pcibios_align_resource() definitions. This introduces a saner pcibios_align_resource() that can be used regardless of whether pci-auto or pci-new are being used, and consolidates it in pci-lib.c. Signed-off-by: Paul Mundt commit 9833385131fc4e8c52f95320ab899051d1c06831 Author: Paul Mundt Date: Mon Apr 20 15:51:45 2009 +0900 sh: pci: HAVE_PCI_MMAP support. Derived from the MIPS version, now uses pgprot_noncached(). Signed-off-by: Paul Mundt commit 4c5107e44514a9bde74d0af77982705d602d9e39 Author: Paul Mundt Date: Mon Apr 20 15:43:36 2009 +0900 sh: pci: Split out new-style PCI core. This splits off a 'pci-new.c' which is aimed at gradually replacing the pci-auto backend and the arch/sh/drivers/pci/pci.c core respectively. Signed-off-by: Paul Mundt commit 9ade1217c9ba39ad2f004a898ddfbb815fd5fe74 Author: Paul Mundt Date: Mon Apr 20 15:38:25 2009 +0900 sh: pci: Drop asm-generic/pci.h, so we can use our own fixups. The new PCI code wants its own bus<->resource mappings instead of the generic equivalents, so drop the asm-generic include in preparation. Signed-off-by: Paul Mundt commit 68d8bf0436001980461483f2d753206447f27685 Author: Felipe Balbi Date: Sun Apr 19 23:07:50 2009 -0700 Input: add twl4030-pwrbutton driver This is part of the twl4030 multifunction device driver that supports reporting KEY_POWER events via the input layer. Signed-off-by: Felipe Balbi Signed-off-by: Dmitry Torokhov commit 3ef8e4e9e4d18910cd03dcd481a5dced437b83cf Author: Alexander Beregalov Date: Sun Apr 19 18:42:58 2009 -0700 iseries_veth: fix build breakage Reported-by: Stephen Rothwell Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit e057a5e5647a1c9d0d0054fbd298bfa04b3d1cb4 Author: Frederic Weisbecker Date: Sun Apr 19 23:38:12 2009 +0200 tracing/core: Add current context on tracing recursion warning In case of tracing recursion detection, we only get the stacktrace. But the current context may be very useful to debug the issue. This patch adds the softirq/hardirq/nmi context with the warning using lockdep context display to have a familiar output. v2: Use printk_once() v3: drop {hardirq,softirq}_context which depend on lockdep, only keep what is part of current->trace_recursion, sufficient to debug the warning source. [ Impact: print context necessary to debug recursion ] Signed-off-by: Frederic Weisbecker commit 667c5296cc76fefe0abcb79228952b28d9af45e3 Author: Cyrill Gorcunov Date: Sun Apr 19 11:43:11 2009 +0400 x86: es7000, uv - use __cpuinit for kicking secondary cpus The caller already has __cpuinit attribute. [ Impact: save memory, address section mismatch warning ] Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu Cc: Pavel Emelyanov LKML-Reference: <20090419074311.GA8670@lenovo> Signed-off-by: Ingo Molnar commit cece3155d869a50ba534ed161b5a05e8a29dcad0 Author: Cyrill Gorcunov Date: Sat Apr 18 23:45:28 2009 +0400 x86: smpboot - wakeup_secondary should be done via __cpuinit section A caller (do_boot_cpu) already has __cpuinit attribute. Since HOTPLUG_CPU depends on SMP && HOTPLUG it doesn't lead to panic at moment. [ Impact: cleanup ] Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090418194528.GD25510@lenovo> Signed-off-by: Ingo Molnar commit 9a2755c3569e4db92bd9b1daadeddb4045b0cccd Author: Weidong Han Date: Fri Apr 17 16:42:16 2009 +0800 x86, intr-remap: fix x2apic/intr-remap resume Interrupt remapping was decoupled from x2apic. Shouldn't check x2apic before resume interrupt remapping. Otherwise, interrupt remapping won't be resumed when x2apic is not enabled. [ Impact: fix potential intr-remap resume hang on !x2apic ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-6-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 03ea81550676296d94596e4337c771c6ba29f542 Author: Weidong Han Date: Fri Apr 17 16:42:15 2009 +0800 x86, intr-remap: add option to disable interrupt remapping Add option "nointremap" to disable interrupt remapping. [ Impact: add new boot option ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-5-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 937582382c71b75b29fbb92615629494e1a05ac0 Author: Weidong Han Date: Fri Apr 17 16:42:14 2009 +0800 x86, intr-remap: enable interrupt remapping early Currently, when x2apic is not enabled, interrupt remapping will be enabled in init_dmars(), where it is too late to remap ioapic interrupts, that is, ioapic interrupts are really in compatibility mode, not remappable mode. This patch always enables interrupt remapping before ioapic setup, it guarantees all interrupts will be remapped when interrupt remapping is enabled. Thus it doesn't need to set the compatibility interrupt bit. [ Impact: refactor intr-remap init sequence, enable fuller remap mode ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-4-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 5d0ae2db6deac4f15dac4f42f23bc56448fc8d4d Author: Weidong Han Date: Fri Apr 17 16:42:13 2009 +0800 x86, intr-remap: fix ack for interrupt remapping Shouldn't call ack_apic_edge() in ir_ack_apic_edge(), because ack_apic_edge() does more than just ack: it also does irq migration in the non-interrupt-remapping case. But there is no such need for interrupt-remapping case, as irq migration is done in the process context. Similarly, ir_ack_apic_level() shouldn't call ack_apic_level, and instead should do the local cpu's EOI + directed EOI to the io-apic. ack_x2APIC_irq() is not neccessary, because ack_APIC_irq() will use MSR write for x2apic, and uncached write for non-x2apic. [ Impact: simplify/standardize intr-remap IRQ acking, fix on !x2apic ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-3-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit 2b2fd87a6ef56ba7647a578e81bb8c8efda166b8 Author: Weidong Han Date: Fri Apr 17 16:42:12 2009 +0800 docs, x86: add nox2apic back to kernel-parameters.txt "nox2apic" was removed from kernel-parameters.txt by mistake, when entries were sorted in alpha order (commit 0cb55ad2). But this early parameter is still there, add it back to kernel-parameters.txt. [ Impact: add boot parameter description ] Signed-off-by: Suresh Siddha Signed-off-by: Weidong Han Acked-by: David Woodhouse Cc: Randy Dunlap Cc: iommu@lists.linux-foundation.org Cc: allen.m.kay@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1239957736-6161-2-git-send-email-weidong.han@intel.com> Signed-off-by: Ingo Molnar commit e06003af56c386018f0c209608ac6c6662228cc0 Author: H Hartley Sweeten Date: Sat Apr 18 23:43:57 2009 -0700 Input: add matrix keypad driver for Cirrus EP93xx This is a keyboard driver for the Cirrus Logic EP93xx keypad matrix peripheral. This driver is based on the pxa27x_keypad driver. [dtor@mail.ru: Plug in input_dev->keycode so keymap can be changed from userspace.] Signed-off-by: H Hartley Sweeten Signed-off-by: Dmitry Torokhov commit 8fb2bae4b41eb64f6e233e9bd3f3a789fbb04a06 Author: Paul Mundt Date: Sun Apr 19 13:14:29 2009 +0900 sh: sh7724: Register CMT as an early platform device here too. Follows the SH7722/SH7723 changes. Signed-off-by: Paul Mundt commit d9aed8b95f062b2f96e37b0e07373f36a6e7066d Author: Paul Mundt Date: Sun Apr 19 13:12:04 2009 +0900 sh: sh7724: Don't default enable the RTC clock. rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt commit 22fd67c5c94a188ded2bb7c78369fd751d1bb187 Merge: b8c193f 28fde68 bc9f3d4 Author: Paul Mundt Date: Sun Apr 19 13:08:33 2009 +0900 Merge branches 'sh/earlytimer' and 'sh/shmobile-r2r-staging' commit 28fde6863e6ed1f4bfb7cef080e67bf439c20628 Author: Magnus Damm Date: Wed Apr 15 10:50:30 2009 +0000 sh: Early Platform Data for SuperH Mobile Use plat_early_device_setup() to register Early Platform Data for SuperH Mobile processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 87a00dc059e3af46303f1f56b0e8df41af988c7b Author: Magnus Damm Date: Wed Apr 15 10:50:21 2009 +0000 sh: Add plat_early_device_setup() Add a plat_early_device_setup() function to allow processor-specific code to register Early Platform Data. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit eaab89197b733d0f81f07d6c44294b674479fda8 Author: Magnus Damm Date: Wed Apr 15 10:50:12 2009 +0000 sh: arch earlytimer support Extend the 32-bit SuperH timer code to register and probe the earlytimer class of Early Platform Drivers. This registers the sh_cmt driver if compiled-in. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e475eedb09ee9a0fd855f3e923aa9af31c17d141 Author: Magnus Damm Date: Wed Apr 15 10:50:04 2009 +0000 clocksource: sh_cmt earlytimer support Add Early Platform Driver support to the sh_cmt driver using the earlytimer class. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 864fe73c312ca8e177da01207ce86fb1b80b3e54 Author: Hans-Christian Egtvedt Date: Sat Apr 18 18:45:06 2009 -0700 Input: add wm97xx accelerated driver for Atmel microprocessors This patch adds an accelerated driver for Atmel AVR32 AT32AP700X microprocessors. It uses interrupts on the channel B in the AC97 controller. Thus, offloading the work queue in the wm97xx-ts driver. The driver has been tested with Atmel AVR32 AT32AP7000 and Wolfson WM9712 codec. The driver can also be easily modified to support Atmel AT91 devices, as AT91 and AVR32 share the same AC97C module. [Fixed leak of atmel_wm97xx when probe fails. -- broonie] [dtor@mail.ru: do not report ABS_PRESSURE events when not measuring pressure] Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 64e8563ca86167b4a991724b416d61c129138359 Author: Dmitry Torokhov Date: Sat Apr 18 18:45:17 2009 -0700 Input: gpio-keys - remove depreciated IRQF_SAMPLE_RANDOM flag Signed-off-by: Dmitry Torokhov commit 2c316bb57ad4e9f0f3de2d7ef1ae85530c2a7e69 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide: drop rq->data handling from ide_map_sg() Impact: remove code path which is no longer necessary All IDE data transfers now use rq->bio. Simplify ide_map_sg() accordingly. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 6d7003877c2f0578f1c08f66d05c3f72ef4ae596 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-atapi: kill unused fields and callbacks Impact: remove fields and code paths which are no longer necessary Now that ide-tape uses standard mechanisms to transfer data, special case handling for bh handling can be dropped from ide-atapi. Drop the followings. * pc->cur_pos, b_count, bh and b_data * drive->pc_update_buffers() and pc_io_buffers(). Signed-off-by: Tejun Heo commit 07bd9686c50c2b1f10e48089d4fb836a971f5177 Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: simplify read/write functions Impact: cleanup idetape_chrdev_read/write() functions are unnecessarily complex when everything can be handled in a single loop. Collapse idetape_add_chrdev_read/write_request() into the rw functions and simplify the implementation. Signed-off-by: Tejun Heo commit 6bb11dd14f70228f8dab25fd25dabeb9bc74926d Author: Tejun Heo Date: Sun Apr 19 08:46:03 2009 +0900 ide-tape: use byte size instead of sectors on rw issue functions Impact: cleanup Byte size is what most issue functions deal with, make idetape_queue_rw_tail() and its wrappers take byte size instead of sector counts. idetape_chrdev_read() and write() functions are converted to use tape->buffer_size instead of ctl from tape->cap. This cleans up code a little bit and will ease the next r/w reimplementation. Signed-off-by: Tejun Heo commit 88f1b941c5c94016a59144a3c94c9ca31eb16205 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: unify r/w init paths Impact: cleanup Read and write init paths are almost identical. Unify them into idetape_init_rw(). Signed-off-by: Tejun Heo commit 963da55c4b9eeeb2085ca74ba927cf77bce966d4 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: kill idetape_bh Impact: kill now unnecessary idetape_bh With everything using standard mechanisms, there is no need for idetape_bh anymore. Kill it and use tape->buf, cur and valid to describe data buffer instead. Changes worth mentioning are... * idetape_queue_rq_tail() now always queue tape->buf and and adjusts buffer state properly before completion. * idetape_pad_zeros() clears the buffer only once. Signed-off-by: Tejun Heo commit 21d9c5d227593d15630ae83a336d1519653e9b8a Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use standard data transfer mechanism Impact: use standard way to transfer data ide-tape uses rq in an interesting way. For r/w requests, rq->special is used to carry a private buffer management structure idetape_bh and rq->nr_sectors and current_nr_sectors are initialized to the number of idetape blocks which isn't necessary 512 bytes. Also, rq->current_nr_sectors is used to report back the residual count in units of idetape blocks. This peculiarity taxes both block layer and ide. ide-atapi has different paths and hooks to accomodate it and what a rq means becomes quite confusing and making changes at the block layer becomes quite difficult and error-prone. This patch makes ide-tape use bio instead. With the previous patch, ide-tape currently is using single contiguos buffer so replacing it isn't difficult. Data buffer is mapped into bio using blk_rq_map_kern() in idetape_queue_rw_tail(). idetape_io_buffers() and idetape_update_buffers() are dropped and pc->bh is set to null to tell ide-atapi to use standard data transfer mechanism and idetape_bh byte counts are updated by the issuer on completion using the residual count. This change also nicely removes the FIXME in ide_pc_intr() where ide-tape rqs need to be completed using ide_rq_bytes() instead of blk_rq_bytes() (although this didn't really matter as the request didn't have bio). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 35ab8d3251833e4052aa64b09b08195e949518c7 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape: use single continuous buffer Impact: simpler buffer allocation and handling, kills OOM, fix DMA transfers ide-tape has its own multiple buffer mechanism using struct idetape_bh. It allocates buffer with decreasing order-of-two allocations so that it results in minimum number of segments. However, the implementation is quite complex and works in a way that no other block or ide driver works necessitating a lot of special case handling. The benefit this complex allocation scheme brings is questionable as PIO or DMA the number of segments (16 maximum) doesn't make any noticeable difference and it also doesn't negate the need for multiple order allocation which can fail under memory pressure or high fragmentation although it does lower the highest order necessary by one when the buffer size isn't power of two. As the first step to remove the custom buffer management, this patch makes ide-tape allocate single continous buffer. The maximum order is four. I doubt the change would cause any trouble but if it ever matters, it should be converted to regular sg mechanism like everyone else and even in that case dropping custom buffer handling and moving to standard mechanism first make sense as an intermediate step. This patch makes the first bh to contain the whole buffer and drops multi bh handling code. Following patches will make further changes. This patch has the side effect of killing OOM triggered by allocation path and fixing DMA transfers. Previously, bug in alloc path triggered OOM on command issue and commands were passed to DMA engine without DMA-mapping all the segments. Signed-off-by: Tejun Heo commit b3071d190d6757b14af002a9d79832f12de61bce Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len Impact: allow residual count implementation in ->pc_callback() rq->data_len has two duties - carrying the number of input bytes on issue and carrying residual count back to the issuer on completion. ide-atapi completion callback ->pc_callback() is the right place to do this but currently ide-atapi depends on rq->data_len carrying the original request size after calling ->pc_callback() to complete the pc request. This patch makes ide_pc_intr(), ide_tape_issue_pc() and ide_floppy_issue_pc() cache length to complete before calling ->pc_callback() so that it can modify rq->data_len as necessary. Note: As using rq->data_len for two purposes can make cases like this incorrect in subtle ways, future changes will introduce separate field for residual count. Signed-off-by: Tejun Heo Cc: Jens Axboe commit ea7066afcd590e4663e6dc010f93704164050f48 Author: Tejun Heo Date: Sun Apr 19 08:46:02 2009 +0900 ide-tape,floppy: fix failed command completion after request sense Impact: fix infinite retry loop After a command failed, ide-tape and floppy inserts REQUEST_SENSE in front of the failed command and according to the result, sets pc->retries, flags and errors. After REQUEST_SENSE is complete, the failed command is again at the front of the queue and if the verdict was to terminate the request, the issue functions tries to complete it directly by calling drive->pc_callback() and returning ide_stopped. However, drive->pc_callback() doesn't complete a request. It only prepares for completion of the request. As a result, this creates an infinite loop where the failed request is retried perpetually. Fix it by actually ending the request by calling ide_complete_rq(). Signed-off-by: Tejun Heo commit fc38b521dcffcb07447cd98fedc56f495c10b90d Author: Tejun Heo Date: Sun Apr 19 07:00:43 2009 +0900 ide-pm: don't abuse rq->data Impact: cleanup rq->data usage ide-pm uses rq->data to carry pointer to struct request_pm_state through request queue and rq->special is used to carray pointer to local struct ide_cmd, which isn't necessary. Use rq->special for request_pm_state instead and use local ide_cmd in ide_start_power_step(). Signed-off-by: Tejun Heo Cc: Jens Axboe commit 5c4be57249e2e09136446597d2fe2a967c6ffef0 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd,atapi: use bio for internal commands Impact: unify request data buffer handling rq->data is used mostly to pass kernel buffer through request queue without using bio. There are only a couple of places which still do this in kernel and converting to bio isn't difficult. This patch converts ide-cd and atapi to use bio instead of rq->data for request sense and internal pc commands. With previous change to unify sense request handling, this is relatively easily achieved by adding blk_rq_map_kern() during sense_rq prep and PC issue. If blk_rq_map_kern() fails for sense, the error is deferred till sense issue and aborts the failed command which triggered the sense. Note that this is a slim possibility as sense prep is done on each command issue, so for the above condition to actually trigger, all preps since the last sense issue till the issue of the request which would require a sense should fail. * do_request functions might sleep now. This should be okay as ide request_fn - do_ide_request() - is invoked only from make_request and plug work. Make sure this is the case by adding might_sleep() to do_ide_request(). * Functions which access the read sense data before the sense request is complete now should access bio_data(sense_rq->bio) as the sense buffer might have been copied during blk_rq_map_kern(). * ide-tape updated to map sg. * cdrom_do_block_pc() now doesn't have to deal with REQ_TYPE_ATA_PC special case. Simplified. * tp_ops->output/input_data path dropped from ide_pc_intr(). Signed-off-by: Tejun Heo commit 6b544fcc8cd0a04eb42de9d1ecdd345e979d6ada Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: convert ide-{floppy,tape} to using preallocated sense buffer Since we're issuing REQ_TYPE_SENSE now we need to allow those types of rqs in the ->do_request callbacks. As a future improvement, sense_len assignment might be unified across all ATAPI devices. Borislav to check with specs and test. As a result, get rid of ide_queue_pc_head() and drive->request_sense_rq. tj: * Init request sense ide_atapi_pc from sense request. In the longer timer, it would probably better to fold ide_create_request_sense_cmd() into its only current user - ide_floppy_get_format_progress(). * ide_retry_pc() no longer takes @disk. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit 746d5e43274e9ea6cbd58818afc9239d41fb4e1e Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: convert to using generic sense request Preallocate a sense request in the ->do_request method and reinitialize it only on demand, in case it's been consumed in the IRQ handler path. The reason for this is that we don't want to be mapping rq to bio in the IRQ path and introduce all kinds of unnecessary hacks to the block layer. tj: * Both user and kernel PC requests expect sense data to be stored in separate storage other than drive->sense_data. Copy sense data to rq->sense on completion if rq->sense is not NULL. This fixes bogus sense data on PC requests. As a result, remove cdrom_queue_request_sense. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit a1df5169f9bf08f6067029bfb840a05e282b1b97 Author: Borislav Petkov Date: Sun Apr 19 07:00:42 2009 +0900 ide: add helpers for preparing sense requests This is in preparation of removing the queueing of a sense request out of the IRQ handler path. Use struct request_sense as a general sense buffer for all ATAPI devices ide-{floppy,tape,cd}. tj: * blk_get_request(__GFP_WAIT) can't be called from do_request() as it can cause deadlock. Converted to use inline struct request and blk_rq_init(). * Added xfer / cdb len selection depending on device type. * All sense prep logics folded into ide_prep_sense() which never fails. * hwif->rq clearing and sense_rq used handling moved into ide_queue_sense_rq(). * blk_rq_map_kern() conversion is moved to later patch. CC: Bartlomiej Zolnierkiewicz CC: FUJITA Tomonori Signed-off-by: Borislav Petkov Signed-off-by: Tejun Heo commit cbfd082abfcbed8c57a12636f36e9bead8d6cfc6 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-cd: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-cd uses rq->buffer to carry pointer to the original request when issuing REQUEST_SENSE. Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit c267cc1c4db4ccb3406d045a8da8660f0bbfe08d Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-atapi: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide-atapi uses rq->buffer as private opaque value for internal special requests. rq->special isn't used for these cases (the only case where rq->special is used is for ide-tape rw requests). Use rq->special instead. Signed-off-by: Tejun Heo Cc: Jens Axboe commit eace4cb04c0edc9388e987bf9bbdef461f6daca4 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-taskfile: don't abuse rq->buffer Impact: rq->buffer usage cleanup ide_raw_taskfile() directly uses rq->buffer to carry pointer to the data buffer. This complicates both block interface and ide backend request handling. Use blk_rq_map_kern() instead and drop special handling for REQ_TYPE_ATA_TASKFILE from ide_map_sg(). Note that REQ_RW setting is moved upwards as blk_rq_map_kern() uses it to initialize bio rw flag. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 7f006dc24fae158131116c9472874f12e16cf040 Author: Tejun Heo Date: Sun Apr 19 07:00:42 2009 +0900 ide-floppy: block pc always uses bio Impact: remove unnecessary code path Block pc requests always use bio and rq->data is always NULL. No need to worry about !rq->bio cases in idefloppy_block_pc_cmd(). Note that ide-atapi uses ide_pio_bytes() for bio PIO transfer which handle sg fine. Signed-off-by: Tejun Heo Cc: Jens Axboe commit 1873b90cdea038715ec7140fccc2116fb930ffb5 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-cd: clear sense buffer before issuing request sense Impact: code simplification ide_cd_request_sense_fixup() clears the tail of the sense buffer if the device didn't completely fill it. This patch makes cdrom_queue_request_sense() clear the sense buffer before issuing the command instead of clearing it afterwards. This simplifies code and eases future changes. Signed-off-by: Tejun Heo commit 46a802e852c2106d755f697819ea80cd3ffdc222 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide kill unused ide_cmd->special Impact: removal of unused field No one uses ide_cmd->special anymore. Kill it. Signed-off-by: Tejun Heo commit 55f3f399422a4a3f6cb84ea4096dfaddf8817399 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: don't set REQ_SOFTBARRIER ide doesn't have to worry about REQ_SOFTBARRIER. Don't set it. Signed-off-by: Tejun Heo commit 853280a4dc8e3cc97ff10c1c02234d96078f437b Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide: use blk_run_queue() instead of blk_start_queueing() blk_start_queueing() is being phased out in favor of [__]blk_run_queue(). Switch. Signed-off-by: Tejun Heo commit 1e75540ec5202cae63cd238c86bd880e3d496546 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 ide-tape: remove back-to-back REQUEST_SENSE detection Impact: fix an oops which always triggers ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when checking for back-to-back request sense issues but drive->pc can be NULL and even when it's not NULL, it's not safe to dereference it once the previous command is complete because pc could have been freed or was on stack. Kill back-to-back REQUEST_SENSE detection. Signed-off-by: Tejun Heo commit 6f41469c627fe118121dfce2a8134ad24da3df28 Author: Tejun Heo Date: Sun Apr 19 07:00:41 2009 +0900 block: clear req->errors on bio completion only for fs requests Impact: subtle behavior change For fs requests, rq is only carrier of bios and rq error status as a whole doesn't mean much. This is the reason why rq->errors is being cleared on each partial completion of a request as on each partial completion the error status is transferred to the respective bios. For pc requests, rq->errors is used to carry error status to the issuer and thus __end_that_request_first() doesn't clear it on such cases. The condition was fine till now as only fs and pc requests have used bio and thus the bio completion path. However, future changes will unify data accesses to bio and all non fs users care about rq error status. Clear rq->errors on bio completion only for fs requests. In general, the implicit clearing is a bit too subtle especially as the meaning of rq->errors is completely dependent on low level drivers. Unifying / cleaning up rq->errors usage and letting llds manage it would be better. TODO comment added. Signed-off-by: Tejun Heo Acked-by: Jens Axboe commit 8e668b5b3455207e4540fc7ccab9ecf70142f288 Author: Steven Rostedt Date: Fri Apr 17 17:17:55 2009 -0400 tracing: remove format attribute of inline function Due to a cut and paste error, I added the gcc attribute for printf format to the static inline stub of trace_seq_printf. This will cause a compile failure. [ Impact: fix compiler error when CONFIG_TRACING is off ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: =?ISO-8859-15?Q?Fr=E9d=E9ric_Weisbecker?= LKML-Reference: Signed-off-by: Ingo Molnar commit 4a74491ef514c01f45d820b10501a5cfcccd3c73 Author: Thadeu Lima de Souza Cascardo Date: Fri Apr 17 20:35:58 2009 -0700 Input: fix typo in documentation Event type for key presses is EV_KEY, not REL_KEY. Signed-off-by: Dmitry Torokhov commit 89b09b99703b0068f6bc39f7aa48dc81cd7e14d3 Author: Dmitry Torokhov Date: Fri Apr 17 20:12:34 2009 -0700 Input: serio - rearrange EXPORT_SYMBOL() markings Current style calls for placing EXPORT_SYMBOL() markings directly after exported symbol definition; let's follow it. Signed-off-by: Dmitry Torokhov commit 3e65067defaf0024c62d71b06d536e7206d14b73 Author: Dmitry Torokhov Date: Fri Apr 17 20:12:05 2009 -0700 Input: gameport - rearrange EXPORT_SYMBOL() markings Current style calls for placing EXPORT_SYMBOL() markings directly after exported symbol definition; let's follow it. Signed-off-by: Dmitry Torokhov commit f445da83877f979fc131e3e45652858a5f6fa1d6 Author: Dmitry Torokhov Date: Fri Apr 17 20:35:57 2009 -0700 Input: fp801-gp - add MODULE_DESCRIPTION() Signed-off-by: Dmitry Torokhov commit 32a676fead0953562e16c26ef95058000d466c2a Author: Dmitry Torokhov Date: Fri Apr 17 20:12:35 2009 -0700 Input: gtco - add MODULE_DESCRIPTION() Signed-off-by: Dmitry Torokhov commit bd3ce6556072bdc8ea66dfd5448e184f189bdc7f Author: H Hartley Sweeten Date: Fri Apr 17 20:12:35 2009 -0700 Input: rotary_encoder - add support for REL_* axes The rotary encoder driver only supports returning input events for ABS_* axes, this adds support for REL_* axes. The relative axis input event is reported as -1 for each counter-clockwise step and +1 for each clockwise step. The ability to clamp the position of ABS_* axes between 0 and a maximum of "steps" has also been added. Signed-off-by: H Hartley Sweeten Signed-off-by: Daniel Mack Signed-off-by: Dmitry Torokhov commit 7fe624f5607ed98de0034adf130e857474dffc2b Author: Andrew Gallatin Date: Fri Apr 17 15:45:15 2009 -0700 myri10ge: fix compile error A compilation error snuck into 2d90b0aa3bc484189940444bcddcbe0ebbb53af5 due to an over-zealous indent script removing spaces around array initialization ellipsis. The attached patch fixes the myri10ge compilation in net-next. Signed-off-by: Andrew Gallatin Signed-off-by: David S. Miller commit 3189cdb31622f4e40688ce5a6fc5d940b42bc805 Author: Steven Rostedt Date: Fri Apr 17 16:13:55 2009 -0400 tracing: protect trace_printk from recursion trace_printk can be called from any context, including NMIs. If this happens, then we must test for for recursion before grabbing any spinlocks. This patch prevents trace_printk from being called recursively. [ Impact: prevent hard lockup in lockdep event tracer ] Cc: Peter Zijlstra Cc: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 261842b7c9099f56de2eb969c8ad65402d68e00e Author: Steven Rostedt Date: Thu Apr 16 21:41:52 2009 -0400 tracing: add same level recursion detection The tracing infrastructure allows for recursion. That is, an interrupt may interrupt the act of tracing an event, and that interrupt may very well perform its own trace. This is a recursive trace, and is fine to do. The problem arises when there is a bug, and the utility doing the trace calls something that recurses back into the tracer. This recursion is not caused by an external event like an interrupt, but by code that is not expected to recurse. The result could be a lockup. This patch adds a bitmask to the task structure that keeps track of the trace recursion. To find the interrupt depth, the following algorithm is used: level = hardirq_count() + softirq_count() + in_nmi; Here, level will be the depth of interrutps and softirqs, and even handles the nmi. Then the corresponding bit is set in the recursion bitmask. If the bit was already set, we know we had a recursion at the same level and we warn about it and fail the writing to the buffer. After the data has been committed to the buffer, we clear the bit. No atomics are needed. The only races are with interrupts and they reset the bitmask before returning anywy. [ Impact: detect same irq level trace recursion ] Signed-off-by: Steven Rostedt commit 12acd473d45cf2e40de3782cb2de712e5cd4d715 Author: Steven Rostedt Date: Fri Apr 17 16:01:56 2009 -0400 tracing: add EXPORT_SYMBOL_GPL for trace commits Not all the necessary symbols were exported to allow for tracing by modules. This patch adds them in. [ Impact: allow modules to commit data to the ring buffer ] Signed-off-by: Steven Rostedt commit b0afdc126d0515e76890f0a5f26b28501cfa298e Author: Steven Rostedt Date: Fri Apr 17 13:02:22 2009 -0400 tracing/events: enable code with EVENT_TRACING not EVENT_TRACER The CONFIG_EVENT_TRACER is the way to turn on event tracing when no other tracing has been configured. All code to get enabled should depend on CONFIG_EVENT_TRACING. That is what is enabled when TRACING (or CONFIG_EVENT_TRACER) is selected. This patch enables the include/trace/ftrace.h file when CONFIG_EVENT_TRACING is enabled. [ Impact: fix warning in event tracer selftest ] Signed-off-by: Steven Rostedt commit ac1adc55fc71c7515caa2eb0e63e49b3d1c6a47c Author: Tom Zanussi Date: Fri Apr 17 00:27:08 2009 -0500 tracing/filters: add filter_mutex to protect filter predicates This patch adds a filter_mutex to prevent the filter predicates from being accessed concurrently by various external functions. It's based on a previous patch by Li Zefan: "[PATCH 7/7] tracing/filters: make filter preds RCU safe" v2 changes: - fixed wrong value returned in a add_subsystem_pred() failure case noticed by Li Zefan. [ Impact: fix trace filter corruption/crashes on parallel access ] Signed-off-by: Tom Zanussi Reviewed-by: Li Zefan Tested-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1239946028.6639.13.camel@tropicana> Signed-off-by: Ingo Molnar commit 46de405f25f1d9fa73b657ffbb752aa0cc87a91d Author: Zhaolei Date: Fri Apr 17 10:53:43 2009 +0800 tracing: Remove include/trace/kmem_event_types.h kmem_event_types.h is no longer necessary since tracepoint definitions are put into include/trace/events/kmem.h [ Impact: remove now-unused file. ] Signed-off-by: Zhao Lei Acked-by: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49E7EF37.2080205@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9b94b3a19b13e094c10f65f24bc358f6ffe4eacd Author: Andreas Herrmann Date: Fri Apr 17 12:07:46 2009 +0200 x86: fixup numa_node information for AMD CPU northbridge functions Currently the numa_node attribute for these PCI devices is 0 (it corresponds to the numa_node for PCI bus 0). This is not a big issue but incorrect. This inconsistency can be fixed by reading the node number from CPU NB function 0. [ Impact: fill in dev->numa_node information, to optimize DMA allocations ] Signed-off-by: Andreas Herrmann Cc: jbarnes@virtuousgeek.org LKML-Reference: <20090417100746.GG16198@alberich.amd.com> Signed-off-by: Ingo Molnar commit 339ae5d3c3fc2025e3657637921495fd600027c7 Author: Li Zefan Date: Fri Apr 17 10:34:30 2009 +0800 tracing: fix file mode of trace and README trace is read-write and README is read-only. [ Impact: fix /debug/tracing/ file permissions. ] Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Acked-by: Steven Rostedt LKML-Reference: <49E7EAB6.4070605@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 76aa81118ddfbb3dc31533030cf3ec329dd067a6 Author: Jeremy Fitzhardinge Date: Thu Apr 16 23:35:39 2009 -0700 tracing: avoid warnings from zero-arg tracepoints Tracepoints with no arguments can issue two warnings: "field" defined by not used "ret" is uninitialized in this function Mark field as being OK to leave unused, and initialize ret. [ Impact: fix false positive compiler warnings. ] Signed-off-by: Jeremy Fitzhardinge Acked-by: Steven Rostedt Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <1239950139-1119-5-git-send-email-jeremy@goop.org> Signed-off-by: Ingo Molnar commit 9ea21c1ecdb35ecdcac5fd9d95f62a1f6a7ffec0 Author: Steven Rostedt Date: Thu Apr 16 12:15:44 2009 -0400 tracing/events: perform function tracing in event selftests We can find some bugs in the trace events if we stress the writes as well. The function tracer is a good way to stress the events. [ Impact: extend scope of event tracer self-tests ] Signed-off-by: Steven Rostedt Cc: Andrew Morton Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20090416161746.604786131@goodmis.org> Signed-off-by: Ingo Molnar commit 69abe6a5d18a9394baa325bab8f57748b037c517 Author: Avadh Patel Date: Fri Apr 10 16:04:48 2009 -0400 tracing: add saved_cmdlines file to show cached task comms Export the cached task comms to userspace. This allows user apps to translate the pids from a trace into their respective task command lines. [ Impact: let userspace apps reading binary buffer know comm's of pids ] Signed-off-by: Avadh Patel [ added error checking and use of buf pointer to index file_buf ] Signed-off-by: Steven Rostedt commit d1b182a8d49ed6416325b4e0a1cb0f17cd4e702a Author: Steven Rostedt Date: Wed Apr 15 16:53:47 2009 -0400 tracing/events/ring-buffer: expose format of ring buffer headers to users Currently, every thing needed to read the binary output from the ring buffers is available, with the exception of the way the ring buffers handles itself internally. This patch creates two special files in the debugfs/tracing/events directory: # cat /debug/tracing/events/header_page field: u64 timestamp; offset:0; size:8; field: local_t commit; offset:8; size:8; field: char data; offset:16; size:4080; # cat /debug/tracing/events/header_event type : 2 bits len : 3 bits time_delta : 27 bits array : 32 bits padding : type == 0 time_extend : type == 1 data : type == 3 This is to allow a userspace app to see if the ring buffer format changes or not. [ Impact: allow userspace apps to know of ringbuffer format changes ] Signed-off-by: Steven Rostedt commit 6b87a91f5417226c7fe62100b0e7217e7096b789 Author: Peter Ujfalusi Date: Fri Apr 17 15:55:08 2009 +0300 ASoC: TWL4030: Fix for the constraint handling The original implementation of the constraints were good against sane applications. If the opening sequence is: stream1_open, stream1_hw_params, stream2_open, stream2_hw_params -> the constraints are set correctly for stream2. But if the sequence is: stream1_open, stream2_open, stream2_hw_params, stream1_hw_params -> than stream2 would receive constraint rate = 0, sample_bits = 0, since the stream1 has not yet called hw_params... The command to trigger this event: gst-launch-0.10 alsasrc device=hw:0 ! alsasink device=hw:0 sync=false This patch does some 'black magic' in order to always set the correct constraints and sets it only when it is needed for the other stream. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit e6187007d6c365b551c69ea3df46f06fd1c8bd19 Author: Steven Rostedt Date: Wed Apr 15 13:36:40 2009 -0400 tracing/events: add startup tests for events As events start to become popular, and the new way to add tracing infrastructure into ftrace, it is important to catch any problems that might happen with a mistake in the TRACE_EVENT macro. This patch introduces a startup self test on the registered trace events. Note, it can only do a generic test, any type of testing that needs more involement is needed to be implemented by the tracepoint creators. The test goes down one by one enabling a trace point and running some random tasks (random in the sense that I just made them up). Those tasks are creating threads, grabbing mutexes and spinlocks and using workqueues. After testing each event individually, it does the same test after enabling each system of trace points. Like sched, irq, lockdep. Then finally it enables all tracepoints and performs the tasks again. The output to the console on bootup will look like this when everything works: Running tests on trace events: Testing event kfree_skb: OK Testing event kmalloc: OK Testing event kmem_cache_alloc: OK Testing event kmalloc_node: OK Testing event kmem_cache_alloc_node: OK Testing event kfree: OK Testing event kmem_cache_free: OK Testing event irq_handler_exit: OK Testing event irq_handler_entry: OK Testing event softirq_entry: OK Testing event softirq_exit: OK Testing event lock_acquire: OK Testing event lock_release: OK Testing event sched_kthread_stop: OK Testing event sched_kthread_stop_ret: OK Testing event sched_wait_task: OK Testing event sched_wakeup: OK Testing event sched_wakeup_new: OK Testing event sched_switch: OK Testing event sched_migrate_task: OK Testing event sched_process_free: OK Testing event sched_process_exit: OK Testing event sched_process_wait: OK Testing event sched_process_fork: OK Testing event sched_signal_send: OK Running tests on trace event systems: Testing event system skb: OK Testing event system kmem: OK Testing event system irq: OK Testing event system lockdep: OK Testing event system sched: OK Running tests on all trace events: Testing all events: OK [ folded in: tracing: add #include to fix build failure in test_work() This build failure occured on a few rare configs: kernel/trace/trace_events.c: In function ‘test_work’: kernel/trace/trace_events.c:975: error: implicit declaration of function ‘udelay’ kernel/trace/trace_events.c:980: error: implicit declaration of function ‘msleep’ delay.h is included in way too many other headers, hiding cases where new usage is added without header inclusion. [ Impact: build fix ] Signed-off-by: Ingo Molnar ] [ Impact: add event tracer self-tests ] Signed-off-by: Steven Rostedt commit 93eb677d74a4f7d3edfb678c94f6c0544d9fbad2 Author: Steven Rostedt Date: Wed Apr 15 13:24:06 2009 -0400 ftrace: use module notifier for function tracer The hooks in the module code for the function tracer must be called before any of that module code runs. The function tracer hooks modify the module (replacing calls to mcount to nops). If the code is executed while the change occurs, then the CPU can take a GPF. To handle the above with a bit of paranoia, I originally implemented the hooks as calls directly from the module code. After examining the notifier calls, it looks as though the start up notify is called before any of the module's code is executed. This makes the use of the notify safe with ftrace. Only the startup notify is required to be "safe". The shutdown simply removes the entries from the ftrace function list, and does not modify any code. This change has another benefit. It removes a issue with a reverse dependency in the mutexes of ftrace_lock and module_mutex. [ Impact: fix lock dependency bug, cleanup ] Cc: Rusty Russell Signed-off-by: Steven Rostedt commit 5043124e660fcc3ddefe4239ddfa017bf13f5081 Merge: 77857dc 9f76208 Author: Ingo Molnar Date: Fri Apr 17 16:18:22 2009 +0200 Merge branch 'linus' into x86/apic Merge reason: new intr-remap patches depend on the s2ram iommu fixes from upstream Signed-off-by: Ingo Molnar commit 573636cbafeba88f7c88832ae053dafe265bf94b Author: Eric Dumazet Date: Fri Apr 17 04:52:48 2009 -0700 [PATCH] net: remove superfluous call to synchronize_net() inet_register_protosw() function is responsible for adding a new inet protocol into a global table (inetsw[]) that is used with RCU rules. As soon as the store of the pointer is done, other cpus might see this new protocol in inetsw[], so we have to make sure new protocol is ready for use. All pending memory updates should thus be committed to memory before setting the pointer. This is correctly done using rcu_assign_pointer() synchronize_net() is typically used at unregister time, after unsetting the pointer, to make sure no other cpu is still using the object we want to dismantle. Using it at register time is only adding an artificial delay that could hide a real bug, and this bug could popup if/when synchronize_rcu() can proceed faster than now. This saves about 13 ms on boot time on a HZ=1000 8 cpus machine ;) (4 calls to inet_register_protosw(), and about 3200 us per call) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 62c7ae87cb5962d3dfaa6d916a15e4faa9e07363 Author: Paul Mundt Date: Fri Apr 17 20:37:16 2009 +0900 sh: pci: Start unifying the SH7780 PCIC initialization. This starts moving out the common initialization bits from the various fixup paths in to the shared init path. Signed-off-by: Paul Mundt commit a6d377b6969235a3b5a6e87bdcef387d0976b41c Author: Paul Mundt Date: Fri Apr 17 20:11:44 2009 +0900 sh: pci: Consolidate SH7780 PCIC IRQ routing. Now that the platform code is a bit leaner, we can start consolidating the various IRQ routing implementations. There are effectively only 2 variants, and the others can use those directly. Signed-off-by: Paul Mundt commit 4c7a47de897e89c25a40e228ac5319cbac7257fe Author: Paul Mundt Date: Fri Apr 17 17:21:36 2009 +0900 sh: pci: Kill off platform-specific multi-window mappings. Commit 68b42d1b548be1840aff7122fdebeb804daf0fa3 ("sh: sh7785lcr: Map whole PCI address space.") changed around the semantics of how various chip-selects are made accessible to PCI. Now that there is a single large mapping covering from CS0-CS6, there is no longer any need to do multi-window mapping. Subsequently, all of the differing implementations can be consolidated in to pci-sh7780. Signed-off-by: Paul Mundt commit d32da050a340214c5dae0d014e39f75548cac2f2 Author: Alexander Beregalov Date: Thu Apr 16 15:48:17 2009 +0000 wan/pc300_drv: convert to net_device_ops On Fri, Apr 17, 2009 at 05:23:02AM +0400, Alexander Beregalov wrote: > > Signed-off-by: Alexander Beregalov > --- > drivers/net/wan/pc300_drv.c | 22 ++++++++++++++-------- > 1 files changed, 14 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c > index c23fde0..df10a4c 100644 > --- a/drivers/net/wan/pc300_drv.c > +++ b/drivers/net/wan/pc300_drv.c > @@ -225,6 +225,7 @@ static char rcsid[] = > #include > #include > #include > +#include > #include > #include > #include > @@ -3246,6 +3247,18 @@ static inline void show_version(void) > rcsvers, rcsdate, __DATE__, __TIME__); > } /* show_version */ > > +static const struct net_device_ops cpc_netdev_ops = { > + .ndo_init = NULL, > + .ndo_open = cpc_open, > + .ndo_stop = cpc_close, > + .ndo_tx_timeout = cpc_tx_timeout, > + .ndo_set_multicast_list = NULL, In this case ndo_init and ndo_set_multicast_list are not needed. >From 1507a5a797a5f0005696a9bf10e390caca9c3800 Mon Sep 17 00:00:00 2001 From: Alexander Beregalov Date: Fri, 17 Apr 2009 05:45:48 +0400 Subject: [PATCH] wan/pc300_drv: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit f6a2629353718e588820b731af43a445b6f35648 Author: Alexander Beregalov Date: Thu Apr 16 15:23:03 2009 +0000 irda: include etherdevice.h for eth_*() functions Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit ab1363a8929f32cc163cd3f50ca72f20d901b00c Author: Paul Mundt Date: Fri Apr 17 17:07:47 2009 +0900 sh: pci: Consolidate PCI I/O and mem window definitions for SH7780. This consolidates all of the PCI I/O and memory window definitions across the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that every platform had exactly the same implementation. Signed-off-by: Paul Mundt commit f1dcab756687622b658154ded1657538984edcdb Author: Paul Mundt Date: Fri Apr 17 17:00:27 2009 +0900 sh: pci: Set the I/O port base to the SH7780 I/O window default. Presently the I/O port base isn't being set anywhere, which allows things like generic_inl() to blow up. Fix this up to point at the PCI IO window. Signed-off-by: Paul Mundt commit c66c1d79a94a7a302e2dc6c93da40902423eac3e Author: Paul Mundt Date: Fri Apr 17 16:38:00 2009 +0900 sh: pci: Set pci_cache_line_size on SH7780 via the PCICLS register. The SH7780 PCIC contains a read-only cache line size register that we can derive pci_cache_line_size from. So, make sure that the software idea of the cache line size actually matches the host controller's idea. Signed-off-by: Paul Mundt commit ab78cbcf6877334fc20868b7df7887349e2e01c8 Author: Paul Mundt Date: Fri Apr 17 15:08:01 2009 +0900 sh: pci: Use the proper write size for class/sub-class code. Don't use pci_write_reg() for these, as it defaults to 32-bit. Rather than using the helper, use __raw_writeb() directly. Signed-off-by: Paul Mundt commit 4e7b7fdb129995640f144b7de114e109c6b46a2a Author: Paul Mundt Date: Fri Apr 17 15:05:19 2009 +0900 sh: pci: Rework SH7780 host controller detection. This reworks how the host controller is probed, and makes it a bit more verbose in the event a new type of controller is detected. Additionally, we also log the revision information. This now uses the proper access sizes for the vendor/device registers, rather than relying on a larger access that encapsulated both of them. Not all devices support 32-bit read cycles for these registers. Signed-off-by: Paul Mundt commit 0bbc9bc3189f24de946777af43c9033c8c4871e4 Author: Paul Mundt Date: Fri Apr 17 14:09:09 2009 +0900 sh: pci: Set class/sub-class code correctly for SH7780 PCIC. The SH7780 PCI host controller implements a configuration header that requires a fair bit of hand-holding to initialize properly. By default it appears as a pre-2.0 host controller given the zeroed out class code, so fix this up properly. Some boards that happened to be using the R7780RP version of the PCIC fixups had set this correctly, but this belongs in the standard initialization, and is by no means board specific. Signed-off-by: Paul Mundt commit 7e4ba0d77c96d328ba968ddff4a464d4d2fa7abc Author: Paul Mundt Date: Fri Apr 17 14:07:57 2009 +0900 sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD. P1SEGADDR is obsolete and will be killed off completely in the future, so transition off of it and reference P1SEG explicitly. Signed-off-by: Paul Mundt commit b627b4ed3d056c5d00e8f3cb32d033b0ee6619a9 Author: Paul Mundt Date: Fri Apr 17 13:00:18 2009 +0900 sh: pci: Move se7780 INTC fixups out of pci-sh7780.c. These fixups belong in the board INTC setup code, not in the middle of pci-sh7780.c. Signed-off-by: Paul Mundt commit 84971bb401866d79c6b353cb1d8861c2b4621867 Author: Paul Mundt Date: Fri Apr 17 12:44:25 2009 +0900 sh: pci: Kill off useless debugging printk() in pci-sh7780 init. Signed-off-by: Paul Mundt commit 6498be3fba7b102132241be5763263e8e8bf6f9e Author: Brice Goglin Date: Thu Apr 16 17:56:57 2009 -0700 myri10ge: fix tx ring size in ethtool -g Fix tx ring size reported via ethtool -g. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 97131079183cd671e18e661f1a387cdb5dffd313 Author: Brice Goglin Date: Thu Apr 16 02:29:22 2009 +0000 myri10ge: add MODULE_DEVICE_TABLE Add MODULE_DEVICE_TABLE so that modinfo reports pci device id aliases. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 2d90b0aa3bc484189940444bcddcbe0ebbb53af5 Author: Brice Goglin Date: Thu Apr 16 02:24:59 2009 +0000 myri10ge: allow per-board firmware overriding Add myri10ge_fw_names to override the default firmware on a per-board basis. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 590818250684d18bb0e30c45d79971dcdff96ad0 Author: Brice Goglin Date: Thu Apr 16 02:23:56 2009 +0000 myri10ge: force stats update in ethtool gstats Force a statistics update when our ethtool gstats routine is called. Otherwise, ethtool will continue to read stale stats until something forces an update by reading /proc/net/dev This requires putting a lock around the stats update to guard against 2 threads (one via ethtool, and one via procfs) updating the stats at once. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit a54bfa40fd16aeb90bc556189221576f746f8567 Merge: fe957c4 134ffb4 Author: David S. Miller Date: Thu Apr 16 17:35:26 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d1f0ae5e2e45e74cff4c3bdefb0fc77608cdfeec Author: Sam Ravnborg Date: Wed Apr 15 21:34:55 2009 +0200 x86: standardize Kbuild rules Introducing this Kbuild file allow us to: make arch/x86/ And thus building all the core part of x86. Signed-off-by: Sam Ravnborg Cc: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 8d98f2246d7c622198ae0b8ca66f1c82b8a25377 Merge: 3ba191c 002fbad Author: Mark Brown Date: Thu Apr 16 14:14:35 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit 3ba191ce051a32b20757f063120496e860ea8f9d Author: Peter Ujfalusi Date: Wed Apr 15 15:38:56 2009 +0300 ASoC: OMAP: Add DSP_A mode support for mcbsp DSP_A mode is similar to the DSP_B, but the MSB is delayed with one bclk (appears after the FS pulse and not under it). Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit c29b206ffd0700acb2dc1fdb70856cc4b907216c Author: Peter Ujfalusi Date: Wed Apr 15 15:38:55 2009 +0300 ASoC: OMAP: Use single-phase for DSP mode Use single-phase mode for the DSP mode and keep the dual phase mode for the I2S mode. The mono (1 channel) mode already used single phase mode, now it is more cleaner. There is no need to configure the second phase, when the single phase is used. Signed-off-by: Peter Ujfalusi Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0d960e8891459f5af85e5781bce3f1da5f7db0fb Author: Mark Brown Date: Thu Apr 16 10:08:39 2009 +0100 ASoC: Request shared rates for WM8903 It has a shared LRCLK. Signed-off-by: Mark Brown commit fd5dfad9cf51bc3575b5e50193403de4a3de23bc Author: Mark Brown Date: Wed Apr 15 21:37:46 2009 +0100 ASoC: Volume controls are never of boolean type Some limited volume controls (mostly simple attenuations) have only two settings so the ASoC info functions misreport them as booleans. Since we currently have no better information check for " Volume" in the control name and always report any controls matching as being integer. Signed-off-by: Mark Brown commit 3f1a4d826751d9759fc95da4e47d08d2745e0055 Author: Mark Brown Date: Wed Apr 15 21:35:26 2009 +0100 ASoC: Check we have DAI ops when calling via accessor functions Also make sure we're checking for the right operation while we're here. Signed-off-by: Mark Brown commit fe957c40ec5e2763b9977c565beab3bde3aaf85b Author: Sascha Hauer Date: Wed Apr 15 01:32:25 2009 +0000 fec: call fec_restart() in fec_open() We called fec_stop() in fec_enet_close(), thus we have to call fec_restart() in fec_enet_open(). Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit f0b3fbeae11a526c3d308b691684589ee37c359b Author: Sascha Hauer Date: Wed Apr 15 01:32:24 2009 +0000 FEC Buffer rework Allocate buffers in fec_open and free them again in fec_close. This makes it possible to use this driver as a module. Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 009fda83ee2f38e5deb9d62fc54a904a92645fe4 Author: Sascha Hauer Date: Wed Apr 15 01:32:23 2009 +0000 fec: switch to net_device_ops Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 3644ee00c43cca08c9baac7eaea22250aaf84182 Author: Sascha Hauer Date: Wed Apr 15 01:32:22 2009 +0000 fec: remove debugging printks These printks in fec_timeout do not give useful information in a production kernel. Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 8549889c3369f7653bd98861c3d2cf97d810dc37 Author: Sascha Hauer Date: Wed Apr 15 01:32:21 2009 +0000 fec: align receive packets Otherwise we get a lot of alignment errors Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 4f1ceb4b46d523382f5a46622af9d3315a9b3e7f Author: Sascha Hauer Date: Wed Apr 15 01:32:20 2009 +0000 fec: refactor init function fec_enet_init() does the hardware initialisation and then calls fec_restart() which does the same initialisation again, so we can safely remove the initialisation from fec_enet_init(). Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 4e8318368af44488f6438a31537ddb57de0d4e00 Author: Sascha Hauer Date: Wed Apr 15 01:32:19 2009 +0000 fec: refactor set_multicast_list() to make it more readable Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 22f6b860da25abe2c3e33347ccb806e6bcc57390 Author: Sascha Hauer Date: Wed Apr 15 01:32:18 2009 +0000 fec: Codingstyle cleanups Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 8d4dd5cff892e18a34422852c05a88b79ff978ed Author: Sascha Hauer Date: Wed Apr 15 01:32:17 2009 +0000 fec: remove unnecessary cast Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 2e28532f7e63c3011f7b3c1516cfebd5321bdd15 Author: Sascha Hauer Date: Wed Apr 15 01:32:16 2009 +0000 fec: do not typedef struct types Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit f44d6305280378cb34319e0118e18d84cc7ac773 Author: Sascha Hauer Date: Wed Apr 15 03:11:30 2009 +0000 fec: switch to writel/readl Signed-off-by: Sascha Hauer Signed-off-by: David S. Miller commit 2160187a0a1cdeeeff1d41f53333bea91c82f259 Author: Alexander Beregalov Date: Wed Apr 15 12:53:00 2009 +0000 sun3lance: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit ec4e0cff9b8c97f5d63c8f1bdf7f44fb65fa8e3b Author: Alexander Beregalov Date: Wed Apr 15 12:52:59 2009 +0000 smc911x: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 8c2c6be186097aafd8f8a17927203b457545cc69 Author: Alexander Beregalov Date: Wed Apr 15 12:52:58 2009 +0000 sgiseeq: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit b4cf3421afce25655233cf66f6ec545baa8cb6ae Author: Alexander Beregalov Date: Wed Apr 15 12:52:57 2009 +0000 sb1250-mac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit a33a2bb3c9f38c79e97f6ed720412d946e894e81 Author: Alexander Beregalov Date: Wed Apr 15 12:52:56 2009 +0000 rionet: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 1ec847f6d46f041bb2ae65efc7b00d122b03d212 Author: Alexander Beregalov Date: Wed Apr 15 12:52:55 2009 +0000 pci-skeleton: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 9e0ac841f42df4e7acdab7dc1620de0933ed56d7 Author: Alexander Beregalov Date: Wed Apr 15 12:52:54 2009 +0000 pasemi_mac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit cd732de21e3d4f0b905fdbee8abfbb8192144b3d Author: Alexander Beregalov Date: Wed Apr 15 12:52:53 2009 +0000 netx-eth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 96cd55ea0edac7f6d51d2391d5cc1b5c2e360e67 Author: Alexander Beregalov Date: Wed Apr 15 12:52:52 2009 +0000 mvme147: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d6771e0b895f04e8bbd12f12fb3a97e130a4a5f4 Author: Alexander Beregalov Date: Wed Apr 15 12:52:51 2009 +0000 mipsnet: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d53bc2df189f1e11a947eed077f0360bfadf9986 Author: Alexander Beregalov Date: Wed Apr 15 12:52:50 2009 +0000 meth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 0d3936a8b11b72e1387923342e33fdad553271d4 Author: Alexander Beregalov Date: Wed Apr 15 12:52:49 2009 +0000 macmace: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 488b4abcd750c0a600eefa4d9ab42aad980ace11 Author: Alexander Beregalov Date: Wed Apr 15 12:52:48 2009 +0000 mace: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 71f4367ca24830d967fca7a9c1cfb944b08742e5 Author: Alexander Beregalov Date: Wed Apr 15 12:52:47 2009 +0000 lib82596: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 52b031ff3987a079ea759d81447312f1665dbfbd Author: Alexander Beregalov Date: Wed Apr 15 12:52:46 2009 +0000 korina: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 502a326f833927a84a8de29f5fb638aa9da15f4b Author: Alexander Beregalov Date: Wed Apr 15 12:52:45 2009 +0000 jazzsonic: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit e7090e347ad8bce0de35f9fe2b95e22e4ae8fbab Author: Alexander Beregalov Date: Wed Apr 15 12:52:44 2009 +0000 ixp2000/ixpdev: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c2775360e82760be3ad7339a7a1442c45c35b395 Author: Alexander Beregalov Date: Wed Apr 15 12:52:43 2009 +0000 iseries_veth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit a1de966682551debbe690672e760487cc555c05f Author: Alexander Beregalov Date: Wed Apr 15 12:52:42 2009 +0000 irda/sa1100_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit c76ccd6a256004cca1127c9afb5474638fc78b74 Author: Alexander Beregalov Date: Wed Apr 15 12:52:41 2009 +0000 irda/pxaficp_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 602355a03508bf54dbf113234ef72d75080a492d Author: Alexander Beregalov Date: Wed Apr 15 12:52:40 2009 +0000 irda/au1k_ir: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit e186d174e04a7c79606e1ee57abb7470861b3b00 Author: Alexander Beregalov Date: Wed Apr 15 12:52:39 2009 +0000 ibmveth: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 2e303a929f2178420820cbfab581ca1c7efa18e8 Author: Alexander Beregalov Date: Wed Apr 15 12:52:38 2009 +0000 hplance: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d88106b70178a87203a23108c47eaa1f20c424b5 Author: Alexander Beregalov Date: Wed Apr 15 12:52:37 2009 +0000 dm9000: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 63ef7d89cbecc249339a59c7a1ec58d2e8e88ea5 Author: Alexander Beregalov Date: Wed Apr 15 12:52:36 2009 +0000 cpmac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 7a4762abf20531fc8d0bdbe132bc63181b8bebe8 Author: Alexander Beregalov Date: Wed Apr 15 12:52:35 2009 +0000 bmac: convert to net_device_ops Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit eb9bdaee550e4a56592ae12171b0be6de8fc9d17 Author: Alexander Beregalov Date: Wed Apr 15 07:58:29 2009 +0000 8390(p): remove old compat_net_dev_ops code Remove compat_net_dev_ops code and use struct net_device_ops instead of it. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 84381eed93c974024402eda250c9e7890b72ca4a Author: Alexander Beregalov Date: Wed Apr 15 07:58:28 2009 +0000 usbnet: remove old compat_net_dev_ops code Since all usb network drivers are already converted to net_device_ops this code is useless. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit d130fe5c95739472b61b30f3f2b401ee43d5e3ea Author: Alexander Beregalov Date: Wed Apr 15 07:58:27 2009 +0000 ipw2x00: remove old compat_net_dev_ops code Since both ipw2100 and ipw2200 are already converted to new net_device_ops this code is useless. Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 76620aafd66f0004829764940c5466144969cffc Author: Herbert Xu Date: Thu Apr 16 02:02:07 2009 -0700 gro: New frags interface to avoid copying shinfo It turns out that copying a 16-byte area at ~800k times a second can be really expensive :) This patch redesigns the frags GRO interface to avoid copying that area twice. The two disciples of the frags interface have been converted. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0232ba9ce031d0fd8f331fa8b3c00e16901f54e6 Author: Paul Mundt Date: Thu Apr 16 18:01:31 2009 +0900 sh: pci: Kill off unused SH4_PCIC_NO_RESET code. Nothing ended up using this anymore, so just kill it off. Signed-off-by: Paul Mundt commit 18cb7109d3e83195b605ff2905981020e86f72ca Author: Takashi Iwai Date: Thu Apr 16 10:22:24 2009 +0200 ALSA: hda - Check strcpy length Check the length to copy via strlen() beforehand to avoid the stack corruption, or use strlcpy() to be safe in HD-audio codes. Signed-off-by: Takashi Iwai commit f3948f8857ef5de239f28a61dddb1554a0ae4c2c Author: Li Zefan Date: Wed Apr 15 11:02:56 2009 +0800 blktrace: fix context-info when mixed-using blk tracer and trace events When current tracer is set to blk tracer, TRACE_ITER_CONTEXT_INFO is unset, but actually context-info is printed: pdflush-431 [000] 821.181576: 8,0 P N [pdflush] And then if we enable TRACE_ITER_CONTEXT_INFO: # echo context-info > trace_options We'll see context-info printed twice. What's worse, when we use blk tracer and trace events at the same time, we'll see no context-info for trace events at all: jbd2_commit_logging: dev dm-0:8 transaction 333227 jbd2_end_commit: dev dm-0:8 transaction 333227 head 332814 rm-25433 [001] 9578.307485: 8,18 m N cfq25433 slice expired t=0 rm-25433 [001] 9578.307486: 8,18 m N cfq25433 put_queue This patch adds blk_tracer->set_flags(), and context-info flag is unset only when we set the output to classic mode. Note after this patch, one should unset context-info explicitly if he wants to get binary output that can be parsed by blkparse: # echo nocontext-info > trace_options # echo bin > trace_options # echo blk > current_tracer # cat trace_pipe | blkparse -i - Reported-by: Theodore Ts'o Signed-off-by: Li Zefan Cc: Jens Axboe Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <49E54E60.50408@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 1d54ad6da9192fed5dd3b60224d9f2dfea0dcd82 Author: Li Zefan Date: Tue Apr 14 14:00:05 2009 +0800 blktrace: add trace/ to /sys/block/sda Impact: allow ftrace-plugin blktrace to trace device-mapper devices To trace a single partition: # echo 1 > /sys/block/sda/sda1/enable To trace the whole sda instead: # echo 1 > /sys/block/sda/enable Thus we also fix an issue reported by Ted, that ftrace-plugin blktrace can't be used to trace device-mapper devices. Now: # echo 1 > /sys/block/dm-0/trace/enable echo: write error: No such device or address # mount -t ext4 /dev/dm-0 /mnt # echo 1 > /sys/block/dm-0/trace/enable # echo blk > /debug/tracing/current_tracer Reported-by: Theodore Tso Signed-off-by: Li Zefan Acked-by: "Theodore Ts'o" Cc: Arnaldo Carvalho de Melo Cc: Shawn Du Cc: Jens Axboe LKML-Reference: <49E42665.6020506@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9908c30997b8a73c95f836170b9998dae9aa3f4a Author: Li Zefan Date: Tue Apr 14 13:59:34 2009 +0800 blktrace: support per-partition tracing for ftrace plugin The previous patch adds support to trace a single partition for relay+ioctl blktrace, and this patch is for ftrace plugin blktrace: # echo 1 > /sys/block/sda/sda7/enable # cat start_lba 102398373 # cat end_lba 102703545 Signed-off-by: Li Zefan Acked-by: "Theodore Ts'o" Cc: Arnaldo Carvalho de Melo Cc: Shawn Du Cc: Jens Axboe LKML-Reference: <49E42646.4060608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d0deef5b14af7d5bbd0003a0a2a1a32326e20a6d Author: Shawn Du Date: Tue Apr 14 13:58:56 2009 +0800 blktrace: support per-partition tracing Though one can specify '-d /dev/sda1' when using blktrace, it still traces the whole sda. To support per-partition tracing, when we start tracing, we initialize bt->start_lba and bt->end_lba to the start and end sector of that partition. Note some actions are per device, thus we don't filter 0-sector events. The original patch and discussion can be found here: http://marc.info/?l=linux-btrace&m=122949374214540&w=2 Signed-off-by: Shawn Du Signed-off-by: Li Zefan Acked-by: "Theodore Ts'o" Cc: Arnaldo Carvalho de Melo Cc: Jens Axboe LKML-Reference: <49E42620.4050701@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit f1a9ba8f15f89f3f444985251efaf809cd16da53 Author: Paul Mundt Date: Wed Mar 11 16:17:53 2009 +0900 sh: pci: drop duplicate PCIC fixups for SE7780 and SH7785LCR. SE7780 has the same PCIC fixup as SDK7780, and SH7785LCR the same as R7780RP. Switch to using those, and drop the duplicate code. Signed-off-by: Paul Mundt commit 3aabce8d3d2f9af2c08c2f590ac9acb272ca8c95 Author: Paul Mundt Date: Wed Mar 11 16:12:39 2009 +0900 sh: sh7785lcr: Update for recent PCI changes. Signed-off-by: Paul Mundt commit 10591578c84825a320734e59272f161385edcc41 Author: Paul Mundt Date: Wed Mar 11 15:58:04 2009 +0900 sh: drop duplicate symbol export on dreamcast and sh7785lcr. With board_pci_channels now being exported in a single place, update the boards that duplicated the export. Signed-off-by: Paul Mundt commit aa5d3ff99cc1f3dfe262ab9dd9179131fcfe39fd Author: Magnus Damm Date: Tue Feb 19 21:35:40 2008 +0900 sh: export board_pci_channels in one place Instead of sometimes exporting board_pci_channels[] in the board specific code just export it in one place. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8ce0143b11cdc519b8e1fd94a262b654ef0bc3ab Author: Magnus Damm Date: Tue Feb 19 21:35:31 2008 +0900 sh: pci io port base address code Adds a __get_pci_io_base() function which is used to match a port range against struct pci_channel. This allows us to detect if a port range is assigned to pci or happens to be legacy port io. While at it, remove unused cpu-specific cruft. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef339f241b08a16af58897e6288ba200e0c7a8c7 Author: Magnus Damm Date: Tue Feb 19 21:35:22 2008 +0900 sh: pci memory range checking code This patch changes the code to use __is_pci_memory() instead of is_pci_memaddr(). __is_pci_memory() loops through all the pci channels on the system to match memory windows. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef53fdeb7e0cb139aff33665635b886700137abb Author: Magnus Damm Date: Tue Feb 19 21:35:14 2008 +0900 sh: add io_base member to pci_channel Store the io window base address in struct pci_channel and use that one instead of SH77xx_PCI_IO_BASE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e4c6a3604e07185046e2ce4be82a201f4447d788 Author: Magnus Damm Date: Tue Feb 19 21:35:04 2008 +0900 sh: add reg_base member to pci_channel Store the base address of the pci host controller registers in struct pci_channel and use the address in pci_read_reg() and pci_write_reg(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b6706ef10f75921733d7275fd45d268f2f6254c8 Author: Magnus Damm Date: Tue Feb 19 21:34:55 2008 +0900 sh: hook in struct pci_channel in sysdata Store a struct pci_channel pointer in bus->sysdata. This makes whatever struct pci_channel assigned to a bus available for sh4_pci_read() and sh4_pci_write(). We also modify PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to use bus->sysdata - this to gives us support for multiple pci channels. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 710fa3c81151948ac4d836ef52b57cef91b0ab72 Author: Magnus Damm Date: Wed Mar 11 15:47:23 2009 +0900 sh: avoid using PCIBIOS_MIN_xxx Replaces PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM with direct struct pci_channel access. This allows us to have more than one pci channel. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d0e3db40e2a1352aa2a2f425a7d4631bddc03d51 Author: Magnus Damm Date: Wed Mar 11 15:46:14 2009 +0900 sh: add init member to pci_channel data This patch adds an init callback to struct pci_channel and makes sure it is initialized properly. Code is added to call this init function from pcibios_init(). Return values are adjusted and a warning is is printed if init fails. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b8b47bfbe4eb1ae0e6891e49c86a5f4fb00413be Author: Magnus Damm Date: Wed Mar 11 15:41:51 2009 +0900 sh: pass along struct pci_channel These patches rework the pci code for the sh architecture. Currently each board implements some kind of ioport to address mapping. Some boards use generic_io_base others try passing addresses as io ports. This is the first set of patches that try to unify the pci code as much as possible to avoid duplicated code. This will in the end lead to fewer lines board specific code and more generic code. This patch makes sure a struct pci_channel pointer is passed along to various pci functions such as pci_read_reg(), pci_write_reg(), pci_fixup_pcic(), sh7751_pcic_init() and sh7780_pcic_init(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4e01f54bfd3f423db8fd6c91c4f0471f18aa0c50 Author: Takashi Iwai Date: Thu Apr 16 08:53:34 2009 +0200 ALSA: hda - Add Creative CA0110-IBG support Added the support for Creative SB X-Fi boards with UAA (HD-audio) mode. In the HD-audio mode, no multiple streams are supported by just it behaves like a normal HD-audio device. Signed-off-by: Takashi Iwai commit bc9f3d4291f8275924a9197a81208a5df0a15095 Author: Paul Mundt Date: Thu Apr 16 15:44:58 2009 +0900 sh: Add a generic defconfig for SH7724 platforms. Signed-off-by: Paul Mundt commit 59fe700dcbf3d6257ae86ca8c0192fc64b2eea1c Author: Paul Mundt Date: Thu Apr 16 15:43:42 2009 +0900 sh: Have SH7724 select ARCH_SHMOBILE. This is an SH-Mobile CPU, so select ARCH_SHMOBILE. This enables all of the PM functionality, amongst other things. Signed-off-by: Paul Mundt commit 6a3395beb99d7ae882ddf701c6fa6005ad7edebf Author: Paul Mundt Date: Thu Apr 16 15:36:13 2009 +0900 sh: sh7724: Add CMT clockevents support. This enables support for the CMT clockevents driver on SH7724. Signed-off-by: Paul Mundt commit ad95b78c9f735da11ff9ec760e9b038cd82aead6 Author: Kuninori Morimoto Date: Wed Apr 15 11:43:07 2009 +0900 sh: sh7724: Add VEU support. This adds uio_pdrv_genirq support for the VEU. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit cd5b9ef776feff440e7a889d1a565ceabfecbfa1 Author: Kuninori Morimoto Date: Wed Apr 15 11:43:03 2009 +0900 sh: sh7724: Add VPU support. This adds uio_pdrv_genirq support for the VPU. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 40c7e8be556715079d0a9d7454ceb5371a2f0b39 Author: Kuninori Morimoto Date: Thu Apr 16 13:16:07 2009 +0900 sh: sh7724: Add I2C support. This adds support for the SH-Mobile I2C controller on the SH7724. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 47948d2bd6d27648a107a27357b3bc5ad054ff64 Author: Kuninori Morimoto Date: Wed Apr 15 11:42:47 2009 +0900 serial: sh-sci: SH7724 support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 0207a2efb43d81e29e23662b5d035945688a103f Author: Kuninori Morimoto Date: Thu Apr 16 14:40:56 2009 +0900 sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype. This implements initial support for the SH-Mobile R2R CPU. Based on Rev 0.11 of the initial SH7724 hardware manual. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit ff7b1b4f000cea84f071c1b6aa2918b2119d66f1 Author: Steven Whitehouse Date: Wed Apr 15 16:55:05 2009 +0100 perfcounters: export perf_tpcounter_event Needed for modular tracepoint support. Signed-off-by: Steven Whitehouse Signed-off-by: Ingo Molnar commit 77857dc07247ed5fa700a197c96ef842d8dbebdf Author: Yinghai Lu Date: Wed Apr 15 11:57:01 2009 -0700 x86: use used_vectors in init_IRQ() Impact: fix crash with many devices I found this crash: [ 552.616646] general protection fault: 0403 [#1] SMP [ 552.620013] last sysfs file: /sys/devices/pci0000:00/0000:00:02.0/usb1/1-1/1-1:1.0/host13/target13:0:0/13:0:0:0/block/sr0/size [ 552.620013] CPU 0 [ 552.620013] Modules linked in: [ 552.620013] Pid: 0, comm: swapper Not tainted 2.6.30-rc1-tip-01931-g8fcafd8-dirty #28 Sun Fire X4440 [ 552.620013] RIP: 0010:[] [] default_idle+0x7d/0xda [ 552.620013] RSP: 0018:ffffffff81345e68 EFLAGS: 00010246 [ 552.620013] RAX: 0000000000000000 RBX: ffffffff8133d870 RCX: ffffc20000000000 [ 552.620013] RDX: 00000000001d0620 RSI: ffffffff8023bad8 RDI: ffffffff802a3169 [ 552.620013] RBP: ffffffff81345e98 R08: 0000000000000000 R09: ffffffff812244a0 [ 552.620013] R10: ffffffff81345dc8 R11: 7ebe1b6fa0bcac50 R12: 4ec4ec4ec4ec4ec5 [ 552.620013] R13: ffffffff813a54d0 R14: ffffffff813a7a40 R15: 0000000000000000 [ 552.620013] FS: 00000000006d1880(0000) GS:ffffc20000000000(0000) knlGS:0000000000000000 [ 552.620013] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 552.620013] CR2: 00007fec9d936a50 CR3: 000000007d1a9000 CR4: 00000000000006e0 [ 552.620013] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 552.620013] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 552.620013] Process swapper (pid: 0, threadinfo ffffffff81344000,task ffffffff812244a0) [ 552.620013] Stack: [ 552.620013] 0000000000000000 ffffc20000000000 00000000001d0620 7ebe1b6fa0bcac50 [ 552.620013] ffffffff8133d870 4ec4ec4ec4ec4ec5 ffffffff81345ec8 ffffffff8023bd84 [ 552.620013] 4ec4ec4ec4ec4ec5 ffffffff813a54d0 7ebe1b6fa0bcac50 ffffffff8133d870 [ 552.620013] Call Trace: [ 552.620013] [] c1e_idle+0x109/0x124 [ 552.620013] [] cpu_idle+0xb8/0x101 [ 552.620013] [] rest_init+0x7e/0x94 [ 552.620013] [] start_kernel+0x3dc/0x3fd [ 552.620013] [] x86_64_start_reservations+0xb9/0xd4 [ 552.620013] [] x86_64_start_kernel+0xee/0x109 [ 552.620013] Code: 48 8b 04 25 f8 b4 00 00 83 a0 3c e0 ff ff fb 0f ae f0 65 48 8b 04 25 f8 b4 00 00 f6 80 38 e0 ff ff 08 75 09 e8 71 76 06 00 fb f4 06 e8 68 76 06 00 fb 65 48 8b 04 25 f8 b4 00 00 83 88 3c e0 [ 552.620013] RIP [] default_idle+0x7d/0xda [ 552.620013] RSP [ 552.828646] ---[ end trace 4cbfc5c01382af7f ]--- Joerg Roedel said "The 0403 error code means that there was an external interrupt with vector 0x80. Yinghai, my theory is that the kernel on this machine has no 32bit emulation compiled in, right? In this case the selector points to a zero entry which may cause the #gpf right after the hlt. But I have no idea where the external int 0x80 comes from" it turns out that we could use 0x80 for external device on 64-bit when 32-bit emulation is disabled. But we forgot to set the gate for it. try to set gate for it by checking used_vectors. Also move apic_intr_init() early to avoid setting that gate two times. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Joerg Roedel LKML-Reference: <49E62DFD.6010904@kernel.org> Signed-off-by: Ingo Molnar commit 13318a7186d8e0ae08c996ea4111a945e7789772 Author: Miao Xie Date: Wed Apr 15 09:59:10 2009 +0800 sched: use group_first_cpu() instead of cpumask_first(sched_group_cpus()) Impact: cleanup This patch changes cpumask_first(sched_group_cpus()) to group_first_cpu() for maintainability. Signed-off-by: Miao Xie Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 19c1a6f5764d787113fa323ffb18be7991208f82 Author: FUJITA Tomonori Date: Tue Apr 14 09:43:19 2009 +0900 x86 gart: reimplement IOMMU_LEAK feature by using DMA_API_DEBUG IOMMU_LEAK, GART's own feature, dumps the used IOMMU entries when IOMMU entries is full, which might be useful to find a bad driver that eats IOMMU entries. DMA_API_DEBUG provides the similar feature, debug_dma_dump_mappings, and it's better than GART's IOMMU_LEAK feature. GART's IOMMU_LEAK feature doesn't say who uses IOMMU entries so it's hard to find a bad driver. This patch reimplements the GART's IOMMU_LEAK feature by using DMA_API_DEBUG. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: Andrew Morton LKML-Reference: <1239669799-23579-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit e6a1a89d572c31b62d6dcf11a371c7323852d9b2 Author: FUJITA Tomonori Date: Wed Apr 15 18:22:41 2009 +0900 dma-debug: add dma_debug_resize_entries() to adjust the number of dma_debug_entries We use a static value for the number of dma_debug_entries. It can be overwritten by a kernel command line option. Some IOMMUs (e.g. GART) can't set an appropriate value by a kernel command line option because they can't know such value until they finish initializing up their hardware. This patch adds dma_debug_resize_entries() enables IOMMUs to adjust the number of dma_debug_entries anytime. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Cc: fujita.tomonori@lab.ntt.co.jp Cc: akpm@linux-foundation.org LKML-Reference: <20090415182234R.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit b206525ad1f653b7da35f5827be93770d28eae11 Author: Jaswinder Singh Rajput Date: Tue Apr 14 23:04:37 2009 +0530 x86: k8 convert node_to_k8_nb_misc() from a macro to an inline function Converting node_to_k8_nb_misc() from a macro to an inline function makes compiler see the 'node' parameter in the !CONFIG_K8_NB too, which eliminates these compiler warnings: arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘show_cache_disable’: arch/x86/kernel/cpu/intel_cacheinfo.c:712: warning: unused variable ‘node’ arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘store_cache_disable’: arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’ Signed-off-by: Jaswinder Singh Rajput Cc: Andreas Herrmann Cc: Mark Langsdorf LKML-Reference: <1239730477.2966.26.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 05725f7eb4b8acb147c5fc7b91397b1f6bcab00d Author: Jiri Pirko Date: Tue Apr 14 20:17:16 2009 +0200 rculist: use list_entry_rcu in places where it's appropriate Use previously introduced list_entry_rcu instead of an open-coded list_entry + rcu_dereference combination. Signed-off-by: Jiri Pirko Reviewed-by: Paul E. McKenney Cc: dipankar@in.ibm.com LKML-Reference: <20090414181715.GA3634@psychotron.englab.brq.redhat.com> Signed-off-by: Ingo Molnar commit 9cfe06f8cd5c8c3ad6ab323973e87dde670642b8 Author: Steven Rostedt Date: Tue Apr 14 21:37:03 2009 -0400 tracing/events: add trace-events-sample This patch adds a sample to the samples directory on how to create and use TRACE_EVENT trace points. Signed-off-by: Steven Rostedt commit ad8d75fff811a6a230f7f43b05a6483099349533 Author: Steven Rostedt Date: Tue Apr 14 19:39:12 2009 -0400 tracing/events: move trace point headers into include/trace/events Impact: clean up Create a sub directory in include/trace called events to keep the trace point headers in their own separate directory. Only headers that declare trace points should be defined in this directory. Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Neil Horman Cc: Zhao Lei Cc: Eduard - Gabriel Munteanu Cc: Pekka Enberg Signed-off-by: Steven Rostedt commit ecda8ae02a08ef065ff387f5cb2a2d4999da2408 Author: Steven Rostedt Date: Tue Apr 14 18:49:38 2009 -0400 tracing/events: fix lockdep system name Impact: fix compile error of lockdep event tracer Ingo Molnar pointed out that the system name for the lockdep tracer was "lock" which is used to include the event trace file name. It should be "lockdep" Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 61f919a12fbdc3fd20f980a34a118d597198a392 Author: Steven Rostedt Date: Tue Apr 14 18:22:32 2009 -0400 tracing/events: fix compile for modules disabled Impact: compile fix The addition of TRACE_EVENT for modules breaks the build for when modules are disabled. This code fixes that. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 19e4529ee7345079eeacc8e40cf69a304a64dc23 Author: Stephen Rothwell Date: Tue Apr 14 17:27:18 2009 +1000 modules: Fix up build when CONFIG_MODULE_UNLOAD=n. Commit 3d43321b7015387cfebbe26436d0e9d299162ea1 ("modules: sysctl to block module loading") introduces a modules_disabled variable that is only defined if CONFIG_MODULE_UNLOAD is enabled, despite being used in other places. This moves it up and fixes up the build. CC kernel/module.o kernel/module.c: In function 'sys_init_module': kernel/module.c:2401: error: 'modules_disabled' undeclared (first use in this function) kernel/module.c:2401: error: (Each undeclared identifier is reported only once kernel/module.c:2401: error: for each function it appears in.) make[1]: *** [kernel/module.o] Error 1 make: *** [kernel/module.o] Error 2 Signed-off-by: Paul Mundt Signed-off-by: James Morris commit 6d723736e472f7a0cd5b62c84152fceead241328 Author: Steven Rostedt Date: Fri Apr 10 14:53:50 2009 -0400 tracing/events: add support for modules to TRACE_EVENT Impact: allow modules to add TRACE_EVENTS on load This patch adds the final hooks to allow modules to use the TRACE_EVENT macro. A notifier and a data structure are used to link the TRACE_EVENTs defined in the module to connect them with the ftrace event tracing system. It also adds the necessary automated clean ups to the trace events when a module is removed. Cc: Rusty Russell Signed-off-by: Steven Rostedt commit 17c873ec280a03894bc718af817f7f24fa787ae1 Author: Steven Rostedt Date: Fri Apr 10 18:12:50 2009 -0400 tracing/events: add export symbols for trace events in modules Impact: let modules add trace events The trace event code requires some functions to be exported to allow modules to use TRACE_EVENT. This patch adds EXPORT_SYMBOL_GPL to the necessary functions. Signed-off-by: Steven Rostedt commit a59fd6027218bd7c994e39d14afe0242f895144f Author: Steven Rostedt Date: Fri Apr 10 13:52:20 2009 -0400 tracing/events: convert event call sites to use a link list Impact: makes it possible to define events in modules The events are created by reading down the section that they are linked in by the macros. But this is not scalable to modules. This patch converts the manipulations to use a global link list, and on boot up it adds the items in the section to the list. This change will allow modules to add their tracing events to the list as well. Note, this change alone does not permit modules to use the TRACE_EVENT macros, but the change is needed for them to eventually do so. Signed-off-by: Steven Rostedt commit f42c85e74faa422cf0bc747ed808681145448f88 Author: Steven Rostedt Date: Mon Apr 13 12:25:37 2009 -0400 tracing/events: move the ftrace event tracing code to core This patch moves the ftrace creation into include/trace/ftrace.h and simplifies the work of developers in adding new tracepoints. Just the act of creating the trace points in include/trace and including define_trace.h will create the events in the debugfs/tracing/events directory. This patch removes the need of include/trace/trace_events.h Signed-off-by: Steven Rostedt commit 97f2025153499faa17267a0d4e18c7afaf73f39d Author: Steven Rostedt Date: Mon Apr 13 11:20:49 2009 -0400 tracing/events: move declarations from trace directory to core include In preparation to allowing trace events to happen in modules, we need to move some of the local declarations in the kernel/trace directory into include/linux. This patch simply moves the declarations and performs no context changes. Signed-off-by: Steven Rostedt commit 9504504cbab29ecb694186b1c5b15d3579c43c51 Author: Steven Rostedt Date: Sat Apr 11 12:59:57 2009 -0400 tracing: make trace_seq operations available for core kernel In the process to make TRACE_EVENT macro work for modules, the trace_seq operations must be available for core kernel code. These operations are quite useful and can be used for other implementations. The main idea is that we create a trace_seq handle that acts very much like the seq_file handle. struct trace_seq *s = kmalloc(sizeof(*s, GFP_KERNEL); trace_seq_init(s); trace_seq_printf(s, "some data %d\n", variable); printk("%s", s->buffer); The main use is to allow a top level function call several other functions that may store printf like data into the buffer. Then at the end, the top level function can process all the data with any method it would like to. It could be passed to userspace, output via printk or even use seq_file: trace_seq_to_user(s, ubuf, cnt); seq_puts(m, s->buffer); Signed-off-by: Steven Rostedt commit a8d154b009168337494fbf345671bab74d3e4b8b Author: Steven Rostedt Date: Fri Apr 10 09:36:00 2009 -0400 tracing: create automated trace defines This patch lowers the number of places a developer must modify to add new tracepoints. The current method to add a new tracepoint into an existing system is to write the trace point macro in the trace header with one of the macros TRACE_EVENT, TRACE_FORMAT or DECLARE_TRACE, then they must add the same named item into the C file with the macro DEFINE_TRACE(name) and then add the trace point. This change cuts out the needing to add the DEFINE_TRACE(name). Every file that uses the tracepoint must still include the trace/.h file, but the one C file must also add a define before the including of that file. #define CREATE_TRACE_POINTS #include This will cause the trace/mytrace.h file to also produce the C code necessary to implement the trace point. Note, if more than one trace/.h is used to create the C code it is best to list them all together. #define CREATE_TRACE_POINTS #include #include #include Thanks to Mathieu Desnoyers and Christoph Hellwig for coming up with the cleaner solution of the define above the includes over my first design to have the C code include a "special" header. This patch converts sched, irq and lockdep and skb to use this new method. Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Neil Horman Cc: Zhao Lei Cc: Eduard - Gabriel Munteanu Cc: Pekka Enberg Signed-off-by: Steven Rostedt commit 72c6a9870f901045f2464c3dc6ee8914bfdc07aa Author: Jiri Pirko Date: Tue Apr 14 17:33:57 2009 +0200 rculist.h: introduce list_entry_rcu() and list_first_entry_rcu() I've run into the situation where I need to use list_first_entry with rcu-guarded list. This patch introduces this. Also simplify list_for_each_entry_rcu() to use new list_entry_rcu() instead of list_entry(). Signed-off-by: Jiri Pirko Reviewed-by: Paul E. McKenney Cc: dipankar@in.ibm.com LKML-Reference: <20090414153356.GC3999@psychotron.englab.brq.redhat.com> Signed-off-by: Ingo Molnar commit 56449f437add737a1e5e1cb7e00f63ac8ead1938 Author: Ingo Molnar Date: Tue Apr 14 11:24:36 2009 +0200 tracing: make the trace clocks available generally Jeremy Fitzhardinge reported this build failure: LD .tmp_vmlinux1 arch/x86/kernel/built-in.o: In function `ds_take_timestamp': git/linux/arch/x86/kernel/ds.c:1380: undefined reference to `trace_clock_global' git/linux/arch/x86/kernel/ds.c:1380: undefined reference to `trace_clock_global' Which is due to !CONFIG_TRACING && CONFIG_X86_DS=y. Expose the trace clock code to CONFIG_X86_DS as well. [ Unfortunately librarizing doesnt work well - ancient architectures with no raw_local_irq_save() primitive break the build. ] Reported-by: Jeremy Fitzhardinge LKML-Reference: <49E4413F.7070700@goop.org> Signed-off-by: Ingo Molnar commit 78ddb08feb7d4fbe3c0a9931804c51ee58be4023 Author: Johannes Weiner Date: Tue Apr 14 16:53:05 2009 +0200 wait: don't use __wake_up_common() '777c6c5 wait: prevent exclusive waiter starvation' made __wake_up_common() global to be used from abort_exclusive_wait(). It was needed to do a wake-up with the waitqueue lock held while passing down a key to the wake-up function. Since '4ede816 epoll keyed wakeups: add __wake_up_locked_key() and __wake_up_sync_key()' there is an appropriate wrapper for this case: __wake_up_locked_key(). Use it here and make __wake_up_common() private to the scheduler again. Signed-off-by: Johannes Weiner Cc: Andrew Morton Cc: Peter Zijlstra LKML-Reference: <1239720785-19661-1-git-send-email-hannes@cmpxchg.org> Signed-off-by: Ingo Molnar commit ea20d9293ce423a39717ed4375393129a2e701f9 Author: Steven Rostedt Date: Fri Apr 10 08:54:16 2009 -0400 tracing: consolidate trace and trace_event headers Impact: clean up Neil Horman (et. al.) criticized the way the trace events were broken up into two files. The reason for that was that ftrace needed to separate out the declarations from where the #include was used. It then dawned on me that the tracepoint.h header only needs to define the TRACE_EVENT macro if it is not already defined. The solution is simply to test if TRACE_EVENT is defined, and if it is not then the linux/tracepoint.h header can define it. This change consolidates all the .h and _event_types.h into the .h file. Reported-by: Neil Horman Reported-by: Theodore Tso Reported-by: Jiaying Zhang Cc: Zhaolei Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Jason Baron Cc: Mathieu Desnoyers Signed-off-by: Steven Rostedt commit 6967963d6d5cac40a091d075326f0e3ccb95c58a Merge: 9b1a88c 34e51ce Author: Mark Brown Date: Tue Apr 14 13:22:37 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit c282866101bfde888a44da3babd2f9ab265ca6f9 Author: Krzysztof Helt Date: Sat Apr 4 14:48:32 2009 +0200 ALSA: sc6000: add support for SC-6600 and SC-7000 Add support for later cards based on CompuMedia ASC-9408 chipsets. These cards were produced by Gallant. This patch make the OSS aedsp16 driver redundant. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 7e05575c422d45f393c2d9b5900e97a30bf69bea Author: FUJITA Tomonori Date: Tue Apr 14 12:12:29 2009 +0900 x86: calgary: remove IOMMU_DEBUG CONFIG_IOMMU_DEBUG has depends on CONFIG_GART_IOMMU: config IOMMU_DEBUG bool "Enable IOMMU debugging" depends on GART_IOMMU && DEBUG_KERNEL depends on X86_64 So it's not useful to have CONFIG_IOMMU_DEBUG in Calgary IOMMU code, which does the extra checking of the bitmap space management. And Calgary uses the iommu helper for the bitmap space management now so it would be better to have the extra checking feature in the iommu helper rather than Calgary code (if necessary). Signed-off-by: FUJITA Tomonori Acked-by: Muli Ben-Yehuda Cc: Joerg Roedel Cc: alexisb@us.ibm.com LKML-Reference: <20090414120827G.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 8338c300642f67af5a8cc279ca5e088c7055b7eb Author: Takashi Iwai Date: Tue Apr 14 12:30:36 2009 +0200 ALSA: Add missing description of lx6464es to ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit d7dee4d7744d039bf28e4f6d4f5674f44820265a Author: Takashi Iwai Date: Tue Apr 14 12:27:12 2009 +0200 ALSA: lx6464es - Disable lx_message_send() Disable lx_message_send() function temporarily as it's not used anywhere. Signed-off-by: Takashi Iwai commit 7852fd08fdc78bf43150137bdbfdfdccdefffe0f Author: Takashi Iwai Date: Tue Apr 14 12:25:52 2009 +0200 ALSA: lx6464es - Use snd_card_create() Use snd_card_create() instead of the obsoleted snd_card_new(). Signed-off-by: Takashi Iwai commit 02bec490450836ebbd628e97ec03f10b57def8ce Author: Tim Blechmann Date: Tue Mar 24 12:24:35 2009 +0100 ALSA: lx6464es - driver for the digigram lx6464es interface prototype of a driver for the digigram lx6464es 64 channel ethersound interface. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 6424fb38667fffbbb1b90be0ffd9a0c540db6a4b Author: Yinghai Lu Date: Mon Apr 13 23:51:46 2009 -0700 x86: remove (null) in /sys kernel_page_tables Impact: cleanup %p prints out 0x000000000000000 as (null) so use %lx instead. Signed-off-by: Yinghai Lu LKML-Reference: <49E43282.1090607@kernel.org> Signed-off-by: Ingo Molnar commit e790fb0ba64bfec158e1219d899cb588275d12ab Author: Gautham R Shenoy Date: Tue Apr 14 10:25:35 2009 +0530 sched: Nominate a power-efficient ilb in select_nohz_balancer() The CPU that first goes idle becomes the idle-load-balancer and remains that until either it picks up a task or till all the CPUs of the system goes idle. Optimize this further to allow it to relinquish it's post once all it's siblings in the power-aware sched_domain go idle, thereby allowing the whole package-core to go idle. While relinquising the post, nominate another an idle-load balancer from a semi-idle core/package. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra LKML-Reference: <20090414045535.7645.31641.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit f711f6090a81cbd396b63de90f415d33f563af9b Author: Gautham R Shenoy Date: Tue Apr 14 10:25:30 2009 +0530 sched: Nominate idle load balancer from a semi-idle package. Currently the nomination of idle-load balancer is done by choosing the first idle cpu in the nohz.cpu_mask. This may not be power-efficient, since such an idle cpu could come from a completely idle core/package thereby preventing the whole core/package from being in a low-power state. For eg, consider a quad-core dual package system. The cpu numbering need not be sequential and can something like [0, 2, 4, 6] and [1, 3, 5, 7]. With sched_mc/smt_power_savings and the power-aware IRQ balance, we try to keep as fewer Packages/Cores active. But the current idle load balancer logic goes against this by choosing the first_cpu in the nohz.cpu_mask and not taking the system topology into consideration. Improve the algorithm to nominate the idle load balancer from a semi idle cores/packages thereby increasing the probability of the cores/packages being in deeper sleep states for longer duration. The algorithm is activated only when sched_mc/smt_power_savings != 0. Signed-off-by: Gautham R Shenoy Acked-by: Peter Zijlstra LKML-Reference: <20090414045530.7645.12175.stgit@sofia.in.ibm.com> Signed-off-by: Ingo Molnar commit e7d43a74cb07cbc4b8e9b5e4a914816b33fb0719 Author: Jaswinder Singh Rajput Date: Tue Apr 14 13:18:28 2009 +0530 x86: avoid multiple declaration of kstack_depth_to_print Impact: cleanup asm/stacktrace.h is more appropriate so removing other 2 declarations. Signed-off-by: Jaswinder Singh Rajput Cc: Neil Horman LKML-Reference: <1239695308.3033.34.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 66aa230e437d89ca56224135f617e2d8e391a3ef Author: Jaswinder Singh Rajput Date: Tue Apr 14 12:54:29 2009 +0530 x86: page_types.h unification of declarations Impact: unification of declarations, cleanup Unification of declarations: moved init_memory_mapping, initmem_init and free_initmem from page_XX_types.h to page_types.h Signed-off-by: Jaswinder Singh Rajput Acked-by: Pekka Enberg Cc: Andrew Morton LKML-Reference: <1239693869.3033.31.camel@ht.satnam> Signed-off-by: Ingo Molnar commit 6fd9b3a40b82081d9e6490b0d7cd656e9a78a134 Author: Paul E. McKenney Date: Mon Apr 13 21:31:18 2009 -0700 rcu: Update RCU tracing documentation for __rcu_pending This patch updates the RCU documentation to reflect the changes in tracing made in the previous patch in the set. Located-by: Anton Blanchard Tested-by: Anton Blanchard Signed-off-by: Paul E. McKenney Cc: anton@samba.org Cc: akpm@linux-foundation.org Cc: dipankar@in.ibm.com Cc: manfred@colorfullife.com Cc: cl@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: schamp@sgi.com Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: ego@in.ibm.com Cc: laijs@cn.fujitsu.com Cc: rostedt@goodmis.org Cc: peterz@infradead.org Cc: penberg@cs.helsinki.fi Cc: andi@firstfloor.org Cc: "Paul E. McKenney" LKML-Reference: <12396834792865-git-send-email-> Signed-off-by: Ingo Molnar commit 7ba5c840e64d4a967379f1ae3eca73278180b11d Author: Paul E. McKenney Date: Mon Apr 13 21:31:17 2009 -0700 rcu: Add __rcu_pending tracing to hierarchical RCU Add tracing to __rcu_pending() to provide information on why RCU processing was kicked off. This is helpful for debugging hierarchical RCU, and might also be helpful in learning how hierarchical RCU operates. Located-by: Anton Blanchard Tested-by: Anton Blanchard Signed-off-by: Paul E. McKenney Cc: anton@samba.org Cc: akpm@linux-foundation.org Cc: dipankar@in.ibm.com Cc: manfred@colorfullife.com Cc: cl@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: schamp@sgi.com Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: ego@in.ibm.com Cc: laijs@cn.fujitsu.com Cc: rostedt@goodmis.org Cc: peterz@infradead.org Cc: penberg@cs.helsinki.fi Cc: andi@firstfloor.org Cc: "Paul E. McKenney" LKML-Reference: <1239683479943-git-send-email-> Signed-off-by: Ingo Molnar commit 05cfbd66d07c44865983c8b65ae9d0037d874206 Merge: 31c9a24 ef631b0 Author: Ingo Molnar Date: Tue Apr 14 11:32:23 2009 +0200 Merge branch 'core/urgent' into core/rcu Merge reason: new patches to be queued up depend on: ef631b0: rcu: Make hierarchical RCU less IPI-happy Signed-off-by: Ingo Molnar commit 861ab44059350e5cab350238606cf8814abab93b Author: Rafael J. Wysocki Date: Sun Apr 5 08:40:04 2009 +0000 NET/r8169: Rework suspend and resume The recent changes of the PCI PM core allow us to simplify the suspend and resume handling in a number of device drivers, since they don't need to carry out the general PCI PM operations, such as changing the power state of the device, during suspend and resume any more. Simplify the suspend and resume callbacks of r8169 using the observation that the PCI PM core can take care of some operations carried out by the driver. Additionally, make the shutdown callback of r8169 only put the device into a low power state if the system is going to be powered off (kexec is known to have problems with network adapters that are put into low power states on shutdown). This patch has been tested on MSI Wind U100. Signed-off-by: Rafael J. Wysocki Tested-by: Bruno Prémont Signed-off-by: David S. Miller commit ecfcc53fef3c357574bb6143dce6631e6d56295c Author: Etienne Basset Date: Wed Apr 8 20:40:06 2009 +0200 smack: implement logging V3 the following patch, add logging of Smack security decisions. This is of course very useful to understand what your current smack policy does. As suggested by Casey, it also now forbids labels with ', " or \ It introduces a '/smack/logging' switch : 0: no logging 1: log denied (default) 2: log accepted 3: log denied&accepted Signed-off-by: Etienne Basset Acked-by: Casey Schaufler Acked-by: Eric Paris Signed-off-by: James Morris commit 6e837fb152410e571a81aaadbd9884f0bc46a55e Author: Etienne Basset Date: Wed Apr 8 20:39:40 2009 +0200 smack: implement logging V3 This patch creates auditing functions usable by LSM to audit security events. It provides standard dumping of FS, NET, task etc ... events (code borrowed from SELinux) and provides 2 callbacks to define LSM specific auditing, which should be flexible enough to convert SELinux too. Signed-off-by: Etienne Basset Acked-by: Casey Schaufler cked-by: Eric Paris Signed-off-by: James Morris commit 0ee904c35cc3fdd26a9c76077d9692d458309186 Author: Alexander Beregalov Date: Sat Apr 11 14:50:23 2009 +0000 drivers/net: replace BUG() with BUG_ON() if possible Signed-off-by: Alexander Beregalov Signed-off-by: David S. Miller commit 710b523ac59426e8bfdea3533f42118e46b9cbfb Author: Larry Finger Date: Thu Apr 9 07:11:55 2009 +0000 kaweth: Clean up code The driver kaweth yields a -EBUSY error when starting, and a -ETIME error when shutting down. These errors are avoided, and the RX status is further checked for other potential errors. Signed-off-by: Larry Finger Signed-off-by: David S. Miller commit 54cb2284dce50672c40248b8e95940318ec2ca41 Author: Wei Yongjun Date: Wed Apr 8 22:16:38 2009 +0000 at76c50x-usb: remove pointless conditional before kfree_skb() Remove pointless conditional before kfree_skb(). Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 728a9972d1f290608e730b9ccec2061aa81f6609 Author: Ajit Khaparde Date: Mon Apr 13 15:41:22 2009 -0700 be2net: changes for checksum and segmentation offload - Enables Rx checksum feature by default. - Disables support for ipv6 tso. - Changes in Rx path to handle Rx completions with various checksum options. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 0a19e53c1514ad8e9c3cbab40c6c3f52c86f403d Author: Tom Zanussi Date: Mon Apr 13 03:17:50 2009 -0500 tracing/filters: allow on-the-fly filter switching This patch allows event filters to be safely removed or switched on-the-fly while avoiding the use of rcu or the suspension of tracing of previous versions. It does it by adding a new filter_pred_none() predicate function which does nothing and by never deallocating either the predicates or any of the filter_pred members used in matching; the predicate lists are allocated and initialized during ftrace_event_calls initialization. Whenever a filter is removed or replaced, the filter_pred_* functions currently in use by the affected ftrace_event_call are immediately switched over to to the filter_pred_none() function, while the rest of the filter_pred members are left intact, allowing any currently executing filter_pred_* functions to finish up, using the values they're currently using. In the case of filter replacement, the new predicate values are copied into the old predicates after the above step, and the filter_pred_none() functions are replaced by the filter_pred_* functions for the new filter. In this case, it is possible though very unlikely that a previous filter_pred_* is still running even after the filter_pred_none() switch and the switch to the new filter_pred_*. In that case, however, because nothing has been deallocated in the filter_pred, the worst that can happen is that the old filter_pred_* function sees the new values and as a result produces either a false positive or a false negative, depending on the values it finds. So one downside to this method is that rarely, it can produce a bad match during the filter switch, but it should be possible to live with that, IMHO. The other downside is that at least in this patch the predicate lists are always pre-allocated, taking up memory from the start. They could probably be allocated on first-use, and de-allocated when tracing is completely stopped - if this patch makes sense, I could create another one to do that later on. Oh, and it also places a restriction on the size of __arrays in events, currently set to 128, since they can't be larger than the now embedded str_val arrays in the filter_pred struct. Signed-off-by: Tom Zanussi Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: paulmck@linux.vnet.ibm.com LKML-Reference: <1239610670.6660.49.camel@tropicana> Signed-off-by: Ingo Molnar commit b5c851a88a369854c04e511cefb84ea2d0cfa209 Merge: eb02ce0 80a04d3 Author: Ingo Molnar Date: Tue Apr 14 00:02:16 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: merge latest tracing fixes to avoid conflicts in kernel/trace/trace_events_filter.c with upcoming change Signed-off-by: Ingo Molnar commit eb02ce017dd83985041a7e54c6449f92d53b026f Author: Tom Zanussi Date: Wed Apr 8 03:15:54 2009 -0500 tracing/filters: use ring_buffer_discard_commit() in filter_check_discard() This patch changes filter_check_discard() to make use of the new ring_buffer_discard_commit() function and modifies the current users to call the old commit function in the non-discard case. It also introduces a version of filter_check_discard() that uses the global trace buffer (filter_current_check_discard()) for those cases. v2 changes: - fix compile error noticed by Ingo Molnar Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: fweisbec@gmail.com LKML-Reference: <1239178554.10295.36.camel@tropicana> Signed-off-by: Ingo Molnar commit 5f77a88b3f8268b11940b51d2e03d26a663ceb90 Author: Tom Zanussi Date: Wed Apr 8 03:14:01 2009 -0500 tracing/infrastructure: separate event tracer from event support Add a new config option, CONFIG_EVENT_TRACING that gets selected when CONFIG_TRACING is selected and adds everything needed by the stuff in trace_export - basically all the event tracing support needed by e.g. bprint, minus the actual events, which are only included if CONFIG_EVENT_TRACER is selected. So CONFIG_EVENT_TRACER can be used to turn on or off the generated events (what I think of as the 'event tracer'), while CONFIG_EVENT_TRACING turns on or off the base event tracing support used by both the event tracer and the other things such as bprint that can't be configured out. Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: fweisbec@gmail.com LKML-Reference: <1239178441.10295.34.camel@tropicana> Signed-off-by: Ingo Molnar commit 77d9f465d46fd67cdb82ee5e1ab99dd57a17c486 Author: Steven Rostedt Date: Thu Apr 2 01:16:59 2009 -0400 tracing/filters: use ring_buffer_discard_commit for discarded events The ring_buffer_discard_commit makes better usage of the ring_buffer when an event has been discarded. It tries to remove it completely if possible. This patch converts the trace event filtering to use ring_buffer_discard_commit instead of the ring_buffer_event_discard. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit fa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3 Author: Steven Rostedt Date: Thu Apr 2 00:09:41 2009 -0400 ring-buffer: add ring_buffer_discard_commit The ring_buffer_discard_commit is similar to ring_buffer_event_discard but it can only be done on an event that has yet to be commited. Unpredictable results can happen otherwise. The main difference between ring_buffer_discard_commit and ring_buffer_event_discard is that ring_buffer_discard_commit will try to free the data in the ring buffer if nothing has addded data after the reserved event. If something did, then it acts almost the same as ring_buffer_event_discard followed by a ring_buffer_unlock_commit. Note, either ring_buffer_commit_discard and ring_buffer_unlock_commit can be called on an event, not both. This commit also exports both discard functions to be usable by GPL modules. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e45f2e2bd298e1ff687448e5fd15a3588b5807ec Author: Tom Zanussi Date: Tue Mar 31 00:49:16 2009 -0500 tracing/filters: add TRACE_EVENT_FORMAT_NOFILTER event macro Frederic Weisbecker suggested that the trace_special event shouldn't be filterable; this patch adds a TRACE_EVENT_FORMAT_NOFILTER event macro that allows an event format to be exported without having a filter attached, and removes filtering from the trace_special event. Signed-off-by: Tom Zanussi Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e1112b4d96859367a93468027c9635e2ac04eb3f Author: Tom Zanussi Date: Tue Mar 31 00:48:49 2009 -0500 tracing/filters: add run-time field descriptions to TRACE_EVENT_FORMAT events This patch adds run-time field descriptions to all the event formats exported using TRACE_EVENT_FORMAT. It also hooks up all the tracers that use them (i.e. the tracers in the 'ftrace subsystem') so they can also have their output filtered by the event-filtering mechanism. When I was testing this, there were a couple of things that fooled me into thinking the filters weren't working, when actually they were - I'll mention them here so others don't make the same mistakes (and file bug reports. ;-) One is that some of the tracers trace multiple events e.g. the sched_switch tracer uses the context_switch and wakeup events, and if you don't set filters on all of the traced events, the unfiltered output from the events without filters on them can make it look like the filtering as a whole isn't working properly, when actually it is doing what it was asked to do - it just wasn't asked to do the right thing. The other is that for the really high-volume tracers e.g. the function tracer, the volume of filtered events can be so high that it pushes the unfiltered events out of the ring buffer before they can be read so e.g. cat'ing the trace file repeatedly shows either no output, or once in awhile some output but that isn't there the next time you read the trace, which isn't what you normally expect when reading the trace file. If you read from the trace_pipe file though, you can catch them before they disappear. Changes from v1: As suggested by Frederic Weisbecker: - get rid of externs in functions - added unlikely() to filter_check_discard() Signed-off-by: Tom Zanussi Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 5cda395f4a262788d8ed79ac8a26a2b821e5f751 Author: Alexander van Heukelum Date: Mon Apr 13 17:39:24 2009 +0200 x86: fix function definitions after: x86: apic - introduce imcr_ helpers The patch "introduce imcr_ helpers" introduced good comments, but also a few new compile warnings. This fixes the function definitions to have a 'void' return type. Signed-off-by: Alexander van Heukelum Acked-by: Cyrill Gorcunov LKML-Reference: <20090413153924.GA20287@mailshack.com> Signed-off-by: Ingo Molnar commit 0f3fd87ce43727d6b8573191ce89e874533b1429 Author: Luis Henriques Date: Mon Apr 13 20:24:50 2009 +0100 perf_counter: fix alignment in /proc/interrupts Trivial fix on columns alignment in /proc/interrupts file. Signed-off-by: Luis Henriques Cc: Peter Zijlstra LKML-Reference: <20090413192449.GA3920@hades.domain.com> Signed-off-by: Ingo Molnar commit 9b1a88c7105f593cc61a7acd3c51fcf4bf7b8038 Merge: f2644a2 6e498d5 Author: Mark Brown Date: Mon Apr 13 15:12:48 2009 +0100 Merge branch 'for-2.6.30' into for-2.6.31 commit f2644a2c00a06236a9c5e85488b0680825bad39c Author: Mark Brown Date: Tue Apr 7 19:20:14 2009 +0100 ASoC: Add WM8960 CODEC driver The WM8960 is a low power, high quality stereo codec designed for portable digital audio applications. Stereo class D speaker drivers provide 1W per channel into 8W loads. Guaranteed low leakage, excellent PSRR and pop/click suppression mechanisms enable direct battery connection for the speaker supply. The device also integrates a complete microphone interface and a stereo headphone driver. External component requirements are drastically reduced as no separate microphone, speaker or headphone amplifiers are required. Advanced on-chip digital signal processing performs automatic level control for the microphone or line input. Stereo 24-bit sigma-delta ADCs and DACs are used with low power over-sampling digital interpolation and decimation filters and a flexible digital audio interface. The master clock can be input directly or generated internally by an onboard PLL, supporting most commonly-used clocking schemes. This driver was originally written by Liam Girdwood, with substantial subsequent additions and updates for feature completeness and changes in the ASoC framework from me. Signed-off-by: Mark Brown commit a820532002e70e3a06f1ea7133e9b02443d07382 Author: Daniel Ribeiro Date: Wed Apr 8 10:51:24 2009 -0300 ASoC: pxa-ssp.c fix clock/frame invert SCMODE(0): Data Driven (Falling), Data Sampled (Rising), Idle State (Low) SCMODE(1): Data Driven (Rising), Data Sampled (Falling), Idle State (Low) SCMODE(2): Data Driven (Rising), Data Sampled (Falling), Idle State (High) SCMODE(3): Data Driven (Falling), Data Sampled (Rising), Idle State (High) SCMODE(3) does not invert the clock polarity compared to the default SCMODE(0). This patch also adds all possible NF/IF, NB/IB combinations to the DSP_A and DSP_B modes. Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 6bbcb459cd50807511491ddf96bca1ef92006bf8 Author: Mark Brown Date: Mon Apr 13 11:29:10 2009 +0100 ASoC: Move the WM9713 voice DAC powerdown to a DAPM event This ensures that we sync with the DAPM powerdown sequencing properly and don't need to bounce the power on the voice DAC so often. Signed-off-by: Mark Brown commit f6d655a6e6974e474a11b25052c29d10b80814b3 Author: Mark Brown Date: Mon Apr 13 11:27:03 2009 +0100 ASoC: Support DAPM events for DACs and ADCs Signed-off-by: Mark Brown commit 025756eca458b4a3d5e3d76baaffb2e8e3df79db Author: Mark Brown Date: Mon Apr 13 11:09:18 2009 +0100 ASoC: Factor out application of power for generic widgets This is simple code motion, intended to support future refactoring of the DAPM algorithms and (more immediately) the additon of events for DACs and ADCs. Signed-off-by: Mark Brown commit f4976116a98f108bf385f217332aadb3ca98fe66 Author: Mark Brown Date: Mon Apr 13 10:53:02 2009 +0100 ASoC: WM9713 requires symmetric rates on the voice DAI Signed-off-by: Mark Brown commit b9b34f24b23ba9e79e07c0980e7fff16af2a67d1 Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:42 2009 +0400 x86: smp.c - align smp_ops assignments Impact: cleanup It's a bit hard to parse by eyes without them being aligned. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.924175574@openvz.org> Signed-off-by: Ingo Molnar commit 08306ce61d6848e6fbf74fa4cc693c3fb29e943f Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:41 2009 +0400 x86: apic - introduce dummy apic operations Impact: refactor, speed up and robustize code In case if apic was disabled by kernel option or by hardware limits we can use dummy operations in apic->write to simplify the ack_APIC_irq() code. At the lame time the patch fixes the missed EOI in do_IRQ function (which has place if kernel is compiled as X86-32 and interrupt without handler happens where apic was not asked to be disabled via kernel option). Note that native_apic_write_dummy() consists of WARN_ON_ONCE to catch any buggy writes on enabled APICs. Could be removed after some time of testing. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.724788431@openvz.org> Signed-off-by: Ingo Molnar commit c0eaa4536f08b98fbcfa7fce5b7b0de1bebcb0e1 Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:40 2009 +0400 x86: apic - introduce imcr_ helpers Impact: cleanup Distinguish port writting magic into helpers with comments. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.535921550@openvz.org> Signed-off-by: Ingo Molnar commit edea7148a87c099e5d5d4838285cc27e459588b7 Author: Cyrill Gorcunov Date: Sun Apr 12 20:47:39 2009 +0400 x86: irq.c - tiny cleanup Impact: cleanup, robustization 1) guard ack_bad_irq with printk_ratelimit since there is no guarantee we will not be flooded one day 2) use pr_emerg() helper Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090412165058.277579847@openvz.org> Signed-off-by: Ingo Molnar commit 3fa89ca7ba5ba50b3924a11f6604b4bdce5f7842 Author: Jaswinder Singh Rajput Date: Sun Apr 12 20:37:25 2009 +0530 x86: vdso/vma.c declare vdso_enabled and arch_setup_additional_pages before they get used Impact: cleanup, address sparse warnings Addresses the problem pointed out by these sparse warning: arch/x86/vdso/vma.c:19:28: warning: symbol 'vdso_enabled' was not declared. Should it be static? arch/x86/vdso/vma.c:101:5: warning: symbol 'arch_setup_additional_pages' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1239548845.4170.2.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 66de7792c02693b49671afe58c771fde3b092fc7 Author: Li Zefan Date: Wed Apr 1 16:19:19 2009 +0800 blktrace: fix output of BLK_TC_PC events BLK_TC_PC events should be treated differently with BLK_TC_FS events. Before this patch: # echo 1 > /sys/block/sda/sda1/trace/enable # echo pc > /sys/block/sda/sda1/trace/act_mask # echo blk > /debugfs/tracing/current_tracer # (generate some BLK_TC_PC events) # cat trace bash-2184 [000] 1774.275413: 8,7 I N [bash] bash-2184 [000] 1774.275435: 8,7 D N [bash] bash-2184 [000] 1774.275540: 8,7 I R [bash] bash-2184 [000] 1774.275547: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275580: 8,7 C N 0 [0] bash-2184 [000] 1774.275648: 8,7 I R [bash] bash-2184 [000] 1774.275653: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275682: 8,7 C N 0 [0] bash-2184 [000] 1774.275739: 8,7 I R [bash] bash-2184 [000] 1774.275744: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275771: 8,7 C N 0 [0] bash-2184 [000] 1774.275804: 8,7 I R [bash] bash-2184 [000] 1774.275808: 8,7 D R [bash] ksoftirqd/0-4 [000] 1774.275836: 8,7 C N 0 [0] After this patch: # cat trace bash-2263 [000] 366.782149: 8,7 I N 0 (00 ..) [bash] bash-2263 [000] 366.782323: 8,7 D N 0 (00 ..) [bash] bash-2263 [000] 366.782557: 8,7 I R 8 (25 00 ..) [bash] bash-2263 [000] 366.782560: 8,7 D R 8 (25 00 ..) [bash] ksoftirqd/0-4 [000] 366.782582: 8,7 C N (25 00 ..) [0] bash-2263 [000] 366.782648: 8,7 I R 8 (5a 00 3f 00) [bash] bash-2263 [000] 366.782650: 8,7 D R 8 (5a 00 3f 00) [bash] ksoftirqd/0-4 [000] 366.782669: 8,7 C N (5a 00 3f 00) [0] bash-2263 [000] 366.782710: 8,7 I R 8 (5a 00 08 00) [bash] bash-2263 [000] 366.782713: 8,7 D R 8 (5a 00 08 00) [bash] ksoftirqd/0-4 [000] 366.782730: 8,7 C N (5a 00 08 00) [0] bash-2263 [000] 366.783375: 8,7 I R 36 (5a 00 08 00) [bash] bash-2263 [000] 366.783379: 8,7 D R 36 (5a 00 08 00) [bash] ksoftirqd/0-4 [000] 366.783404: 8,7 C N (5a 00 08 00) [0] This is what we do with PC events in user-space blktrace. Signed-off-by: Li Zefan Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49D32387.9040106@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit b78825d608f30a47e3154ab6872a03f0de0c9d45 Author: Li Zefan Date: Wed Apr 1 16:18:53 2009 +0800 blktrace: fix output of unknown events Not all events are pc (packet command) events. An event is a pc event only if it has BLK_TC_PC bit set. Signed-off-by: Li Zefan Acked-by: Arnaldo Carvalho de Melo Cc: Jens Axboe Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <49D3236D.3090705@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fc182a4330fc22ea1b68fa3d5064dd85a73a4c4a Author: Zhaolei Date: Fri Apr 10 14:27:38 2009 +0800 tracing, kmemtrace: Make kmem tracepoints use TRACE_EVENT macro TRACE_EVENT is a more generic way to define tracepoints. Doing so adds these new capabilities to this tracepoint: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions Signed-off-by: Zhao Lei Acked-by: Eduard - Gabriel Munteanu Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49DEE6DA.80600@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 02af61bb50f5d5f0322dbe5ab2a0d75808d25c7b Author: Zhaolei Date: Fri Apr 10 14:26:18 2009 +0800 tracing, kmemtrace: Separate include/trace/kmemtrace.h to kmemtrace part and tracepoint part Impact: refactor code for future changes Current kmemtrace.h is used both as header file of kmemtrace and kmem's tracepoints definition. Tracepoints' definition file may be used by other code, and should only have definition of tracepoint. We can separate include/trace/kmemtrace.h into 2 files: include/linux/kmemtrace.h: header file for kmemtrace include/trace/kmem.h: definition of kmem tracepoints Signed-off-by: Zhao Lei Acked-by: Eduard - Gabriel Munteanu Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49DEE68A.5040902@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2c1b284e4fa260fd922b9a65c99169e2630c6862 Author: Jaswinder Singh Rajput Date: Sat Apr 11 00:03:10 2009 +0530 x86: clean up declarations and variables Impact: cleanup, no code changed - syscalls.h update declarations due to unifications - irq.c declare smp_generic_interrupt() before it gets used - process.c declare sys_fork() and sys_vfork() before they get used - tsc.c rename tsc_khz shadowed variable - apic/probe_32.c declare apic_default before it gets used - apic/nmi.c prev_nmi_count should be unsigned - apic/io_apic.c declare smp_irq_move_cleanup_interrupt() before it gets used - mm/init.c declare direct_gbpages and free_initrd_mem before they get used Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit abd41443ac76d3e9c29a8c1d9e9a3312306cc55e Author: Theodore Ts'o Date: Sat Apr 11 15:51:18 2009 -0400 tracing: Document the event tracing system Signed-off-by: "Theodore Ts'o" Cc: Theodore Ts'o Cc: Steven Rostedt LKML-Reference: <1239479479-2603-3-git-send-email-tytso@mit.edu> Signed-off-by: Ingo Molnar commit 56c49951747f250d8398582509e02ae5ce1d36d1 Author: Theodore Ts'o Date: Sat Apr 11 15:51:19 2009 -0400 tracing: Add documentation for the power tracer Signed-off-by: "Theodore Ts'o" Acked-by: Arjan van de Ven Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <1239479479-2603-4-git-send-email-tytso@mit.edu> Signed-off-by: Ingo Molnar commit 2de1f33e99cec5fd79542a1d0e26efb9c36a98bb Author: Jaswinder Singh Rajput Date: Sat Apr 11 12:55:26 2009 +0530 x86: apic/x2apic_cluster.c x86_cpu_to_logical_apicid should be static Impact: reduce kernel size a bit, address sparse warning Addresses the problem pointed out by this sparse warning: arch/x86/kernel/apic/x2apic_cluster.c:13:1: warning: symbol 'per_cpu__x86_cpu_to_logical_apicid' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Rajput Cc: Suresh Siddha LKML-Reference: <1239434726.4418.24.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit f4c1724f3437ac70d8330968379148c954ca34c7 Author: Alexander Beregalov Date: Sun Apr 12 05:04:43 2009 +0400 ASoC: n810: replace BUG() with BUG_ON() Signed-off-by: Alexander Beregalov Signed-off-by: Mark Brown commit cf9972a921470b0a2da7906104bcd540b20e33bf Author: H. Peter Anvin Date: Sat Apr 11 22:24:05 2009 -0700 x86, setup: fix comment in the "glove box" code Impact: Comment change only The glove box is about avoiding problems with *registers* being touched, not *memory*. Signed-off-by: H. Peter Anvin commit 8d1c3c0746098bee8ad116073120166347f21719 Author: Tony Breeds Date: Thu Apr 9 22:29:10 2009 +0000 ixgbe: Be explict with what we are !'ing in ixgbe_sfp_config_module_task() GCC warns: drivers/net/ixgbe/ixgbe_main.c: In function 'ixgbe_sfp_config_module_task': drivers/net/ixgbe/ixgbe_main.c:3920: warning: suggest parantheses around operand of '!' or change '&' to '&&' or '!' to '~' Which I think is right. Bracket to remove ambiguity. Signed-off-by: Tony Breeds Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04193058c1005551af93f04a4b975fbd7f95cad5 Author: Peter P Waskiewicz Jr Date: Thu Apr 9 22:28:50 2009 +0000 ixgbe: Update get_physical_layer() calls, plus a version bump Not all physical connection types are being correctly identified. This fixes that issue, and cleans up the logic to make it more maintainable. Also clean up the code for device capabilities from the EEPROM to support multiple SKUs of the same hardware. Bump the version to reflect all the updates since the 82599 merge. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1eb99d5ac44e2a9ac0b2856c579ba4d7cc349ada Author: PJ Waskiewicz Date: Thu Apr 9 22:28:33 2009 +0000 ixgbe: Update the usage of orig_autoc to be more consistent The orig_autoc variable tracks the original setting of the autonegotiate state prior to trying a new speed. The usage is inconsistent and not very maintainable. This patch updates the usage to make it more consistent. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 553b449784e27bb7244c41aa27397d29f213e5a3 Author: PJ Waskiewicz Date: Thu Apr 9 22:28:15 2009 +0000 ixgbe: Remove unnecessary PHY reset, properly identify multispeed fiber modules This patch does two things: 1) On 82599, the PHY is emedded in the MAC. On 82598, the SFP+ NIC has an external PHY. The reset in the SFP+ setup patch for 82598 is unnecessary on 82599, and adds extra dead time to device initialization. This removes that PHY reset for 82599 only. 2) On 82599, the SFP+ modules are multispeed fiber modules (10G/1G). We need to make sure to identify them properly for the remaining init sections to properly set them up. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 04f165ef4f18444854865d44a3359618480060af Author: PJ Waskiewicz Date: Thu Apr 9 22:27:57 2009 +0000 ixgbe: Move PHY ops initialization to centralize bus accesses When PHY operations are determined, the PHY must be identified. This identification causes bus access, and should be contained within its own routines. This also helps the 82599 PHY init paths for both SFP+ and KX/KX4 devices to be easier to maintain. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d3e9c56cafb98040c8601dcc784a773ac86da18b Author: PJ Waskiewicz Date: Thu Apr 9 22:27:39 2009 +0000 ixgbe: Don't return error in flow control configuration if FC is off When flow control is disabled, an invalid low/high watermark configuration should not matter. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e80e887a959ca41066412582c5f79aae5ffd5821 Author: Don Skidmore Date: Thu Apr 9 22:27:19 2009 +0000 ixgbe: add define to support 82599 64 IVAR registers 82599 supports 64 IVAR registers this patch adds a define to allow us to access them. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6e4e87d68a89028204fe744a8eda8f74bff5b6a9 Author: Don Skidmore Date: Thu Apr 9 22:27:00 2009 +0000 ixgbe: add support for addition VT_CTL defines These defines allow for definition of target pool for packets that pass L2 filtering but didn't pass any of the pool filters. They are needed to reset the default pool. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d988eadbe2d93b5a2d4aa4ec46264e0f6213a71c Author: Don Skidmore Date: Thu Apr 9 22:26:40 2009 +0000 ixgbe: fix IXGBE_MTQC values IXGBE_MTQC_64VF was wrong and 32VF not defined at all. This patch corrects that. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2132d38133f48ef51d28252bb9c0b792f5b57019 Author: PJ Waskiewicz Date: Thu Apr 9 22:26:21 2009 +0000 ixgbe: Enable another bit for flow control operation The discard pause frames bit was not enabled, so flow control frames could be passed up to the host. Enabled DPF to keep the frames off the stack. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a5a2a0c7fa039c59619bc908b3b1ed24734d442a Author: Darren Hart Date: Fri Apr 10 09:50:05 2009 -0700 futex: fix futex_wait_setup key handling If the get_futex_key() call were to fail, the existing code would try and put_futex_key() prior to returning. This patch makes sure we only put_futex_key() if get_futex_key() succeeded. Reported-by: Clark Williams Signed-off-by: Darren Hart LKML-Reference: <20090410165005.14342.16973.stgit@Aeon> Signed-off-by: Thomas Gleixner commit 47f16ca7631f9c6bad8e6d968cfb1433029b09ec Author: Ingo Molnar Date: Fri Apr 10 14:58:05 2009 +0200 x86, irqinit: preempt merge conflicts To make the topic merge life easier for tip:perfcounters/core, include two (inactive in this topic) IRQ vector initializations here. Also fix build bug - missing kprobes.h inclusion. Signed-off-by: Ingo Molnar commit 6265ff19ca08df0d96c859ae5e4dc2d9ad07070e Author: Andreas Herrmann Date: Thu Apr 9 15:47:10 2009 +0200 x86: cacheinfo: complete L2/L3 Cache and TLB associativity field definitions See "CPUID Specification" (AMD Publication #: 25481, Rev. 2.28, April 2008) Signed-off-by: Andreas Herrmann Cc: Mark Langsdorf LKML-Reference: <20090409134710.GA8026@alberich.amd.com> Signed-off-by: Ingo Molnar commit abdb5a5713330e17dfe91ab0d3e29c4744d95162 Author: Pekka Enberg Date: Thu Apr 9 11:52:30 2009 +0300 x86: remove some ifdefs from native_init_IRQ() Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit ac3048dfd4740becf8d768844cf47ebee363c9f8 Author: Pekka Enberg Date: Thu Apr 9 11:52:29 2009 +0300 x86: define IA32_SYSCALL_VECTOR on 32-bit to reduce ifdefs Impact: cleanup We can remove some #ifdefs if we define IA32_SYSCALL_VECTOR on 32-bit. Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 31cb45ef2600d47191d51253ec94b5e3f689260d Author: Pekka Enberg Date: Thu Apr 9 11:52:28 2009 +0300 x86: unify irqinit_{32,64}.c into irqinit.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit ab19c25abd14db28d7454f00805ea59f22ed6057 Author: Pekka Enberg Date: Thu Apr 9 11:52:27 2009 +0300 x86: unify apic_intr_init() in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 778838600eb6973bdb6fd11e7f91b43cea4d6f45 Author: Pekka Enberg Date: Thu Apr 9 11:52:26 2009 +0300 x86: unify trivial differences in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 320fd99672a44ece6d1cd0d838ba31c8ebbf5979 Author: Pekka Enberg Date: Thu Apr 9 11:52:25 2009 +0300 x86: unify native_init_IRQ() in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 598c73d250ffb112715aa48fb325d79e255be23b Author: Pekka Enberg Date: Thu Apr 9 11:52:24 2009 +0300 x86: unify init_ISA_irqs() in irqinit_{32,64}.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit b0096bb0b640d0a7713618b3472fd0f4adf30a96 Author: Pekka Enberg Date: Thu Apr 9 11:52:23 2009 +0300 x86: unify smp_intr_init() in irqinit_{32,64}.h Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit d3496c85cae22fb7713af6ed542a6aeae8ee4210 Author: Pekka Enberg Date: Thu Apr 9 11:52:22 2009 +0300 x86: use identical loop constructs in 32-bit and 64-bit native_init_IRQ() Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 22813c45228160b07244a7c4ed7580388ac0f33d Author: Pekka Enberg Date: Thu Apr 9 11:52:21 2009 +0300 x86: introduce apic_intr_init() in irqinit_32.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 36290d87f5abf260a543e5b711be4ceed03e6b1a Author: Pekka Enberg Date: Thu Apr 9 11:52:20 2009 +0300 x86: introduce smp_intr_init() in irqinit_32.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 7371d9fcb88dc9185be9719f64744a339c537a92 Author: Pekka Enberg Date: Thu Apr 9 11:52:19 2009 +0300 x86: move init_ISA_irqs() in irqinit_32.c to match ordering in irqinit_64.c Impact: cleanup Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit f465145235313c451164bdfa9037ac254bf00c9a Author: Pekka Enberg Date: Thu Apr 9 11:52:18 2009 +0300 x86: move x86_quirk_pre_intr_init() to irqinit_32.c Impact: cleanup In preparation for unifying irqinit_{32,64}.c, make x86_quirk_pre_intr_init() local to irqinit_32.c. Reviewed-by Cyrill Gorcunov Signed-off-by: Pekka Enberg Signed-off-by: Ingo Molnar commit 2fad2d9bb8310889f3261035b594b4e068b6eb8b Author: Mark Langsdorf Date: Thu Apr 9 15:31:53 2009 +0200 x86/docs: add description for cache_disable sysfs interface Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Cc: Andrew Morton LKML-Reference: <20090409133153.GL31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit ba518bea2db21c72d44a6cbfd825b026ef9cdcb6 Author: Mark Langsdorf Date: Thu Apr 9 15:24:06 2009 +0200 x86: cacheinfo: disable L3 ECC scrubbing when L3 cache index is disabled (Use correct mask to zero out bits 24-28 by Andreas) Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Cc: Andrew Morton LKML-Reference: <20090409132406.GK31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit f8b201fc7110c3673437254e8ba02451461ece0b Author: Mark Langsdorf Date: Thu Apr 9 15:18:49 2009 +0200 x86: cacheinfo: replace sysfs interface for cache_disable feature Impact: replace sysfs attribute Current interface violates against "one-value-per-sysfs-attribute rule". This patch replaces current attribute with two attributes -- one for each L3 Cache Index Disable register. Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Cc: Andrew Morton LKML-Reference: <20090409131849.GJ31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit afd9fceec55225d33be878927056a548c2eef26c Author: Andreas Herrmann Date: Thu Apr 9 15:16:17 2009 +0200 x86: cacheinfo: use cached K8 NB_MISC devices instead of scanning for it Impact: avoid code duplication Signed-off-by: Andreas Herrmann Cc: Andrew Morton Cc: Mark Langsdorf LKML-Reference: <20090409131617.GI31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit 845d8c761ec763871936c62b837c4a9ea6d0fbdb Author: Andreas Herrmann Date: Thu Apr 9 15:07:29 2009 +0200 x86: cacheinfo: correct return value when cache_disable feature is not active Impact: bug fix If user writes to "cache_disable" attribute on a CPU that does not support this feature, the process hangs due to an invalid return value in store_cache_disable(). Signed-off-by: Andreas Herrmann Cc: Andrew Morton Cc: Mark Langsdorf LKML-Reference: <20090409130729.GH31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit bda869c614c937c318547c3ee1d65a316b693c21 Author: Andreas Herrmann Date: Thu Apr 9 15:05:10 2009 +0200 x86: cacheinfo: use L3 cache index disable feature only for CPUs that support it AMD family 0x11 CPU doesn't support the feature. Some AMD family 0x10 CPUs do not support it or have an erratum, see erratum #382 in "Revision Guide for AMD Family 10h Processors, 41322 Rev. 3.40 February 2009". Signed-off-by: Andreas Herrmann CC: Mark Langsdorf Cc: Andrew Morton LKML-Reference: <20090409130510.GG31527@alberich.amd.com> Signed-off-by: Ingo Molnar commit 5cb3d1d9d34ac04bcaa2034139345b2a5fea54c1 Author: Zhaolei Date: Thu Apr 9 14:08:18 2009 +0800 tracing, net, skb tracepoint: make skb tracepoint use the TRACE_EVENT() macro TRACE_EVENT is a more generic way to define a tracepoint. Doing so adds these new capabilities to this tracepoint: - zero-copy and per-cpu splice() tracing - binary tracing without printf overhead - structured logging records exposed under /debug/tracing/events - trace events embedded in function tracer output and other plugins - user-defined, per tracepoint filter expressions Signed-off-by: Zhao Lei Acked-by: Neil Horman Cc: "David S. Miller" Cc: Arnaldo Carvalho de Melo Cc: "Steven Rostedt ;" Cc: Frederic Weisbecker Cc: Tom Zanussi LKML-Reference: <49DD90D2.5020604@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e71e99c294058a61b7a8b9bb6da2f745ac51aa4f Author: Steven Rostedt Date: Wed Mar 25 14:30:04 2009 -0400 x86, function-graph: only save return values on x86_64 Impact: speed up The return to handler portion of the function graph tracer should only need to save the return values. The caller already saved off the registers that the callee can modify. The returning function already saved the registers it modified. When we call our own trace function it too will save the registers that the callee must restore. There's no reason to save off anything more that the registers used to return the values. Note, I did a complete kernel build with this modification and the function graph tracer running on x86_64. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2062501ae6505dbc5bff3a792246c2661d114050 Author: Frederic Weisbecker Date: Mon Apr 6 01:49:33 2009 +0200 tracing/lockdep: report the time waited for a lock While trying to optimize the new lock on reiserfs to replace the bkl, I find the lock tracing very useful though it lacks something important for performance (and latency) instrumentation: the time a task waits for a lock. That's what this patch implements: bash-4816 [000] 202.652815: lock_contended: lock_contended: &sb->s_type->i_mutex_key bash-4816 [000] 202.652819: lock_acquired: &rq->lock (0.000 us) <...>-4787 [000] 202.652825: lock_acquired: &rq->lock (0.000 us) <...>-4787 [000] 202.652829: lock_acquired: &rq->lock (0.000 us) bash-4816 [000] 202.652833: lock_acquired: &sb->s_type->i_mutex_key (16.005 us) As shown above, the "lock acquired" field is followed by the time it has been waiting for the lock. Usually, a lock contended entry is followed by a near lock_acquired entry with a non-zero time waited. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Steven Rostedt LKML-Reference: <1238975373-15739-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1cad1252ed279ea59f3f8d3d3a5817eeb2f7a4d3 Merge: dcef788 93cfb3c Author: Ingo Molnar Date: Fri Apr 10 12:46:28 2009 +0200 Merge branch 'tracing/urgent' into tracing/core Merge reason: pick up both v2.6.30-rc1 [which includes tracing/urgent fixes] and pick up the current lineup of tracing/urgent fixes as well Signed-off-by: Ingo Molnar commit fbb5a5583034e98f87fcff94183637486d7ada18 Author: Kyle McMartin Date: Thu Apr 9 14:09:47 2009 +0000 MAINTAINERS: rds list is moderated Signed-off-by: Kyle McMartin Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 94713bab649736177a1c33a39b7bb33cbd5af3a5 Author: Dan Carpenter Date: Thu Apr 9 14:09:46 2009 +0000 ERR_PTR() dereference in net/rds/ib.c rdma_create_id() doesn't return NULL, only ERR_PTR(). Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 5d57eeb52ae71a03c8e083a9b0a818a9b63ca440 Author: Dan Carpenter Date: Thu Apr 9 14:09:45 2009 +0000 ERR_PTR() dereference in net/rds/iw.c rdma_create_id() returns ERR_PTR() not null. Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 05a178ecdc7396b78dfbb5d8bda65108b37b8672 Author: Wei Yongjun Date: Thu Apr 9 14:09:44 2009 +0000 rds: use kmem_cache_zalloc instead of kmem_cache_alloc/memset Use kmem_cache_zalloc instead of kmem_cache_alloc/memset. Signed-off-by: Wei Yongjun Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9c56a84478b708e5d8d34d28cc3a8e71842d5b05 Author: Huang Weiyi Date: Thu Apr 9 14:09:43 2009 +0000 RDS: remove unused #include Remove unused #include in net/rds/af_rds.c. Signed-off-by: Huang Weiyi Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 830eb7d56c18ff4c29acd8b0bb48db404660321f Author: Andy Grover Date: Thu Apr 9 14:09:42 2009 +0000 RDS: use get_user_pages_fast() Use the new function that is simpler and faster. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 49f696914100780f6bf8e652d3468de0015d6172 Author: Andy Grover Date: Thu Apr 9 14:09:41 2009 +0000 RDS: Establish connection before parsing CMSGs The first message to a remote node should prompt a new connection. Even an RDMA op via CMSG. Therefore move CMSG parsing to after connection establishment. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7acd4a794c1530af063e51f3f7171e75556458f3 Author: Andy Grover Date: Thu Apr 9 14:09:40 2009 +0000 RDS: Fix ordering in a conditional Putting the constant first is a supposed "best practice" that actually makes the code harder to read. Thanks to Roland Dreier for finding a bug in this "simple, obviously correct" patch. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7b70d0336da777c00395cc7a503497c2cdabd1a8 Author: Steve Wise Date: Thu Apr 9 14:09:39 2009 +0000 RDS/IW+IB: Allow max credit advertise window. Fix hack that restricts the credit advertisement to 127. Signed-off-by: Steve Wise Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit d39e0602bb987133321d358d9b837d67c27b223d Author: Steve Wise Date: Thu Apr 9 14:09:38 2009 +0000 RDS/IW+IB: Set the RDS_LL_SEND_FULL bit when we're throttled. The RDS_LL_SEND_FULL bit should be set when we stop transmitted due to flow control. Otherwise the send worker will keep trying as opposed to sleeping until we unthrottle. Saves CPU. Signed-off-by: Steve Wise Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 11bc9421da3040c71fc96da1a31e95217e8cf2af Author: Andy Grover Date: Thu Apr 9 14:09:37 2009 +0000 RDS: Correct some iw references in rdma_transport.c Had some lingering instances of _iw_ variable names from when the listen code was centralized into rdma_transport.c Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 5cd2fe6d54c91aa76893b3034f5f3473063c0202 Author: Steve Wise Date: Thu Apr 9 14:09:36 2009 +0000 RDS/IW+IB: Set recv ring low water mark to 1/2 full. Currently the recv ring low water mark is 1/4 the depth. Performance measurements show that this limits iWARP throughput by flow controlling the rds-stress senders. Setting it to 1/2 seems to max the T3 performance. I tried even higher levels but that didn't help and it started to increase the rds thread cpu utilization. Signed-off-by: Steve Wise Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit cf06de7b9cdd3efee7a59dced1977b3c21d43732 Author: H. Peter Anvin Date: Wed Apr 1 18:20:11 2009 -0700 x86, setup: "glove box" BIOS interrupts in the video code Impact: BIOS proofing "Glove box" off BIOS interrupts in the video code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: Pavel Machek Cc: Rafael J. Wysocki commit 0a706db320768f8f6e43bbf73b58d2aabdc93354 Author: H. Peter Anvin Date: Wed Apr 1 18:19:00 2009 -0700 x86, setup: "glove box" BIOS interrupts in the MCA code Impact: BIOS proofing "Glove box" off BIOS interrupts in the MCA code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: James Bottomley commit 3435d3476c5ed955d56a6216ed2d156847b3a575 Author: H. Peter Anvin Date: Wed Apr 1 18:17:17 2009 -0700 x86, setup: "glove box" BIOS interrupts in the EDD code Impact: BIOS proofing "Glove box" off BIOS interrupts in the EDD code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin commit d54ea252e4c92357226992cf65d94616a96e6fce Author: H. Peter Anvin Date: Wed Apr 1 18:14:26 2009 -0700 x86, setup: "glove box" BIOS interrupts in the APM code Impact: BIOS proofing "Glove box" off BIOS interrupts in the APM code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: Stephen Rothwell commit df7699c56421c0476704f24a43409ac8c505f3d2 Author: H. Peter Anvin Date: Wed Apr 1 18:13:46 2009 -0700 x86, setup: "glove box" BIOS interrupts in the core boot code Impact: BIOS proofing "Glove box" off BIOS interrupts in the core boot code. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin commit 7a734e7dd93b9aea08ed51036a9a0e2c9dfd8dac Author: H. Peter Anvin Date: Wed Apr 1 18:08:28 2009 -0700 x86, setup: "glove box" BIOS calls -- infrastructure Impact: new interfaces (not yet used) For all the platforms out there, there is an infinite number of buggy BIOSes. This adds infrastructure to treat BIOS interrupts more like toxic waste and "glove box" them -- we switch out the register set, perform the BIOS interrupt, and then restore the previous state. LKML-Reference: <49DE7F79.4030106@zytor.com> Signed-off-by: H. Peter Anvin Cc: Pavel Machek Cc: Rafael J. Wysocki commit e7c064889606aab3569669078c69b87b2c527e72 Author: Jeremy Fitzhardinge Date: Sat Mar 7 23:48:41 2009 -0800 xen: add FIX_TEXT_POKE to fixmap FIX_TEXT_POKE[01] are used to map kernel addresses, so they're mapping pfns, not mfns. Signed-off-by: Jeremy Fitzhardinge commit 894bf92fdec9909fefcfe907786c6c6944a22052 Author: Peter Ujfalusi Date: Thu Apr 9 12:34:40 2009 +0300 ASoC: tlv320aic23: add DSP_A format support Add DSP_A interface format support by setting the LRP bit in DSP mode. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit d3d21c412d8525eb2e208d990ab5eee5fb0fe03d Author: Peter Zijlstra Date: Thu Apr 9 10:53:46 2009 +0200 perf_counter: log full path names Impact: fix perf-report output for /home mounted binaries, etc. dentry_path() only provide path-names up to the mount root, which is unsuited for out purpose, use d_path() instead. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090409085524.601794134@chello.nl> Signed-off-by: Ingo Molnar commit 1ccd15497869f3ed83b5225d410df53a96e52757 Author: Peter Zijlstra Date: Thu Apr 9 10:53:45 2009 +0200 perf_counter: sysctl for system wide perf counters Impact: add sysctl for paranoid/relaxed perfcounters policy Allow the use of system wide perf counters to everybody, but provide a sysctl to disable it for the paranoid security minded. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090409085524.514046352@chello.nl> Signed-off-by: Ingo Molnar commit 9ee318a7825929bc3734110b83ae8e20e53d9de3 Author: Peter Zijlstra Date: Thu Apr 9 10:53:44 2009 +0200 perf_counter: optimize mmap/comm tracking Impact: performance optimization The mmap/comm tracking code does quite a lot of work before it discovers there's no interest in it, avoid that by keeping a counter. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090409085524.427173196@chello.nl> Signed-off-by: Ingo Molnar commit b3828ebb3901adfe989d8d4157ed28247aeec132 Author: Ingo Molnar Date: Thu Apr 9 09:50:04 2009 +0200 perf_counter tools: include PID in perf-report output, tweak user/kernel printut It's handier than an entry. Also replace the kernel/user column with a more compact version: 0.52 cc1 [k] page_fault 0.57 :0 [k] _spin_lock 0.59 :7506 [.] 0.69 as [.] /usr/bin/as: 0.76 cc1 [.] /lib64/libc-2.8.so: _int_free 0.92 cc1 [k] clear_page_c 1.00 :7465 [.] 1.43 cc1 [.] /lib64/libc-2.8.so: memset 1.86 cc1 [.] /lib64/libc-2.8.so: _int_malloc 70.33 cc1 [.] /usr/libexec/gcc/x86_64-redhat-linux/4.3.2/cc1: Signed-off-by: Ingo Molnar commit 888fcee066a2f4abd0d0bc9418c0535f9b01e6e5 Author: Ingo Molnar Date: Thu Apr 9 09:48:22 2009 +0200 perf_counter: fix off task->comm by one strlen() does not include the \0. Signed-off-by: Ingo Molnar commit 002f128b473fb82f454654be5081b0919ee01ab2 Author: Paul Turner Date: Wed Apr 8 15:29:43 2009 -0700 sched: remove redundant hierarchy walk in check_preempt_wakeup Impact: micro-optimization Under group scheduling we traverse up until we are at common siblings to make the wakeup comparison on. At this point however, they should have the same parent so continuing to check up the tree is redundant. Signed-off-by: Paul Turner Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d2de688891909b148efe83a6fc9520a9cd6015f0 Author: Stephen Rothwell Date: Thu Apr 9 15:17:22 2009 +1000 sparc64: extend TI_RESTART_BLOCK space by 8 bytes Impact: build fix Today's linux-next build (sparc64 defconfig) failed like this: arch/sparc/kernel/built-in.o: In function `trap_init': (.init.text+0x4): undefined reference to `thread_info_offsets_are_bolixed_dave' Caused by commit 52400ba946759af28442dee6265c5c0180ac7122 ("futex: add requeue_pi functionality") (from the tip-core tree) which changed the size of struct restart_block. Shift TI_KUNA_REGS and TI_KUNA_INSN up by 8 bytes to make space for the larger restart block. Signed-off-by: Stephen Rothwell Acked-by: "David S. Miller" Cc: Darren Hart LKML-Reference: <20090409151722.c8eabb56.sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar commit ca8f2d7f019a8547f39ddb9ed0144932f12807f2 Author: Paul Mackerras Date: Thu Apr 9 14:42:56 2009 +1000 perf_counter: powerpc: add nmi_enter/nmi_exit calls Impact: fix potential deadlocks on powerpc Now that the core is using in_nmi() (added in e30e08f6, "perf_counter: fix NMI race in task clock"), we need the powerpc perf_counter_interrupt to call nmi_enter() and nmi_exit() in those cases where the interrupt happens when interrupts are soft-disabled. If interrupts were soft-enabled, we can treat it as a regular interrupt and do irq_enter/irq_exit around the whole routine. This lets us get rid of the test_perf_counter_pending() call at the end of perf_counter_interrupt, thus simplifying things a little. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18909.31952.873098.336615@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 6c0b324435ff49fb3c68fe808a93853d81c7fb97 Author: Paul Mackerras Date: Thu Apr 9 09:27:37 2009 +1000 perf_counter: add MAINTAINERS entry This adds an entry in MAINTAINERS for the perf_counter subsystem. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra LKML-Reference: <18909.13033.345975.434902@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit e85abf8f432bb2a13733ab7609fbb8e1500af51d Author: Gary Hade Date: Wed Apr 8 14:07:25 2009 -0700 x86: consolidate SMP code in io_apic.c Impact: Cleanup Reorganizes the code in arch/x86/kernel/io_apic.c by combining two '#ifdef CONFIG_SMP' regions. In addition to making the code easier to understand the first '#ifdef CONFIG_SMP' region is moved to a location later in the file which will reduce the need for function forward declarations when the code subsequently revised. The only changes other than relocating code to a different position in the file were the removal of the assign_irq_vector() forward declaration which was no longer needed and some line length reduction formatting changes. Signed-off-by: Gary Hade Cc: lcm@us.ibm.com LKML-Reference: <20090408210725.GC11159@us.ibm.com> Signed-off-by: Ingo Molnar commit a0c31fdfb7f158780faa43ab83cc08b414bebd7e Author: Tilman Schmidt Date: Wed Apr 8 16:01:16 2009 -0700 ISDN: update Documentation/isdn/00-INDEX After the merging of mISDN, state which files refer only to the old isdn4linux subsystem. Also add a few missing files and sort alphabetically. Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 8509500ac4c82c1e31515ffda6028f88693f49fd Author: Jean Delvare Date: Wed Apr 8 15:59:53 2009 -0700 sfc: Don't specify unexistent IRQ Neither the lm90 driver nor the lm87 driver do support interrupts, so there is no point in specifying one when declaring the devices. Signed-off-by: Jean Delvare Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit ea7eaa39ffadffaa8f1dd1a1f85fa38bf8ae9d39 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:48 2009 +0000 netxen: cache align register map table Aligning register offset translation table imporves performance on rx side. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit a92e9e65f0068a291a677c627a747fae1f230284 Author: Amit Kumar Salecha Date: Tue Apr 7 22:50:47 2009 +0000 netxen: enable GRO support Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f6d21f44122630cc9549b8ffbab23ea8c68254e0 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:46 2009 +0000 netxen: enable rss for NX2031 Enable multiple rx rings for older NX2031 chip, firmware 3.4.336 or newer supports this feature. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f98a9f693b5f4919d9c4085a2fd8d67c7e152f3e Author: Dhananjay Phadke Date: Tue Apr 7 22:50:45 2009 +0000 netxen: sanitize function names Replace superfluous wrapper functions with two macros: NXWR32 replaces netxen_nic_reg_write, netxen_nic_write_w0, netxen_nic_read_w1, netxen_crb_writelit_adapter. NXRD32 replaces netxen_nic_reg_read, netxen_nic_read_w0, netxen_nic_read_w1. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1fbe63235893e5dce28fe91d8465dd231b0cb3d9 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:44 2009 +0000 netxen: annotate register access functions o remove unnecessary length parameter since register access width is fixed 4 byte. o remove superfluous pci_read_normalize and pci_write_normalize functions. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 71dcddbdd35487eb931aa8aab28a2df474008754 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:43 2009 +0000 netxen: allocate status rings dynamically This reduces netxen_adapter footprint when rss (msi-x) is disabled. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3bf26ce3f4cc3c9e0d0478b4016c6113a16faaf1 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:42 2009 +0000 netxen: async link event handling Add support for asynchronous events from firmware, received over one of the rx rings. Add support for event based phy interrupts, enhanced links status reporting from firmware. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 56a007871a6689db80e19f63fe6dc3692daa2a6f Author: Dhananjay Phadke Date: Tue Apr 7 22:50:41 2009 +0000 netxen: defer firmware handshake Removed duplicate firmware handshake, defer it until first port (interface) is brought up. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d877f1e344f5515988d9dcd6db5d4285911778a3 Author: Dhananjay Phadke Date: Tue Apr 7 22:50:40 2009 +0000 netxen: refactor transmit code o move tx stuff into nx_host_tx_ring structure, this will help managing multiple tx rings in future. o sanitize some variable names Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1b1f789818c6be9437cfe199932ee13faafca60f Author: Dhananjay Phadke Date: Tue Apr 7 22:50:39 2009 +0000 netxen: refactor netxen_adapter Rearrange members to align them at right offset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit e98e3350c03af4187e1d5fe007c7b460e378990c Author: Dhananjay Phadke Date: Tue Apr 7 22:50:38 2009 +0000 netxen: code cleanup o remove unused structure defs. o remove unnecessary includes. o replace enums with specific #defines. o reduce footprint of stats structure. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7ebcfcf19723254ebe90cdf8718436b9955a9a01 Author: Jonas Larsson Date: Tue Mar 31 11:16:52 2009 +0200 avr32: Solves problem with inverted MCI detect pin on Merisc board Same patch as before, modified to use bool. This patch solves the problem with the inverted mci detect pin on Merisc boards. Signed-off-by: Jonas Larsson Signed-off-by: Haavard Skinnemoen commit 1c1452be2e9ae282a7316c3b23987811bd7acda6 Author: Jonas Larsson Date: Tue Mar 31 11:16:48 2009 +0200 atmel-mci: Add support for inverted detect pin Same patch as before, modified to use bool. Also adds description of the new field in struct atmel_mci that I missed in the first patch. This patch adds Atmel MCI support for inverted detect pins. Signed-off-by: Jonas Larsson Acked-by: Pierre Ossman Signed-off-by: Haavard Skinnemoen commit 78f13e9525ba777da25c4ddab89f28e9366a8b7c Author: Peter Zijlstra Date: Wed Apr 8 15:01:33 2009 +0200 perf_counter: allow for data addresses to be recorded Paul suggested we allow for data addresses to be recorded along with the traditional IPs as power can provide these. For now, only the software pagefault events provide data addresses, but in the future power might as well for some events. x86 doesn't seem capable of providing this atm. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.394816925@chello.nl> Signed-off-by: Ingo Molnar commit 4d855457d84b819fefcd1cd1b0a2a0a0ec475c07 Author: Peter Zijlstra Date: Wed Apr 8 15:01:32 2009 +0200 perf_counter: move PERF_RECORD_TIME Move PERF_RECORD_TIME so that all the fixed length items come before the variable length ones. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.307926436@chello.nl> Signed-off-by: Ingo Molnar commit de9ac07bbf8f51e0ce40e5428c3a8f627bd237c2 Author: Peter Zijlstra Date: Wed Apr 8 15:01:31 2009 +0200 perf_counter: some simple userspace profiling # perf-record make -j4 kernel/ # perf-report | tail -15 0.39 cc1 [kernel] lock_acquired 0.42 cc1 [kernel] lock_acquire 0.51 cc1 [ user ] /lib64/libc-2.8.90.so: _int_free 0.51 as [kernel] clear_page_c 0.53 cc1 [ user ] /lib64/libc-2.8.90.so: memcpy 0.56 cc1 [ user ] /lib64/libc-2.8.90.so: _IO_vfprintf 0.63 cc1 [kernel] lock_release 0.67 cc1 [ user ] /lib64/libc-2.8.90.so: strlen 0.68 cc1 [kernel] debug_smp_processor_id 1.38 cc1 [ user ] /lib64/libc-2.8.90.so: _int_malloc 1.55 cc1 [ user ] /lib64/libc-2.8.90.so: memset 1.77 cc1 [kernel] __lock_acquire 1.88 cc1 [kernel] clear_page_c 3.61 as [ user ] /usr/bin/as: 59.16 cc1 [ user ] /usr/libexec/gcc/x86_64-redhat-linux/4.3.2/cc1: Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090408130409.220518450@chello.nl> Signed-off-by: Ingo Molnar commit 8d1b2d9361b494bfc761700c348c65ebbe3deb5b Author: Peter Zijlstra Date: Wed Apr 8 15:01:30 2009 +0200 perf_counter: track task-comm data Similar to the mmap data stream, add one that tracks the task COMM field, so that the userspace reporting knows what to call a task. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.127422406@chello.nl> Signed-off-by: Ingo Molnar commit 8740f9418c78dcad694b46ab25d1645d5aef1f5e Author: Peter Zijlstra Date: Wed Apr 8 15:01:29 2009 +0200 perf_counter: add some comments Add a few comments because I was forgetting what field what for what functionality. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130409.036984214@chello.nl> Signed-off-by: Ingo Molnar commit 808382b33bb4c60df6379ec2db39f332cc56b82a Author: Peter Zijlstra Date: Wed Apr 8 15:01:28 2009 +0200 perf_counter: kerneltop: keep up with ABI changes Update kerneltop to use PERF_EVENT_MISC_OVERFLOW Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.947197470@chello.nl> Signed-off-by: Ingo Molnar commit 6b6e5486b3a168f0328c82a8d4376caf901472b1 Author: Peter Zijlstra Date: Wed Apr 8 15:01:27 2009 +0200 perf_counter: use misc field to widen type Push the PERF_EVENT_COUNTER_OVERFLOW bit into the misc field so that we can have the full 32bit for PERF_RECORD_ bits. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.891867663@chello.nl> Signed-off-by: Ingo Molnar commit 6fab01927e8bdbbc77bafba2abb4810c5591ad52 Author: Peter Zijlstra Date: Wed Apr 8 15:01:26 2009 +0200 perf_counter: provide misc bits in the event header Limit the size of each record to 64k (or should we count in multiples of u64 and have a 512K limit?), this gives 16 bits or spare room in the header, which we can use for misc bits, so as to not have to grow the record with u64 every time we have a few bits to report. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.769271806@chello.nl> Signed-off-by: Ingo Molnar commit e30e08f65c7ef6c230424264f09c3d53f117f58b Author: Peter Zijlstra Date: Wed Apr 8 15:01:25 2009 +0200 perf_counter: fix NMI race in task clock We should not be updating ctx->time from NMI context, work around that. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090408130408.681326666@chello.nl> Signed-off-by: Ingo Molnar commit e1b9aa3f47242e757c776a3771bb6613e675bf9c Author: Christoph Lameter Date: Thu Apr 2 13:21:44 2009 +0900 percpu: remove rbtree and use page->index instead Impact: use page->index for addr to chunk mapping instead of dedicated rbtree The rbtree is used to determine the chunk from the virtual address. However, we can already determine the page struct from a virtual address and there are several unused fields in page struct used by vmalloc. Use the index field to store a pointer to the chunk. Then there is no need anymore for an rbtree. tj: * s/(set|get)_chunk/pcpu_\1_page_chunk/ * Drop inline from the above two functions and moved them upwards so that they are with other simple helpers. * Initial pages might not (actually most of the time don't) live in the vmalloc area. With the previous patch to manually reverse-map both first chunks, this is no longer an issue. Removed pcpu_set_chunk() call on initial pages. Signed-off-by: Christoph Lameter Signed-off-by: Tejun Heo Cc: Martin Schwidefsky Cc: rusty@rustcorp.com.au Cc: Paul Mundt Cc: rmk@arm.linux.org.uk Cc: starvik@axis.com Cc: ralf@linux-mips.org Cc: davem@davemloft.net Cc: cooloney@kernel.org Cc: kyle@mcmartin.ca Cc: matthew@wil.cx Cc: grundler@parisc-linux.org Cc: takata@linux-m32r.org Cc: benh@kernel.crashing.org Cc: rth@twiddle.net Cc: ink@jurassic.park.msu.ru Cc: heiko.carstens@de.ibm.com Cc: Linus Torvalds Cc: Nick Piggin LKML-Reference: <49D43D58.4050102@kernel.org> Signed-off-by: Ingo Molnar commit ae9e6bc9f74f8247cbca50a6a93c80e0d686fa19 Author: Tejun Heo Date: Thu Apr 2 13:19:54 2009 +0900 percpu: don't put the first chunk in reverse-map rbtree Impact: both first chunks don't use rbtree, no functional change There can be two first chunks - reserved and dynamic with the former one being optional. Dynamic first chunk was linked on reverse-mapping rbtree while the reserved one was mapped manually using the start address and reserved offset limit. This patch makes both first chunks to be looked up manually without using the rbtree. This is to help getting rid of the rbtree. Signed-off-by: Tejun Heo Cc: Martin Schwidefsky Cc: rusty@rustcorp.com.au Cc: Paul Mundt Cc: rmk@arm.linux.org.uk Cc: starvik@axis.com Cc: ralf@linux-mips.org Cc: davem@davemloft.net Cc: cooloney@kernel.org Cc: kyle@mcmartin.ca Cc: matthew@wil.cx Cc: grundler@parisc-linux.org Cc: takata@linux-m32r.org Cc: benh@kernel.crashing.org Cc: rth@twiddle.net Cc: ink@jurassic.park.msu.ru Cc: heiko.carstens@de.ibm.com Cc: Linus Torvalds Cc: Nick Piggin Cc: Christoph Lameter LKML-Reference: <49D43CEA.3040609@kernel.org> Signed-off-by: Ingo Molnar commit 7333a8003cdc0470e8c0ae8b949cbc44f3165ff3 Author: Hidetoshi Seto Date: Wed Mar 25 10:50:34 2009 +0900 x86: smarten /proc/interrupts output for new counters Now /proc/interrupts of tip tree has new counters: CNT: Performance counter interrupts Format change of output, as like that by commit: commit 7a81d9a7da03d2f27840d659f97ef140d032f609 x86: smarten /proc/interrupts output should be applied to these new counters too. Signed-off-by: Hidetoshi Seto Cc: Jan Beulich LKML-Reference: <49C98DEA.8060208@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit a4e94ef0dd391eae05bdeacd12b8da3510957a97 Author: Zhaolei Date: Fri Mar 27 17:07:05 2009 +0800 printk: add support of hh length modifier for printk Impact: new feature, extend vsprintf format strings hh is used as length modifier for signed char or unsigned char. It is supported by glibc, we add kernel support now. Signed-off-by: Zhao Lei Acked-by: Lai Jiangshan Acked-by: Frederic Weisbecker Cc: torvalds@linux-foundation.org Cc: Steven Rostedt LKML-Reference: <49CC9739.30107@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 42d7c5e353cef9062129b0de3ec9ddf10567b9ca Author: Becky Bruce Date: Wed Apr 8 09:09:21 2009 -0500 swiotlb: change swiotlb_bus_to[phys,virt] prototypes Add a hwdev argument that is needed on some architectures in order to access a per-device offset that is taken into account when producing a physical address (also needed to get from bus address to virtual address because the physical address is an intermediate step). Also make swiotlb_bus_to_virt weak so architectures can override it. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-8-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 380d687833aee098c4a2c3b35beaefe1c1f48d01 Author: Becky Bruce Date: Wed Apr 8 09:09:20 2009 -0500 swiotlb: use swiotlb_sync_single instead of duplicating code Right now both swiotlb_sync_single_range and swiotlb_sync_sg were duplicating the code in swiotlb_sync_single. Just call it instead. Also rearrange the sync_single code for readability. Note that the swiotlb_sync_sg code was previously doing a complicated comparison to determine if an addresses needed to be unmapped where a simple is_swiotlb_buffer() call would have sufficed. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-7-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 7fcebbd2d984eac3fdd6da2f4453e7c43d32de89 Author: Becky Bruce Date: Wed Apr 8 09:09:19 2009 -0500 swiotlb: rename unmap_single to do_unmap_single Previously, swiotlb_unmap_page and swiotlb_unmap_sg were duplicating very similar code. Refactor that code into a new unmap_single and unmap_single use do_unmap_single. Note that the swiotlb_unmap_sg code was previously doing a complicated comparison to determine if an addresses needed to be unmapped where a simple is_swiotlb_buffer() call would have sufficed. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-6-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit ef5722f698bde01cfec2b98fff733a48663ebf55 Author: Becky Bruce Date: Wed Apr 8 09:09:18 2009 -0500 swiotlb: allow arch override of address_needs_mapping Some architectures require additional checking to determine if a device can dma to an address and need to provide their own address_needs_mapping.. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-5-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit dd6b02fe427f30520d0adc94aa52352367227873 Author: Becky Bruce Date: Wed Apr 8 09:09:17 2009 -0500 swiotlb: map_page fix for highmem systems The current code calls virt_to_phys() on address that might be in highmem, which is bad. This wasn't needed, anyway, because we already have the physical address we need. Get rid of the now-unused virtual address as well. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-4-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 67131ad0514d7105b55003a0506209cf1bba3f00 Author: Becky Bruce Date: Wed Apr 8 09:09:16 2009 -0500 swiotlb: fix compile warning Squash a build warning seen on 32-bit powerpc caused by calling min() with 2 different types. Use min_t() instead. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-3-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit ceb5ac3264686e75e6951de6a18d4baa9bdecb92 Author: Becky Bruce Date: Wed Apr 8 09:09:15 2009 -0500 swiotlb: comment corrections Impact: cleanup swiotlb_map/unmap_single are now swiotlb_map/unmap_page; trivially change all the comments to reference new names. Also, there were some comments that should have been referring to just plain old map_single, not swiotlb_map_single; fix those as well. Also change a use of the word "pointer", when what is referred to is actually a dma/physical address. Signed-off-by: Becky Bruce Acked-by: FUJITA Tomonori Signed-off-by: Kumar Gala Cc: jeremy@goop.org Cc: ian.campbell@citrix.com LKML-Reference: <1239199761-22886-2-git-send-email-galak@kernel.crashing.org> Signed-off-by: Ingo Molnar commit 02421f98ec55c3ff118f358740ff640f096c7ad6 Author: Yinghai Lu Date: Fri Apr 3 17:15:53 2009 -0700 x86: consistent about warm_reset_vector for UN_NON_UNIQUE_APIC Impact: cleanup didn't set it for UV_NON_UNIQUE_APIC, so don't restore it Signed-off-by: Yinghai Lu LKML-Reference: <49D6A6B9.6060501@kernel.org> Signed-off-by: Ingo Molnar commit cdc1cb0d4445f39561a65204d26f89365f917550 Author: Yinghai Lu Date: Fri Apr 3 17:15:14 2009 -0700 x86: make wakeup_secondary_cpu_via_init static Impact: cleanup Signed-off-by: Yinghai Lu LKML-Reference: <49D6A692.6040400@kernel.org> Signed-off-by: Ingo Molnar commit a59dacfdc9ba06903652fa4883bf1106278b18ec Author: Ingo Molnar Date: Fri Oct 17 14:38:08 2008 +0200 x86 early quirks: eliminate unused function Impact: cleanup this warning: arch/x86/kernel/early-quirks.c:99: warning: ‘ati_ixp4x0_rev’ defined but not used triggers because ati_ixp4x0_rev() is only used in the ACPI && X86_IO_APIC case. Signed-off-by: Ingo Molnar commit 4ecf458492c2d97b3f9d850a5f92d79792e0a7e7 Author: Jiri Slaby Date: Wed Apr 8 13:32:00 2009 +0200 x86_64: fix incorrect comments Impact: cleanup The comments which fxrstor_checking and fxsave_uset refer to is now in fxsave. Change the comments appropriately. Signed-off-by: Jiri Slaby Cc: Jiri Slaby LKML-Reference: <1239190320-23952-3-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit 34ba476a01e128aad51e02f9be854584e9ec73cf Author: Jiri Slaby Date: Wed Apr 8 13:31:59 2009 +0200 x86: unify restore_fpu_checking Impact: cleanup On x86_32, separate f*rstor to an inline function which makes restore_fpu_checking the same on both platforms -> move it outside the ifdefs. Signed-off-by: Jiri Slaby LKML-Reference: <1239190320-23952-2-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit fcb2ac5bdfa3a7a04fb9749b916f64400f4c35a8 Author: Jiri Slaby Date: Wed Apr 8 13:31:58 2009 +0200 x86_32: introduce restore_fpu_checking() Impact: cleanup, prepare FPU code unificaton Like on x86_64, return an error from restore_fpu and kill the task if it fails. Also rename restore_fpu to restore_fpu_checking which allows ifdefs to be removed in math_state_restore(). Signed-off-by: Jiri Slaby LKML-Reference: <1239190320-23952-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit bab5bc9e857638880facef76e4b4c3fa807f8c73 Author: Darren Hart Date: Tue Apr 7 23:23:50 2009 -0700 futex: fixup unlocked requeue pi case Thomas's testing caught a problem when the requeue target futex is unowned and multiple tasks are requeued to it. This patch ensures the FUTEX_WAITERS bit gets set if futex_requeue() will requeue one or more tasks in addition to the one acquiring the lock. Signed-off-by: Darren Hart Signed-off-by: Thomas Gleixner commit f708223d49ac39f5af1643985056206c98033f5b Author: Paul Mackerras Date: Wed Apr 8 20:30:18 2009 +1000 perf_counter: powerpc: set sample enable bit for marked instruction events Impact: enable access to hardware feature POWER processors have the ability to "mark" a subset of the instructions and provide more detailed information on what happens to the marked instructions as they flow through the pipeline. This marking is enabled by the "sample enable" bit in MMCRA, and there are synchronization requirements around setting and clearing the bit. This adds logic to the processor-specific back-ends so that they know which events relate to marked instructions and set the sampling enable bit if any event that we want to put on the PMU is a marked instruction event. It also adds logic to the generic powerpc code to do the necessary synchronization if that bit is set. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18908.31930.1024.228867@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit dc66270b51a62b1a6888d5309229e638a305c47b Author: Paul Mackerras Date: Wed Apr 8 20:30:10 2009 +1000 perf_counter: fix powerpc build Commit 4af4998b ("perf_counter: rework context time") changed struct perf_counter_context to have a 'time' field instead of a 'time_now' field, but neglected to fix the place in the powerpc perf_counter.c where the time_now field was accessed. This fixes it. Signed-off-by: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <18908.31922.411398.147810@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit a34b50ddc265bae058c66661b096ef6384c5a8b1 Author: Ingo Molnar Date: Wed Apr 8 10:56:54 2009 +0200 mm, x86, ptrace, bts: defer branch trace stopping, remove dead code Remove the unused free_locked_buffer() API. Signed-off-by: Ingo Molnar commit 44bc9dc729e33a4ec6ebed4d0b6c08e8d20b42cf Author: Ingo Molnar Date: Wed Apr 8 10:47:17 2009 +0200 mm, x86, ptrace, bts: defer branch trace stopping, cleanup Andrew Morton noticed that mm.h needlessly includes sched.h - remove it. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar commit 5ea472a77f8e4811ceee3f44a9deda6ad6e8b789 Merge: 6c009ec 577c9c4 Author: Ingo Molnar Date: Wed Apr 8 10:35:30 2009 +0200 Merge commit 'v2.6.30-rc1' into perfcounters/core Conflicts: arch/powerpc/include/asm/systbl.h arch/powerpc/include/asm/unistd.h include/linux/init_task.h Merge reason: the conflicts are non-trivial: PowerPC placement of sys_perf_counter_open has to be mixed with the new preadv/pwrite syscalls. Signed-off-by: Ingo Molnar commit 169aafbc8d3f05431b5cfeb60294a12b8ef2bcee Author: Jeremy Fitzhardinge Date: Tue Apr 7 13:37:26 2009 -0700 lguest: update lazy mmu changes to match lguest's use of kvm hypercalls Duplicate hcall -> kvm_hypercall0 convertion from "lguest: use KVM hypercalls". Signed-off-by: Jeremy Fitzhardinge Cc: Matias Zabaljauregui Cc: Rusty Russell commit 38f4b8c0da01ae7cd9b93386842ce272d6fde9ab Merge: a811454 8e2c4f2 Author: Jeremy Fitzhardinge Date: Tue Apr 7 13:34:16 2009 -0700 Merge commit 'origin/master' into for-linus/xen/master * commit 'origin/master': (4825 commits) Fix build errors due to CONFIG_BRANCH_TRACER=y parport: Use the PCI IRQ if offered tty: jsm cleanups Adjust path to gpio headers KGDB_SERIAL_CONSOLE check for module Change KCONFIG name tty: Blackin CTS/RTS Change hardware flow control from poll to interrupt driven Add support for the MAX3100 SPI UART. lanana: assign a device name and numbering for MAX3100 serqt: initial clean up pass for tty side tty: Use the generic RS485 ioctl on CRIS tty: Correct inline types for tty_driver_kref_get() splice: fix deadlock in splicing to file nilfs2: support nanosecond timestamp nilfs2: introduce secondary super block nilfs2: simplify handling of active state of segments nilfs2: mark minor flag for checkpoint created by internal operation nilfs2: clean up sketch file nilfs2: super block operations fix endian bug ... Conflicts: arch/x86/include/asm/thread_info.h arch/x86/lguest/boot.c drivers/xen/manage.c commit a811454027352c762e0d5bba1b1d8f7d26bf96ae Merge: 1943689 53152f9 Author: Jeremy Fitzhardinge Date: Tue Apr 7 13:16:04 2009 -0700 Merge branch 'for-linus/xen/core' into for-linus/xen/master * for-linus/xen/core: xen: honour VCPU availability on boot commit 299a75920379e75069b5c8ef9954408f2085f051 Merge: 5409fb4 80fbe6a Author: Mark Brown Date: Tue Apr 7 18:51:34 2009 +0100 Merge branch 's6000' into for-2.6.31 commit 5409fb4e327a84972483047ecf4fb41f279453e2 Author: Mark Brown Date: Tue Apr 7 18:45:21 2009 +0100 ASoC: Add WM8988 CODEC driver The WM8988 is a low power, high quality stereo CODEC designed for portable digital audio applications. The device integrates complete interfaces to 2 stereo headphone or line out ports. External component requirements are drastically reduced as no separate headphone amplifiers are required. Advanced on-chip digital signal processing performs graphic equaliser, 3-D sound enhancement and automatic level control for the microphone or line input. The WM8988 can operate as a master or a slave, with various master clock frequencies including 12 or 24MHz for USB devices, or standard 256fs rates like 12.288MHz and 24.576MHz. Different audio sample rates such as 96kHz, 48kHz, 44.1kHz are generated directly from the master clock without the need for an external PLL. Signed-off-by: Mark Brown commit 06f409d76f1d382167eb1cadde2e23a73272865d Author: Mark Brown Date: Tue Apr 7 18:10:13 2009 +0100 ASoC: Provide core support for symmetric sample rates Many devices require symmetric configurations of capture and playback data formats, often due to shared clocking but sometimes also due to other shared playback and record configuration in the device. Start providing core support for this by allowing the DAIs or the machine to specify that the sample rates used should be kept symmetric. A flag symmetric_rates is provided in the snd_soc_dai and snd_soc_dai_link structures. If this is set in either of the DAIs or in the machine then a constraint will be applied when a stream is already open preventing any changes in sample rate. Signed-off-by: Mark Brown commit 6553e192d48af88184029066c30c9464516ea0b7 Author: Mark Brown Date: Mon Apr 6 16:59:32 2009 +0100 ASoC: Display return code when failing to add a DAPM kcontrol Signed-off-by: Mark Brown commit 9c83633ad38138855181af6936e8ac570ef7e2cb Author: Dan Carpenter Date: Tue Apr 7 14:48:16 2009 +0300 missing unlock in jfs_quota_write() We should unlock &inode->i_mutex on the error path. This bug was in ext2_quota_write(). I sent a patch to them today as well. Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. regards, dan carpenter Signed-off-by: Dan Carpenter Signed-off-by: Dave Kleikamp commit dcef788eb9659b61a2110284fcce3ca6e63480d2 Author: Zhaolei Date: Tue Mar 31 15:26:14 2009 +0800 ftrace: clean up enable logic for sched_switch Unify sched_switch and sched_wakeup's action to following logic: Do record_cmdline when start_cmdline_record() is called. Start tracing events when the tracer is started. Signed-off-by: Zhao Lei LKML-Reference: <49D1C596.5050203@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 597af81537654097b67fd7a0c92775e66d4a86fe Author: Steven Rostedt Date: Fri Apr 3 15:24:12 2009 -0400 function-graph: use int instead of atomic for ftrace_graph_active Impact: cleanup The variable ftrace_graph_active is only modified under the ftrace_lock mutex, thus an atomic is not necessary for modification. Reported-by: Andrew Morton Signed-off-by: Steven Rostedt commit 5452af664f6fba26b80eb2c8c4ceae2999d5cf56 Author: Frederic Weisbecker Date: Fri Mar 27 00:25:38 2009 +0100 tracing/ftrace: factorize the tracing files creation Impact: cleanup Most of the tracing files creation follow the same pattern: ret = debugfs_create_file(...) if (!ret) pr_warning("Couldn't create ... entry\n") Unify it! Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker LKML-Reference: <1238109938-11840-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Steven Rostedt commit a5dec5573f3c7e63f2f9b5852b9759ea342a5ff9 Author: Li Zefan Date: Fri Mar 27 14:55:44 2009 +0800 tracing: use macros to denote usec and nsec per second Impact: cleanup Use USEC_PER_SEC and NSEC_PER_SEC instead of 1000000 and 1000000000. Signed-off-by: Li Zefan LKML-Reference: <49CC7870.9000309@cn.fujitsu.com> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 86665c75da41889f92b774f31ea5a9a436f392a8 Merge: 93776a8 1bbe2a8 Author: Ingo Molnar Date: Tue Apr 7 14:41:14 2009 +0200 Merge branch 'tracing/urgent' into tracing/ftrace commit 93776a8ec746cf9d32c36e5a5b23d28d8be28826 Merge: 34886c8 d508afb Author: Ingo Molnar Date: Tue Apr 7 13:47:33 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: update to upstream tracing facilities Signed-off-by: Ingo Molnar commit 017bc617657c928cb9a0c45a7a7e9f4e66695347 Author: Markus Metzger Date: Fri Apr 3 16:43:52 2009 +0200 x86, ds: support Core i7 Add debug store support for Core i7. Core i7 adds a reset value for each performance counter and a new PEBS record format. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144607.088997000@intel.com> Signed-off-by: Ingo Molnar commit 150f5164c1258e05b7dea16f29e592f354c48f34 Author: Markus Metzger Date: Fri Apr 3 16:43:51 2009 +0200 x86, ds: allow small debug store buffers Check the buffer size more precisely to allow buffers for exactly one element provided the base address is already properly aligned. Add a debug store selftest. Reported-by: Stephane Eranian Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144606.139137000@intel.com> Signed-off-by: Ingo Molnar commit 608780a9048efa3e85fbc4d8649b26805cc588aa Author: Markus Metzger Date: Fri Apr 3 16:43:50 2009 +0200 x86, ds: fix bad ds_reset_pebs() Ds_reset_pebs() passed the wrong qualifier to a shared function resulting in a reset of bts, rather than pebs. Reported-by: Stephane Eranian Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144605.206510000@intel.com> Signed-off-by: Ingo Molnar commit 6047550d3d26fed88b18a208b31f8b90b5ef3e9b Author: Markus Metzger Date: Fri Apr 3 16:43:49 2009 +0200 x86, ds: dont use TIF_DEBUGCTLMSR Debug store already uses TIF_DS_AREA_MSR to trigger debug store context switch handling. No need to use TIF_DEBUGCTLMSR, as well. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144604.256645000@intel.com> Signed-off-by: Ingo Molnar commit 0f4814065ff8c24ca8bfd75c9b73502be152c287 Author: Markus Metzger Date: Fri Apr 3 16:43:48 2009 +0200 x86, ptrace: add bts context unconditionally Add the ptrace bts context field to task_struct unconditionally. Initialize the field directly in copy_process(). Remove all the unneeded functionality used to initialize that field. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144603.292754000@intel.com> Signed-off-by: Ingo Molnar commit ee811517a5604aa63fae803b7c044712699e1303 Author: Markus Metzger Date: Fri Apr 3 16:43:47 2009 +0200 x86, ds: use single debug store cpu configuration Use a single configuration for all cpus. Reported-by: Ingo Molnar Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144602.191165000@intel.com> Signed-off-by: Ingo Molnar commit 2311f0de21c17b2a8b960677a9cccfbfa52beb35 Author: Markus Metzger Date: Fri Apr 3 16:43:46 2009 +0200 x86, ds: add leakage warning Add a warning in case a debug store context is not removed before the task it is attached to is freed. Remove the old warning at thread exit. It is too early. Declare the debug store context field in thread_struct unconditionally. Remove ds_copy_thread() and ds_exit_thread() and do the work directly in process*.c. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144601.254472000@intel.com> Signed-off-by: Ingo Molnar commit 3a68eef945b234f286406d96dc690fe17863c203 Author: Markus Metzger Date: Fri Apr 3 16:43:45 2009 +0200 x86, ds: add task tracing selftest Add selftests to cover per-task branch tracing. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144600.329346000@intel.com> Signed-off-by: Ingo Molnar commit 01f6569ece6915616f6cae1d7d8b46ab8da9c1bd Author: Markus Metzger Date: Fri Apr 3 16:43:44 2009 +0200 x86, ds: selftest each cpu Perform debug store selftests on each cpu. Cover both the normal and the _noirq variant of the debug store interface. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144559.394583000@intel.com> Signed-off-by: Ingo Molnar commit 84f201139245c30777ff858e71b8d7e134b8c3ed Author: Markus Metzger Date: Fri Apr 3 16:43:43 2009 +0200 x86, ds: fix bounds check in ds selftest Fix a bad bounds check in the debug store selftest. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144558.450027000@intel.com> Signed-off-by: Ingo Molnar commit 353afeea24cc51aafc0ff21a72ec740b6f0af50c Author: Markus Metzger Date: Fri Apr 3 16:43:42 2009 +0200 x86, ds: fix compiler warning Size_t is defined differently on i386 and x86_64. Change type to avoid compiler warning. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144557.523964000@intel.com> Signed-off-by: Ingo Molnar commit 4d657e51dfc042216febd4a007c6f36881f9256d Author: Markus Metzger Date: Fri Apr 3 16:43:41 2009 +0200 x86, hw-branch-tracer: allocate selftest iterator on heap Allocate the trace_iterator for the hw-branch-tracer selftest on the heap. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144556.578777000@intel.com> Signed-off-by: Ingo Molnar commit de79f54f5347ad7ec6ff55ccbb6d4ab2a21f6a93 Author: Markus Metzger Date: Fri Apr 3 16:43:40 2009 +0200 x86, bts, hw-branch-tracer: add _noirq variants to the debug store interface The hw-branch-tracer uses debug store functions from an on_each_cpu() context, which is simply wrong since the functions may sleep. Add _noirq variants for most functions, which may be called with interrupts disabled. Separate per-cpu and per-task tracing and allow per-cpu tracing to be controlled from any cpu. Make the hw-branch-tracer use the new debug store interface, synchronize with hotplug cpu event using get/put_online_cpus(), and remove the unnecessary spinlock. Make the ptrace bts and the ds selftest code use the new interface. Defer the ds selftest. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144555.658136000@intel.com> Signed-off-by: Ingo Molnar commit 35bb7600c17762bb129588c1877d2717fe325289 Author: Markus Metzger Date: Fri Apr 3 16:43:39 2009 +0200 x86, debugctlmsr: add _on_cpu variants to debugctlmsr functions Add functions to get and set the debugctlmsr on different cpus. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144554.738772000@intel.com> Signed-off-by: Ingo Molnar commit 15879d042164650b93d83281ad5f87ad323bfbfe Author: Markus Metzger Date: Fri Apr 3 16:43:38 2009 +0200 x86, bts: use trace_clock_global() for timestamps Rename the bts_struct timestamp field to event. Use trace_clock_global() for time measurement. Reported-by: Ingo Molnar Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144553.773216000@intel.com> Signed-off-by: Ingo Molnar commit 38f801129ad07b9afa7f9bd3779f61b805416d8c Author: Markus Metzger Date: Fri Apr 3 16:43:37 2009 +0200 x86, bts: fix race between per-task and per-cpu branch tracing Per-task branch tracing installs a debug store context with the traced task. This immediately results in the branch trace control bits to be cleared for the next context switch of that task, if not set before. Either per-cpu or per-task tracing are allowed at the same time. An active per-cpu tracing would be disabled even if the per-task tracing request is rejected and the task debug store context removed. Check the tracing type (per-cpu or per-task) before installing a task debug store context. Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144552.856000000@intel.com> Signed-off-by: Ingo Molnar commit 8d99b3ac2726e5edd97ad147fa5c1f2acb63a745 Author: Markus Metzger Date: Fri Apr 3 16:43:36 2009 +0200 x86, bts: wait until traced task has been scheduled out In order to stop branch tracing for a running task, we need to first clear the branch tracing control bits before we may free the tracing buffer. If the traced task is running, the cpu might still trace that task after the branch trace control bits have cleared. Wait until the traced task has been scheduled out before proceeding. A similar problem affects the task debug store context. We first remove the context, then we need to wait until the task has been scheduled out before we can free the context memory. Reviewed-by: Oleg Nesterov Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144551.919636000@intel.com> Signed-off-by: Ingo Molnar commit e2b371f00a6f529f6362654239bdec8dcd510760 Author: Markus Metzger Date: Fri Apr 3 16:43:35 2009 +0200 mm, x86, ptrace, bts: defer branch trace stopping When a ptraced task is unlinked, we need to stop branch tracing for that task. Since the unlink is called with interrupts disabled, and we need interrupts enabled to stop branch tracing, we defer the work. Collect all branch tracing related stuff in a branch tracing context. Reviewed-by: Oleg Nesterov Signed-off-by: Markus Metzger Cc: Andrew Morton Cc: Peter Zijlstra Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144550.712401000@intel.com> Signed-off-by: Ingo Molnar commit a26b89f05d194413c7238e0bea071054f6b5d3c8 Author: Markus Metzger Date: Fri Apr 3 16:43:34 2009 +0200 sched, hw-branch-tracer: add wait_task_context_switch() function to sched.h Add a function to wait until some other task has been switched out at least once. This differs from wait_task_inactive() subtly, in that the latter will wait until the task has left the CPU. Signed-off-by: Markus Metzger Cc: markus.t.metzger@gmail.com Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: oleg@redhat.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144549.794157000@intel.com> Signed-off-by: Ingo Molnar commit cac94f979326212831c0ea44ed9ea1622b4f4e93 Author: Markus Metzger Date: Fri Apr 3 16:43:33 2009 +0200 x86, bts: fix race when bts tracer is removed When the bts tracer is removed while the traced task is running, the write to clear the bts tracer pointer races with context switch code. Read the tracer once during a context switch. When a new tracer is installed, the bts tracer is set in the ds context before the tracer is initialized in order to claim the context for that tracer. This may result in write accesses using an uninitialized trace configuration when scheduling timestamps have been requested. Store active tracing flags separately and only set active flags after the tracing configuration has been initialized. Reviewed-by: Oleg Nesterov Signed-off-by: Markus Metzger Cc: roland@redhat.com Cc: eranian@googlemail.com Cc: juan.villacis@intel.com Cc: ak@linux.jf.intel.com LKML-Reference: <20090403144548.881338000@intel.com> Signed-off-by: Ingo Molnar commit 2e8844e13ab73f1107aea4317a53ff5879f2e1d7 Merge: c78a395 d508afb Author: Ingo Molnar Date: Tue Apr 7 13:34:26 2009 +0200 Merge branch 'linus' into tracing/hw-branch-tracing Merge reason: update to latest tracing and ptrace APIs Signed-off-by: Ingo Molnar commit 6c009ecef8cca28c7c09eb16d0802e37915a76e1 Merge: 98c2aaf d508afb Author: Ingo Molnar Date: Tue Apr 7 12:05:21 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: need the upstream facility added by: 7f1e2ca: hrtimer: fix rq->lock inversion (again) Signed-off-by: Ingo Molnar commit 98c2aaf8be5baf7193be37fb28bce8e7327158bc Author: Ingo Molnar Date: Tue Apr 7 11:30:17 2009 +0200 x86, perfcounters: add atomic64_xchg() Complete atomic64_t support on the 32-bit side by adding atomic64_xch(). Cc: Peter Zijlstra LKML-Reference: <20090406094518.445450972@chello.nl> Signed-off-by: Ingo Molnar commit 6278af660ff83fbafb18e53fc2747eb2ee6780fa Author: Mike Galbraith Date: Thu Apr 2 10:40:28 2009 +0200 perf_counter tools: kerneltop: display per function percentage along with event count ------------------------------------------------------------------------------ KernelTop: 90551 irqs/sec kernel:15.0% [NMI, 100000 CPU cycles], (all, 4 CPUs) ------------------------------------------------------------------------------ events pcnt RIP kernel function ______ ______ _____ ________________ _______________ 16871.00 - 19.1% - ffffffff80328e20 : clear_page_c 8810.00 - 9.9% - ffffffff8048ce80 : page_fault 4746.00 - 5.4% - ffffffff8048cae2 : _spin_lock 4428.00 - 5.0% - ffffffff80328e70 : copy_page_c 3340.00 - 3.8% - ffffffff80329090 : copy_user_generic_string! 2679.00 - 3.0% - ffffffff8028a16b : get_page_from_freelist 2254.00 - 2.5% - ffffffff80296f19 : unmap_vmas 2082.00 - 2.4% - ffffffff80297e19 : handle_mm_fault 1754.00 - 2.0% - ffffffff80288dc8 : __rmqueue_smallest 1553.00 - 1.8% - ffffffff8048ca58 : _spin_lock_irqsave 1400.00 - 1.6% - ffffffff8028cdc8 : release_pages 1337.00 - 1.5% - ffffffff80285400 : find_get_page 1335.00 - 1.5% - ffffffff80225a23 : do_page_fault 1299.00 - 1.5% - ffffffff802ba8e7 : __d_lookup 1174.00 - 1.3% - ffffffff802b38f3 : __link_path_walk 1155.00 - 1.3% - ffffffff802843e1 : perf_swcounter_ctx_event! 1137.00 - 1.3% - ffffffff8028d118 : ____pagevec_lru_add 963.00 - 1.1% - ffffffff802a670b : kmem_cache_alloc 885.00 - 1.0% - ffffffff8024bc61 : __wake_up_bit Display per function percentage along with event count. Signed-off-by: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit bce379bf358738ab8efc8cda2594a299ac685085 Author: Peter Zijlstra Date: Mon Apr 6 11:45:13 2009 +0200 perf_counter: minimize context time updates Push the update_context_time() calls up the stack so that we get less invokations and thereby a less noisy output: before: # ./perfstat -e 1:0 -e 1:1 -e 1:1 -e 1:1 -l ls > /dev/null Performance counter stats for 'ls': 10.163691 cpu clock ticks (msecs) (scaled from 98.94%) 10.215360 task clock ticks (msecs) (scaled from 98.18%) 10.185549 task clock ticks (msecs) (scaled from 98.53%) 10.183581 task clock ticks (msecs) (scaled from 98.71%) Wall-clock time elapsed: 11.912858 msecs after: # ./perfstat -e 1:0 -e 1:1 -e 1:1 -e 1:1 -l ls > /dev/null Performance counter stats for 'ls': 9.316630 cpu clock ticks (msecs) 9.280789 task clock ticks (msecs) 9.280789 task clock ticks (msecs) 9.280789 task clock ticks (msecs) Wall-clock time elapsed: 9.574872 msecs Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.618876874@chello.nl> Signed-off-by: Ingo Molnar commit 849691a6cd40270ff5f4a8846d5f6bf8df663ffc Author: Peter Zijlstra Date: Mon Apr 6 11:45:12 2009 +0200 perf_counter: remove rq->lock usage Now that all the task runtime clock users are gone, remove the ugly rq->lock usage from perf counters, which solves the nasty deadlock seen when a software task clock counter was read from an NMI overflow context. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.531137582@chello.nl> Signed-off-by: Ingo Molnar commit a39d6f2556c4a19f58f538c6aa28bf8faca4fcb8 Author: Peter Zijlstra Date: Mon Apr 6 11:45:11 2009 +0200 perf_counter: rework the task clock software counter Rework the task clock software counter to use the context time instead of the task runtime clock, this removes the last such user. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.445450972@chello.nl> Signed-off-by: Ingo Molnar commit 4af4998b8aa35600f4c4a4f3c3a23baca6081d02 Author: Peter Zijlstra Date: Mon Apr 6 11:45:10 2009 +0200 perf_counter: rework context time Since perf_counter_context is switched along with tasks, we can maintain the context time without using the task runtime clock. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.353552838@chello.nl> Signed-off-by: Ingo Molnar commit 4c9e25428ff46b968a30f1dfafdba550cb6e4141 Author: Peter Zijlstra Date: Mon Apr 6 11:45:09 2009 +0200 perf_counter: change event definition Currently the definition of an event is slightly ambiguous. We have wakeup events, for poll() and SIGIO, which are either generated when a record crosses a page boundary (hw_events.wakeup_events == 0), or every wakeup_events new records. Now a record can be either a counter overflow record, or a number of different things, like the mmap PROT_EXEC region notifications. Then there is the PERF_COUNTER_IOC_REFRESH event limit, which only considers counter overflows. This patch changes then wakeup_events and SIGIO notification to only consider overflow events. Furthermore it changes the SIGIO notification to report SIGHUP when the event limit is reached and the counter will be disabled. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.266679874@chello.nl> Signed-off-by: Ingo Molnar commit 0c593b3411341e3a05a61f5527df36ab02bd11e8 Author: Peter Zijlstra Date: Mon Apr 6 11:45:08 2009 +0200 perf_counter: comment the perf_event_type stuff Describe the event format. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.211174347@chello.nl> Signed-off-by: Ingo Molnar commit 79f146415623fe74f39af67c0f6adc208939a410 Author: Peter Zijlstra Date: Mon Apr 6 11:45:07 2009 +0200 perf_counter: counter overflow limit Provide means to auto-disable the counter after 'n' overflow events. Create the counter with hw_event.disabled = 1, and then issue an ioctl(fd, PREF_COUNTER_IOC_REFRESH, n); to set the limit and enable the counter. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.083139737@chello.nl> Signed-off-by: Ingo Molnar commit 339f7c90b8a2f3aa2dd4267e79f797999e8a3c59 Author: Peter Zijlstra Date: Mon Apr 6 11:45:06 2009 +0200 perf_counter: PERF_RECORD_TIME By popular request, provide means to log a timestamp along with the counter overflow event. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094518.024173282@chello.nl> Signed-off-by: Ingo Molnar commit ebb3c4c4cb81d64cc041356915ec015e2c57092a Author: Peter Zijlstra Date: Mon Apr 6 11:45:05 2009 +0200 perf_counter: fix the mlock accounting Reading through the code I saw I forgot the finish the mlock accounting. Do so now. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.899767331@chello.nl> Signed-off-by: Ingo Molnar commit f6c7d5fe58b4846ee0cb4b98b6042489705eced4 Author: Peter Zijlstra Date: Mon Apr 6 11:45:04 2009 +0200 perf_counter: theres more to overflow than writing events Prepare for more generic overflow handling. The new perf_counter_overflow() method will handle the generic bits of the counter overflow, and can return a !0 return value, in which case the counter should be (soft) disabled, so that it won't count until it's properly disabled. XXX: do powerpc and swcounter Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.812109629@chello.nl> Signed-off-by: Ingo Molnar commit b6276f353bf490add62dcf7db0ebd75baa3e1a37 Author: Peter Zijlstra Date: Mon Apr 6 11:45:03 2009 +0200 perf_counter: x86: self-IPI for pending work Implement set_perf_counter_pending() with a self-IPI so that it will run ASAP in a usable context. For now use a second IRQ vector, because the primary vector pokes the apic in funny ways that seem to confuse things. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.724626696@chello.nl> Signed-off-by: Ingo Molnar commit 671dec5daf3b3c43c5777be282f00120a44cf37f Author: Peter Zijlstra Date: Mon Apr 6 11:45:02 2009 +0200 perf_counter: generalize pending infrastructure Prepare the pending infrastructure to do more than wakeups. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.634732847@chello.nl> Signed-off-by: Ingo Molnar commit 3c446b3d3b38f991f97e9d2df0ad26a60a94dcff Author: Peter Zijlstra Date: Mon Apr 6 11:45:01 2009 +0200 perf_counter: SIGIO support Provide support for fcntl() I/O availability signals. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.579788800@chello.nl> Signed-off-by: Ingo Molnar commit 9c03d88e328d5f28f13191622c2ea1349c36b799 Author: Peter Zijlstra Date: Mon Apr 6 11:45:00 2009 +0200 perf_counter: add more context information Change the callchain context entries to u16, so as to gain some space. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.457320003@chello.nl> Signed-off-by: Ingo Molnar commit a2e87d06ddbe6e6fdb8d6d2e5e985efe4efb07dd Author: Peter Zijlstra Date: Mon Apr 6 11:44:59 2009 +0200 perf_counter: update mmap() counter read, take 2 Update the userspace read method. Paul noted that: - userspace cannot observe ->lock & 1 on the same cpu. - we need a barrier() between reading ->lock and ->index to ensure we read them in that prticular order. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford LKML-Reference: <20090406094517.368446033@chello.nl> Signed-off-by: Ingo Molnar commit 7ba5779533819fc061b4afafcb4a609d55f37057 Author: Tetsuo Handa Date: Mon Apr 6 20:49:14 2009 +0900 tomoyo: remove "undelete domain" command. Since TOMOYO's policy management tools does not use the "undelete domain" command, we decided to remove that command. Signed-off-by: Kentaro Takeda Signed-off-by: Tetsuo Handa Signed-off-by: Toshiharu Harada Signed-off-by: James Morris commit 80fbe6ac9b47cbc11e174a9bf853834dc281da35 Author: Daniel Glöckner Date: Mon Apr 6 11:50:22 2009 +0200 ASoC: correct s6000 I2S clock polarity According to the data sheet data is clocked out on the falling edge and latched on the rising edge of the bit clock. While the left sample is transmitted the word clock line is low. Signed-off-by: Daniel Glöckner Signed-off-by: Mark Brown commit 52400ba946759af28442dee6265c5c0180ac7122 Author: Darren Hart Date: Fri Apr 3 13:40:49 2009 -0700 futex: add requeue_pi functionality PI Futexes and their underlying rt_mutex cannot be left ownerless if there are pending waiters as this will break the PI boosting logic, so the standard requeue commands aren't sufficient. The new commands properly manage pi futex ownership by ensuring a futex with waiters has an owner at all times. This will allow glibc to properly handle pi mutexes with pthread_condvars. The approach taken here is to create two new futex op codes: FUTEX_WAIT_REQUEUE_PI: Tasks will use this op code to wait on a futex (such as a non-pi waitqueue) and wake after they have been requeued to a pi futex. Prior to returning to userspace, they will acquire this pi futex (and the underlying rt_mutex). futex_wait_requeue_pi() is the result of a high speed collision between futex_wait() and futex_lock_pi() (with the first part of futex_lock_pi() being done by futex_proxy_trylock_atomic() on behalf of the top_waiter). FUTEX_REQUEUE_PI (and FUTEX_CMP_REQUEUE_PI): This call must be used to wake tasks waiting with FUTEX_WAIT_REQUEUE_PI, regardless of how many tasks the caller intends to wake or requeue. pthread_cond_broadcast() should call this with nr_wake=1 and nr_requeue=INT_MAX. pthread_cond_signal() should call this with nr_wake=1 and nr_requeue=0. The reason being we need both callers to get the benefit of the futex_proxy_trylock_atomic() routine. futex_requeue() also enqueues the top_waiter on the rt_mutex via rt_mutex_start_proxy_lock(). Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit f801073f87aa22ddf0e9146355fec3993163790f Author: Darren Hart Date: Fri Apr 3 13:40:40 2009 -0700 futex: split out futex value validation code Refactor the code to validate the expected futex value in order to reuse it with the requeue_pi code. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 9121e4783cd5c7e2a407763f3b61c2d573891133 Author: Darren Hart Date: Fri Apr 3 13:40:31 2009 -0700 futex: distangle futex_requeue() futex_requeue() is getting a bit long-winded, and will be getting more so after the requeue_pi patch. Factor out the actual requeueing into a nicely contained inline function to reduce function length and improve legibility. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit a72188d8a64ebe74722f1cf7ffac41b41ffdba21 Author: Darren Hart Date: Fri Apr 3 13:40:22 2009 -0700 futex: add FUTEX_HAS_TIMEOUT flag to restart.futex.flags Currently restart is only used if there is a timeout. The requeue_pi functionality requires restarting to futex_lock_pi() on signal after wakeup in futex_wait_requeue_pi() regardless of if there was a timeout or not. Using 0 for the timeout value is confusing as that could indicate an expired timer. The flag makes this explicit. While the check is not technically needed in futex_wait_restart(), doing so makes the code consistent with and will avoid confusion should the need arise to restart wait without a timeout. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 8dac456a681bd94272ff50ecb31be6b669382c2b Author: Darren Hart Date: Fri Apr 3 13:40:12 2009 -0700 rt_mutex: add proxy lock routines This patch is a prerequisite for futex requeue_pi. It basically splits rt_mutex_slowlock() right down the middle, just before the first call to schedule(). It further adds helper functions which make use of the split and provide the rt-mutex preliminaries for futex requeue_pi. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit dd9739980b50c8cde33e1f8eb08b7e0140bcd61e Author: Darren Hart Date: Fri Apr 3 13:40:02 2009 -0700 futex: split out fixup owner logic from futex_lock_pi() Refactor the post lock acquisition logic from futex_lock_pi(). This code will be reused in futex_wait_requeue_pi(). Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 1a52084d0919c2799258737c21fb328a9de159b5 Author: Darren Hart Date: Fri Apr 3 13:39:52 2009 -0700 futex: split out atomic logic from futex_lock_pi() Refactor the atomic portion of futex_lock_pi() into futex_lock_pi_atomic(). This logic will be needed by requeue_pi, so modularize it to reduce code duplication. The only significant change is passing of the task to try and take the lock for. This simplifies the -EDEADLK test as if the lock is owned by task t, it's a deadlock, regardless of if we are doing requeue pi or not. This patch updates the corresponding comment accordingly. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 4b1c486b3587d2abf50bee4a05eb488cd4045f2c Author: Darren Hart Date: Fri Apr 3 13:39:42 2009 -0700 futex: add helper to find the top prio waiter of a futex Improve legibility by wrapping finding the top waiter in a function. This will be used by the follow-on patches for enabling requeue pi. Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit ca5f9524d61f54b1f618293ab92fc6b49cac864d Author: Darren Hart Date: Fri Apr 3 13:39:33 2009 -0700 futex: separate futex_wait_queue_me() logic from futex_wait() Refactor futex_wait() in preparation for futex_wait_requeue_pi(). In order to reuse a good chunk of the futex_wait() code for the upcoming futex_wait_requeue_pi() function, this patch breaks out the queue-to-wakeup section of futex_wait() into futex_wait_queue_me(). Signed-off-by: Darren Hart Reviewed-by: Thomas Gleixner Signed-off-by: Thomas Gleixner commit 92f22a3865abe87eea2609a6f8e5be5123f7ce4f Author: Peter Zijlstra Date: Thu Apr 2 11:12:04 2009 +0200 perf_counter: update mmap() counter read Paul noted that we don't need SMP barriers for the mmap() counter read because its always on the same cpu (otherwise you can't access the hw counter anyway). So remove the SMP barriers and replace them with regular compiler barriers. Further, update the comment to include a race free method of reading said hardware counter. The primary change is putting the pmc_read inside the seq-loop, otherwise we can still race and read rubbish. Noticed-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.577951445@chello.nl> Signed-off-by: Ingo Molnar commit 5872bdb88a35fae7d224bd6b21e5f377e854ccfc Author: Peter Zijlstra Date: Thu Apr 2 11:12:03 2009 +0200 perf_counter: add more context information Put in counts to tell which ips belong to what context. ----- | | hv | -- nr | | kernel | -- | | user ----- Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.493101305@chello.nl> Signed-off-by: Ingo Molnar commit 3df70fd623bb109e0079e697c0276d220a4b7908 Author: Peter Zijlstra Date: Thu Apr 2 11:12:02 2009 +0200 perf_counter: kerneltop: update to new ABI Update to reflect the new record_type ABI changes. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.407283141@chello.nl> Signed-off-by: Ingo Molnar commit c457810ab4a825161aec6ef71b581e1bc8febd1a Author: Peter Zijlstra Date: Thu Apr 2 11:12:01 2009 +0200 perf_counter: per event wakeups By request, provide a way to request a wakeup every 'n' events instead of every page of output. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.323309784@chello.nl> Signed-off-by: Ingo Molnar commit 8a057d84912f36e53f970c4d177cb4bb6b2f9e08 Author: Peter Zijlstra Date: Thu Apr 2 11:11:59 2009 +0200 perf_counter: move the event overflow output bits to record_type Per suggestion from Paul, move the event overflow bits to record_type and sanitize the enums a bit. Breaks the ABI -- again ;-) Suggested-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Corey Ashford Orig-LKML-Reference: <20090402091319.151921176@chello.nl> Signed-off-by: Ingo Molnar commit 9dd499889bdb12ac0e412ccdd718fe0d348258f2 Author: Mike Galbraith Date: Fri Mar 27 12:13:43 2009 +0100 perf_counter tools: kerneltop: add real-time data acquisition thread Decouple kerneltop display from event acquisition by introducing a separate data acquisition thread. This fixes annnoying kerneltop display refresh jitter and missed events. Also add a -r option, to switch the data acquisition thread to real-time priority. Signed-off-by: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Orig-LKML-Reference: Signed-off-by: Ingo Molnar commit 4e935e47177c3b26cf383e79849bae2a464d0160 Author: Peter Zijlstra Date: Mon Mar 30 19:07:16 2009 +0200 perf_counter: pmc arbitration Follow the example set by powerpc and try to play nice with oprofile and the nmi watchdog. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.459968444@chello.nl> Signed-off-by: Ingo Molnar commit d7d59fb323833682b117b528d77eeb8ef587036a Author: Peter Zijlstra Date: Mon Mar 30 19:07:15 2009 +0200 perf_counter: x86: callchain support Provide the x86 perf_callchain() implementation. Code based on the ftrace/sysprof code from Soeren Sandmann Pedersen. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Cc: Soeren Sandmann Pedersen Cc: Frederic Weisbecker Cc: Steven Rostedt Orig-LKML-Reference: <20090330171024.341993293@chello.nl> Signed-off-by: Ingo Molnar commit 394ee07623cf556c8daae2b3c00cf5fea47f0811 Author: Peter Zijlstra Date: Mon Mar 30 19:07:14 2009 +0200 perf_counter: provide generic callchain bits Provide the generic callchain support bits. If hw_event->callchain is set the arch specific perf_callchain() function is called upon to provide a perf_callchain_entry structure filled with the current callchain. If it does so, it is added to the overflow output event. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.254266860@chello.nl> Signed-off-by: Ingo Molnar commit 023c54c42288416b4f43c67bfd5049a76926fad6 Author: Peter Zijlstra Date: Mon Mar 30 19:07:13 2009 +0200 perf_counter tools: kerneltop: update event_types Go along with the new perf_event_type ABI. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.133985461@chello.nl> Signed-off-by: Ingo Molnar commit 5ed00415e304203a0a9dcaef226d6d3f1106070e Author: Peter Zijlstra Date: Mon Mar 30 19:07:12 2009 +0200 perf_counter: re-arrange the perf_event_type Breaks ABI yet again :-) Change the event type so that [0, 2^31-1] are regular event types, but [2^31, 2^32-1] forms a bitmask for overflow events. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171024.047961770@chello.nl> Signed-off-by: Ingo Molnar commit 78d613eb129fc4edf0e2cabfcc6a4c5285482d21 Author: Peter Zijlstra Date: Mon Mar 30 19:07:11 2009 +0200 perf_counter: small cleanup of the output routines Move the nmi argument to the _begin() function, so that _end() only needs the handle. This allows the _begin() function to generate a wakeup on event loss. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.959404268@chello.nl> Signed-off-by: Ingo Molnar commit 31f004df8d14212f0a8a2fb12a8ed44a3d80e2fb Author: Paul Mackerras Date: Mon Mar 30 19:07:10 2009 +0200 perf_counter tools: optionally scale counter values in perfstat mode Impact: new functionality This adds add an option to the perfstat mode of kerneltop to scale the reported counter values according to the fraction of time that each counter gets to count. This is invoked with the -l option (I used 'l' because s, c, a and e were all taken already.) This uses the new PERF_RECORD_TOTAL_TIME_{ENABLED,RUNNING} read format options. With this, we get output like this: $ ./perfstat -l -e 0:0,0:1,0:2,0:3,0:4,0:5 ./spin Performance counter stats for './spin': 4016072055 CPU cycles (events) (scaled from 66.53%) 2005887318 instructions (events) (scaled from 66.53%) 1762849 cache references (events) (scaled from 66.69%) 165229 cache misses (events) (scaled from 66.85%) 1001298009 branches (events) (scaled from 66.78%) 41566 branch misses (events) (scaled from 66.61%) Wall-clock time elapsed: 2438.227446 msecs This also lets us detect when a counter is zero because the counter never got to go on the CPU at all. In that case we print rather than 0. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090330171023.871484899@chello.nl> Signed-off-by: Ingo Molnar commit 9ea98e191255ee642e64a5745014424fc63f83b0 Author: Peter Zijlstra Date: Mon Mar 30 19:07:09 2009 +0200 perf_counter: x86: proper error propagation for the x86 hw_perf_counter_init() Now that Paul cleaned up the error propagation paths, pass down the x86 error as well. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.792822360@chello.nl> Signed-off-by: Ingo Molnar commit d5d2bc0dd0379deddb9ede66fec90a3083eaec57 Author: Paul Mackerras Date: Mon Mar 30 19:07:08 2009 +0200 perf_counter: make it possible for hw_perf_counter_init to return error codes Impact: better error reporting At present, if hw_perf_counter_init encounters an error, all it can do is return NULL, which causes sys_perf_counter_open to return an EINVAL error to userspace. This isn't very informative for userspace; it means that userspace can't tell the difference between "sorry, oprofile is already using the PMU" and "we don't support this CPU" and "this CPU doesn't support the requested generic hardware event". This commit uses the PTR_ERR/ERR_PTR/IS_ERR set of macros to let hw_perf_counter_init return an error code on error rather than just NULL if it wishes. If it does so, that error code will be returned from sys_perf_counter_open to userspace. If it returns NULL, an EINVAL error will be returned to userspace, as before. This also adapts the powerpc hw_perf_counter_init to make use of this to return ENXIO, EINVAL, EBUSY, or EOPNOTSUPP as appropriate. It would be good to add extra error numbers in future to allow userspace to distinguish the various errors that are currently reported as EINVAL, i.e. irq_period < 0, too many events in a group, conflict between exclude_* settings in a group, and PMU resource conflict in a group. [ v2: fix a bug pointed out by Corey Ashford where error returns from hw_perf_counter_init were not handled correctly in the case of raw hardware events.] Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090330171023.682428180@chello.nl> Signed-off-by: Ingo Molnar commit 7595d63b3a9ce65d14c4fbd0e7de448a343d7215 Author: Paul Mackerras Date: Mon Mar 30 19:07:07 2009 +0200 perf_counter: powerpc: only reserve PMU hardware when we need it Impact: cooperate with oprofile At present, on PowerPC, if you have perf_counters compiled in, oprofile doesn't work. There is code to allow the PMU to be shared between competing subsystems, such as perf_counters and oprofile, but currently the perf_counter subsystem reserves the PMU for itself at boot time, and never releases it. This makes perf_counter play nicely with oprofile. Now we keep a count of how many perf_counter instances are counting hardware events, and reserve the PMU when that count becomes non-zero, and release the PMU when that count becomes zero. This means that it is possible to have perf_counters compiled in and still use oprofile, as long as there are no hardware perf_counters active. This also means that if oprofile is active, sys_perf_counter_open will fail if the hw_event specifies a hardware event. To avoid races with other tasks creating and destroying perf_counters, we use a mutex. We use atomic_inc_not_zero and atomic_add_unless to avoid having to take the mutex unless there is a possibility of the count going between 0 and 1. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090330171023.627912475@chello.nl> Signed-off-by: Ingo Molnar commit 3c1ba6fafecaed295017881f8863a18602f32c1d Author: Peter Zijlstra Date: Mon Mar 30 19:07:06 2009 +0200 perf_counter: kerneltop: parse the mmap data stream frob the kerneltop code to print the mmap data in the stream Better use would be collecting the IPs per PID and mapping them onto the provided userspace code.. TODO Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.501902515@chello.nl> Signed-off-by: Ingo Molnar commit 0a4a93919bdc5cee48fe4367591e8e0449c1086c Author: Peter Zijlstra Date: Mon Mar 30 19:07:05 2009 +0200 perf_counter: executable mmap() information Currently the profiling information returns userspace IPs but no way to correlate them to userspace code. Userspace could look into /proc/$pid/maps but that might not be current or even present anymore at the time of analyzing the IPs. Therefore provide means to track the mmap information and provide it in the output stream. XXX: only covers mmap()/munmap(), mremap() and mprotect() are missing. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Cc: Andrew Morton Orig-LKML-Reference: <20090330171023.417259499@chello.nl> Signed-off-by: Ingo Molnar commit 195564390210977954fe4ef45b39cdee34f41b59 Author: Peter Zijlstra Date: Mon Mar 30 19:07:04 2009 +0200 perf_counter: kerneltop: simplify data_head read Now that the kernel side changed, match up again. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.327144324@chello.nl> Signed-off-by: Ingo Molnar commit 38ff667b321b00f5e6830e93fb4ab11a653a2920 Author: Peter Zijlstra Date: Mon Mar 30 19:07:03 2009 +0200 perf_counter: fix update_userpage() It just occured to me it is possible to have multiple contending updates of the userpage (mmap information vs overflow vs counter). This would break the seqlock logic. It appear the arch code uses this from NMI context, so we cannot possibly serialize its use, therefore separate the data_head update from it and let it return to its original use. The arch code needs to make sure there are no contending callers by disabling the counter before using it -- powerpc appears to do this nicely. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.241410660@chello.nl> Signed-off-by: Ingo Molnar commit 925d519ab82b6dd7aca9420d809ee83819c08db2 Author: Peter Zijlstra Date: Mon Mar 30 19:07:02 2009 +0200 perf_counter: unify and fix delayed counter wakeup While going over the wakeup code I noticed delayed wakeups only work for hardware counters but basically all software counters rely on them. This patch unifies and generalizes the delayed wakeup to fix this issue. Since we're dealing with NMI context bits here, use a cmpxchg() based single link list implementation to track counters that have pending wakeups. [ This should really be generic code for delayed wakeups, but since we cannot use cmpxchg()/xchg() in generic code, I've let it live in the perf_counter code. -- Eric Dumazet could use it to aggregate the network wakeups. ] Furthermore, the x86 method of using TIF flags was flawed in that its quite possible to end up setting the bit on the idle task, loosing the wakeup. The powerpc method uses per-cpu storage and does appear to be sufficient. Signed-off-by: Peter Zijlstra Acked-by: Paul Mackerras Orig-LKML-Reference: <20090330171023.153932974@chello.nl> Signed-off-by: Ingo Molnar commit 53cfbf593758916aac41db728f029986a62f1254 Author: Paul Mackerras Date: Wed Mar 25 22:46:58 2009 +1100 perf_counter: record time running and time enabled for each counter Impact: new functionality Currently, if there are more counters enabled than can fit on the CPU, the kernel will multiplex the counters on to the hardware using round-robin scheduling. That isn't too bad for sampling counters, but for counting counters it means that the value read from a counter represents some unknown fraction of the true count of events that occurred while the counter was enabled. This remedies the situation by keeping track of how long each counter is enabled for, and how long it is actually on the cpu and counting events. These times are recorded in nanoseconds using the task clock for per-task counters and the cpu clock for per-cpu counters. These values can be supplied to userspace on a read from the counter. Userspace requests that they be supplied after the counter value by setting the PERF_FORMAT_TOTAL_TIME_ENABLED and/or PERF_FORMAT_TOTAL_TIME_RUNNING bits in the hw_event.read_format field when creating the counter. (There is no way to change the read format after the counter is created, though it would be possible to add some way to do that.) Using this information it is possible for userspace to scale the count it reads from the counter to get an estimate of the true count: true_count_estimate = count * total_time_enabled / total_time_running This also lets userspace detect the situation where the counter never got to go on the cpu: total_time_running == 0. This functionality has been requested by the PAPI developers, and will be generally needed for interpreting the count values from counting counters correctly. In the implementation, this keeps 5 time values (in nanoseconds) for each counter: total_time_enabled and total_time_running are used when the counter is in state OFF or ERROR and for reporting back to userspace. When the counter is in state INACTIVE or ACTIVE, it is the tstamp_enabled, tstamp_running and tstamp_stopped values that are relevant, and total_time_enabled and total_time_running are determined from them. (tstamp_stopped is only used in INACTIVE state.) The reason for doing it like this is that it means that only counters being enabled or disabled at sched-in and sched-out time need to be updated. There are no new loops that iterate over all counters to update total_time_enabled or total_time_running. This also keeps separate child_total_time_running and child_total_time_enabled fields that get added in when reporting the totals to userspace. They are separate fields so that they can be atomic. We don't want to use atomics for total_time_running, total_time_enabled etc., because then we would have to use atomic sequences to update them, which are slower than regular arithmetic and memory accesses. It is possible to measure total_time_running by adding a task_clock counter to each group of counters, and total_time_enabled can be measured approximately with a top-level task_clock counter (though inaccuracies will creep in if you need to disable and enable groups since it is not possible in general to disable/enable the top-level task_clock counter simultaneously with another group). However, that adds extra overhead - I measured around 15% increase in the context switch latency reported by lat_ctx (from lmbench) when a task_clock counter was added to each of 2 groups, and around 25% increase when a task_clock counter was added to each of 4 groups. (In both cases a top-level task-clock counter was also added.) In contrast, the code added in this commit gives better information with no overhead that I could measure (in fact in some cases I measured lower times with this code, but the differences were all less than one standard deviation). [ v2: address review comments by Andrew Morton. ] Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: Andrew Morton Orig-LKML-Reference: <18890.6578.728637.139402@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 7730d8655880f41f2ea519aca2ca6a1413dfd2c9 Author: Peter Zijlstra Date: Wed Mar 25 12:48:31 2009 +0100 perf_counter: allow and require one-page mmap on counting counters A brainfart stopped single page mmap()s working. The rest of the code should be perfectly fine with not having any data pages. Reported-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <1237981712.7972.812.camel@twins> Signed-off-by: Ingo Molnar commit 00f0ad73ac90e3fba8b4cbe4cf21b2fb9a56cb72 Author: Peter Zijlstra Date: Wed Mar 25 12:30:27 2009 +0100 perf_counter: kerneltop: output event support Teach kerneltop about the new output ABI. XXX: anybody fancy integrating the PID/TID data into the output? Bump the mmap_data pages a little because we bloated the output and have to be more careful about overruns with structured data. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113317.192910290@chello.nl> Signed-off-by: Ingo Molnar commit 4c4ba21d2c3659e4c0421533939b58a8fd9f06c9 Author: Peter Zijlstra Date: Wed Mar 25 12:30:26 2009 +0100 perf_counter: kerneltop: mmap_pages argument provide a knob to set the number of mmap data pages. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113317.104545398@chello.nl> Signed-off-by: Ingo Molnar commit ea5d20cf99db5d26d43b6d322d3ace17e08a6552 Author: Peter Zijlstra Date: Wed Mar 25 12:30:25 2009 +0100 perf_counter: optionally provide the pid/tid of the sampled task Allow cpu wide counters to profile userspace by providing what process the sample belongs to. This raises the first issue with the output type, lots of these options: group, tid, callchain, etc.. are non-exclusive and could be combined, suggesting a bitfield. However, things like the mmap() data stream doesn't fit in that. How to split the type field... Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113317.013775235@chello.nl> Signed-off-by: Ingo Molnar commit 63e35b25d6b5c3136d22ef249dbbf96716aa08bf Author: Peter Zijlstra Date: Wed Mar 25 12:30:24 2009 +0100 perf_counter: sanity check on the output API Ensure we never write more than we said we would. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113316.921433024@chello.nl> Signed-off-by: Ingo Molnar commit 5c1481943250ab65fa5130e05ec479c93216e9f7 Author: Peter Zijlstra Date: Wed Mar 25 12:30:23 2009 +0100 perf_counter: output objects Provide a {type,size} header for each output entry. This should provide extensible output, and the ability to mix multiple streams. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113316.831607932@chello.nl> Signed-off-by: Ingo Molnar commit b9cacc7bf193df16532bfa7d7ca77fe50fc3c2e6 Author: Peter Zijlstra Date: Wed Mar 25 12:30:22 2009 +0100 perf_counter: more elaborate write API Provide a begin, copy, end interface to the output buffer. begin() reserves the space, copy() copies the data over, considering page boundaries, end() finalizes the event and does the wakeup. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Mike Galbraith Cc: Arjan van de Ven Cc: Wu Fengguang Orig-LKML-Reference: <20090325113316.740550870@chello.nl> Signed-off-by: Ingo Molnar commit c7138f37f905bb7987b1f9f5a8ee73667db39f25 Author: Peter Zijlstra Date: Tue Mar 24 13:18:16 2009 +0100 perf_counter: fix perf_poll() Impact: fix kerneltop 100% CPU usage Only return a poll event when there's actually been one, poll_wait() doesn't actually wait for the waitq you pass it, it only enqueues you on it. Only once all FDs have been iterated and none of thm returned a poll-event will it schedule(). Also make it return POLL_HUP when there's not mmap() area to read from. Further, fix a silly bug in the write code. Reported-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Arjan van de Ven Orig-LKML-Reference: <1237897096.24918.181.camel@twins> Signed-off-by: Ingo Molnar commit f66c6b2066b44d4ab8e8ac1ee4cae543738fe2ac Author: Paul Mackerras Date: Mon Mar 23 10:29:36 2009 +1100 perf_counter: update documentation Impact: documentation fix This updates the perfcounter documentation to reflect recent changes. Signed-off-by: Paul Mackerras commit 0fd112e41cd6f6d4779cbe327c3632d087e31476 Author: Peter Zijlstra Date: Tue Mar 24 10:50:24 2009 +0100 perf_counter tools: remove glib dependency and fix bugs in kerneltop.c, fix poll() Paul Mackerras wrote: > I noticed the poll stuff is bogus - we have a 2D array of struct > pollfds (MAX_NR_CPUS x MAX_COUNTERS), we fill in a sub-array (with the > rest being uninitialized, since the array is on the stack) and then > pass the first nr_cpus elements to poll. Not what we really meant, I > suspect. :) Not even if we only have one counter, since it's the > counter dimension that varies fastest. This should fix the most obvious poll fubar.. not enough to fix the full problem though.. Reported-by: Paul Mackerras Reported-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Arjan van de Ven Orig-LKML-Reference: <18888.29986.340328.540512@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit cbe46555dc4de6403cd757139d42289b5f21abb9 Author: Paul Mackerras Date: Tue Mar 24 16:52:34 2009 +1100 perf_counter tools: remove glib dependency and fix bugs in kerneltop.c The glib dependency in kerneltop.c is only for a little bit of list manipulation, and I find it inconvenient. This adds a 'next' field to struct source_line, which lets us link them together into a list. The code to do the linking ourselves turns out to be no longer or more difficult than using glib. This also fixes a few other problems: - We need to #include to get PATH_MAX on powerpc. - We need to #include rather than have our own definitions of __u64 and __s64; on powerpc the installed headers define them to be unsigned long and long respectively, and if we have our own, different definition here that causes a compile error. - This takes out the x86 setting of errno from -ret in sys_perf_counter_open. My experiments on x86 indicate that the glibc syscall() does this for us already. - We had two CPU migration counters in the default set, which seems unnecessary; I changed one of them to a context switch counter. - In perfstat mode we were printing CPU cycles and instructions as milliseconds, and the cpu clock and task clock counters as events. This fixes that. - In perfstat mode we were still printing a blank line after the first counter, which was a holdover from when a task clock counter was automatically included as the first counter. This removes the blank line. - On a test machine here, parse_symbols() and parse_vmlinux() were taking long enough (almost 0.5 seconds) for the mmap buffer to overflow before we got to the first mmap_read() call, so this moves them before we open all the counters. - The error message if sys_perf_counter_open fails needs to use errno, not -fd[i][counter]. Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Acked-by: Mike Galbraith Cc: Arjan van de Ven Orig-LKML-Reference: <18888.29986.340328.540512@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 81cdbe0509542324ad7d3282ab67c2b6716df663 Author: Ingo Molnar Date: Mon Mar 23 22:29:50 2009 +0100 perf_counter tools: increase cpu-cycles again Commit b7368fdd7d decreased the CPU cycles interval 100-fold, but this is causig kerneltop failures on my Nehalem box: aldebaran:/home/mingo/linux/linux/Documentation/perf_counter> ./kerneltop KernelTop refresh period: 2 seconds ERROR: failed to keep up with mmap data 10,000 cycles is way too short. What we should do instead on mostly-idle systems is some sort of read/poll timeout, so that we display something every 2 seconds for sure. Cc: Wu Fengguang Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 193e8df1b465f206f8a286202680702e1c153367 Author: Ingo Molnar Date: Mon Mar 23 22:23:16 2009 +0100 perf_counter tools: fix build warning in kerneltop.c Fix: kerneltop.c: In function ‘record_ip’: kerneltop.c:1005: warning: format ‘%016llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ Cc: Wu Fengguang Cc: Paul Mackerras Acked-by: Peter Zijlstra Orig-LKML-Reference: <20090323172417.677932499@chello.nl> Signed-off-by: Ingo Molnar commit 383c5f8cd7d253be0017d8d5a39cbb78aaf70206 Author: Ingo Molnar Date: Mon Mar 23 21:49:25 2009 +0100 perf_counter tools: tidy up in-kernel dependencies Remove now unified perfstat.c and perf_counter.h, and link to the in-kernel perf_counter.h. Cc: Wu Fengguang Cc: Paul Mackerras Acked-by: Peter Zijlstra Orig-LKML-Reference: <20090323172417.677932499@chello.nl> Signed-off-by: Ingo Molnar commit bcbcb37cdb67d8100acfa66df40c4d636c28c4d1 Author: Peter Zijlstra Date: Mon Mar 23 18:22:12 2009 +0100 perf_counter tools: use mmap() output update kerneltop to use the mmap() output to gather overflow information Signed-off-by: Peter Zijlstra Cc: Wu Fengguang Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.677932499@chello.nl> Signed-off-by: Ingo Molnar commit 803d4f3980f6e220b27311a283aab0a4d68b6709 Author: Peter Zijlstra Date: Mon Mar 23 18:22:11 2009 +0100 perf_counter tools: update to new syscall ABI update the kerneltop userspace to work with the latest syscall ABI Signed-off-by: Peter Zijlstra Cc: Wu Fengguang Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.559643732@chello.nl> Signed-off-by: Ingo Molnar commit 7b732a75047738e4f85438ed2f9cd34bf5f2a19a Author: Peter Zijlstra Date: Mon Mar 23 18:22:10 2009 +0100 perf_counter: new output ABI - part 1 Impact: Rework the perfcounter output ABI use sys_read() only for instant data and provide mmap() output for all async overflow data. The first mmap() determines the size of the output buffer. The mmap() size must be a PAGE_SIZE multiple of 1+pages, where pages must be a power of 2 or 0. Further mmap()s of the same fd must have the same size. Once all maps are gone, you can again mmap() with a new size. In case of 0 extra pages there is no data output and the first page only contains meta data. When there are data pages, a poll() event will be generated for each full page of data. Furthermore, the output is circular. This means that although 1 page is a valid configuration, its useless, since we'll start overwriting it the instant we report a full page. Future work will focus on the output format (currently maintained) where we'll likey want each entry denoted by a header which includes a type and length. Further future work will allow to splice() the fd, also containing the async overflow data -- splice() would be mutually exclusive with mmap() of the data. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.470536358@chello.nl> Signed-off-by: Ingo Molnar commit b09d2501ed3d294619cbfbcf828ad39324d0e548 Author: H. Peter Anvin Date: Wed Apr 1 17:21:56 2009 -0700 mutex: drop "inline" from mutex_lock() inside kernel/mutex.c Impact: build fix mutex_lock() is was defined inline in kernel/mutex.c, but wasn't declared so not in . This didn't cause a problem until checkin 3a2d367d9aabac486ac4444c6c7ec7a1dab16267 added the atomic_dec_and_mutex_lock() inline in between declaration and definion. This broke building with CONFIG_ALLOW_WARNINGS=n, e.g. make allnoconfig. Either from the source code nor the allnoconfig binary output I cannot find any internal references to mutex_lock() in kernel/mutex.c, so presumably this "inline" is now-useless legacy. Cc: Eric Paris Cc: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: Signed-off-by: H. Peter Anvin commit 9ab772cd535c4b256a577eae516f9c7462346b2d Author: Eric Paris Date: Mon Mar 23 18:22:09 2009 +0100 mutex: add atomic_dec_and_mutex_lock() Much like the atomic_dec_and_lock() function in which we take an hold a spin_lock if we drop the atomic to 0 this function takes and holds the mutex if we dec the atomic to 0. Signed-off-by: Eric Paris Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.410913479@chello.nl> Signed-off-by: Ingo Molnar commit 37d81828385f8ff823caaaf1a83e72d065b6cfa1 Author: Paul Mackerras Date: Mon Mar 23 18:22:08 2009 +0100 perf_counter: add an mmap method to allow userspace to read hardware counters Impact: new feature giving performance improvement This adds the ability for userspace to do an mmap on a hardware counter fd and get access to a read-only page that contains the information needed to translate a hardware counter value to the full 64-bit counter value that would be returned by a read on the fd. This is useful on architectures that allow user programs to read the hardware counters, such as PowerPC. The mmap will only succeed if the counter is a hardware counter monitoring the current process. On my quad 2.5GHz PowerPC 970MP machine, userspace can read a counter and translate it to the full 64-bit value in about 30ns using the mmapped page, compared to about 830ns for the read syscall on the counter, so this does give a significant performance improvement. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <20090323172417.297057964@chello.nl> Signed-off-by: Ingo Molnar commit 96f6d4444302bb2ea2cf409529eef816462f6ce0 Author: Peter Zijlstra Date: Mon Mar 23 18:22:07 2009 +0100 perf_counter: avoid recursion Tracepoint events like lock_acquire and software counters like pagefaults can recurse into the perf counter code again, avoid that. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.152096433@chello.nl> Signed-off-by: Ingo Molnar commit f4a2deb4860497f4332cf6a1acddab3dd628ddf0 Author: Peter Zijlstra Date: Mon Mar 23 18:22:06 2009 +0100 perf_counter: remove the event config bitfields Since the bitfields turned into a bit of a mess, remove them and rely on good old masks. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Orig-LKML-Reference: <20090323172417.059499915@chello.nl> Signed-off-by: Ingo Molnar commit af9522cf133e9be6da8525a46a9ed7e7659f0e1a Author: Wu Fengguang Date: Fri Mar 20 10:08:10 2009 +0800 perf_counter tools: when no command is feed to perfstat, display help and exit Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit dda7c02f33833bfa9412ba6f0e410b0a18b42c88 Author: Wu Fengguang Date: Fri Mar 20 10:08:09 2009 +0800 perf_counter tools: cut down default count for cpu-cycles In my system, it takes kerneltop dozens of minutes to show up usable numbers. Make the default count 100 times smaller fixed this long startup latency. I'm not sure if it's the right solution though. Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 3ab8d792b1348eaabfe550ba60902d781d160dd4 Author: Wu Fengguang Date: Fri Mar 20 10:08:08 2009 +0800 perf_counter tools: fix event_id type Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit ef45fa9e6c1694d3e8063f39749097a6e496b12c Author: Wu Fengguang Date: Fri Mar 20 10:08:07 2009 +0800 perf_counter tools: fix comment for sym_weight() Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit f7524bda8be8be98db356d6a83ac1da451ecdb2e Author: Wu Fengguang Date: Fri Mar 20 10:08:06 2009 +0800 perf_counter tools: move remaining code into kerneltop.c - perfstat.c can be safely removed now - perfstat: -s => -a for system wide accounting - kerneltop: add -S/--stat for perfstat mode - minor adjustments to kerneltop --help, perfstat --help Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit e3908612d93dff9d7746d85d37c42593254bf282 Author: Wu Fengguang Date: Fri Mar 20 10:08:05 2009 +0800 perf_counter tools: Reuse event_name() in kerneltop - can handle sw counters now - the outputs will look slightly different Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 95bb3be1b3ca4a71cc168787b675d5b7852fc6be Author: Wu Fengguang Date: Fri Mar 20 10:08:04 2009 +0800 perf_counter tools: support symbolic event names in kerneltop - kerneltop: --event_id => --event - kerneltop: can accept SW event types now - perfstat: it used to implicitly add event -2(task-clock), the new code no longer does this. Shall we? Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit f49012fad4ed2231c7380c0b1901122242b3eab0 Author: Wu Fengguang Date: Fri Mar 20 10:08:03 2009 +0800 perf_counter tools: Move perfstat supporting code into perfcounters.h Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit cea92ce5b07078cd62c4712d51390b09a43dba2e Author: Wu Fengguang Date: Fri Mar 20 10:08:02 2009 +0800 perf_counter tools: Merge common code into perfcounters.h kerneltop's MAX_COUNTERS is increased from 8 to 64(the value used by perfstat). Signed-off-by: Wu Fengguang Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit e0143bad9dbf2a8fad4c5430562bceba196b66ea Author: Ingo Molnar Date: Mon Mar 23 21:29:59 2009 +0100 perf_counter: add sample user-space to Documentation/perf_counter/ Initial version of kerneltop.c and perfstat.c. Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 6f9f791eb53b56097cd311a1a5517a8e89bdaf35 Author: Ingo Molnar Date: Mon Mar 23 21:26:52 2009 +0100 perf_counter: create Documentation/perf_counter/ and move perfcounters.txt there We'll have more files in that directory, prepare for that. Acked-by: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 9aaa131a279834dff75c290c91f0058f62d72d46 Author: Paul Mackerras Date: Sat Mar 21 15:31:47 2009 +1100 perf_counter: fix type/event_id layout on big-endian systems Impact: build fix for powerpc Commit db3a944aca35ae61 ("perf_counter: revamp syscall input ABI") expanded the hw_event.type field into a union of structs containing bitfields. In particular it introduced a type field and a raw_type field, with the intention that the 1-bit raw_type field should overlay the most-significant bit of the 8-bit type field, and in fact perf_counter_alloc() now assumes that (or at least, assumes that raw_type doesn't overlay any of the bits that are 1 in the values of PERF_TYPE_{HARDWARE,SOFTWARE,TRACEPOINT}). Unfortunately this is not true on big-endian systems such as PowerPC, where bitfields are laid out from left to right, i.e. from most significant bit to least significant. This means that setting hw_event.type = PERF_TYPE_SOFTWARE will set hw_event.raw_type to 1. This fixes it by making the layout depend on whether or not __BIG_ENDIAN_BITFIELD is defined. It's a bit ugly, but that's what we get for using bitfields in a user/kernel ABI. Also, that commit didn't fix up some places in arch/powerpc/kernel/ perf_counter.c where hw_event.raw and hw_event.event_id were used. This fixes them too. Signed-off-by: Paul Mackerras commit db4fb5acf20295063d1d5105e67724eb51440207 Author: Paul Mackerras Date: Thu Mar 19 20:26:20 2009 +0100 perf_counter: powerpc: clean up perc_counter_interrupt Impact: cleanup This updates the powerpc perf_counter_interrupt following on from the "perf_counter: unify irq output code" patch. Since we now use the generic perf_counter_output code, which sets the perf_counter_pending flag directly, we no longer need the need_wakeup variable. This removes need_wakeup and makes perf_counter_interrupt use get_perf_counter_pending() instead. Signed-off-by: Paul Mackerras Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Orig-LKML-Reference: <20090319194234.024464535@chello.nl> Signed-off-by: Ingo Molnar commit 0322cd6ec504b0bf08ca7b2c3d7f43bda37d79c9 Author: Peter Zijlstra Date: Thu Mar 19 20:26:19 2009 +0100 perf_counter: unify irq output code Impact: cleanup Having 3 slightly different copies of the same code around does nobody any good. First step in revamping the output format. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.929962222@chello.nl> Signed-off-by: Ingo Molnar commit b8e83514b64577b48bfb794fe85fcde40a9343ca Author: Peter Zijlstra Date: Thu Mar 19 20:26:18 2009 +0100 perf_counter: revamp syscall input ABI Impact: modify ABI The hardware/software classification in hw_event->type became a little strained due to the addition of tracepoint tracing. Instead split up the field and provide a type field to explicitly specify the counter type, while using the event_id field to specify which event to use. Raw counters still work as before, only the raw config now goes into raw_event. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.836807573@chello.nl> Signed-off-by: Ingo Molnar commit e077df4f439681e43f0db8255b2d215b342ebdc6 Author: Peter Zijlstra Date: Thu Mar 19 20:26:17 2009 +0100 perf_counter: hook up the tracepoint events Impact: new perfcounters feature Enable usage of tracepoints as perf counter events. tracepoint event ids can be found in /debug/tracing/event/*/*/id and (for now) are represented as -65536+id in the type field. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.744044174@chello.nl> Signed-off-by: Ingo Molnar commit f16009527595ee562308653bc3d0039166d2ab15 Author: Peter Zijlstra Date: Thu Mar 19 20:26:16 2009 +0100 perf_counter: fix up counter free paths Impact: fix crash during perfcounters use I found another counter free path, create a free_counter() call to accomodate generic tear-down. Fixes an RCU bug. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.652078652@chello.nl> Signed-off-by: Ingo Molnar commit 4a0deca657f3dbb8a707b5dc8f173beec01e7ed2 Author: Peter Zijlstra Date: Thu Mar 19 20:26:12 2009 +0100 perf_counter: generic context switch event Impact: cleanup Use the generic software events for context switches. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.283522645@chello.nl> Signed-off-by: Ingo Molnar commit 01ef09d9ffb5ce9f8d62d1e5206da3d5ca612acc Author: Peter Zijlstra Date: Thu Mar 19 20:26:11 2009 +0100 perf_counter: fix uninitialized usage of event_list Impact: fix boot crash When doing the generic context switch event I ran into some early boot hangs, which were caused by inf func recursion (event, fault, event, fault). I eventually tracked it down to event_list not being initialized at the time of the first event. Fix this. Signed-off-by: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Orig-LKML-Reference: <20090319194233.195392657@chello.nl> Signed-off-by: Ingo Molnar commit b6c5a71da1477d261bc36254fe1f20d32b57598d Author: Paul Mackerras Date: Mon Mar 16 21:00:00 2009 +1100 perf_counter: abstract wakeup flag setting in core to fix powerpc build Impact: build fix for powerpc Commit bd753921015e7905 ("perf_counter: software counter event infrastructure") introduced a use of TIF_PERF_COUNTERS into the core perfcounter code. This breaks the build on powerpc because we use a flag in a per-cpu area to signal wakeups on powerpc rather than a thread_info flag, because the thread_info flags have to be manipulated with atomic operations and are thus slower than per-cpu flags. This fixes the by changing the core to use an abstracted set_perf_counter_pending() function, which is defined on x86 to set the TIF_PERF_COUNTERS flag and on powerpc to set the per-cpu flag (paca->perf_counter_pending). It changes the previous powerpc definition of set_perf_counter_pending to not take an argument and adds a clear_perf_counter_pending, so as to simplify the definition on x86. On x86, set_perf_counter_pending() is defined as a macro. Defining it as a static inline in arch/x86/include/asm/perf_counters.h causes compile failures because gets included early in , and the definitions of set_tsk_thread_flag etc. are therefore not available in . (On powerpc this problem is avoided by defining set_perf_counter_pending etc. in .) Signed-off-by: Paul Mackerras commit 7bb497bd885eedd0f56dfe3cc1b5ff20710d33b9 Author: Ingo Molnar Date: Wed Mar 18 08:59:21 2009 +0100 perf_counter: fix crash on perfmon v1 systems Impact: fix boot crash on Intel Perfmon Version 1 systems Intel Perfmon v1 does not support the global MSRs, nor does it offer the generalized MSR ranges. So support v2 and later CPUs only. Also mark pmc_ops as read-mostly - to avoid false cacheline sharing. Cc: Paul Mackerras Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4e193bd4dfdc983d12969b51439b4a1fbaf2daad Author: Tim Blechmann Date: Sat Mar 14 14:29:25 2009 +0100 perf_counter: include missing header Impact: build fix In order to compile a kernel with performance counter patches, has to be included to provide the declaration of struct pt_regs *get_irq_regs(void); [ This bug was masked by unrelated x86 header file changes in the x86 tree, but occurs in the tip:perfcounters/core standalone tree. ] Signed-off-by: Tim Blechmann Orig-LKML-Reference: <20090314142925.49c29c17@thinkpad> Signed-off-by: Ingo Molnar commit 039fc91e064b81c2820ff16c304be5aba35fd126 Author: Peter Zijlstra Date: Fri Mar 13 16:43:47 2009 +0100 perf_counter: fix hrtimer sampling Impact: fix deadlock with perfstat Fix for the perfstat fubar.. We cannot unconditionally call hrtimer_cancel() without ever having done hrtimer_init() on the thing. Signed-off-by: Peter Zijlstra Orig-LKML-Reference: <1236959027.22447.149.camel@twins> Signed-off-by: Ingo Molnar commit 592903cdcbf606a838056bae6d03fc557806c914 Author: Peter Zijlstra Date: Fri Mar 13 12:21:36 2009 +0100 perf_counter: add an event_list I noticed that the counter_list only includes top-level counters, thus perf_swcounter_event() will miss sw-counters in groups. Since perf_swcounter_event() also wants an RCU safe list, create a new event_list that includes all counters and uses RCU list ops and use call_rcu to free the counter structure. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d6d020e9957745c61285ef3da9f294c5e6801f0f Author: Peter Zijlstra Date: Fri Mar 13 12:21:35 2009 +0100 perf_counter: hrtimer based sampling for software time events Use hrtimers to profile timer based sampling for the software time counters. This allows platforms without hardware counter support to still perform sample based profiling. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ac17dc8e58f3069ea895cfff963adf98ff3cf6b2 Author: Peter Zijlstra Date: Fri Mar 13 12:21:34 2009 +0100 perf_counter: provide major/minor page fault software events Provide separate sw counters for major and minor page faults. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7dd1fcc258b65da718f01e4684a7b9244501a9fb Author: Peter Zijlstra Date: Fri Mar 13 12:21:33 2009 +0100 perf_counter: provide pagefault software events We use the generic software counter infrastructure to provide page fault events. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 15dbf27cc18559a14e99609f78678aa86b9c6ff1 Author: Peter Zijlstra Date: Fri Mar 13 12:21:32 2009 +0100 perf_counter: software counter event infrastructure Provide generic software counter infrastructure that supports software events. This will be used to allow sample based profiling based on software events such as pagefaults. The current infrastructure can only provide a count of such events, no place information. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 82bae4f8c2fd64a2bb1e2e72c508853ed2b4a299 Author: Peter Zijlstra Date: Fri Mar 13 12:21:31 2009 +0100 perf_counter: x86: use ULL postfix for 64bit constants Fix a build warning on 32bit machines by explicitly marking the constants as 64-bit. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 60b3df9c1e24a18aabb412da9905208c5f04ebea Author: Peter Zijlstra Date: Fri Mar 13 12:21:30 2009 +0100 perf_counter: add comment to barrier We need to ensure the enabled=0 write happens before we start disabling the actual counters, so that a pcm_amd_enable() will not enable one underneath us. I think the race is impossible anyway, we always balance the ops within any one context and perform enable() with IRQs disabled. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 755642322aa66fbc5421a35fd3e1733f73e20083 Author: Peter Zijlstra Date: Fri Mar 13 12:21:29 2009 +0100 perf_counter: use list_move_tail() Instead of del/add use a move list-op. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 595258aaeac4cc6e187b98b1bf29bb176febe763 Author: Peter Zijlstra Date: Fri Mar 13 12:21:28 2009 +0100 perf_counter: x86: fix 32-bit irq_period assumption No need to assume the irq_period is 32bit. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f541ae326fa120fa5c57433e4d9a133df212ce41 Merge: e255357 0221c81 Author: Ingo Molnar Date: Mon Apr 6 09:02:57 2009 +0200 Merge branch 'linus' into perfcounters/core-v2 Merge reason: we have gathered quite a few conflicts, need to merge upstream Conflicts: arch/powerpc/kernel/Makefile arch/x86/ia32/ia32entry.S arch/x86/include/asm/hardirq.h arch/x86/include/asm/unistd_32.h arch/x86/include/asm/unistd_64.h arch/x86/kernel/cpu/common.c arch/x86/kernel/irq.c arch/x86/kernel/syscall_table_32.S arch/x86/mm/iomap_32.c include/linux/sched.h kernel/Makefile Signed-off-by: Ingo Molnar commit 2b7dbbe0c9491e62b50978d1615193bec33a8291 Author: Daniel Glöckner Date: Sat Mar 28 19:47:02 2009 +0100 ASoC: s6105 IP camera machine specific ASoC code This patch adds machine specific code for the audio part of the Stretch s6105 IP camera reference design. The device uses the tlv320aic31(01) codec to generate the clock for both I2S ports of the soc. While the master clock is generated by a configurable PLL chip, the code assumes the factory default settings. An additional kcontrol has been added to handle the special routing of the board, connecting both HPLCOM and HPROUT to the same pin of the audio jack. One of these should always be switched off. Signed-off-by: Daniel Glöckner Signed-off-by: Mark Brown commit 4b166da939012905f4c36fedada62067db31948e Author: Daniel Glöckner Date: Sat Mar 28 19:47:01 2009 +0100 ASoC: Add driver for s6000 I2S interface This patch adds a driver for the I2S interface found on Stretch s6000 family processors. Signed-off-by: Daniel Glöckner Signed-off-by: Mark Brown commit 31c9a24ec82926fcae49483e53566d231e705057 Author: Paul E. McKenney Date: Thu Apr 2 21:06:25 2009 -0700 RCU: make treercu be default Impact: switch default config from CLASSIC_RCU to TREE_RCU Given that I have not gotten any complaints or bug reports on treercu recently, this patch makes it be the default. There are a number of other defconfig files that explicitly call out CLASSIC_RCU, but which have comment headers saying not to edit them. Probably holdovers from one of the flavors of "make config", but... Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: dipankar@in.ibm.com Cc: niv@us.ibm.com Cc: manfred@colorfullife.com Cc: peterz@infradead.org LKML-Reference: <20090403040625.GA9473@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b5f22a59c0356655a501190959db9f7f5dd07e3f Author: Serge E. Hallyn Date: Thu Apr 2 18:47:14 2009 -0500 don't raise all privs on setuid-root file with fE set (v2) Distributions face a backward compatibility problem with starting to use file capabilities. For instance, removing setuid root from ping and doing setcap cap_net_raw=pe means that booting with an older kernel or one compiled without file capabilities means ping won't work for non-root users. In order to replace the setuid root bit on a capability-unaware program, one has to set the effective, or legacy, file capability, which makes the capability effective immediately. This patch uses the legacy bit as a queue to not automatically add full privilege to a setuid-root program. So, with this patch, an ordinary setuid-root program will run with privilege. But if /bin/ping has both setuid-root and cap_net_raw in fP and fE, then ping (when run by non-root user) will not run with only cap_net_raw. Changelog: Apr 2 2009: Print a message once when such a binary is loaded, as per James Morris' suggestion. Apr 2 2009: Fix the condition to only catch uid!=0 && euid==0. Signed-off-by: Serge E. Hallyn Acked-by: Casey Schaufler Signed-off-by: James Morris commit 3d43321b7015387cfebbe26436d0e9d299162ea1 Author: Kees Cook Date: Thu Apr 2 15:49:29 2009 -0700 modules: sysctl to block module loading Implement a sysctl file that disables module-loading system-wide since there is no longer a viable way to remove CAP_SYS_MODULE after the system bounding capability set was removed in 2.6.25. Value can only be set to "1", and is tested only if standard capability checks allow CAP_SYS_MODULE. Given existing /dev/mem protections, this should allow administrators a one-way method to block module loading after initial boot-time module loading has finished. Signed-off-by: Kees Cook Acked-by: Serge Hallyn Signed-off-by: James Morris commit 53152f957d4a5dfd537d17c823afeb1a2c03753e Author: Ian Campbell Date: Thu Apr 2 13:24:28 2009 +0100 xen: honour VCPU availability on boot If a VM is booted with offline VCPUs then unplug them during boot. Determining the availability of a VCPU requires access to XenStore which is not available at the point smp_prepare_cpus() is called, therefore we bring up all VCPUS initially and unplug the offline ones as soon as XenStore becomes available. Signed-off-by: Ian Campbell commit 8a6f83afd0c5355db6d11394a798e94950306239 Author: KaiGai Kohei Date: Wed Apr 1 10:07:57 2009 +0900 Permissive domain in userspace object manager This patch enables applications to handle permissive domain correctly. Since the v2.6.26 kernel, SELinux has supported an idea of permissive domain which allows certain processes to work as if permissive mode, even if the global setting is enforcing mode. However, we don't have an application program interface to inform what domains are permissive one, and what domains are not. It means applications focuses on SELinux (XACE/SELinux, SE-PostgreSQL and so on) cannot handle permissive domain correctly. This patch add the sixth field (flags) on the reply of the /selinux/access interface which is used to make an access control decision from userspace. If the first bit of the flags field is positive, it means the required access control decision is on permissive domain, so application should allow any required actions, as the kernel doing. This patch also has a side benefit. The av_decision.flags is set at context_struct_compute_av(). It enables to check required permissions without read_lock(&policy_rwlock). Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Acked-by: Eric Paris -- security/selinux/avc.c | 2 +- security/selinux/include/security.h | 4 +++- security/selinux/selinuxfs.c | 4 ++-- security/selinux/ss/services.c | 30 +++++------------------------- 4 files changed, 11 insertions(+), 29 deletions(-) Signed-off-by: James Morris commit 1943689c47acaad7fc7f3dae8d35ef82de5d48f4 Merge: 6d02c42 0a4666b c6a960c 818fd20 f078370 Author: Jeremy Fitzhardinge Date: Mon Mar 30 10:00:45 2009 -0700 Merge branches 'for-linus/xen/dev-evtchn', 'for-linus/xen/xenbus', 'for-linus/xen/xenfs' and 'for-linus/xen/sys-hypervisor' into for-linus/xen/master * for-linus/xen/dev-evtchn: xen/dev-evtchn: clean up locking in evtchn xen: export ioctl headers to userspace xen: add /dev/xen/evtchn driver xen: add irq_from_evtchn * for-linus/xen/xenbus: xen/xenbus: export xenbus_dev_changed xen: use device model for suspending xenbus devices xen: remove suspend_cancel hook * for-linus/xen/xenfs: xen: add "capabilities" file * for-linus/xen/sys-hypervisor: xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet xen/sys/hypervisor: change writable_pt to features xen: add /sys/hypervisor support Conflicts: drivers/xen/Makefile commit 818fd20673df82031e604bb784d836f1fc2e2451 Author: Jeremy Fitzhardinge Date: Fri Feb 6 18:46:47 2009 -0800 xen: add "capabilities" file The xenfs capabilities file allows usermode to determine what capabilities the domain has. The only one at present is "control_d" in a privileged domain. Signed-off-by: Jeremy Fitzhardinge commit f0783708bf63a2827863cf2be57c08a24843e6bd Author: Ian Campbell Date: Wed Mar 11 10:19:54 2009 +0000 xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet I needed this to compile since there is no kexec yet in pvops kernel CC drivers/xen/sys-hypervisor.o drivers/xen/sys-hypervisor.c: In function 'hyper_sysfs_init': drivers/xen/sys-hypervisor.c:405: error: 'vmcoreinfo_size_xen' undeclared (first use in this function) drivers/xen/sys-hypervisor.c:405: error: (Each undeclared identifier is reported only once drivers/xen/sys-hypervisor.c:405: error: for each function it appears in.) drivers/xen/sys-hypervisor.c:406: error: implicit declaration of function 'xen_sysfs_vmcoreinfo_init' drivers/xen/sys-hypervisor.c: In function 'hyper_sysfs_exit': drivers/xen/sys-hypervisor.c:433: error: 'vmcoreinfo_size_xen' undeclared (first use in this function) drivers/xen/sys-hypervisor.c:434: error: implicit declaration of function 'xen_sysfs_vmcoreinfo_destroy' Signed-off-by: Ian Campbell commit a649b720614d5675dc402bef75a92576143fede7 Author: Jeremy Fitzhardinge Date: Tue Mar 10 17:17:41 2009 -0700 xen/sys/hypervisor: change writable_pt to features /sys/hypervisor/properties/writable_pt was misnamed. Rename to features, expressed as a bit array in hex. Signed-off-by: Jeremy Fitzhardinge commit cff7e81b3dd7c25cd2248cd7a04c5764552d5d55 Author: Jeremy Fitzhardinge Date: Tue Mar 10 14:39:59 2009 -0700 xen: add /sys/hypervisor support Adds support for Xen info under /sys/hypervisor. Taken from Novell 2.6.27 backport tree. Signed-off-by: Jeremy Fitzhardinge commit c6a960ce8858f20036cc3afc3b9422670d0d9021 Author: Jeremy Fitzhardinge Date: Mon Feb 9 12:05:53 2009 -0800 xen/xenbus: export xenbus_dev_changed Signed-off-by: Jeremy Fitzhardinge commit de5b31bd47de7e6f41be2e271318dbc8f1af354d Author: Ian Campbell Date: Mon Feb 9 12:05:50 2009 -0800 xen: use device model for suspending xenbus devices Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit a1ce1be578365a4da7e7d7db4812539d2d5da763 Author: Ian Campbell Date: Mon Feb 9 12:05:50 2009 -0800 xen: remove suspend_cancel hook Remove suspend_cancel hook from xenbus_driver, in preparation for using the device model for suspending. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit 0a4666b539a0e896ec4e8396a034a479e3573125 Author: Jeremy Fitzhardinge Date: Thu Feb 12 13:03:24 2009 -0800 xen/dev-evtchn: clean up locking in evtchn Define a new per_user_data mutex to serialize bind/unbind operations to prevent them from racing with each other. Fix error returns and don't do a bind while holding a spinlock. Signed-off-by: Jeremy Fitzhardinge commit c5cfef0f79cacc3aa438fc28f4747f0d10c54d0d Author: Ian Campbell Date: Fri Feb 6 19:21:19 2009 -0800 xen: export ioctl headers to userspace Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit f7116284c734f3a47180cd9c907944a1837ccb3c Author: Ian Campbell Date: Fri Feb 6 19:21:19 2009 -0800 xen: add /dev/xen/evtchn driver This driver is used by application which wish to receive notifications from the hypervisor or other guests via Xen's event channel mechanism. In particular it is used by the xenstore daemon in domain 0. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit d4c045364d3107603187f21a56ec231e74d26441 Author: Ian Campbell Date: Fri Feb 6 19:20:31 2009 -0800 xen: add irq_from_evtchn Given an evtchn, return the corresponding irq. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit 6d02c42698f99eccb290ac53d4f10ca883b9f90c Author: Jeremy Fitzhardinge Date: Sun Mar 29 22:57:15 2009 -0700 xen: clean up gate trap/interrupt constants Use GATE_INTERRUPT/TRAP rather than 0xe/f. Signed-off-by: Jeremy Fitzhardinge commit 707ebbc81c61eb480d8a51ca61e355e240df1d32 Author: Jeremy Fitzhardinge Date: Fri Mar 27 11:29:02 2009 -0700 xen: set _PAGE_NX in __supported_pte_mask before pagetable construction Some 64-bit machines don't support the NX flag in ptes. Check for NX before constructing the kernel pagetables. Signed-off-by: Jeremy Fitzhardinge commit 1e6fcf840e11ceff8a656a678c6e4b0560a98e08 Author: Ian Campbell Date: Wed Mar 25 17:46:42 2009 +0000 xen: resume interrupts before system devices. Impact: bugfix Xen domain restore Otherwise the first timer interrupt after resume is missed and we never get another. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge commit 8de07bbdede03598801cf33ab23dcbcd28a918d2 Author: Jeremy Fitzhardinge Date: Wed Mar 4 17:36:57 2009 -0800 xen/mmu: weaken flush_tlb_other test Impact: fixes crashing bug There's no particular problem with getting an empty cpu mask, so just shortcut-return if we get one. Avoids crash reported by Christophe Saout Signed-off-by: Jeremy Fitzhardinge commit 4185f35404dc96f8525298c7c548aee419f3b3f4 Author: Jeremy Fitzhardinge Date: Tue Mar 17 13:30:55 2009 -0700 xen/mmu: some early pagetable cleanups 1. make sure early-allocated ptes are pinned, so they can be later unpinned 2. don't pin pmd+pud, just make them RO 3. scatter some __inits around Signed-off-by: Jeremy Fitzhardinge commit 5f241e65f2be4661a33e1937e1c829252a80b2b8 Author: Jeremy Fitzhardinge Date: Mon Mar 16 17:08:48 2009 -0700 x86-64: non-paravirt systems always has PSE and PGE A paravirtualized system may not have PSE or PGE available to guests, so they are not required features. However, without paravirt we can assume that any x86-64 implementation will have them available. Signed-off-by: Jeremy Fitzhardinge commit 1e7449730853e7c9ae9a2458b2ced7ba12559a0e Author: Alex Nixon Date: Mon Feb 9 12:05:46 2009 -0800 Xen: Add virt_to_pfn helper function Signed-off-by: Alex Nixon commit 68509cdcde6583ee1a9542899d1270449c7d5903 Author: Jeremy Fitzhardinge Date: Sun Mar 8 03:59:04 2009 -0700 x86-64: remove PGE from must-have feature list PGE may not be available when running paravirtualized, so test the cpuid bit before using it. Signed-off-by: Jeremy Fitzhardinge commit e826fe1ba1563a9272345da8e3279a930ac160a7 Author: Jeremy Fitzhardinge Date: Sat Mar 7 17:09:27 2009 -0800 xen: mask XSAVE from cpuid Xen leaves XSAVE set in cpuid, but doesn't allow cr4.OSXSAVE to be set. This confuses the kernel and it ends up crashing on an xsetbv instruction. At boot time, try to set cr4.OSXSAVE, and mask XSAVE out of cpuid it we can't. This will produce a spurious error from Xen, but allows us to support XSAVE if/when Xen does. This also factors out the cpuid mask decisions to boot time. Signed-off-by: Jeremy Fitzhardinge commit e9e2d1ffcfdb38bed11a3064aa74bea9ee38ed80 Author: Hannes Eder Date: Thu Mar 5 20:13:57 2009 +0100 NULL noise: arch/x86/xen/smp.c Fix this sparse warnings: arch/x86/xen/smp.c:316:52: warning: Using plain integer as NULL pointer arch/x86/xen/smp.c:421:60: warning: Using plain integer as NULL pointer Signed-off-by: Hannes Eder Signed-off-by: Jeremy Fitzhardinge commit b4b7e58590d0e94ed78bd6be1aa163caba7b6c74 Author: Jeremy Fitzhardinge Date: Wed Mar 4 16:34:27 2009 -0800 xen: remove xen_load_gdt debug Don't need the noise. Signed-off-by: Jeremy Fitzhardinge commit 3ce5fa7ebff74b6a4dc5fdcdc22e6979f5a4ff85 Author: Jeremy Fitzhardinge Date: Wed Mar 4 15:26:00 2009 -0800 xen: make xen_load_gdt simpler Remove use of multicall machinery which is unused (gdt loading is never performance critical). This removes the implicit use of percpu variables, which simplifies understanding how the percpu code's use of load_gdt interacts with this code. Signed-off-by: Jeremy Fitzhardinge commit 6ed6bf428aff64fe37cdc54b239d598fee6016f1 Author: Jeremy Fitzhardinge Date: Wed Mar 4 13:02:18 2009 -0800 xen: clean up xen_load_gdt Makes the logic a bit clearer. Signed-off-by: Jeremy Fitzhardinge commit 7571a60446030d2576d881438447e86a0755a83b Author: Jeremy Fitzhardinge Date: Fri Feb 27 15:34:59 2009 -0800 xen: split construction of p2m mfn tables from registration Build the p2m_mfn_list_list early with the rest of the p2m table, but register it later when the real shared_info structure is in place. Signed-off-by: Jeremy Fitzhardinge commit a2bcd4731f77cb77ae4b5e4a3d7f5471cf346c33 Author: Ingo Molnar Date: Sun Mar 29 23:47:48 2009 +0200 x86/mm: further cleanups of fault.c's include file section Impact: cleanup Eliminate more than 20 unnecessary #include lines in fault.c Also fix include file dependency bug in asm/traps.h. (this was masked before, by implicit inclusion) Signed-off-by: Ingo Molnar LKML-Reference: Acked-by: H. Peter Anvin commit 59d7187142bbe9b404a403ed0f874d3227305f26 Author: Jeremy Fitzhardinge Date: Thu Feb 26 15:48:33 2009 -0800 xen: separate p2m allocation from setting When doing very early p2m setting, we need to separate setting from allocation, so split things up accordingly. Signed-off-by: Jeremy Fitzhardinge commit 5caecb9432428241d0c641897f07ff4003f1b55f Author: Jeremy Fitzhardinge Date: Fri Feb 20 23:01:26 2009 -0800 xen: disable preempt for leave_lazy_mmu xen_mc_flush() requires preemption to be disabled for its own sanity, so disable it while we're flushing. Signed-off-by: Jeremy Fitzhardinge commit ab2f75f0b760d2b0c9a875b669a1b51dce02c85a Author: Jeremy Fitzhardinge Date: Wed Feb 18 00:18:50 2009 -0800 x86/paravirt: use percpu_ rather than __get_cpu_var Impact: minor optimisation percpu_read/write is a slightly more direct way of getting to percpu data. Signed-off-by: Jeremy Fitzhardinge commit 252a6bf2a3a7e7add56b17d48aecf3f3ef213103 Author: Jeremy Fitzhardinge Date: Wed Feb 18 00:11:28 2009 -0800 mm: allow preemption in apply_to_pte_range Impact: allow preemption in apply_to_pte_range updates to init_mm Preemption is now allowed for lazy mmu mode, so don't disable it for the inner loop of apply_to_pte_range. This only applies when doing updates to init_mm; user pagetables are still modified under the pte lock, so preemption is disabled anyway. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit 2829b449276aed45f3d649efb21e3418e39dd5d1 Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:53:19 2009 -0800 x86/paravirt: allow preemption with lazy mmu mode Impact: remove obsolete checks, simplification Lift restrictions on preemption with lazy mmu mode, as it is now allowed. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit 224101ed69d3fbb486868e0f6e0f9fa37302efb4 Author: Jeremy Fitzhardinge Date: Wed Feb 18 11:18:57 2009 -0800 x86/paravirt: finish change from lazy cpu to context switch start/end Impact: fix lazy context switch API Pass the previous and next tasks into the context switch start end calls, so that the called functions can properly access the task state (esp in end_context_switch, in which the next task is not yet completely current). Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit b407fc57b815b2016186220baabc76cc8264206e Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:46:21 2009 -0800 x86/paravirt: flush pending mmu updates on context switch Impact: allow preemption during lazy mmu updates If we're in lazy mmu mode when context switching, leave lazy mmu mode, but remember the task's state in TIF_LAZY_MMU_UPDATES. When we resume the task, check this flag and re-enter lazy mmu mode if its set. This sets things up for allowing lazy mmu mode while preemptible, though that won't actually be active until the next change. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit 7fd7d83d49914f03aefffba6aee09032fcd54cce Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:24:03 2009 -0800 x86/pvops: replace arch_enter_lazy_cpu_mode with arch_start_context_switch Impact: simplification, prepare for later changes Make lazy cpu mode more specific to context switching, so that it makes sense to do more context-switch specific things in the callbacks. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra commit b8bcfe997e46150fedcc3f5b26b846400122fdd9 Author: Jeremy Fitzhardinge Date: Tue Feb 17 23:05:19 2009 -0800 x86/paravirt: remove lazy mode in interrupts Impact: simplification, robustness Make paravirt_lazy_mode() always return PARAVIRT_LAZY_NONE when in an interrupt. This prevents interrupt code from accidentally inheriting an outer lazy state, and instead does everything synchronously. Outer batched operations are left deferred. Signed-off-by: Jeremy Fitzhardinge Acked-by: Peter Zijlstra Cc: Thomas Gleixner commit a8a93f3f03b7a8008d720e8d91798efe599d416c Author: Jeremy Fitzhardinge Date: Thu Feb 12 13:45:34 2009 -0800 mm: disable preemption in apply_to_pte_range Impact: bugfix Lazy mmu mode needs preemption disabled, so if we're apply to init_mm (which doesn't require any pte locks), then explicitly disable preemption. (Do it unconditionally after checking we've successfully done the allocation to simplify the error handling.) Signed-off-by: Jeremy Fitzhardinge commit 34886c8bc590f078d4c0b88f50d061326639198d Author: Steven Rostedt Date: Wed Mar 25 21:00:47 2009 -0400 tracing: add average time in function to function profiler Show the average time in the function (Time / Hit) Function Hit Time Avg -------- --- ---- --- mwait_idle 51 140326.6 us 2751.503 us smp_apic_timer_interrupt 47 3517.735 us 74.845 us schedule 10 2738.754 us 273.875 us __schedule 10 2732.857 us 273.285 us hrtimer_interrupt 47 1896.104 us 40.342 us irq_exit 56 1711.833 us 30.568 us __run_hrtimer 47 1315.589 us 27.991 us tick_sched_timer 47 1138.690 us 24.227 us do_softirq 56 1116.829 us 19.943 us __do_softirq 56 1066.932 us 19.052 us do_IRQ 9 926.153 us 102.905 us Signed-off-by: Steven Rostedt commit 318e0a73c9e41b9a17241829bcd0605a39b87cb9 Author: Steven Rostedt Date: Wed Mar 25 20:06:34 2009 -0400 tracing: remove on the fly allocator from function profiler Impact: safer code The on the fly allocator for the function profiler was to save memory. But at the expense of stability. Although it survived several tests, allocating from the function tracer is just too risky, just to save space. This patch removes the allocator and simply allocates enough entries at start up. Each function gets a profiling structure of 40 bytes. With an average of 20K functions, and this is for each CPU, we have 800K per online CPU. This is not too bad, at least for non-embedded. Signed-off-by: Steven Rostedt commit fb9fb015e92123fa3a8e0c2e2fff491d4a56b470 Author: Steven Rostedt Date: Wed Mar 25 13:26:41 2009 -0400 tracing: clean up tracing profiler Ingo Molnar suggested clean ups for the profiling code. This patch makes those updates. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit a2a16d6a3156ef7309ca7328a20c35df9418e670 Author: Steven Rostedt Date: Tue Mar 24 23:17:58 2009 -0400 function-graph: add option to calculate graph time or not graph time is the time that a function is executing another function. Thus if function A calls B, if graph-time is set, then the time for A includes B. This is the default behavior. But if graph-time is off, then the time spent executing B is subtracted from A. Signed-off-by: Steven Rostedt commit cafb168a1c92e4c9e1731fe3d666c39611762c49 Author: Steven Rostedt Date: Tue Mar 24 20:50:39 2009 -0400 tracing: make the function profiler per cpu Impact: speed enhancement By making the function profiler record in per cpu data we not only get better readings, avoid races, we also do not have to take any locks. Signed-off-by: Steven Rostedt commit 0706f1c48ca8a7ab478090b4e38f2e578ae2bfe0 Author: Steven Rostedt Date: Mon Mar 23 23:12:58 2009 -0400 tracing: adding function timings to function profiler If the function graph trace is enabled, the function profiler will use it to take the timing of the functions. cat /debug/tracing/trace_stat/functions Function Hit Time -------- --- ---- mwait_idle 127 183028.4 us schedule 26 151997.7 us __schedule 31 151975.1 us sys_wait4 2 74080.53 us do_wait 2 74077.80 us sys_newlstat 138 39929.16 us do_path_lookup 179 39845.79 us vfs_lstat_fd 138 39761.97 us user_path_at 153 39469.58 us path_walk 179 39435.76 us __link_path_walk 189 39143.73 us [...] Note the times are skewed due to the function graph tracer not taking into account schedules. Signed-off-by: Steven Rostedt commit 493762fc534c71d11d489f872c4b4a2c61173668 Author: Steven Rostedt Date: Mon Mar 23 17:12:36 2009 -0400 tracing: move function profiler data out of function struct Impact: reduce size of memory in function profiler The function profiler originally introduces its counters into the function records itself. There is 20 thousand different functions on a normal system, and that is adding 20 thousand counters for profiling event when not needed. A normal run of the profiler yields only a couple of thousand functions executed, depending on what is being profiled. This means we have around 18 thousand useless counters. This patch rectifies this by moving the data out of the function records used by dynamic ftrace. Data is preallocated to hold the functions when the profiling begins. Checks are made during profiling to see if more recorcds should be allocated, and they are allocated if it is safe to do so. This also removes the dependency from using dynamic ftrace, and also removes the overhead by having it enabled. Signed-off-by: Steven Rostedt commit bac429f037f1a51a74d62bad6d1518c3be065df3 Author: Steven Rostedt Date: Fri Mar 20 12:50:56 2009 -0400 tracing: add function profiler Impact: new profiling feature This patch adds a function profiler. In debugfs/tracing/ two new files are created. function_profile_enabled - to enable or disable profiling trace_stat/functions - the profiled functions. For example: echo 1 > /debugfs/tracing/function_profile_enabled ./hackbench 50 echo 0 > /debugfs/tracing/function_profile_enabled yields: cat /debugfs/tracing/trace_stat/functions Function Hit -------- --- _spin_lock 10106442 _spin_unlock 10097492 kfree 6013704 _spin_unlock_irqrestore 4423941 _spin_lock_irqsave 4406825 __phys_addr 4181686 __slab_free 4038222 dput 4030130 path_put 4023387 unroll_tree_refs 4019532 [...] The most hit functions are listed first. Functions that are not hit are not listed. This feature depends on and uses dynamic function tracing. When the function profiling is disabled, no overhead occurs. But it still takes up around 300KB to hold the data, thus it is not recomended to keep it enabled for systems low on memory. When a '1' is echoed into the function_profile_enabled file, the counters for is function is reset back to zero. Thus you can see what functions are hit most by different programs. Signed-off-by: Steven Rostedt commit 425480081e936d8725f0d44b8829d699bf088c6b Author: Steven Rostedt Date: Tue Mar 24 13:38:36 2009 -0400 tracing: add handler to trace_stat Currently, if a trace_stat user wants a handle to some private data, the trace_stat infrastructure does not supply a way to do that. This patch passes the trace_stat structure to the start function of the trace_stat code. Signed-off-by: Steven Rostedt commit c78a3956b982418186e40978a51636a2b43221bc Author: Markus Metzger Date: Wed Mar 18 19:27:00 2009 +0100 x86, bts: use atomic memory allocation Ds_request_bts() needs to allocate memory. It uses GFP_KERNEL. Hw-branch-tracer calls ds_request_bts() within on_each_cpu(). Use atomic memory allocation to allow it to be used in that context. Signed-off-by: Markus Metzger LKML-Reference: <20090318192700.A6038@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 79258a354e0c69be94ae2871809a195bf4a647b1 Author: Ingo Molnar Date: Fri Mar 13 12:02:08 2009 +0100 x86, bts: detect size of DS fields, fix Impact: build fix One usage site was missed in the sizeof_field -> sizeof_ptr_field rename. Cc: Markus Metzger LKML-Reference: <20090313104218.A30096@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit e9a22d1fb94050b7d600019c32e6b672d539054b Author: Ingo Molnar Date: Fri Mar 13 11:54:40 2009 +0100 x86, bts: cleanups Impact: cleanup, no code changed Cc: Markus Metzger LKML-Reference: <20090313104218.A30096@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 321bb5e1ac461c04b6a93f795010d6eb01d8c5ca Author: Markus Metzger Date: Fri Mar 13 10:50:27 2009 +0100 x86, hw-branch-tracer: add selftest Add a selftest for the hw-branch-tracer. Signed-off-by: Markus Metzger LKML-Reference: <20090313105027.A30183@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit ba9372a8f306c4e53a5f61dcbcd6c1e4a8c2e9ac Author: Markus Metzger Date: Fri Mar 13 10:48:52 2009 +0100 x86, hw-branch-tracer: keep resources on stop Distinguish init/reset and start/stop: init/reset will allocate and release bts tracing resources stop/start will suspend and resume bts tracing Return an error on init() if no cpu can be traced. Signed-off-by: Markus Metzger LKML-Reference: <20090313104852.A30168@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit b8e47195451c5d3f62620b2b1b5928669afd56eb Author: Markus Metzger Date: Fri Mar 13 10:46:42 2009 +0100 x86, bts: correct comment style in ds.c Correct the comment style in ds.c. Signed-off-by: Markus Metzger LKML-Reference: <20090313104642.A30149@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 8a327f6d1b05f5ce16572b4413a5df1d0e872283 Author: Markus Metzger Date: Fri Mar 13 10:45:07 2009 +0100 x86, bts: add selftest for BTS Perform a selftest of branch trace store when a cpu is initialized. WARN and disable branch trace store support if the selftest fails. Signed-off-by: Markus Metzger LKML-Reference: <20090313104507.A30125@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit bc44fb5f7d3e764ed7698c835a1a0f35aba2eb3d Author: Markus Metzger Date: Fri Mar 13 10:42:18 2009 +0100 x86, bts: detect size of DS fields Impact: more robust DS feature enumeration Detect the size of the pointer-type fields in the DS area configuration via the DTES64 features rather than based on the cpuid. Rename a variable to denote that size to reflect that it only covers the pointer-type fields. Add more boot-time diagnostics giving the detected size and the sizes of BTS and PEBS records. Use the size of the BTS/PEBS record to indicate that the respective feature is not available (if the record size is zero). Signed-off-by: Markus Metzger LKML-Reference: <20090313104218.A30096@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit e255357764f92afcafafbd4879b222b8c752065a Author: Jaswinder Singh Rajput Date: Sun Mar 8 17:09:49 2009 +0530 x86: perf_counter cleanup Remove unused variables and duplicate header file. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 184fe4ab1f2e4dfa45584889bb3820031648386b Author: Peter Zijlstra Date: Sun Mar 8 11:34:19 2009 +0100 x86: perf_counter cleanup Use and actual unsigned long bitmap instead of casting our way around. Signed-off-by: Peter Zijlstra Cc: Jaswinder Singh Rajput LKML-Reference: <1236508459.22914.3645.camel@twins> Signed-off-by: Ingo Molnar commit 880860e392d92c457e8116cdee39ec4d109174ee Author: Paul Mackerras Date: Fri Mar 6 16:30:52 2009 +1100 perfcounters/powerpc: add support for POWER4 processors Impact: more hardware support This adds the back-end for the PMU on the POWER4 and POWER4+ processors (GP and GQ). This is quite similar to the PPC970, with 8 PMCs, but has fewer events than the PPC970. Signed-off-by: Paul Mackerras commit aabbaa6036fd847c583f585c6bae82b5a033e6c7 Author: Paul Mackerras Date: Fri Mar 6 16:27:10 2009 +1100 perfcounters/powerpc: add support for POWER5+ processors Impact: more hardware support This adds the back-end for the PMU on the POWER5+ processors (i.e. GS, including GS DD3 aka POWER5++). This doesn't use the fixed-function PMC5 and PMC6 since they don't respect the freeze conditions and don't generate interrupts, as on POWER6. Signed-off-by: Paul Mackerras commit 86028598de16538f02519141756ccf4accfc29a6 Author: Paul Mackerras Date: Thu Mar 5 14:05:57 2009 +1100 perfcounters/powerpc: fix oops with multiple counters in a group Impact: fix oops-causing bug This fixes a bug in the powerpc hw_perf_counter_init where the code didn't initialize ctrs[n] before passing the ctrs array to check_excludes, leading to possible oopses and other incorrect behaviour. This fixes it by initializing ctrs[n] correctly. Signed-off-by: Paul Mackerras commit b5e8acf66ff5db707c7e08df49fdf6b415878442 Author: Peter Zijlstra Date: Thu Mar 5 20:34:21 2009 +0100 perfcounters: IRQ and NMI support on AMD CPUs, fix The BKGD suggests that counter width on AMD CPUs is 48 for all existing models (it certainly is for mine). Signed-off-by: Ingo Molnar commit b0f3f28e0f14eb335f67bfaae33ce8b8d74fd58b Author: Peter Zijlstra Date: Thu Mar 5 18:08:27 2009 +0100 perfcounters: IRQ and NMI support on AMD CPUs The below completes the K7+ performance counter support: - IRQ support - NMI support KernelTop output works now as well. Signed-off-by: Peter Zijlstra Cc: Jaswinder Singh Rajput Cc: Paul Mackerras LKML-Reference: <1236273633.5187.286.camel@laptop> Signed-off-by: Ingo Molnar commit 2485e5184452ccbda34ff83883883d9107800dff Author: Ingo Molnar Date: Thu Mar 5 12:33:16 2009 +0100 perfcounters: fix reserved bits sizing The sum of bits is 65 currently not 64 - so reduce the # of reserved bits from 55 to 54. Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 2b578459c3274941156093eba149745e43f93067 Merge: 8163d88 2743a5b Author: Ingo Molnar Date: Wed Mar 4 11:43:53 2009 +0100 Merge branch 'rfc' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 8163d88c79dca35478a2405c837733ac50ea4c39 Merge: a1ef58f fec6c6f Author: Ingo Molnar Date: Wed Mar 4 11:42:31 2009 +0100 Merge commit 'v2.6.29-rc7' into perfcounters/core Conflicts: arch/x86/mm/iomap_32.c commit 2743a5b0fa6f309da904f2190a9cc25deee34dbd Author: Paul Mackerras Date: Wed Mar 4 20:36:51 2009 +1100 perfcounters: provide expansion room in the ABI Impact: ABI change This expands several fields in the perf_counter_hw_event struct and adds a "flags" argument to the perf_counter_open system call, in order that features can be added in future without ABI changes. In particular the record_type field is expanded to 64 bits, and the space for flag bits has been expanded from 32 to 64 bits. This also adds some new fields: * read_format (64 bits) is intended to provide a way to specify what userspace wants to get back when it does a read() on a simple (non-interrupting) counter; * exclude_idle (1 bit) provides a way for userspace to ask that events that occur when the cpu is idle be excluded; * extra_config_len will provide a way for userspace to supply an arbitrary amount of extra machine-specific PMU configuration data immediately following the perf_counter_hw_event struct, to allow sophisticated users to program things such as instruction matching CAMs and address range registers; * __reserved_3 and __reserved_4 provide space for future expansion. Signed-off-by: Paul Mackerras commit a1ef58f442542d8b3e3b963339fbc522c36e827c Author: Jaswinder Singh Rajput Date: Sat Feb 28 18:45:39 2009 +0530 x86: use pr_info in perf_counter.c Impact: cleanup using pr_info in perf_counter.c fixes various 80 characters warnings and also indenting for conditional statement Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 169e41eb7f5464c077a7e0e129f025759d04cc54 Author: Jaswinder Singh Rajput Date: Sat Feb 28 18:37:49 2009 +0530 x86: decent declarations in perf_counter.c Impact: cleanup making decent declrations for struct pmc_x86_ops and fix checkpatch error: ERROR: Macros with complex values should be enclosed in parenthesis Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit f87ad35d37fa543925210550f7db20a54c83ed70 Author: Jaswinder Singh Rajput Date: Fri Feb 27 20:15:14 2009 +0530 x86: AMD Support for perf_counter Supported basic performance counter for AMD K7 and later: $ perfstat -e 0,1,2,3,4,5,-1,-2,-3,-4,-5 ls > /dev/null Performance counter stats for 'ls': 12.298610 task clock ticks (msecs) 3298477 CPU cycles (events) 1406354 instructions (events) 749035 cache references (events) 16939 cache misses (events) 100589 branches (events) 11159 branch misses (events) 7.627540 cpu clock ticks (msecs) 12.298610 task clock ticks (msecs) 500 pagefaults (events) 6 context switches (events) 3 CPU migrations (events) Wall-clock time elapsed: 8.672290 msecs Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit b56a3802dc6df29aa27d2c12edf420258091ad66 Author: Jaswinder Singh Rajput Date: Fri Feb 27 18:09:09 2009 +0530 x86: prepare perf_counter to add more cpus Introduced struct pmc_x86_ops to add more cpus. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 0c489c47d45ecac21059567c163f92138b2fbaa2 Merge: 8e81817 f3dfd26 Author: Ingo Molnar Date: Thu Feb 26 13:03:29 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 8e818179eb9e8f9e44d8410dd2a25077d026a08e Merge: 742bd95 ecc25fb Author: Ingo Molnar Date: Thu Feb 26 13:02:23 2009 +0100 Merge branch 'x86/core' into perfcounters/core Conflicts: arch/x86/kernel/apic/apic.c arch/x86/kernel/irqinit_32.c Signed-off-by: Ingo Molnar commit f3dfd2656deb81a0addee4f4ceff66b50a387388 Author: Paul Mackerras Date: Thu Feb 26 22:43:46 2009 +1100 perfcounters: fix a few minor cleanliness issues This fixes three issues noticed by Arnd Bergmann: - Add #ifdef __KERNEL__ and move some things around in perf_counter.h to make sure only the bits that userspace needs are exported to userspace. - Use __u64, __s64, __u32 types in the structs exported to userspace rather than u64, s64, u32. - Make the sys_perf_counter_open syscall available to the SPUs on Cell platforms. And one issue that I noticed in looking at the code again: - Wrap the perf_counter_open syscall with SYSCALL_DEFINE4 so we get the proper handling of int arguments on ppc64 (and some other 64-bit architectures). Reported-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 742bd95ba96e19b3f7196c3a0834ebc17c8ba006 Author: Paul Mackerras Date: Tue Feb 24 11:33:56 2009 +1100 perfcounters/powerpc: Add support for POWER5 processors This adds the back-end for the PMU on the POWER5 processor. This knows how to use the fixed-function PMC5 and PMC6 (instructions completed and run cycles). Unlike POWER6, PMC5/6 obey the freeze conditions and can generate interrupts, so their use doesn't impose any extra restrictions. POWER5+ is different and is not supported by this patch. Signed-off-by: Paul Mackerras commit d095cd46dac104e4d2a4967c7c19b55a12f78240 Author: Paul Mackerras Date: Mon Feb 23 23:01:28 2009 +1100 perfcounters/powerpc: Make exclude_kernel bit work on Apple G5 processors Currently, setting hw_event.exclude_kernel does nothing on the PPC970 variants used in Apple G5 machines, because they have the HV (hypervisor) bit in the MSR forced to 1, so as far as the PMU is concerned, the kernel runs in hypervisor mode. Thus we have to use the MMCR0_FCHV (freeze counters in hypervisor mode) bit rather than the MMCR0_FCS (freeze counters in supervisor mode) bit. This checks the MSR.HV bit at startup, and if it is set, we set the freeze_counters_kernel variable to MMCR0_FCHV (it was initialized to MMCR0_FCS). We then use that whenever we need to exclude kernel events. Signed-off-by: Paul Mackerras commit cebb469ba242f7ce476e378c8cd3b0c6c63a4c54 Merge: 0b6de00 9be1b56 Author: Ingo Molnar Date: Tue Feb 17 22:53:12 2009 +0100 Merge branch 'x86/apic' into perfcounters/core commit 0b6de0092244c98b5ba1abda34c92470a20e0d0c Merge: 37a2542 f62bae5 Author: Ingo Molnar Date: Tue Feb 17 17:20:11 2009 +0100 Merge branch 'x86/apic' into perfcounters/core Conflicts: arch/x86/kernel/cpu/perfctr-watchdog.c commit 37a25424252b6cff4dd4b1937ab6a1dbfcadabcc Author: Ingo Molnar Date: Mon Feb 16 15:32:23 2009 +0100 perfcounters: fix acpi_idle_do_entry() workaround Fix merge error in drivers/acpi/processor_idle.c. This resulted in non-working perfcounters on certain Nehalem systems. Signed-off-by: Ingo Molnar commit 73ca2f8380311115723c7afe811f3ed1f0ba945e Author: Ingo Molnar Date: Mon Feb 16 01:08:17 2009 +0100 perfcounters: remove duplicate definition of LOCAL_PERF_VECTOR Signed-off-by: Ingo Molnar commit c07c99b67233ccaad38a961c17405dc1e1542aa4 Author: Paul Mackerras Date: Fri Feb 13 22:10:34 2009 +1100 perfcounters: make context switch and migration software counters work again Jaswinder Singh Rajput reported that commit 23a185ca8abbeef caused the context switch and migration software counters to report zero always. With that commit, the software counters only count events that occur between sched-in and sched-out for a task. This is necessary for the counter enable/disable prctls and ioctls to work. However, the context switch and migration counts are incremented after sched-out for one task and before sched-in for the next. Since the increment doesn't occur while a task is scheduled in (as far as the software counters are concerned) it doesn't count towards any counter. Thus the context switch and migration counters need to count events that occur at any time, provided the counter is enabled, not just those that occur while the task is scheduled in (from the perf_counter subsystem's point of view). The problem though is that the software counter code can't tell the difference between being enabled and being scheduled in, and between being disabled and being scheduled out, since we use the one pair of enable/disable entry points for both. That is, the high-level disable operation simply arranges for the counter to not be scheduled in any more, and the high-level enable operation arranges for it to be scheduled in again. One way to solve this would be to have sched_in/out operations in the hw_perf_counter_ops struct as well as enable/disable. However, this takes a simpler approach: it adds a 'prev_state' field to the perf_counter struct that allows a counter's enable method to know whether the counter was previously disabled or just inactive (scheduled out), and therefore whether the enable method is being called as a result of a high-level enable or a schedule-in operation. This then allows the context switch, migration and page fault counters to reset their hw.prev_count value in their enable functions only if they are called as a result of a high-level enable operation. Although page faults would normally only occur while the counter is scheduled in, this changes the page fault counter code too in case there are ever circumstances where page faults get counted against a task while its counters are not scheduled in. Reported-by: Jaswinder Singh Rajput Signed-off-by: Paul Mackerras Signed-off-by: Ingo Molnar commit b1864e9a1afef41709886072c6e6248def0386f4 Merge: e9c4ffb 7032e86 Author: Ingo Molnar Date: Fri Feb 13 09:49:38 2009 +0100 Merge branch 'x86/core' into perfcounters/core Conflicts: arch/x86/Kconfig arch/x86/kernel/apic.c arch/x86/kernel/setup_percpu.c commit e9c4ffb11f0b19005b5b9dc8481687a3637e5887 Merge: 4bcf349 071a0bc Author: Ingo Molnar Date: Fri Feb 13 09:34:07 2009 +0100 Merge branch 'linus' into perfcounters/core Conflicts: arch/x86/kernel/acpi/boot.c commit 4bcf349a0f90d1e69eb35c6df0fa285c886c1cd6 Author: Paul Mackerras Date: Wed Feb 11 13:53:19 2009 +0100 perfcounters: fix refcounting bug, take 2 Only free child_counter if it has a parent; if it doesn't, then it has a file pointing to it and we'll free it in perf_release. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 5af759176cc767e7426f89764bde4996ebaaf419 Author: Mike Galbraith Date: Wed Feb 11 10:53:37 2009 +0100 perfcounters: fix use after free in perf_release() running... while true; do foo -d 1 -f 1 -c 100000 & sleep 1 kerneltop -d 1 -f 1 -e 1 -c 25000 -p `pidof foo` done while true; do killall foo; killall kerneltop; sleep 2 done ...in two shells with SLUB_DEBUG enabled produces flood of: BUG task_struct: Poison overwritten. Fix the use-after-free bug in perf_release(). Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit ffc046729381ec039a87dc2c00d2899fcc8785e3 Merge: 95fd484 0475f9e Author: Ingo Molnar Date: Wed Feb 11 09:22:14 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 95fd4845ed0ffcab305b4f30ce1c12dc34f1b56c Merge: d278c48 8e49215 Author: Ingo Molnar Date: Wed Feb 11 09:22:04 2009 +0100 Merge commit 'v2.6.29-rc4' into perfcounters/core Conflicts: arch/x86/kernel/setup_percpu.c arch/x86/mm/fault.c drivers/acpi/processor_idle.c kernel/irq/handle.c commit 0475f9ea8e2cc030298908949e0d5da9f2fc2cfe Author: Paul Mackerras Date: Wed Feb 11 14:35:35 2009 +1100 perf_counters: allow users to count user, kernel and/or hypervisor events Impact: new perf_counter feature This extends the perf_counter_hw_event struct with bits that specify that events in user, kernel and/or hypervisor mode should not be counted (i.e. should be excluded), and adds code to program the PMU mode selection bits accordingly on x86 and powerpc. For software counters, we don't currently have the infrastructure to distinguish which mode an event occurs in, so we currently fail the counter initialization if the setting of the hw_event.exclude_* bits would require us to distinguish. Context switches and CPU migrations are currently considered to occur in kernel mode. On x86, this changes the previous policy that only root can count kernel events. Now non-root users can count kernel events or exclude them. Non-root users still can't use NMI events, though. On x86 we don't appear to have any way to control whether hypervisor events are counted or not, so hw_event.exclude_hv is ignored. On powerpc, the selection of whether to count events in user, kernel and/or hypervisor mode is PMU-wide, not per-counter, so this adds a check that the hw_event.exclude_* settings are the same as other events on the PMU. Counters being added to a group have to have the same settings as the other hardware counters in the group. Counters and groups can only be enabled in hw_perf_group_sched_in or power_perf_enable if they have the same settings as any other counters already on the PMU. If we are not running on a hypervisor, the exclude_hv setting is ignored (by forcing it to 0) since we can't ever get any hypervisor events. Signed-off-by: Paul Mackerras commit d278c48435625cb6b7edcf6a547620768b175709 Author: Mike Galbraith Date: Mon Feb 9 07:38:50 2009 +0100 perf_counters: account NMI interrupts I noticed that kerneltop interrupts were accounted as NMI, but not their perf counter origin. Account NMI performance counter interrupts. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar arch/x86/kernel/cpu/perf_counter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 23a185ca8abbeef64b6ffc33059b1d630e43ec10 Author: Paul Mackerras Date: Mon Feb 9 22:42:47 2009 +1100 perf_counters: make software counters work as per-cpu counters Impact: kernel crash fix Yanmin Zhang reported that using a PERF_COUNT_TASK_CLOCK software counter as a per-cpu counter would reliably crash the system, because it calls __task_delta_exec with a null pointer. The page fault, context switch and cpu migration counters also won't function correctly as per-cpu counters since they reference the current task. This fixes the problem by redirecting the task_clock counter to the cpu_clock counter when used as a per-cpu counter, and by implementing per-cpu page fault, context switch and cpu migration counters. Along the way, this: - Initializes counter->ctx earlier, in perf_counter_alloc, so that sw_perf_counter_init can use it - Adds code to kernel/sched.c to count task migrations into each cpu, in rq->nr_migrations_in - Exports the per-cpu context switch and task migration counts via new functions added to kernel/sched.c - Makes sure that if sw_perf_counter_init fails, we don't try to initialize the counter as a hardware counter. Since the user has passed a negative, non-raw event type, they clearly don't intend for it to be interpreted as a hardware event. Reported-by: "Zhang Yanmin" Signed-off-by: Paul Mackerras Signed-off-by: Ingo Molnar commit 82aa9a1829199233f9bdaf26e2ee271114f4701e Author: Ingo Molnar Date: Thu Feb 5 15:23:08 2009 +0100 perfcounters: fix "perf counters kills oprofile" bug, v2 Impact: fix kernel crash Both oprofile and perfcounters register an NMI die handler, but only one can handle the NMI. Conveniently, oprofile unregisters it's notifier when not actively in use, so setting it's notifier priority higher than perfcounter's allows oprofile to borrow the NMI for the duration of it's run. Tested/works both as module and built-in. While testing, I found that if kerneltop was generating NMIs at very high frequency, the kernel may panic when oprofile registered it's handler. This turned out to be because oprofile registers it's handler before reset_value has been allocated, so if an NMI comes in while it's still setting up, kabOom. Rather than try more invasive changes, I followed the lead of other places in op_model_ppro.c, and simply returned in that highly unlikely event. (debug warnings attached) Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 5b75af0a02fcf3b8899f38ff6f22164c5d8e2fdd Author: Mike Galbraith Date: Wed Feb 4 17:11:34 2009 +0100 perfcounters: fix "perf counters kill oprofile" bug With oprofile as a module, and unloaded by profiling script, both oprofile and kerneltop work fine.. unless you leave kerneltop running when you start profiling, then you may see badness. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 15081c61362618a0c81cc8d04e45e7427bc1ed71 Author: Jaswinder Singh Rajput Date: Sun Feb 1 22:07:39 2009 +0530 x86: irqinit_32.c fix compilation warning Fix: arch/x86/kernel/irqinit_32.c:124: warning: 'smp_intr_init' defined but not used Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 65d370862f64973611a271ced61864b5f9bb6fc0 Author: Mike Galbraith Date: Thu Jan 29 14:06:52 2009 +0100 perfcounters: fix refcounting bug don't kfree in use counters. Running... while true; do perfstat -e 1 -c true; done ...on all cores for a while doesn't seem to be eating ram, and my oops is gone. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit bb3f0b59ad005d2d2ecbbe9bd048eab6d1ecbd31 Author: Yinghai Lu Date: Sun Jan 25 02:38:09 2009 -0800 x86: make irqinit_32.c more like irqinit_64.c, v2 Impact: cleanup 1. add smp_intr_init and apic_intr_init for 32bit, the same as 64bit 2. move the apic_intr_init() call before set gate with interrupt[i] 3. for 64bit, if ia32_emulation is not used, will make per_cpu to use 0x80 vector. [ v2: should use !test_bit() instead of test_bit() with 32bit ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3415dd9146c574bffe8f012c096bfc2bc62b9508 Author: Mike Galbraith Date: Fri Jan 23 14:16:53 2009 +0100 perfcounters fix section mismatch warning in perf_counter.c::perf_counters_lapic_init() Fix: WARNING: arch/x86/kernel/built-in.o(.text+0xdd0f): Section mismatch in reference from the function pmc_generic_enable() to the function .cpuinit.text:perf_counters_lapic_init() The function pmc_generic_enable() references the function __cpuinit perf_counters_lapic_init(). This is often because pmc_generic_enable lacks a __cpuinit annotation or the annotation of perf_counters_lapic_init is wrong. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 4b39fd96855254a244f71245b41a91cdecb87d63 Author: Mike Galbraith Date: Fri Jan 23 14:36:16 2009 +0100 perfcounters: ratelimit performance counter interrupts Ratelimit performance counter interrupts to 100KHz per CPU. This replaces the irq-delta-time based method. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 1b023a96d9b44f50f4d8ff28c15f5b80e354760f Author: Mike Galbraith Date: Fri Jan 23 10:13:01 2009 +0100 perfcounters: throttle on too high IRQ rates Starting kerneltop with only -c 100 seems to be a bad idea, it can easily lock the system due to perfcounter IRQ overload. So add throttling: if a new IRQ arrives in a shorter than PERFMON_MIN_PERIOD_NS time, turn off perfcounters and untrottle them from the next timer tick. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 05e3423c8577126800841bc55de8a509f2433dca Merge: bfe2a3c 99d0000 Author: Ingo Molnar Date: Fri Jan 23 11:00:43 2009 +0100 Merge branch 'core/percpu' into perfcounters/core commit bfe2a3c3b5bf479788d5d5c5561346be6b169043 Merge: 7783549 35d266a Author: Ingo Molnar Date: Fri Jan 23 10:20:15 2009 +0100 Merge branch 'core/percpu' into perfcounters/core Conflicts: arch/x86/include/asm/hardirq_32.h arch/x86/include/asm/hardirq_64.h Semantic merge: arch/x86/include/asm/hardirq.h [ added apic_perf_irqs field. ] Signed-off-by: Ingo Molnar commit 77835492ed489c0b870f82f4c50687bd267acc0a Merge: af37501 1de9e8e Author: Ingo Molnar Date: Wed Jan 21 16:37:27 2009 +0100 Merge commit 'v2.6.29-rc2' into perfcounters/core Conflicts: include/linux/syscalls.h commit af37501c792107c2bde1524bdae38d9a247b841a Merge: d859e29 99937d6 Author: Ingo Molnar Date: Sun Jan 18 18:15:49 2009 +0100 Merge branch 'core/percpu' into perfcounters/core Conflicts: arch/x86/include/asm/pda.h We merge tip/core/percpu into tip/perfcounters/core because of a semantic and contextual conflict: the former eliminates the PDA, while the latter extends it with apic_perf_irqs field. Resolve the conflict by moving the new field to the irq_cpustat structure on 64-bit too. Signed-off-by: Ingo Molnar commit d859e29fe34cb833071b20aef860ee94fbad9bb2 Author: Paul Mackerras Date: Sat Jan 17 18:10:22 2009 +1100 perf_counter: Add counter enable/disable ioctls Impact: New perf_counter features This primarily adds a way for perf_counter users to enable and disable counters and groups. Enabling or disabling a counter or group also enables or disables all of the child counters that have been cloned from it to monitor children of the task monitored by the top-level counter. The userspace interface to enable/disable counters is via ioctl on the counter file descriptor. Along the way this extends the code that handles child counters to handle child counter groups properly. A group with multiple counters will be cloned to child tasks if and only if the group leader has the hw_event.inherit bit set - if it is set the whole group is cloned as a group in the child task. In order to be able to enable or disable all child counters of a given top-level counter, we need a way to find them all. Hence I have added a child_list field to struct perf_counter, which is the head of the list of children for a top-level counter, or the link in that list for a child counter. That list is protected by the perf_counter.mutex field. This also adds a mutex to the perf_counter_context struct. Previously the list of counters was protected just by the lock field in the context, which meant that perf_counter_init_task had to take that lock and then take whatever lock/mutex protects the top-level counter's child_list. But the counter enable/disable functions need to take that lock in order to traverse the list, then for each counter take the lock in that counter's context in order to change the counter's state safely, which will lead to a deadlock. To solve this, we now have both a mutex and a spinlock in the context, and taking either is sufficient to ensure the list of counters can't change - you have to take both before changing the list. Now perf_counter_init_task takes the mutex instead of the lock (which incidentally means that inherit_counter can use GFP_KERNEL instead of GFP_ATOMIC) and thus avoids the possible deadlock. Similarly the new enable/disable functions can take the mutex while traversing the list of child counters without incurring a possible deadlock when the counter manipulation code locks the context for a child counter. We also had an misfeature that the first counter added to a context would possibly not go on until the next sched-in, because we were using ctx->nr_active to detect if the context was running on a CPU. But nr_active is the number of active counters, and if that was zero (because the context didn't have any counters yet) it would look like the context wasn't running on a cpu and so the retry code in __perf_install_in_context wouldn't retry. So this adds an 'is_active' field that is set when the context is on a CPU, even if it has no counters. The is_active field is only used for task contexts, not for per-cpu contexts. If we enable a subsidiary counter in a group that is active on a CPU, and the arch code can't enable the counter, then we have to pull the whole group off the CPU. We do this with group_sched_out, which gets moved up in the file so it comes before all its callers. This also adds similar logic to __perf_install_in_context so that the "all on, or none" invariant of groups is preserved when adding a new counter to a group. Signed-off-by: Paul Mackerras commit 3b6f9e5cb21964b7ce12bf81076f830885563ec8 Author: Paul Mackerras Date: Wed Jan 14 21:00:30 2009 +1100 perf_counter: Add support for pinned and exclusive counter groups Impact: New perf_counter features A pinned counter group is one that the user wants to have on the CPU whenever possible, i.e. whenever the associated task is running, for a per-task group, or always for a per-cpu group. If the system cannot satisfy that, it puts the group into an error state where it is not scheduled any more and reads from it return EOF (i.e. 0 bytes read). The group can be released from error state and made readable again using prctl(PR_TASK_PERF_COUNTERS_ENABLE). When we have finer-grained enable/disable controls on counters we'll be able to reset the error state on individual groups. An exclusive group is one that the user wants to be the only group using the CPU performance monitor hardware whenever it is on. The counter group scheduler will not schedule an exclusive group if there are already other groups on the CPU and will not schedule other groups onto the CPU if there is an exclusive group scheduled (that statement does not apply to groups containing only software counters, which can always go on and which do not prevent an exclusive group from going on). With an exclusive group, we will be able to let users program PMU registers at a low level without the concern that those settings will perturb other measurements. Along the way this reorganizes things a little: - is_software_counter() is moved to perf_counter.h. - cpuctx->active_oncpu now records the number of hardware counters on the CPU, i.e. it now excludes software counters. Nothing was reading cpuctx->active_oncpu before, so this change is harmless. - A new cpuctx->exclusive field records whether we currently have an exclusive group on the CPU. - counter_sched_out moves higher up in perf_counter.c and gets called from __perf_counter_remove_from_context and __perf_counter_exit_task, where we used to have essentially the same code. - __perf_counter_sched_in now goes through the counter list twice, doing the pinned counters in the first loop and the non-pinned counters in the second loop, in order to give the pinned counters the best chance to be scheduled in. Note that only a group leader can be exclusive or pinned, and that attribute applies to the whole group. This avoids some awkwardness in some corner cases (e.g. where a group leader is closed and the other group members get added to the context list). If we want to relax that restriction later, we can, and it is easier to relax a restriction than to apply a new one. This doesn't yet handle the case where a pinned counter is inherited and goes into error state in the child - the error state is not propagated up to the parent when the child exits, and arguably it should. Signed-off-by: Paul Mackerras commit 01d0287f068de2934109ba9b989d8807526cccc2 Author: Paul Mackerras Date: Wed Jan 14 13:44:19 2009 +1100 powerpc/perf_counter: Make sure PMU gets enabled properly This makes sure that we call the platform-specific ppc_md.enable_pmcs function on each CPU before we try to use the PMU on that CPU. If the CPU goes off-line and then on-line, we need to do the enable_pmcs call again, so we use the hw_perf_counter_setup hook to ensure that. It gets called as each CPU comes online, but it isn't called on the CPU that is coming up, so this adds the CPU number as an argument to it (there were no non-empty instances of hw_perf_counter_setup before). This also arranges to set the pmcregs_in_use field of the lppaca (data structure shared with the hypervisor) on each CPU when we are using the PMU and clear it when we are not. This allows the hypervisor to optimize partition switches by not saving/restoring the PMU registers when we aren't using the PMU. Signed-off-by: Paul Mackerras commit dd0e6ba22ea21bcc2c420b385a170593c58f4c08 Author: Paul Mackerras Date: Mon Jan 12 15:11:00 2009 +1100 perf_counter: Always schedule all software counters in Software counters aren't subject to the limitations imposed by the fixed number of hardware counter registers, so there is no reason not to enable them all in __perf_counter_sched_in. Previously we used to break out of the loop when we got to a group that wouldn't fit on the PMU; with this we continue through the list but only schedule in software counters (or groups containing only software counters) from there on. Signed-off-by: Paul Mackerras commit c0d362a832ee70435fc4555a64f820893b1da0bd Merge: 506c10f f786283 Author: Ingo Molnar Date: Sun Jan 11 02:44:08 2009 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 506c10f26c481b7f8ef27c1c79290f68989b2e9e Merge: e1df957 c597650 Author: Ingo Molnar Date: Sun Jan 11 02:42:53 2009 +0100 Merge commit 'v2.6.29-rc1' into perfcounters/core Conflicts: include/linux/kernel_stat.h commit f78628374a13bc150db77c6e02d4f2c0a7f932ef Author: Paul Mackerras Date: Fri Jan 9 21:05:35 2009 +1100 powerpc/perf_counter: Add support for POWER6 This adds the back-end for the PMU on the POWER6 processor. Fortunately, the event selection hardware is somewhat simpler on POWER6 than on other POWER family processors, so the constraints fit into only 32 bits. Signed-off-by: Paul Mackerras commit 16b067993dee3dfde61b20027e0b168dc06201ee Author: Paul Mackerras Date: Sat Jan 10 16:34:07 2009 +1100 powerpc/perf_counter: Add support for PPC970 family This adds the back-end for the PMU on the PPC970 family. The PPC970 allows events from the ISU to be selected in two different ways. Rather than use alternative event codes to express this, we instead use a single encoding for ISU events and express the resulting constraint (that you can't select events from all three of FPU/IFU/VPU, ISU and IDU/STS at the same time, since they all come in through only 2 multiplexers) using a NAND constraint field, and work out which multiplexer is used for ISU events at compute_mmcr time. Signed-off-by: Paul Mackerras commit 4574910e5087085a1f330ff8373cee4503f5c77c Author: Paul Mackerras Date: Fri Jan 9 20:21:55 2009 +1100 powerpc/perf_counter: Add generic support for POWER-family PMU hardware This provides the architecture-specific functions needed to access PMU hardware on the 64-bit PowerPC processors. It has been designed for the IBM POWER family (POWER 4/4+/5/5+/6 and PPC970) but will hopefully also suit other 64-bit PowerPC machines (although probably not Cell given how different it is in this area). This doesn't include back-ends for any specific processors. This implements a system which allows back-ends to express the constraints that their hardware has on what events can be counted simultaneously. The constraints are expressed as a 64-bit mask + 64-bit value for each event, and the encoding is capable of expressing the constraints arising from having a set of multiplexers feeding an event bus, with some events being available through multiple multiplexer settings, such as we get on POWER4 and PPC970. Furthermore, the back-end can supply alternative event codes for each event, and the constraint checking code will try all possible combinations of alternative event codes to try to find a combination that will fit. Signed-off-by: Paul Mackerras commit 93a6d3ce6962044fe9badf528fed46b455d58292 Author: Paul Mackerras Date: Fri Jan 9 16:52:19 2009 +1100 powerpc: Provide a way to defer perf counter work until interrupts are enabled Because 64-bit powerpc uses lazy (soft) interrupt disabling, it is possible for a performance monitor exception to come in when the kernel thinks interrupts are disabled (i.e. when they are soft-disabled but hard-enabled). In such a situation the performance monitor exception handler might have some processing to do (such as process wakeups) which can't be done in what is effectively an NMI handler. This provides a way to defer that work until interrupts get enabled, either in raw_local_irq_restore() or by returning from an interrupt handler to code that had interrupts enabled. We have a per-processor flag that indicates that there is work pending to do when interrupts subsequently get re-enabled. This flag is checked in the interrupt return path and in raw_local_irq_restore(), and if it is set, perf_counter_do_pending() is called to do the pending work. Signed-off-by: Paul Mackerras commit d662ed26734473d4cb5f3d78cebfec8f9126e97c Author: Paul Mackerras Date: Fri Jan 9 17:01:53 2009 +1100 powerpc/perf_counter: Add perf_counter system call on powerpc ... with an empty/dummy asm/perf_counter.h so it builds. Signed-off-by: Paul Mackerras commit 4eb96fcfe07b7f2a05577e57533840f8e26bea53 Author: Paul Mackerras Date: Fri Jan 9 17:24:34 2009 +1100 perf_counter: Add dummy perf_counter_print_debug function Impact: minimize requirements on architectures Currently, an architecture just enabling CONFIG_PERF_COUNTERS but not providing any extra functions will fail to build with perf_counter_print_debug being undefined, since we don't provide an empty dummy definition like we do with the hw_perf_* functions. This provides an empty dummy perf_counter_print_debug() to make it easier for architectures to turn on CONFIG_PERF_COUNTERS. Signed-off-by: Paul Mackerras commit 3cbed429a9ccdb7a243f733b1056fe5c39e9004c Author: Paul Mackerras Date: Fri Jan 9 16:43:42 2009 +1100 perf_counter: Add optional hw_perf_group_sched_in arch function Impact: extend perf_counter infrastructure This adds an optional hw_perf_group_sched_in() arch function that enables a whole group of counters in one go. It returns 1 if it added the group successfully, 0 if it did nothing (and therefore the core needs to add the counters individually), or a negative number if an error occurred. It should add all the counters and enable any software counters in the group, or else add none of them and return an error. There are a couple of related changes/improvements in the group handling here: * As an optimization, group_sched_out() and group_sched_in() now check the state of the group leader, and do nothing if the leader is not active or disabled. * We now call hw_perf_save_disable/hw_perf_restore around the complete set of counter enable/disable calls in __perf_counter_sched_in/out, to give the arch code the opportunity to defer updating the hardware state until the hw_perf_restore call if it wants. * We no longer stop adding groups after we get to a group that has more than one counter. We will ultimately add an option for a group to be exclusive. The current code doesn't really implement exclusive groups anyway, since a group could end up going on with other counters that get added before it. Signed-off-by: Paul Mackerras commit 9abf8a08bc8f18a3b125f834f00e2e71b49c15d2 Author: Paul Mackerras Date: Fri Jan 9 16:26:43 2009 +1100 perf_counter: Fix the cpu_clock software counter Impact: bug fix Currently if you do (e.g.) timec -e -1 ls, it will report 0 for the value of the cpu_clock counter. The reason is that the core assumes that a counter's count field is up-to-date when the counter is inactive, and doesn't call the counter's read function. However, the cpu_clock counter code only updates the count in the read function. This fixes it by making both the read and disable functions update the count. It also makes the counter ignore time passing while the counter is disabled, by making the enable function update the hw.prev_count field. Signed-off-by: Paul Mackerras commit ff6f05416ece2caec1a7a1f8180d6598e0ab9272 Author: Paul Mackerras Date: Fri Jan 9 16:19:25 2009 +1100 perf_counter: Fix return value from dummy hw_perf_counter_init Impact: fix oops-causing bug Currently, if you try to use perf_counters on an architecture that has no hardware support, and you select an event that doesn't map to any of the defined software counters, you get an oops rather than an error. This is because the dummy hw_perf_counter_init returns ERR_PTR(-EINVAL) but the caller (perf_counter_alloc) only tests for NULL. This makes the dummy hw_perf_counter_init return NULL instead. Signed-off-by: Paul Mackerras commit e1df957670aef74ffd9a4ad93e6d2c90bf6b4845 Merge: 2b583d8 3c92ec8 Author: Ingo Molnar Date: Mon Dec 29 09:45:15 2008 +0100 Merge branch 'linus' into perfcounters/core Conflicts: fs/exec.c include/linux/init_task.h Simple context conflicts. commit 2b583d8bc8d7105b58d7481a4a0ceb718dac49c6 Author: Jaswinder Singh Rajput Date: Sat Dec 27 19:15:43 2008 +0530 x86: perf_counter remove unwanted hw_perf_enable_all Impact: clean, reduce kernel size a bit, avoid sparse warnings Fixes sparse warnings: arch/x86/kernel/cpu/perf_counter.c:153:6: warning: symbol 'hw_perf_enable_all' was not declared. Should it be static? arch/x86/kernel/cpu/perf_counter.c:279:3: warning: returning void-valued expression arch/x86/kernel/cpu/perf_counter.c:206:3: warning: returning void-valued expression arch/x86/kernel/cpu/perf_counter.c:206:3: warning: returning void-valued expression Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Ingo Molnar commit 01ea1ccaa24dea3552e103be13b7897211607a8b Author: Yinghai Lu Date: Fri Dec 26 21:05:06 2008 -0800 perf_counter: more barrier in blank weak function Impact: fix panic possible panic Some versions of GCC inline the weak global function if it's empty. Add a barrier() to work it around. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e44aef58ecfbe061eb4c53b939bcc35fb1bee82d Author: Ingo Molnar Date: Thu Dec 25 09:02:11 2008 +0100 perfcounters: include asm/perf_counter.h only if CONFIG_PERF_COUNTERS=y Impact: build fix on ia64 KOSAKI Motohiro reported that -tip doesnt build on ia64 because asm/perf_counter.h only exists on x86 for now. Fix it. Reported-by: KOSAKI Motohiro Tested-by: KOSAKI Motohiro Acked-by: KOSAKI Motohiro Signed-off-by: Ingo Molnar commit 2f18d1e8d07ae67dd0afce875287756d4bd31a46 Author: Ingo Molnar Date: Mon Dec 22 11:10:42 2008 +0100 x86, perfcounters: add support for fixed-function pmcs Impact: extend performance counter support on x86 Intel CPUs Modern Intel CPUs have 3 "fixed-function" performance counters, which count these hardware events: Instr_Retired.Any CPU_CLK_Unhalted.Core CPU_CLK_Unhalted.Ref Add support for them to the performance counters subsystem. Their use is transparent to user-space: the counter scheduler is extended to automatically recognize the cases where a fixed-function PMC can be utilized instead of a generic PMC. In such cases the generic PMC is kept available for more counters. The above fixed-function events map to these generic counter hw events: PERF_COUNT_INSTRUCTIONS PERF_COUNT_CPU_CYCLES PERF_COUNT_BUS_CYCLES (The 'bus' cycles are in reality often CPU-ish cycles, just with a fixed frequency.) Signed-off-by: Ingo Molnar commit f650a672359819454c3d8d4135ecd1558cde0b24 Author: Ingo Molnar Date: Tue Dec 23 12:17:29 2008 +0100 perfcounters: add PERF_COUNT_BUS_CYCLES Generalize "bus cycles" hw events - and map them to CPU_CLK_Unhalted.Ref on x86. (which is a good enough approximation) Signed-off-by: Ingo Molnar commit 235c7fc7c500e4fd1700c4ad01b5612bcdc1b449 Author: Ingo Molnar Date: Sun Dec 21 14:43:25 2008 +0100 perfcounters: generalize the counter scheduler Impact: clean up and refactor code refactor the counter scheduler: separate out in/out functions and introduce a counter-rotation function as well. Signed-off-by: Ingo Molnar commit 8fe91e61cdc407c7556d3cd71cf20141a25bbcea Author: Ingo Molnar Date: Tue Dec 23 12:29:25 2008 +0100 perfcounters: remove ->nr_inherited Impact: remove dead code nr_inherited was not maintained correctly (not decremented) - and also not used - remove it. Signed-off-by: Ingo Molnar commit 0dff86aa7b9ec65a6d07167b7afb050b5fc98ddc Author: Ingo Molnar Date: Tue Dec 23 12:28:12 2008 +0100 x86, perfcounters: print out the ->used bitmask Impact: extend debug printouts Signed-off-by: Ingo Molnar commit 95cdd2e7851cce79ab839cb0b3cbe68d7911d0f1 Author: Ingo Molnar Date: Sun Dec 21 13:50:42 2008 +0100 perfcounters: enable lowlevel pmc code to schedule counters Allow lowlevel ->enable() op to return an error if a counter can not be added. This can be used to handle counter constraints. Signed-off-by: Ingo Molnar commit 78b6084c907cea15bb40a564b974e072f5163781 Author: Ingo Molnar Date: Sun Dec 21 15:07:49 2008 +0100 perfcounters: fix init context lock Signed-off-by: Ingo Molnar commit eef6cbf5844c620d9db9be99e4908cdf92492fb9 Author: Ingo Molnar Date: Fri Dec 19 10:20:42 2008 +0100 perfcounters: pull inherited counters Change counter inheritance from a 'push' to a 'pull' model: instead of child tasks pushing their final counts to the parent, reuse the wait4 infrastructure to pull counters as child tasks are exit-processed, much like how cutime/cstime is collected. Signed-off-by: Ingo Molnar commit aa9c4c0f967fdb482ea95e8473ec3d201e6e0781 Author: Ingo Molnar Date: Wed Dec 17 14:10:57 2008 +0100 perfcounters: fix task clock counter Impact: fix per task clock counter precision Signed-off-by: Ingo Molnar commit 7671581f1666ef4b54a1c1e598c51ac44c060a9b Author: Ingo Molnar Date: Wed Dec 17 14:20:28 2008 +0100 perfcounters: hw ops rename Impact: rename field names Shorten them. Signed-off-by: Ingo Molnar commit 862a1a5f346fe7e9181ea51eaae48cf2cd70f746 Author: Ingo Molnar Date: Wed Dec 17 13:09:20 2008 +0100 x86, perfcounters: refactor code for fixed-function PMCs Impact: clean up Signed-off-by: Ingo Molnar commit 703e937c83bbad79075a7846e062e447c2fee6a4 Author: Ingo Molnar Date: Wed Dec 17 10:51:15 2008 +0100 perfcounters: add fixed-mode PMC enumeration Enumerate fixed-mode PMCs based on CPUID, and feed that into the perfcounter code. Does not use fixed-mode PMCs yet. Signed-off-by: Ingo Molnar commit eb2b861810d4ff72454c83996b891df4e0aaff9a Author: Ingo Molnar Date: Wed Dec 17 09:09:13 2008 +0100 x86, perfcounters: prepare for fixed-mode PMCs Impact: refactor the x86 code for fixed-mode PMCs Extend the data structures and rename the existing facilities to allow for a 'generic' versus 'fixed' counter distinction. Signed-off-by: Ingo Molnar commit 5c167b8585c8d91206b395d57011ead7711e322f Author: Ingo Molnar Date: Wed Dec 17 09:02:19 2008 +0100 x86, perfcounters: rename intel_arch_perfmon.h => perf_counter.h Impact: rename include file We'll be providing an asm/perf_counter.h to the generic perfcounter code, so use the already existing x86 file for this purpose and rename it. Signed-off-by: Ingo Molnar commit 7995888fcb0246543ee8027bf2835a250ba8c925 Author: Ingo Molnar Date: Wed Dec 17 08:54:56 2008 +0100 perfcounters: tweak group scheduling Impact: schedule in groups atomically If there are multiple groups in a task, make sure they are scheduled in and out atomically. Signed-off-by: Ingo Molnar commit 8fb9331391af95ca1f4e5c0a0da8120b13cbae01 Author: Ingo Molnar Date: Tue Dec 23 12:04:16 2008 +0100 perfcounters: remove warnings Impact: remove debug checks Signed-off-by: Ingo Molnar commit 94c46572a6d9bb497eda0a14099d9f1360d57d5d Author: Jaswinder Singh Date: Fri Dec 19 22:37:58 2008 +0530 x86: perf_counter.c intel_perfmon_event_map and max_intel_perfmon_events should be static Impact: cleanup, avoid sparse warnings, reduce kernel size a bit Fixes these sparse warnings: arch/x86/kernel/cpu/perf_counter.c:44:11: warning: symbol 'intel_perfmon_event_map' was not declared. Should it be static? arch/x86/kernel/cpu/perf_counter.c:54:11: warning: symbol 'max_intel_perfmon_events' was not declared. Should it be static? Signed-off-by: Jaswinder Singh Signed-off-by: Ingo Molnar commit a86ed50859d65a08beec9474df97b88438a996df Author: Ingo Molnar Date: Wed Dec 17 00:43:10 2008 +0100 perfcounters: use hw_event.disable flag Impact: implement default-off counters Make sure that counters that are created with counter.hw_event.disabled=1, get created in disabled state. They can be enabled via: prctl(PR_TASK_PERF_COUNTERS_ENABLE); Signed-off-by: Ingo Molnar commit f65cb45cba63f249458b669aa67069eabc37b2f5 Author: Ingo Molnar Date: Tue Dec 16 13:40:44 2008 +0100 perfcounters: flush on setuid exec Pavel Machek pointed out that performance counters should be flushed when crossing protection domains on setuid execution. Reported-by: Pavel Machek Acked-by: Pavel Machek Signed-off-by: Ingo Molnar commit 0cc0c027d4e028632933f1be2dc4cd730358183b Author: Ingo Molnar Date: Sun Dec 14 23:20:36 2008 +0100 perfcounters: release CPU context when exiting task counters If counters are exiting via do_exit() not via filp close, then the CPU context needs to be released - otherwise future percpu counter creations might fail. Signed-off-by: Ingo Molnar commit 029af8c753bb5a7432aa1ed38bf61fe2c2f66d17 Merge: 75f224c 5279585 Author: Ingo Molnar Date: Sun Dec 14 21:58:33 2008 +0100 Merge branch 'linus' into perfcounters/core commit 75f224cf7700ed6006574dc3f2efa29860727570 Author: Ingo Molnar Date: Sun Dec 14 21:58:46 2008 +0100 perfcounters: fix lapic initialization Fix non-working NMI sampling in certain bootup scenarios. Signed-off-by: Ingo Molnar commit 088e2852c858159d47f71ee8da38e0fb1b21f806 Author: Ingo Molnar Date: Sun Dec 14 20:21:00 2008 +0100 perfcounters, x86: fix sw counters on non-PMC CPUs Make perf_max_counters default to at least 1 - this allows the sw counters to be used. Signed-off-by: Ingo Molnar commit 2b9ff0db19b5e2c77000b7201525f9c3d6e8328d Author: Ingo Molnar Date: Sun Dec 14 18:36:30 2008 +0100 perfcounters: fix non-intel-perfmon CPUs Do not write MSR_CORE_PERF_GLOBAL_CTRL on CPUs where it does not exist. Signed-off-by: Ingo Molnar commit e06c61a879910869aa5bf3f8f634abfee1a7bebc Author: Ingo Molnar Date: Sun Dec 14 14:44:31 2008 +0100 perfcounters: add nr-of-faults counter Impact: add new feature, new sw counter Add a counter that counts the number of pagefaults a task is experiencing. Signed-off-by: Ingo Molnar commit 6c594c21fcb02c662f11c97be4d7d2b73060a205 Author: Ingo Molnar Date: Sun Dec 14 12:34:15 2008 +0100 perfcounters: add task migrations counter Impact: add new feature, new sw counter Add a counter that counts the number of cross-CPU migrations a task is suffering. Signed-off-by: Ingo Molnar commit 5d6a27d8a096868ae313f71f563b06074a7e34fe Author: Ingo Molnar Date: Sun Dec 14 12:28:33 2008 +0100 perfcounters: add context switch counter Impact: add new feature, new sw counter Add a counter that counts the number of context-switches a task is doing. Signed-off-by: Ingo Molnar commit 8cb391e8786c8072367f0aeb90551903fef074ba Author: Ingo Molnar Date: Sun Dec 14 12:22:31 2008 +0100 perfcounters: fix task clock counter Impact: bugfix Update the task clock counter to the new math. Signed-off-by: Ingo Molnar commit 9b51f66dcb09ac5eb6bc68fc111d5c7a1e0131d6 Author: Ingo Molnar Date: Fri Dec 12 13:49:45 2008 +0100 perfcounters: implement "counter inheritance" Impact: implement new performance feature Counter inheritance can be used to run performance counters in a workload, transparently - and pipe back the counter results to the parent counter. Inheritance for performance counters works the following way: when creating a counter it can be marked with the .inherit=1 flag. Such counters are then 'inherited' by all child tasks (be they fork()-ed or clone()-ed). These counters get inherited through exec() boundaries as well (except through setuid boundaries). The counter values get added back to the parent counter(s) when the child task(s) exit - much like stime/utime statistics are gathered. So inherited counters are ideal to gather summary statistics about an application's behavior via shell commands, without having to modify that application. The timec.c command utilizes counter inheritance: http://redhat.com/~mingo/perfcounters/timec.c Sample output: $ ./timec -e 1 -e 3 -e 5 ls -lR /usr/include/ >/dev/null Performance counter stats for 'ls': 163516953 instructions 2295 cache-misses 2855182 branch-misses Signed-off-by: Ingo Molnar commit ee06094f8279e1312fc0a31591320cc7b6f0ab1e Author: Ingo Molnar Date: Sat Dec 13 09:00:03 2008 +0100 perfcounters: restructure x86 counter math Impact: restructure code Change counter math from absolute values to clear delta logic. We try to extract elapsed deltas from the raw hw counter - and put that into the generic counter. Signed-off-by: Ingo Molnar commit 9b194e831fb2c322ed81a373e49620f34edc2778 Author: Ingo Molnar Date: Sun Dec 14 20:22:35 2008 +0100 x86: implement atomic64_t on 32-bit Impact: new API Implement the atomic64_t APIs on 32-bit as well. Will be used by the performance counters code. Signed-off-by: Ingo Molnar commit 92bf73e90a35d40ebc1446488218f03833b36f86 Merge: 447557a 915b0d0 Author: Ingo Molnar Date: Fri Dec 12 12:00:02 2008 +0100 Merge branch 'x86/irq' into perfcounters/core ( with manual semantic merge of arch/x86/kernel/cpu/perf_counter.c ) commit 447557ac7ce120306b4a31d6003faef39cb1bf14 Author: Ingo Molnar Date: Thu Dec 11 20:40:18 2008 +0100 perf counters: update docs Impact: update docs Signed-off-by: Ingo Molnar commit 6a930700c8b655a9e25e42fc4adc0b225ebbcefc Author: Ingo Molnar Date: Thu Dec 11 15:17:03 2008 +0100 perf counters: clean up state transitions Impact: cleanup Introduce a proper enum for the 3 states of a counter: PERF_COUNTER_STATE_OFF = -1 PERF_COUNTER_STATE_INACTIVE = 0 PERF_COUNTER_STATE_ACTIVE = 1 and rename counter->active to counter->state and propagate the changes everywhere. Signed-off-by: Ingo Molnar commit 1d1c7ddbfab358445a542715551301b7fc363e28 Author: Ingo Molnar Date: Thu Dec 11 14:59:31 2008 +0100 perf counters: add prctl interface to disable/enable counters Add a way for self-monitoring tasks to disable/enable counters summarily, via a prctl: PR_TASK_PERF_COUNTERS_DISABLE 31 PR_TASK_PERF_COUNTERS_ENABLE 32 Signed-off-by: Ingo Molnar commit bae43c9945ebeef15e7952e317efb02393d3bfc7 Author: Ingo Molnar Date: Thu Dec 11 14:03:20 2008 +0100 perf counters: implement PERF_COUNT_TASK_CLOCK Impact: add new perf-counter type The 'task clock' counter counts the amount of time a task is executing, in nanoseconds. It stops ticking when a task is scheduled out either due to it blocking, sleeping or it being preempted. This counter type is a Linux kernel based abstraction, it is available even if the hardware does not support native hardware performance counters. Signed-off-by: Ingo Molnar commit 01b2838c4298c5e0d30b4993c195ac34dd9df61e Author: Ingo Molnar Date: Thu Dec 11 13:45:51 2008 +0100 perf counters: consolidate hw_perf save/restore APIs Impact: cleanup Rename them to better match up the usual IRQ disable/enable APIs: hw_perf_disable_all() => hw_perf_save_disable() hw_perf_restore_ctrl() => hw_perf_restore() Signed-off-by: Ingo Molnar commit 5c92d12411dfe5f0f3d1b1c1e2f756245e6f7249 Author: Ingo Molnar Date: Thu Dec 11 13:21:10 2008 +0100 perf counters: implement PERF_COUNT_CPU_CLOCK Impact: add new perf-counter type The 'CPU clock' counter counts the amount of CPU clock time that is elapsing, in nanoseconds. (regardless of how much of it the task is spending on a CPU executing) This counter type is a Linux kernel based abstraction, it is available even if the hardware does not support native hardware performance counters. Signed-off-by: Ingo Molnar commit 621a01eac89b5e2f81a4cf576568b31f40a02724 Author: Ingo Molnar Date: Thu Dec 11 12:46:46 2008 +0100 perf counters: hw driver API Impact: restructure code, introduce hw_ops driver abstraction Introduce this abstraction to handle counter details: struct hw_perf_counter_ops { void (*hw_perf_counter_enable) (struct perf_counter *counter); void (*hw_perf_counter_disable) (struct perf_counter *counter); void (*hw_perf_counter_read) (struct perf_counter *counter); }; This will be useful to support assymetric hw details, and it will also be useful to implement "software counters". (Counters that count kernel managed sw events such as pagefaults, context-switches, wall-clock time or task-local time.) Signed-off-by: Ingo Molnar commit ccff286d85098ba5438e22aa2ea807fc1e18cf2f Author: Ingo Molnar Date: Thu Dec 11 11:26:29 2008 +0100 perf counters: group counter, fixes Impact: bugfix Check that a group does not span outside the context of a CPU or a task. Also, do not allow deep recursive hierarchies. Signed-off-by: Ingo Molnar commit 04289bb9891882202d7e961c4c04d2376930e9f9 Author: Ingo Molnar Date: Thu Dec 11 08:38:42 2008 +0100 perf counters: add support for group counters Impact: add group counters This patch adds the "counter groups" abstraction. Groups of counters behave much like normal 'single' counters, with a few semantic and behavioral extensions on top of that. A counter group is created by creating a new counter with the open() syscall's group-leader group_fd file descriptor parameter pointing to another, already existing counter. Groups of counters are scheduled in and out in one atomic group, and they are also roundrobin-scheduled atomically. Counters that are member of a group can also record events with an (atomic) extended timestamp that extends to all members of the group, if the record type is set to PERF_RECORD_GROUP. Signed-off-by: Ingo Molnar commit 9f66a3810fe0d4100972db84290f3ae4a4d77025 Author: Ingo Molnar Date: Wed Dec 10 12:33:23 2008 +0100 perf counters: restructure the API Impact: clean up new API Thorough cleanup of the new perf counters API, we now get clean separation of the various concepts: - introduce perf_counter_hw_event to separate out the event source details - move special type flags into separate attributes: PERF_COUNT_NMI, PERF_COUNT_RAW - extend the type to u64 and reserve it fully to the architecture in the raw type case. And make use of all these changes in the core and x86 perfcounters code. Also change the syscall signature to: asmlinkage int sys_perf_counter_open( struct perf_counter_hw_event *hw_event_uptr __user, pid_t pid, int cpu, int group_fd); ( Note that group_fd is unused for now - it's reserved for the counter groups abstraction. ) Signed-off-by: Ingo Molnar commit dfa7c899b401d7dc5d85aca416aee64ac82812f2 Author: Thomas Gleixner Date: Mon Dec 8 19:35:37 2008 +0100 perf counters: expand use of counter->event Impact: change syscall, cleanup Make use of the new perf_counters event type. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eab656ae04b9d3b83265e3db01c0d2c46b748ef7 Author: Thomas Gleixner Date: Mon Dec 8 19:26:59 2008 +0100 perf counters: clean up 'raw' type API Impact: cleanup Introduce a separate hw_event type. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ac13294e44664bb7edf4daf52edb71e7c6bbe84 Author: Thomas Gleixner Date: Tue Dec 9 21:43:39 2008 +0100 perf counters: protect them against CSTATE transitions Impact: fix rare lost events problem There are CPUs whose performance counters misbehave on CSTATE transitions, so provide a way to just disable/enable them around deep idle methods. (hw_perf_enable_all() is cheap on x86.) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 43874d238d5f208854a73c3225ca2a22833eec8b Author: Ingo Molnar Date: Tue Dec 9 12:23:59 2008 +0100 perfcounters: consolidate global-disable codepaths Impact: cleanup Simplify global disable handling. Signed-off-by: Ingo Molnar commit 1e12567678054bc1d4c944ecfad17624b3e49345 Author: Ingo Molnar Date: Tue Dec 9 12:18:18 2008 +0100 perfcounters, x86: clean up debug code Impact: cleanup Get rid of unused debug code. Signed-off-by: Ingo Molnar commit 7e2ae34749edf19e76e594b9c4b2cdde1066afc5 Author: Ingo Molnar Date: Tue Dec 9 11:40:46 2008 +0100 perfcounters, x86: simplify disable/enable of counters Impact: fix spurious missed counter wakeups In the case of NMI events, close a race window that can occur if an NMI hits counter code that temporarily disables+enables a counter, and the NMI leaks into the disabled section. Signed-off-by: Ingo Molnar commit 4c59e4676dc95f6f58a2cff5390b2699fa5b5549 Author: Ingo Molnar Date: Mon Dec 8 19:38:33 2008 +0100 perfcounters: select ANON_INODES The perfcounters subsystem depends on CONFIG_ANON_INODES facilities, so make sure it's selected. Signed-off-by: Ingo Molnar commit 87b9cf4623ad4e5fc009e48c020593dffd5d3793 Author: Ingo Molnar Date: Mon Dec 8 14:20:16 2008 +0100 x86, perfcounters: read out MSR_CORE_PERF_GLOBAL_STATUS with counters disabled Impact: make perfcounter NMI and IRQ sequence more robust Make __smp_perf_counter_interrupt() a bit more conservative: first disable all counters, then read out the status. Most invocations are because there are real events, so there's no performance impact. Code flow gets a bit simpler as well this way. Signed-off-by: Ingo Molnar commit 241771ef016b5c0c83cd7a4372a74321c973c1e6 Author: Ingo Molnar Date: Wed Dec 3 10:39:53 2008 +0100 performance counters: x86 support Implement performance counters for x86 Intel CPUs. It's simplified right now: the PERFMON CPU feature is assumed, which is available in Core2 and later Intel CPUs. The design is flexible to be extended to more CPU types as well. Signed-off-by: Ingo Molnar commit e7bc62b6b3aeaa8849f8383e0cfb7ca6c003adc6 Author: Ingo Molnar Date: Thu Dec 4 20:13:45 2008 +0100 performance counters: documentation Add more documentation about performance counters. Signed-off-by: Ingo Molnar commit 0793a61d4df8daeac6492dbf8d2f3e5713caae5e Author: Thomas Gleixner Date: Thu Dec 4 20:12:29 2008 +0100 performance counters: core code Implement the core kernel bits of Performance Counters subsystem. The Linux Performance Counter subsystem provides an abstraction of performance counter hardware capabilities. It provides per task and per CPU counters, and it provides event capabilities on top of those. Performance counters are accessed via special file descriptors. There's one file descriptor per virtual counter used. The special file descriptor is opened via the perf_counter_open() system call: int perf_counter_open(u32 hw_event_type, u32 hw_event_period, u32 record_type, pid_t pid, int cpu); The syscall returns the new fd. The fd can be used via the normal VFS system calls: read() can be used to read the counter, fcntl() can be used to set the blocking mode, etc. Multiple counters can be kept open at a time, and the counters can be poll()ed. See more details in Documentation/perf-counters.txt. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b5aa97e83bcc31a96374d18f5452d53909a16c90 Merge: 218d11a 4217458 5b3eec0 Author: Ingo Molnar Date: Mon Dec 8 15:46:30 2008 +0100 Merge branches 'x86/signal' and 'x86/irq' into perfcounters/core Merge these pending x86 tree changes into the perfcounters tree to avoid conflicts.